DonBubbles

joined 2 years ago
 

Since Node.js v20.6 instead of using the popular dotenv package to read your .env file and make its values available under process.env, you can now pass --env-file .env to node to achieve the same, without a dependency.

Find out more...

Here is an example of the changes needed to upgrade:

config.ts config.ts diff

package.json package.json diff

Tipp: If you deploy your app as a Docker container, don't forget to add .env to your .dockerignore file, as typically you will explicitly set your environment variables in your deployment and don't want your .env file to interfere with that.

 

Very happy that with the new --experimental-default-type module in Node.js v21 I can write my little helper commands, that I run directly in the terminal using --eval/-e, in ESM syntax now. E.g. to generate a hex JWT secret:

node --experimental-default-type module -e "import crypto from 'node:crypto'; console.log(crypto.randomBytes(32).toString('hex'));"

Find out more...