pulumi/sdk/nodejs
Julien P bd323a395c
Fix non-blocking stdout/err with nodejs (#16504)
Node will sometimes set stdout or stderr into non-blocking mode, but go
will not notice this. When go attempts to write, we get an error: `write
/dev/stdout: resource temporarily unavailable`. To avoid this issue, we
copy the output of the command to the stdout and stderr of the go
process.

https://github.com/golang/go/issues/58408#issuecomment-1423621323

Fixes https://github.com/pulumi/pulumi/issues/16503
2024-06-27 18:34:31 +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 Fix non-blocking stdout/err with nodejs (#16504) 2024-06-27 18:34:31 +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 Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +00:00
proto Keep package refs separate from providers (#16458) 2024-06-24 14:59:18 +00:00
provider Parallelize Construct and Call calls in the Node.js SDK (#16428) 2024-06-25 09:57:06 +00:00
queryable Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +00:00
runtime Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +00:00
tests Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +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
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 [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 Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +00:00
package.json Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +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 Replace Rome with Biome in the NodeJS SDK (#16456) 2024-06-24 11:14:56 +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.121.0 (#16447) 2024-06-22 01:03:59 +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.