Created
March 7, 2024 22:07
-
-
Save davlgd/79caad1d7195943143390555e419faa8 to your computer and use it in GitHub Desktop.
Node.js 21.7.0 features demo
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This is a quick Node.js 21.7.0 new features demo | |
// Update Node.js to 21.7.0 to run this code | |
// You can use nvm or Volta to sideload it | |
// Run this file with: node index.js | |
const { styleText } = require('node:util'); | |
const { parseEnv } = require('node:util'); | |
const { loadEnvFile } = require('node:process'); | |
const crypto = require('node:crypto'); | |
const fs = require('node:fs'); | |
let message = styleText('bold', 'Hello, world!'); | |
console.log(message); | |
message = styleText('italic', 'Hello, world!'); | |
console.log(message); | |
message = styleText('underline', 'Hello, world!'); | |
console.log(message); | |
message = | |
styleText('bold', | |
styleText('italic', | |
styleText('underline', 'Hello, world!'))); | |
console.log(message); | |
console.log(); | |
message = styleText('blue', 'Hello, world!'); | |
console.log(message); | |
message = styleText('red', 'Hello, world!'); | |
console.log(message); | |
message = styleText('green', 'Hello, world!'); | |
console.log(message); | |
message = styleText('yellow', styleText('blink', 'Hello, world!')); | |
console.log(message); | |
const fileName = 'lorem.txt.demo'; | |
const envName = '.env.demo'; | |
const shaType = 'sha512'; | |
const enVars = `NODE_ENV=production | |
HOST=0.0.0.0 | |
PORT=3000`; | |
const loremContent = `Lorem ipsum dolor sit amet consetetur sadipscing elitr sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat sed diam voluptua at vero eos et accusam et justo duo dolores et ea rebum stet clita kasd gubergren no sea takimata sanctus est lorem ipsum dolor sit amet. | |
Minim diam at ipsum tempor. Augue feugait luptatum in lorem tincidunt sed eros elitr aliquip suscipit. Diam molestie sanctus ut. Sadipscing iriure dolor rebum et justo diam nonumy dolore ut sit ipsum ut lorem. No nihil eu lorem sea. | |
Erat no euismod diam elitr diam erat velit. Diam kasd ipsum sit est laoreet diam commodo laoreet exerci congue hendrerit in vel et takimata accusam est. Elitr sanctus volutpat id at clita kasd et ut sit te et gubergren sadipscing eos takimata sadipscing.`; | |
fs.writeFileSync(envName, enVars); | |
fs.writeFileSync(fileName, loremContent); | |
const loremFile = fs.readFileSync(fileName) | |
const fileHash = crypto.hash(shaType, loremFile.toString()); | |
console.log(); | |
console.log(`${fileName} (${shaType}):`); | |
console.log(`${fileHash}`); | |
loadEnvFile(envName); | |
console.log(); | |
console.log('Environment variables loaded from .env file:'); | |
console.log(process.env.NODE_ENV); | |
console.log(process.env.HOST); | |
console.log(process.env.PORT); | |
console.log(); | |
console.log('Raw env vars:'); | |
console.log(enVars); | |
console.log(); | |
console.log('Parsed env vars:'); | |
console.log(parseEnv(enVars)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment