A TypeScript utility package for managing environment variables with both programmatic API and CLI interface.
npm install -g update-env-utils
npm install update-env-utils
After global installation, you can use the update-env
command:
update-env set API_KEY "your-api-key-here"
update-env set DATABASE_URL "postgresql://localhost:5432/mydb"
update-env get API_KEY
update-env list
update-env delete API_KEY
update-env set API_KEY "value" --file .env.production
update-env list --file .env.development
import EnvUpdater from 'update-env-utils';
const envUpdater = new EnvUpdater('.env');
// Set a variable
envUpdater.updateVar('API_KEY', 'your-api-key');
// Get a variable
const apiKey = envUpdater.getVar('API_KEY');
// List all variables
envUpdater.listVars();
// Delete a variable
envUpdater.deleteVar('API_KEY');
import EnvUpdater from 'update-env-utils';
const prodEnv = new EnvUpdater('.env.production');
prodEnv.updateVar('NODE_ENV', 'production');
const devEnv = new EnvUpdater('.env.development');
devEnv.updateVar('NODE_ENV', 'development');
new EnvUpdater(envFilePath?: string)
- Creates a new instance with optional custom .env file path (defaults to '.env')
readEnvFile(): Record<string, string>
- Reads and parses the environment filewriteEnvFile(envVars: Record<string, string>): void
- Writes environment variables to fileupdateVar(key: string, value: string): void
- Updates or creates an environment variablegetVar(key: string): string | undefined
- Gets the value of an environment variablelistVars(): void
- Lists all environment variables to consoledeleteVar(key: string): void
- Deletes an environment variable
# Clone the repository
git clone <repository-url>
cd update-env
# Install dependencies
npm install
# Build the project
npm run build
# Watch for changes during development
npm run dev
npm run build
- Compile TypeScript to JavaScriptnpm run dev
- Watch mode for developmentnpm run clean
- Remove dist directorynpm run start
- Run the compiled main filenpm test
- Run tests (placeholder)
- Create an npm account at https://www.npmjs.com/
- Login to npm:
npm login
# Build the project
npm run build
# Publish (this will automatically run prepublishOnly script)
npm publish
# Or use the version bump scripts:
npm run publish:patch # 1.0.0 -> 1.0.1
npm run publish:minor # 1.0.0 -> 1.1.0
npm run publish:major # 1.0.0 -> 2.0.0
- Update version in package.json
- Update changelog/release notes
- Test the CLI commands locally
- Run
npm run build
successfully - Verify the
dist/
directory contains compiled files - Test installation locally:
npm pack
andnpm install -g ./update-env-utils-1.0.0.tgz
update-env/
├── src/
│ └── main.ts # Main TypeScript source file
├── bin/
│ └── cli.js # CLI executable
├── dist/ # Compiled JavaScript (generated)
├── package.json # Package configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This file
MIT
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request