- Updated dependencies
- Updated
package.json
engines.node
property to reflect changes from v4
- Updated dependencies
- Fixed
MaxListenersExceededWarning
if npm or another package manager resolves many different versions of Utils on the filesystem
- Updated
aws-lite
- Added
checkCreds
method for manually performing basic AWS credential checks
- Initializing the Architect banner is significantly faster, as it no longer has any interactions with
aws-sdk
- Breaking change: banner initialization no longer has any direct responsibility for credential checking
- Related: banner initialization no longer mutates
AWS_PROFILE
, or usesARC_AWS_CREDS
as a signal to other modules about credential loading - Modules relying on the banner for credential-related operations must review the changes and refactor accordingly
- Related: banner initialization no longer mutates
- Banner initialization no longer utilizes
disableRegion
ordisableProfile
params when printing - Transitioned from
aws-sdk
toaws-lite
- Added Node.js 20.x to test matrix
- Breaking change: removed support for Node.js 14.x (now EOL, and no longer available to created in AWS Lambda)
- Updated dependencies
- Fixed static asset fingerprinting in Windows
- Updated deps
- Updated deps
- Fix
toLogicalID
to ensures the passed value is coerced to a string
- Guard against invalid credentials file without default profile; thanks @stuartlangridge!
- Added
deepFrozenCopy
method
- Stop publishing to the GitHub Package registry
- Updated deps
- Ensure multi-line error messages passed to
updater.error
do not double print
- Updated deps
- Added
quiet
param tobanner
(instead of relying solely onARC_QUIET
orQUIET
env vars)
- Updated dependencies
- Breaking change: removed support for Node.js 10.x (now EOL, and no longer available to created in AWS Lambda) and Node.js 12.x
- Removed support for Architect 5 (and lower)
- Updated dependencies
- Updated dependencies
- Accept
cwd
param inbanner
instead of solely relying onprocess.cwd()
- Fixed
updater
truncated color escape sequence, return correct log data inupdater.start()
- Added log levels to
updater
:- Pass it a
logLevel
param with one ofnormal
(default),verbose
, ordebug
verbose
outputs logs at its level andnormal
;debug
outputs logs at all levels- The
quiet
boolean flag still suppresses writing tostdout
, but all relevant log data is still collected by the updater log buffer (seeget()
+reset()
below)
- Pass it a
- Added
updater.get()
, which returns the captured log buffer - Added
updater.reset()
(andupdater.clear()
alias) to clear the captured log buffer
getLambdaName
now sanitizes backslash characters to hyphens
- Add
updater.raw()
, a console.log passthrough that respects Architect quietude
- Updated
updater
tests
- Fixed fingerprinter when called on an app that doesn't have
inv.static
- Updated deps
- Updated deps
- Fingerprint no longer generates a static folder (and exits early) if not found
- Refactored
fingerprint
andbanner
to require an Inventory object - Removed methods that are now the responsibility of Inventory:
fingerprint.config
getLayers
getRuntime
inventory
read
readArc
validate
- Removed methods no longer in active use by any Architect projects:
initEnv
portInUse
updater
errors now include stack traces
updater
errors can no longer be quieted – errors are important!
- Updated
fingerprint
glob path to be *nix normalized
- Add
@http
*
catchall syntax support togetLambdaName
- Fixed issue where
updater
might not get the latest state ofARC_QUIET
during a long-lived process
- Fixed issue where
updater
might occasionally interfere with certain test reporter outputs
- Fix exit condition of fingerprinter when no files are found
- Adds support for
@static fingerprint external
- Removed
mkdirp
in favor of Node.js >= 10.xmkdir
recursive
- Fixes
@static fingerprint ignore
with more recent versions of Architect Parser
- Adds
dotnetcore3.1
support for Lambda, fixes #794 - Instead of the scary red x,
updater.warn
now uses a warning character
- Adds
ruby2.7
support for Lambda, fixes #794
- Should now restore cursor more reliably when a user quits any workflow that's using
updater
- Inventory correctly reports custom websocket routes, thanks @mawdesley!
- Updated dependencies
- Replaced
readArc
method with@architect/parser.readArc
, returns a default Architect project if one is not found in the root of the working directory
- Fixed AWS credential instantiation to ensure that
AWS_ACCESS_KEY_ID
andAWS_SECRET_ACCESS_KEY
env vars are backfilled with dummy values in scenarios where valid credentials are not required
- Added support for
deno
ingetRuntime
method
- Updated dependencies
- Adds better support for quiet mode in
banner
+updater
withARC_QUIET
and legacyQUIET
env vars
- Updated
getRuntime
default runtime tonodejs12.x
(however, this code path is likely inactive)
- Handle credentials in the canonical way while still allowing
profile
andregion
overrides in arc config; thanks @defionscode!
- Revert dependency
- Allow local cred file to be overriden by env vars by specifying
ARC_AWS_CREDS=env
- AWS credentials can now be loaded via env vars (
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
)- Thus, Architect no longer requires a
~/.aws/credentials
file to run - Also added AWS session token support via setting
AWS_SESSION_TOKEN
env var - Fixes #26; thanks @ryan-roemer!
- Thus, Architect no longer requires a
- Credentials are now properly backfilled with dummy values for banner callers setting
needsValidCreds
, ensuring that certain Architect operations (such as local Sandbox usage) won't crash without a valid~/aws.credentials
file present
- Adds better backwards compatibility support in
inventory
for legacysrc/ws/ws-*
paths
- Added support for new Lambda runtimes!
nodejs12.x
,python3.8
, andjava11
init
is now its own standalone project! It can be found at@architect/create
- As such, init is now retired and removed from
utils
- Updated dependencies
- Fixed printing of unnecessary ANSI escape characters in CI environments (
CI
env, or not TTY output)
- Fixes correct inventory paths for
src/ws/*
, which should in turn fix WebSocket function hydration
- Added support for
@static folder
tofingerprint
- Updated dependencies
updater
now accepts params object, including{quiet: true}
, which completely disables console printingupdater.status
can now be passed a null first param, which only outputs a multi-line supporting status update
- Better isolation of
updater
methods that require TTY, so as to prevent potential boogs
updater.status
cancels progress
updater
methods now returns whatever they're printing (should you need to capture status)- Added tests for
updater
updater
now always hides the cursor during updating- Internal changes to
updater
printer API
- Updates boilerplate init templates for functions and static assets
- Internal change to
update.done()
- Added
@views
pragma to inventory - Added optional
updater.done()
confirmation message - Calling banner in Arc 5 sets
deprecated
env var
- Adds
updater()
: an Arc-standardized console status updater and animated progress indicator - Adds credential initialization fallback routine to
initAWS()
- Massively prettifies the boilerplate static site created by
init()
- Added ability to directly access Arc and AWS initializer utils (
initArc()
,initAWS()
) - Added AWS credential loader to AWS initializer
populate-*
utils are now nowinit-*
- Adds
glob
to satisfy previously inferred dependency
- Remove
QUIET
env var as predicate for disabling banner
- Adds util to normalize local file paths in Windows
- Adds issue / PR templates
- Adds lib of Windows-compatible special chars set to de-munge printing on Windows machines
- Static asset fingerprint util (and related tests)
- Responsible for managing
public/static.json
- Returns static asset manifest when called
- Also has
fingerprint.config()
API available for returning@static fingerprint
and@static ignore
config
- Responsible for managing
// Needs backfilling!
- Tiny console log copy edit
- Adds
populate-arc
module, which loads basic required Architect project config - Adds
populate-aws
module, which fixes missing (optional) AWS env vars in banner
- Disabling banner is now
disableBanner
- Banner AWS region / profile can now be disabled with
disableRegion
anddisableProfile
- Common banner logger added in preparation for additional banner customization
- Option to disable banner printing with
banner({disabled:true})
- Moving towards passing parameters (to things like the banner) instead of using env vars
- Added shared banner printer
- Reverted tidying of subfolder structure in service of making requiring a little nicer
- Updates readArc to error if Architect manifest isn't found
- This here library! Broken out of
@architect/architect
, we will now be maintainingutils
as a standalone module, and reincorporating it back into future versions of Architect.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.