@architect/utils are common utilities for the @architect suite of projects.
npm i @architect/utils
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
(boolean): skip printing the banner and Architect's AWS environment bootstrapping routinesdisableRegion
(boolean): don't print the AWS region (useful in public CI scenarios, for example)disableProfile
(boolean): don't print the AWS profile (also useful in public CI scenarios)version
(string): the package version string to print out (e.g.Architect 1.2.3
)quiet
(boolean): disable banner printing
Returns a valid AWS Lambda function name based on its URL (route).
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.
Converts str
into PascalCase for CloudFormation use.
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- aliases:
update
- aliases:
done
- ends current progress indicator with an update- aliases:
stop
- aliases:
cancel
- cancels current progress indicator without an updateerr
- pretty prints an error- aliases:
error
andfail
- aliases:
warn
- cancels current progress indicator and prints a warning- aliases:
warn
- aliases:
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