98ef0c4bb5
Because the Pulumi.yaml file demarcates the boundary used when uploading a program to the Pulumi.com service at the moment, we have trouble when a Pulumi program uses "up and over" references. For instance, our customer wants to build a Dockerfile located in some relative path, such as `../../elsewhere/`. To support this, we will allow the Pulumi.yaml file to live somewhere other than the main Pulumi entrypoint. For example, it can live at the root of the repo, while the Pulumi program lives in, say, `infra/`: Pulumi.yaml: name: as-before main: infra/ This fixes pulumi/pulumi#575. Further work can be done here to provide even more flexibility; see pulumi/pulumi#574. |
||
---|---|---|
.. | ||
asset | ||
bin | ||
cmd | ||
log | ||
runtime | ||
tests | ||
.gitignore | ||
Makefile | ||
README.md | ||
config.ts | ||
dynamic.ts | ||
errors.ts | ||
index.ts | ||
metadata.ts | ||
package.json | ||
resource.ts | ||
tsconfig.json | ||
tslint.json | ||
yarn.lock |
README.md
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 pulumi
tool whenever it encounters a Node.js program.
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.