pulumi/sdk/nodejs
Will Jones 492c57c7dd
Implement `dependsOn` for invokes in the NodeJS SDK (#16560)
This commit adds support for passing `dependsOn` to invokes (whether
streamed or not) in the NodeJS SDK. This allows programs to ensure that
certain invokes are executed after things they depend on, even if that
dependency is not implicitly captured with an input-output relationship.

Part of #14243
2024-07-03 14:47:59 +00:00
..
asset Apply autoformat 2023-04-28 18:27:10 -04:00
automation Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +00:00
cmd Add conformance tests for remote assets (#16467) 2024-07-03 09:03:24 +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 Display an actionable error message when dependency installation fails (#16489) 2024-06-28 23:22:17 +00:00
proto Add not-found markers to missing executables for packagemanagers (#16488) 2024-06-28 23:21:55 +00:00
provider Wrap call&construct of node provider server in AsyncLocalStorage (#16487) 2024-06-28 10:35:30 +00:00
queryable Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +00:00
runtime Implement `dependsOn` for invokes in the NodeJS SDK (#16560) 2024-07-03 14:47:59 +00:00
tests Implement `dependsOn` for invokes in the NodeJS SDK (#16560) 2024-07-03 14:47:59 +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
Makefile Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +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 Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +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 `dependsOn` for invokes in the NodeJS SDK (#16560) 2024-07-03 14:47:59 +00:00
metadata.ts Make getOrganization total, default to 'organization' 2022-09-22 11:06:51 -07:00
output.ts Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +00:00
package.json Freeze v3.122.0 (#16547) 2024-07-02 00:20:23 +00:00
resource.ts Fix documentation comments in the NodeJS SDK (#16307) 2024-06-03 12:50:03 +00:00
stackReference.ts Export automation.tag.TagMap type & @param tag fixes (#15774) 2024-03-25 14:33:15 +00:00
tsconfig.json Implement `dependsOn` for invokes in the NodeJS SDK (#16560) 2024-07-03 14:47:59 +00:00
tsutils.ts Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
typescript-shim.ts Vendor TypeScript and ts-node (#15622) 2024-04-10 15:26:37 +00:00
utils.ts Fix documentation comments in the NodeJS SDK (#16307) 2024-06-03 12:50:03 +00:00
version.ts Freeze v3.122.0 (#16547) 2024-07-02 00:20:23 +00:00
yarn.lock Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +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.