@0disoft/mensor-cli 0.2.1 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +247 -11
- package/dist/src/cli.js.map +1 -1
- package/dist/src/hono-jsx-activation.d.ts +5 -0
- package/dist/src/hono-jsx-activation.d.ts.map +1 -0
- package/dist/src/hono-jsx-activation.js +373 -0
- package/dist/src/hono-jsx-activation.js.map +1 -0
- package/dist/src/hono-jsx-form-index.d.ts +14 -0
- package/dist/src/hono-jsx-form-index.d.ts.map +1 -0
- package/dist/src/hono-jsx-form-index.js +58 -0
- package/dist/src/hono-jsx-form-index.js.map +1 -0
- package/dist/src/hono-route-index.d.ts +18 -0
- package/dist/src/hono-route-index.d.ts.map +1 -0
- package/dist/src/hono-route-index.js +292 -0
- package/dist/src/hono-route-index.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/manifest-output.d.ts +3 -0
- package/dist/src/manifest-output.d.ts.map +1 -0
- package/dist/src/manifest-output.js +70 -0
- package/dist/src/manifest-output.js.map +1 -0
- package/dist/src/sarif.d.ts +3 -0
- package/dist/src/sarif.d.ts.map +1 -0
- package/dist/src/sarif.js +99 -0
- package/dist/src/sarif.js.map +1 -0
- package/dist/src/template-source.d.ts +11 -0
- package/dist/src/template-source.d.ts.map +1 -0
- package/dist/src/template-source.js +112 -0
- package/dist/src/template-source.js.map +1 -0
- package/dist/src/typescript-template-form-index.d.ts +14 -0
- package/dist/src/typescript-template-form-index.d.ts.map +1 -0
- package/dist/src/typescript-template-form-index.js +204 -0
- package/dist/src/typescript-template-form-index.js.map +1 -0
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @0disoft/mensor-cli
|
|
2
2
|
|
|
3
|
-
Command-line interface for checking Mensor project contracts.
|
|
3
|
+
Command-line interface for checking and compiling Mensor project contracts.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -30,6 +30,75 @@ application route declarations are not inspected.
|
|
|
30
30
|
|
|
31
31
|
Mensor does not execute project source or configuration while checking it.
|
|
32
32
|
|
|
33
|
+
Emit SARIF 2.1.0 for code-scanning consumers:
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
pnpm exec mensor check . --sarif
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
SARIF is available only for completed checks and cannot be combined with
|
|
40
|
+
`--json` or `--report-version`.
|
|
41
|
+
|
|
42
|
+
## Compile A Runtime Manifest
|
|
43
|
+
|
|
44
|
+
Compile only after all configured checks pass and atomically replace the
|
|
45
|
+
root-relative output file:
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
pnpm exec mensor compile . --out .mensor/manifest.json
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
The default output is `.mensor/manifest.json`. Diagnostic, configuration, and
|
|
52
|
+
write failures do not replace an existing manifest. Add `--json` to emit the
|
|
53
|
+
same canonical manifest bytes to stdout after the file is written.
|
|
54
|
+
|
|
55
|
+
## Produce A Hono RouteIndex
|
|
56
|
+
|
|
57
|
+
Generate a canonical RouteIndex from explicitly selected Hono source files and
|
|
58
|
+
receiver identifiers:
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
pnpm exec mensor index-hono-routes . --source src/routes.ts --receiver app
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Repeat `--source` and `--receiver` when needed. The default output is
|
|
65
|
+
`mensor.route-index.json`; `--out` selects another root-relative path and
|
|
66
|
+
`--json` emits the same canonical bytes after the atomic write. Mensor parses
|
|
67
|
+
source without importing or executing it. Only direct or chained static
|
|
68
|
+
`receiver.get()` and `receiver.post()` calls are supported. Dynamic paths,
|
|
69
|
+
mounted routers, `on`, `all`, and optional chains fail closed rather than
|
|
70
|
+
producing an incomplete index.
|
|
71
|
+
|
|
72
|
+
## Produce A TypeScript FormIndex
|
|
73
|
+
|
|
74
|
+
Generate a canonical FormIndex from explicitly selected TypeScript or
|
|
75
|
+
JavaScript files and tagged-template identifiers:
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
pnpm exec mensor index-ts-forms . --source src/views.ts --tag html
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Repeat `--source` and `--tag` when needed. The default output is
|
|
82
|
+
`mensor.form-index.json`; `--out` selects another root-relative path and
|
|
83
|
+
`--json` emits the same canonical bytes after the atomic write. Mensor parses
|
|
84
|
+
without importing or executing source. Only exact identifier tags with
|
|
85
|
+
no-substitution templates yield static form facts. Interpolation is retained
|
|
86
|
+
as incomplete evidence, and a source with no selected template fails closed.
|
|
87
|
+
|
|
88
|
+
## Produce A Hono JSX FormIndex
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
pnpm exec mensor index-hono-jsx-forms . --source app/routes/index.tsx --jsx-config tsconfig.json --build-config vite.config.ts --renderer app/routes/_renderer.tsx
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
This explicit producer supports a bounded static HonoX configuration and
|
|
95
|
+
transparent Hono renderer. It never executes source or configuration. The
|
|
96
|
+
artifact includes configuration digests. With `sourceRoot: "app"`, declare
|
|
97
|
+
`formIndexEvidence: ["tsconfig.json", "vite.config.ts"]` alongside `formIndex`
|
|
98
|
+
in the Mensor project contract. These explicit files are freshness evidence,
|
|
99
|
+
not additional application sources. Custom transforms and nested renderers fail closed.
|
|
100
|
+
See the [supported subset](https://github.com/0disoft/mensor/blob/main/docs/architecture/hono-jsx-form-index-v1.md).
|
|
101
|
+
|
|
33
102
|
## Documentation
|
|
34
103
|
|
|
35
104
|
- [Project and feature contract authoring](https://github.com/0disoft/mensor/blob/main/packages/contract/spec/README.md)
|
package/dist/src/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAEV,aAAa,EACd,MAAM,YAAY,CAAC;AAcpB,eAAO,MAAM,UAAU,QAAuB,CAAC;AAgD/C,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAuZpE"}
|
package/dist/src/cli.js
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import { parseArgs } from "node:util";
|
|
4
|
-
import { checkProject } from "@0disoft/mensor-compiler";
|
|
4
|
+
import { checkProject, compileProject, } from "@0disoft/mensor-compiler";
|
|
5
|
+
import { HonoRouteIndexError, produceHonoRouteIndex, } from "./hono-route-index.js";
|
|
6
|
+
import { produceTypeScriptTemplateFormIndex, TypeScriptTemplateFormIndexError, } from "./typescript-template-form-index.js";
|
|
7
|
+
import { writeCanonicalArtifactAtomic, writeManifestAtomic, } from "./manifest-output.js";
|
|
8
|
+
import { formatDiagnosticReportSarif } from "./sarif.js";
|
|
9
|
+
import { produceHonoJsxFormIndex } from "./hono-jsx-form-index.js";
|
|
10
|
+
import { normalizeSourcePath } from "./template-source.js";
|
|
5
11
|
export const cliVersion = readPackageVersion();
|
|
6
12
|
function readPackageVersion() {
|
|
7
13
|
let value;
|
|
@@ -21,16 +27,28 @@ function readPackageVersion() {
|
|
|
21
27
|
}
|
|
22
28
|
return value.version;
|
|
23
29
|
}
|
|
24
|
-
const helpText = `Usage: mensor check [root] [
|
|
30
|
+
const helpText = `Usage: mensor <check|compile|index-hono-routes|index-ts-forms|index-hono-jsx-forms> [root] [options]
|
|
25
31
|
|
|
26
32
|
Commands:
|
|
27
|
-
check
|
|
33
|
+
check Check project contracts against static source facts.
|
|
34
|
+
compile Check contracts and atomically write a runtime manifest.
|
|
35
|
+
index-hono-routes Produce a source-bound RouteIndex from explicit Hono sources.
|
|
36
|
+
index-ts-forms Produce a FormIndex from explicit tagged HTML templates.
|
|
37
|
+
index-hono-jsx-forms Produce a FormIndex from explicit HonoX TSX routes.
|
|
28
38
|
|
|
29
39
|
Options:
|
|
30
|
-
--config <path>
|
|
31
|
-
--json
|
|
32
|
-
--
|
|
33
|
-
--
|
|
40
|
+
--config <path> Root-relative project contract path.
|
|
41
|
+
--json Write one canonical JSON document to stdout.
|
|
42
|
+
--sarif Write SARIF 2.1.0 for a completed check to stdout.
|
|
43
|
+
--out <path> Root-relative output path.
|
|
44
|
+
--source <path> Hono source path; repeat for multiple files.
|
|
45
|
+
--receiver <name> Hono receiver identifier; repeat for multiple receivers.
|
|
46
|
+
--tag <name> Tagged-template identifier; repeat for multiple tags.
|
|
47
|
+
--jsx-config <path> Standalone Hono JSX TypeScript configuration.
|
|
48
|
+
--build-config <path> Explicit static HonoX Vite configuration.
|
|
49
|
+
--renderer <path> Explicit transparent Hono _renderer.tsx.
|
|
50
|
+
--report-version Select check JSON output revision 1 or 2. Requires --json.
|
|
51
|
+
--help Show this help.
|
|
34
52
|
`;
|
|
35
53
|
export async function runCli(options) {
|
|
36
54
|
let parsed;
|
|
@@ -43,7 +61,15 @@ export async function runCli(options) {
|
|
|
43
61
|
config: { type: "string" },
|
|
44
62
|
help: { type: "boolean", short: "h" },
|
|
45
63
|
json: { type: "boolean" },
|
|
64
|
+
out: { type: "string" },
|
|
65
|
+
receiver: { type: "string", multiple: true },
|
|
46
66
|
"report-version": { type: "string" },
|
|
67
|
+
sarif: { type: "boolean" },
|
|
68
|
+
source: { type: "string", multiple: true },
|
|
69
|
+
tag: { type: "string", multiple: true },
|
|
70
|
+
"jsx-config": { type: "string" },
|
|
71
|
+
"build-config": { type: "string" },
|
|
72
|
+
renderer: { type: "string" },
|
|
47
73
|
},
|
|
48
74
|
});
|
|
49
75
|
}
|
|
@@ -51,6 +77,7 @@ export async function runCli(options) {
|
|
|
51
77
|
return writeUsageFailure(options, errorMessage(error), options.argv.includes("--json"), requestedReportVersion(options.argv));
|
|
52
78
|
}
|
|
53
79
|
const json = parsed.values["json"] === true;
|
|
80
|
+
const sarif = parsed.values["sarif"] === true;
|
|
54
81
|
const rawReportVersion = parsed.values["report-version"];
|
|
55
82
|
const reportVersionValue = typeof rawReportVersion === "string"
|
|
56
83
|
? rawReportVersion
|
|
@@ -62,17 +89,57 @@ export async function runCli(options) {
|
|
|
62
89
|
if (reportVersion === undefined) {
|
|
63
90
|
return writeUsageFailure(options, "--report-version must be 1 or 2.", json, 1);
|
|
64
91
|
}
|
|
65
|
-
if (reportVersionValue !== undefined && !json) {
|
|
92
|
+
if (reportVersionValue !== undefined && !json && !sarif) {
|
|
66
93
|
return writeUsageFailure(options, "--report-version requires --json.", false, reportVersion);
|
|
67
94
|
}
|
|
95
|
+
if (sarif && json) {
|
|
96
|
+
return writeUsageFailure(options, "--sarif and --json cannot be combined.", false, reportVersion);
|
|
97
|
+
}
|
|
98
|
+
if (sarif && reportVersionValue !== undefined) {
|
|
99
|
+
return writeUsageFailure(options, "--sarif cannot be combined with --report-version.", false, reportVersion);
|
|
100
|
+
}
|
|
68
101
|
if (parsed.values["help"] === true) {
|
|
69
102
|
options.stdout(helpText);
|
|
70
103
|
return 0;
|
|
71
104
|
}
|
|
72
|
-
|
|
73
|
-
|
|
105
|
+
const command = parsed.positionals[0];
|
|
106
|
+
if ((command !== "check" &&
|
|
107
|
+
command !== "compile" &&
|
|
108
|
+
command !== "index-hono-routes" &&
|
|
109
|
+
command !== "index-ts-forms" &&
|
|
110
|
+
command !== "index-hono-jsx-forms") ||
|
|
111
|
+
parsed.positionals.length > 2) {
|
|
112
|
+
return writeUsageFailure(options, "Expected command check, compile, index-hono-routes, index-ts-forms, or index-hono-jsx-forms and at most one project root.", json, reportVersion);
|
|
113
|
+
}
|
|
114
|
+
if (command !== "check" && reportVersionValue !== undefined) {
|
|
115
|
+
return writeUsageFailure(options, "--report-version is available only for check.", json, reportVersion);
|
|
116
|
+
}
|
|
117
|
+
if (command !== "check" && sarif) {
|
|
118
|
+
return writeUsageFailure(options, "--sarif is available only for check.", false, reportVersion);
|
|
119
|
+
}
|
|
120
|
+
if (command === "check" && parsed.values["out"] !== undefined) {
|
|
121
|
+
return writeUsageFailure(options, "--out is available only for compile and index commands.", json, reportVersion);
|
|
122
|
+
}
|
|
123
|
+
if ((command === "index-hono-routes" || command === "index-ts-forms" || command === "index-hono-jsx-forms")
|
|
124
|
+
&& parsed.values["config"] !== undefined) {
|
|
125
|
+
return writeUsageFailure(options, "--config is unavailable for index commands.", json, reportVersion);
|
|
126
|
+
}
|
|
127
|
+
if (command !== "index-hono-routes" && command !== "index-ts-forms" && command !== "index-hono-jsx-forms" &&
|
|
128
|
+
(parsed.values["source"] !== undefined
|
|
129
|
+
|| parsed.values["receiver"] !== undefined
|
|
130
|
+
|| parsed.values["tag"] !== undefined)) {
|
|
131
|
+
return writeUsageFailure(options, "--source, --receiver, and --tag are available only for index commands.", json, reportVersion);
|
|
74
132
|
}
|
|
75
133
|
const root = path.resolve(options.cwd, parsed.positionals[1] ?? ".");
|
|
134
|
+
const jsxConfig = parsed.values["jsx-config"];
|
|
135
|
+
const buildConfig = parsed.values["build-config"];
|
|
136
|
+
const renderer = parsed.values["renderer"];
|
|
137
|
+
if (command !== "index-hono-jsx-forms" && [jsxConfig, buildConfig, renderer].some((value) => value !== undefined)) {
|
|
138
|
+
return writeUsageFailure(options, "--jsx-config, --build-config and --renderer are available only for index-hono-jsx-forms.", json, reportVersion);
|
|
139
|
+
}
|
|
140
|
+
if (command === "index-hono-jsx-forms" && [jsxConfig, buildConfig, renderer].some((value) => typeof value !== "string" || value.length === 0)) {
|
|
141
|
+
return writeUsageFailure(options, "JSX indexing requires --jsx-config, --build-config and --renderer.", json, reportVersion);
|
|
142
|
+
}
|
|
76
143
|
const configValue = parsed.values["config"];
|
|
77
144
|
if (typeof configValue === "string" &&
|
|
78
145
|
(path.isAbsolute(configValue) || path.win32.isAbsolute(configValue))) {
|
|
@@ -84,14 +151,149 @@ export async function runCli(options) {
|
|
|
84
151
|
}, json, reportVersion);
|
|
85
152
|
return 2;
|
|
86
153
|
}
|
|
154
|
+
if (command !== "index-hono-routes" && parsed.values["receiver"] !== undefined) {
|
|
155
|
+
return writeUsageFailure(options, "--receiver is available only for index-hono-routes.", json, reportVersion);
|
|
156
|
+
}
|
|
157
|
+
if (command !== "index-ts-forms" && parsed.values["tag"] !== undefined) {
|
|
158
|
+
return writeUsageFailure(options, "--tag is available only for index-ts-forms.", json, reportVersion);
|
|
159
|
+
}
|
|
87
160
|
const config = typeof configValue === "string"
|
|
88
161
|
? configValue.replaceAll("\\", "/")
|
|
89
162
|
: undefined;
|
|
163
|
+
if (command === "index-hono-routes") {
|
|
164
|
+
const sources = stringArray(parsed.values["source"]);
|
|
165
|
+
const receivers = stringArray(parsed.values["receiver"]);
|
|
166
|
+
if (sources === undefined || receivers === undefined) {
|
|
167
|
+
return writeUsageFailure(options, "--source and --receiver must each contain string values.", json, reportVersion);
|
|
168
|
+
}
|
|
169
|
+
const outputValue = parsed.values["out"];
|
|
170
|
+
const output = typeof outputValue === "string"
|
|
171
|
+
? normalizeRelativeOutput(outputValue)
|
|
172
|
+
: "mensor.route-index.json";
|
|
173
|
+
if (output === undefined) {
|
|
174
|
+
return writeUsageFailure(options, "--out must be relative to the selected project root.", json, reportVersion);
|
|
175
|
+
}
|
|
176
|
+
try {
|
|
177
|
+
const produced = await produceHonoRouteIndex({
|
|
178
|
+
root,
|
|
179
|
+
sources,
|
|
180
|
+
receivers,
|
|
181
|
+
producerVersion: cliVersion,
|
|
182
|
+
});
|
|
183
|
+
await writeCanonicalArtifactAtomic(root, output, produced.text);
|
|
184
|
+
options.stdout(json ? produced.text : `Wrote Hono RouteIndex to ${output}.\n`);
|
|
185
|
+
return 0;
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
if (error instanceof HonoRouteIndexError) {
|
|
189
|
+
writeFailure(options, {
|
|
190
|
+
kind: "configuration",
|
|
191
|
+
code: error.code,
|
|
192
|
+
message: error.message,
|
|
193
|
+
...(error.file === undefined ? {} : { file: error.file }),
|
|
194
|
+
}, json, reportVersion);
|
|
195
|
+
return 2;
|
|
196
|
+
}
|
|
197
|
+
writeFailure(options, {
|
|
198
|
+
kind: "filesystem",
|
|
199
|
+
code: "route_indexer.output_write_failed",
|
|
200
|
+
message: "The Hono RouteIndex could not be written atomically.",
|
|
201
|
+
file: output,
|
|
202
|
+
}, json, reportVersion);
|
|
203
|
+
return 3;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (command === "index-ts-forms" || command === "index-hono-jsx-forms") {
|
|
207
|
+
const sources = stringArray(parsed.values["source"]);
|
|
208
|
+
const tags = stringArray(parsed.values["tag"]);
|
|
209
|
+
if (sources === undefined || tags === undefined) {
|
|
210
|
+
return writeUsageFailure(options, "--source and --tag must each contain string values.", json, reportVersion);
|
|
211
|
+
}
|
|
212
|
+
const outputValue = parsed.values["out"];
|
|
213
|
+
const output = typeof outputValue === "string"
|
|
214
|
+
? normalizeRelativeOutput(outputValue)
|
|
215
|
+
: "mensor.form-index.json";
|
|
216
|
+
if (output === undefined) {
|
|
217
|
+
return writeUsageFailure(options, "--out must be relative to the selected project root.", json, reportVersion);
|
|
218
|
+
}
|
|
219
|
+
try {
|
|
220
|
+
if (command === "index-hono-jsx-forms") {
|
|
221
|
+
normalizeSourcePath(output);
|
|
222
|
+
if (!output.endsWith(".json") || [...sources, String(jsxConfig), String(buildConfig), String(renderer)]
|
|
223
|
+
.some((file) => file.toLowerCase() === output.toLowerCase())) {
|
|
224
|
+
throw new TypeScriptTemplateFormIndexError("hono_jsx.output_invalid", "JSX output must be a JSON path distinct from every input.", output);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
const produced = command === "index-hono-jsx-forms"
|
|
228
|
+
? await produceHonoJsxFormIndex({ root, sources, jsxConfig: String(jsxConfig), buildConfig: String(buildConfig), renderer: String(renderer), producerVersion: cliVersion })
|
|
229
|
+
: await produceTypeScriptTemplateFormIndex({
|
|
230
|
+
root,
|
|
231
|
+
sources,
|
|
232
|
+
tags,
|
|
233
|
+
producerVersion: cliVersion,
|
|
234
|
+
});
|
|
235
|
+
await writeCanonicalArtifactAtomic(root, output, produced.text);
|
|
236
|
+
options.stdout(json ? produced.text : `Wrote ${command === "index-hono-jsx-forms" ? "Hono JSX" : "TypeScript"} FormIndex to ${output}.\n`);
|
|
237
|
+
return 0;
|
|
238
|
+
}
|
|
239
|
+
catch (error) {
|
|
240
|
+
if (error instanceof TypeScriptTemplateFormIndexError) {
|
|
241
|
+
writeFailure(options, {
|
|
242
|
+
kind: "configuration",
|
|
243
|
+
code: error.code,
|
|
244
|
+
message: error.message,
|
|
245
|
+
...(error.file === undefined ? {} : { file: error.file }),
|
|
246
|
+
}, json, reportVersion);
|
|
247
|
+
return 2;
|
|
248
|
+
}
|
|
249
|
+
writeFailure(options, {
|
|
250
|
+
kind: "filesystem",
|
|
251
|
+
code: "form_indexer.output_write_failed",
|
|
252
|
+
message: "The FormIndex could not be written atomically.",
|
|
253
|
+
file: output,
|
|
254
|
+
}, json, reportVersion);
|
|
255
|
+
return 3;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
90
258
|
const checkOptions = {
|
|
91
259
|
root,
|
|
92
260
|
producerVersion: cliVersion,
|
|
93
261
|
...(config === undefined ? {} : { configFile: config }),
|
|
94
262
|
};
|
|
263
|
+
if (command === "compile") {
|
|
264
|
+
const outputValue = parsed.values["out"];
|
|
265
|
+
const output = typeof outputValue === "string"
|
|
266
|
+
? normalizeRelativeOutput(outputValue)
|
|
267
|
+
: ".mensor/manifest.json";
|
|
268
|
+
if (output === undefined) {
|
|
269
|
+
return writeUsageFailure(options, "--out must be relative to the selected project root.", json, reportVersion);
|
|
270
|
+
}
|
|
271
|
+
const compiled = await compileProject(checkOptions);
|
|
272
|
+
if (!compiled.ok) {
|
|
273
|
+
if (compiled.kind === "diagnostics") {
|
|
274
|
+
writeReport(options, compiled.report, json);
|
|
275
|
+
return 1;
|
|
276
|
+
}
|
|
277
|
+
const exitCode = compiled.failure.kind === "configuration" ? 2 : 3;
|
|
278
|
+
writeFailure(options, compiled.failure, json, reportVersion);
|
|
279
|
+
return exitCode;
|
|
280
|
+
}
|
|
281
|
+
const manifestText = `${JSON.stringify(compiled.manifest, null, 2)}\n`;
|
|
282
|
+
try {
|
|
283
|
+
await writeManifestAtomic(root, output, manifestText);
|
|
284
|
+
}
|
|
285
|
+
catch {
|
|
286
|
+
writeFailure(options, {
|
|
287
|
+
kind: "filesystem",
|
|
288
|
+
code: "cli.manifest_write_failed",
|
|
289
|
+
message: "The runtime manifest could not be written atomically.",
|
|
290
|
+
file: output,
|
|
291
|
+
}, json, reportVersion);
|
|
292
|
+
return 3;
|
|
293
|
+
}
|
|
294
|
+
options.stdout(json ? manifestText : `Wrote runtime manifest to ${output}.\n`);
|
|
295
|
+
return 0;
|
|
296
|
+
}
|
|
95
297
|
const result = reportVersion === 2
|
|
96
298
|
? await checkProject({ ...checkOptions, reportVersion: 2 })
|
|
97
299
|
: await checkProject(checkOptions);
|
|
@@ -100,7 +302,10 @@ export async function runCli(options) {
|
|
|
100
302
|
writeFailure(options, result.failure, json, reportVersion);
|
|
101
303
|
return exitCode;
|
|
102
304
|
}
|
|
103
|
-
if (
|
|
305
|
+
if (sarif) {
|
|
306
|
+
options.stdout(formatDiagnosticReportSarif(result.report));
|
|
307
|
+
}
|
|
308
|
+
else if (json) {
|
|
104
309
|
options.stdout(`${JSON.stringify(result.report, null, 2)}\n`);
|
|
105
310
|
}
|
|
106
311
|
else if (result.report.diagnostics.length === 0) {
|
|
@@ -115,6 +320,37 @@ export async function runCli(options) {
|
|
|
115
320
|
}
|
|
116
321
|
return result.report.summary.errorCount === 0 ? 0 : 1;
|
|
117
322
|
}
|
|
323
|
+
function writeReport(options, report, json) {
|
|
324
|
+
if (json) {
|
|
325
|
+
options.stdout(`${JSON.stringify(report, null, 2)}\n`);
|
|
326
|
+
return;
|
|
327
|
+
}
|
|
328
|
+
for (const diagnostic of report.diagnostics) {
|
|
329
|
+
options.stdout(`${diagnostic.file}:${diagnostic.range.start.line + 1}:${diagnostic.range.start.character + 1} ${diagnostic.code} ${diagnostic.message}\n`);
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
function normalizeRelativeOutput(value) {
|
|
333
|
+
if (value.length === 0 ||
|
|
334
|
+
path.isAbsolute(value) ||
|
|
335
|
+
path.win32.isAbsolute(value)) {
|
|
336
|
+
return undefined;
|
|
337
|
+
}
|
|
338
|
+
const normalized = value.replaceAll("\\", "/");
|
|
339
|
+
const segments = normalized.split("/");
|
|
340
|
+
if (segments.some((segment) => segment === "" || segment === "." || segment === "..")) {
|
|
341
|
+
return undefined;
|
|
342
|
+
}
|
|
343
|
+
return normalized;
|
|
344
|
+
}
|
|
345
|
+
function stringArray(value) {
|
|
346
|
+
if (value === undefined) {
|
|
347
|
+
return [];
|
|
348
|
+
}
|
|
349
|
+
if (!Array.isArray(value) || value.some((entry) => typeof entry !== "string")) {
|
|
350
|
+
return undefined;
|
|
351
|
+
}
|
|
352
|
+
return value;
|
|
353
|
+
}
|
|
118
354
|
function writeUsageFailure(options, message, json, reportVersion) {
|
|
119
355
|
writeFailure(options, {
|
|
120
356
|
kind: "configuration",
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare function assertHonoJsxConfiguration(file: string, source: string): void;
|
|
2
|
+
export declare function assertHonoJsxBuild(file: string, source: string): void;
|
|
3
|
+
export declare function assertHonoJsxRoute(file: string, source: string): void;
|
|
4
|
+
export declare function assertHonoJsxRenderer(file: string, source: string): void;
|
|
5
|
+
//# sourceMappingURL=hono-jsx-activation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hono-jsx-activation.d.ts","sourceRoot":"","sources":["../../src/hono-jsx-activation.ts"],"names":[],"mappings":"AAMA,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAW7E;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CA0BrE;AAqCD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAgDrE;AA2GD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAuDxE"}
|