pulumi/sdk/nodejs
Justin Van Patten 89cd536cb9
Freeze v3.112.0 (#15799)
Tentative changelog:

### Features

- [docs] Implement constructor syntax examples for every resource in
typescript, python, csharp and go
  [#15624](https://github.com/pulumi/pulumi/pull/15624)

- [docs] Implement YAML constructor syntax examples in the docs
  [#15791](https://github.com/pulumi/pulumi/pull/15791)

- [engine] Send output values with property dependency information to
transform functions
  [#15637](https://github.com/pulumi/pulumi/pull/15637)

- [engine] Add a --continue-on-error flag to pulumi destroy
  [#15727](https://github.com/pulumi/pulumi/pull/15727)

- [sdk/go] Make `property.Map` keyed by `string` not `MapKey`
  [#15767](https://github.com/pulumi/pulumi/pull/15767)

- [sdk/nodejs] Make function serialization work with typescript 4 and 5
  [#15761](https://github.com/pulumi/pulumi/pull/15761)

- [sdk/python] Improve the error message when depends_on is passed
objects of the wrong type
  [#15737](https://github.com/pulumi/pulumi/pull/15737)


### Bug Fixes

- [auto/{go,nodejs,python}] Make sure to read complete lines before
trying to deserialize them as engine events
  [#15778](https://github.com/pulumi/pulumi/pull/15778)

- [cli/plugin] Fix installing local language plugins on Windows
  [#15715](https://github.com/pulumi/pulumi/pull/15715)

- [engine] Don't delete stack outputs on failed deployments
  [#15754](https://github.com/pulumi/pulumi/pull/15754)

- [engine] Fix a panic when updating provider version in a run using
--target
  [#15716](https://github.com/pulumi/pulumi/pull/15716)

- [engine] Handle that Assets & Archives can be returned from providers
without content.
  [#15736](https://github.com/pulumi/pulumi/pull/15736)

- [engine] Fix the engine trying to delete a protected resource caught
in a replace chain
  [#15776](https://github.com/pulumi/pulumi/pull/15776)

- [sdkgen/docs] Add missing newline for `Coming soon!`
  [#15783](https://github.com/pulumi/pulumi/pull/15783)

- [programgen/dotnet] Fix generated code for a list of resources used in
resource option DependsOn
  [#15773](https://github.com/pulumi/pulumi/pull/15773)

- [programgen/{dotnet,go}] Fixes emitted code for object expressions
assigned to properties of type Any
  [#15770](https://github.com/pulumi/pulumi/pull/15770)

- [sdk/go] Fix lookup of plugin and program dependencies when using Go
workspaces
  [#15743](https://github.com/pulumi/pulumi/pull/15743)

- [sdk/nodejs] Export automation.tag.TagMap type
  [#15774](https://github.com/pulumi/pulumi/pull/15774)

- [sdk/python] Wait only for pending outputs in the Python SDK, not all
pending asyncio tasks
  [#15744](https://github.com/pulumi/pulumi/pull/15744)


### Miscellaneous

- [sdk/nodejs] Reorganize function serialization tests
  [#15753](https://github.com/pulumi/pulumi/pull/15753)

- [sdk/nodejs] Move mockpackage tests to closure integration tests
  [#15757](https://github.com/pulumi/pulumi/pull/15757)
2024-03-28 00:10:27 +00:00
..
asset Apply autoformat 2023-04-28 18:27:10 -04:00
automation revert readlines fix for nodejs (#15798) 2024-03-27 19:34:18 +00:00
cmd [docs] Implement Java constructor syntax examples (#15805) 2024-03-28 00:03:58 +00:00
dist Fix typo in PP script 2019-08-06 17:35:52 -07:00
dynamic Allow dynamic providers to capture secrets 2023-06-29 15:28:31 -07:00
iterable Apply autoformat 2023-04-28 18:27:10 -04:00
log Move nodejs feature checks to startup (#14856) 2023-12-19 14:35:23 +00:00
npm Fix codepaths computation when working dir is nested relative to package.json (#15601) 2024-03-08 16:16:47 +00:00
proto Use the local artifacts, not released artifacts in conformance tests (#15777) 2024-03-26 13:10:34 +00:00
provider Cleanup so uses of `any` in the nodejs sdk (#15558) 2024-03-02 00:00:57 +00:00
queryable This commit safely replaces empty interfaces with type aliases. 2023-05-11 23:10:00 -04:00
runtime Make function serialization work on typescript 4 and 5 (#15761) 2024-03-27 10:03:57 +00:00
tests Make function serialization work on typescript 4 and 5 (#15761) 2024-03-27 10:03:57 +00:00
tests_with_mocks Add testing for async TS mocks 2023-06-01 14:13:04 +02:00
types Replace deprecated read-package-tree with @npmcli/arborist (#15503) 2024-02-26 18:40:28 +00:00
.eslintrc.js Move mockpackage tests to closure integration tests (#15757) 2024-03-26 11:38:01 +00:00
.gitignore ci: Pin yarn lockfile for security & dependency scanning 2022-09-21 15:35:43 -07:00
Makefile Make function serialization work on typescript 4 and 5 (#15761) 2024-03-27 10:03:57 +00:00
README.md fix some links 2023-05-19 19:39:26 -07:00
config.ts Add --secret to config set hints when needed 2023-06-22 17:25:30 +01:00
errors.ts Remove Useless Constructors. 2023-05-15 19:48:47 -04:00
index.ts Removing x namespace from go/python/nodejs automation packages (#6518) 2021-04-14 19:32:18 +01:00
invoke.ts [sdk/nodejs] Add pluginServerURL (#8698) 2022-01-10 15:54:41 -08:00
metadata.ts Make getOrganization total, default to 'organization' 2022-09-22 11:06:51 -07:00
output.ts Add option to throw on output toString and toJSON calls (#14811) 2023-12-20 11:43:07 +00:00
package.json Freeze v3.112.0 (#15799) 2024-03-28 00:10:27 +00:00
resource.ts Export automation.tag.TagMap type & @param tag fixes (#15774) 2024-03-25 14:33:15 +00:00
rome.json Reorganize closure tests to prepare for multiple typescript versions (#15753) 2024-03-25 13:19:17 +00:00
stackReference.ts Export automation.tag.TagMap type & @param tag fixes (#15774) 2024-03-25 14:33:15 +00:00
tsconfig.json Make function serialization work on typescript 4 and 5 (#15761) 2024-03-27 10:03:57 +00:00
tsutils.ts [sdk/nodejs] Mark internal APIs `@internal` to filter from SDK docs 2022-09-20 11:54:06 -07:00
utils.ts Add option to throw on output toString and toJSON calls (#14811) 2023-12-20 11:43:07 +00:00
version.ts Freeze v3.112.0 (#15799) 2024-03-28 00:10:27 +00:00
yarn.lock Move mockpackage tests to closure integration tests (#15757) 2024-03-26 11:38:01 +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.