# Base Node.js configuration

extends: "./javascript.js"

plugins:
  - node

env:
  node: true

rules:
  # See: https://github.com/mysticatea/eslint-plugin-node#-rules

  # Possible errors

  node/handle-callback-err: [2, "^(err|error)$"]
  node/no-callback-literal: 2
  node/no-exports-assign: 2
  node/no-extraneous-import: 2
  node/no-extraneous-require: 2
  node/no-missing-import: 2
  node/no-missing-require: 2
  node/no-new-require: 2
  node/no-path-concat: 2
  node/no-process-exit: 2
  node/no-unpublished-bin: 0      # We tend not to publish our work
  node/no-unpublished-import: 0   # We tend not to publish our work
  node/no-unpublished-require: 0  # We tend not to publish our work
  node/no-unsupported-features/es-builtins: 0
  node/no-unsupported-features/es-syntax: 0
  node/no-unsupported-features/node-builtins: 0
  node/process-exit-as-throw: 2
  node/shebang: 0

  # Best practices

  node/no-deprecated-api: 0

  # Stylistic issues

  node/callback-return: 2
  node/exports-style: 0
  node/file-extension-in-import: 0
  node/global-require: 0
  node/no-mixed-requires: 2
  node/no-process-env: 0
  node/no-restricted-import: 0
  node/no-restricted-require: 0
  node/no-sync: 2
  node/prefer-global/buffer: 2
  node/prefer-global/console: 2
  node/prefer-global/process: 2
  node/prefer-global/text-decoder: 2
  node/prefer-global/text-encoder: 2
  node/prefer-global/url-search-params: 2
  node/prefer-global/url: 2
  node/prefer-promises/dns: 0
  node/prefer-promises/fs: 0
