JSPM

  • Created
  • Published
  • Downloads 8556
  • Score
    100M100P100Q128408F
  • License Apache-2.0

ESLint and Prettier configuration for Netlify Node.js projects

Package Exports

  • @netlify/eslint-config-node

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@netlify/eslint-config-node) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Build Node

Linting and formatting configuration shared by Netlify Node.js repositories:

How to add to a new Node.js repository

If you're creating a new repository, you can use the following GitHub template. Otherwise, please follow those steps:

  • npm install -D @netlify/eslint-config-node
  • Add the following .eslintrc.js to the root of the project. Individual rules and overrides can be tweaked for the specific project.
const { overrides } = require('@netlify/eslint-config-node')

module.exports = {
  extends: '@netlify/eslint-config-node',
  rules: {},
  overrides: [...overrides],
}
  • Add the following .prettierrc.json to the root of the project:
"@netlify/eslint-config-node/.prettierrc.json"
  • Copy the .editorconfig,.gitattributes and ./scripts/run_on_error.js files relativity to the root of the project.
  • Add the following properties to the package.json. Please replace the scriptsArgs globbing expressions to match the files where the source JavaScript/Markdown/HTML/JSON/YAML files are located. npm run format should also be run during npm test and npm run format:ci during CI (example).
{
  "scripts": {
    "format": "run-s format:check-fix:*",
    "format:ci": "run-s format:check:*",
    "format:check-fix:lint": "./scripts/run_on_error.js format:check:lint format:fix:lint",
    "format:check:lint": "cross-env-shell eslint $npm_package_scriptsArgs_eslint",
    "format:fix:lint": "cross-env-shell eslint --fix $npm_package_scriptsArgs_eslint",
    "format:check-fix:prettier": "./scripts/run_on_error.js format:check:prettier format:fix:prettier",
    "format:check:prettier": "cross-env-shell prettier --check $npm_package_scriptsArgs_prettier",
    "format:fix:prettier": "cross-env-shell prettier --write $npm_package_scriptsArgs_prettier"
  },
  "scriptsArgs": {
    "eslint": "--ignore-path .gitignore --cache --format=codeframe --max-warnings=0 \"{src,scripts,site,tests,.github}/**/*.{js,md,html}\" \"*.{js,md,html}\" \".*.{js,md,html}\"",
    "prettier": "--ignore-path .gitignore --loglevel=warn \"{src,scripts,site,tests,.github}/**/*.{js,md,yml,json,html}\" \"*.{js,yml,json,html}\" \".*.{js,yml,json,html}\" \"!package-lock.json\""
  },
  "husky": {
    "hooks": {
      "pre-push": "npm run format"
    }
  }
}
  • Add .eslintcache to the .gitignore