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). |
||
---|---|---|
.. | ||
20230626--sdk-nodejs-python--support-explicit-providers-for-packaged-components.yaml | ||
20230712--programgen--allow-binding-unsupported-range-and-collection-types-in-non-strict-mode-for-pulumi-convert.yaml | ||
20230712--sdk-go-nodejs-python--add-support-for-reporting-resource-source-positions.yaml | ||
20230713--programgen--consistently-use-non-strict-bind-options-when-applicable.yaml | ||
20230713--sdk-python--move-some-global-state-to-context-state-for-parallel-updates.yaml |