Hey yall, I’m working on creating a custom provide...
# typescript
b
Hey yall, I’m working on creating a custom provider. having a ton of trouble figuring out why an automated step keeps erroring out. i have written the provider file already and am wanting to do the testing step now i’m using the pulumi-component-provider-ts-boilerplate, and I’m currently on this step: • https://github.com/pulumi/pulumi-component-provider-ts-boilerplate#build-and-test when i run
make install_nodejs_sdk
it errors out with this stacktrace in the replies. i’ve tried tons of permutations of editing package.jsons, updating typescript versions, etc, but I’m not really sure how to debug this further repository im working on went ahead and made it public https://github.com/brandontoups/pulumi-aws-vanta
Copy code
/Users/brandon/local/pulumi-aws-vanta 🧠 make install_nodejs_sdk
rm -rf sdk/nodejs
cd provider/cmd/pulumi-gen-vanta && go run . nodejs ../../../sdk/nodejs /Users/brandon/local/pulumi-aws-vanta/schema.json
cd sdk/nodejs/ && \
                yarn install && \
                yarn run tsc --version && \
                yarn run tsc && \
                cp -R scripts/ bin && \
                cp ../../README.md ../../LICENSE package.json yarn.lock ./bin/ && \
                sed -i.bak -e "s/\${VERSION}/0.0.1/g" ./bin/package.json && \
                rm ./bin/package.json.bak
yarn install v1.22.19
warning package.json: No license field
warning ../../../../package.json: No license field
info No lockfile found.
warning @pulumi/vanta@${VERSION}: No license field
[1/4] 🔍  Resolving packages...
⠁ (node:69293) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
warning @pulumi/aws > aws-sdk > querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
warning @pulumi/aws > aws-sdk > url > querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
warning @pulumi/aws > read-package-tree@5.3.1: The functionality that this package provided is now in @npmcli/arborist
warning @pulumi/aws > @pulumi/pulumi > read-package-tree@5.3.1: The functionality that this package provided is now in @npmcli/arborist
warning @pulumi/aws > read-package-tree > readdir-scoped-modules@1.1.0: This functionality has been moved to @npmcli/fs
warning @pulumi/aws > read-package-tree > readdir-scoped-modules > debuglog@1.0.1: Package no longer supported. Contact Support at <https://www.npmjs.com/support> for more info.
warning @pulumi/aws > @pulumi/pulumi > @opentelemetry/instrumentation > @opentelemetry/api-metrics@0.32.0: Please use @opentelemetry/api >= 1.3.0
warning @pulumi/aws > @pulumi/pulumi > @opentelemetry/instrumentation-grpc > @opentelemetry/api-metrics@0.32.0: Please use @opentelemetry/api >= 1.3.0
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 🔨  Building fresh packages...
success Saved lockfile.
$ node scripts/install-pulumi-plugin.js resource vanta ${VERSION}
warning: A new version of Pulumi is available. To upgrade from version '3.62.0' to '3.92.0', run 
   $ brew update && brew upgrade pulumi
or visit <https://pulumi.com/docs/reference/install/> for manual instructions and release notes.
error: 404 HTTP error fetching plugin from <https://api.github.com/repos/pulumi/pulumi-vanta/releases/latest>. If this is a private GitHub repository, try providing a token via the GITHUB_TOKEN environment variable. See: <https://github.com/settings/tokens>

There was an error installing the resource provider plugin. You may try to manually installing the plugin by running `pulumi plugin install resource vanta`
✨  Done in 5.21s.
yarn run v1.22.19
warning package.json: No license field
warning ../../../../package.json: No license field
$ /Users/brandon/local/pulumi-aws-vanta/sdk/nodejs/node_modules/.bin/tsc --version
Version 3.9.10
✨  Done in 0.16s.
yarn run v1.22.19
warning package.json: No license field
warning ../../../../package.json: No license field
$ /Users/brandon/local/pulumi-aws-vanta/sdk/nodejs/node_modules/.bin/tsc
node_modules/@types/node/ts4.8/test.d.ts:876:34 - error TS1005: '?' expected.

876             : F extends abstract new(...args: any) => infer T ? T
                                     ~~~

node_modules/@types/node/ts4.8/test.d.ts:876:63 - error TS1005: ':' expected.

876             : F extends abstract new(...args: any) => infer T ? T
                                                                  ~

node_modules/@types/node/ts4.8/test.d.ts:877:13 - error TS1005: ',' expected.

877             : unknown,
                ~

node_modules/@types/node/ts4.8/test.d.ts:879:34 - error TS1005: '?' expected.

879             : F extends abstract new(...args: infer Y) => any ? Y
                                     ~~~

node_modules/@types/node/ts4.8/test.d.ts:879:63 - error TS1005: ':' expected.

879             : F extends abstract new(...args: infer Y) => any ? Y
                                                                  ~

node_modules/@types/node/ts4.8/test.d.ts:880:13 - error TS1005: ',' expected.

880             : unknown[],
                ~

node_modules/@types/node/ts4.8/test.d.ts:880:22 - error TS1005: ',' expected.

880             : unknown[],
                         ~

node_modules/@types/node/ts4.8/test.d.ts:881:5 - error TS1109: Expression expected.

881     > {
        ~

node_modules/@types/node/ts4.8/test.d.ts:885:24 - error TS1005: ',' expected.

885         arguments: Args;
                           ~

node_modules/@types/node/ts4.8/test.d.ts:889:35 - error TS1005: ',' expected.

889         error: unknown | undefined;
                                      ~

node_modules/@types/node/ts4.8/test.d.ts:895:39 - error TS1005: ',' expected.

895         result: ReturnType | undefined;
                                          ~

node_modules/@types/node/ts4.8/test.d.ts:899:21 - error TS1005: ',' expected.

899         stack: Error;
                        ~

node_modules/@types/node/ts4.8/test.d.ts:904:19 - error TS1005: ',' expected.

904         target: F extends abstract new(...args: any) => any ? F : undefined;
                      ~~~~~~~

node_modules/@types/node/ts4.8/test.d.ts:904:27 - error TS1005: ':' expected.

904         target: F extends abstract new(...args: any) => any ? F : undefined;
                              ~~~~~~~~

node_modules/@types/node/ts4.8/test.d.ts:904:36 - error TS1005: ',' expected.

904         target: F extends abstract new(...args: any) => any ? F : undefined;
                                       ~~~

node_modules/@types/node/ts4.8/test.d.ts:904:54 - error TS1005: '{' expected.

904         target: F extends abstract new(...args: any) => any ? F : undefined;
                                                         ~~

node_modules/@types/node/ts4.8/test.d.ts:904:63 - error TS1005: ',' expected.

904         target: F extends abstract new(...args: any) => any ? F : undefined;
                                                                  ~

node_modules/@types/node/ts4.8/test.d.ts:904:76 - error TS1005: ',' expected.

904         target: F extends abstract new(...args: any) => any ? F : undefined;
                                                                               ~

node_modules/@types/node/ts4.8/test.d.ts:908:22 - error TS1005: ',' expected.

908         this: unknown;
                         ~


Found 19 errors.

error Command failed with exit code 2.
info Visit <https://yarnpkg.com/en/docs/cli/run> for documentation about this command.
make: *** [build_nodejs_sdk] Error 2
i’ve tried steps like the following https://stackoverflow.com/a/46399668 which mention doing version of uninstalling and --save-dev, but this doesn’t seem to work for me. tried altering the • root package.json https://github.com/pulumi/pulumi-component-provider-ts-boilerplate/blob/main/package.json • dependencies in schema.json https://github.com/pulumi/pulumi-component-provider-ts-boilerplate/blob/4736b180ee0a984418964cf63b48a041f9dea8a9/schema.json#L44-L52 • pulumi-resource-xyz package.json https://github.com/pulumi/pulumi-component-provider-ts-boilerplate/blob/main/provider/cmd/pulumi-resource-xyz/package.json kinda confusing navigating this
m
Good find @breezy-airplane-94478 Turns out DefinityTyped (@types/node), a dependency, doesn’t support typescript@3.9.0 any longer and hence the make command was failing. I’ve created a PR for bumping it to 4.6.3 here - https://github.com/pulumi/pulumi-component-provider-ts-boilerplate/pull/49 This should fix the issue!