env2config
is a handy npm package that reads environment variables from your project's .env
file and generates a JavaScript configuration file (Typescript support soon!). This helps with better autocomplete and type safety when working with environment variables in your Node.js project.
You can use the handy npx command. No need to install any dependancy 😁
To generate the configuration file, simply run the following command in your project's root directory:
npx env2config
This will create a env.config.js file inside src/config
. The generated file will export an object containing all the key-value pairs from your .env file, allowing you to import and use with autocomplete.
// env.config.js
export const envConfig = {
NODE_ENV: process.env.NODE_ENV,
PORT: process.env.PORT,
DATABASE_URL: process.env.DATABASE_URL,
};
module.exports = envConfig;
You can then import this envConfig
object in your application and use it like any other module:
import { envConfig } from "./config/env.config.js";
console.log(`Running in ${envConfig.NODE_ENV} environment`);
console.log(`Listening on port ${envConfig.PORT}`);
By default, env2config looks for a .env file in the root directory. If your .env file has a different name or is located elsewhere, you can specify its path using the --env-file option:
npx env2config --env-file=/path/to/my/.env.prod
You can also customize the output file name and location using the --output option:
npx env2config --output=src/config/env.config.js
You can choose to exclude certain entries using --exclude-prefixes option:
npx env2config --exclude-prefixes="['SECRET_']"
Contributions are welcome! Please open an issue or submit a pull request on the GitHub repository.
This project is licensed under the MIT License.