@dineroregnskab/eslint-plugin-custom-rules 2.0.6 → 2.1.0
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/README.md +49 -9
- package/eslint-plugin-custom-rules.js +10 -4
- package/package.json +2 -4
- package/rules/replace-first-with-take.js +31 -0
- package/rules/use-danish-currency-pipe.js +53 -0
- package/willy.yaml +5 -0
- package/node_modules/@aashutoshrathi/word-wrap/LICENSE +0 -21
- package/node_modules/@aashutoshrathi/word-wrap/README.md +0 -182
- package/node_modules/@aashutoshrathi/word-wrap/index.d.ts +0 -50
- package/node_modules/@aashutoshrathi/word-wrap/index.js +0 -52
- package/node_modules/@aashutoshrathi/word-wrap/package.json +0 -81
- package/node_modules/@angular-eslint/bundled-angular-compiler/README.md +0 -1
- package/node_modules/@angular-eslint/bundled-angular-compiler/dist/index.d.ts +0 -5
- package/node_modules/@angular-eslint/bundled-angular-compiler/dist/index.js +0 -32004
- package/node_modules/@angular-eslint/bundled-angular-compiler/package.json +0 -19
- package/node_modules/@angular-eslint/template-parser/LICENSE +0 -21
- package/node_modules/@angular-eslint/template-parser/README.md +0 -1
- package/node_modules/@angular-eslint/template-parser/dist/convert-source-span-to-loc.d.ts +0 -6
- package/node_modules/@angular-eslint/template-parser/dist/convert-source-span-to-loc.js +0 -69
- package/node_modules/@angular-eslint/template-parser/dist/index.d.ts +0 -44
- package/node_modules/@angular-eslint/template-parser/dist/index.js +0 -219
- package/node_modules/@angular-eslint/template-parser/package.json +0 -28
- package/node_modules/@eslint/eslintrc/LICENSE +0 -19
- package/node_modules/@eslint/eslintrc/README.md +0 -115
- package/node_modules/@eslint/eslintrc/conf/config-schema.js +0 -79
- package/node_modules/@eslint/eslintrc/conf/environments.js +0 -215
- package/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs +0 -1104
- package/node_modules/@eslint/eslintrc/dist/eslintrc-universal.cjs.map +0 -1
- package/node_modules/@eslint/eslintrc/dist/eslintrc.cjs +0 -4333
- package/node_modules/@eslint/eslintrc/dist/eslintrc.cjs.map +0 -1
- package/node_modules/@eslint/eslintrc/lib/cascading-config-array-factory.js +0 -532
- package/node_modules/@eslint/eslintrc/lib/config-array/config-array.js +0 -523
- package/node_modules/@eslint/eslintrc/lib/config-array/config-dependency.js +0 -115
- package/node_modules/@eslint/eslintrc/lib/config-array/extracted-config.js +0 -145
- package/node_modules/@eslint/eslintrc/lib/config-array/ignore-pattern.js +0 -238
- package/node_modules/@eslint/eslintrc/lib/config-array/index.js +0 -19
- package/node_modules/@eslint/eslintrc/lib/config-array/override-tester.js +0 -225
- package/node_modules/@eslint/eslintrc/lib/config-array-factory.js +0 -1149
- package/node_modules/@eslint/eslintrc/lib/flat-compat.js +0 -318
- package/node_modules/@eslint/eslintrc/lib/index-universal.js +0 -29
- package/node_modules/@eslint/eslintrc/lib/index.js +0 -56
- package/node_modules/@eslint/eslintrc/lib/shared/ajv.js +0 -191
- package/node_modules/@eslint/eslintrc/lib/shared/config-ops.js +0 -135
- package/node_modules/@eslint/eslintrc/lib/shared/config-validator.js +0 -325
- package/node_modules/@eslint/eslintrc/lib/shared/deprecation-warnings.js +0 -63
- package/node_modules/@eslint/eslintrc/lib/shared/naming.js +0 -96
- package/node_modules/@eslint/eslintrc/lib/shared/relative-module-resolver.js +0 -42
- package/node_modules/@eslint/eslintrc/lib/shared/types.js +0 -149
- package/node_modules/@eslint/eslintrc/package.json +0 -82
- package/node_modules/@eslint/eslintrc/universal.js +0 -9
- package/node_modules/@eslint/js/LICENSE +0 -19
- package/node_modules/@eslint/js/README.md +0 -57
- package/node_modules/@eslint/js/package.json +0 -31
- package/node_modules/@eslint/js/src/configs/eslint-all.js +0 -211
- package/node_modules/@eslint/js/src/configs/eslint-recommended.js +0 -76
- package/node_modules/@eslint/js/src/index.js +0 -17
- package/node_modules/@eslint-community/eslint-utils/LICENSE +0 -21
- package/node_modules/@eslint-community/eslint-utils/README.md +0 -37
- package/node_modules/@eslint-community/eslint-utils/index.js +0 -2068
- package/node_modules/@eslint-community/eslint-utils/index.js.map +0 -1
- package/node_modules/@eslint-community/eslint-utils/index.mjs +0 -2027
- package/node_modules/@eslint-community/eslint-utils/index.mjs.map +0 -1
- package/node_modules/@eslint-community/eslint-utils/package.json +0 -73
- package/node_modules/@eslint-community/regexpp/LICENSE +0 -21
- package/node_modules/@eslint-community/regexpp/README.md +0 -177
- package/node_modules/@eslint-community/regexpp/index.d.ts +0 -1065
- package/node_modules/@eslint-community/regexpp/index.js +0 -2747
- package/node_modules/@eslint-community/regexpp/index.js.map +0 -1
- package/node_modules/@eslint-community/regexpp/index.mjs +0 -2737
- package/node_modules/@eslint-community/regexpp/index.mjs.map +0 -1
- package/node_modules/@eslint-community/regexpp/package.json +0 -93
- package/node_modules/@humanwhocodes/config-array/LICENSE +0 -201
- package/node_modules/@humanwhocodes/config-array/README.md +0 -342
- package/node_modules/@humanwhocodes/config-array/api.js +0 -1061
- package/node_modules/@humanwhocodes/config-array/package.json +0 -61
- package/node_modules/@humanwhocodes/module-importer/CHANGELOG.md +0 -15
- package/node_modules/@humanwhocodes/module-importer/LICENSE +0 -201
- package/node_modules/@humanwhocodes/module-importer/README.md +0 -80
- package/node_modules/@humanwhocodes/module-importer/dist/module-importer.cjs +0 -22
- package/node_modules/@humanwhocodes/module-importer/dist/module-importer.d.cts +0 -27
- package/node_modules/@humanwhocodes/module-importer/dist/module-importer.d.ts +0 -2
- package/node_modules/@humanwhocodes/module-importer/dist/module-importer.js +0 -18
- package/node_modules/@humanwhocodes/module-importer/package.json +0 -65
- package/node_modules/@humanwhocodes/module-importer/src/module-importer.cjs +0 -81
- package/node_modules/@humanwhocodes/module-importer/src/module-importer.js +0 -22
- package/node_modules/@humanwhocodes/object-schema/.eslintrc.js +0 -29
- package/node_modules/@humanwhocodes/object-schema/.github/workflows/nodejs-test.yml +0 -27
- package/node_modules/@humanwhocodes/object-schema/.github/workflows/release-please.yml +0 -39
- package/node_modules/@humanwhocodes/object-schema/CHANGELOG.md +0 -26
- package/node_modules/@humanwhocodes/object-schema/LICENSE +0 -29
- package/node_modules/@humanwhocodes/object-schema/README.md +0 -234
- package/node_modules/@humanwhocodes/object-schema/package.json +0 -33
- package/node_modules/@humanwhocodes/object-schema/src/index.js +0 -7
- package/node_modules/@humanwhocodes/object-schema/src/merge-strategy.js +0 -53
- package/node_modules/@humanwhocodes/object-schema/src/object-schema.js +0 -301
- package/node_modules/@humanwhocodes/object-schema/src/validation-strategy.js +0 -102
- package/node_modules/@humanwhocodes/object-schema/tests/merge-strategy.js +0 -66
- package/node_modules/@humanwhocodes/object-schema/tests/object-schema.js +0 -659
- package/node_modules/@humanwhocodes/object-schema/tests/validation-strategy.js +0 -186
- package/node_modules/@nodelib/fs.scandir/LICENSE +0 -21
- package/node_modules/@nodelib/fs.scandir/README.md +0 -171
- package/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +0 -20
- package/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +0 -19
- package/node_modules/@nodelib/fs.scandir/out/constants.d.ts +0 -4
- package/node_modules/@nodelib/fs.scandir/out/constants.js +0 -17
- package/node_modules/@nodelib/fs.scandir/out/index.d.ts +0 -12
- package/node_modules/@nodelib/fs.scandir/out/index.js +0 -26
- package/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +0 -7
- package/node_modules/@nodelib/fs.scandir/out/providers/async.js +0 -104
- package/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +0 -1
- package/node_modules/@nodelib/fs.scandir/out/providers/common.js +0 -13
- package/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +0 -5
- package/node_modules/@nodelib/fs.scandir/out/providers/sync.js +0 -54
- package/node_modules/@nodelib/fs.scandir/out/settings.d.ts +0 -20
- package/node_modules/@nodelib/fs.scandir/out/settings.js +0 -24
- package/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +0 -20
- package/node_modules/@nodelib/fs.scandir/out/types/index.js +0 -2
- package/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +0 -2
- package/node_modules/@nodelib/fs.scandir/out/utils/fs.js +0 -19
- package/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +0 -2
- package/node_modules/@nodelib/fs.scandir/out/utils/index.js +0 -5
- package/node_modules/@nodelib/fs.scandir/package.json +0 -44
- package/node_modules/@nodelib/fs.stat/LICENSE +0 -21
- package/node_modules/@nodelib/fs.stat/README.md +0 -126
- package/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +0 -13
- package/node_modules/@nodelib/fs.stat/out/adapters/fs.js +0 -17
- package/node_modules/@nodelib/fs.stat/out/index.d.ts +0 -12
- package/node_modules/@nodelib/fs.stat/out/index.js +0 -26
- package/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +0 -4
- package/node_modules/@nodelib/fs.stat/out/providers/async.js +0 -36
- package/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +0 -3
- package/node_modules/@nodelib/fs.stat/out/providers/sync.js +0 -23
- package/node_modules/@nodelib/fs.stat/out/settings.d.ts +0 -16
- package/node_modules/@nodelib/fs.stat/out/settings.js +0 -16
- package/node_modules/@nodelib/fs.stat/out/types/index.d.ts +0 -4
- package/node_modules/@nodelib/fs.stat/out/types/index.js +0 -2
- package/node_modules/@nodelib/fs.stat/package.json +0 -37
- package/node_modules/@nodelib/fs.walk/LICENSE +0 -21
- package/node_modules/@nodelib/fs.walk/README.md +0 -215
- package/node_modules/@nodelib/fs.walk/out/index.d.ts +0 -14
- package/node_modules/@nodelib/fs.walk/out/index.js +0 -34
- package/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +0 -12
- package/node_modules/@nodelib/fs.walk/out/providers/async.js +0 -30
- package/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +0 -4
- package/node_modules/@nodelib/fs.walk/out/providers/index.js +0 -9
- package/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +0 -12
- package/node_modules/@nodelib/fs.walk/out/providers/stream.js +0 -34
- package/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +0 -10
- package/node_modules/@nodelib/fs.walk/out/providers/sync.js +0 -14
- package/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +0 -30
- package/node_modules/@nodelib/fs.walk/out/readers/async.js +0 -97
- package/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +0 -7
- package/node_modules/@nodelib/fs.walk/out/readers/common.js +0 -31
- package/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +0 -6
- package/node_modules/@nodelib/fs.walk/out/readers/reader.js +0 -11
- package/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +0 -15
- package/node_modules/@nodelib/fs.walk/out/readers/sync.js +0 -59
- package/node_modules/@nodelib/fs.walk/out/settings.d.ts +0 -30
- package/node_modules/@nodelib/fs.walk/out/settings.js +0 -26
- package/node_modules/@nodelib/fs.walk/out/types/index.d.ts +0 -8
- package/node_modules/@nodelib/fs.walk/out/types/index.js +0 -2
- package/node_modules/@nodelib/fs.walk/package.json +0 -44
- package/node_modules/@ungap/structured-clone/.github/workflows/node.js.yml +0 -31
- package/node_modules/@ungap/structured-clone/LICENSE +0 -15
- package/node_modules/@ungap/structured-clone/README.md +0 -95
- package/node_modules/@ungap/structured-clone/cjs/deserialize.js +0 -78
- package/node_modules/@ungap/structured-clone/cjs/index.js +0 -27
- package/node_modules/@ungap/structured-clone/cjs/json.js +0 -24
- package/node_modules/@ungap/structured-clone/cjs/package.json +0 -1
- package/node_modules/@ungap/structured-clone/cjs/serialize.js +0 -160
- package/node_modules/@ungap/structured-clone/cjs/types.js +0 -22
- package/node_modules/@ungap/structured-clone/esm/deserialize.js +0 -79
- package/node_modules/@ungap/structured-clone/esm/index.js +0 -25
- package/node_modules/@ungap/structured-clone/esm/json.js +0 -21
- package/node_modules/@ungap/structured-clone/esm/serialize.js +0 -161
- package/node_modules/@ungap/structured-clone/esm/types.js +0 -11
- package/node_modules/@ungap/structured-clone/package.json +0 -53
- package/node_modules/@ungap/structured-clone/structured-json.js +0 -1
|
@@ -1,318 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Compatibility class for flat config.
|
|
3
|
-
* @author Nicholas C. Zakas
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
//-----------------------------------------------------------------------------
|
|
7
|
-
// Requirements
|
|
8
|
-
//-----------------------------------------------------------------------------
|
|
9
|
-
|
|
10
|
-
import createDebug from "debug";
|
|
11
|
-
import path from "path";
|
|
12
|
-
|
|
13
|
-
import environments from "../conf/environments.js";
|
|
14
|
-
import { ConfigArrayFactory } from "./config-array-factory.js";
|
|
15
|
-
|
|
16
|
-
//-----------------------------------------------------------------------------
|
|
17
|
-
// Helpers
|
|
18
|
-
//-----------------------------------------------------------------------------
|
|
19
|
-
|
|
20
|
-
/** @typedef {import("../../shared/types").Environment} Environment */
|
|
21
|
-
/** @typedef {import("../../shared/types").Processor} Processor */
|
|
22
|
-
|
|
23
|
-
const debug = createDebug("eslintrc:flat-compat");
|
|
24
|
-
const cafactory = Symbol("cafactory");
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Translates an ESLintRC-style config object into a flag-config-style config
|
|
28
|
-
* object.
|
|
29
|
-
* @param {Object} eslintrcConfig An ESLintRC-style config object.
|
|
30
|
-
* @param {Object} options Options to help translate the config.
|
|
31
|
-
* @param {string} options.resolveConfigRelativeTo To the directory to resolve
|
|
32
|
-
* configs from.
|
|
33
|
-
* @param {string} options.resolvePluginsRelativeTo The directory to resolve
|
|
34
|
-
* plugins from.
|
|
35
|
-
* @param {ReadOnlyMap<string,Environment>} options.pluginEnvironments A map of plugin environment
|
|
36
|
-
* names to objects.
|
|
37
|
-
* @param {ReadOnlyMap<string,Processor>} options.pluginProcessors A map of plugin processor
|
|
38
|
-
* names to objects.
|
|
39
|
-
* @returns {Object} A flag-config-style config object.
|
|
40
|
-
*/
|
|
41
|
-
function translateESLintRC(eslintrcConfig, {
|
|
42
|
-
resolveConfigRelativeTo,
|
|
43
|
-
resolvePluginsRelativeTo,
|
|
44
|
-
pluginEnvironments,
|
|
45
|
-
pluginProcessors
|
|
46
|
-
}) {
|
|
47
|
-
|
|
48
|
-
const flatConfig = {};
|
|
49
|
-
const configs = [];
|
|
50
|
-
const languageOptions = {};
|
|
51
|
-
const linterOptions = {};
|
|
52
|
-
const keysToCopy = ["settings", "rules", "processor"];
|
|
53
|
-
const languageOptionsKeysToCopy = ["globals", "parser", "parserOptions"];
|
|
54
|
-
const linterOptionsKeysToCopy = ["noInlineConfig", "reportUnusedDisableDirectives"];
|
|
55
|
-
|
|
56
|
-
// copy over simple translations
|
|
57
|
-
for (const key of keysToCopy) {
|
|
58
|
-
if (key in eslintrcConfig && typeof eslintrcConfig[key] !== "undefined") {
|
|
59
|
-
flatConfig[key] = eslintrcConfig[key];
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// copy over languageOptions
|
|
64
|
-
for (const key of languageOptionsKeysToCopy) {
|
|
65
|
-
if (key in eslintrcConfig && typeof eslintrcConfig[key] !== "undefined") {
|
|
66
|
-
|
|
67
|
-
// create the languageOptions key in the flat config
|
|
68
|
-
flatConfig.languageOptions = languageOptions;
|
|
69
|
-
|
|
70
|
-
if (key === "parser") {
|
|
71
|
-
debug(`Resolving parser '${languageOptions[key]}' relative to ${resolveConfigRelativeTo}`);
|
|
72
|
-
|
|
73
|
-
if (eslintrcConfig[key].error) {
|
|
74
|
-
throw eslintrcConfig[key].error;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
languageOptions[key] = eslintrcConfig[key].definition;
|
|
78
|
-
continue;
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// clone any object values that are in the eslintrc config
|
|
82
|
-
if (eslintrcConfig[key] && typeof eslintrcConfig[key] === "object") {
|
|
83
|
-
languageOptions[key] = {
|
|
84
|
-
...eslintrcConfig[key]
|
|
85
|
-
};
|
|
86
|
-
} else {
|
|
87
|
-
languageOptions[key] = eslintrcConfig[key];
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
// copy over linterOptions
|
|
93
|
-
for (const key of linterOptionsKeysToCopy) {
|
|
94
|
-
if (key in eslintrcConfig && typeof eslintrcConfig[key] !== "undefined") {
|
|
95
|
-
flatConfig.linterOptions = linterOptions;
|
|
96
|
-
linterOptions[key] = eslintrcConfig[key];
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
// move ecmaVersion a level up
|
|
101
|
-
if (languageOptions.parserOptions) {
|
|
102
|
-
|
|
103
|
-
if ("ecmaVersion" in languageOptions.parserOptions) {
|
|
104
|
-
languageOptions.ecmaVersion = languageOptions.parserOptions.ecmaVersion;
|
|
105
|
-
delete languageOptions.parserOptions.ecmaVersion;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
if ("sourceType" in languageOptions.parserOptions) {
|
|
109
|
-
languageOptions.sourceType = languageOptions.parserOptions.sourceType;
|
|
110
|
-
delete languageOptions.parserOptions.sourceType;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// check to see if we even need parserOptions anymore and remove it if not
|
|
114
|
-
if (Object.keys(languageOptions.parserOptions).length === 0) {
|
|
115
|
-
delete languageOptions.parserOptions;
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// overrides
|
|
120
|
-
if (eslintrcConfig.criteria) {
|
|
121
|
-
flatConfig.files = [absoluteFilePath => eslintrcConfig.criteria.test(absoluteFilePath)];
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
// translate plugins
|
|
125
|
-
if (eslintrcConfig.plugins && typeof eslintrcConfig.plugins === "object") {
|
|
126
|
-
debug(`Translating plugins: ${eslintrcConfig.plugins}`);
|
|
127
|
-
|
|
128
|
-
flatConfig.plugins = {};
|
|
129
|
-
|
|
130
|
-
for (const pluginName of Object.keys(eslintrcConfig.plugins)) {
|
|
131
|
-
|
|
132
|
-
debug(`Translating plugin: ${pluginName}`);
|
|
133
|
-
debug(`Resolving plugin '${pluginName} relative to ${resolvePluginsRelativeTo}`);
|
|
134
|
-
|
|
135
|
-
const { definition: plugin, error } = eslintrcConfig.plugins[pluginName];
|
|
136
|
-
|
|
137
|
-
if (error) {
|
|
138
|
-
throw error;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
flatConfig.plugins[pluginName] = plugin;
|
|
142
|
-
|
|
143
|
-
// create a config for any processors
|
|
144
|
-
if (plugin.processors) {
|
|
145
|
-
for (const processorName of Object.keys(plugin.processors)) {
|
|
146
|
-
if (processorName.startsWith(".")) {
|
|
147
|
-
debug(`Assigning processor: ${pluginName}/${processorName}`);
|
|
148
|
-
|
|
149
|
-
configs.unshift({
|
|
150
|
-
files: [`**/*${processorName}`],
|
|
151
|
-
processor: pluginProcessors.get(`${pluginName}/${processorName}`)
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
// translate env - must come after plugins
|
|
161
|
-
if (eslintrcConfig.env && typeof eslintrcConfig.env === "object") {
|
|
162
|
-
for (const envName of Object.keys(eslintrcConfig.env)) {
|
|
163
|
-
|
|
164
|
-
// only add environments that are true
|
|
165
|
-
if (eslintrcConfig.env[envName]) {
|
|
166
|
-
debug(`Translating environment: ${envName}`);
|
|
167
|
-
|
|
168
|
-
if (environments.has(envName)) {
|
|
169
|
-
|
|
170
|
-
// built-in environments should be defined first
|
|
171
|
-
configs.unshift(...translateESLintRC({
|
|
172
|
-
criteria: eslintrcConfig.criteria,
|
|
173
|
-
...environments.get(envName)
|
|
174
|
-
}, {
|
|
175
|
-
resolveConfigRelativeTo,
|
|
176
|
-
resolvePluginsRelativeTo
|
|
177
|
-
}));
|
|
178
|
-
} else if (pluginEnvironments.has(envName)) {
|
|
179
|
-
|
|
180
|
-
// if the environment comes from a plugin, it should come after the plugin config
|
|
181
|
-
configs.push(...translateESLintRC({
|
|
182
|
-
criteria: eslintrcConfig.criteria,
|
|
183
|
-
...pluginEnvironments.get(envName)
|
|
184
|
-
}, {
|
|
185
|
-
resolveConfigRelativeTo,
|
|
186
|
-
resolvePluginsRelativeTo
|
|
187
|
-
}));
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
// only add if there are actually keys in the config
|
|
194
|
-
if (Object.keys(flatConfig).length > 0) {
|
|
195
|
-
configs.push(flatConfig);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
return configs;
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
//-----------------------------------------------------------------------------
|
|
203
|
-
// Exports
|
|
204
|
-
//-----------------------------------------------------------------------------
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* A compatibility class for working with configs.
|
|
208
|
-
*/
|
|
209
|
-
class FlatCompat {
|
|
210
|
-
|
|
211
|
-
constructor({
|
|
212
|
-
baseDirectory = process.cwd(),
|
|
213
|
-
resolvePluginsRelativeTo = baseDirectory,
|
|
214
|
-
recommendedConfig,
|
|
215
|
-
allConfig
|
|
216
|
-
} = {}) {
|
|
217
|
-
this.baseDirectory = baseDirectory;
|
|
218
|
-
this.resolvePluginsRelativeTo = resolvePluginsRelativeTo;
|
|
219
|
-
this[cafactory] = new ConfigArrayFactory({
|
|
220
|
-
cwd: baseDirectory,
|
|
221
|
-
resolvePluginsRelativeTo,
|
|
222
|
-
getEslintAllConfig: () => {
|
|
223
|
-
|
|
224
|
-
if (!allConfig) {
|
|
225
|
-
throw new TypeError("Missing parameter 'allConfig' in FlatCompat constructor.");
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
return allConfig;
|
|
229
|
-
},
|
|
230
|
-
getEslintRecommendedConfig: () => {
|
|
231
|
-
|
|
232
|
-
if (!recommendedConfig) {
|
|
233
|
-
throw new TypeError("Missing parameter 'recommendedConfig' in FlatCompat constructor.");
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
return recommendedConfig;
|
|
237
|
-
}
|
|
238
|
-
});
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
/**
|
|
242
|
-
* Translates an ESLintRC-style config into a flag-config-style config.
|
|
243
|
-
* @param {Object} eslintrcConfig The ESLintRC-style config object.
|
|
244
|
-
* @returns {Object} A flag-config-style config object.
|
|
245
|
-
*/
|
|
246
|
-
config(eslintrcConfig) {
|
|
247
|
-
const eslintrcArray = this[cafactory].create(eslintrcConfig, {
|
|
248
|
-
basePath: this.baseDirectory
|
|
249
|
-
});
|
|
250
|
-
|
|
251
|
-
const flatArray = [];
|
|
252
|
-
let hasIgnorePatterns = false;
|
|
253
|
-
|
|
254
|
-
eslintrcArray.forEach(configData => {
|
|
255
|
-
if (configData.type === "config") {
|
|
256
|
-
hasIgnorePatterns = hasIgnorePatterns || configData.ignorePattern;
|
|
257
|
-
flatArray.push(...translateESLintRC(configData, {
|
|
258
|
-
resolveConfigRelativeTo: path.join(this.baseDirectory, "__placeholder.js"),
|
|
259
|
-
resolvePluginsRelativeTo: path.join(this.resolvePluginsRelativeTo, "__placeholder.js"),
|
|
260
|
-
pluginEnvironments: eslintrcArray.pluginEnvironments,
|
|
261
|
-
pluginProcessors: eslintrcArray.pluginProcessors
|
|
262
|
-
}));
|
|
263
|
-
}
|
|
264
|
-
});
|
|
265
|
-
|
|
266
|
-
// combine ignorePatterns to emulate ESLintRC behavior better
|
|
267
|
-
if (hasIgnorePatterns) {
|
|
268
|
-
flatArray.unshift({
|
|
269
|
-
ignores: [filePath => {
|
|
270
|
-
|
|
271
|
-
// Compute the final config for this file.
|
|
272
|
-
// This filters config array elements by `files`/`excludedFiles` then merges the elements.
|
|
273
|
-
const finalConfig = eslintrcArray.extractConfig(filePath);
|
|
274
|
-
|
|
275
|
-
// Test the `ignorePattern` properties of the final config.
|
|
276
|
-
return Boolean(finalConfig.ignores) && finalConfig.ignores(filePath);
|
|
277
|
-
}]
|
|
278
|
-
});
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
return flatArray;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
/**
|
|
285
|
-
* Translates the `env` section of an ESLintRC-style config.
|
|
286
|
-
* @param {Object} envConfig The `env` section of an ESLintRC config.
|
|
287
|
-
* @returns {Object[]} An array of flag-config objects representing the environments.
|
|
288
|
-
*/
|
|
289
|
-
env(envConfig) {
|
|
290
|
-
return this.config({
|
|
291
|
-
env: envConfig
|
|
292
|
-
});
|
|
293
|
-
}
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* Translates the `extends` section of an ESLintRC-style config.
|
|
297
|
-
* @param {...string} configsToExtend The names of the configs to load.
|
|
298
|
-
* @returns {Object[]} An array of flag-config objects representing the config.
|
|
299
|
-
*/
|
|
300
|
-
extends(...configsToExtend) {
|
|
301
|
-
return this.config({
|
|
302
|
-
extends: configsToExtend
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
/**
|
|
307
|
-
* Translates the `plugins` section of an ESLintRC-style config.
|
|
308
|
-
* @param {...string} plugins The names of the plugins to load.
|
|
309
|
-
* @returns {Object[]} An array of flag-config objects representing the plugins.
|
|
310
|
-
*/
|
|
311
|
-
plugins(...plugins) {
|
|
312
|
-
return this.config({
|
|
313
|
-
plugins
|
|
314
|
-
});
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
export { FlatCompat };
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Package exports for @eslint/eslintrc
|
|
3
|
-
* @author Nicholas C. Zakas
|
|
4
|
-
*/
|
|
5
|
-
//------------------------------------------------------------------------------
|
|
6
|
-
// Requirements
|
|
7
|
-
//------------------------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
import * as ConfigOps from "./shared/config-ops.js";
|
|
10
|
-
import ConfigValidator from "./shared/config-validator.js";
|
|
11
|
-
import * as naming from "./shared/naming.js";
|
|
12
|
-
import environments from "../conf/environments.js";
|
|
13
|
-
|
|
14
|
-
//-----------------------------------------------------------------------------
|
|
15
|
-
// Exports
|
|
16
|
-
//-----------------------------------------------------------------------------
|
|
17
|
-
|
|
18
|
-
const Legacy = {
|
|
19
|
-
environments,
|
|
20
|
-
|
|
21
|
-
// shared
|
|
22
|
-
ConfigOps,
|
|
23
|
-
ConfigValidator,
|
|
24
|
-
naming
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export {
|
|
28
|
-
Legacy
|
|
29
|
-
};
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview Package exports for @eslint/eslintrc
|
|
3
|
-
* @author Nicholas C. Zakas
|
|
4
|
-
*/
|
|
5
|
-
//------------------------------------------------------------------------------
|
|
6
|
-
// Requirements
|
|
7
|
-
//------------------------------------------------------------------------------
|
|
8
|
-
|
|
9
|
-
import {
|
|
10
|
-
ConfigArrayFactory,
|
|
11
|
-
createContext as createConfigArrayFactoryContext
|
|
12
|
-
} from "./config-array-factory.js";
|
|
13
|
-
|
|
14
|
-
import { CascadingConfigArrayFactory } from "./cascading-config-array-factory.js";
|
|
15
|
-
import * as ModuleResolver from "./shared/relative-module-resolver.js";
|
|
16
|
-
import { ConfigArray, getUsedExtractedConfigs } from "./config-array/index.js";
|
|
17
|
-
import { ConfigDependency } from "./config-array/config-dependency.js";
|
|
18
|
-
import { ExtractedConfig } from "./config-array/extracted-config.js";
|
|
19
|
-
import { IgnorePattern } from "./config-array/ignore-pattern.js";
|
|
20
|
-
import { OverrideTester } from "./config-array/override-tester.js";
|
|
21
|
-
import * as ConfigOps from "./shared/config-ops.js";
|
|
22
|
-
import ConfigValidator from "./shared/config-validator.js";
|
|
23
|
-
import * as naming from "./shared/naming.js";
|
|
24
|
-
import { FlatCompat } from "./flat-compat.js";
|
|
25
|
-
import environments from "../conf/environments.js";
|
|
26
|
-
|
|
27
|
-
//-----------------------------------------------------------------------------
|
|
28
|
-
// Exports
|
|
29
|
-
//-----------------------------------------------------------------------------
|
|
30
|
-
|
|
31
|
-
const Legacy = {
|
|
32
|
-
ConfigArray,
|
|
33
|
-
createConfigArrayFactoryContext,
|
|
34
|
-
CascadingConfigArrayFactory,
|
|
35
|
-
ConfigArrayFactory,
|
|
36
|
-
ConfigDependency,
|
|
37
|
-
ExtractedConfig,
|
|
38
|
-
IgnorePattern,
|
|
39
|
-
OverrideTester,
|
|
40
|
-
getUsedExtractedConfigs,
|
|
41
|
-
environments,
|
|
42
|
-
|
|
43
|
-
// shared
|
|
44
|
-
ConfigOps,
|
|
45
|
-
ConfigValidator,
|
|
46
|
-
ModuleResolver,
|
|
47
|
-
naming
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export {
|
|
51
|
-
|
|
52
|
-
Legacy,
|
|
53
|
-
|
|
54
|
-
FlatCompat
|
|
55
|
-
|
|
56
|
-
};
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @fileoverview The instance of Ajv validator.
|
|
3
|
-
* @author Evgeny Poberezkin
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
//------------------------------------------------------------------------------
|
|
7
|
-
// Requirements
|
|
8
|
-
//------------------------------------------------------------------------------
|
|
9
|
-
|
|
10
|
-
import Ajv from "ajv";
|
|
11
|
-
|
|
12
|
-
//-----------------------------------------------------------------------------
|
|
13
|
-
// Helpers
|
|
14
|
-
//-----------------------------------------------------------------------------
|
|
15
|
-
|
|
16
|
-
/*
|
|
17
|
-
* Copied from ajv/lib/refs/json-schema-draft-04.json
|
|
18
|
-
* The MIT License (MIT)
|
|
19
|
-
* Copyright (c) 2015-2017 Evgeny Poberezkin
|
|
20
|
-
*/
|
|
21
|
-
const metaSchema = {
|
|
22
|
-
id: "http://json-schema.org/draft-04/schema#",
|
|
23
|
-
$schema: "http://json-schema.org/draft-04/schema#",
|
|
24
|
-
description: "Core schema meta-schema",
|
|
25
|
-
definitions: {
|
|
26
|
-
schemaArray: {
|
|
27
|
-
type: "array",
|
|
28
|
-
minItems: 1,
|
|
29
|
-
items: { $ref: "#" }
|
|
30
|
-
},
|
|
31
|
-
positiveInteger: {
|
|
32
|
-
type: "integer",
|
|
33
|
-
minimum: 0
|
|
34
|
-
},
|
|
35
|
-
positiveIntegerDefault0: {
|
|
36
|
-
allOf: [{ $ref: "#/definitions/positiveInteger" }, { default: 0 }]
|
|
37
|
-
},
|
|
38
|
-
simpleTypes: {
|
|
39
|
-
enum: ["array", "boolean", "integer", "null", "number", "object", "string"]
|
|
40
|
-
},
|
|
41
|
-
stringArray: {
|
|
42
|
-
type: "array",
|
|
43
|
-
items: { type: "string" },
|
|
44
|
-
minItems: 1,
|
|
45
|
-
uniqueItems: true
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
type: "object",
|
|
49
|
-
properties: {
|
|
50
|
-
id: {
|
|
51
|
-
type: "string"
|
|
52
|
-
},
|
|
53
|
-
$schema: {
|
|
54
|
-
type: "string"
|
|
55
|
-
},
|
|
56
|
-
title: {
|
|
57
|
-
type: "string"
|
|
58
|
-
},
|
|
59
|
-
description: {
|
|
60
|
-
type: "string"
|
|
61
|
-
},
|
|
62
|
-
default: { },
|
|
63
|
-
multipleOf: {
|
|
64
|
-
type: "number",
|
|
65
|
-
minimum: 0,
|
|
66
|
-
exclusiveMinimum: true
|
|
67
|
-
},
|
|
68
|
-
maximum: {
|
|
69
|
-
type: "number"
|
|
70
|
-
},
|
|
71
|
-
exclusiveMaximum: {
|
|
72
|
-
type: "boolean",
|
|
73
|
-
default: false
|
|
74
|
-
},
|
|
75
|
-
minimum: {
|
|
76
|
-
type: "number"
|
|
77
|
-
},
|
|
78
|
-
exclusiveMinimum: {
|
|
79
|
-
type: "boolean",
|
|
80
|
-
default: false
|
|
81
|
-
},
|
|
82
|
-
maxLength: { $ref: "#/definitions/positiveInteger" },
|
|
83
|
-
minLength: { $ref: "#/definitions/positiveIntegerDefault0" },
|
|
84
|
-
pattern: {
|
|
85
|
-
type: "string",
|
|
86
|
-
format: "regex"
|
|
87
|
-
},
|
|
88
|
-
additionalItems: {
|
|
89
|
-
anyOf: [
|
|
90
|
-
{ type: "boolean" },
|
|
91
|
-
{ $ref: "#" }
|
|
92
|
-
],
|
|
93
|
-
default: { }
|
|
94
|
-
},
|
|
95
|
-
items: {
|
|
96
|
-
anyOf: [
|
|
97
|
-
{ $ref: "#" },
|
|
98
|
-
{ $ref: "#/definitions/schemaArray" }
|
|
99
|
-
],
|
|
100
|
-
default: { }
|
|
101
|
-
},
|
|
102
|
-
maxItems: { $ref: "#/definitions/positiveInteger" },
|
|
103
|
-
minItems: { $ref: "#/definitions/positiveIntegerDefault0" },
|
|
104
|
-
uniqueItems: {
|
|
105
|
-
type: "boolean",
|
|
106
|
-
default: false
|
|
107
|
-
},
|
|
108
|
-
maxProperties: { $ref: "#/definitions/positiveInteger" },
|
|
109
|
-
minProperties: { $ref: "#/definitions/positiveIntegerDefault0" },
|
|
110
|
-
required: { $ref: "#/definitions/stringArray" },
|
|
111
|
-
additionalProperties: {
|
|
112
|
-
anyOf: [
|
|
113
|
-
{ type: "boolean" },
|
|
114
|
-
{ $ref: "#" }
|
|
115
|
-
],
|
|
116
|
-
default: { }
|
|
117
|
-
},
|
|
118
|
-
definitions: {
|
|
119
|
-
type: "object",
|
|
120
|
-
additionalProperties: { $ref: "#" },
|
|
121
|
-
default: { }
|
|
122
|
-
},
|
|
123
|
-
properties: {
|
|
124
|
-
type: "object",
|
|
125
|
-
additionalProperties: { $ref: "#" },
|
|
126
|
-
default: { }
|
|
127
|
-
},
|
|
128
|
-
patternProperties: {
|
|
129
|
-
type: "object",
|
|
130
|
-
additionalProperties: { $ref: "#" },
|
|
131
|
-
default: { }
|
|
132
|
-
},
|
|
133
|
-
dependencies: {
|
|
134
|
-
type: "object",
|
|
135
|
-
additionalProperties: {
|
|
136
|
-
anyOf: [
|
|
137
|
-
{ $ref: "#" },
|
|
138
|
-
{ $ref: "#/definitions/stringArray" }
|
|
139
|
-
]
|
|
140
|
-
}
|
|
141
|
-
},
|
|
142
|
-
enum: {
|
|
143
|
-
type: "array",
|
|
144
|
-
minItems: 1,
|
|
145
|
-
uniqueItems: true
|
|
146
|
-
},
|
|
147
|
-
type: {
|
|
148
|
-
anyOf: [
|
|
149
|
-
{ $ref: "#/definitions/simpleTypes" },
|
|
150
|
-
{
|
|
151
|
-
type: "array",
|
|
152
|
-
items: { $ref: "#/definitions/simpleTypes" },
|
|
153
|
-
minItems: 1,
|
|
154
|
-
uniqueItems: true
|
|
155
|
-
}
|
|
156
|
-
]
|
|
157
|
-
},
|
|
158
|
-
format: { type: "string" },
|
|
159
|
-
allOf: { $ref: "#/definitions/schemaArray" },
|
|
160
|
-
anyOf: { $ref: "#/definitions/schemaArray" },
|
|
161
|
-
oneOf: { $ref: "#/definitions/schemaArray" },
|
|
162
|
-
not: { $ref: "#" }
|
|
163
|
-
},
|
|
164
|
-
dependencies: {
|
|
165
|
-
exclusiveMaximum: ["maximum"],
|
|
166
|
-
exclusiveMinimum: ["minimum"]
|
|
167
|
-
},
|
|
168
|
-
default: { }
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
//------------------------------------------------------------------------------
|
|
172
|
-
// Public Interface
|
|
173
|
-
//------------------------------------------------------------------------------
|
|
174
|
-
|
|
175
|
-
export default (additionalOptions = {}) => {
|
|
176
|
-
const ajv = new Ajv({
|
|
177
|
-
meta: false,
|
|
178
|
-
useDefaults: true,
|
|
179
|
-
validateSchema: false,
|
|
180
|
-
missingRefs: "ignore",
|
|
181
|
-
verbose: true,
|
|
182
|
-
schemaId: "auto",
|
|
183
|
-
...additionalOptions
|
|
184
|
-
});
|
|
185
|
-
|
|
186
|
-
ajv.addMetaSchema(metaSchema);
|
|
187
|
-
// eslint-disable-next-line no-underscore-dangle
|
|
188
|
-
ajv._opts.defaultMeta = metaSchema.id;
|
|
189
|
-
|
|
190
|
-
return ajv;
|
|
191
|
-
};
|