This change adds an optiona dependsOn parameter to Resource constructors, to "force" a fake dependency between resources. We have an extremely strong desire to resort to using this only in unusual cases -- and instead rely on the natural dependency DAG based on properties -- but experience in other resource provisioning frameworks tells us that we're likely to need this in the general case. Indeed, we've already encountered the need in AWS's API Gateway resources... and I suspect we'll run into more especially as we tackle non-serverless resources like EC2 Instances, where "ambient" dependencies are far more commonplace. This also makes parallelism the default mode of operation, and we have a new --serialize flag that can be used to suppress this default behavior. Full disclosure: I expect this to become more Make-like, i.e. -j 8, where you can specify the precise width of parallelism, when we tackle pulumi/pulumi-fabric#106. I also think there's a good chance we will flip the default, so that serial execution is the default, so that developers who don't benefit from the parallelism don't need to worry about dependsOn in awkward ways. This tends to be the way most tools (like Make) operate. This fixes pulumi/pulumi-fabric#335. |
||
---|---|---|
.. | ||
asset | ||
bin | ||
cmd | ||
runtime | ||
tests | ||
.gitignore | ||
computed.ts | ||
config.ts | ||
index.ts | ||
Makefile | ||
package.json | ||
README.md | ||
resource.ts | ||
tsconfig.json | ||
tslint.json | ||
yarn.lock |
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 link
ing 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.