.eslintrc.js

Summary

Maintainability
A
0 mins
Test Coverage
const path = require("path");

module.exports = {
  root: true,
  plugins: ["prettier", "@babel/development", "import", "jest"],
  // replace it by `@babel/internal` when `@babel/eslint-config-internal` is published
  extends: path.resolve(__dirname, "eslint/babel-eslint-config-internal"),
  rules: {
    "prettier/prettier": "error",
    // TODO: remove after babel-eslint-config-internal is fully integrated into this repository.
    "max-len": "off",
  },
  env: {
    node: true,
  },
  overrides: [
    {
      files: [
        "packages/*/src/**/*.js",
        "codemods/*/src/**/*.js",
        "eslint/*/src/**/*.js",
      ],
      rules: {
        "@babel/development/no-undefined-identifier": "error",
        "@babel/development/no-deprecated-clone": "error",
        "import/no-extraneous-dependencies": "error",
        "guard-for-in": "error",
      },
    },
    {
      files: [
        "packages/*/test/**/*.js",
        "codemods/*/test/**/*.js",
        "eslint/*/test/**/*.js",
        "packages/babel-helper-transform-fixture-test-runner/src/helpers.js",
        "test/**/*.js",
      ],
      env: {
        jest: true,
      },
      extends: "plugin:jest/recommended",
      rules: {
        "jest/expect-expect": "off",
        "jest/no-identical-title": "off",
        "jest/no-standalone-expect": "off",
        "jest/no-test-callback": "off",
        "jest/valid-describe": "off"
      }
    },
    {
      files: ["packages/babel-plugin-*/src/index.js"],
      excludedFiles: ["packages/babel-plugin-transform-regenerator/**/*.js"],
      rules: {
        "@babel/development/plugin-name": "error",
        eqeqeq: ["error", "always", { null: "ignore" }],
      },
    },
  ],
};