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). |
||
---|---|---|
.. | ||
000.empty | ||
001.one_resource | ||
002.ten_resources | ||
003.one_complex_resource | ||
004.ten_complex_resources | ||
005.resource_thens | ||
006.asset | ||
007.promises_io | ||
008.ten_depends_on_resources | ||
009.invoke | ||
010.runtime_settings | ||
011.unhandled_error | ||
012.assets_archive | ||
013.unhandled_promise_rejection | ||
014.read_resource | ||
015.runtime_sxs | ||
016.promise_leak | ||
017.parent_defaults | ||
018.logging | ||
019.stack_exports | ||
020.property_dependencies | ||
021.parent_child_dependencies | ||
022.parent_child_dependencies_2 | ||
023.parent_child_dependencies_3 | ||
024.parent_child_dependencies_4 | ||
025.parent_child_dependencies_5 | ||
026.parent_child_dependencies_6 | ||
027.parent_child_dependencies_7 | ||
028.parent_child_dependencies_8 | ||
029.parent_child_dependencies_9 | ||
030.import_resource | ||
040.run_error | ||
041.component_opt_single_provider | ||
042.component_opt_providers_array | ||
043.depends_on_non_resource | ||
044.versions | ||
045.ignore_changes | ||
046.recursive_stack_exports | ||
047.exported_function | ||
048.exported_promise_function | ||
049.exported_async_function | ||
050.resource_creation_in_function | ||
051.resource_creation_in_function_with_result | ||
052.resource_creation_in_async_function_with_result | ||
060.provider_invokes | ||
061.provider_in_parent_invokes | ||
062.providerref_invokes | ||
063.providerref_in_parent_invokes | ||
064.async_components | ||
065.large_resource | ||
066.replace_on_changes | ||
067.native_es_module | ||
068.remote_component_providers | ||
069.ambiguous_entrypoints | ||
070.unusual_alias_names | ||
071.large_alias_counts | ||
072.large_alias_lineage_chains | ||
073.component_dependencies | ||
074.source_position |