Skip to content

Commit

Permalink
Merge #11467
Browse files Browse the repository at this point in the history
11467: Fix NodeJS SDK when a component is using another component from the same schema as a property r=iwahbe a=pasqualet



<!--- 
Thanks so much for your contribution! If this is your first time contributing, please ensure that you have read the [CONTRIBUTING](https://github.com/pulumi/pulumi/blob/master/CONTRIBUTING.md) documentation.
-->

# Description

The code generated for the NodeJS SDK is broken when a component is using another component from the same schema as a property where the token doesn't start with `<provider-name>:index:`.

Fixes #11466

I've created a test project to verify the issue and to verify the fix:

- Using pulumi upstream: https://github.com/pasqualet/test-pulumi-schema
- Using pulumi this fix: https://github.com/pasqualet/test-pulumi-schema/tree/fix

## Checklist

<!--- Please provide details if the checkbox below is to be left unchecked. -->
- [ ] I have added tests that prove my fix is effective or that my feature works
<!--- 
User-facing changes require a CHANGELOG entry.
-->
- [X] I have run `make changelog` and committed the `changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the Pulumi Service,
then the service should honor older versions of the CLI where this change would not exist.
You must then bump the API version in /pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi Service API version
  <!-- `@Pulumi` employees: If yes, you must submit corresponding changes in the service repo. -->


Co-authored-by: Pasquale Toscano <pasquale.toscano@astrokube.com>
  • Loading branch information
bors[bot] and pasqualet committed Dec 9, 2022
2 parents 7c8c5f9 + 96a3049 commit 0e07033
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
@@ -0,0 +1,4 @@
changes:
- type: fix
scope: sdkgen/nodejs
description: Fix NodeJS SDK when a component is using another component from the same schema as a property
6 changes: 4 additions & 2 deletions pkg/codegen/nodejs/gen.go
Expand Up @@ -252,10 +252,12 @@ func (mod *modContext) resourceType(r *schema.ResourceType) string {
pkg = r.Resource.PackageReference
}
namingCtx, pkgName, external := mod.namingContext(pkg)
if external {
pkgName = externalModuleName(pkgName)
if !external {
name := tokenToName(r.Token)
return title(name)
}

pkgName = externalModuleName(pkgName)
modName, name := namingCtx.tokenToModName(r.Token), tokenToName(r.Token)

return pkgName + modName + title(name)
Expand Down

0 comments on commit 0e07033

Please sign in to comment.