mirror of https://github.com/pulumi/pulumi.git
e6981898eb
* Allow non-pulumi imports for Node.js Currently the code generator is assuming that Node.js dependencies are following a naming scheme that is prefixed with `pulumi/`. If this is not the case the generated import statement is incorrect. This commit adds a map `ProviderNameToModuleName` to the language definition that allows you to map the name of the extracted provider of a dependency to a module name that the generator now uses to create the import statement. * Prepend "pulumi" to import names in Node.js SDK It is common when writing multi-language components to have a module name which conflicts with a provider name. This can produce unusable code, since you cannot simultaneously import a package as `aws` and have a namespace `aws`, for example. This commit makes this situation much less likely, by renaming the imported identifier for providers to `pulumiX` where it would previously have been `x`. This has an unfortunate side effect of making the examples in the documentation slightly uglier, since import statements for third-party packages are now of the form `import * as pulumiAws from "@pulumi/aws"`. I don't see a way to discern whether code generation is for SDKs vs examples however, and short of plumbing that through, I don't see a way around this, so test expectations are updated accordingly. Co-authored-by: Ben Schiborr <bschiborr@apple.com> |
||
---|---|---|
.. | ||
types | ||
README.md | ||
argFunction.ts | ||
cat.ts | ||
component.ts | ||
index.ts | ||
package.json | ||
provider.ts | ||
tsconfig.json | ||
utilities.ts | ||
workload.ts |