pulumi/sdk/nodejs
Justin Van Patten 009a298a00
Prepare for v3.139.0 release (#17771)
Tentative changelog:

### Features

- [pkg] Allow generating docs in parallel
  [#17711](https://github.com/pulumi/pulumi/pull/17711)

- [programgen/{dotnet,go,nodejs,python}] Support generating invokes
options from PCL for invokes
  [#17696](https://github.com/pulumi/pulumi/pull/17696)

- [sdk/nodejs] Allow accessing configuration in Node.js dynamic
providers
  [#17697](https://github.com/pulumi/pulumi/pull/17697)

- [sdk/nodejs] Implement RunPlugin for the NodeJS language runtime
  [#17724](https://github.com/pulumi/pulumi/pull/17724)

- [sdk/nodejs] Support parameterization for TypeScript providers
  [#17738](https://github.com/pulumi/pulumi/pull/17738)

- [sdk/python] Add Uv as a Python toolchain
  [#17609](https://github.com/pulumi/pulumi/pull/17609)

- [sdk/python] Allow accessing configuration in Python dynamic providers
  [#17673](https://github.com/pulumi/pulumi/pull/17673)


### Bug Fixes

- [engine] Make plugin downloads/installation cancellable
  [#17621](https://github.com/pulumi/pulumi/pull/17621)

- [engine] Fix frequent retries on 403 errors when the update token
expires
  [#17714](https://github.com/pulumi/pulumi/pull/17714)

- [engine] Don't copy deleted dependencies of untargeted resources
  [#17743](https://github.com/pulumi/pulumi/pull/17743)

- [engine] Support renaming providers in targeted operations
  [#17746](https://github.com/pulumi/pulumi/pull/17746)

- [programgen] Allow PCL function element to take a dynamic expression
as input in non-strict mode
  [#17587](https://github.com/pulumi/pulumi/pull/17587)

- [sdk/nodejs] Fix pnpm pack for pnpm@9.13
  [#17766](https://github.com/pulumi/pulumi/pull/17766)

- [sdk/python] Log a message about deleting requirements.txt when
converting to using Poetry
  [#17716](https://github.com/pulumi/pulumi/pull/17716)


### Miscellaneous

- [sdk/dotnet] Run tests with .NET 9.0
2024-11-14 18:05:43 +00:00
..
asset Improve TypeDocs for `sdk/nodejs` (#16622) 2024-07-15 09:05:28 +00:00
automation Update function comments to remove outdated DIY backend note (#17563) 2024-10-29 09:57:23 +00:00
cmd [PCL] Support generating invokes options from PCL for invokes (#17696) 2024-11-11 13:01:24 +00:00
dist Fix typo in PP script 2019-08-06 17:35:52 -07:00
dynamic Allow accessing configuration in Node.js dynamic providers (#17697) 2024-11-07 14:34:11 +00:00
iterable Improve TypeDocs for `sdk/nodejs` (#16622) 2024-07-15 09:05:28 +00:00
log Improve TypeDocs for `sdk/nodejs` (#16622) 2024-07-15 09:05:28 +00:00
npm Fix pnpm pack for pnpm@9.13 (#17766) 2024-11-13 15:56:22 +00:00
proto Document more provider methods (#17683) 2024-11-06 16:54:04 +00:00
provider implement parameterize in the NodeJS provider interface (#17738) 2024-11-13 09:20:53 +00:00
queryable Improve TypeDocs for `sdk/nodejs` (#16622) 2024-07-15 09:05:28 +00:00
runtime [sdk/nodejs] Maintain secretness and input dependencies of output invokes (#17479) 2024-10-05 00:40:19 +00:00
tests Fix checking assertions in the log callback of nodejs engine tests (#17715) 2024-11-07 21:21:27 +00:00
tests_with_mocks Fix NodeJS SDK mocking of custom resource reads (#16542) 2024-07-01 16:05:30 +00:00
types Replace deprecated read-package-tree with @npmcli/arborist (#15503) 2024-02-26 18:40:28 +00:00
vendor Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
.eslintrc.js Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
.gitignore Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
.npmignore Exclude tests from the nodejs npm package (#17488) 2024-10-07 08:31:28 +00:00
Makefile Exclude tests from the nodejs npm package (#17488) 2024-10-07 08:31:28 +00:00
README.md fix some links 2023-05-19 19:39:26 -07:00
biome.json Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +00:00
config.ts Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +00:00
errors.ts allow better grpc error messages from NodeJS component providers (#17325) 2024-10-03 10:06:37 +00:00
index.ts Removing x namespace from go/python/nodejs automation packages (#6518) 2021-04-14 19:32:18 +01:00
invoke.ts implement invoke transforms for NodeJS (#16688) 2024-07-18 08:41:39 +00:00
metadata.ts Improve TypeDocs for `sdk/nodejs` (#16622) 2024-07-15 09:05:28 +00:00
output.ts [sdk/nodejs] Short-circuit output invokes if inputs contains unknowns (#17353) 2024-09-25 20:03:13 +00:00
package.json Prepare for v3.139.0 release (#17771) 2024-11-14 18:05:43 +00:00
resource.ts Try and avoid serializing `runtime/resource.js` (#17247) 2024-09-12 16:27:53 +00:00
stackReference.ts Improve TypeDocs for `sdk/nodejs` (#16622) 2024-07-15 09:05:28 +00:00
tsconfig.json implement RunPlugin for nodejs (#17724) 2024-11-11 10:51:22 +00:00
tsutils.ts Improve TypeDocs for `sdk/nodejs` (#16622) 2024-07-15 09:05:28 +00:00
typescript-shim.ts Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
utils.ts Improve TypeDocs for `sdk/nodejs` (#16622) 2024-07-15 09:05:28 +00:00
version.ts Prepare for v3.139.0 release (#17771) 2024-11-14 18:05:43 +00:00
yarn.lock Bump some dependencies recommended by Dependabot (#17765) 2024-11-14 09:50:34 +00:00

README.md

Pulumi Node.js SDK

The Pulumi Node.js SDK lets you write cloud programs in JavaScript.

Installation

Using npm:

$ npm install --save @pulumi/pulumi

Using yarn:

$ yarn add @pulumi/pulumi

This SDK is meant for use with the Pulumi CLI. Visit Pulumi's Download & Install to install the CLI.

Building and Testing

For anybody who wants to build from source, here is how you do it.

Prerequisites

This SDK uses Node.js and we support any of the Current, Active and Maintenance LTS versions. We support both NPM and Yarn for package management.

At the moment, we only support building on macOS and Linux, where standard GNU tools like make are available.

Make Targets

To build the SDK, simply run make from the root directory (where this README lives, at sdk/nodejs/ from the repo's root). This will build the code, run tests, and install the package and its supporting artifacts.

At the moment, for local development, we install everything into $HOME/.dev-pulumi. You will want this on your $PATH.

The tests will verify that everything works, but feel free to try running pulumi preview and/or pulumi up from the examples/minimal/ directory. Remember to run tsc first, since pulumi expects JavaScript, not TypeScript.