pulumi/sdk/nodejs
Luke Hoban 4a4b9628db Allow optional inputs to be Input<T | undefined>
The Node.js runtime accepts `Output<undefined>` values as inputs to
optional parameters, but the TypeScript typing currently does not
allow these. This extends the TypeScript typings to allow
`Output<undefined>` values as inputs to optional input properties.

I cannot think of any way in which this is breaking or would regress
any aspect of the TypeScript experience, other than making the `.d.ts`
files a little "noisier".

Fixes #6175.
2022-01-13 08:48:07 -08:00
..
asset Use ESlint instead of TSlint (#7719) 2021-08-10 11:31:59 -07:00
automation Fix for 8518 automation API issue with set_config "-value" (#8614) 2021-12-23 13:44:56 -05:00
cmd [nodejs/sdk] GetRequiredPlugins: Return plugins even when there're errors (#8699) 2022-01-06 20:14:09 -08:00
dist Fix typo in PP script 2019-08-06 17:35:52 -07:00
dynamic Enable nodejs dynamic provider caching by default on program side (#6704) 2021-04-14 19:32:18 +01:00
iterable Use ESlint instead of TSlint (#7719) 2021-08-10 11:31:59 -07:00
log Use ESlint instead of TSlint (#7719) 2021-08-10 11:31:59 -07:00
npm skip installing dev dependencies for nodejs plugin setup (#7188) 2021-06-02 11:09:03 -07:00
proto Pipe serverURL through register resource (#8544) 2021-12-17 14:52:01 -08:00
provider Add tests that return failures from Call (#8424) 2021-11-16 08:58:46 -08:00
queryable Use ESlint instead of TSlint (#7719) 2021-08-10 11:31:59 -07:00
runtime [sdk/nodejs] Add pluginServerURL (#8698) 2022-01-10 15:54:41 -08:00
tests Allow optional inputs to be Input<T | undefined> 2022-01-13 08:48:07 -08:00
tests_with_mocks [sdk/{nodejs,python}] Fix errors when testing remote components with mocks (#8053) 2021-09-24 06:08:13 -07:00
.eslintrc.js Use ESlint instead of TSlint (#7719) 2021-08-10 11:31:59 -07:00
.gitignore [cli, testing, github] Gather code coverage data in CI. (#8260) 2021-11-30 17:24:01 -08:00
Makefile Toward replacing MSBuild with make+bash on Windows (#8617) 2022-01-07 22:27:14 -05:00
README.md Move `PULUMI_ROOT` to `$HOME/.pulumi-dev` (#8512) 2021-12-15 12:32:41 -08:00
config.ts Use ESlint instead of TSlint (#7719) 2021-08-10 11:31:59 -07:00
errors.ts Use ESlint instead of TSlint (#7719) 2021-08-10 11:31:59 -07: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 Enable unit testing for Pulumi programs (#2638) 2019-04-16 22:20:01 -07:00
output.ts Use ESlint instead of TSlint (#7719) 2021-08-10 11:31:59 -07:00
package.json Work around node SDK tsc failure (#8681) 2022-01-04 14:53:41 -05:00
resource.ts [sdk/nodejs] Add pluginServerURL (#8698) 2022-01-10 15:54:41 -08:00
stackReference.ts Breaking changes due to Feature 2.0 work 2020-04-14 09:30:25 +01:00
tsconfig.json [cli, testing, github] Gather code coverage data in CI. (#8260) 2021-11-30 17:24:01 -08:00
tslint.json Fix issue with comments throwing off function/class serialization (#2438) 2019-02-08 14:58:24 -08:00
utils.ts Enable resource reference feature by default (#5905) 2020-12-10 11:21:05 -07:00
version.ts Add license headers 2018-05-22 15:02:47 -07: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. Please visit pulumi.com for installation instructions.

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.