mirror of https://github.com/pulumi/pulumi.git
248f78bafe
Add support to the core SDKs for reporting resource source positions. In each SDK, this is implemented by crawling the stack when a resource is registered in order to determine the position of the user code that registered the resource. This is somewhat brittle in that it expects a call stack of the form: - Resource class constructor - abstract Resource subclass constructor - concrete Resource subclass constructor - user code This stack reflects the expected class hierarchy of "cloud resource / component resource < customresource/componentresource < resource". For example, consider the AWS S3 Bucket resource. When user code instantiates a Bucket, the stack will look like this in NodeJS: new Resource (/path/to/resource.ts:123:45) new CustomResource (/path/to/resource.ts:678:90) new Bucket (/path/to/bucket.ts:987:65) <user code> (/path/to/index.ts:4:3) In order to determine the source position, we locate the fourth frame (the `<user code>` frame). |
||
---|---|---|
.. | ||
config | ||
generate | ||
internals | ||
provider | ||
alias.go | ||
alias_test.go | ||
asset.go | ||
context.go | ||
context_test.go | ||
internals.go | ||
log.go | ||
mocks.go | ||
printf.go | ||
printf_test.go | ||
provider.go | ||
provider_linked.go | ||
provider_test.go | ||
resource.go | ||
resource_set.go | ||
resource_test.go | ||
rpc.go | ||
rpc_test.go | ||
run.go | ||
run_test.go | ||
stack_reference.go | ||
stack_reference_test.go | ||
transformation.go | ||
type_conversions.go | ||
types.go | ||
types_builtins.go | ||
types_builtins_test.go | ||
types_contravariance_test.go | ||
types_test.go | ||
urnset.go | ||
workgroup.go | ||
workgroup_test.go |