Package Exports
- @architect/hydrate
- @architect/hydrate/cli
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@architect/hydrate) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
@architect/hydrate 
@architect/hydrate ensures that all functions managed by architect have their dependencies installed. Functions containing all its required dependencies are considered to be 'hydrated' - thus the name!
@architect/hydrate supports dependencies managed in the following languages using the following package managers:
- node.js via
npmusingpackage.jsonandpackage-lock.jsonfiles - python (3.7+) via
pip3using arequirements.txtfile - ruby via
bundleusingGemfileandGemfile.lockfiles
Installation
npm install @architect/hydrateAPI
Note: the process running
hydratemust be the same as the root of the project it's hydrating. So if the project you're trying tohydrateis located locally at/projects/myappand you're runninghydratefrom/scripts/hydrate, you'll need to ensure youprocess.chdir('/projects/myapp')prior to execution
hydrate(options)
options object can include the following properties:
basepath: What path hydrate should consider as the root for searching for functions to hydrate. Useful if you want to hydrate a subset of functions. Defaults tosrcin the current working directory.install: If truthy, will invokehydrate.install().update: If truthy, will invokehydrate.update().
By default, invokes hydrate.shared().
hydrate.install(options, callback)
Installs dependencies for all Functions found in the specified basepath. Invokes hydrate.shared().
Note that for the default value of basepath='src', this means install will also hydrate shared folders like src/shared and src/views.
To ensure local development behavior is as close to staging and production as possible, hydrate.install() (and other hydrate functions) uses:
- node.js:
npm ciifpackage-lock.jsonis present andnpm iif not - python:
pip3 install - ruby:
bundle install
hydrate.update(options, callback)
Updates dependencies in all Functions found in the specified basepath. Invokes hydrate.shared(). Note that this will only functionally differ from hydrate.install() if you use a lockfile like package-lock.json or Gemfile.lock.
Note that for the default value of basepath='src', this means update will also update dependencies in shared folders like src/shared and src/views.
update is functionally almost identical to install, except it will update dependencies to newer versions if they exist. This is done via:
- node.js:
npm update - python:
pip3 install -U --upgrade-strategy eager - ruby:
bundle update
hydrate.shared(options, callback)
Copies shared code (from src/shared and src/views) into all Functions.