/** * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * * @format */ const path = require("path"); module.exports = { root: true, ignorePatterns: ["dist/**", "tests/generated/**"], extends: ["eslint:recommended", "plugin:prettier/recommended"], plugins: ["prettier"], rules: { "no-var": "error", "prefer-arrow-callback": "error", "prefer-const": "error", "prefer-object-spread": "error", "prefer-spread": "error", "require-await": "error", }, env: { commonjs: true, es2018: true, }, overrides: [ { files: ["**/*.js"], parser: "@babel/eslint-parser", parserOptions: { babelOptions: { configFile: path.join(__dirname, ".babelrc.js"), }, }, }, { files: ["**/*.ts"], extends: ["plugin:@typescript-eslint/recommended"], parser: "@typescript-eslint/parser", parserOptions: { project: path.join(__dirname, "tsconfig.json"), }, plugins: ["@typescript-eslint"], rules: { "@typescript-eslint/no-var-requires": "off", }, }, { files: ["**/.eslintrc.js", "**/just.config.js"], env: { node: true, }, }, { files: ["jest.*", "tests/**"], env: { node: true, }, extends: ["plugin:jest/recommended"], globals: { getMeasureCounter: "writable", getMeasureCounterMax: "writable", getMeasureCounterMin: "writable", Yoga: "writable", YGBENCHMARK: "writable", }, }, ], };