npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@architect/utils

v4.0.6

Published

Common utility functions

Downloads

16,873

Readme

@architect/utils GitHub CI status

@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 (boolean): skip printing the banner and Architect's AWS environment bootstrapping routines
  • disableRegion (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

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
    • aliases: update
  • done - ends current progress indicator with an update
    • aliases: stop
  • cancel - cancels current progress indicator without an update
  • err - pretty prints an error
    • aliases: error and fail
  • warn - cancels current progress indicator and prints a warning
    • aliases: warn
  • 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 printing
  • CI - if truthy, disables certain terminal progress animations