@jswork/env-manager
TypeScript icon, indicating that this package has built-in type declarations

1.0.14 • Public • Published

env-manager

Environment manager for frontend.

version license size download

installation

npm install @jswork/env-manager

usage

import EnvManager from '@jswork/env-manager';

// vite
const viteEnv = new EnvManager({
  prefix: 'VITE_',
  env: import.meta.env
});

// webpack
const craEnv = new EnvManager({
  prefix: 'REACT_APP_',
  env: process.env
});

You can use env-cmd to manage your envs.

// ---------- package.json
"scripts": {
  "start": "env-cmd -e local react-scripts start",
  "build:beta": "env-cmd -e beta react-scripts build",
  "build:prod": "env-cmd -e prod react-scripts build",
  "test": "react-scripts test",
  "eject": "react-scripts eject"
}

You can use env-cmdrc.js to manage your envs.

// ---------- .env-cmdrc.js
module.exports = craEnv.set({
  "local": {
    "API_URL": "http://localhost:3000",
    "BUILD_ENV": 'local-api.github.com/users/afeiship',
  },
  "beta": {
    "API_URL": "http://beta.api.com",
    "BUILD_ENV": 'beta-api.github.com/users/afeiship',
  },
  "production": {
    "API_URL": "http://api.com",
    "BUILD_ENV": 'api.github.com/users/afeiship',
  },
});

// ---------- src/app.tsx
// get 'BUILD_ENV'
const buildEnv = craEnv.get('BUILD_ENV');
// get all
const envs = craEnv.get();

types

// add to global.d.ts OR nx-env.d.ts
/// <reference types="@jswork/env-manager/dist/@types" />

license

Code released under the MIT license.

Package Sidebar

Install

npm i @jswork/env-manager

Homepage

js.work

Weekly Downloads

1

Version

1.0.14

License

MIT

Unpacked Size

11 kB

Total Files

7

Last publish

Collaborators

  • afeiship