@velarscript/cli 0.21.0 → 0.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/dist/application-entry.d.ts +43 -0
- package/dist/application-entry.d.ts.map +1 -1
- package/dist/application-entry.js +60 -0
- package/dist/application-entry.js.map +1 -1
- package/dist/cli.js +113 -3
- package/dist/cli.js.map +1 -1
- package/dist/language-server.d.ts.map +1 -1
- package/dist/language-server.js +84 -22
- package/dist/language-server.js.map +1 -1
- package/dist/logic-graph-output.d.ts +30 -0
- package/dist/logic-graph-output.d.ts.map +1 -0
- package/dist/logic-graph-output.js +131 -0
- package/dist/logic-graph-output.js.map +1 -0
- package/dist/mechanical-fixer.d.ts +8 -9
- package/dist/mechanical-fixer.d.ts.map +1 -1
- package/dist/mechanical-fixer.js +74 -10
- package/dist/mechanical-fixer.js.map +1 -1
- package/dist/ownership-graph.d.ts +28 -0
- package/dist/ownership-graph.d.ts.map +1 -1
- package/dist/ownership-graph.js +178 -6
- package/dist/ownership-graph.js.map +1 -1
- package/dist/project-check.d.ts +34 -0
- package/dist/project-check.d.ts.map +1 -1
- package/dist/project-check.js +57 -20
- package/dist/project-check.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +8 -8
- package/skill/ai-skill-node.md +3 -3
- package/skill/ai-skill-server.md +1 -1
- package/skill/ai-skill-web.md +3 -3
- package/skill/ai-skill.md +11 -6
package/dist/ownership-graph.js
CHANGED
|
@@ -4,15 +4,73 @@ import { projectImportKey } from "./project.js";
|
|
|
4
4
|
import { byCodeUnit } from "./stable-order.js";
|
|
5
5
|
const DEFAULT_MAXIMUM_NODES = 10_000;
|
|
6
6
|
const DEFAULT_MAXIMUM_EDGES = 20_000;
|
|
7
|
+
const moduleContentRevisions = new WeakMap();
|
|
8
|
+
function spansEqual(left, right) {
|
|
9
|
+
return left === right || (left !== undefined && right !== undefined
|
|
10
|
+
&& left.start === right.start && left.end === right.end);
|
|
11
|
+
}
|
|
12
|
+
function nodesEqual(left, right) {
|
|
13
|
+
return left.id === right.id
|
|
14
|
+
&& left.kind === right.kind
|
|
15
|
+
&& left.name === right.name
|
|
16
|
+
&& left.documentation === right.documentation
|
|
17
|
+
&& left.context === right.context
|
|
18
|
+
&& left.path === right.path
|
|
19
|
+
&& spansEqual(left.span, right.span)
|
|
20
|
+
&& spansEqual(left.selectionSpan, right.selectionSpan)
|
|
21
|
+
&& left.type === right.type
|
|
22
|
+
&& left.exported === right.exported
|
|
23
|
+
&& left.mutable === right.mutable;
|
|
24
|
+
}
|
|
25
|
+
function edgesEqual(left, right) {
|
|
26
|
+
return left.id === right.id
|
|
27
|
+
&& left.kind === right.kind
|
|
28
|
+
&& left.from === right.from
|
|
29
|
+
&& left.to === right.to
|
|
30
|
+
&& left.path === right.path
|
|
31
|
+
&& spansEqual(left.span, right.span);
|
|
32
|
+
}
|
|
33
|
+
/** Produces a transport patch from two complete graphs without interpreting source text. */
|
|
34
|
+
export function ownershipGraphDelta(previous, current) {
|
|
35
|
+
const previousNodes = new Map(previous.nodes.map((node) => [node.id, node]));
|
|
36
|
+
const currentNodeIds = new Set(current.nodes.map((node) => node.id));
|
|
37
|
+
const previousEdges = new Map(previous.edges.map((edge) => [edge.id, edge]));
|
|
38
|
+
const currentEdgeIds = new Set(current.edges.map((edge) => edge.id));
|
|
39
|
+
return {
|
|
40
|
+
baseRevision: previous.revision,
|
|
41
|
+
revision: current.revision,
|
|
42
|
+
nodes: current.nodes.filter((node) => {
|
|
43
|
+
const prior = previousNodes.get(node.id);
|
|
44
|
+
return prior === undefined || !nodesEqual(prior, node);
|
|
45
|
+
}),
|
|
46
|
+
edges: current.edges.filter((edge) => {
|
|
47
|
+
const prior = previousEdges.get(edge.id);
|
|
48
|
+
return prior === undefined || !edgesEqual(prior, edge);
|
|
49
|
+
}),
|
|
50
|
+
removedNodeIds: previous.nodes.filter((node) => !currentNodeIds.has(node.id)).map((node) => node.id),
|
|
51
|
+
removedEdgeIds: previous.edges.filter((edge) => !currentEdgeIds.has(edge.id)).map((edge) => edge.id),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
7
54
|
function shortHash(value) {
|
|
8
55
|
return createHash("sha256").update(value).digest("hex").slice(0, 24);
|
|
9
56
|
}
|
|
57
|
+
function moduleContentRevision(module) {
|
|
58
|
+
const cached = moduleContentRevisions.get(module.result);
|
|
59
|
+
if (cached !== undefined)
|
|
60
|
+
return cached;
|
|
61
|
+
const revision = createHash("sha256").update(module.result.source.text).digest("hex");
|
|
62
|
+
moduleContentRevisions.set(module.result, revision);
|
|
63
|
+
return revision;
|
|
64
|
+
}
|
|
10
65
|
export function ownershipGraphRevision(project) {
|
|
11
66
|
const hash = createHash("sha256");
|
|
12
67
|
for (const module of [...project.modules].sort((left, right) => byCodeUnit(left.inputPath, right.inputPath))) {
|
|
13
68
|
hash.update(relative(project.projectRoot, module.inputPath));
|
|
14
69
|
hash.update("\0");
|
|
15
|
-
|
|
70
|
+
// Incremental project compilation preserves the result object for every
|
|
71
|
+
// unaffected module. Cache its content digest so one edit does not make
|
|
72
|
+
// revision calculation scan every source byte in the project again.
|
|
73
|
+
hash.update(moduleContentRevision(module));
|
|
16
74
|
hash.update("\0");
|
|
17
75
|
}
|
|
18
76
|
for (const extension of project.compilerExtensions)
|
|
@@ -157,7 +215,7 @@ function importedCapabilityBySymbol(module) {
|
|
|
157
215
|
function edgeIdentity(kind, from, to, path, span) {
|
|
158
216
|
return `edge:${shortHash(`${kind}\0${from}\0${to}\0${path ?? ""}\0${span?.start ?? ""}:${span?.end ?? ""}`)}`;
|
|
159
217
|
}
|
|
160
|
-
|
|
218
|
+
async function buildOwnershipGraphScoped(project, options, scope) {
|
|
161
219
|
const startedAt = performance.now();
|
|
162
220
|
const maximumNodes = Math.max(1, Math.min(20_000, Math.floor(options.maximumNodes ?? DEFAULT_MAXIMUM_NODES)));
|
|
163
221
|
const maximumEdges = Math.max(1, Math.min(40_000, Math.floor(options.maximumEdges ?? DEFAULT_MAXIMUM_EDGES)));
|
|
@@ -171,6 +229,10 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
171
229
|
let skippedNodes = false;
|
|
172
230
|
let skippedEdges = false;
|
|
173
231
|
const moduleIds = new Map(project.modules.map((module) => [module.inputPath, moduleIdentity(project, module.inputPath)]));
|
|
232
|
+
const moduleNodeIds = new Set(moduleIds.values());
|
|
233
|
+
const includedModules = scope
|
|
234
|
+
? project.modules.filter((module) => scope.modulePaths.has(module.inputPath))
|
|
235
|
+
: project.modules;
|
|
174
236
|
const symbolIds = new Map();
|
|
175
237
|
const symbolByStableId = new Map();
|
|
176
238
|
const capabilityIds = new Map();
|
|
@@ -205,7 +267,11 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
205
267
|
// Asked before the identity is hashed: `uniqueNodes` only grows, so an
|
|
206
268
|
// edge whose ends are not retained now was never retained, cannot already
|
|
207
269
|
// be recorded, and would be filtered out of the answer regardless.
|
|
208
|
-
|
|
270
|
+
const retainedExternalModule = scope?.retainExternalModuleEdges === true
|
|
271
|
+
&& kind === "imports"
|
|
272
|
+
&& uniqueNodes.has(from)
|
|
273
|
+
&& moduleNodeIds.has(to);
|
|
274
|
+
if (nodesFinal() && (!uniqueNodes.has(from) || !uniqueNodes.has(to)) && !retainedExternalModule) {
|
|
209
275
|
skippedEdges = true;
|
|
210
276
|
return;
|
|
211
277
|
}
|
|
@@ -223,7 +289,7 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
223
289
|
...(span === undefined ? {} : { span }),
|
|
224
290
|
});
|
|
225
291
|
};
|
|
226
|
-
for (const module of
|
|
292
|
+
for (const module of includedModules) {
|
|
227
293
|
await checkpoint();
|
|
228
294
|
addNode({
|
|
229
295
|
id: moduleIds.get(module.inputPath),
|
|
@@ -252,6 +318,8 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
252
318
|
id,
|
|
253
319
|
kind: symbolKind(symbol),
|
|
254
320
|
name: symbol.name,
|
|
321
|
+
...(symbol.documentation ? { documentation: symbol.documentation } : {}),
|
|
322
|
+
...(symbol.context ? { context: symbol.context } : {}),
|
|
255
323
|
path: symbol.path,
|
|
256
324
|
span: symbol.span,
|
|
257
325
|
selectionSpan: symbol.selectionSpan,
|
|
@@ -261,7 +329,7 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
261
329
|
});
|
|
262
330
|
}
|
|
263
331
|
}
|
|
264
|
-
for (const module of
|
|
332
|
+
for (const module of includedModules) {
|
|
265
333
|
await checkpoint();
|
|
266
334
|
if (exhausted())
|
|
267
335
|
break;
|
|
@@ -350,7 +418,9 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
350
418
|
}
|
|
351
419
|
}
|
|
352
420
|
const nodes = [...uniqueNodes.values()];
|
|
353
|
-
const eligibleEdges = [...uniqueEdges.values()].filter((edge) => uniqueNodes.has(edge.from)
|
|
421
|
+
const eligibleEdges = [...uniqueEdges.values()].filter((edge) => uniqueNodes.has(edge.from)
|
|
422
|
+
&& (uniqueNodes.has(edge.to)
|
|
423
|
+
|| (scope?.retainExternalModuleEdges === true && edge.kind === "imports" && moduleNodeIds.has(edge.to))));
|
|
354
424
|
const edges = eligibleEdges.slice(0, maximumEdges);
|
|
355
425
|
const limitReached = skippedNodes || skippedEdges || edges.length < uniqueEdges.size;
|
|
356
426
|
const modulesIncluded = nodes.filter((node) => node.kind === "module").length;
|
|
@@ -367,6 +437,108 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
367
437
|
},
|
|
368
438
|
limitReached,
|
|
369
439
|
durationMs: performance.now() - startedAt,
|
|
440
|
+
activity: {
|
|
441
|
+
strategy: scope ? "affected-modules" : "full",
|
|
442
|
+
modulesVisited: includedModules.length,
|
|
443
|
+
},
|
|
444
|
+
};
|
|
445
|
+
}
|
|
446
|
+
export async function buildOwnershipGraph(project, options = {}) {
|
|
447
|
+
return buildOwnershipGraphScoped(project, options, null);
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Reuses graph fragments whose compiler module result was reused by the
|
|
451
|
+
* incremental project session. A bounded/truncated base cannot be patched
|
|
452
|
+
* safely, so that uncommon case deliberately falls back to a full build.
|
|
453
|
+
*/
|
|
454
|
+
export async function updateOwnershipGraph(previousGraph, previousProject, project, options = {}) {
|
|
455
|
+
const startedAt = performance.now();
|
|
456
|
+
if (previousProject.projectRoot !== project.projectRoot || previousGraph.limitReached) {
|
|
457
|
+
return buildOwnershipGraph(project, options);
|
|
458
|
+
}
|
|
459
|
+
const previousModules = new Map(previousProject.modules.map((module) => [module.inputPath, module]));
|
|
460
|
+
const currentModules = new Map(project.modules.map((module) => [module.inputPath, module]));
|
|
461
|
+
const changedCurrentPaths = new Set();
|
|
462
|
+
const removedPaths = new Set();
|
|
463
|
+
for (const module of project.modules) {
|
|
464
|
+
const previous = previousModules.get(module.inputPath);
|
|
465
|
+
if (!previous || previous.result !== module.result || previous.relativePath !== module.relativePath) {
|
|
466
|
+
changedCurrentPaths.add(module.inputPath);
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
for (const module of previousProject.modules) {
|
|
470
|
+
if (!currentModules.has(module.inputPath))
|
|
471
|
+
removedPaths.add(module.inputPath);
|
|
472
|
+
}
|
|
473
|
+
if (changedCurrentPaths.size === 0 && removedPaths.size === 0) {
|
|
474
|
+
// A compiler-extension configuration change can alter the graph revision
|
|
475
|
+
// even if a host reused every module result object. It is rare and cannot
|
|
476
|
+
// be represented as a module fragment, so retain the hot no-op only when
|
|
477
|
+
// the complete revision also agrees.
|
|
478
|
+
return previousGraph.revision === ownershipGraphRevision(project)
|
|
479
|
+
? previousGraph
|
|
480
|
+
: buildOwnershipGraph(project, options);
|
|
481
|
+
}
|
|
482
|
+
if (changedCurrentPaths.size > 256
|
|
483
|
+
|| (project.modules.length > 8 && changedCurrentPaths.size > project.modules.length * 0.6)) {
|
|
484
|
+
return buildOwnershipGraph(project, options);
|
|
485
|
+
}
|
|
486
|
+
const partial = await buildOwnershipGraphScoped(project, options, {
|
|
487
|
+
modulePaths: changedCurrentPaths,
|
|
488
|
+
retainExternalModuleEdges: true,
|
|
489
|
+
});
|
|
490
|
+
if (partial.limitReached)
|
|
491
|
+
return buildOwnershipGraph(project, options);
|
|
492
|
+
if (options.cancelled?.())
|
|
493
|
+
throw new Error("Ownership graph request cancelled");
|
|
494
|
+
const affectedPaths = new Set([...changedCurrentPaths, ...removedPaths]);
|
|
495
|
+
const replacedNodeIds = new Set(previousGraph.nodes
|
|
496
|
+
.filter((node) => node.path !== undefined && affectedPaths.has(node.path))
|
|
497
|
+
.map((node) => node.id));
|
|
498
|
+
const nodeById = new Map(previousGraph.nodes
|
|
499
|
+
.filter((node) => !replacedNodeIds.has(node.id))
|
|
500
|
+
.map((node) => [node.id, node]));
|
|
501
|
+
for (const node of partial.nodes)
|
|
502
|
+
nodeById.set(node.id, node);
|
|
503
|
+
const partialEdgeIds = new Set(partial.edges.map((edge) => edge.id));
|
|
504
|
+
const removedModuleNodeIds = new Set(previousGraph.nodes
|
|
505
|
+
.filter((node) => node.kind === "module" && node.path !== undefined && removedPaths.has(node.path))
|
|
506
|
+
.map((node) => node.id));
|
|
507
|
+
const edgeById = new Map(previousGraph.edges
|
|
508
|
+
.filter((edge) => !replacedNodeIds.has(edge.from)
|
|
509
|
+
&& !removedModuleNodeIds.has(edge.to)
|
|
510
|
+
&& !partialEdgeIds.has(edge.id))
|
|
511
|
+
.map((edge) => [edge.id, edge]));
|
|
512
|
+
for (const edge of partial.edges)
|
|
513
|
+
edgeById.set(edge.id, edge);
|
|
514
|
+
let edges = [...edgeById.values()].filter((edge) => nodeById.has(edge.from) && nodeById.has(edge.to));
|
|
515
|
+
const incidentNodeIds = new Set(edges.flatMap((edge) => [edge.from, edge.to]));
|
|
516
|
+
let nodes = [...nodeById.values()].filter((node) => node.kind !== "capability" || incidentNodeIds.has(node.id));
|
|
517
|
+
const maximumNodes = Math.max(1, Math.min(20_000, Math.floor(options.maximumNodes ?? DEFAULT_MAXIMUM_NODES)));
|
|
518
|
+
const maximumEdges = Math.max(1, Math.min(40_000, Math.floor(options.maximumEdges ?? DEFAULT_MAXIMUM_EDGES)));
|
|
519
|
+
if (nodes.length > maximumNodes || edges.length > maximumEdges)
|
|
520
|
+
return buildOwnershipGraph(project, options);
|
|
521
|
+
const retainedNodeIds = new Set(nodes.map((node) => node.id));
|
|
522
|
+
edges = edges.filter((edge) => retainedNodeIds.has(edge.from) && retainedNodeIds.has(edge.to));
|
|
523
|
+
nodes = nodes.slice(0, maximumNodes);
|
|
524
|
+
const modulesIncluded = nodes.filter((node) => node.kind === "module").length;
|
|
525
|
+
return {
|
|
526
|
+
revision: partial.revision,
|
|
527
|
+
nodes,
|
|
528
|
+
edges,
|
|
529
|
+
coverage: {
|
|
530
|
+
modulesTotal: project.modules.length,
|
|
531
|
+
modulesIncluded,
|
|
532
|
+
complete: modulesIncluded === project.modules.length,
|
|
533
|
+
callRelations: "direct-local-callees",
|
|
534
|
+
memberCallRelations: false,
|
|
535
|
+
},
|
|
536
|
+
limitReached: false,
|
|
537
|
+
durationMs: performance.now() - startedAt,
|
|
538
|
+
activity: {
|
|
539
|
+
strategy: "affected-modules",
|
|
540
|
+
modulesVisited: changedCurrentPaths.size,
|
|
541
|
+
},
|
|
370
542
|
};
|
|
371
543
|
}
|
|
372
544
|
//# sourceMappingURL=ownership-graph.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownership-graph.js","sourceRoot":"","sources":["../src/ownership-graph.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ownership-graph.js","sourceRoot":"","sources":["../src/ownership-graph.ts"],"names":[],"mappings":"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"}
|
package/dist/project-check.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { VelarProjectConfig } from "./config.ts";
|
|
2
2
|
import { type ProjectResult } from "./project.ts";
|
|
3
|
+
import { type ApplicationEntryMigration } from "./application-entry.ts";
|
|
3
4
|
/**
|
|
4
5
|
* One compiled root of a `velar check` run: the project entry first, then every
|
|
5
6
|
* `*.test.vel` module, then every remaining `.vel` source in the project that
|
|
@@ -41,6 +42,39 @@ export declare function checkResolvedProject(config: VelarProjectConfig, input:
|
|
|
41
42
|
* reason a build stopped.
|
|
42
43
|
*/
|
|
43
44
|
export declare function formatCheckOutput(checked: CheckedProject): string;
|
|
45
|
+
/**
|
|
46
|
+
* A refusal the CLI's project layer owns rather than the compiler: a rule about
|
|
47
|
+
* how the *project* is arranged, which no single module's compile can see.
|
|
48
|
+
*
|
|
49
|
+
* `message` is what both commands print, verbatim. `fix` is the provably
|
|
50
|
+
* equivalent rewrite that answers it, where the shape admits one; a finding with
|
|
51
|
+
* no fix is a finding `velar fix` reports and leaves alone.
|
|
52
|
+
*/
|
|
53
|
+
export interface ProjectLayerFinding {
|
|
54
|
+
readonly message: string;
|
|
55
|
+
readonly fix: ApplicationEntryMigration | null;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Every project-layer rule, evaluated once, for whichever command asked.
|
|
59
|
+
*
|
|
60
|
+
* This function is the reason `velar fix` cannot answer "0 diagnostics remain"
|
|
61
|
+
* over a tree `velar check` refuses. The fixer reads the compiler's diagnostic
|
|
62
|
+
* channel, and these rules were never on it: an entry missing its `@main` region
|
|
63
|
+
* failed `check` with exit 1 while `fix` reported a clean tree and exited 0 —
|
|
64
|
+
* the F4 falsehood again, from the one channel the F4 wave did not share. Roots
|
|
65
|
+
* were the first half of that sharing (`additionalProjectRoots`); this is the
|
|
66
|
+
* other half, and neither command owns a copy of a rule.
|
|
67
|
+
*
|
|
68
|
+
* Both preconditions are part of the rule set rather than of either caller:
|
|
69
|
+
*
|
|
70
|
+
* - A single-file input names its own scope, exactly as it does for the tree
|
|
71
|
+
* walk. Asking a project-arrangement question about one file answers it
|
|
72
|
+
* about a project the author did not name.
|
|
73
|
+
* - A tree the compiler already refused is not asked. "Does the entry declare
|
|
74
|
+
* `@main`" has no reliable answer over a module that did not parse, and
|
|
75
|
+
* `check` is already refusing for a better reason.
|
|
76
|
+
*/
|
|
77
|
+
export declare function projectLayerFindings(config: VelarProjectConfig, input: string | null, project: ProjectResult): readonly ProjectLayerFinding[];
|
|
44
78
|
/**
|
|
45
79
|
* Every source a whole-project run treats as a root beyond the entry's own
|
|
46
80
|
* graph — `*.test.vel` modules and the files nothing imports alike.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-check.d.ts","sourceRoot":"","sources":["../src/project-check.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAyC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"project-check.d.ts","sourceRoot":"","sources":["../src/project-check.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAyC,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAGzF,OAAO,EAA+C,KAAK,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAErH;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,GAAE;IAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAO,GAClD,OAAO,CAAC,cAAc,CAAC,CAyFzB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAMjE;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,yBAAyB,GAAG,IAAI,CAAC;CAChD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,OAAO,EAAE,aAAa,GACrB,SAAS,mBAAmB,EAAE,CA2BhC;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAIhH;AAED,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBxF"}
|
package/dist/project-check.js
CHANGED
|
@@ -4,7 +4,7 @@ import { formatAdvisory, formatDiagnostic } from "@velarscript/compiler";
|
|
|
4
4
|
import { compileProject, compileProjectEntries } from "./project.js";
|
|
5
5
|
import { MAX_VELAR_PROJECT_MODULES } from "./source-limits.js";
|
|
6
6
|
import { nodeApplicationConfig } from "./node-application.js";
|
|
7
|
-
import { applicationEntry } from "./application-entry.js";
|
|
7
|
+
import { applicationEntry, applicationEntryMigration } from "./application-entry.js";
|
|
8
8
|
/**
|
|
9
9
|
* D66 ruling 7A: `velar repro` has to bundle the failure `velar check` reports,
|
|
10
10
|
* so both commands read the project through this one function. A repro that
|
|
@@ -43,25 +43,9 @@ export async function checkResolvedProject(config, input, options = {}) {
|
|
|
43
43
|
errors: entryErrors,
|
|
44
44
|
advisories: project.modules.flatMap((module) => module.result.advisories.map((item) => formatAdvisory(module.result.source, item))),
|
|
45
45
|
}];
|
|
46
|
-
//
|
|
47
|
-
//
|
|
48
|
-
|
|
49
|
-
if (!input?.endsWith(".vel") && entryErrors.length === 0) {
|
|
50
|
-
if (config.kind === "application" && (config.framework || nodeApplicationConfig(config))) {
|
|
51
|
-
try {
|
|
52
|
-
applicationEntry(project);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
entryErrors.push(error instanceof Error ? error.message : "Application entry validation failed");
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
else if (config.kind === "library") {
|
|
59
|
-
const entry = project.modules.find((module) => module.inputPath === project.entryPath);
|
|
60
|
-
if (entry?.result.hasMain) {
|
|
61
|
-
entryErrors.push(`${project.entryPath}: A library entry cannot declare '@main'; move startup into an application project`);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
46
|
+
// The project layer's own refusals, on the entry root's channel, from the one
|
|
47
|
+
// function `velar fix` reads them from too.
|
|
48
|
+
entryErrors.push(...projectLayerFindings(config, input, project).map((finding) => finding.message));
|
|
65
49
|
// One extra root, compiled on its own. It is deliberately *not* folded into
|
|
66
50
|
// the `compileProjectEntries` call above: every entry handed to that call has
|
|
67
51
|
// its `@main` body emitted, so adding roots there would change what a build
|
|
@@ -134,6 +118,59 @@ export function formatCheckOutput(checked) {
|
|
|
134
118
|
? `${notices}${advisories}${checked.errors.join("\n\n")}\n`
|
|
135
119
|
: `${notices}${advisories}`;
|
|
136
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Every project-layer rule, evaluated once, for whichever command asked.
|
|
123
|
+
*
|
|
124
|
+
* This function is the reason `velar fix` cannot answer "0 diagnostics remain"
|
|
125
|
+
* over a tree `velar check` refuses. The fixer reads the compiler's diagnostic
|
|
126
|
+
* channel, and these rules were never on it: an entry missing its `@main` region
|
|
127
|
+
* failed `check` with exit 1 while `fix` reported a clean tree and exited 0 —
|
|
128
|
+
* the F4 falsehood again, from the one channel the F4 wave did not share. Roots
|
|
129
|
+
* were the first half of that sharing (`additionalProjectRoots`); this is the
|
|
130
|
+
* other half, and neither command owns a copy of a rule.
|
|
131
|
+
*
|
|
132
|
+
* Both preconditions are part of the rule set rather than of either caller:
|
|
133
|
+
*
|
|
134
|
+
* - A single-file input names its own scope, exactly as it does for the tree
|
|
135
|
+
* walk. Asking a project-arrangement question about one file answers it
|
|
136
|
+
* about a project the author did not name.
|
|
137
|
+
* - A tree the compiler already refused is not asked. "Does the entry declare
|
|
138
|
+
* `@main`" has no reliable answer over a module that did not parse, and
|
|
139
|
+
* `check` is already refusing for a better reason.
|
|
140
|
+
*/
|
|
141
|
+
export function projectLayerFindings(config, input, project) {
|
|
142
|
+
if (input?.endsWith(".vel"))
|
|
143
|
+
return [];
|
|
144
|
+
if (project.failures.length > 0 || project.modules.some((module) => module.result.diagnostics.length > 0))
|
|
145
|
+
return [];
|
|
146
|
+
// Web、Desktop、Node 和 Server 共用同一入口契约:外部宿主只执行清单选中的
|
|
147
|
+
// 模块,真正的启动动作必须写在该模块的 @main 区域中。单文件检查仍允许
|
|
148
|
+
// 检查普通库模块;完整应用项目则在这里统一拦截缺少入口区域的情况。
|
|
149
|
+
if (config.kind === "application" && (config.framework || nodeApplicationConfig(config))) {
|
|
150
|
+
try {
|
|
151
|
+
applicationEntry(project);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
return [{
|
|
155
|
+
message: error instanceof Error ? error.message : "Application entry validation failed",
|
|
156
|
+
fix: applicationEntryMigration(project),
|
|
157
|
+
}];
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
else if (config.kind === "library") {
|
|
161
|
+
const entry = project.modules.find((module) => module.inputPath === project.entryPath);
|
|
162
|
+
if (entry?.result.hasMain) {
|
|
163
|
+
// Deleting the region would delete the startup the author wrote, and
|
|
164
|
+
// moving it needs an application project that does not exist yet. There is
|
|
165
|
+
// no rewrite here that is the author's own, so there is no fix.
|
|
166
|
+
return [{
|
|
167
|
+
message: `${project.entryPath}: A library entry cannot declare '@main'; move startup into an application project`,
|
|
168
|
+
fix: null,
|
|
169
|
+
}];
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return [];
|
|
173
|
+
}
|
|
137
174
|
/**
|
|
138
175
|
* Every source a whole-project run treats as a root beyond the entry's own
|
|
139
176
|
* graph — `*.test.vel` modules and the files nothing imports alike.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-check.js","sourceRoot":"","sources":["../src/project-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAsB,MAAM,cAAc,CAAC;AACzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"project-check.js","sourceRoot":"","sources":["../src/project-check.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@velarscript/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.1",
|
|
4
4
|
"description": "The VelarScript command-line compiler, dev server, test runner, and language server.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
"velar": "./dist/cli.js"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@velarscript/compiler": "0.
|
|
34
|
-
"@velarscript/core": "0.
|
|
35
|
-
"@velarscript/desktop": "0.
|
|
36
|
-
"@velarscript/node": "0.
|
|
37
|
-
"@velarscript/server": "0.
|
|
38
|
-
"@velarscript/web": "0.
|
|
39
|
-
"create-velar": "0.
|
|
33
|
+
"@velarscript/compiler": "0.22.1",
|
|
34
|
+
"@velarscript/core": "0.22.1",
|
|
35
|
+
"@velarscript/desktop": "0.22.1",
|
|
36
|
+
"@velarscript/node": "0.22.1",
|
|
37
|
+
"@velarscript/server": "0.22.1",
|
|
38
|
+
"@velarscript/web": "0.22.1",
|
|
39
|
+
"create-velar": "0.22.1",
|
|
40
40
|
"esbuild": "^0.28.1",
|
|
41
41
|
"playwright": "^1.58.2"
|
|
42
42
|
}
|
package/skill/ai-skill-node.md
CHANGED
|
@@ -65,9 +65,9 @@ application service, activate `@velarscript/server`; it provides the same
|
|
|
65
65
|
`velar dev`, `velar serve`, and standalone `velar build` workflow without a
|
|
66
66
|
second runtime configuration source.
|
|
67
67
|
|
|
68
|
-
`@` remains the language-wide
|
|
69
|
-
|
|
70
|
-
available
|
|
68
|
+
`@` remains the language-wide marker introducer, and `@name` is a context
|
|
69
|
+
marker with a compiler-owned compile-time role. In a `server` block, the
|
|
70
|
+
available markers are `@get`, `@post`, `@put`, `@patch`, `@delete`,
|
|
71
71
|
`@websocket`, `@notFound`, and `@response`. They are not decorators, functions, imports, user-defined
|
|
72
72
|
annotations, first-class values, or user extension points.
|
|
73
73
|
|
package/skill/ai-skill-server.md
CHANGED
package/skill/ai-skill-web.md
CHANGED
|
@@ -32,11 +32,11 @@ binding names with `VEL3007`. Three of them are ordinary words for a Web author,
|
|
|
32
32
|
so name a scroll container `scroller`, a colour setting `theme`, and an
|
|
33
33
|
animation preference `reducedMotion`.
|
|
34
34
|
|
|
35
|
-
`@` remains the language-wide
|
|
36
|
-
|
|
35
|
+
`@` remains the language-wide marker introducer, and `@name` is a context
|
|
36
|
+
marker with a compiler-owned compile-time role. Components own `@mounted:`
|
|
37
37
|
and `@cleanup:`; Look owns conditions such as `@hover` and `@before`. They are
|
|
38
38
|
not decorators, calls, or values, and user code cannot declare new context
|
|
39
|
-
|
|
39
|
+
markers.
|
|
40
40
|
|
|
41
41
|
The toolchain writes `dist/index.html`; do not author it. `web.title` and
|
|
42
42
|
`web.icon` supply document metadata, `public/` is copied through, and other
|