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

extend-env-files

v1.0.1

Published

## Overview `extend-env-files` is an NPX module that helps to prepend and merge environment variables into specific files based on a configuration. The configuration is provided via the `ENV_FILES_CONFIG` environment variable, formatted as a JSON object.

Downloads

6

Readme

extend-env-files

Overview

extend-env-files is an NPX module that helps to prepend and merge environment variables into specific files based on a configuration. The configuration is provided via the ENV_FILES_CONFIG environment variable, formatted as a JSON object. Each key in this JSON object is a file path, and the associated value is a string containing .env-style key-value pairs.

This module ensures that the specified environment variables are prepended to or merged into the files, overriding any existing variables with the same key.

Installation

No installation is required for this module since it will be run using npx.

npx extend-env-files

Usage

To use this module, set the ENV_FILES_CONFIG environment variable with a JSON configuration. The JSON keys are file paths, and the values are .env strings containing key-value pairs. When you run the module, it will:

  1. Check if the target directory and file exist.
  2. Merge the new key-value pairs with any existing content in the file.
  3. Save the modified content back to the file.

Example

export ENV_FILES_CONFIG='{"./config/.env": "KEY_A=1\nKEY_B=2", "./config/.env.local": "KEY_C=3"}'
npx extend-env-files

In the example above:

  • The file ./config/.env will be updated with KEY_A=1 and KEY_B=2.
  • The file ./config/.env.local will be updated with KEY_C=3.

Logging

To enable logging, set the DEBUG environment variable to any non-empty value:

DEBUG=1 npx extend-env-files

This will output logs such as the parsed configuration, the original and new content of each file, and other information about the execution process.

Configuration

The configuration for ENV_FILES_CONFIG must be provided as a valid JSON object where:

  • Key: The path of the file you want to update (relative or absolute).
  • Value: A string containing .env key-value pairs.

Example ENV_FILES_CONFIG value:

{
  "./config/.env": "KEY_A=1\nKEY_B=2",
  "./config/.env.local": "KEY_C=3"
}

This will ensure that KEY_A and KEY_B are added to ./config/.env, and KEY_C is added to ./config/.env.local.

License

This project is licensed under the MIT License.