We would like to allow developers to use async/await on the inside (Node.js) of Lumi programs. We now support (don't error on) usage of async/await inside runtime callbacks in Lumi programs. If await is used during deployment, it will trigger an error. Also adds support for try/catch in LumiJS, as these are used more heavily in async/await code. Since we target Node.js environments without native support for async/await, we also emit runtime helpers to support TS transpilation of async/await for Node.js pre-7.6. |
||
---|---|---|
.. | ||
aws | ||
lumi | ||
lumijs | ||
lumirt | ||
mantle | ||
README.md |
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
.