pulumi/lib
joeduffy 87004a124e Store both input and output properties distinctly
This changes the resource model to persist input and output properties
distinctly, so that when we diff changes, we only do so on the programmer-
specified input properties.  This eliminates problems when the outputs
differ slightly; e.g., when the provider normalizes inputs, adds its own
values, or fails to produce new values that match the inputs.

This change simultaneously makes progress on pulumi/lumi#90, by beginning
tracking the resource objects implicated in a computed property's value.

I believe this fixes both #189 and #198.
2017-06-04 19:24:48 -07:00
..
aws Store both input and output properties distinctly 2017-06-04 19:24:48 -07:00
lumi Store both input and output properties distinctly 2017-06-04 19:24:48 -07:00
lumijs Also build the Lumi stdlib during make all 2017-06-02 15:26:39 -07:00
mantle Reclassify Lumi under the Apache 2.0 license 2017-05-18 14:51:52 -07:00
README.md Preserve the lumi prefix on our CLI tools 2017-05-18 12:38:58 -07:00

lumi/lib

This directory contains some libraries that Lumi programs may depend upon.

Overview

The Lumi standard library underneath lumi/ is special in that every program will ultimately use it directly or indirectly to create resources.

Similarly, lumijs/ is the LumiJS compiler's runtime library, and so most LumiJS programs will on it.

Note that these are written in the Lumi subsets of the languages and therefore cannot perform I/O, etc.

Installation and Usage

Eventually these packages will be published like any other NPM package. For now, they are consumed only in a development capacity, and so there are some manual steps required to prepare a developer workspace.

For each library <lib> you wish to use, please see its install.sh script in its root directory. This performs installation so that it can be used simply by adding a dependency to it.

We currently use NPM/Yarn symlinks to ease the developer workspace flow. As such, you will need to run:

  • yarn link <lib>

In a project that intends to consume <lib> before actually using it. For example, yarn link @lumi/lumi.