@matrixai/lint 0.4.4 → 0.4.5

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.
Files changed (57) hide show
  1. package/README.md +34 -4
  2. package/dist/LintDomainPluginBase.d.ts +9 -0
  3. package/dist/LintDomainPluginBase.js +12 -0
  4. package/dist/LintDomainPluginBase.js.map +1 -0
  5. package/dist/bin/matrixai-lint.js +7 -2
  6. package/dist/bin/matrixai-lint.js.map +1 -1
  7. package/dist/configs/eslint.d.ts +0 -5
  8. package/dist/configs/eslint.js +6 -2
  9. package/dist/configs/eslint.js.map +1 -1
  10. package/dist/domainEngine.d.ts +32 -0
  11. package/dist/{domains/engine.js → domainEngine.js} +1 -1
  12. package/dist/{domains/engine.js.map → domainEngine.js.map} +1 -1
  13. package/dist/{domains/index.d.ts → domains.d.ts} +4 -3
  14. package/dist/{domains/index.js → domains.js} +28 -15
  15. package/dist/domains.js.map +1 -0
  16. package/dist/eslint/ESLintDomainPlugin.d.ts +9 -0
  17. package/dist/eslint/ESLintDomainPlugin.js +86 -0
  18. package/dist/eslint/ESLintDomainPlugin.js.map +1 -0
  19. package/dist/eslint/rules/no-aliased-imports.js.map +1 -0
  20. package/dist/eslint/utils.d.ts +15 -0
  21. package/dist/eslint/utils.js +271 -0
  22. package/dist/eslint/utils.js.map +1 -0
  23. package/dist/markdown/MarkdownDomainPlugin.d.ts +11 -0
  24. package/dist/markdown/MarkdownDomainPlugin.js +116 -0
  25. package/dist/markdown/MarkdownDomainPlugin.js.map +1 -0
  26. package/dist/nix/NixDomainPlugin.d.ts +11 -0
  27. package/dist/nix/NixDomainPlugin.js +73 -0
  28. package/dist/nix/NixDomainPlugin.js.map +1 -0
  29. package/dist/shell/ShellDomainPlugin.d.ts +11 -0
  30. package/dist/shell/ShellDomainPlugin.js +65 -0
  31. package/dist/shell/ShellDomainPlugin.js.map +1 -0
  32. package/dist/tsbuildinfo +1 -1
  33. package/dist/types.d.ts +46 -2
  34. package/dist/utils.d.ts +5 -49
  35. package/dist/utils.js +150 -276
  36. package/dist/utils.js.map +1 -1
  37. package/package.json +3 -3
  38. package/dist/domains/engine.d.ts +0 -72
  39. package/dist/domains/eslint.d.ts +0 -3
  40. package/dist/domains/eslint.js +0 -92
  41. package/dist/domains/eslint.js.map +0 -1
  42. package/dist/domains/files.d.ts +0 -5
  43. package/dist/domains/files.js +0 -185
  44. package/dist/domains/files.js.map +0 -1
  45. package/dist/domains/index.js.map +0 -1
  46. package/dist/domains/markdown.d.ts +0 -5
  47. package/dist/domains/markdown.js +0 -117
  48. package/dist/domains/markdown.js.map +0 -1
  49. package/dist/domains/shell.d.ts +0 -5
  50. package/dist/domains/shell.js +0 -67
  51. package/dist/domains/shell.js.map +0 -1
  52. package/dist/plugins/eslint-plugin-matrixai.d.ts +0 -18
  53. package/dist/plugins/eslint-plugin-matrixai.js +0 -13
  54. package/dist/plugins/eslint-plugin-matrixai.js.map +0 -1
  55. package/dist/rules/no-aliased-imports.js.map +0 -1
  56. /package/dist/{rules → eslint/rules}/no-aliased-imports.d.ts +0 -0
  57. /package/dist/{rules → eslint/rules}/no-aliased-imports.js +0 -0
package/dist/utils.js CHANGED
@@ -2,29 +2,10 @@ import path from 'node:path';
2
2
  import process from 'node:process';
3
3
  import childProcess from 'node:child_process';
4
4
  import fs from 'node:fs';
5
- import url from 'node:url';
6
- import ts from 'typescript';
7
- import { ESLint } from 'eslint';
5
+ import { minimatch } from 'minimatch';
8
6
  import { LogLevel } from '@matrixai/logger';
9
- import { resolveLintConfig } from './config.js';
10
- const ESLINT_TARGET_EXTENSIONS = [
11
- 'js',
12
- 'mjs',
13
- 'cjs',
14
- 'jsx',
15
- 'ts',
16
- 'tsx',
17
- 'mts',
18
- 'cts',
19
- 'json',
20
- ];
21
- const ESLINT_TARGET_EXTENSION_GLOB = `.{${ESLINT_TARGET_EXTENSIONS.join(',')}}`;
22
- const DEFAULT_IGNORE_PATTERNS = [
23
- 'node_modules/**',
24
- 'bower_components/**',
25
- 'jspm_packages/**',
26
- ];
27
7
  const GLOB_META_PATTERN = /[*?[\]{}()!+@]/;
8
+ const EXCLUDED_DIR_NAMES = new Set(['.git', 'node_modules', 'dist']);
28
9
  /**
29
10
  * Convert verbosity count to logger level.
30
11
  */
@@ -38,124 +19,6 @@ function verboseToLogLevel(c = 0) {
38
19
  }
39
20
  return logLevel;
40
21
  }
41
- async function runESLint({ fix, configPath, explicitGlobs, resolvedConfig, logger, }) {
42
- const dirname = path.dirname(url.fileURLToPath(import.meta.url));
43
- const defaultConfigPath = path.resolve(dirname, './configs/eslint.js');
44
- const lintConfig = resolvedConfig ?? resolveLintConfig();
45
- const parserProjectOverride = {
46
- languageOptions: {
47
- parserOptions: {
48
- project: lintConfig.domains.eslint.tsconfigPaths,
49
- },
50
- },
51
- };
52
- // PATH A - user supplied explicit globs
53
- if (explicitGlobs?.length) {
54
- logger.info('Linting with explicit patterns:');
55
- explicitGlobs.forEach((pattern) => {
56
- logger.info(`Linting: ${pattern}`);
57
- });
58
- const eslint = new ESLint({
59
- overrideConfigFile: configPath || defaultConfigPath,
60
- fix,
61
- errorOnUnmatchedPattern: false,
62
- warnIgnored: false,
63
- ignorePatterns: [],
64
- cache: true,
65
- cacheLocation: '.cache/matrixai-lint/eslint/.eslintcache',
66
- cacheStrategy: 'content',
67
- overrideConfig: parserProjectOverride,
68
- });
69
- return await lintAndReport(eslint, explicitGlobs, fix, logger);
70
- }
71
- // PATH B - default behaviour (tsconfig + matrix config)
72
- const { forceInclude, tsconfigPaths } = lintConfig.domains.eslint;
73
- if (tsconfigPaths.length === 0) {
74
- logger.error('[matrixai-lint] ⚠ No tsconfig.json files found.');
75
- return true;
76
- }
77
- logger.info(`Found ${tsconfigPaths.length} tsconfig.json files:`);
78
- tsconfigPaths.forEach((tsconfigPath) => {
79
- logger.info(`Using tsconfig: ${tsconfigPath}`);
80
- });
81
- const { files: patterns, ignore: ignorePats } = buildPatterns(tsconfigPaths, forceInclude, process.cwd(), lintConfig.root);
82
- if (patterns.length === 0) {
83
- logger.warn('[matrixai-lint] ⚠ No ESLint targets were derived from configured tsconfig paths.');
84
- return false;
85
- }
86
- logger.info('Linting files:');
87
- patterns.forEach((pattern) => {
88
- logger.info(`Linting: ${pattern}`);
89
- });
90
- const eslint = new ESLint({
91
- overrideConfigFile: configPath || defaultConfigPath,
92
- fix,
93
- errorOnUnmatchedPattern: false,
94
- warnIgnored: false,
95
- ignorePatterns: ignorePats,
96
- cache: true,
97
- cacheLocation: '.cache/matrixai-lint/eslint/.eslintcache',
98
- cacheStrategy: 'content',
99
- overrideConfig: parserProjectOverride,
100
- });
101
- return await lintAndReport(eslint, patterns, fix, logger);
102
- }
103
- async function lintAndReport(eslint, patterns, fix, logger) {
104
- const results = await eslint.lintFiles(patterns);
105
- if (fix) {
106
- await ESLint.outputFixes(results);
107
- }
108
- const errorCount = results.reduce((sum, result) => sum + result.errorCount, 0);
109
- const warningCount = results.reduce((sum, result) => sum + result.warningCount, 0);
110
- logger.info(`ESLint summary: files=${results.length} errors=${errorCount} warnings=${warningCount} fix=${fix ? 'on' : 'off'}`);
111
- const formatter = await eslint.loadFormatter('stylish');
112
- const formattedOutput = await formatter.format(results);
113
- for (const line of formattedOutput.split(/\r?\n/)) {
114
- const normalizedLine = line.trim();
115
- if (normalizedLine.length > 0) {
116
- logger.info(`ESLint detail: ${normalizedLine}`);
117
- }
118
- }
119
- const hasErrors = errorCount > 0;
120
- return hasErrors;
121
- }
122
- /**
123
- * Find the user's ESLint config file in the current working directory.
124
- * It looks for the following files:
125
- * - eslint.config.js
126
- * - eslint.config.mjs
127
- * - eslint.config.cjs
128
- * - eslint.config.ts
129
- *
130
- * @param repoRoot The root directory of the repository (default: process.cwd())
131
- * @returns The path to the ESLint config file, or null if not found.
132
- */
133
- function findUserESLintConfig(repoRoot = process.cwd()) {
134
- const candidates = [
135
- 'eslint.config.js',
136
- 'eslint.config.mjs',
137
- 'eslint.config.cjs',
138
- 'eslint.config.ts',
139
- ];
140
- for (const file of candidates) {
141
- const abs = path.join(repoRoot, file);
142
- if (fs.existsSync(abs))
143
- return abs;
144
- }
145
- return undefined;
146
- }
147
- /**
148
- * Collect all Markdown files in a directory and its subdirectories.
149
- *
150
- * @param dir The directory to search in.
151
- * @returns An array of paths to Markdown files.
152
- */
153
- function collectMarkdown(dir) {
154
- const files = fs.readdirSync(dir, { encoding: 'utf8', recursive: true });
155
- return files
156
- .filter((f) => /\.(md|mdx)$/i.test(f))
157
- .map((f) => path.join(dir, f));
158
- }
159
22
  /**
160
23
  * Check if a command exists in the system PATH.
161
24
  *
@@ -167,171 +30,182 @@ function commandExists(cmd) {
167
30
  const result = childProcess.spawnSync(whichCmd, [cmd], { stdio: 'ignore' });
168
31
  return result.status === 0;
169
32
  }
170
- function toStringArray(value) {
171
- if (typeof value === 'string') {
172
- return [value];
173
- }
174
- if (Array.isArray(value)) {
175
- return value.filter((item) => typeof item === 'string');
176
- }
177
- return [];
33
+ function normalizePathForGlob(value) {
34
+ return value.replace(/\\/g, '/').replace(/^\.\//, '');
178
35
  }
179
- function dedupeAndSort(values) {
180
- return [...new Set(values)].sort();
36
+ function normalizePatternForSearchRoot(pattern) {
37
+ return pattern.trim().replace(/\\/g, '/');
181
38
  }
182
- function normalizeGlobValue(value) {
183
- return value.trim().replace(/\\/g, '/').replace(/^\.\//, '');
39
+ function toPosixRelativePath(filePath, cwd = process.cwd()) {
40
+ const relativePath = path.relative(cwd, filePath).split(path.sep).join('/');
41
+ if (relativePath === '') {
42
+ return '.';
43
+ }
44
+ return relativePath;
184
45
  }
185
- function rebasePatternToCwd({ pattern, baseDir, cwd, }) {
186
- const normalizedPattern = normalizeGlobValue(pattern);
46
+ function normalizePatternForMatching(pattern, cwd = process.cwd()) {
47
+ const normalizedPattern = normalizePathForGlob(pattern.trim());
187
48
  if (normalizedPattern.length === 0) {
188
49
  return '';
189
50
  }
190
51
  const platformPattern = normalizedPattern.split('/').join(path.sep);
191
52
  const absolutePattern = path.isAbsolute(platformPattern)
192
53
  ? platformPattern
193
- : path.resolve(baseDir, platformPattern);
194
- const relativePattern = path
195
- .relative(cwd, absolutePattern)
196
- .split(path.sep)
197
- .join('/');
198
- if (relativePattern.length === 0) {
199
- return '.';
200
- }
201
- return normalizeGlobValue(relativePattern);
54
+ : path.resolve(cwd, platformPattern);
55
+ return toPosixRelativePath(absolutePattern, cwd);
202
56
  }
203
- function hasExtensionOrGlobExtensionPattern(value) {
204
- return /(^|\/)[^/]*\.[^/]*$/.test(value);
57
+ function isGlobPattern(value) {
58
+ return GLOB_META_PATTERN.test(value);
205
59
  }
206
- function expandExtensionlessPattern(value) {
207
- const normalized = normalizeGlobValue(value).replace(/\/+$/, '');
208
- if (normalized.length === 0) {
209
- return '';
210
- }
211
- if (hasExtensionOrGlobExtensionPattern(normalized)) {
212
- return normalized;
213
- }
214
- if (!GLOB_META_PATTERN.test(normalized)) {
215
- return `${normalized}/**/*${ESLINT_TARGET_EXTENSION_GLOB}`;
60
+ function patternToSearchRoot(pattern, cwd = process.cwd()) {
61
+ const normalizedPattern = normalizePatternForSearchRoot(pattern);
62
+ if (!isGlobPattern(normalizedPattern)) {
63
+ return path.resolve(cwd, normalizedPattern);
216
64
  }
217
- if (normalized === '**') {
218
- return `**/*${ESLINT_TARGET_EXTENSION_GLOB}`;
219
- }
220
- if (normalized.endsWith('/**')) {
221
- return `${normalized}/*${ESLINT_TARGET_EXTENSION_GLOB}`;
222
- }
223
- return `${normalized}${ESLINT_TARGET_EXTENSION_GLOB}`;
224
- }
225
- function normalizeIncludePatterns(values) {
226
- return dedupeAndSort(values
227
- .map((value) => expandExtensionlessPattern(value))
228
- .filter((value) => value.length > 0));
229
- }
230
- function normalizeExcludePatterns(values) {
231
- return dedupeAndSort(values
232
- .map((value) => normalizeGlobValue(value).replace(/\/+$/, ''))
233
- .filter((value) => value.length > 0));
234
- }
235
- function patternPrefix(value) {
236
- const normalized = normalizeGlobValue(value);
237
- const segments = normalized
238
- .split('/')
65
+ const platformPattern = normalizedPattern.split('/').join(path.sep);
66
+ const segments = platformPattern
67
+ .split(path.sep)
239
68
  .filter((segment) => segment.length > 0);
240
- const prefixSegments = [];
69
+ const rootSegments = [];
241
70
  for (const segment of segments) {
242
- if (GLOB_META_PATTERN.test(segment)) {
71
+ if (isGlobPattern(segment)) {
243
72
  break;
244
73
  }
245
- prefixSegments.push(segment);
74
+ rootSegments.push(segment);
246
75
  }
247
- return prefixSegments.join('/');
248
- }
249
- function patternsOverlapByPrefix(left, right) {
250
- if (left === right) {
251
- return true;
76
+ if (rootSegments.length === 0) {
77
+ return cwd;
252
78
  }
253
- const leftPrefix = patternPrefix(left);
254
- const rightPrefix = patternPrefix(right);
255
- if (leftPrefix.length === 0 || rightPrefix.length === 0) {
256
- return false;
79
+ return path.resolve(cwd, ...rootSegments);
80
+ }
81
+ function resolveSearchRootsFromPatterns(patterns, cwd = process.cwd()) {
82
+ const existingRoots = new Set();
83
+ for (const pattern of patterns) {
84
+ const root = patternToSearchRoot(pattern, cwd);
85
+ if (fs.existsSync(root)) {
86
+ existingRoots.add(root);
87
+ }
257
88
  }
258
- return (leftPrefix === rightPrefix ||
259
- leftPrefix.startsWith(`${rightPrefix}/`) ||
260
- rightPrefix.startsWith(`${leftPrefix}/`));
89
+ return [...existingRoots].sort();
261
90
  }
262
- /**
263
- * Builds file and ignore patterns based on a given TypeScript configuration file path,
264
- * with optional forced inclusion of specific paths.
265
- *
266
- * @param tsconfigPaths - One or more paths to TypeScript configuration files.
267
- * @param forceInclude - An optional array of paths or patterns to forcefully include,
268
- * even if they overlap with excluded patterns.
269
- * @returns An object containing:
270
- * - `files`: An array of glob patterns for files to include.
271
- * - `ignore`: An array of glob patterns for files or directories to ignore.
272
- *
273
- * The function reads the `include` and `exclude` properties from the TypeScript
274
- * configuration file, processes them into glob patterns, and applies overrides
275
- * based on the `forceInclude` parameter. If no `exclude` patterns are specified,
276
- * default ignore patterns for common directories like `node_modules` are added.
277
- */
278
- function buildPatterns(tsconfigPaths, forceInclude = [], cwd = process.cwd(), forceIncludeBaseDir = cwd) {
279
- const normalizedForceInclude = normalizeIncludePatterns(forceInclude.map((value) => rebasePatternToCwd({ pattern: value, baseDir: forceIncludeBaseDir, cwd })));
280
- const forceIncludeRaw = dedupeAndSort(forceInclude
281
- .map((value) => rebasePatternToCwd({
282
- pattern: value,
283
- baseDir: forceIncludeBaseDir,
284
- cwd,
285
- }))
286
- .map((value) => normalizeGlobValue(value).replace(/\/+$/, ''))
287
- .filter((value) => value.length > 0));
288
- const includePatternsByTsconfig = [];
289
- const excludePatternsByTsconfig = [];
290
- for (const tsconfigPath of tsconfigPaths) {
291
- if (!fs.existsSync(tsconfigPath)) {
91
+ function collectFilesByExtensions(searchRoots, extensions) {
92
+ const extensionSet = new Set(extensions.map((ext) => ext.toLowerCase()));
93
+ const matchedFiles = new Set();
94
+ const visitPath = (entryPath) => {
95
+ let entryStats;
96
+ try {
97
+ entryStats = fs.statSync(entryPath);
98
+ }
99
+ catch {
100
+ return;
101
+ }
102
+ if (entryStats.isFile()) {
103
+ const extension = path.extname(entryPath).toLowerCase();
104
+ if (extensionSet.has(extension)) {
105
+ matchedFiles.add(entryPath);
106
+ }
107
+ return;
108
+ }
109
+ if (!entryStats.isDirectory()) {
110
+ return;
111
+ }
112
+ let dirEntries;
113
+ try {
114
+ dirEntries = fs.readdirSync(entryPath, { withFileTypes: true });
115
+ }
116
+ catch {
117
+ return;
118
+ }
119
+ for (const dirEntry of dirEntries) {
120
+ const childPath = path.join(entryPath, dirEntry.name);
121
+ if (dirEntry.isDirectory()) {
122
+ if (EXCLUDED_DIR_NAMES.has(dirEntry.name)) {
123
+ continue;
124
+ }
125
+ visitPath(childPath);
126
+ }
127
+ else if (dirEntry.isFile()) {
128
+ visitPath(childPath);
129
+ }
130
+ }
131
+ };
132
+ for (const searchRoot of searchRoots) {
133
+ visitPath(searchRoot);
134
+ }
135
+ return [...matchedFiles].sort();
136
+ }
137
+ function resolveFilesFromPatterns(patterns, extensions, cwd = process.cwd()) {
138
+ const normalizedPatterns = [...new Set(patterns)]
139
+ .map((pattern) => pattern.trim())
140
+ .filter((pattern) => pattern.length > 0);
141
+ if (normalizedPatterns.length === 0) {
142
+ return [];
143
+ }
144
+ const extensionSet = new Set(extensions.map((extension) => extension.toLowerCase()));
145
+ const matchedFiles = new Set();
146
+ const literalFiles = new Set();
147
+ const literalDirectories = new Set();
148
+ const globPatterns = [];
149
+ for (const pattern of normalizedPatterns) {
150
+ const platformPattern = pattern.replace(/\//g, path.sep);
151
+ const absolutePath = path.isAbsolute(platformPattern)
152
+ ? platformPattern
153
+ : path.resolve(cwd, platformPattern);
154
+ let stats;
155
+ try {
156
+ stats = fs.statSync(absolutePath);
157
+ }
158
+ catch {
159
+ stats = undefined;
160
+ }
161
+ if (stats?.isFile()) {
162
+ literalFiles.add(absolutePath);
292
163
  continue;
293
164
  }
294
- const tsconfigDir = path.dirname(tsconfigPath);
295
- const readResult = ts.readConfigFile(tsconfigPath, ts.sys.readFile);
296
- if (readResult.error != null || readResult.config == null) {
165
+ if (stats?.isDirectory()) {
166
+ literalDirectories.add(absolutePath);
167
+ continue;
168
+ }
169
+ if (isGlobPattern(pattern)) {
170
+ globPatterns.push(pattern);
297
171
  continue;
298
172
  }
299
- const config = readResult.config;
300
- const rawInclude = toStringArray(config.include).map((pattern) => rebasePatternToCwd({ pattern, baseDir: tsconfigDir, cwd }));
301
- const defaultInclude = rebasePatternToCwd({
302
- pattern: '**/*',
303
- baseDir: tsconfigDir,
304
- cwd,
305
- });
306
- const normalizedInclude = normalizeIncludePatterns(rawInclude.length > 0 ? rawInclude : [defaultInclude]);
307
- const normalizedExclude = normalizeExcludePatterns(toStringArray(config.exclude).map((pattern) => rebasePatternToCwd({ pattern, baseDir: tsconfigDir, cwd })));
308
- includePatternsByTsconfig.push(normalizedInclude);
309
- excludePatternsByTsconfig.push(normalizedExclude);
310
173
  }
311
- const include = dedupeAndSort([
312
- ...includePatternsByTsconfig.flat(),
313
- ...normalizedForceInclude,
314
- ]);
315
- const ignoreCandidates = [];
316
- excludePatternsByTsconfig.forEach((excludePatterns, index) => {
317
- if (excludePatterns.length === 0) {
318
- ignoreCandidates.push(...DEFAULT_IGNORE_PATTERNS);
319
- return;
174
+ for (const literalFile of literalFiles) {
175
+ const extension = path.extname(literalFile).toLowerCase();
176
+ if (extensionSet.has(extension)) {
177
+ matchedFiles.add(literalFile);
320
178
  }
321
- for (const excludePattern of excludePatterns) {
322
- const overlappedByOtherTsconfigInclude = includePatternsByTsconfig.some((includePatterns, includeIndex) => includeIndex !== index &&
323
- includePatterns.some((includePattern) => patternsOverlapByPrefix(includePattern, excludePattern)));
324
- if (!overlappedByOtherTsconfigInclude) {
325
- ignoreCandidates.push(excludePattern);
179
+ }
180
+ for (const literalDirectory of literalDirectories) {
181
+ const files = collectFilesByExtensions([literalDirectory], extensions);
182
+ files.forEach((file) => matchedFiles.add(file));
183
+ }
184
+ if (globPatterns.length > 0) {
185
+ const globRoots = resolveSearchRootsFromPatterns(globPatterns, cwd);
186
+ const globCandidates = collectFilesByExtensions(globRoots, extensions);
187
+ const normalizedGlobPatterns = globPatterns
188
+ .map((pattern) => normalizePatternForMatching(pattern, cwd))
189
+ .filter((pattern) => pattern.length > 0);
190
+ for (const candidate of globCandidates) {
191
+ const relativeCandidatePath = toPosixRelativePath(candidate, cwd);
192
+ if (normalizedGlobPatterns.some((pattern) => minimatch(relativeCandidatePath, pattern, {
193
+ dot: true,
194
+ }))) {
195
+ matchedFiles.add(candidate);
326
196
  }
327
197
  }
198
+ }
199
+ return relativizeFiles([...matchedFiles].sort(), cwd);
200
+ }
201
+ function relativizeFiles(files, cwd = process.cwd()) {
202
+ return files.map((file) => {
203
+ const relativePath = path.relative(cwd, file);
204
+ if (relativePath === '') {
205
+ return '.';
206
+ }
207
+ return relativePath;
328
208
  });
329
- const ignore = dedupeAndSort(ignoreCandidates).filter((ignorePattern) => {
330
- const overlappedByNormalized = normalizedForceInclude.some((forceIncludePattern) => patternsOverlapByPrefix(ignorePattern, forceIncludePattern));
331
- const overlappedByRaw = forceIncludeRaw.some((forceIncludePattern) => patternsOverlapByPrefix(ignorePattern, forceIncludePattern));
332
- return !overlappedByNormalized && !overlappedByRaw;
333
- });
334
- return { files: include, ignore };
335
209
  }
336
- export { verboseToLogLevel, runESLint, findUserESLintConfig, collectMarkdown, commandExists, buildPatterns, };
210
+ export { collectFilesByExtensions, commandExists, relativizeFiles, resolveFilesFromPatterns, resolveSearchRootsFromPatterns, verboseToLogLevel, };
337
211
  //# sourceMappingURL=utils.js.map
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAE3C,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;AAErE;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAY,CAAC;IACtC,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC;KAC3B;SAAM,IAAI,CAAC,IAAI,CAAC,EAAE;QACjB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;KAC5B;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5E,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,6BAA6B,CAAC,OAAe;IACpD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAChE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5E,IAAI,YAAY,KAAK,EAAE,EAAE;QACvB,OAAO,GAAG,CAAC;KACZ;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,2BAA2B,CAClC,OAAe,EACf,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;QAClC,OAAO,EAAE,CAAC;KACX;IAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QACtD,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAEvC,OAAO,mBAAmB,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC/D,MAAM,iBAAiB,GAAG,6BAA6B,CAAC,OAAO,CAAC,CAAC;IAEjE,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;KAC7C;IAED,MAAM,eAAe,GAAG,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,eAAe;SAC7B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SACf,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;YAC1B,MAAM;SACP;QACD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC5B;IAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;QAC7B,OAAO,GAAG,CAAC;KACZ;IAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,8BAA8B,CACrC,QAA2B,EAC3B,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACvB,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACzB;KACF;IAED,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAA8B,EAC9B,UAA6B;IAE7B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAQ,EAAE;QAC5C,IAAI,UAAoB,CAAC;QACzB,IAAI;YACF,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;SACrC;QAAC,MAAM;YACN,OAAO;SACR;QAED,IAAI,UAAU,CAAC,MAAM,EAAE,EAAE;YACvB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YACxD,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC/B,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC7B;YACD,OAAO;SACR;QAED,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE;YAC7B,OAAO;SACR;QAED,IAAI,UAAuB,CAAC;QAC5B,IAAI;YACF,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;SACjE;QAAC,MAAM;YACN,OAAO;SACR;QAED,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE;YACjC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtD,IAAI,QAAQ,CAAC,WAAW,EAAE,EAAE;gBAC1B,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;oBACzC,SAAS;iBACV;gBACD,SAAS,CAAC,SAAS,CAAC,CAAC;aACtB;iBAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,EAAE;gBAC5B,SAAS,CAAC,SAAS,CAAC,CAAC;aACtB;SACF;IACH,CAAC,CAAC;IAEF,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;QACpC,SAAS,CAAC,UAAU,CAAC,CAAC;KACvB;IAED,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,wBAAwB,CAC/B,QAA2B,EAC3B,UAA6B,EAC7B,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC9C,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE3C,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE;QACnC,OAAO,EAAE,CAAC;KACX;IAED,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;IACF,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE;QACxC,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACzD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;YACnD,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QACvC,IAAI,KAA2B,CAAC;QAEhC,IAAI;YACF,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;SACnC;QAAC,MAAM;YACN,KAAK,GAAG,SAAS,CAAC;SACnB;QAED,IAAI,KAAK,EAAE,MAAM,EAAE,EAAE;YACnB,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC/B,SAAS;SACV;QAED,IAAI,KAAK,EAAE,WAAW,EAAE,EAAE;YACxB,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACrC,SAAS;SACV;QAED,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE;YAC1B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3B,SAAS;SACV;KACF;IAED,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QAC1D,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC/B,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SAC/B;KACF;IAED,KAAK,MAAM,gBAAgB,IAAI,kBAAkB,EAAE;QACjD,MAAM,KAAK,GAAG,wBAAwB,CAAC,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC,CAAC;QACvE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;KACjD;IAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,MAAM,SAAS,GAAG,8BAA8B,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,wBAAwB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACvE,MAAM,sBAAsB,GAAG,YAAY;aACxC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,2BAA2B,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;aAC3D,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE3C,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE;YACtC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAClE,IACE,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtC,SAAS,CAAC,qBAAqB,EAAE,OAAO,EAAE;gBACxC,GAAG,EAAE,IAAI;aACV,CAAC,CACH,EACD;gBACA,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aAC7B;SACF;KACF;IAED,OAAO,eAAe,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,eAAe,CACtB,KAAwB,EACxB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,YAAY,KAAK,EAAE,EAAE;YACvB,OAAO,GAAG,CAAC;SACZ;QACD,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,wBAAwB,EACxB,8BAA8B,EAC9B,iBAAiB,GAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matrixai/lint",
3
- "version": "0.4.4",
3
+ "version": "0.4.5",
4
4
  "author": "Roger Qiu",
5
5
  "description": "Org wide custom eslint rules",
6
6
  "license": "Apache-2.0",
@@ -36,8 +36,8 @@
36
36
  "build": "shx rm -rf ./dist && tsc -p ./tsconfig.build.json && shx chmod +x ./dist/bin/matrixai-lint.js",
37
37
  "postversion": "npm install --package-lock-only --ignore-scripts --silent",
38
38
  "tsx": "tsx",
39
- "lint": "npm run prepare && node ./dist/bin/matrixai-lint.js --domain eslint shell markdown --eslint \"{src,scripts,tests}/**/*.{js,mjs,ts,mts,jsx,tsx}\" --shell src scripts tests",
40
- "lintfix": "npm run prepare && node ./dist/bin/matrixai-lint.js --fix --domain eslint shell markdown --eslint \"{src,scripts,tests}/**/*.{js,mjs,ts,mts,jsx,tsx}\" --shell src scripts tests",
39
+ "lint": "npm run prepare && node ./dist/bin/matrixai-lint.js --domain eslint shell markdown nix --eslint \"{src,scripts,tests}/**/*.{js,mjs,ts,mts,jsx,tsx}\" --shell src scripts tests",
40
+ "lintfix": "npm run prepare && node ./dist/bin/matrixai-lint.js --fix --domain eslint shell markdown nix --eslint \"{src,scripts,tests}/**/*.{js,mjs,ts,mts,jsx,tsx}\" --shell src scripts tests",
41
41
  "lint-shell": "npm run prepare && node ./dist/bin/matrixai-lint.js --domain shell --shell src scripts tests",
42
42
  "docs": "shx rm -rf ./docs && typedoc --gitRevision master --tsconfig ./tsconfig.build.json --out ./docs src",
43
43
  "test": "node ./scripts/test.mjs"
@@ -1,72 +0,0 @@
1
- import type { LintDomain } from '../types.js';
2
- import type Logger from '@matrixai/logger';
3
- type LintDomainEngineContext = {
4
- fix: boolean;
5
- logger: Logger;
6
- chosenConfig?: string;
7
- isConfigValid: boolean;
8
- eslintPatterns?: string[];
9
- shellPatterns?: string[];
10
- markdownPatterns?: string[];
11
- };
12
- type LintDomainAvailabilityKind = 'required' | 'optional';
13
- type LintDomainDetection = {
14
- relevant: boolean;
15
- relevanceReason?: string;
16
- available: boolean;
17
- availabilityKind: LintDomainAvailabilityKind;
18
- unavailableReason?: string;
19
- matchedFiles?: string[];
20
- };
21
- type LintDomainPluginResult = {
22
- hadFailure: boolean;
23
- };
24
- type LintDomainSelectionSource = 'default' | 'domain-flag' | 'target-flag' | 'unselected';
25
- type LintDomainPlannedAction = 'run' | 'skip-unselected' | 'skip-not-relevant' | 'skip-unavailable' | 'fail-unavailable' | 'fail-detection';
26
- type LintDomainDecision = {
27
- domain: LintDomain;
28
- description: string;
29
- selected: boolean;
30
- explicitlyRequested: boolean;
31
- selectionSource: LintDomainSelectionSource;
32
- detection: LintDomainDetection | null;
33
- plannedAction: LintDomainPlannedAction;
34
- detectionError?: string;
35
- };
36
- type LintDomainPlugin = {
37
- domain: LintDomain;
38
- description: string;
39
- detect: ((context: LintDomainEngineContext) => Promise<LintDomainDetection>) | ((context: LintDomainEngineContext) => LintDomainDetection);
40
- run: ((context: LintDomainEngineContext, detection: LintDomainDetection) => Promise<LintDomainPluginResult>) | ((context: LintDomainEngineContext, detection: LintDomainDetection) => LintDomainPluginResult);
41
- };
42
- declare function createLintDomainRegistry(plugins: readonly LintDomainPlugin[]): Map<LintDomain, LintDomainPlugin>;
43
- declare function listLintDomains({ registry, executionOrder, }: {
44
- registry: ReadonlyMap<LintDomain, LintDomainPlugin>;
45
- executionOrder: readonly LintDomain[];
46
- }): Array<{
47
- domain: LintDomain;
48
- description: string;
49
- }>;
50
- declare function evaluateLintDomains({ registry, selectedDomains, explicitlyRequestedDomains, selectionSources, executionOrder, context, }: {
51
- registry: ReadonlyMap<LintDomain, LintDomainPlugin>;
52
- selectedDomains: ReadonlySet<LintDomain>;
53
- explicitlyRequestedDomains: ReadonlySet<LintDomain>;
54
- selectionSources?: ReadonlyMap<LintDomain, LintDomainSelectionSource>;
55
- executionOrder: readonly LintDomain[];
56
- context: LintDomainEngineContext;
57
- }): Promise<LintDomainDecision[]>;
58
- declare function runLintDomainDecisions({ registry, decisions, context, }: {
59
- registry: ReadonlyMap<LintDomain, LintDomainPlugin>;
60
- decisions: readonly LintDomainDecision[];
61
- context: LintDomainEngineContext;
62
- }): Promise<boolean>;
63
- declare function runLintDomains({ registry, selectedDomains, explicitlyRequestedDomains, selectionSources, executionOrder, context, }: {
64
- registry: ReadonlyMap<LintDomain, LintDomainPlugin>;
65
- selectedDomains: ReadonlySet<LintDomain>;
66
- explicitlyRequestedDomains: ReadonlySet<LintDomain>;
67
- selectionSources?: ReadonlyMap<LintDomain, LintDomainSelectionSource>;
68
- executionOrder: readonly LintDomain[];
69
- context: LintDomainEngineContext;
70
- }): Promise<boolean>;
71
- export type { LintDomainDecision, LintDomainPlannedAction, LintDomainSelectionSource, LintDomainAvailabilityKind, LintDomainDetection, LintDomainEngineContext, LintDomainPlugin, LintDomainPluginResult, };
72
- export { createLintDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, runLintDomains, };
@@ -1,3 +0,0 @@
1
- import type { LintDomainPlugin } from './engine.js';
2
- declare function createESLintDomainPlugin(): LintDomainPlugin;
3
- export { createESLintDomainPlugin };