pulumi/sdk/nodejs
Justin Van Patten e8bd8e5e1f
Rehydrate provider resources in Construct (#7624)
Previously, any provider resource passed to multi-lang components would be instantiated as a `DependencyProviderResource` inside `Construct`, which prevents the component from being able to easily access the provider's state as an instance of of the provider (e.g. `*aws.Provider`).

This change attempts to rehydrate the provider resource in the same way that resource references are rehydrated, if it's been registered, s.t. the specific provider resource type is instantiated with its state. Otherwise falling back to returning `DependencyProviderResource`.
2021-07-23 14:10:06 -07:00
..
asset Mark internal APIs @internal to filter from API docs (#3809) 2020-01-26 09:06:35 -08:00
automation detect nodejs side by side pulumi for inline automation programs and fail fast (#7349) 2021-06-23 07:57:36 -07:00
cmd Initial support for resource methods (authoring from Node.js, calling from Python) (#7363) 2021-06-30 07:48:56 -07: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 Break out Resource and Output into their own files (#2420) 2019-01-31 18:08:17 -08:00
log [sdk/nodejs] Improve handling of log related errors (#6714) 2021-04-06 19:34:15 -07:00
npm skip installing dev dependencies for nodejs plugin setup (#7188) 2021-06-02 11:09:03 -07:00
proto Add replaceOnChanges resource option (#7226) 2021-07-01 13:32:08 -06:00
provider Rehydrate provider resources in Construct (#7624) 2021-07-23 14:10:06 -07:00
queryable Use TypeScript's built-in Omit (#3597) 2019-12-02 22:50:18 +00:00
runtime [sdk] Wait on remote component dependencies (#7541) 2021-07-16 16:11:34 -07:00
tests [sdk/nodejs] Fix a bug in closure serialization. (#6999) 2021-07-15 18:20:09 -07:00
tests_with_mocks Refactor Mock newResource and call to accept property bag rather than individual args (#6672) 2021-04-14 19:32:18 +01:00
.gitignore Add a SxS test for @pulumi/pulumi to help catch when we make breaking changes to core types. (#2610) 2019-03-29 12:27:42 -07:00
config.ts Fix typo (#7216) 2021-06-05 09:40:28 +10:00
errors.ts support inline programs for nodejs automation api 2020-10-08 12:19:01 -07:00
index.ts Removing x namespace from go/python/nodejs automation packages (#6518) 2021-04-14 19:32:18 +01:00
invoke.ts Breaking changes due to Feature 2.0 work 2020-04-14 09:30:25 +01:00
Makefile [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
metadata.ts Enable unit testing for Pulumi programs (#2638) 2019-04-16 22:20:01 -07:00
output.ts Run SDK lint jobs (#6674) 2021-04-01 11:23:47 -07:00
package.json [auto/nodejs] - Reimplement JSON event parsing with Readline (#7032) 2021-05-24 13:03:38 -07:00
README.md Update README.md (#7088) 2021-05-21 10:46:56 -07:00
resource.ts Rehydrate provider resources in Construct (#7624) 2021-07-23 14:10:06 -07:00
stackReference.ts Breaking changes due to Feature 2.0 work 2020-04-14 09:30:25 +01:00
tsconfig.json Removing x namespace from go/python/nodejs automation packages (#6518) 2021-04-14 19:32:18 +01: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

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