pulumi/sdk/nodejs
Pat Gavlin 1a651ab0e0
Always read StackReference resources (#2332)
This is something of a quick hack to work around the limitations that
are at the root of #2310. In short, `StackReference` resources do not
change during a update because their inputs have not changed and we do
not refresh resources as part of the update by default. We want
`StackReference` to remain a resource for myriad reasons (not the least
of which is to avoid a breaking change), but it does seem correct for it
to refresh its state during each update. Because there is no actual CRUD
operation associated with a `StackReferece`, we can obtain this behavior
by changing the implementation of its ctor in the various SDKs s.t. its
options bag always contains an appropriate `id`, thus indicating a
`Read`.

Fixes #2310.
2019-01-03 16:06:21 -08:00
..
asset Make RTTI markers internal (#1479) 2018-06-07 21:34:06 -07:00
cmd Flush stdout and stderr on abnormal lang shutdown (#2226) 2018-11-19 17:59:01 -05:00
dist Do not use relative path when launching dynamic provider 2018-12-05 13:45:06 -08:00
dynamic Reimplement refresh. (#1814) 2018-08-22 17:52:46 -07:00
iterable Add an extra layer of Input-ness 2018-10-27 13:47:15 -07:00
log Expose hte ephemeral logging flag to the Nodejs sdk. (#2056) 2018-10-12 11:09:09 -07:00
proto Move management of root resource state to engine (#1944) 2018-09-18 11:47:34 -07:00
runtime Convert resource to pojo objects when used as stack outputs. (#2311) 2019-01-03 10:03:11 -08:00
tests Revert https://github.com/pulumi/pulumi/pull/2281 (#2297) 2018-12-15 21:04:53 -08:00
.gitignore Continue to add native modules to NODE_PATH 2018-04-13 14:26:32 -07:00
config.ts Fix requireObject docs (#1961) 2018-09-21 07:58:14 -07:00
errors.ts Fix rtti check. (#1983) 2018-09-24 20:06:31 -07:00
index.ts Add an API for importing stack outputs (#2180) 2018-11-14 13:33:35 -08:00
invoke.ts Pull default options from a resource's parent. (#1748) 2018-08-10 16:18:21 -07:00
Makefile Pass -count=1 to disable result caching on go 1.10 and above 2018-11-08 14:11:52 -08:00
metadata.ts Add license headers 2018-05-22 15:02:47 -07:00
package.json Bump @types/node dependency 2018-11-13 11:20:21 -08:00
README.md Remove Private Beta warning 2018-06-18 05:00:38 -07:00
resource.ts Force rebuild of htis package to wipe out previously published 'dev' package. (#2300) 2018-12-17 16:00:31 -08:00
stackReference.ts Always read StackReference resources (#2332) 2019-01-03 16:06:21 -08:00
tsconfig.json Add stackReference.ts to tsconfig.json (#2253) 2018-11-29 10:27:29 -08:00
tslint.json Add license headers 2018-05-22 15:02:47 -07:00
version.ts Add license headers 2018-05-22 15:02:47 -07:00

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.io 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 the Active LTS and Current releases, as defined by this table. 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

The first time you build, run make ensure to install and prepare native plugins for V8:

$ make ensure

This is only necessary if you intend to produce a build that is capable of running older versions of the SDK contained in this directory. If you do intend to do this, you must have node 6.10.2 installed.

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 /opt/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 update from the examples/minimal/ directory. Remember to run tsc first, since pulumi expects JavaScript, not TypeScript.