Socket
Book a DemoInstallSign in
Socket

neon-env

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

neon-env

Typed env parser

latest
Source
npmnpm
Version
0.2.3
Version published
Maintainers
1
Created
Source

neon-env

Merged with typed-env, development will continue there, use that instead.

Basically typed-env, but with support for choices and maintained.

A typed environment variable parser with support for choices, custom parsers, and more.

Installation

Node.js ^14.18.0, v16 or newer is required. See issue #1.

npm i neon-env

Usage

import { createEnv } from 'neon-env';

const env = createEnv({
  PORT: { type: 'number', default: 80 }
});

env.PORT; // number

Features

  • Strongly typed
  • Supports custom parsers
  • Supports optional environment variables
  • Supports limiting the possible values (see Choices)
  • Supports passing custom environments (see Options)

Choices

import { createEnv } from 'neon-env';

const env = createEnv({
  NODE_ENV: {
    type: 'string',
    choices: ['development', 'production']
  }
});

env.NODE_ENV; // 'development' | 'production'

As of 0.2.0, you no longer need to add as const to the choices array to get the best type safety.

Parser

You can pass a parser function to return your own custom type

import { createEnv } from 'neon-env';

const env = createEnv({
  HOMEPAGE: { parser: url => new URL(url) }
});

env.HOMEPAGE; // URL

Options

If you want to use a custom env, pass env in the options parameter, otherwise it will load from process.env

interface Options {
  env?: Record<string, string> | NodeJS.ProcessEnv;
}

Keywords

environment variables

FAQs

Package last updated on 25 May 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts