@paretools/lint 0.8.5 → 0.9.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/dist/lib/formatters.d.ts +1 -0
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +22 -3
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/lint-runner.js +7 -7
- package/dist/lib/parsers.d.ts +57 -10
- package/dist/lib/parsers.d.ts.map +1 -1
- package/dist/lib/parsers.js +306 -42
- package/dist/lib/parsers.js.map +1 -1
- package/dist/schemas/index.d.ts +7 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +5 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/biome-check.d.ts.map +1 -1
- package/dist/tools/biome-check.js +79 -2
- package/dist/tools/biome-check.js.map +1 -1
- package/dist/tools/biome-format.d.ts.map +1 -1
- package/dist/tools/biome-format.js +54 -2
- package/dist/tools/biome-format.js.map +1 -1
- package/dist/tools/format-check.d.ts.map +1 -1
- package/dist/tools/format-check.js +54 -2
- package/dist/tools/format-check.js.map +1 -1
- package/dist/tools/hadolint.d.ts.map +1 -1
- package/dist/tools/hadolint.js +84 -1
- package/dist/tools/hadolint.js.map +1 -1
- package/dist/tools/lint.d.ts.map +1 -1
- package/dist/tools/lint.js +62 -2
- package/dist/tools/lint.js.map +1 -1
- package/dist/tools/oxlint.d.ts.map +1 -1
- package/dist/tools/oxlint.js +94 -2
- package/dist/tools/oxlint.js.map +1 -1
- package/dist/tools/prettier-format.d.ts.map +1 -1
- package/dist/tools/prettier-format.js +70 -6
- package/dist/tools/prettier-format.js.map +1 -1
- package/dist/tools/shellcheck.d.ts.map +1 -1
- package/dist/tools/shellcheck.js +100 -7
- package/dist/tools/shellcheck.js.map +1 -1
- package/dist/tools/stylelint.d.ts.map +1 -1
- package/dist/tools/stylelint.js +58 -2
- package/dist/tools/stylelint.js.map +1 -1
- package/package.json +2 -2
|
@@ -21,6 +21,49 @@ export function registerBiomeCheckTool(server) {
|
|
|
21
21
|
.optional()
|
|
22
22
|
.default(["."])
|
|
23
23
|
.describe("File patterns to check (default: ['.'])"),
|
|
24
|
+
apply: z.boolean().optional().describe("Apply safe fixes automatically (maps to --apply)"),
|
|
25
|
+
applyUnsafe: z
|
|
26
|
+
.boolean()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("Apply safe and unsafe fixes automatically (maps to --apply-unsafe)"),
|
|
29
|
+
diagnosticLevel: z
|
|
30
|
+
.enum(["info", "warn", "error"])
|
|
31
|
+
.optional()
|
|
32
|
+
.describe("Minimum diagnostic level to report"),
|
|
33
|
+
changed: z
|
|
34
|
+
.boolean()
|
|
35
|
+
.optional()
|
|
36
|
+
.describe("Only check VCS-changed files (maps to --changed)"),
|
|
37
|
+
staged: z.boolean().optional().describe("Only check staged files (maps to --staged)"),
|
|
38
|
+
since: z
|
|
39
|
+
.string()
|
|
40
|
+
.max(INPUT_LIMITS.STRING_MAX)
|
|
41
|
+
.optional()
|
|
42
|
+
.describe("Only check files changed since this git ref (maps to --since)"),
|
|
43
|
+
configPath: z
|
|
44
|
+
.string()
|
|
45
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
46
|
+
.optional()
|
|
47
|
+
.describe("Path to Biome configuration file (maps to --config-path)"),
|
|
48
|
+
linterEnabled: z
|
|
49
|
+
.boolean()
|
|
50
|
+
.optional()
|
|
51
|
+
.describe("Enable or disable the linter (maps to --linter-enabled)"),
|
|
52
|
+
formatterEnabled: z
|
|
53
|
+
.boolean()
|
|
54
|
+
.optional()
|
|
55
|
+
.describe("Enable or disable the formatter (maps to --formatter-enabled)"),
|
|
56
|
+
maxDiagnostics: z
|
|
57
|
+
.number()
|
|
58
|
+
.int()
|
|
59
|
+
.min(0)
|
|
60
|
+
.optional()
|
|
61
|
+
.describe("Maximum number of diagnostics to display (maps to --max-diagnostics)"),
|
|
62
|
+
skip: z
|
|
63
|
+
.array(z.string().max(INPUT_LIMITS.STRING_MAX))
|
|
64
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
65
|
+
.optional()
|
|
66
|
+
.describe("Rules to skip (maps to --skip)"),
|
|
24
67
|
compact: z
|
|
25
68
|
.boolean()
|
|
26
69
|
.optional()
|
|
@@ -28,12 +71,46 @@ export function registerBiomeCheckTool(server) {
|
|
|
28
71
|
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
29
72
|
},
|
|
30
73
|
outputSchema: LintResultSchema,
|
|
31
|
-
}, async ({ path, patterns, compact }) => {
|
|
74
|
+
}, async ({ path, patterns, apply, applyUnsafe, diagnosticLevel, changed, staged, since, configPath, linterEnabled, formatterEnabled, maxDiagnostics, skip, compact, }) => {
|
|
32
75
|
const cwd = path || process.cwd();
|
|
33
76
|
for (const p of patterns ?? []) {
|
|
34
77
|
assertNoFlagInjection(p, "patterns");
|
|
35
78
|
}
|
|
36
|
-
const args = ["check", "--reporter=json"
|
|
79
|
+
const args = ["check", "--reporter=json"];
|
|
80
|
+
if (apply)
|
|
81
|
+
args.push("--apply");
|
|
82
|
+
if (applyUnsafe)
|
|
83
|
+
args.push("--apply-unsafe");
|
|
84
|
+
if (diagnosticLevel)
|
|
85
|
+
args.push(`--diagnostic-level=${diagnosticLevel}`);
|
|
86
|
+
if (changed)
|
|
87
|
+
args.push("--changed");
|
|
88
|
+
if (staged)
|
|
89
|
+
args.push("--staged");
|
|
90
|
+
if (since) {
|
|
91
|
+
assertNoFlagInjection(since, "since");
|
|
92
|
+
args.push(`--since=${since}`);
|
|
93
|
+
}
|
|
94
|
+
if (configPath) {
|
|
95
|
+
assertNoFlagInjection(configPath, "configPath");
|
|
96
|
+
args.push(`--config-path=${configPath}`);
|
|
97
|
+
}
|
|
98
|
+
if (linterEnabled !== undefined) {
|
|
99
|
+
args.push(`--linter-enabled=${linterEnabled}`);
|
|
100
|
+
}
|
|
101
|
+
if (formatterEnabled !== undefined) {
|
|
102
|
+
args.push(`--formatter-enabled=${formatterEnabled}`);
|
|
103
|
+
}
|
|
104
|
+
if (maxDiagnostics !== undefined) {
|
|
105
|
+
args.push(`--max-diagnostics=${maxDiagnostics}`);
|
|
106
|
+
}
|
|
107
|
+
if (skip) {
|
|
108
|
+
for (const rule of skip) {
|
|
109
|
+
assertNoFlagInjection(rule, "skip");
|
|
110
|
+
args.push(`--skip=${rule}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
args.push(...(patterns || ["."]));
|
|
37
114
|
const result = await biome(args, cwd);
|
|
38
115
|
const data = parseBiomeJson(result.stdout);
|
|
39
116
|
return compactDualOutput(data, result.stdout, formatLint, compactLintMap, formatLintCompact, compact === false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biome-check.js","sourceRoot":"","sources":["../../src/tools/biome-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,gEAAgE;AAChE,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,kKAAkK;QACpK,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAC5C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;iBACd,QAAQ,CAAC,yCAAyC,CAAC;YACtD,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,gBAAgB;KAC/B,EACD,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"biome-check.js","sourceRoot":"","sources":["../../src/tools/biome-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,gEAAgE;AAChE,MAAM,UAAU,sBAAsB,CAAC,MAAiB;IACtD,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,kKAAkK;QACpK,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAC5C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;iBACd,QAAQ,CAAC,yCAAyC,CAAC;YACtD,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YAC1F,WAAW,EAAE,CAAC;iBACX,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,oEAAoE,CAAC;YACjF,eAAe,EAAE,CAAC;iBACf,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;iBAC/B,QAAQ,EAAE;iBACV,QAAQ,CAAC,oCAAoC,CAAC;YACjD,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,kDAAkD,CAAC;YAC/D,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YACrF,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC;iBAC5B,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;YAC5E,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,0DAA0D,CAAC;YACvE,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,yDAAyD,CAAC;YACtE,gBAAgB,EAAE,CAAC;iBAChB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;YAC5E,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;YACnF,IAAI,EAAE,CAAC;iBACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;iBAC9C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,QAAQ,CAAC,gCAAgC,CAAC;YAC7C,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,gBAAgB;KAC/B,EACD,KAAK,EAAE,EACL,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,WAAW,EACX,eAAe,EACf,OAAO,EACP,MAAM,EACN,KAAK,EACL,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,IAAI,EACJ,OAAO,GACR,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAC1C,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,WAAW;YAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7C,IAAI,eAAe;YAAE,IAAI,CAAC,IAAI,CAAC,sBAAsB,eAAe,EAAE,CAAC,CAAC;QACxE,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,oBAAoB,aAAa,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,uBAAuB,gBAAgB,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,qBAAqB,cAAc,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,IAAI,EAAE,CAAC;YACT,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;gBACxB,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,iBAAiB,CACtB,IAAI,EACJ,MAAM,CAAC,MAAM,EACb,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biome-format.d.ts","sourceRoot":"","sources":["../../src/tools/biome-format.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,iEAAiE;AACjE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"biome-format.d.ts","sourceRoot":"","sources":["../../src/tools/biome-format.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,iEAAiE;AACjE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,QA0GxD"}
|
|
@@ -21,6 +21,35 @@ export function registerBiomeFormatTool(server) {
|
|
|
21
21
|
.optional()
|
|
22
22
|
.default(["."])
|
|
23
23
|
.describe("File patterns to format (default: ['.'])"),
|
|
24
|
+
changed: z
|
|
25
|
+
.boolean()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe("Only format VCS-changed files (maps to --changed)"),
|
|
28
|
+
staged: z.boolean().optional().describe("Only format staged files (maps to --staged)"),
|
|
29
|
+
since: z
|
|
30
|
+
.string()
|
|
31
|
+
.max(INPUT_LIMITS.STRING_MAX)
|
|
32
|
+
.optional()
|
|
33
|
+
.describe("Only format files changed since this git ref (maps to --since)"),
|
|
34
|
+
configPath: z
|
|
35
|
+
.string()
|
|
36
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
37
|
+
.optional()
|
|
38
|
+
.describe("Path to Biome configuration file (maps to --config-path)"),
|
|
39
|
+
indentStyle: z
|
|
40
|
+
.enum(["tab", "space"])
|
|
41
|
+
.optional()
|
|
42
|
+
.describe("Indent style override (tab or space)"),
|
|
43
|
+
lineWidth: z.number().optional().describe("Line width override"),
|
|
44
|
+
quoteStyle: z
|
|
45
|
+
.enum(["single", "double"])
|
|
46
|
+
.optional()
|
|
47
|
+
.describe("Quote style override (single or double)"),
|
|
48
|
+
semicolons: z
|
|
49
|
+
.enum(["always", "asNeeded"])
|
|
50
|
+
.optional()
|
|
51
|
+
.describe("Semicolon style (always or asNeeded)"),
|
|
52
|
+
lineEnding: z.enum(["lf", "crlf", "cr"]).optional().describe("Line ending style"),
|
|
24
53
|
compact: z
|
|
25
54
|
.boolean()
|
|
26
55
|
.optional()
|
|
@@ -28,12 +57,35 @@ export function registerBiomeFormatTool(server) {
|
|
|
28
57
|
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
29
58
|
},
|
|
30
59
|
outputSchema: FormatWriteResultSchema,
|
|
31
|
-
}, async ({ path, patterns, compact }) => {
|
|
60
|
+
}, async ({ path, patterns, changed, staged, since, configPath, indentStyle, lineWidth, quoteStyle, semicolons, lineEnding, compact, }) => {
|
|
32
61
|
const cwd = path || process.cwd();
|
|
33
62
|
for (const p of patterns ?? []) {
|
|
34
63
|
assertNoFlagInjection(p, "patterns");
|
|
35
64
|
}
|
|
36
|
-
const args = ["format", "--write",
|
|
65
|
+
const args = ["format", "--write", "--reporter=json"];
|
|
66
|
+
if (changed)
|
|
67
|
+
args.push("--changed");
|
|
68
|
+
if (staged)
|
|
69
|
+
args.push("--staged");
|
|
70
|
+
if (since) {
|
|
71
|
+
assertNoFlagInjection(since, "since");
|
|
72
|
+
args.push(`--since=${since}`);
|
|
73
|
+
}
|
|
74
|
+
if (configPath) {
|
|
75
|
+
assertNoFlagInjection(configPath, "configPath");
|
|
76
|
+
args.push(`--config-path=${configPath}`);
|
|
77
|
+
}
|
|
78
|
+
if (indentStyle)
|
|
79
|
+
args.push(`--indent-style=${indentStyle}`);
|
|
80
|
+
if (lineWidth !== undefined)
|
|
81
|
+
args.push(`--line-width=${lineWidth}`);
|
|
82
|
+
if (quoteStyle)
|
|
83
|
+
args.push(`--quote-style=${quoteStyle}`);
|
|
84
|
+
if (semicolons)
|
|
85
|
+
args.push(`--semicolons=${semicolons}`);
|
|
86
|
+
if (lineEnding)
|
|
87
|
+
args.push(`--line-ending=${lineEnding}`);
|
|
88
|
+
args.push(...(patterns || ["."]));
|
|
37
89
|
const result = await biome(args, cwd);
|
|
38
90
|
const data = parseBiomeFormat(result.stdout, result.stderr, result.exitCode);
|
|
39
91
|
return compactDualOutput(data, result.stdout, formatFormatWrite, compactFormatWriteMap, formatFormatWriteCompact, compact === false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"biome-format.js","sourceRoot":"","sources":["../../src/tools/biome-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,iEAAiE;AACjE,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,0JAA0J;QAC5J,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAC5C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;iBACd,QAAQ,CAAC,0CAA0C,CAAC;YACvD,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,uBAAuB;KACtC,EACD,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"biome-format.js","sourceRoot":"","sources":["../../src/tools/biome-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,iEAAiE;AACjE,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,0JAA0J;QAC5J,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAC5C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;iBACd,QAAQ,CAAC,0CAA0C,CAAC;YACvD,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;YAChE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACtF,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC;iBAC5B,QAAQ,EAAE;iBACV,QAAQ,CAAC,gEAAgE,CAAC;YAC7E,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,0DAA0D,CAAC;YACvE,WAAW,EAAE,CAAC;iBACX,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;iBACtB,QAAQ,EAAE;iBACV,QAAQ,CAAC,sCAAsC,CAAC;YACnD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAChE,UAAU,EAAE,CAAC;iBACV,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,yCAAyC,CAAC;YACtD,UAAU,EAAE,CAAC;iBACV,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;iBAC5B,QAAQ,EAAE;iBACV,QAAQ,CAAC,sCAAsC,CAAC;YACnD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YACjF,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,uBAAuB;KACtC,EACD,KAAK,EAAE,EACL,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,MAAM,EACN,KAAK,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,OAAO,GACR,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAiB,CAAC,CAAC;QACtD,IAAI,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACV,qBAAqB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,WAAW;YAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;QAC5D,IAAI,SAAS,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;QACpE,IAAI,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;QACzD,IAAI,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;QACxD,IAAI,UAAU;YAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7E,OAAO,iBAAiB,CACtB,IAAI,EACJ,MAAM,CAAC,MAAM,EACb,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-check.d.ts","sourceRoot":"","sources":["../../src/tools/format-check.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,iEAAiE;AACjE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"format-check.d.ts","sourceRoot":"","sources":["../../src/tools/format-check.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE,iEAAiE;AACjE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,QA2GxD"}
|
|
@@ -21,6 +21,37 @@ export function registerFormatCheckTool(server) {
|
|
|
21
21
|
.optional()
|
|
22
22
|
.default(["."])
|
|
23
23
|
.describe("File patterns to check (default: ['.'])"),
|
|
24
|
+
ignoreUnknown: z
|
|
25
|
+
.boolean()
|
|
26
|
+
.optional()
|
|
27
|
+
.describe("Ignore files that cannot be parsed (maps to --ignore-unknown)"),
|
|
28
|
+
cache: z
|
|
29
|
+
.boolean()
|
|
30
|
+
.optional()
|
|
31
|
+
.describe("Cache formatted files for faster subsequent checks (maps to --cache)"),
|
|
32
|
+
noConfig: z
|
|
33
|
+
.boolean()
|
|
34
|
+
.optional()
|
|
35
|
+
.describe("Do not look for a configuration file (maps to --no-config)"),
|
|
36
|
+
logLevel: z
|
|
37
|
+
.enum(["silent", "error", "warn", "log", "debug"])
|
|
38
|
+
.optional()
|
|
39
|
+
.describe("Log level to control output verbosity"),
|
|
40
|
+
config: z
|
|
41
|
+
.string()
|
|
42
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
43
|
+
.optional()
|
|
44
|
+
.describe("Path to a Prettier configuration file (maps to --config)"),
|
|
45
|
+
ignorePath: z
|
|
46
|
+
.string()
|
|
47
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
48
|
+
.optional()
|
|
49
|
+
.describe("Path to a custom ignore file (maps to --ignore-path)"),
|
|
50
|
+
parser: z
|
|
51
|
+
.string()
|
|
52
|
+
.max(INPUT_LIMITS.STRING_MAX)
|
|
53
|
+
.optional()
|
|
54
|
+
.describe("Force a specific parser for ambiguous file types (maps to --parser)"),
|
|
24
55
|
compact: z
|
|
25
56
|
.boolean()
|
|
26
57
|
.optional()
|
|
@@ -28,12 +59,33 @@ export function registerFormatCheckTool(server) {
|
|
|
28
59
|
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
29
60
|
},
|
|
30
61
|
outputSchema: FormatCheckResultSchema,
|
|
31
|
-
}, async ({ path, patterns, compact }) => {
|
|
62
|
+
}, async ({ path, patterns, ignoreUnknown, cache, noConfig, logLevel, config, ignorePath, parser, compact, }) => {
|
|
32
63
|
const cwd = path || process.cwd();
|
|
33
64
|
for (const p of patterns ?? []) {
|
|
34
65
|
assertNoFlagInjection(p, "patterns");
|
|
35
66
|
}
|
|
36
|
-
const args = ["--check"
|
|
67
|
+
const args = ["--check"];
|
|
68
|
+
if (ignoreUnknown)
|
|
69
|
+
args.push("--ignore-unknown");
|
|
70
|
+
if (cache)
|
|
71
|
+
args.push("--cache");
|
|
72
|
+
if (noConfig)
|
|
73
|
+
args.push("--no-config");
|
|
74
|
+
if (logLevel)
|
|
75
|
+
args.push(`--log-level=${logLevel}`);
|
|
76
|
+
if (config) {
|
|
77
|
+
assertNoFlagInjection(config, "config");
|
|
78
|
+
args.push(`--config=${config}`);
|
|
79
|
+
}
|
|
80
|
+
if (ignorePath) {
|
|
81
|
+
assertNoFlagInjection(ignorePath, "ignorePath");
|
|
82
|
+
args.push(`--ignore-path=${ignorePath}`);
|
|
83
|
+
}
|
|
84
|
+
if (parser) {
|
|
85
|
+
assertNoFlagInjection(parser, "parser");
|
|
86
|
+
args.push(`--parser=${parser}`);
|
|
87
|
+
}
|
|
88
|
+
args.push(...(patterns || ["."]));
|
|
37
89
|
const result = await prettier(args, cwd);
|
|
38
90
|
const data = parsePrettierCheck(result.stdout, result.stderr, result.exitCode);
|
|
39
91
|
return compactDualOutput(data, result.stdout, formatFormatCheck, compactFormatCheckMap, formatFormatCheckCompact, compact === false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format-check.js","sourceRoot":"","sources":["../../src/tools/format-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,iEAAiE;AACjE,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,qJAAqJ;QACvJ,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAC5C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;iBACd,QAAQ,CAAC,yCAAyC,CAAC;YACtD,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,uBAAuB;KACtC,EACD,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"format-check.js","sourceRoot":"","sources":["../../src/tools/format-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,iEAAiE;AACjE,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,qJAAqJ;QACvJ,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAC5C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;iBACd,QAAQ,CAAC,yCAAyC,CAAC;YACtD,aAAa,EAAE,CAAC;iBACb,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,+DAA+D,CAAC;YAC5E,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,sEAAsE,CAAC;YACnF,QAAQ,EAAE,CAAC;iBACR,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;iBACjD,QAAQ,EAAE;iBACV,QAAQ,CAAC,uCAAuC,CAAC;YACpD,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,0DAA0D,CAAC;YACvE,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,sDAAsD,CAAC;YACnE,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC;iBAC5B,QAAQ,EAAE;iBACV,QAAQ,CAAC,qEAAqE,CAAC;YAClF,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,uBAAuB;KACtC,EACD,KAAK,EAAE,EACL,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,UAAU,EACV,MAAM,EACN,OAAO,GACR,EAAE,EAAE;QACH,MAAM,GAAG,GAAG,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,QAAQ,IAAI,EAAE,EAAE,CAAC;YAC/B,qBAAqB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,aAAa;YAAE,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjD,IAAI,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACvC,IAAI,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;QACnD,IAAI,MAAM,EAAE,CAAC;YACX,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,qBAAqB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,iBAAiB,UAAU,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,YAAY,MAAM,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/E,OAAO,iBAAiB,CACtB,IAAI,EACJ,MAAM,CAAC,MAAM,EACb,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hadolint.d.ts","sourceRoot":"","sources":["../../src/tools/hadolint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"hadolint.d.ts","sourceRoot":"","sources":["../../src/tools/hadolint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,6DAA6D;AAC7D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,QAoLrD"}
|
package/dist/tools/hadolint.js
CHANGED
|
@@ -31,6 +31,49 @@ export function registerHadolintTool(server) {
|
|
|
31
31
|
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
32
32
|
.optional()
|
|
33
33
|
.describe("Rule codes to ignore (e.g., ['DL3008', 'DL3013'])"),
|
|
34
|
+
failureThreshold: z
|
|
35
|
+
.enum(["error", "warning", "info", "style", "ignore", "none"])
|
|
36
|
+
.optional()
|
|
37
|
+
.describe("Minimum severity to cause a non-zero exit code (maps to --failure-threshold)"),
|
|
38
|
+
noFail: z
|
|
39
|
+
.boolean()
|
|
40
|
+
.optional()
|
|
41
|
+
.describe("Always exit with 0 for informational-only runs (maps to --no-fail)"),
|
|
42
|
+
strictLabels: z
|
|
43
|
+
.boolean()
|
|
44
|
+
.optional()
|
|
45
|
+
.describe("Enforce strict label schema (maps to --strict-labels)"),
|
|
46
|
+
verbose: z.boolean().optional().describe("Enable verbose output (maps to --verbose)"),
|
|
47
|
+
config: z
|
|
48
|
+
.string()
|
|
49
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
50
|
+
.optional()
|
|
51
|
+
.describe("Path to Hadolint configuration file (maps to --config)"),
|
|
52
|
+
requireLabel: z
|
|
53
|
+
.array(z.string().max(INPUT_LIMITS.STRING_MAX))
|
|
54
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
55
|
+
.optional()
|
|
56
|
+
.describe("Required labels in Dockerfiles, e.g. ['maintainer:text'] (maps to --require-label)"),
|
|
57
|
+
shell: z
|
|
58
|
+
.string()
|
|
59
|
+
.max(INPUT_LIMITS.STRING_MAX)
|
|
60
|
+
.optional()
|
|
61
|
+
.describe("Default shell for RUN instruction linting, e.g. '/bin/bash' (maps to --shell)"),
|
|
62
|
+
errorRules: z
|
|
63
|
+
.array(z.string().max(INPUT_LIMITS.STRING_MAX))
|
|
64
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
65
|
+
.optional()
|
|
66
|
+
.describe("Rule codes to treat as errors (maps to --error)"),
|
|
67
|
+
warningRules: z
|
|
68
|
+
.array(z.string().max(INPUT_LIMITS.STRING_MAX))
|
|
69
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
70
|
+
.optional()
|
|
71
|
+
.describe("Rule codes to treat as warnings (maps to --warning)"),
|
|
72
|
+
infoRules: z
|
|
73
|
+
.array(z.string().max(INPUT_LIMITS.STRING_MAX))
|
|
74
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
75
|
+
.optional()
|
|
76
|
+
.describe("Rule codes to treat as info (maps to --info)"),
|
|
34
77
|
compact: z
|
|
35
78
|
.boolean()
|
|
36
79
|
.optional()
|
|
@@ -38,7 +81,7 @@ export function registerHadolintTool(server) {
|
|
|
38
81
|
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
39
82
|
},
|
|
40
83
|
outputSchema: LintResultSchema,
|
|
41
|
-
}, async ({ path, patterns, trustedRegistries, ignoreRules, compact }) => {
|
|
84
|
+
}, async ({ path, patterns, trustedRegistries, ignoreRules, failureThreshold, noFail, strictLabels, verbose, config, requireLabel, shell, errorRules, warningRules, infoRules, compact, }) => {
|
|
42
85
|
const cwd = path || process.cwd();
|
|
43
86
|
for (const p of patterns ?? []) {
|
|
44
87
|
assertNoFlagInjection(p, "patterns");
|
|
@@ -56,6 +99,46 @@ export function registerHadolintTool(server) {
|
|
|
56
99
|
args.push(`--ignore=${rule}`);
|
|
57
100
|
}
|
|
58
101
|
}
|
|
102
|
+
if (failureThreshold)
|
|
103
|
+
args.push(`--failure-threshold=${failureThreshold}`);
|
|
104
|
+
if (noFail)
|
|
105
|
+
args.push("--no-fail");
|
|
106
|
+
if (strictLabels)
|
|
107
|
+
args.push("--strict-labels");
|
|
108
|
+
if (verbose)
|
|
109
|
+
args.push("--verbose");
|
|
110
|
+
if (config) {
|
|
111
|
+
assertNoFlagInjection(config, "config");
|
|
112
|
+
args.push(`--config=${config}`);
|
|
113
|
+
}
|
|
114
|
+
if (requireLabel) {
|
|
115
|
+
for (const label of requireLabel) {
|
|
116
|
+
assertNoFlagInjection(label, "requireLabel");
|
|
117
|
+
args.push(`--require-label=${label}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (shell) {
|
|
121
|
+
assertNoFlagInjection(shell, "shell");
|
|
122
|
+
args.push(`--shell=${shell}`);
|
|
123
|
+
}
|
|
124
|
+
if (errorRules) {
|
|
125
|
+
for (const rule of errorRules) {
|
|
126
|
+
assertNoFlagInjection(rule, "errorRules");
|
|
127
|
+
args.push(`--error=${rule}`);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (warningRules) {
|
|
131
|
+
for (const rule of warningRules) {
|
|
132
|
+
assertNoFlagInjection(rule, "warningRules");
|
|
133
|
+
args.push(`--warning=${rule}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (infoRules) {
|
|
137
|
+
for (const rule of infoRules) {
|
|
138
|
+
assertNoFlagInjection(rule, "infoRules");
|
|
139
|
+
args.push(`--info=${rule}`);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
59
142
|
args.push(...(patterns || ["Dockerfile"]));
|
|
60
143
|
const result = await hadolintCmd(args, cwd);
|
|
61
144
|
const data = parseHadolintJson(result.stdout);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hadolint.js","sourceRoot":"","sources":["../../src/tools/hadolint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,6DAA6D;AAC7D,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,MAAM,CAAC,YAAY,CACjB,UAAU,EACV;QACE,KAAK,EAAE,UAAU;QACjB,WAAW,EACT,gKAAgK;QAClK,WAAW,EAAE;YACX,IAAI,EAAE,CAAC;iBACJ,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,QAAQ,EAAE,CAAC;iBACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;iBAC5C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC;iBACvB,QAAQ,CAAC,qDAAqD,CAAC;YAClE,iBAAiB,EAAE,CAAC;iBACjB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;iBAC9C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,QAAQ,CAAC,4DAA4D,CAAC;YACzE,WAAW,EAAE,CAAC;iBACX,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;iBAC9C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,QAAQ,CAAC,mDAAmD,CAAC;YAChE,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;SACJ;QACD,YAAY,EAAE,gBAAgB;KAC/B,EACD,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"hadolint.js","sourceRoot":"","sources":["../../src/tools/hadolint.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/lint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/tools/lint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/tools/lint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,yDAAyD;AACzD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,QA0HjD"}
|
package/dist/tools/lint.js
CHANGED
|
@@ -8,7 +8,7 @@ import { LintResultSchema } from "../schemas/index.js";
|
|
|
8
8
|
export function registerLintTool(server) {
|
|
9
9
|
server.registerTool("lint", {
|
|
10
10
|
title: "ESLint Check",
|
|
11
|
-
description: "Runs ESLint and returns structured diagnostics (file, line, rule, severity, message). Use instead of running `eslint` in the terminal.",
|
|
11
|
+
description: "Runs ESLint and returns structured diagnostics (file, line, column, rule, severity, message). Use instead of running `eslint` in the terminal.",
|
|
12
12
|
inputSchema: {
|
|
13
13
|
path: z
|
|
14
14
|
.string()
|
|
@@ -22,6 +22,43 @@ export function registerLintTool(server) {
|
|
|
22
22
|
.default(["."])
|
|
23
23
|
.describe("File patterns to lint (default: ['.'])"),
|
|
24
24
|
fix: z.boolean().optional().default(false).describe("Auto-fix problems"),
|
|
25
|
+
quiet: z
|
|
26
|
+
.boolean()
|
|
27
|
+
.optional()
|
|
28
|
+
.describe("Report errors only, suppress warnings (maps to --quiet)"),
|
|
29
|
+
noIgnore: z
|
|
30
|
+
.boolean()
|
|
31
|
+
.optional()
|
|
32
|
+
.describe("Disable ignore patterns to lint normally-ignored files (maps to --no-ignore)"),
|
|
33
|
+
cache: z
|
|
34
|
+
.boolean()
|
|
35
|
+
.optional()
|
|
36
|
+
.describe("Cache lint results for faster subsequent runs (maps to --cache)"),
|
|
37
|
+
fixDryRun: z
|
|
38
|
+
.boolean()
|
|
39
|
+
.optional()
|
|
40
|
+
.describe("Preview fixes without writing them (maps to --fix-dry-run)"),
|
|
41
|
+
maxWarnings: z
|
|
42
|
+
.number()
|
|
43
|
+
.int()
|
|
44
|
+
.min(-1)
|
|
45
|
+
.optional()
|
|
46
|
+
.describe("Maximum number of warnings before failing (maps to --max-warnings). Use -1 for no limit."),
|
|
47
|
+
config: z
|
|
48
|
+
.string()
|
|
49
|
+
.max(INPUT_LIMITS.PATH_MAX)
|
|
50
|
+
.optional()
|
|
51
|
+
.describe("Path to ESLint configuration file (maps to --config)"),
|
|
52
|
+
fixType: z
|
|
53
|
+
.array(z.enum(["problem", "suggestion", "layout", "directive"]))
|
|
54
|
+
.max(4)
|
|
55
|
+
.optional()
|
|
56
|
+
.describe("Types of fixes to apply (maps to --fix-type). Requires --fix or --fix-dry-run."),
|
|
57
|
+
rule: z
|
|
58
|
+
.array(z.string().max(INPUT_LIMITS.STRING_MAX))
|
|
59
|
+
.max(INPUT_LIMITS.ARRAY_MAX)
|
|
60
|
+
.optional()
|
|
61
|
+
.describe("Ad-hoc rule overrides, e.g. ['no-console: error'] (maps to --rule)"),
|
|
25
62
|
compact: z
|
|
26
63
|
.boolean()
|
|
27
64
|
.optional()
|
|
@@ -29,7 +66,7 @@ export function registerLintTool(server) {
|
|
|
29
66
|
.describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."),
|
|
30
67
|
},
|
|
31
68
|
outputSchema: LintResultSchema,
|
|
32
|
-
}, async ({ path, patterns, fix, compact }) => {
|
|
69
|
+
}, async ({ path, patterns, fix, quiet, noIgnore, cache, fixDryRun, maxWarnings, config, fixType, rule, compact, }) => {
|
|
33
70
|
const cwd = path || process.cwd();
|
|
34
71
|
for (const p of patterns ?? []) {
|
|
35
72
|
assertNoFlagInjection(p, "patterns");
|
|
@@ -37,6 +74,29 @@ export function registerLintTool(server) {
|
|
|
37
74
|
const args = ["--format", "json", ...(patterns || ["."])];
|
|
38
75
|
if (fix)
|
|
39
76
|
args.push("--fix");
|
|
77
|
+
if (quiet)
|
|
78
|
+
args.push("--quiet");
|
|
79
|
+
if (noIgnore)
|
|
80
|
+
args.push("--no-ignore");
|
|
81
|
+
if (cache)
|
|
82
|
+
args.push("--cache");
|
|
83
|
+
if (fixDryRun)
|
|
84
|
+
args.push("--fix-dry-run");
|
|
85
|
+
if (maxWarnings !== undefined)
|
|
86
|
+
args.push(`--max-warnings=${maxWarnings}`);
|
|
87
|
+
if (config) {
|
|
88
|
+
assertNoFlagInjection(config, "config");
|
|
89
|
+
args.push(`--config=${config}`);
|
|
90
|
+
}
|
|
91
|
+
if (fixType && fixType.length > 0) {
|
|
92
|
+
args.push(`--fix-type=${fixType.join(",")}`);
|
|
93
|
+
}
|
|
94
|
+
if (rule) {
|
|
95
|
+
for (const r of rule) {
|
|
96
|
+
assertNoFlagInjection(r, "rule");
|
|
97
|
+
args.push("--rule", r);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
40
100
|
const result = await eslint(args, cwd);
|
|
41
101
|
const data = parseEslintJson(result.stdout);
|
|
42
102
|
return compactDualOutput(data, result.stdout, formatLint, compactLintMap, formatLintCompact, compact === false);
|
package/dist/tools/lint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/tools/lint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,yDAAyD;AACzD,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,MAAM,CAAC,YAAY,CACjB,MAAM,EACN;QACE,KAAK,EAAE,cAAc;QACrB,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/tools/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oxlint.d.ts","sourceRoot":"","sources":["../../src/tools/oxlint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"oxlint.d.ts","sourceRoot":"","sources":["../../src/tools/oxlint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOzE,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,QAyJnD"}
|