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

enput

v0.1.5

Published

dotenv file generator from schema and user input

Downloads

4

Readme

Enput

dotenv file generator from schema and user input.

Do you copy and rewrite the .env file when you prepare the environment for your project? Enput generates an .env file by answering a minimum of questions.

  • You can create an environment simply by answering questions.
  • You can define the schemes of the environment variables.
  • You can set environment variables without omissions.

Usage

Enput runs on Node.js. Installation is not required.

First prepare an .env.example file; Enput will generate an .env file from it.

Then type the following command.

npx enput

All that remains is to enter the environment variables according to what appears on the console screen.

Congratulations👏 An .env file has been generated.

If .env.example is updated in the future and new environment variables are added, type the same command again. Add the missing environment variables to the .env file.

Schemas

Add a comment in front of each environment variable in the .env.example file. The number of # is not important, although ## is used here to improve readability.

##
# Node execution environment
# @type select
# @options local,development,staging,production
##
NODE_ENV=production

@type followed by the type of the environment variable. In this case, NODE_ENV will be the item from which to choose.

Types

All types are here.

  • string
  • secret
  • email
  • url
  • date
  • datetime
  • ip
  • number
  • int
  • boolean
  • select
  • list

Tags

All tags are here.

| Tag | | | --- | --- | | @type | Type of the environment variable. Default is string. | | @copy | Skip user input and copy the default value verbatim. | | @min | Minimum value (minimum number of characters for strings). | | @max | Maximum value (maximum number of characters for strings). | | | @length | Fixed number of characters in the value | | @pattern | Regular expression pattern for the value | | @multiple | Allows multiple selections when of type select. | | @options | Options for type select. |

Command

It can also be installed.

npm install -g enput

See help for command usage.

> enput -h
Usage: enput [options] [vars...]

Generate or update a .env file from .env.example and user input.

Arguments:
  vars                       filtering and setting environment variables

  Examples:
    filter                     enput NODE_ENV PORT
    set value                  enput NODE_ENV=production
    set empty value            enput NODE_ENV=
    set value with space       enput MESSAGE='Hello world'

Options:
  -v, --version              output the version number
  -m, --mode <mode>          if given, adds a suffix to the .env filename
  -e, --env <envFile>        .env file name (default: ".env")
  -s, --schema <schemaFile>  schema file name (default: ".env.example")
  -f, --force                disable verification
  -u, --update               check each schema for updates
  -q, --quiet                hide information
  -h, --help                 display help for command