@matrixai/lint 0.1.0 → 0.2.1

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/bin/lint.js CHANGED
@@ -4,32 +4,30 @@ import path from 'node:path';
4
4
  import process from 'node:process';
5
5
  import childProcess from 'node:child_process';
6
6
  import fs from 'node:fs';
7
+ import { Command } from 'commander';
7
8
  import * as utils from '../utils.js';
8
9
  const platform = os.platform();
10
+ const program = new Command();
11
+ const DEFAULT_SHELLCHECK_SEARCH_ROOTS = ['./src', './scripts', './tests'];
12
+ program
13
+ .name('matrixai-lint')
14
+ .description('Lint source files, scripts, and markdown with configured rules.')
15
+ .option('-f, --fix', 'Automatically fix problems')
16
+ .option('--user-config', 'Use user-provided ESLint config instead of built-in one')
17
+ .option('--config <path>', 'Path to explicit ESLint config file')
18
+ .option('--eslint <pat...>', 'Glob(s) to pass to ESLint')
19
+ .option('--shell <pat...>', 'Glob(s) to pass to shell-check')
20
+ .allowUnknownOption(true); // Optional: force rejection of unknown flags
9
21
  /* eslint-disable no-console */
10
22
  async function main(argv = process.argv) {
11
- argv = argv.slice(2);
23
+ await program.parseAsync(argv);
24
+ const options = program.opts();
25
+ const fix = Boolean(options.fix);
26
+ const useUserConfig = Boolean(options.userConfig);
27
+ const explicitConfigPath = options.config;
28
+ const eslintPatterns = options.eslint;
29
+ const shellPatterns = options.shell;
12
30
  let hadFailure = false;
13
- let fix = false;
14
- let useUserConfig = false;
15
- let explicitConfigPath;
16
- const restArgs = [];
17
- while (argv.length > 0) {
18
- const option = argv.shift();
19
- switch (option) {
20
- case '--fix':
21
- fix = true;
22
- break;
23
- case '--user-config':
24
- useUserConfig = true;
25
- break;
26
- case '--config':
27
- explicitConfigPath = argv.shift(); // Grab the next token
28
- break;
29
- default:
30
- restArgs.push(option);
31
- }
32
- }
33
31
  // Resolve which config file to use
34
32
  let chosenConfig;
35
33
  if (explicitConfigPath !== undefined) {
@@ -47,16 +45,22 @@ async function main(argv = process.argv) {
47
45
  }
48
46
  }
49
47
  try {
50
- await utils.runESLint({ fix, configPath: chosenConfig });
48
+ await utils.runESLint({
49
+ fix,
50
+ configPath: chosenConfig,
51
+ explicitGlobs: eslintPatterns,
52
+ });
51
53
  }
52
54
  catch (err) {
53
55
  console.error(`ESLint failed: \n${err}`);
54
56
  hadFailure = true;
55
57
  }
58
+ const searchRoots = (shellPatterns?.length ? shellPatterns : DEFAULT_SHELLCHECK_SEARCH_ROOTS)
59
+ .map((p) => path.resolve(process.cwd(), p))
60
+ .filter((p) => fs.existsSync(p));
56
61
  // Linting shell scripts (this does not have auto-fixing)
57
62
  const shellCheckArgs = [
58
- './src',
59
- './scripts',
63
+ ...searchRoots,
60
64
  '-type',
61
65
  'f',
62
66
  '-regextype',
@@ -70,19 +74,24 @@ async function main(argv = process.argv) {
70
74
  ];
71
75
  if (utils.commandExists('find') && utils.commandExists('shellcheck')) {
72
76
  console.error('Running shellcheck:');
73
- console.error(' ' + ['find', ...shellCheckArgs].join(' '));
74
- try {
75
- childProcess.execFileSync('find', shellCheckArgs, {
76
- stdio: ['inherit', 'inherit', 'inherit'],
77
- windowsHide: true,
78
- encoding: 'utf-8',
79
- shell: platform === 'win32' ? true : false,
80
- cwd: process.cwd(),
81
- });
77
+ if (searchRoots.length === 0) {
78
+ console.warn('No search roots found for shellcheck. Skipping shellcheck.');
82
79
  }
83
- catch (err) {
84
- console.error('Shellcheck failed.' + err);
85
- hadFailure = true;
80
+ else {
81
+ console.error(' ' + ['find', ...shellCheckArgs].join(' '));
82
+ try {
83
+ childProcess.execFileSync('find', shellCheckArgs, {
84
+ stdio: ['inherit', 'inherit', 'inherit'],
85
+ windowsHide: true,
86
+ encoding: 'utf-8',
87
+ shell: platform === 'win32' ? true : false,
88
+ cwd: process.cwd(),
89
+ });
90
+ }
91
+ catch (err) {
92
+ console.error('Shellcheck failed. ' + err);
93
+ hadFailure = true;
94
+ }
86
95
  }
87
96
  }
88
97
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/bin/lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/bin/lint.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -6,4 +6,11 @@ type RawMatrixCfg = Partial<{
6
6
  tsconfigPaths: unknown;
7
7
  forceInclude: unknown;
8
8
  }>;
9
- export type { MatrixAILintCfg, RawMatrixCfg };
9
+ type CLIOptions = {
10
+ fix: boolean;
11
+ userConfig: boolean;
12
+ config?: string;
13
+ eslint?: string[];
14
+ shell?: string[];
15
+ };
16
+ export type { MatrixAILintCfg, RawMatrixCfg, CLIOptions };
package/dist/utils.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import type { MatrixAILintCfg } from './types.js';
2
- declare function runESLint({ fix, configPath, }: {
2
+ declare function runESLint({ fix, configPath, explicitGlobs, }: {
3
3
  fix: boolean;
4
4
  configPath?: string;
5
+ explicitGlobs?: string[];
5
6
  }): Promise<void>;
6
7
  /**
7
8
  * Find the user's ESLint config file in the current working directory.
package/dist/utils.js CHANGED
@@ -6,36 +6,51 @@ import url from 'node:url';
6
6
  import ts from 'typescript';
7
7
  import { ESLint } from 'eslint';
8
8
  /* eslint-disable no-console */
9
- async function runESLint({ fix, configPath, }) {
9
+ async function runESLint({ fix, configPath, explicitGlobs, }) {
10
10
  const dirname = path.dirname(url.fileURLToPath(import.meta.url));
11
11
  const defaultConfigPath = path.resolve(dirname, './configs/js.js');
12
- const matrixaiLintConfig = resolveMatrixConfig();
13
- const forceInclude = matrixaiLintConfig.forceInclude;
14
- const tsconfigPaths = matrixaiLintConfig.tsconfigPaths;
12
+ // PATH A – user supplied explicit globs
13
+ if (explicitGlobs?.length) {
14
+ console.log('Linting with explicit patterns:');
15
+ explicitGlobs.forEach((g) => console.log(' ' + g));
16
+ const eslint = new ESLint({
17
+ overrideConfigFile: configPath || defaultConfigPath,
18
+ fix,
19
+ errorOnUnmatchedPattern: false,
20
+ warnIgnored: false,
21
+ ignorePatterns: [], // Trust caller entirely
22
+ });
23
+ await lintAndReport(eslint, explicitGlobs, fix);
24
+ return;
25
+ }
26
+ // PATH B – default behaviour (tsconfig + matrix config)
27
+ const { forceInclude, tsconfigPaths } = resolveMatrixConfig();
15
28
  if (tsconfigPaths.length === 0) {
16
29
  console.error('[matrixai-lint] ⚠ No tsconfig.json files found.');
17
30
  }
18
31
  console.log(`Found ${tsconfigPaths.length} tsconfig.json files:`);
19
- tsconfigPaths.forEach((tsconfigPath) => console.log(' ' + tsconfigPath));
20
- const { files: lintFiles, ignore } = buildPatterns(tsconfigPaths[0], forceInclude);
32
+ tsconfigPaths.forEach((p) => console.log(' ' + p));
33
+ const { files: patterns, ignore: ignorePats } = buildPatterns(tsconfigPaths[0], forceInclude);
21
34
  console.log('Linting files:');
22
- lintFiles.forEach((file) => console.log(' ' + file));
35
+ patterns.forEach((p) => console.log(' ' + p));
23
36
  const eslint = new ESLint({
24
37
  overrideConfigFile: configPath || defaultConfigPath,
25
38
  fix,
26
39
  errorOnUnmatchedPattern: false,
27
40
  warnIgnored: false,
28
- ignorePatterns: ignore,
41
+ ignorePatterns: ignorePats,
29
42
  });
30
- const results = await eslint.lintFiles(lintFiles);
43
+ await lintAndReport(eslint, patterns, fix);
44
+ }
45
+ async function lintAndReport(eslint, patterns, fix) {
46
+ const results = await eslint.lintFiles(patterns);
31
47
  if (fix) {
32
48
  await ESLint.outputFixes(results);
33
49
  }
34
50
  const formatter = await eslint.loadFormatter('stylish');
35
- const resultText = formatter.format(results);
36
- console.log(resultText);
37
- /* eslint-enable no-console */
51
+ console.log(formatter.format(results));
38
52
  }
53
+ /* eslint-enable no-console */
39
54
  /**
40
55
  * Find the user's ESLint config file in the current working directory.
41
56
  * It looks for the following files:
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":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matrixai/lint",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "author": "Roger Qiu",
5
5
  "description": "Org wide custom eslint rules",
6
6
  "license": "Apache-2.0",
@@ -26,8 +26,8 @@
26
26
  "build": "shx rm -rf ./dist && tsc -p ./tsconfig.build.json && shx chmod +x dist/bin/lint.js",
27
27
  "postversion": "npm install --package-lock-only --ignore-scripts --silent",
28
28
  "tsx": "tsx",
29
- "lint": "test -f ./dist/bin/lint.js || npm run build && ./dist/bin/lint.js",
30
- "lintfix": "sh -c 'test -f ./dist/bin/lint.js || npm run build && ./dist/bin/lint.js --fix'",
29
+ "lint": "test -f ./dist/bin/lint.js || npm run build && ./dist/bin/lint.js --eslint \"{src,scripts,tests}/**/*.{js,mjs,ts,mts,jsx,tsx}\" --shell src scripts tests",
30
+ "lintfix": "sh -c 'test -f ./dist/bin/lint.js || npm run build && ./dist/bin/lint.js --fix --eslint \"{src,scripts,tests}/**/*.{js,mjs,ts,mts,jsx,tsx}\"' --shell src scripts tests",
31
31
  "lint-shell": "find ./src ./tests ./scripts -type f -regextype posix-extended -regex '.*\\.(sh)' -exec shellcheck {} +",
32
32
  "docs": "shx rm -rf ./docs && typedoc --entryPointStrategy expand --gitRevision master --tsconfig ./tsconfig.build.json --out ./docs src",
33
33
  "test": "node ./scripts/test.mjs"
@@ -38,14 +38,15 @@
38
38
  "@typescript-eslint/eslint-plugin": "^8.27.0",
39
39
  "@typescript-eslint/parser": "^8.27.0",
40
40
  "@typescript-eslint/utils": "^8.26.1",
41
- "eslint": "^9.18.0",
41
+ "eslint": ">=9.0.0",
42
42
  "eslint-config-prettier": "^9.1.0",
43
43
  "eslint-plugin-import": "^2.31.0",
44
- "eslint-plugin-prettier": "^5.2.1",
45
44
  "eslint-plugin-jsx-a11y": "^6.10.2",
45
+ "eslint-plugin-prettier": "^5.2.1",
46
46
  "eslint-plugin-react": "^7.37.4",
47
47
  "eslint-plugin-react-hooks": "^5.1.0",
48
- "eslint-plugin-tailwindcss": "^3.18.0"
48
+ "eslint-plugin-tailwindcss": "^3.18.0",
49
+ "commander": "^13.1.0"
49
50
  },
50
51
  "devDependencies": {
51
52
  "@swc/core": "1.3.82",
@@ -55,6 +56,7 @@
55
56
  "jest": "^29.6.2",
56
57
  "jest-extended": "^4.0.2",
57
58
  "jest-junit": "^16.0.0",
59
+ "minimatch": "^10.0.1",
58
60
  "prettier": "^3.0.0",
59
61
  "shx": "^0.3.4",
60
62
  "tsconfig-paths": "^3.9.0",