@boehringer-ingelheim/eslint-config 9.4.0 → 9.5.0-typescript-migration.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_rolldown/runtime.cjs +23 -0
- package/dist/configs/base.cjs +84 -0
- package/dist/configs/base.mjs +80 -0
- package/dist/configs/base.mjs.map +1 -0
- package/dist/configs/experimental-naming-convention.cjs +69 -0
- package/dist/configs/experimental-naming-convention.mjs +71 -0
- package/dist/configs/experimental-naming-convention.mjs.map +1 -0
- package/dist/configs/local.cjs +13 -0
- package/dist/configs/local.mjs +13 -0
- package/dist/configs/local.mjs.map +1 -0
- package/dist/configs/nextjs.cjs +58 -0
- package/dist/configs/nextjs.mjs +58 -0
- package/dist/configs/nextjs.mjs.map +1 -0
- package/dist/configs/playwright.cjs +29 -0
- package/dist/configs/playwright.mjs +29 -0
- package/dist/configs/playwright.mjs.map +1 -0
- package/dist/configs/prettier-disable.cjs +14 -0
- package/dist/configs/prettier-disable.mjs +14 -0
- package/dist/configs/prettier-disable.mjs.map +1 -0
- package/dist/configs/react.cjs +76 -0
- package/dist/configs/react.mjs +72 -0
- package/dist/configs/react.mjs.map +1 -0
- package/dist/configs/strict.cjs +19 -0
- package/dist/configs/strict.mjs +19 -0
- package/dist/configs/strict.mjs.map +1 -0
- package/dist/lib/eslint-plugin-perfectionist.cjs +83 -0
- package/dist/lib/eslint-plugin-perfectionist.mjs +82 -0
- package/dist/lib/eslint-plugin-perfectionist.mjs.map +1 -0
- package/dist/lib/include-ignore-file.cjs +21 -0
- package/dist/lib/include-ignore-file.d.cts +15 -0
- package/dist/lib/include-ignore-file.d.cts.map +1 -0
- package/dist/lib/include-ignore-file.d.mts +15 -0
- package/dist/lib/include-ignore-file.d.mts.map +1 -0
- package/dist/lib/include-ignore-file.mjs +21 -0
- package/dist/lib/include-ignore-file.mjs.map +1 -0
- package/dist/lib/nextjs.utils.cjs +23 -0
- package/dist/lib/nextjs.utils.mjs +25 -0
- package/dist/lib/nextjs.utils.mjs.map +1 -0
- package/dist/main.cjs +32 -0
- package/dist/main.d.cts +31 -0
- package/dist/main.d.cts.map +1 -0
- package/dist/main.d.mts +31 -0
- package/dist/main.d.mts.map +1 -0
- package/dist/main.mjs +28 -0
- package/dist/main.mjs.map +1 -0
- package/dist/node_modules/@eslint/core/dist/esm/types.d.cts +1103 -0
- package/dist/node_modules/@eslint/core/dist/esm/types.d.cts.map +1 -0
- package/dist/node_modules/@eslint/core/dist/esm/types.d.mts +1103 -0
- package/dist/node_modules/@eslint/core/dist/esm/types.d.mts.map +1 -0
- package/dist/node_modules/@types/json-schema/index.d.cts +201 -0
- package/dist/node_modules/@types/json-schema/index.d.cts.map +1 -0
- package/dist/node_modules/@types/json-schema/index.d.mts +201 -0
- package/dist/node_modules/@types/json-schema/index.d.mts.map +1 -0
- package/package.json +31 -10
- package/configs/base.js +0 -145
- package/configs/experimental-naming-convention.js +0 -68
- package/configs/local.js +0 -16
- package/configs/nextjs.js +0 -137
- package/configs/playwright.js +0 -26
- package/configs/prettier-disable.js +0 -10
- package/configs/react.js +0 -110
- package/configs/strict.js +0 -22
- package/index.d.ts +0 -24
- package/index.js +0 -26
- package/lib/eslint-plugin-perfectionist.js +0 -87
- package/lib/include-ignore-file.js +0 -28
- package/lib/nextjs.utils.js +0 -24
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __copyProps = (to, from, except, desc) => {
|
|
9
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
10
|
+
key = keys[i];
|
|
11
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
12
|
+
get: ((k) => from[k]).bind(null, key),
|
|
13
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
19
|
+
value: mod,
|
|
20
|
+
enumerable: true
|
|
21
|
+
}) : target, mod));
|
|
22
|
+
//#endregion
|
|
23
|
+
exports.__toESM = __toESM;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_eslint_plugin_perfectionist = require("../lib/eslint-plugin-perfectionist.cjs");
|
|
3
|
+
let _eslint_js = require("@eslint/js");
|
|
4
|
+
_eslint_js = require_runtime.__toESM(_eslint_js, 1);
|
|
5
|
+
let eslint_plugin_import = require("eslint-plugin-import");
|
|
6
|
+
eslint_plugin_import = require_runtime.__toESM(eslint_plugin_import, 1);
|
|
7
|
+
let eslint_plugin_perfectionist = require("eslint-plugin-perfectionist");
|
|
8
|
+
eslint_plugin_perfectionist = require_runtime.__toESM(eslint_plugin_perfectionist, 1);
|
|
9
|
+
let eslint_plugin_sonarjs = require("eslint-plugin-sonarjs");
|
|
10
|
+
eslint_plugin_sonarjs = require_runtime.__toESM(eslint_plugin_sonarjs, 1);
|
|
11
|
+
let eslint_config = require("eslint/config");
|
|
12
|
+
let typescript_eslint = require("typescript-eslint");
|
|
13
|
+
typescript_eslint = require_runtime.__toESM(typescript_eslint, 1);
|
|
14
|
+
//#region src/configs/base.ts
|
|
15
|
+
var base_default = (0, eslint_config.defineConfig)(_eslint_js.configs.recommended, typescript_eslint.configs.recommendedTypeChecked, typescript_eslint.configs.stylisticTypeChecked, eslint_plugin_import.flatConfigs.recommended, eslint_plugin_import.flatConfigs.typescript, eslint_plugin_perfectionist.configs["recommended-natural"], eslint_plugin_sonarjs.configs.recommended, {
|
|
16
|
+
languageOptions: { parserOptions: { projectService: true } },
|
|
17
|
+
linterOptions: { reportUnusedDisableDirectives: "error" },
|
|
18
|
+
rules: {
|
|
19
|
+
"@typescript-eslint/adjacent-overload-signatures": "off",
|
|
20
|
+
"@typescript-eslint/no-floating-promises": ["error", { ignoreVoid: true }],
|
|
21
|
+
"@typescript-eslint/no-misused-promises": ["error", { checksVoidReturn: false }],
|
|
22
|
+
"@typescript-eslint/no-unused-vars": ["error", {
|
|
23
|
+
argsIgnorePattern: "^_",
|
|
24
|
+
caughtErrorsIgnorePattern: "^_",
|
|
25
|
+
varsIgnorePattern: "^_"
|
|
26
|
+
}],
|
|
27
|
+
"@typescript-eslint/sort-type-constituents": "off",
|
|
28
|
+
"@typescript-eslint/dot-notation": ["error", { allowPattern: "^[a-z]+(_[a-z]+)+$" }],
|
|
29
|
+
"arrow-body-style": ["error", "as-needed"],
|
|
30
|
+
camelcase: "warn",
|
|
31
|
+
curly: "error",
|
|
32
|
+
"default-case": "error",
|
|
33
|
+
eqeqeq: "error",
|
|
34
|
+
"logical-assignment-operators": ["error", "never"],
|
|
35
|
+
"no-console": ["warn", { allow: ["warn", "error"] }],
|
|
36
|
+
"no-else-return": ["error", { allowElseIf: false }],
|
|
37
|
+
"no-lonely-if": "error",
|
|
38
|
+
"no-negated-condition": "error",
|
|
39
|
+
"no-nested-ternary": "error",
|
|
40
|
+
"no-plusplus": ["error", { allowForLoopAfterthoughts: true }],
|
|
41
|
+
"no-unneeded-ternary": "error",
|
|
42
|
+
"no-useless-concat": "error",
|
|
43
|
+
"operator-assignment": ["error", "never"],
|
|
44
|
+
"prefer-template": "error",
|
|
45
|
+
"sort-imports": "off",
|
|
46
|
+
"sort-keys": "off",
|
|
47
|
+
"import/no-cycle": "error",
|
|
48
|
+
/**
|
|
49
|
+
* The rule is disabled for now as it is not compatible with flat-configs, without adding an artifical `.eslintrc` file.
|
|
50
|
+
*
|
|
51
|
+
* @see: https://github.com/import-js/eslint-plugin-import/issues/3079#issuecomment-2557191925
|
|
52
|
+
* @todo Enable rule, as soon as fix is available: https://github.com/Boehringer-Ingelheim/eslint-config/blob/9f028ed43bb5db11082a2982f249ddfe7eaf5c13/configs/base.js#L77
|
|
53
|
+
*/
|
|
54
|
+
"import/no-unused-modules": "off",
|
|
55
|
+
"import/order": "off",
|
|
56
|
+
"import/prefer-default-export": "off",
|
|
57
|
+
"import/default": "off",
|
|
58
|
+
"import/named": "off",
|
|
59
|
+
"import/namespace": "off",
|
|
60
|
+
"import/no-named-as-default-member": "off",
|
|
61
|
+
"import/no-unresolved": "off",
|
|
62
|
+
"perfectionist/sort-classes": ["error", { groups: require_eslint_plugin_perfectionist.SORT_CLASSES_GROUPS }],
|
|
63
|
+
"perfectionist/sort-imports": ["error", {
|
|
64
|
+
groups: require_eslint_plugin_perfectionist.SORT_IMPORTS_GROUPS,
|
|
65
|
+
newlinesBetween: 0
|
|
66
|
+
}],
|
|
67
|
+
"perfectionist/sort-intersection-types": ["error", { groups: require_eslint_plugin_perfectionist.SORT_INTERSECTION_TYPES_GROUPS }],
|
|
68
|
+
"perfectionist/sort-named-imports": ["error", { ignoreAlias: true }],
|
|
69
|
+
"perfectionist/sort-objects": ["error", { partitionByComment: true }]
|
|
70
|
+
},
|
|
71
|
+
settings: {
|
|
72
|
+
"import/resolver": { typescript: true },
|
|
73
|
+
perfectionist: { ...require_eslint_plugin_perfectionist.PERFECTIONIST_SETTINGS }
|
|
74
|
+
}
|
|
75
|
+
}, {
|
|
76
|
+
files: [
|
|
77
|
+
"**/*.d.ts",
|
|
78
|
+
"**/*.{spec,test}.{js,cjs,mjs,jsx,ts,cts,mts,tsx}",
|
|
79
|
+
"./*.{js,cjs,mjs,ts,cts,mts}"
|
|
80
|
+
],
|
|
81
|
+
rules: { "import/no-unused-modules": "off" }
|
|
82
|
+
});
|
|
83
|
+
//#endregion
|
|
84
|
+
exports.default = base_default;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { PERFECTIONIST_SETTINGS, SORT_CLASSES_GROUPS, SORT_IMPORTS_GROUPS, SORT_INTERSECTION_TYPES_GROUPS } from "../lib/eslint-plugin-perfectionist.mjs";
|
|
2
|
+
import * as eslint from "@eslint/js";
|
|
3
|
+
import * as importPlugin from "eslint-plugin-import";
|
|
4
|
+
import * as perfectionist from "eslint-plugin-perfectionist";
|
|
5
|
+
import * as sonarjs from "eslint-plugin-sonarjs";
|
|
6
|
+
import { defineConfig } from "eslint/config";
|
|
7
|
+
import * as tseslint from "typescript-eslint";
|
|
8
|
+
//#region src/configs/base.ts
|
|
9
|
+
var base_default = defineConfig(eslint.configs.recommended, tseslint.configs.recommendedTypeChecked, tseslint.configs.stylisticTypeChecked, importPlugin.flatConfigs.recommended, importPlugin.flatConfigs.typescript, perfectionist.configs["recommended-natural"], sonarjs.configs.recommended, {
|
|
10
|
+
languageOptions: { parserOptions: { projectService: true } },
|
|
11
|
+
linterOptions: { reportUnusedDisableDirectives: "error" },
|
|
12
|
+
rules: {
|
|
13
|
+
"@typescript-eslint/adjacent-overload-signatures": "off",
|
|
14
|
+
"@typescript-eslint/no-floating-promises": ["error", { ignoreVoid: true }],
|
|
15
|
+
"@typescript-eslint/no-misused-promises": ["error", { checksVoidReturn: false }],
|
|
16
|
+
"@typescript-eslint/no-unused-vars": ["error", {
|
|
17
|
+
argsIgnorePattern: "^_",
|
|
18
|
+
caughtErrorsIgnorePattern: "^_",
|
|
19
|
+
varsIgnorePattern: "^_"
|
|
20
|
+
}],
|
|
21
|
+
"@typescript-eslint/sort-type-constituents": "off",
|
|
22
|
+
"@typescript-eslint/dot-notation": ["error", { allowPattern: "^[a-z]+(_[a-z]+)+$" }],
|
|
23
|
+
"arrow-body-style": ["error", "as-needed"],
|
|
24
|
+
camelcase: "warn",
|
|
25
|
+
curly: "error",
|
|
26
|
+
"default-case": "error",
|
|
27
|
+
eqeqeq: "error",
|
|
28
|
+
"logical-assignment-operators": ["error", "never"],
|
|
29
|
+
"no-console": ["warn", { allow: ["warn", "error"] }],
|
|
30
|
+
"no-else-return": ["error", { allowElseIf: false }],
|
|
31
|
+
"no-lonely-if": "error",
|
|
32
|
+
"no-negated-condition": "error",
|
|
33
|
+
"no-nested-ternary": "error",
|
|
34
|
+
"no-plusplus": ["error", { allowForLoopAfterthoughts: true }],
|
|
35
|
+
"no-unneeded-ternary": "error",
|
|
36
|
+
"no-useless-concat": "error",
|
|
37
|
+
"operator-assignment": ["error", "never"],
|
|
38
|
+
"prefer-template": "error",
|
|
39
|
+
"sort-imports": "off",
|
|
40
|
+
"sort-keys": "off",
|
|
41
|
+
"import/no-cycle": "error",
|
|
42
|
+
/**
|
|
43
|
+
* The rule is disabled for now as it is not compatible with flat-configs, without adding an artifical `.eslintrc` file.
|
|
44
|
+
*
|
|
45
|
+
* @see: https://github.com/import-js/eslint-plugin-import/issues/3079#issuecomment-2557191925
|
|
46
|
+
* @todo Enable rule, as soon as fix is available: https://github.com/Boehringer-Ingelheim/eslint-config/blob/9f028ed43bb5db11082a2982f249ddfe7eaf5c13/configs/base.js#L77
|
|
47
|
+
*/
|
|
48
|
+
"import/no-unused-modules": "off",
|
|
49
|
+
"import/order": "off",
|
|
50
|
+
"import/prefer-default-export": "off",
|
|
51
|
+
"import/default": "off",
|
|
52
|
+
"import/named": "off",
|
|
53
|
+
"import/namespace": "off",
|
|
54
|
+
"import/no-named-as-default-member": "off",
|
|
55
|
+
"import/no-unresolved": "off",
|
|
56
|
+
"perfectionist/sort-classes": ["error", { groups: SORT_CLASSES_GROUPS }],
|
|
57
|
+
"perfectionist/sort-imports": ["error", {
|
|
58
|
+
groups: SORT_IMPORTS_GROUPS,
|
|
59
|
+
newlinesBetween: 0
|
|
60
|
+
}],
|
|
61
|
+
"perfectionist/sort-intersection-types": ["error", { groups: SORT_INTERSECTION_TYPES_GROUPS }],
|
|
62
|
+
"perfectionist/sort-named-imports": ["error", { ignoreAlias: true }],
|
|
63
|
+
"perfectionist/sort-objects": ["error", { partitionByComment: true }]
|
|
64
|
+
},
|
|
65
|
+
settings: {
|
|
66
|
+
"import/resolver": { typescript: true },
|
|
67
|
+
perfectionist: { ...PERFECTIONIST_SETTINGS }
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
files: [
|
|
71
|
+
"**/*.d.ts",
|
|
72
|
+
"**/*.{spec,test}.{js,cjs,mjs,jsx,ts,cts,mts,tsx}",
|
|
73
|
+
"./*.{js,cjs,mjs,ts,cts,mts}"
|
|
74
|
+
],
|
|
75
|
+
rules: { "import/no-unused-modules": "off" }
|
|
76
|
+
});
|
|
77
|
+
//#endregion
|
|
78
|
+
export { base_default as default };
|
|
79
|
+
|
|
80
|
+
//# sourceMappingURL=base.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.mjs","names":[],"sources":["../../src/configs/base.ts"],"sourcesContent":["import * as eslint from '@eslint/js';\nimport * as importPlugin from 'eslint-plugin-import';\nimport * as perfectionist from 'eslint-plugin-perfectionist';\nimport * as sonarjs from 'eslint-plugin-sonarjs';\nimport { defineConfig } from 'eslint/config';\nimport * as tseslint from 'typescript-eslint';\nimport {\n PERFECTIONIST_SETTINGS,\n SORT_CLASSES_GROUPS,\n SORT_IMPORTS_GROUPS,\n SORT_INTERSECTION_TYPES_GROUPS,\n} from '../lib/eslint-plugin-perfectionist.js';\n\nexport default defineConfig(\n eslint.configs.recommended,\n tseslint.configs.recommendedTypeChecked,\n tseslint.configs.stylisticTypeChecked,\n importPlugin.flatConfigs.recommended,\n importPlugin.flatConfigs.typescript,\n perfectionist.configs['recommended-natural'],\n sonarjs.configs.recommended,\n {\n languageOptions: {\n parserOptions: {\n // find the tsconfig.json nearest each source file\n projectService: true,\n },\n },\n linterOptions: {\n reportUnusedDisableDirectives: 'error',\n },\n rules: {\n // @typescript-eslint: https://github.com/typescript-eslint/typescript-eslint/tree/main/packages/eslint-plugin/docs/rules\n '@typescript-eslint/adjacent-overload-signatures': 'off', // disabled due to conflict with eslint-plugin-perfectionist\n '@typescript-eslint/no-floating-promises': ['error', { ignoreVoid: true }],\n '@typescript-eslint/no-misused-promises': [\n 'error',\n {\n checksVoidReturn: false,\n },\n ],\n '@typescript-eslint/no-unused-vars': [\n 'error',\n {\n argsIgnorePattern: '^_',\n caughtErrorsIgnorePattern: '^_',\n varsIgnorePattern: '^_',\n },\n ],\n '@typescript-eslint/sort-type-constituents': 'off', // disabled due to conflict with eslint-plugin-perfectionist\n\n // eslint: https://github.com/eslint/eslint/tree/main/lib/rules\n '@typescript-eslint/dot-notation': ['error', { allowPattern: '^[a-z]+(_[a-z]+)+$' }],\n 'arrow-body-style': ['error', 'as-needed'],\n camelcase: 'warn',\n curly: 'error',\n 'default-case': 'error',\n eqeqeq: 'error',\n 'logical-assignment-operators': ['error', 'never'],\n 'no-console': ['warn', { allow: ['warn', 'error'] }],\n 'no-else-return': ['error', { allowElseIf: false }],\n 'no-lonely-if': 'error',\n 'no-negated-condition': 'error',\n 'no-nested-ternary': 'error',\n 'no-plusplus': ['error', { allowForLoopAfterthoughts: true }],\n 'no-unneeded-ternary': 'error',\n 'no-useless-concat': 'error',\n 'operator-assignment': ['error', 'never'],\n 'prefer-template': 'error',\n 'sort-imports': 'off', // disabled due to conflict with eslint-plugin-perfectionist\n 'sort-keys': 'off', // disabled due to conflict with eslint-plugin-perfectionist\n\n // eslint-plugin-import: https://github.com/import-js/eslint-plugin-import/tree/main/docs/rules\n 'import/no-cycle': 'error',\n /**\n * The rule is disabled for now as it is not compatible with flat-configs, without adding an artifical `.eslintrc` file.\n *\n * @see: https://github.com/import-js/eslint-plugin-import/issues/3079#issuecomment-2557191925\n * @todo Enable rule, as soon as fix is available: https://github.com/Boehringer-Ingelheim/eslint-config/blob/9f028ed43bb5db11082a2982f249ddfe7eaf5c13/configs/base.js#L77\n */\n 'import/no-unused-modules': 'off',\n 'import/order': 'off', // disabled due to conflict with eslint-plugin-perfectionist\n 'import/prefer-default-export': 'off',\n\n // Deactivated as TypeScript provides the same checks as part of standard type checking: https://typescript-eslint.io/linting/troubleshooting/performance-troubleshooting\n 'import/default': 'off',\n 'import/named': 'off',\n 'import/namespace': 'off',\n 'import/no-named-as-default-member': 'off',\n 'import/no-unresolved': 'off',\n\n // eslint-plugin-perfectionist: https://github.com/azat-io/eslint-plugin-perfectionist\n 'perfectionist/sort-classes': [\n 'error',\n {\n groups: SORT_CLASSES_GROUPS,\n },\n ],\n 'perfectionist/sort-imports': [\n 'error',\n {\n groups: SORT_IMPORTS_GROUPS,\n newlinesBetween: 0, // No newlines are allowed between groups\n },\n ],\n 'perfectionist/sort-intersection-types': [\n 'error',\n {\n groups: SORT_INTERSECTION_TYPES_GROUPS,\n },\n ],\n 'perfectionist/sort-named-imports': [\n 'error',\n {\n ignoreAlias: true,\n },\n ],\n 'perfectionist/sort-objects': [\n 'error',\n {\n partitionByComment: true,\n },\n ],\n },\n settings: {\n 'import/resolver': {\n typescript: true,\n },\n perfectionist: {\n ...PERFECTIONIST_SETTINGS,\n },\n },\n },\n {\n files: [\n '**/*.d.ts', // TypeScript declaration files\n '**/*.{spec,test}.{js,cjs,mjs,jsx,ts,cts,mts,tsx}', // Usually test files\n './*.{js,cjs,mjs,ts,cts,mts}', // Mostly configuration files on root level\n ],\n rules: {\n 'import/no-unused-modules': 'off',\n },\n },\n);\n"],"mappings":";;;;;;;;AAaA,IAAA,eAAe,aACb,OAAO,QAAQ,aACf,SAAS,QAAQ,wBACjB,SAAS,QAAQ,sBACjB,aAAa,YAAY,aACzB,aAAa,YAAY,YACzB,cAAc,QAAQ,wBACtB,QAAQ,QAAQ,aAChB;CACE,iBAAiB,EACf,eAAe,EAEb,gBAAgB,KAClB,EACF;CACA,eAAe,EACb,+BAA+B,QACjC;CACA,OAAO;EAEL,mDAAmD;EACnD,2CAA2C,CAAC,SAAS,EAAE,YAAY,KAAK,CAAC;EACzE,0CAA0C,CACxC,SACA,EACE,kBAAkB,MACpB,CACF;EACA,qCAAqC,CACnC,SACA;GACE,mBAAmB;GACnB,2BAA2B;GAC3B,mBAAmB;EACrB,CACF;EACA,6CAA6C;EAG7C,mCAAmC,CAAC,SAAS,EAAE,cAAc,qBAAqB,CAAC;EACnF,oBAAoB,CAAC,SAAS,WAAW;EACzC,WAAW;EACX,OAAO;EACP,gBAAgB;EAChB,QAAQ;EACR,gCAAgC,CAAC,SAAS,OAAO;EACjD,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,OAAO,EAAE,CAAC;EACnD,kBAAkB,CAAC,SAAS,EAAE,aAAa,MAAM,CAAC;EAClD,gBAAgB;EAChB,wBAAwB;EACxB,qBAAqB;EACrB,eAAe,CAAC,SAAS,EAAE,2BAA2B,KAAK,CAAC;EAC5D,uBAAuB;EACvB,qBAAqB;EACrB,uBAAuB,CAAC,SAAS,OAAO;EACxC,mBAAmB;EACnB,gBAAgB;EAChB,aAAa;EAGb,mBAAmB;;;;;;;EAOnB,4BAA4B;EAC5B,gBAAgB;EAChB,gCAAgC;EAGhC,kBAAkB;EAClB,gBAAgB;EAChB,oBAAoB;EACpB,qCAAqC;EACrC,wBAAwB;EAGxB,8BAA8B,CAC5B,SACA,EACE,QAAQ,oBACV,CACF;EACA,8BAA8B,CAC5B,SACA;GACE,QAAQ;GACR,iBAAiB;EACnB,CACF;EACA,yCAAyC,CACvC,SACA,EACE,QAAQ,+BACV,CACF;EACA,oCAAoC,CAClC,SACA,EACE,aAAa,KACf,CACF;EACA,8BAA8B,CAC5B,SACA,EACE,oBAAoB,KACtB,CACF;CACF;CACA,UAAU;EACR,mBAAmB,EACjB,YAAY,KACd;EACA,eAAe,EACb,GAAG,uBACL;CACF;AACF,GACA;CACE,OAAO;EACL;EACA;EACA;CACF;CACA,OAAO,EACL,4BAA4B,MAC9B;AACF,CACF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
//#region src/configs/experimental-naming-convention.ts
|
|
3
|
+
var experimental_naming_convention_default = (0, require("eslint/config").defineConfig)({ rules: { "@typescript-eslint/naming-convention": [
|
|
4
|
+
"error",
|
|
5
|
+
{
|
|
6
|
+
custom: {
|
|
7
|
+
match: false,
|
|
8
|
+
regex: "^I[A-Z]"
|
|
9
|
+
},
|
|
10
|
+
format: ["StrictPascalCase"],
|
|
11
|
+
leadingUnderscore: "forbid",
|
|
12
|
+
selector: "interface",
|
|
13
|
+
trailingUnderscore: "forbid"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
custom: {
|
|
17
|
+
match: false,
|
|
18
|
+
regex: "^T[A-Z]"
|
|
19
|
+
},
|
|
20
|
+
format: ["StrictPascalCase"],
|
|
21
|
+
leadingUnderscore: "forbid",
|
|
22
|
+
selector: "typeAlias",
|
|
23
|
+
trailingUnderscore: "forbid"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
format: ["UPPER_CASE"],
|
|
27
|
+
leadingUnderscore: "forbid",
|
|
28
|
+
modifiers: ["global"],
|
|
29
|
+
selector: "variable",
|
|
30
|
+
trailingUnderscore: "forbid",
|
|
31
|
+
types: [
|
|
32
|
+
"boolean",
|
|
33
|
+
"number",
|
|
34
|
+
"string"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
format: ["UPPER_CASE"],
|
|
39
|
+
leadingUnderscore: "forbid",
|
|
40
|
+
modifiers: ["global"],
|
|
41
|
+
selector: "variable",
|
|
42
|
+
suffix: ["S"],
|
|
43
|
+
trailingUnderscore: "forbid",
|
|
44
|
+
types: ["array"]
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
format: ["strictCamelCase"],
|
|
48
|
+
leadingUnderscore: "forbid",
|
|
49
|
+
selector: "variable",
|
|
50
|
+
suffix: ["s"],
|
|
51
|
+
trailingUnderscore: "forbid",
|
|
52
|
+
types: ["array"]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
format: ["StrictPascalCase"],
|
|
56
|
+
leadingUnderscore: "forbid",
|
|
57
|
+
prefix: [
|
|
58
|
+
"is",
|
|
59
|
+
"has",
|
|
60
|
+
"should",
|
|
61
|
+
"can"
|
|
62
|
+
],
|
|
63
|
+
selector: "variable",
|
|
64
|
+
trailingUnderscore: "forbid",
|
|
65
|
+
types: ["boolean"]
|
|
66
|
+
}
|
|
67
|
+
] } });
|
|
68
|
+
//#endregion
|
|
69
|
+
exports.default = experimental_naming_convention_default;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { defineConfig } from "eslint/config";
|
|
2
|
+
//#region src/configs/experimental-naming-convention.ts
|
|
3
|
+
var experimental_naming_convention_default = defineConfig({ rules: { "@typescript-eslint/naming-convention": [
|
|
4
|
+
"error",
|
|
5
|
+
{
|
|
6
|
+
custom: {
|
|
7
|
+
match: false,
|
|
8
|
+
regex: "^I[A-Z]"
|
|
9
|
+
},
|
|
10
|
+
format: ["StrictPascalCase"],
|
|
11
|
+
leadingUnderscore: "forbid",
|
|
12
|
+
selector: "interface",
|
|
13
|
+
trailingUnderscore: "forbid"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
custom: {
|
|
17
|
+
match: false,
|
|
18
|
+
regex: "^T[A-Z]"
|
|
19
|
+
},
|
|
20
|
+
format: ["StrictPascalCase"],
|
|
21
|
+
leadingUnderscore: "forbid",
|
|
22
|
+
selector: "typeAlias",
|
|
23
|
+
trailingUnderscore: "forbid"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
format: ["UPPER_CASE"],
|
|
27
|
+
leadingUnderscore: "forbid",
|
|
28
|
+
modifiers: ["global"],
|
|
29
|
+
selector: "variable",
|
|
30
|
+
trailingUnderscore: "forbid",
|
|
31
|
+
types: [
|
|
32
|
+
"boolean",
|
|
33
|
+
"number",
|
|
34
|
+
"string"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
format: ["UPPER_CASE"],
|
|
39
|
+
leadingUnderscore: "forbid",
|
|
40
|
+
modifiers: ["global"],
|
|
41
|
+
selector: "variable",
|
|
42
|
+
suffix: ["S"],
|
|
43
|
+
trailingUnderscore: "forbid",
|
|
44
|
+
types: ["array"]
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
format: ["strictCamelCase"],
|
|
48
|
+
leadingUnderscore: "forbid",
|
|
49
|
+
selector: "variable",
|
|
50
|
+
suffix: ["s"],
|
|
51
|
+
trailingUnderscore: "forbid",
|
|
52
|
+
types: ["array"]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
format: ["StrictPascalCase"],
|
|
56
|
+
leadingUnderscore: "forbid",
|
|
57
|
+
prefix: [
|
|
58
|
+
"is",
|
|
59
|
+
"has",
|
|
60
|
+
"should",
|
|
61
|
+
"can"
|
|
62
|
+
],
|
|
63
|
+
selector: "variable",
|
|
64
|
+
trailingUnderscore: "forbid",
|
|
65
|
+
types: ["boolean"]
|
|
66
|
+
}
|
|
67
|
+
] } });
|
|
68
|
+
//#endregion
|
|
69
|
+
export { experimental_naming_convention_default as default };
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=experimental-naming-convention.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"experimental-naming-convention.mjs","names":[],"sources":["../../src/configs/experimental-naming-convention.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\n\nexport default defineConfig({\n rules: {\n '@typescript-eslint/naming-convention': [\n 'error',\n {\n // Enforce that interface names do not start with an 'I'\n custom: {\n match: false,\n regex: '^I[A-Z]',\n },\n format: ['StrictPascalCase'],\n leadingUnderscore: 'forbid',\n selector: 'interface',\n trailingUnderscore: 'forbid',\n },\n {\n // Enforce that type alias names do not start with an 'T'\n custom: {\n match: false,\n regex: '^T[A-Z]',\n },\n format: ['StrictPascalCase'],\n leadingUnderscore: 'forbid',\n selector: 'typeAlias',\n trailingUnderscore: 'forbid',\n },\n {\n // Enforce that all top-level variables are in UPPER_CASE\n format: ['UPPER_CASE'],\n leadingUnderscore: 'forbid',\n modifiers: ['global'],\n selector: 'variable',\n trailingUnderscore: 'forbid',\n types: ['boolean', 'number', 'string'],\n },\n {\n // Enforce that all top-level array variables are in UPPER_CASE and are suffixed with a 'S' to indicate plural form\n format: ['UPPER_CASE'],\n leadingUnderscore: 'forbid',\n modifiers: ['global'],\n selector: 'variable',\n suffix: ['S'],\n trailingUnderscore: 'forbid',\n types: ['array'],\n },\n {\n // Enforce that array variables are suffixed with a 's' to indicate plural form\n format: ['strictCamelCase'],\n leadingUnderscore: 'forbid',\n selector: 'variable',\n suffix: ['s'],\n trailingUnderscore: 'forbid',\n types: ['array'],\n },\n {\n // Enforce that boolean variables are prefixed with an allowed verb\n format: ['StrictPascalCase'],\n leadingUnderscore: 'forbid',\n prefix: ['is', 'has', 'should', 'can'],\n selector: 'variable',\n trailingUnderscore: 'forbid',\n types: ['boolean'],\n },\n ],\n },\n});\n"],"mappings":";;AAEA,IAAA,yCAAe,aAAa,EAC1B,OAAO,EACL,wCAAwC;CACtC;CACA;EAEE,QAAQ;GACN,OAAO;GACP,OAAO;EACT;EACA,QAAQ,CAAC,kBAAkB;EAC3B,mBAAmB;EACnB,UAAU;EACV,oBAAoB;CACtB;CACA;EAEE,QAAQ;GACN,OAAO;GACP,OAAO;EACT;EACA,QAAQ,CAAC,kBAAkB;EAC3B,mBAAmB;EACnB,UAAU;EACV,oBAAoB;CACtB;CACA;EAEE,QAAQ,CAAC,YAAY;EACrB,mBAAmB;EACnB,WAAW,CAAC,QAAQ;EACpB,UAAU;EACV,oBAAoB;EACpB,OAAO;GAAC;GAAW;GAAU;EAAQ;CACvC;CACA;EAEE,QAAQ,CAAC,YAAY;EACrB,mBAAmB;EACnB,WAAW,CAAC,QAAQ;EACpB,UAAU;EACV,QAAQ,CAAC,GAAG;EACZ,oBAAoB;EACpB,OAAO,CAAC,OAAO;CACjB;CACA;EAEE,QAAQ,CAAC,iBAAiB;EAC1B,mBAAmB;EACnB,UAAU;EACV,QAAQ,CAAC,GAAG;EACZ,oBAAoB;EACpB,OAAO,CAAC,OAAO;CACjB;CACA;EAEE,QAAQ,CAAC,kBAAkB;EAC3B,mBAAmB;EACnB,QAAQ;GAAC;GAAM;GAAO;GAAU;EAAK;EACrC,UAAU;EACV,oBAAoB;EACpB,OAAO,CAAC,SAAS;CACnB;AACF,EACF,EACF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let eslint_config = require("eslint/config");
|
|
3
|
+
let is_ci = require("is-ci");
|
|
4
|
+
is_ci = require_runtime.__toESM(is_ci, 1);
|
|
5
|
+
//#region src/configs/local.ts
|
|
6
|
+
var local_default = (0, eslint_config.defineConfig)(is_ci.default ? {} : { rules: {
|
|
7
|
+
"import/no-cycle": "off",
|
|
8
|
+
"import/no-deprecated": "off",
|
|
9
|
+
"import/no-named-as-default": "off",
|
|
10
|
+
"import/no-unused-modules": "off"
|
|
11
|
+
} });
|
|
12
|
+
//#endregion
|
|
13
|
+
exports.default = local_default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { defineConfig } from "eslint/config";
|
|
2
|
+
import isCI from "is-ci";
|
|
3
|
+
//#region src/configs/local.ts
|
|
4
|
+
var local_default = defineConfig(isCI ? {} : { rules: {
|
|
5
|
+
"import/no-cycle": "off",
|
|
6
|
+
"import/no-deprecated": "off",
|
|
7
|
+
"import/no-named-as-default": "off",
|
|
8
|
+
"import/no-unused-modules": "off"
|
|
9
|
+
} });
|
|
10
|
+
//#endregion
|
|
11
|
+
export { local_default as default };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=local.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local.mjs","names":[],"sources":["../../src/configs/local.ts"],"sourcesContent":["import { defineConfig } from 'eslint/config';\nimport isCI from 'is-ci';\n\nexport default defineConfig(\n isCI\n ? {}\n : {\n rules: {\n // Only activate in CI, as suggested here: https://typescript-eslint.io/linting/troubleshooting/performance-troubleshooting#eslint-plugin-import\n 'import/no-cycle': 'off',\n 'import/no-deprecated': 'off',\n 'import/no-named-as-default': 'off',\n 'import/no-unused-modules': 'off',\n },\n },\n);\n"],"mappings":";;;AAGA,IAAA,gBAAe,aACb,OACI,CAAC,IACD,EACE,OAAO;CAEL,mBAAmB;CACnB,wBAAwB;CACxB,8BAA8B;CAC9B,4BAA4B;AAC9B,EACF,CACN"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
const require_nextjs_utils = require("../lib/nextjs.utils.cjs");
|
|
3
|
+
const require_react = require("./react.cjs");
|
|
4
|
+
let eslint_config = require("eslint/config");
|
|
5
|
+
let _next_eslint_plugin_next = require("@next/eslint-plugin-next");
|
|
6
|
+
_next_eslint_plugin_next = require_runtime.__toESM(_next_eslint_plugin_next, 1);
|
|
7
|
+
//#region src/configs/nextjs.ts
|
|
8
|
+
var nextjs_default = (0, eslint_config.defineConfig)(...require_react.default, {
|
|
9
|
+
plugins: { "@next/next": _next_eslint_plugin_next },
|
|
10
|
+
rules: {
|
|
11
|
+
..._next_eslint_plugin_next.configs.recommended.rules,
|
|
12
|
+
..._next_eslint_plugin_next.configs["core-web-vitals"].rules
|
|
13
|
+
}
|
|
14
|
+
}, {
|
|
15
|
+
files: [`{app,src/app}/**/{${require_nextjs_utils.NEXTJS_ROUTING_FILES.join(",")}}.{ts,tsx}`],
|
|
16
|
+
rules: {
|
|
17
|
+
"import/no-unused-modules": ["off"],
|
|
18
|
+
"react-refresh/only-export-components": ["warn", { allowExportNames: [
|
|
19
|
+
"dynamic",
|
|
20
|
+
"dynamicParams",
|
|
21
|
+
"fetchCache",
|
|
22
|
+
"maxDuration",
|
|
23
|
+
"preferredRegion",
|
|
24
|
+
"revalidate",
|
|
25
|
+
"runtime",
|
|
26
|
+
"generateMetadata",
|
|
27
|
+
"metadata",
|
|
28
|
+
"generateStaticParams",
|
|
29
|
+
"generateViewport",
|
|
30
|
+
"viewport"
|
|
31
|
+
] }]
|
|
32
|
+
}
|
|
33
|
+
}, {
|
|
34
|
+
files: [`{instrumentation,src/instrumentation}.{ts,tsx}`],
|
|
35
|
+
rules: {
|
|
36
|
+
"import/no-unused-modules": ["off"],
|
|
37
|
+
"react-refresh/only-export-components": ["warn", { allowExportNames: ["register"] }]
|
|
38
|
+
}
|
|
39
|
+
}, {
|
|
40
|
+
/**
|
|
41
|
+
* Next.js 'middleware' files are beeing deprecated in favor of the new proxy files with v16+
|
|
42
|
+
*
|
|
43
|
+
* @link https://nextjs.org/blog/next-16#proxyts-formerly-middlewarets
|
|
44
|
+
*/
|
|
45
|
+
files: [`{middleware,src/middleware}.{ts,tsx}`],
|
|
46
|
+
rules: {
|
|
47
|
+
"import/no-unused-modules": ["off"],
|
|
48
|
+
"react-refresh/only-export-components": ["warn", { allowExportNames: ["config"] }]
|
|
49
|
+
}
|
|
50
|
+
}, {
|
|
51
|
+
files: [`{proxy,src/proxy}.{ts,tsx}`],
|
|
52
|
+
rules: {
|
|
53
|
+
"import/no-unused-modules": ["off"],
|
|
54
|
+
"react-refresh/only-export-components": ["warn", { allowExportNames: ["config", "proxy"] }]
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
//#endregion
|
|
58
|
+
exports.default = nextjs_default;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { NEXTJS_ROUTING_FILES } from "../lib/nextjs.utils.mjs";
|
|
2
|
+
import react_default from "./react.mjs";
|
|
3
|
+
import { defineConfig } from "eslint/config";
|
|
4
|
+
import * as nextPlugin from "@next/eslint-plugin-next";
|
|
5
|
+
//#region src/configs/nextjs.ts
|
|
6
|
+
var nextjs_default = defineConfig(...react_default, {
|
|
7
|
+
plugins: { "@next/next": nextPlugin },
|
|
8
|
+
rules: {
|
|
9
|
+
...nextPlugin.configs.recommended.rules,
|
|
10
|
+
...nextPlugin.configs["core-web-vitals"].rules
|
|
11
|
+
}
|
|
12
|
+
}, {
|
|
13
|
+
files: [`{app,src/app}/**/{${NEXTJS_ROUTING_FILES.join(",")}}.{ts,tsx}`],
|
|
14
|
+
rules: {
|
|
15
|
+
"import/no-unused-modules": ["off"],
|
|
16
|
+
"react-refresh/only-export-components": ["warn", { allowExportNames: [
|
|
17
|
+
"dynamic",
|
|
18
|
+
"dynamicParams",
|
|
19
|
+
"fetchCache",
|
|
20
|
+
"maxDuration",
|
|
21
|
+
"preferredRegion",
|
|
22
|
+
"revalidate",
|
|
23
|
+
"runtime",
|
|
24
|
+
"generateMetadata",
|
|
25
|
+
"metadata",
|
|
26
|
+
"generateStaticParams",
|
|
27
|
+
"generateViewport",
|
|
28
|
+
"viewport"
|
|
29
|
+
] }]
|
|
30
|
+
}
|
|
31
|
+
}, {
|
|
32
|
+
files: [`{instrumentation,src/instrumentation}.{ts,tsx}`],
|
|
33
|
+
rules: {
|
|
34
|
+
"import/no-unused-modules": ["off"],
|
|
35
|
+
"react-refresh/only-export-components": ["warn", { allowExportNames: ["register"] }]
|
|
36
|
+
}
|
|
37
|
+
}, {
|
|
38
|
+
/**
|
|
39
|
+
* Next.js 'middleware' files are beeing deprecated in favor of the new proxy files with v16+
|
|
40
|
+
*
|
|
41
|
+
* @link https://nextjs.org/blog/next-16#proxyts-formerly-middlewarets
|
|
42
|
+
*/
|
|
43
|
+
files: [`{middleware,src/middleware}.{ts,tsx}`],
|
|
44
|
+
rules: {
|
|
45
|
+
"import/no-unused-modules": ["off"],
|
|
46
|
+
"react-refresh/only-export-components": ["warn", { allowExportNames: ["config"] }]
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
49
|
+
files: [`{proxy,src/proxy}.{ts,tsx}`],
|
|
50
|
+
rules: {
|
|
51
|
+
"import/no-unused-modules": ["off"],
|
|
52
|
+
"react-refresh/only-export-components": ["warn", { allowExportNames: ["config", "proxy"] }]
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
//#endregion
|
|
56
|
+
export { nextjs_default as default };
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=nextjs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nextjs.mjs","names":["react"],"sources":["../../src/configs/nextjs.ts"],"sourcesContent":["import * as nextPlugin from '@next/eslint-plugin-next';\nimport { defineConfig } from 'eslint/config';\nimport { NEXTJS_ROUTING_FILES } from '../lib/nextjs.utils.js';\nimport react from './react.js';\n\nexport default defineConfig(\n ...react,\n {\n plugins: {\n '@next/next': nextPlugin,\n },\n rules: {\n ...nextPlugin.configs.recommended.rules,\n ...nextPlugin.configs['core-web-vitals'].rules,\n },\n },\n {\n files: [`{app,src/app}/**/{${NEXTJS_ROUTING_FILES.join(',')}}.{ts,tsx}`],\n rules: {\n 'import/no-unused-modules': ['off'],\n\n // eslint-plugin-react-refresh: https://github.com/ArnaudBarre/eslint-plugin-react-refresh\n 'react-refresh/only-export-components': [\n 'warn',\n {\n allowExportNames: [\n /**\n * Next.js allows exporting the following options in pages, layouts and route handlers\n *\n * @see https://nextjs.org/docs/app/api-reference/file-conventions/route-segment-config\n */\n 'dynamic',\n 'dynamicParams',\n 'fetchCache',\n 'maxDuration',\n 'preferredRegion',\n 'revalidate',\n 'runtime',\n\n /**\n * Next.js allows exporting the following metadata options in layouts and pages\n *\n * @link https://nextjs.org/docs/app/api-reference/functions/generate-metadata\n */\n 'generateMetadata',\n 'metadata',\n\n /**\n * Next.js allows exporting the following static params functions in pages\n *\n * @link https://nextjs.org/docs/app/api-reference/functions/generate-static-params\n */\n 'generateStaticParams',\n\n /**\n * Next.js allows exporting the following viewport options in layouts and pages\n *\n * @link https://nextjs.org/docs/app/api-reference/functions/generate-viewport\n */\n 'generateViewport',\n 'viewport',\n ],\n },\n ],\n },\n },\n {\n files: [`{instrumentation,src/instrumentation}.{ts,tsx}`],\n rules: {\n 'import/no-unused-modules': ['off'],\n\n // eslint-plugin-react-refresh: https://github.com/ArnaudBarre/eslint-plugin-react-refresh\n 'react-refresh/only-export-components': [\n 'warn',\n {\n allowExportNames: [\n /**\n * Next.js allows exporting the following exports in instrumentation files\n *\n * @link https://nextjs.org/docs/app/guides/instrumentation#convention\n */\n 'register',\n ],\n },\n ],\n },\n },\n {\n /**\n * Next.js 'middleware' files are beeing deprecated in favor of the new proxy files with v16+\n *\n * @link https://nextjs.org/blog/next-16#proxyts-formerly-middlewarets\n */\n files: [`{middleware,src/middleware}.{ts,tsx}`],\n rules: {\n 'import/no-unused-modules': ['off'],\n\n // eslint-plugin-react-refresh: https://github.com/ArnaudBarre/eslint-plugin-react-refresh\n 'react-refresh/only-export-components': [\n 'warn',\n {\n allowExportNames: [\n /**\n * Next.js allows exporting the following config options in middleware\n *\n * @link https://nextjs.org/docs/app/api-reference/file-conventions/middleware#config-object-optional\n */\n 'config',\n ],\n },\n ],\n },\n },\n {\n files: [`{proxy,src/proxy}.{ts,tsx}`],\n rules: {\n 'import/no-unused-modules': ['off'],\n\n // eslint-plugin-react-refresh: https://github.com/ArnaudBarre/eslint-plugin-react-refresh\n 'react-refresh/only-export-components': [\n 'warn',\n {\n allowExportNames: [\n /**\n * Next.js allows exporting the following exports in proxy files\n *\n * @link https://nextjs.org/docs/app/api-reference/file-conventions/proxy#config-object-optional\n */\n 'config',\n 'proxy',\n ],\n },\n ],\n },\n },\n);\n"],"mappings":";;;;;AAKA,IAAA,iBAAe,aACb,GAAGA,eACH;CACE,SAAS,EACP,cAAc,WAChB;CACA,OAAO;EACL,GAAG,WAAW,QAAQ,YAAY;EAClC,GAAG,WAAW,QAAQ,mBAAmB;CAC3C;AACF,GACA;CACE,OAAO,CAAC,qBAAqB,qBAAqB,KAAK,GAAG,EAAE,WAAW;CACvE,OAAO;EACL,4BAA4B,CAAC,KAAK;EAGlC,wCAAwC,CACtC,QACA,EACE,kBAAkB;GAMhB;GACA;GACA;GACA;GACA;GACA;GACA;GAOA;GACA;GAOA;GAOA;GACA;EACF,EACF,CACF;CACF;AACF,GACA;CACE,OAAO,CAAC,gDAAgD;CACxD,OAAO;EACL,4BAA4B,CAAC,KAAK;EAGlC,wCAAwC,CACtC,QACA,EACE,kBAAkB,CAMhB,UACF,EACF,CACF;CACF;AACF,GACA;;;;;;CAME,OAAO,CAAC,sCAAsC;CAC9C,OAAO;EACL,4BAA4B,CAAC,KAAK;EAGlC,wCAAwC,CACtC,QACA,EACE,kBAAkB,CAMhB,QACF,EACF,CACF;CACF;AACF,GACA;CACE,OAAO,CAAC,4BAA4B;CACpC,OAAO;EACL,4BAA4B,CAAC,KAAK;EAGlC,wCAAwC,CACtC,QACA,EACE,kBAAkB,CAMhB,UACA,OACF,EACF,CACF;CACF;AACF,CACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let eslint_config = require("eslint/config");
|
|
3
|
+
let eslint_plugin_playwright = require("eslint-plugin-playwright");
|
|
4
|
+
eslint_plugin_playwright = require_runtime.__toESM(eslint_plugin_playwright, 1);
|
|
5
|
+
//#region src/configs/playwright.ts
|
|
6
|
+
const playwrightPlugin = eslint_plugin_playwright;
|
|
7
|
+
var playwright_default = (0, eslint_config.defineConfig)({
|
|
8
|
+
...playwrightPlugin.configs["flat/recommended"],
|
|
9
|
+
rules: {
|
|
10
|
+
/**
|
|
11
|
+
* At the moment, `eslint-plugin-playwright` does not fully support component testing with type information.
|
|
12
|
+
* https://github.com/playwright-community/eslint-plugin-playwright/issues/298
|
|
13
|
+
*
|
|
14
|
+
* The `mount` function is flagged as an error by the `@typescript-eslint/unbound-method` rule.
|
|
15
|
+
* But it is okay to use `mount` in this context for test files.
|
|
16
|
+
* https://typescript-eslint.io/rules/unbound-method/#when-not-to-use-it
|
|
17
|
+
*
|
|
18
|
+
* Hint: `eslint-plugin-jest` has already a customized version of this rule.
|
|
19
|
+
* https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/unbound-method.md
|
|
20
|
+
*/
|
|
21
|
+
"@typescript-eslint/unbound-method": "off",
|
|
22
|
+
...playwrightPlugin.configs["flat/recommended"].rules,
|
|
23
|
+
"playwright/prefer-to-be": "error",
|
|
24
|
+
"playwright/prefer-to-have-length": "error",
|
|
25
|
+
"playwright/require-top-level-describe": "error"
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
//#endregion
|
|
29
|
+
exports.default = playwright_default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { defineConfig } from "eslint/config";
|
|
2
|
+
import * as playwright from "eslint-plugin-playwright";
|
|
3
|
+
//#region src/configs/playwright.ts
|
|
4
|
+
const playwrightPlugin = playwright;
|
|
5
|
+
var playwright_default = defineConfig({
|
|
6
|
+
...playwrightPlugin.configs["flat/recommended"],
|
|
7
|
+
rules: {
|
|
8
|
+
/**
|
|
9
|
+
* At the moment, `eslint-plugin-playwright` does not fully support component testing with type information.
|
|
10
|
+
* https://github.com/playwright-community/eslint-plugin-playwright/issues/298
|
|
11
|
+
*
|
|
12
|
+
* The `mount` function is flagged as an error by the `@typescript-eslint/unbound-method` rule.
|
|
13
|
+
* But it is okay to use `mount` in this context for test files.
|
|
14
|
+
* https://typescript-eslint.io/rules/unbound-method/#when-not-to-use-it
|
|
15
|
+
*
|
|
16
|
+
* Hint: `eslint-plugin-jest` has already a customized version of this rule.
|
|
17
|
+
* https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/unbound-method.md
|
|
18
|
+
*/
|
|
19
|
+
"@typescript-eslint/unbound-method": "off",
|
|
20
|
+
...playwrightPlugin.configs["flat/recommended"].rules,
|
|
21
|
+
"playwright/prefer-to-be": "error",
|
|
22
|
+
"playwright/prefer-to-have-length": "error",
|
|
23
|
+
"playwright/require-top-level-describe": "error"
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
//#endregion
|
|
27
|
+
export { playwright_default as default };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=playwright.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"playwright.mjs","names":[],"sources":["../../src/configs/playwright.ts"],"sourcesContent":["import * as playwright from 'eslint-plugin-playwright';\nimport { defineConfig } from 'eslint/config';\n\nconst playwrightPlugin = playwright as typeof playwright & {\n configs: {\n 'flat/recommended': {\n rules: Record<string, unknown>;\n };\n };\n};\n\nexport default defineConfig({\n ...playwrightPlugin.configs['flat/recommended'],\n rules: {\n /**\n * At the moment, `eslint-plugin-playwright` does not fully support component testing with type information.\n * https://github.com/playwright-community/eslint-plugin-playwright/issues/298\n *\n * The `mount` function is flagged as an error by the `@typescript-eslint/unbound-method` rule.\n * But it is okay to use `mount` in this context for test files.\n * https://typescript-eslint.io/rules/unbound-method/#when-not-to-use-it\n *\n * Hint: `eslint-plugin-jest` has already a customized version of this rule.\n * https://github.com/jest-community/eslint-plugin-jest/blob/main/docs/rules/unbound-method.md\n */\n '@typescript-eslint/unbound-method': 'off',\n\n // eslint-plugin-playwright: https://github.com/playwright-community/eslint-plugin-playwright\n ...playwrightPlugin.configs['flat/recommended'].rules,\n 'playwright/prefer-to-be': 'error',\n 'playwright/prefer-to-have-length': 'error',\n 'playwright/require-top-level-describe': 'error',\n },\n});\n"],"mappings":";;;AAGA,MAAM,mBAAmB;AAQzB,IAAA,qBAAe,aAAa;CAC1B,GAAG,iBAAiB,QAAQ;CAC5B,OAAO;;;;;;;;;;;;EAYL,qCAAqC;EAGrC,GAAG,iBAAiB,QAAQ,oBAAoB;EAChD,2BAA2B;EAC3B,oCAAoC;EACpC,yCAAyC;CAC3C;AACF,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
|
+
let eslint_config = require("eslint/config");
|
|
3
|
+
let eslint_config_prettier = require("eslint-config-prettier");
|
|
4
|
+
eslint_config_prettier = require_runtime.__toESM(eslint_config_prettier, 1);
|
|
5
|
+
//#region src/configs/prettier-disable.ts
|
|
6
|
+
var prettier_disable_default = (0, eslint_config.defineConfig)({
|
|
7
|
+
...eslint_config_prettier,
|
|
8
|
+
rules: {
|
|
9
|
+
...eslint_config_prettier.rules,
|
|
10
|
+
curly: "error"
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
//#endregion
|
|
14
|
+
exports.default = prettier_disable_default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { defineConfig } from "eslint/config";
|
|
2
|
+
import * as prettier from "eslint-config-prettier";
|
|
3
|
+
//#region src/configs/prettier-disable.ts
|
|
4
|
+
var prettier_disable_default = defineConfig({
|
|
5
|
+
...prettier,
|
|
6
|
+
rules: {
|
|
7
|
+
...prettier.rules,
|
|
8
|
+
curly: "error"
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
//#endregion
|
|
12
|
+
export { prettier_disable_default as default };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=prettier-disable.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prettier-disable.mjs","names":[],"sources":["../../src/configs/prettier-disable.ts"],"sourcesContent":["import * as prettier from 'eslint-config-prettier';\nimport { defineConfig } from 'eslint/config';\n\nexport default defineConfig({\n ...prettier,\n rules: {\n ...prettier.rules,\n curly: 'error',\n },\n});\n"],"mappings":";;;AAGA,IAAA,2BAAe,aAAa;CAC1B,GAAG;CACH,OAAO;EACL,GAAG,SAAS;EACZ,OAAO;CACT;AACF,CAAC"}
|