@architect/utils
![GitHub CI status](https://github.com/architect/utils/workflows/Node%20CI/badge.svg)
@architect/utils are common utilities for the @architect suite of projects.
Installation
npm i @architect/utils
API
utils.banner(params)
Responsible for printing the standard banner, and loading the basic environment variables and necessary AWS credentials necessary to run Architect.
params
are required with the following available properties:
inventory
(required): Inventory object from @architect/inventory
disableBanner
: run Architect's environment bootstrapping routines, but don't display the actual bannerdisableRegion
: don't print the AWS regiondisableProfile
: don't print the AWS profileversion
: the package version string to print out (e.g. Architect 1.2.3
)
utils.getLambdaName(fn)
Returns a valid AWS Lambda function name based on its URL (route).
utils.pathToUnix(pathString)
Converts any path to a Unix style path, with /
as the seperator. This works around Windows issues where /
is assumed across other parts of Architect.
utils.toLogicalID(str)
Converts str
into PascalCase for CloudFormation use.
utils.updater(name, params)
name
(a string) is required; params
may include the boolean option quiet
to manually override Architect's global printing status.
Returns a function to be reused for standardized logging updates with the following methods:
status
- prints an affirmative status update
- optional: arbitrary number of supporting info on new lines with each additional param
start
- starts an animated progress indicator
done
- ends current progress indicator with an update
cancel
- cancels current progress indicator without an updateerr
- pretty prints an error
warn
- cancels current progress indicator and prints a warning
raw
- just logs a message as-is (while respecting quiet)
Automatically respects Architect's global printing status, and also respects the following env vars:
ARC_QUIET
- if truthy, disables printingCI
- if truthy, disables certain terminal progress animations