pulumi/sdk/nodejs
joeduffy 22387d24cd Switch to a --parallel=P flag
This change flips the polarity on parallelism: rather than having a
--serialize flag, we will have a --parallel=P flag, and by default
we will shut off parallelism.  We aren't benefiting from it at the
moment (until we implement pulumi/pulumi-fabric#106), and there are
more hidden dependencies in places like AWS Lambdas and Permissions
than I had realized.  We may revisit the default, but this allows
us to bite off the messiness of dependsOn only when we benefit from
it.  And in any case, the --parallel=P capability will be useful.
2017-09-17 08:10:46 -07:00
..
asset Harden dependent resolutions 2017-09-06 14:29:17 -07:00
bin Move language host into bin/ 2017-09-08 06:13:09 -07:00
cmd Switch to a --parallel=P flag 2017-09-17 08:10:46 -07:00
runtime Switch to a --parallel=P flag 2017-09-17 08:10:46 -07:00
tests Add optional dependsOn to Resource constructors 2017-09-15 16:38:52 -07:00
.gitignore Move language host into bin/ 2017-09-08 06:13:09 -07:00
computed.ts Add typings and tests for mapValues that return computeds 2017-09-06 08:28:11 -07:00
config.ts Add a runtime.Log class 2017-09-04 11:35:21 -07:00
index.ts Prettify properties 2017-09-05 10:55:09 -07:00
Makefile Add instructions for make configure 2017-09-11 15:17:11 -07:00
package.json Upgrade to TypeScript ^2.5.2 2017-09-14 15:02:41 -07:00
README.md Add instructions for make configure 2017-09-11 15:17:11 -07:00
resource.ts Add optional dependsOn to Resource constructors 2017-09-15 16:38:52 -07:00
tsconfig.json Fix a bunch of Linux issues 2017-09-08 15:11:09 -07:00
tslint.json Lint the test files 2017-09-04 11:35:21 -07:00
yarn.lock Upgrade to TypeScript ^2.5.2 2017-09-14 15:02:41 -07:00

Pulumi Fabric Node.js SDK

The Pulumi Fabric Node.js SDK lets you write cloud programs in JavaScript.

Installing

For now, we only support developers building from source. Eventually we will have a nice installer.

Prerequisites

To build and install the SDK, you will first need a few things.

First, install Node.js 6.10.2. We recommend nvm, since it makes it easier to switch between versions of Node.js. Afterwards, run nvm install 6.10.2.

Next, we suggest using Yarn for package management. NPM works too, but Yarn is faster and therefore preferred. Please follow the directions on Yarn's website.

Building and Testing

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

$ make configure

Make sure to run this after installing the right version of Node.js above, otherwise it may bind to the wrong version.

To build the SDK, simply run make from the root directory (sdk/nodejs/). This will build the code, run tests, and then "install" the package (by yarn linking the resulting bin/ directory).

We recommend putting bin/ on your $PATH, since the pulumi-langhost-nodejs executable will be loaded dynamically by the lumi tool whenever it encounters a Node.js program.

The tests will verify that everything works, but feel free to try running lumi plan and/or lumi deploy from the examples/minimal/ directory. Remember to run tsc first, since lumi expects JavaScript, not TypeScript.