@matrixai/lint 0.4.3 → 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 (58) 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 +16 -11
  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} +12 -7
  12. package/dist/domainEngine.js.map +1 -0
  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 -261
  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/engine.js.map +0 -1
  40. package/dist/domains/eslint.d.ts +0 -3
  41. package/dist/domains/eslint.js +0 -84
  42. package/dist/domains/eslint.js.map +0 -1
  43. package/dist/domains/files.d.ts +0 -5
  44. package/dist/domains/files.js +0 -185
  45. package/dist/domains/files.js.map +0 -1
  46. package/dist/domains/index.js.map +0 -1
  47. package/dist/domains/markdown.d.ts +0 -5
  48. package/dist/domains/markdown.js +0 -107
  49. package/dist/domains/markdown.js.map +0 -1
  50. package/dist/domains/shell.d.ts +0 -5
  51. package/dist/domains/shell.js +0 -59
  52. package/dist/domains/shell.js.map +0 -1
  53. package/dist/plugins/eslint-plugin-matrixai.d.ts +0 -18
  54. package/dist/plugins/eslint-plugin-matrixai.js +0 -13
  55. package/dist/plugins/eslint-plugin-matrixai.js.map +0 -1
  56. package/dist/rules/no-aliased-imports.js.map +0 -1
  57. /package/dist/{rules → eslint/rules}/no-aliased-imports.d.ts +0 -0
  58. /package/dist/{rules → eslint/rules}/no-aliased-imports.js +0 -0
package/README.md CHANGED
@@ -7,8 +7,10 @@ for use in Matrix AI JavaScript/TypeScript projects.
7
7
  `tsconfig.json` files
8
8
  - Built-in support for React, Tailwind, JSX a11y, Prettier, and Matrix AI custom
9
9
  rules
10
- - Supports Prettier formatting for Markdown and ShellCheck for shell scripts
11
- - Single command to lint JavaScript/TypeScript, Markdown, and shell scripts
10
+ - Supports Prettier formatting for Markdown, ShellCheck for shell scripts, and
11
+ nixfmt for Nix files
12
+ - Single command to lint JavaScript/TypeScript, Markdown, shell scripts, and Nix
13
+ files
12
14
  - Customizable via `matrixai-lint-config.json` and extensible with your own
13
15
  ESLint config
14
16
  - CLI options to override config and enable auto-fix
@@ -43,9 +45,10 @@ matrixai-lint --fix
43
45
  | `--eslint-config <path>` | Explicitly use a custom ESLint config file |
44
46
  | `--eslint <targets>` | ESLint targets (files, roots, or globs); implies ESLint domain selection |
45
47
  | `--markdown <targets>` | Markdown targets (files, roots, or globs); implies markdown domain selection |
48
+ | `--nix <targets>` | Nix targets (files, roots, or globs); implies nix domain selection |
46
49
  | `--shell <targets>` | Shell targets (files, roots, or globs); implies shell domain selection |
47
- | `--domain <id...>` | Run only selected domains (`eslint`, `shell`, `markdown`) |
48
- | `--skip-domain <id...>` | Skip selected domains (`eslint`, `shell`, `markdown`) |
50
+ | `--domain <id...>` | Run only selected domains (`eslint`, `shell`, `markdown`, `nix`) |
51
+ | `--skip-domain <id...>` | Skip selected domains (`eslint`, `shell`, `markdown`, `nix`) |
49
52
  | `--list-domains` | Print available domains and short descriptions, then exit 0 |
50
53
  | `--explain` | Print per-domain decision details before execution |
51
54
  | `-v, --verbose` | Increase log verbosity (repeat for more detail) |
@@ -62,9 +65,15 @@ Domain selection behavior:
62
65
  - Passing `--markdown` implies markdown domain selection.
63
66
  - `--markdown ...` runs markdown only.
64
67
  - Combined with other target flags, only those targeted domains run.
68
+ - Passing `--nix` implies nix domain selection.
69
+ - `--nix ...` runs nix only.
70
+ - Combined with other target flags, only those targeted domains run.
65
71
  - `shellcheck` is optional only for default auto-run shell execution.
66
72
  - If shell is explicitly requested (`--shell ...` or `--domain shell`),
67
73
  missing `shellcheck` is a failure.
74
+ - `nixfmt` is optional only for default auto-run nix execution.
75
+ - If nix is explicitly requested (`--nix ...` or `--domain nix`), missing
76
+ `nixfmt` is a failure.
68
77
  - `--shell` accepts target paths and glob patterns.
69
78
  - Directories are used as roots.
70
79
  - File paths and glob patterns are reduced to search roots, then `*.sh` files
@@ -75,6 +84,13 @@ Domain selection behavior:
75
84
  `*.mdx` files are discovered under those roots.
76
85
  - Root-level `README.md` and `AGENTS.md` are always auto-included when
77
86
  present.
87
+ - `--nix` accepts target paths and glob patterns.
88
+ - Directories are used as roots.
89
+ - File paths and glob patterns are reduced to search roots, then `*.nix` files
90
+ are discovered under those roots.
91
+ - By default, nix domain scope is `flake.nix`, `shell.nix`, `default.nix`, and
92
+ `nix/**/*.nix`.
93
+ - When `--nix` is provided, explicit nix targets replace these defaults.
78
94
 
79
95
  #### Targeted workflows
80
96
 
@@ -102,6 +118,18 @@ Domain selection behavior:
102
118
  matrixai-lint --markdown standards templates README.md
103
119
  ```
104
120
 
121
+ - Nix only (default nix scope):
122
+
123
+ ```sh
124
+ matrixai-lint --domain nix
125
+ ```
126
+
127
+ - Nix only under selected roots/patterns:
128
+
129
+ ```sh
130
+ matrixai-lint --nix nix modules flake.nix
131
+ ```
132
+
105
133
  - Mixed scoped run (ESLint + shell only):
106
134
 
107
135
  ```sh
@@ -116,7 +144,9 @@ matrixai-lint --user-config
116
144
  matrixai-lint --eslint-config ./eslint.config.js --fix
117
145
  matrixai-lint --eslint "src/**/*.{ts,tsx}" --shell scripts
118
146
  matrixai-lint --markdown standards templates README.md
147
+ matrixai-lint --nix nix flake.nix
119
148
  matrixai-lint --domain eslint markdown
149
+ matrixai-lint --domain nix
120
150
  matrixai-lint --skip-domain markdown
121
151
  matrixai-lint --list-domains
122
152
  matrixai-lint --explain --domain eslint
@@ -0,0 +1,9 @@
1
+ import type { LintDomain, LintDomainDetection, LintDomainEngineContext, LintDomainPlugin, LintDomainPluginResult } from './types.js';
2
+ declare abstract class LintDomainPluginBase implements LintDomainPlugin {
3
+ abstract readonly domain: LintDomain;
4
+ abstract readonly description: string;
5
+ abstract detect(context: LintDomainEngineContext): Promise<LintDomainDetection> | LintDomainDetection;
6
+ abstract run(context: LintDomainEngineContext, detection: LintDomainDetection): Promise<LintDomainPluginResult> | LintDomainPluginResult;
7
+ protected normalizeLogDetail(value: unknown): string;
8
+ }
9
+ export default LintDomainPluginBase;
@@ -0,0 +1,12 @@
1
+ function normalizeLogDetail(value) {
2
+ return String(value)
3
+ .replace(/\r?\n+/g, ' | ')
4
+ .trim();
5
+ }
6
+ class LintDomainPluginBase {
7
+ normalizeLogDetail(value) {
8
+ return normalizeLogDetail(value);
9
+ }
10
+ }
11
+ export default LintDomainPluginBase;
12
+ //# sourceMappingURL=LintDomainPluginBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LintDomainPluginBase.js","sourceRoot":"","sources":["../src/LintDomainPluginBase.ts"],"names":[],"mappings":"AAQA,SAAS,kBAAkB,CAAC,KAAc;IACxC,OAAO,MAAM,CAAC,KAAK,CAAC;SACjB,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC;SACzB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAe,oBAAoB;IAavB,kBAAkB,CAAC,KAAc;QACzC,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACF;AAED,eAAe,oBAAoB,CAAC"}
@@ -5,7 +5,8 @@ import fs from 'node:fs';
5
5
  import url from 'node:url';
6
6
  import { Command, Option } from 'commander';
7
7
  import Logger, { StreamHandler } from '@matrixai/logger';
8
- import { LINT_DOMAINS, resolveDomainSelection, createBuiltInDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, } from '../domains/index.js';
8
+ import { LINT_DOMAINS, resolveDomainSelection, createBuiltInDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, } from '../domains.js';
9
+ import * as eslintUtils from '../eslint/utils.js';
9
10
  import * as utils from '../utils.js';
10
11
  const program = new Command();
11
12
  const dirname = path.dirname(url.fileURLToPath(import.meta.url));
@@ -23,6 +24,7 @@ program
23
24
  .option('--eslint-config <path>', 'Path to explicit ESLint config file')
24
25
  .option('--eslint <target...>', 'ESLint targets (files, roots, or globs)')
25
26
  .option('--markdown <target...>', 'Markdown targets (files, roots, or globs)')
27
+ .option('--nix <target...>', 'Nix targets (files, roots, or globs)')
26
28
  .option('--shell <target...>', 'Shell targets (files, roots, or globs) used to derive shellcheck search roots')
27
29
  .addOption(new Option('--domain <id...>', `Run only selected domains (${LINT_DOMAINS.join(', ')})`).choices(LINT_DOMAINS))
28
30
  .addOption(new Option('--skip-domain <id...>', `Skip selected domains (${LINT_DOMAINS.join(', ')})`).choices(LINT_DOMAINS));
@@ -51,20 +53,20 @@ function describeRelevance(decision) {
51
53
  function printDomainList(logger, domains) {
52
54
  logger.info('Available lint domains:');
53
55
  for (const domainInfo of domains) {
54
- logger.info(`- ${domainInfo.domain}: ${domainInfo.description}`);
56
+ logger.info(`Domain info: domain=${domainInfo.domain} description=${domainInfo.description}`);
55
57
  }
56
58
  }
57
59
  function printExplain(logger, decisions) {
58
60
  logger.info('[matrixai-lint] Domain execution plan:');
59
61
  for (const decision of decisions) {
60
- logger.info(`[matrixai-lint] - domain: ${decision.domain}`);
61
- logger.info(`[matrixai-lint] selection: ${decision.selectionSource}${decision.explicitlyRequested ? ' (explicit)' : ''}`);
62
- logger.info(`[matrixai-lint] relevance: ${describeRelevance(decision)}`);
63
- logger.info(`[matrixai-lint] availability: ${describeAvailability(decision)}`);
62
+ logger.info(`[matrixai-lint] domain=${decision.domain}`);
63
+ logger.info(`[matrixai-lint] selection=${decision.selectionSource}${decision.explicitlyRequested ? ' (explicit)' : ''}`);
64
+ logger.info(`[matrixai-lint] relevance=${describeRelevance(decision)}`);
65
+ logger.info(`[matrixai-lint] availability=${describeAvailability(decision)}`);
64
66
  if (decision.detectionError != null) {
65
- logger.error(`[matrixai-lint] detection-error: ${decision.detectionError}`);
67
+ logger.error(`[matrixai-lint] detection-error=${decision.detectionError}`);
66
68
  }
67
- logger.info(`[matrixai-lint] planned-action: ${decision.plannedAction}`);
69
+ logger.info(`[matrixai-lint] planned-action=${decision.plannedAction}`);
68
70
  }
69
71
  }
70
72
  async function main(argv = process.argv) {
@@ -79,6 +81,7 @@ async function main(argv = process.argv) {
79
81
  const explain = Boolean(options.explain);
80
82
  const eslintPatterns = options.eslint;
81
83
  const markdownPatterns = options.markdown;
84
+ const nixPatterns = options.nix;
82
85
  const shellPatterns = options.shell;
83
86
  const { selectedDomains, explicitlyRequestedDomains, selectionSources } = resolveDomainSelection(options);
84
87
  const domainRegistry = createBuiltInDomainRegistry({
@@ -107,7 +110,7 @@ async function main(argv = process.argv) {
107
110
  }
108
111
  }
109
112
  else if (useUserConfig) {
110
- chosenConfig = utils.findUserESLintConfig();
113
+ chosenConfig = eslintUtils.findUserESLintConfig();
111
114
  if (chosenConfig === undefined) {
112
115
  logger.warn('--user-config given but no local ESLint config was found. Falling back to built-in config.');
113
116
  }
@@ -125,6 +128,7 @@ async function main(argv = process.argv) {
125
128
  isConfigValid,
126
129
  eslintPatterns,
127
130
  markdownPatterns,
131
+ nixPatterns,
128
132
  shellPatterns,
129
133
  },
130
134
  });
@@ -141,6 +145,7 @@ async function main(argv = process.argv) {
141
145
  isConfigValid,
142
146
  eslintPatterns,
143
147
  markdownPatterns,
148
+ nixPatterns,
144
149
  shellPatterns,
145
150
  },
146
151
  });
@@ -148,11 +153,11 @@ async function main(argv = process.argv) {
148
153
  hadFailure = true;
149
154
  }
150
155
  if (hadFailure) {
151
- logger.error('[matrixai-lint] Linting failed.');
156
+ logger.error('[matrixai-lint] Linting failed.');
152
157
  process.exit(1);
153
158
  }
154
159
  else {
155
- logger.info('[matrixai-lint] Linting passed.');
160
+ logger.info('[matrixai-lint] Linting passed.');
156
161
  }
157
162
  }
158
163
  if (import.meta.url.startsWith('file:') && process.argv[1] != null) {
@@ -1 +1 @@
1
- {"version":3,"file":"matrixai-lint.js","sourceRoot":"","sources":["../../src/bin/matrixai-lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matrixai-lint.js","sourceRoot":"","sources":["../../src/bin/matrixai-lint.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,6 @@ declare const config: (import("eslint").Linter.Config<import("eslint").Linter.Ru
4
4
  plugins: {
5
5
  import: import("eslint").ESLint.Plugin;
6
6
  '@matrixai': {
7
- meta: {
8
- name: string;
9
- version: string;
10
- };
11
7
  rules: {
12
8
  'no-aliased-imports': import("@typescript-eslint/utils/ts-eslint").RuleModule<"noAlias" | "noAliasNoAutofix", [{
13
9
  aliases: {
@@ -18,7 +14,6 @@ declare const config: (import("eslint").Linter.Config<import("eslint").Linter.Ru
18
14
  autoFix: boolean;
19
15
  }], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener>;
20
16
  };
21
- configs: {};
22
17
  };
23
18
  };
24
19
  settings: {
@@ -7,7 +7,7 @@ import tsParser from '@typescript-eslint/parser';
7
7
  import { FlatCompat } from '@eslint/eslintrc';
8
8
  import { fixupPluginRules } from '@eslint/compat';
9
9
  import prettierOptions from './prettier.config.js';
10
- import matrixaiPlugin from '../plugins/eslint-plugin-matrixai.js';
10
+ import noAliasedImportsRule from '../eslint/rules/no-aliased-imports.js';
11
11
  import { resolveLintConfig } from '../config.js';
12
12
  const resolvedLintConfig = resolveLintConfig();
13
13
  const filename = fileURLToPath(import.meta.url);
@@ -22,7 +22,11 @@ const config = [
22
22
  {
23
23
  plugins: {
24
24
  import: fixupPluginRules(_import),
25
- '@matrixai': matrixaiPlugin,
25
+ '@matrixai': {
26
+ rules: {
27
+ 'no-aliased-imports': noAliasedImportsRule,
28
+ },
29
+ },
26
30
  },
27
31
  settings: {
28
32
  react: {
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../src/configs/eslint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eslint.js","sourceRoot":"","sources":["../../src/configs/eslint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { LintDomainAvailabilityKind, LintDomainDecision, LintDomainDetect, LintDomainDetection, LintDomain, LintDomainEngineContext, LintDomainPlannedAction, LintDomainPlugin, LintDomainPluginResult, LintDomainRun, LintDomainSelectionSource } from './types.js';
2
+ declare function createLintDomainRegistry(plugins: readonly LintDomainPlugin[]): Map<LintDomain, LintDomainPlugin>;
3
+ declare function listLintDomains({ registry, executionOrder, }: {
4
+ registry: ReadonlyMap<LintDomain, LintDomainPlugin>;
5
+ executionOrder: readonly LintDomain[];
6
+ }): Array<{
7
+ domain: LintDomain;
8
+ description: string;
9
+ }>;
10
+ declare function evaluateLintDomains({ registry, selectedDomains, explicitlyRequestedDomains, selectionSources, executionOrder, context, }: {
11
+ registry: ReadonlyMap<LintDomain, LintDomainPlugin>;
12
+ selectedDomains: ReadonlySet<LintDomain>;
13
+ explicitlyRequestedDomains: ReadonlySet<LintDomain>;
14
+ selectionSources?: ReadonlyMap<LintDomain, LintDomainSelectionSource>;
15
+ executionOrder: readonly LintDomain[];
16
+ context: LintDomainEngineContext;
17
+ }): Promise<LintDomainDecision[]>;
18
+ declare function runLintDomainDecisions({ registry, decisions, context, }: {
19
+ registry: ReadonlyMap<LintDomain, LintDomainPlugin>;
20
+ decisions: readonly LintDomainDecision[];
21
+ context: LintDomainEngineContext;
22
+ }): Promise<boolean>;
23
+ declare function runLintDomains({ registry, selectedDomains, explicitlyRequestedDomains, selectionSources, executionOrder, context, }: {
24
+ registry: ReadonlyMap<LintDomain, LintDomainPlugin>;
25
+ selectedDomains: ReadonlySet<LintDomain>;
26
+ explicitlyRequestedDomains: ReadonlySet<LintDomain>;
27
+ selectionSources?: ReadonlyMap<LintDomain, LintDomainSelectionSource>;
28
+ executionOrder: readonly LintDomain[];
29
+ context: LintDomainEngineContext;
30
+ }): Promise<boolean>;
31
+ export type { LintDomainDetect, LintDomainDecision, LintDomainRun, LintDomainPlannedAction, LintDomainSelectionSource, LintDomainAvailabilityKind, LintDomainDetection, LintDomainEngineContext, LintDomainPlugin, LintDomainPluginResult, };
32
+ export { createLintDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, runLintDomains, };
@@ -1,3 +1,8 @@
1
+ function normalizeLogDetail(value) {
2
+ return String(value)
3
+ .replace(/\r?\n+/g, ' | ')
4
+ .trim();
5
+ }
1
6
  function createLintDomainRegistry(plugins) {
2
7
  const registry = new Map();
3
8
  for (const plugin of plugins) {
@@ -89,7 +94,7 @@ async function runLintDomainDecisions({ registry, decisions, context, }) {
89
94
  continue;
90
95
  }
91
96
  if (plannedAction === 'fail-detection') {
92
- const message = `[matrixai-lint] - Domain "${domain}" failed unexpectedly.\n${detectionError ?? 'Unknown detection error.'}`;
97
+ const message = `[matrixai-lint] - Domain "${domain}" failed unexpectedly. ${normalizeLogDetail(detectionError ?? 'Unknown detection error.')}`;
93
98
  logger.error(message);
94
99
  hadFailure = true;
95
100
  continue;
@@ -97,7 +102,7 @@ async function runLintDomainDecisions({ registry, decisions, context, }) {
97
102
  if (plannedAction === 'skip-not-relevant') {
98
103
  if (explicitlyRequested) {
99
104
  const relevanceReason = detection?.relevanceReason ?? 'No files matched in effective scope.';
100
- const message = `[matrixai-lint] - Domain "${domain}" was explicitly requested, but no files matched. ${relevanceReason}`;
105
+ const message = `[matrixai-lint] - Domain "${domain}" was explicitly requested, but no files matched. ${relevanceReason}`;
101
106
  logger.warn(message);
102
107
  }
103
108
  continue;
@@ -105,7 +110,7 @@ async function runLintDomainDecisions({ registry, decisions, context, }) {
105
110
  if (plannedAction === 'fail-unavailable') {
106
111
  const unavailableReason = detection?.unavailableReason ??
107
112
  `Tooling for domain "${domain}" is not available.`;
108
- const message = `[matrixai-lint] - Domain "${domain}" cannot run. ${unavailableReason}`;
113
+ const message = `[matrixai-lint] - Domain "${domain}" cannot run. ${unavailableReason}`;
109
114
  logger.error(message);
110
115
  hadFailure = true;
111
116
  continue;
@@ -113,7 +118,7 @@ async function runLintDomainDecisions({ registry, decisions, context, }) {
113
118
  if (plannedAction === 'skip-unavailable') {
114
119
  const unavailableReason = detection?.unavailableReason ??
115
120
  `Tooling for domain "${domain}" is not available.`;
116
- const message = `[matrixai-lint] - Domain "${domain}" skipped. ${unavailableReason}`;
121
+ const message = `[matrixai-lint] - Domain "${domain}" skipped. ${unavailableReason}`;
117
122
  logger.warn(message);
118
123
  continue;
119
124
  }
@@ -122,7 +127,7 @@ async function runLintDomainDecisions({ registry, decisions, context, }) {
122
127
  throw new Error(`No lint domain plugin registered for: ${domain}`);
123
128
  }
124
129
  if (detection == null) {
125
- const message = `[matrixai-lint] - Domain "${domain}" is missing detection metadata.`;
130
+ const message = `[matrixai-lint] - Domain "${domain}" is missing detection metadata.`;
126
131
  logger.error(message);
127
132
  hadFailure = true;
128
133
  continue;
@@ -134,7 +139,7 @@ async function runLintDomainDecisions({ registry, decisions, context, }) {
134
139
  }
135
140
  }
136
141
  catch (err) {
137
- const message = `[matrixai-lint] - Domain "${domain}" failed unexpectedly.\n${String(err)}`;
142
+ const message = `[matrixai-lint] - Domain "${domain}" failed unexpectedly. ${normalizeLogDetail(err)}`;
138
143
  logger.error(message);
139
144
  hadFailure = true;
140
145
  }
@@ -157,4 +162,4 @@ async function runLintDomains({ registry, selectedDomains, explicitlyRequestedDo
157
162
  });
158
163
  }
159
164
  export { createLintDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, runLintDomains, };
160
- //# sourceMappingURL=engine.js.map
165
+ //# sourceMappingURL=domainEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domainEngine.js","sourceRoot":"","sources":["../src/domainEngine.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import type { LintDomain, CLIOptions } from '../types.js';
2
- import { createLintDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, runLintDomains, type LintDomainPlugin, type LintDomainPluginResult, type LintDomainDecision, type LintDomainEngineContext, type LintDomainSelectionSource } from './engine.js';
1
+ import type { LintDomain, CLIOptions } from './types.js';
2
+ import { createLintDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, runLintDomains, type LintDomainPlugin, type LintDomainPluginResult, type LintDomainDecision, type LintDomainEngineContext, type LintDomainSelectionSource } from './domainEngine.js';
3
3
  declare const LINT_DOMAINS: LintDomain[];
4
4
  declare const DEFAULT_SHELLCHECK_SEARCH_ROOTS: string[];
5
+ declare const DEFAULT_NIXFMT_SEARCH_PATTERNS: readonly ["./flake.nix", "./shell.nix", "./default.nix", "./nix/**/*.nix"];
5
6
  declare function resolveDomainSelection(options: CLIOptions): {
6
7
  selectedDomains: Set<LintDomain>;
7
8
  explicitlyRequestedDomains: Set<LintDomain>;
@@ -11,4 +12,4 @@ declare function createBuiltInDomainRegistry({ prettierConfigPath, }: {
11
12
  prettierConfigPath: string;
12
13
  }): Map<LintDomain, LintDomainPlugin>;
13
14
  export type { LintDomainDecision, LintDomainEngineContext, LintDomainPlugin, LintDomainPluginResult, LintDomainSelectionSource, };
14
- export { LINT_DOMAINS, DEFAULT_SHELLCHECK_SEARCH_ROOTS, resolveDomainSelection, createBuiltInDomainRegistry, createLintDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, runLintDomains, };
15
+ export { LINT_DOMAINS, DEFAULT_SHELLCHECK_SEARCH_ROOTS, DEFAULT_NIXFMT_SEARCH_PATTERNS, resolveDomainSelection, createBuiltInDomainRegistry, createLintDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, runLintDomains, };
@@ -1,9 +1,16 @@
1
- import { createLintDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, runLintDomains, } from './engine.js';
2
- import { createESLintDomainPlugin } from './eslint.js';
3
- import { createShellDomainPlugin } from './shell.js';
4
- import { createMarkdownDomainPlugin } from './markdown.js';
5
- const LINT_DOMAINS = ['eslint', 'shell', 'markdown'];
1
+ import { createLintDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, runLintDomains, } from './domainEngine.js';
2
+ import ESLintDomainPlugin from './eslint/ESLintDomainPlugin.js';
3
+ import ShellDomainPlugin from './shell/ShellDomainPlugin.js';
4
+ import MarkdownDomainPlugin from './markdown/MarkdownDomainPlugin.js';
5
+ import NixDomainPlugin from './nix/NixDomainPlugin.js';
6
+ const LINT_DOMAINS = ['eslint', 'shell', 'markdown', 'nix'];
6
7
  const DEFAULT_SHELLCHECK_SEARCH_ROOTS = ['./src', './scripts', './tests'];
8
+ const DEFAULT_NIXFMT_SEARCH_PATTERNS = [
9
+ './flake.nix',
10
+ './shell.nix',
11
+ './default.nix',
12
+ './nix/**/*.nix',
13
+ ];
7
14
  function resolveDomainSelection(options) {
8
15
  const domainFlags = options.domain ?? [];
9
16
  const skipDomains = new Set(options.skipDomain ?? []);
@@ -11,6 +18,7 @@ function resolveDomainSelection(options) {
11
18
  const hasExplicitESLintTargets = (options.eslint?.length ?? 0) > 0;
12
19
  const hasExplicitShellTargets = (options.shell?.length ?? 0) > 0;
13
20
  const hasExplicitMarkdownTargets = (options.markdown?.length ?? 0) > 0;
21
+ const hasExplicitNixTargets = (options.nix?.length ?? 0) > 0;
14
22
  const explicitlyRequestedDomains = new Set(domainFlags);
15
23
  const selectionSources = new Map();
16
24
  if (hasExplicitESLintTargets) {
@@ -22,6 +30,9 @@ function resolveDomainSelection(options) {
22
30
  if (hasExplicitMarkdownTargets) {
23
31
  explicitlyRequestedDomains.add('markdown');
24
32
  }
33
+ if (hasExplicitNixTargets) {
34
+ explicitlyRequestedDomains.add('nix');
35
+ }
25
36
  let selectedDomains;
26
37
  if (domainFlags.length > 0) {
27
38
  selectedDomains = new Set(domainFlags);
@@ -32,7 +43,8 @@ function resolveDomainSelection(options) {
32
43
  else if (!hasDomainSelectors &&
33
44
  (hasExplicitESLintTargets ||
34
45
  hasExplicitShellTargets ||
35
- hasExplicitMarkdownTargets)) {
46
+ hasExplicitMarkdownTargets ||
47
+ hasExplicitNixTargets)) {
36
48
  selectedDomains = new Set();
37
49
  if (hasExplicitESLintTargets) {
38
50
  selectedDomains.add('eslint');
@@ -46,6 +58,10 @@ function resolveDomainSelection(options) {
46
58
  selectedDomains.add('markdown');
47
59
  selectionSources.set('markdown', 'target-flag');
48
60
  }
61
+ if (hasExplicitNixTargets) {
62
+ selectedDomains.add('nix');
63
+ selectionSources.set('nix', 'target-flag');
64
+ }
49
65
  }
50
66
  else {
51
67
  selectedDomains = new Set(LINT_DOMAINS);
@@ -70,14 +86,11 @@ function resolveDomainSelection(options) {
70
86
  }
71
87
  function createBuiltInDomainRegistry({ prettierConfigPath, }) {
72
88
  return createLintDomainRegistry([
73
- createESLintDomainPlugin(),
74
- createShellDomainPlugin({
75
- defaultSearchRoots: DEFAULT_SHELLCHECK_SEARCH_ROOTS,
76
- }),
77
- createMarkdownDomainPlugin({
78
- prettierConfigPath,
79
- }),
89
+ new ESLintDomainPlugin(),
90
+ new ShellDomainPlugin(DEFAULT_SHELLCHECK_SEARCH_ROOTS),
91
+ new MarkdownDomainPlugin(prettierConfigPath),
92
+ new NixDomainPlugin(DEFAULT_NIXFMT_SEARCH_PATTERNS),
80
93
  ]);
81
94
  }
82
- export { LINT_DOMAINS, DEFAULT_SHELLCHECK_SEARCH_ROOTS, resolveDomainSelection, createBuiltInDomainRegistry, createLintDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, runLintDomains, };
83
- //# sourceMappingURL=index.js.map
95
+ export { LINT_DOMAINS, DEFAULT_SHELLCHECK_SEARCH_ROOTS, DEFAULT_NIXFMT_SEARCH_PATTERNS, resolveDomainSelection, createBuiltInDomainRegistry, createLintDomainRegistry, listLintDomains, evaluateLintDomains, runLintDomainDecisions, runLintDomains, };
96
+ //# sourceMappingURL=domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.js","sourceRoot":"","sources":["../src/domains.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { LintDomainDetection, LintDomainEngineContext, LintDomainPluginResult } from '../types.js';
2
+ import LintDomainPluginBase from '../LintDomainPluginBase.js';
3
+ declare class ESLintDomainPlugin extends LintDomainPluginBase {
4
+ readonly domain = "eslint";
5
+ readonly description = "Lint JavaScript/TypeScript/JSON files with ESLint.";
6
+ detect({ eslintPatterns, }: LintDomainEngineContext): LintDomainDetection;
7
+ run({ fix, logger, chosenConfig, isConfigValid, eslintPatterns, }: LintDomainEngineContext): Promise<LintDomainPluginResult>;
8
+ }
9
+ export default ESLintDomainPlugin;
@@ -0,0 +1,86 @@
1
+ import { buildPatterns, runESLint } from './utils.js';
2
+ import LintDomainPluginBase from '../LintDomainPluginBase.js';
3
+ import { resolveLintConfig } from '../config.js';
4
+ import { resolveFilesFromPatterns, resolveSearchRootsFromPatterns, } from '../utils.js';
5
+ const ESLINT_FILE_EXTENSIONS = [
6
+ '.js',
7
+ '.mjs',
8
+ '.cjs',
9
+ '.jsx',
10
+ '.ts',
11
+ '.tsx',
12
+ '.mts',
13
+ '.cts',
14
+ '.json',
15
+ ];
16
+ const DEFAULT_ESLINT_SEARCH_ROOTS = ['./src', './scripts', './tests'];
17
+ function resolveESLintDetectionPatterns(eslintPatterns) {
18
+ if (eslintPatterns != null && eslintPatterns.length > 0) {
19
+ return [...eslintPatterns];
20
+ }
21
+ const resolvedConfig = resolveLintConfig();
22
+ const { tsconfigPaths, forceInclude } = resolvedConfig.domains.eslint;
23
+ if (tsconfigPaths.length === 0) {
24
+ return DEFAULT_ESLINT_SEARCH_ROOTS;
25
+ }
26
+ const { files } = buildPatterns(tsconfigPaths, forceInclude, process.cwd(), resolvedConfig.root);
27
+ if (files.length === 0) {
28
+ return DEFAULT_ESLINT_SEARCH_ROOTS;
29
+ }
30
+ return files;
31
+ }
32
+ class ESLintDomainPlugin extends LintDomainPluginBase {
33
+ domain = 'eslint';
34
+ description = 'Lint JavaScript/TypeScript/JSON files with ESLint.';
35
+ detect({ eslintPatterns, }) {
36
+ if (eslintPatterns != null && eslintPatterns.length > 0) {
37
+ const searchRoots = resolveSearchRootsFromPatterns(eslintPatterns);
38
+ return {
39
+ relevant: searchRoots.length > 0,
40
+ relevanceReason: searchRoots.length > 0
41
+ ? undefined
42
+ : 'No ESLint-supported files matched in effective scope.',
43
+ available: true,
44
+ availabilityKind: 'required',
45
+ };
46
+ }
47
+ const detectionPatterns = resolveESLintDetectionPatterns(eslintPatterns);
48
+ const matchedFiles = resolveFilesFromPatterns(detectionPatterns, ESLINT_FILE_EXTENSIONS);
49
+ return {
50
+ relevant: matchedFiles.length > 0,
51
+ relevanceReason: matchedFiles.length > 0
52
+ ? undefined
53
+ : 'No ESLint-supported files matched in effective scope.',
54
+ available: true,
55
+ availabilityKind: 'required',
56
+ matchedFiles,
57
+ };
58
+ }
59
+ async run({ fix, logger, chosenConfig, isConfigValid, eslintPatterns, }) {
60
+ if (!isConfigValid) {
61
+ logger.error('Skipping ESLint due to invalid --eslint-config path.');
62
+ return { hadFailure: true };
63
+ }
64
+ try {
65
+ const explicitPatterns = eslintPatterns != null && eslintPatterns.length > 0
66
+ ? resolveFilesFromPatterns(eslintPatterns, ESLINT_FILE_EXTENSIONS)
67
+ : undefined;
68
+ const hadLintingErrors = await runESLint({
69
+ fix,
70
+ logger,
71
+ configPath: chosenConfig,
72
+ explicitGlobs: explicitPatterns,
73
+ });
74
+ return { hadFailure: hadLintingErrors };
75
+ }
76
+ catch (err) {
77
+ const errorDetail = this.normalizeLogDetail(err);
78
+ logger.error(errorDetail.length > 0
79
+ ? `ESLint failed. ${errorDetail}`
80
+ : 'ESLint failed.');
81
+ return { hadFailure: true };
82
+ }
83
+ }
84
+ }
85
+ export default ESLintDomainPlugin;
86
+ //# sourceMappingURL=ESLintDomainPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ESLintDomainPlugin.js","sourceRoot":"","sources":["../../src/eslint/ESLintDomainPlugin.ts"],"names":[],"mappings":"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"}