Node tips¶
Automatically initialize node environment with .nvm if something is found
# File ~/.zshrc
test -f ./.nvmrc && nvm use
Use Node 14.x (aka Gallium) in a project.
echo lts/fermium > .nvmrc
Use Node 16.x (aka Gallium) in a project.
echo lts/gallium > .nvmrc
See Node codenames
Pinning versions¶
You can pin Node and NPM to a specific version.
Add to package.json
"engines": {
"node": "^16",
"npm": "^8"
},
Create an .npmrc file.
echo "engine-strict=true" > .npmrc
See
Linters¶
Install eslint and prettier
yarn add -D eslint prettier eslint-config-google eslint-config-prettier
Add configuration file .eslintrc.js
module.exports = {
extends: ["google", "eslint:recommended", "prettier"],
parserOptions: {
ecmaVersion: 2017,
},
env: {
es6: true,
node: true,
},
rules: {
'require-jsdoc': 'off',
},
};
Add a configuration file for prettier: .prettierrc.json:
{
"singleQuote": true
}
Install lint-staged and husky:
npx mrm@2 lint-staged
It installs dependencies and creates necessary config files.