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

@jjorissen52/env-vault

v0.1.7

Published

Utility for environment synchronization with credentials vaults.

Downloads

18

Readme

What?

Synchronize your local environment from a secrets vault.

Which?

Just 1password so far.

Supports

Any functionality not indicated on the above support table is purely serendipitous.

| Platform | Arch | Support | |----------|-------|---------| | MacOs | amd64 | ✅ | | MacOs | m1 | ❓ | | Linux | amd64 | ✅ | | Windows | amd64 | ❌ | | Other | Other | ❌ |

Legend:

| Symbol | Status | |--------|-------------------------| | ✅ | Target platform | | ❓ | Not explicitly excluded | | ❌ | No intention to support |

Installation

You can add it to your current project with

npm install @jjorissen52/env-vault

# optional alias (assuming GNU readlink)
alias ev="$(readlink -f ./node_modules/.bin/ev)"

Or you can download the latest binary, found in the GitHub releases.

Setup

Configuration is stored by default in $HOME/.config/ev.json. You can change the location like so:

export EV_CONFIG_DIR=~/.config/better-place.json

Usage

At a high level, you create "comparison configurations" where you provide a path to a template and a corresponding location to save the result environment file, and ev will populate your file.

Concepts

Comparison Configurations

These are descriptions of how to populate an env file. Any given comparison configuration should contain everything necessary to populate an environment file.

Global Defaults

All comparison configuration options inherit from these when left unspecified.

Vault Defaults

Each vault has its own way of authenticating and thus its own set of defaults. Comparison configuration options inherit from these when left unspecified. Note that right now only the 1password vault type is supported.

Examples

Note: most examples below assume you have an alias or ev on your path.

# show the location where your `ev` config will be stored
yarn ev config locate # using yarn
npx ev config locate # using npm
ev config locate # alias or binary on path


# show your entire ev config
ev config show

# add or update an existing comparison configuration
ev config 1password set test4 \
  --record test.record \
  --address my-org \
  --email [email protected]

# show a specific comparison configuration
ev config show test4
#{
#  "vault_type": "1password",
#  "name": "test4",
#  "address": "my-org",
#  "email": "[email protected]",
#  "vault": "My Vault",
#  "record": "test.record",
#  "template_path": "<path>",
#  "env_file_path": "<path>"
#}

# set the default template and environment file locations
ev config defaults \
  --template ./envs/dev.env \
  --env .env

# set defaults for the 1password configurations
ev config 1password defaults \
  --vault "My Vault" \
  --address my-org \
  --email [email protected]

Attributions

This project started from the template typescript-boilerplate, which is a fantastic asset. Thank you, metacris.