66 строки
1.7 KiB
JavaScript
66 строки
1.7 KiB
JavaScript
const { FlatCompat } = require("@eslint/eslintrc");
|
|
const js = require("@eslint/js");
|
|
const rnx = require("@rnx-kit/eslint-plugin");
|
|
const wdio = require("eslint-plugin-wdio");
|
|
|
|
const compat = new FlatCompat({
|
|
baseDirectory: __dirname,
|
|
recommendedConfig: js.configs.recommended,
|
|
});
|
|
|
|
module.exports = [
|
|
...compat.extends("plugin:@microsoft/sdl/required"),
|
|
wdio.configs["flat/recommended"],
|
|
...rnx.configs.strict,
|
|
{
|
|
ignores: ["!.yarn"],
|
|
plugins: {
|
|
local: require("./scripts/eslint/plugin"),
|
|
},
|
|
rules: {
|
|
"local/no-process-exit": "error",
|
|
"no-restricted-exports": [
|
|
"error",
|
|
{
|
|
restrictDefaultExports: {
|
|
direct: true,
|
|
named: true,
|
|
defaultFrom: true,
|
|
namedFrom: true,
|
|
namespaceFrom: true,
|
|
},
|
|
},
|
|
],
|
|
},
|
|
},
|
|
{
|
|
files: [
|
|
"scripts/internal/generate-manifest-docs.mjs",
|
|
"scripts/internal/generate-manifest.mjs",
|
|
"scripts/internal/generate-schema.mjs",
|
|
"scripts/internal/pack.mjs",
|
|
"scripts/internal/set-react-version.mjs",
|
|
"scripts/internal/test.mjs",
|
|
"scripts/schema.mjs",
|
|
"scripts/testing/test-apple.mjs",
|
|
"scripts/testing/test-e2e.mjs",
|
|
"scripts/testing/test-matrix.mjs",
|
|
"scripts/utils/colors.mjs",
|
|
],
|
|
rules: {
|
|
"no-restricted-imports": [
|
|
"error",
|
|
{
|
|
patterns: [
|
|
{
|
|
group: ["[a-z]*", "!../**", "!./**", "!node:*", "!node:*/**"],
|
|
message:
|
|
"External dependencies are not allowed in this file because it needs to be runnable before install.",
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
},
|
|
];
|