Security News
Combatting Alert Fatigue by Prioritizing Malicious Intent
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
@architect/hydrate
Advanced tools
@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:
npm
using package.json
and package-lock.json
filespip3
using a requirements.txt
filebundle
using Gemfile
and Gemfile.lock
filesnpm install @architect/hydrate
Note: the process running
hydrate
must be the same as the root of the project it's hydrating. So if the project you're trying tohydrate
is located locally at/projects/myapp
and you're runninghydrate
from/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 to src
in the current working directory.install
: If truthy, will invoke hydrate.install()
.update
: If truthy, will invoke hydrate.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:
npm ci
if package-lock.json
is present and npm i
if notpip3 install
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:
npm update
pip3 install -U --upgrade-strategy eager
bundle update
hydrate.shared(options, callback)
Copies shared code (from src/shared
and src/views
) into all Functions.
[1.5.1] 2020-09-30
@http
catchall syntax (e.g. get /api/*
)FAQs
Architect dependency hydrator and shared file manager
We found that @architect/hydrate demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
In 2023, data breaches surged 78% from zero-day and supply chain attacks, but developers are still buried under alerts that are unable to prevent these threats.
Security News
Solo open source maintainers face burnout and security challenges, with 60% unpaid and 60% considering quitting.
Security News
License exceptions modify the terms of open source licenses, impacting how software can be used, modified, and distributed. Developers should be aware of the legal implications of these exceptions.