pulumi/sdk/nodejs
Will Jones 100470d2e7
Revert "Implement `dependsOn` for invokes in the NodeJS SDK (#16560)" (#16642)
From SDKs, we call invokes in one of two ways:

* In a "non-output" context (e.g. `getX`), which has a result dependent
on the language (e.g. a `Promise` in NodeJS) that _does not_ track
dependencies.
* In an "output" context (e.g. `getXOutput`), which has an `Output` type
and does track dependencies.

In the non-output case, `dependsOn` really doesn't make sense, since
this style of invoke is inherently ignoring dependency tracking/outputs.
This commit thus reverts 492c57c7dd so
that we can rethink the design before people's programs are subtly
broken in this case.
2024-07-12 10:16:55 +00:00
..
asset Apply autoformat 2023-04-28 18:27:10 -04:00
automation Improve TypeDocs for `sdk/nodejs/automation` (#16616) 2024-07-10 17:22:24 +00:00
cmd Update Pulumi YAML to 1.9.1 (#16636) 2024-07-11 22:33:05 +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 implement engine support for invoke transforms (#16559) 2024-07-11 16:01:44 +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 Revert "Implement `dependsOn` for invokes in the NodeJS SDK (#16560)" (#16642) 2024-07-12 10:16:55 +00:00
tests Revert "Implement `dependsOn` for invokes in the NodeJS SDK (#16560)" (#16642) 2024-07-12 10:16:55 +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 Revert "Implement `dependsOn` for invokes in the NodeJS SDK (#16560)" (#16642) 2024-07-12 10:16:55 +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 Prepare for 3.124.0 release (#16640) 2024-07-12 08:49:19 +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 Revert "Implement `dependsOn` for invokes in the NodeJS SDK (#16560)" (#16642) 2024-07-12 10:16:55 +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 Prepare for 3.124.0 release (#16640) 2024-07-12 08:49:19 +00:00
yarn.lock Bump @opentelemetry packages in NodeJS SDK (#16558) 2024-07-08 09:10:53 +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.