@velarscript/cli 0.21.0 → 0.22.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 +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 +72 -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 +129 -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 +27 -0
- package/dist/ownership-graph.d.ts.map +1 -1
- package/dist/ownership-graph.js +176 -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-server.md +1 -1
- package/skill/ai-skill.md +9 -4
package/dist/ownership-graph.js
CHANGED
|
@@ -4,15 +4,72 @@ 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.path === right.path
|
|
18
|
+
&& spansEqual(left.span, right.span)
|
|
19
|
+
&& spansEqual(left.selectionSpan, right.selectionSpan)
|
|
20
|
+
&& left.type === right.type
|
|
21
|
+
&& left.exported === right.exported
|
|
22
|
+
&& left.mutable === right.mutable;
|
|
23
|
+
}
|
|
24
|
+
function edgesEqual(left, right) {
|
|
25
|
+
return left.id === right.id
|
|
26
|
+
&& left.kind === right.kind
|
|
27
|
+
&& left.from === right.from
|
|
28
|
+
&& left.to === right.to
|
|
29
|
+
&& left.path === right.path
|
|
30
|
+
&& spansEqual(left.span, right.span);
|
|
31
|
+
}
|
|
32
|
+
/** Produces a transport patch from two complete graphs without interpreting source text. */
|
|
33
|
+
export function ownershipGraphDelta(previous, current) {
|
|
34
|
+
const previousNodes = new Map(previous.nodes.map((node) => [node.id, node]));
|
|
35
|
+
const currentNodeIds = new Set(current.nodes.map((node) => node.id));
|
|
36
|
+
const previousEdges = new Map(previous.edges.map((edge) => [edge.id, edge]));
|
|
37
|
+
const currentEdgeIds = new Set(current.edges.map((edge) => edge.id));
|
|
38
|
+
return {
|
|
39
|
+
baseRevision: previous.revision,
|
|
40
|
+
revision: current.revision,
|
|
41
|
+
nodes: current.nodes.filter((node) => {
|
|
42
|
+
const prior = previousNodes.get(node.id);
|
|
43
|
+
return prior === undefined || !nodesEqual(prior, node);
|
|
44
|
+
}),
|
|
45
|
+
edges: current.edges.filter((edge) => {
|
|
46
|
+
const prior = previousEdges.get(edge.id);
|
|
47
|
+
return prior === undefined || !edgesEqual(prior, edge);
|
|
48
|
+
}),
|
|
49
|
+
removedNodeIds: previous.nodes.filter((node) => !currentNodeIds.has(node.id)).map((node) => node.id),
|
|
50
|
+
removedEdgeIds: previous.edges.filter((edge) => !currentEdgeIds.has(edge.id)).map((edge) => edge.id),
|
|
51
|
+
};
|
|
52
|
+
}
|
|
7
53
|
function shortHash(value) {
|
|
8
54
|
return createHash("sha256").update(value).digest("hex").slice(0, 24);
|
|
9
55
|
}
|
|
56
|
+
function moduleContentRevision(module) {
|
|
57
|
+
const cached = moduleContentRevisions.get(module.result);
|
|
58
|
+
if (cached !== undefined)
|
|
59
|
+
return cached;
|
|
60
|
+
const revision = createHash("sha256").update(module.result.source.text).digest("hex");
|
|
61
|
+
moduleContentRevisions.set(module.result, revision);
|
|
62
|
+
return revision;
|
|
63
|
+
}
|
|
10
64
|
export function ownershipGraphRevision(project) {
|
|
11
65
|
const hash = createHash("sha256");
|
|
12
66
|
for (const module of [...project.modules].sort((left, right) => byCodeUnit(left.inputPath, right.inputPath))) {
|
|
13
67
|
hash.update(relative(project.projectRoot, module.inputPath));
|
|
14
68
|
hash.update("\0");
|
|
15
|
-
|
|
69
|
+
// Incremental project compilation preserves the result object for every
|
|
70
|
+
// unaffected module. Cache its content digest so one edit does not make
|
|
71
|
+
// revision calculation scan every source byte in the project again.
|
|
72
|
+
hash.update(moduleContentRevision(module));
|
|
16
73
|
hash.update("\0");
|
|
17
74
|
}
|
|
18
75
|
for (const extension of project.compilerExtensions)
|
|
@@ -157,7 +214,7 @@ function importedCapabilityBySymbol(module) {
|
|
|
157
214
|
function edgeIdentity(kind, from, to, path, span) {
|
|
158
215
|
return `edge:${shortHash(`${kind}\0${from}\0${to}\0${path ?? ""}\0${span?.start ?? ""}:${span?.end ?? ""}`)}`;
|
|
159
216
|
}
|
|
160
|
-
|
|
217
|
+
async function buildOwnershipGraphScoped(project, options, scope) {
|
|
161
218
|
const startedAt = performance.now();
|
|
162
219
|
const maximumNodes = Math.max(1, Math.min(20_000, Math.floor(options.maximumNodes ?? DEFAULT_MAXIMUM_NODES)));
|
|
163
220
|
const maximumEdges = Math.max(1, Math.min(40_000, Math.floor(options.maximumEdges ?? DEFAULT_MAXIMUM_EDGES)));
|
|
@@ -171,6 +228,10 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
171
228
|
let skippedNodes = false;
|
|
172
229
|
let skippedEdges = false;
|
|
173
230
|
const moduleIds = new Map(project.modules.map((module) => [module.inputPath, moduleIdentity(project, module.inputPath)]));
|
|
231
|
+
const moduleNodeIds = new Set(moduleIds.values());
|
|
232
|
+
const includedModules = scope
|
|
233
|
+
? project.modules.filter((module) => scope.modulePaths.has(module.inputPath))
|
|
234
|
+
: project.modules;
|
|
174
235
|
const symbolIds = new Map();
|
|
175
236
|
const symbolByStableId = new Map();
|
|
176
237
|
const capabilityIds = new Map();
|
|
@@ -205,7 +266,11 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
205
266
|
// Asked before the identity is hashed: `uniqueNodes` only grows, so an
|
|
206
267
|
// edge whose ends are not retained now was never retained, cannot already
|
|
207
268
|
// be recorded, and would be filtered out of the answer regardless.
|
|
208
|
-
|
|
269
|
+
const retainedExternalModule = scope?.retainExternalModuleEdges === true
|
|
270
|
+
&& kind === "imports"
|
|
271
|
+
&& uniqueNodes.has(from)
|
|
272
|
+
&& moduleNodeIds.has(to);
|
|
273
|
+
if (nodesFinal() && (!uniqueNodes.has(from) || !uniqueNodes.has(to)) && !retainedExternalModule) {
|
|
209
274
|
skippedEdges = true;
|
|
210
275
|
return;
|
|
211
276
|
}
|
|
@@ -223,7 +288,7 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
223
288
|
...(span === undefined ? {} : { span }),
|
|
224
289
|
});
|
|
225
290
|
};
|
|
226
|
-
for (const module of
|
|
291
|
+
for (const module of includedModules) {
|
|
227
292
|
await checkpoint();
|
|
228
293
|
addNode({
|
|
229
294
|
id: moduleIds.get(module.inputPath),
|
|
@@ -252,6 +317,7 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
252
317
|
id,
|
|
253
318
|
kind: symbolKind(symbol),
|
|
254
319
|
name: symbol.name,
|
|
320
|
+
...(symbol.documentation ? { documentation: symbol.documentation } : {}),
|
|
255
321
|
path: symbol.path,
|
|
256
322
|
span: symbol.span,
|
|
257
323
|
selectionSpan: symbol.selectionSpan,
|
|
@@ -261,7 +327,7 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
261
327
|
});
|
|
262
328
|
}
|
|
263
329
|
}
|
|
264
|
-
for (const module of
|
|
330
|
+
for (const module of includedModules) {
|
|
265
331
|
await checkpoint();
|
|
266
332
|
if (exhausted())
|
|
267
333
|
break;
|
|
@@ -350,7 +416,9 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
350
416
|
}
|
|
351
417
|
}
|
|
352
418
|
const nodes = [...uniqueNodes.values()];
|
|
353
|
-
const eligibleEdges = [...uniqueEdges.values()].filter((edge) => uniqueNodes.has(edge.from)
|
|
419
|
+
const eligibleEdges = [...uniqueEdges.values()].filter((edge) => uniqueNodes.has(edge.from)
|
|
420
|
+
&& (uniqueNodes.has(edge.to)
|
|
421
|
+
|| (scope?.retainExternalModuleEdges === true && edge.kind === "imports" && moduleNodeIds.has(edge.to))));
|
|
354
422
|
const edges = eligibleEdges.slice(0, maximumEdges);
|
|
355
423
|
const limitReached = skippedNodes || skippedEdges || edges.length < uniqueEdges.size;
|
|
356
424
|
const modulesIncluded = nodes.filter((node) => node.kind === "module").length;
|
|
@@ -367,6 +435,108 @@ export async function buildOwnershipGraph(project, options = {}) {
|
|
|
367
435
|
},
|
|
368
436
|
limitReached,
|
|
369
437
|
durationMs: performance.now() - startedAt,
|
|
438
|
+
activity: {
|
|
439
|
+
strategy: scope ? "affected-modules" : "full",
|
|
440
|
+
modulesVisited: includedModules.length,
|
|
441
|
+
},
|
|
442
|
+
};
|
|
443
|
+
}
|
|
444
|
+
export async function buildOwnershipGraph(project, options = {}) {
|
|
445
|
+
return buildOwnershipGraphScoped(project, options, null);
|
|
446
|
+
}
|
|
447
|
+
/**
|
|
448
|
+
* Reuses graph fragments whose compiler module result was reused by the
|
|
449
|
+
* incremental project session. A bounded/truncated base cannot be patched
|
|
450
|
+
* safely, so that uncommon case deliberately falls back to a full build.
|
|
451
|
+
*/
|
|
452
|
+
export async function updateOwnershipGraph(previousGraph, previousProject, project, options = {}) {
|
|
453
|
+
const startedAt = performance.now();
|
|
454
|
+
if (previousProject.projectRoot !== project.projectRoot || previousGraph.limitReached) {
|
|
455
|
+
return buildOwnershipGraph(project, options);
|
|
456
|
+
}
|
|
457
|
+
const previousModules = new Map(previousProject.modules.map((module) => [module.inputPath, module]));
|
|
458
|
+
const currentModules = new Map(project.modules.map((module) => [module.inputPath, module]));
|
|
459
|
+
const changedCurrentPaths = new Set();
|
|
460
|
+
const removedPaths = new Set();
|
|
461
|
+
for (const module of project.modules) {
|
|
462
|
+
const previous = previousModules.get(module.inputPath);
|
|
463
|
+
if (!previous || previous.result !== module.result || previous.relativePath !== module.relativePath) {
|
|
464
|
+
changedCurrentPaths.add(module.inputPath);
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
for (const module of previousProject.modules) {
|
|
468
|
+
if (!currentModules.has(module.inputPath))
|
|
469
|
+
removedPaths.add(module.inputPath);
|
|
470
|
+
}
|
|
471
|
+
if (changedCurrentPaths.size === 0 && removedPaths.size === 0) {
|
|
472
|
+
// A compiler-extension configuration change can alter the graph revision
|
|
473
|
+
// even if a host reused every module result object. It is rare and cannot
|
|
474
|
+
// be represented as a module fragment, so retain the hot no-op only when
|
|
475
|
+
// the complete revision also agrees.
|
|
476
|
+
return previousGraph.revision === ownershipGraphRevision(project)
|
|
477
|
+
? previousGraph
|
|
478
|
+
: buildOwnershipGraph(project, options);
|
|
479
|
+
}
|
|
480
|
+
if (changedCurrentPaths.size > 256
|
|
481
|
+
|| (project.modules.length > 8 && changedCurrentPaths.size > project.modules.length * 0.6)) {
|
|
482
|
+
return buildOwnershipGraph(project, options);
|
|
483
|
+
}
|
|
484
|
+
const partial = await buildOwnershipGraphScoped(project, options, {
|
|
485
|
+
modulePaths: changedCurrentPaths,
|
|
486
|
+
retainExternalModuleEdges: true,
|
|
487
|
+
});
|
|
488
|
+
if (partial.limitReached)
|
|
489
|
+
return buildOwnershipGraph(project, options);
|
|
490
|
+
if (options.cancelled?.())
|
|
491
|
+
throw new Error("Ownership graph request cancelled");
|
|
492
|
+
const affectedPaths = new Set([...changedCurrentPaths, ...removedPaths]);
|
|
493
|
+
const replacedNodeIds = new Set(previousGraph.nodes
|
|
494
|
+
.filter((node) => node.path !== undefined && affectedPaths.has(node.path))
|
|
495
|
+
.map((node) => node.id));
|
|
496
|
+
const nodeById = new Map(previousGraph.nodes
|
|
497
|
+
.filter((node) => !replacedNodeIds.has(node.id))
|
|
498
|
+
.map((node) => [node.id, node]));
|
|
499
|
+
for (const node of partial.nodes)
|
|
500
|
+
nodeById.set(node.id, node);
|
|
501
|
+
const partialEdgeIds = new Set(partial.edges.map((edge) => edge.id));
|
|
502
|
+
const removedModuleNodeIds = new Set(previousGraph.nodes
|
|
503
|
+
.filter((node) => node.kind === "module" && node.path !== undefined && removedPaths.has(node.path))
|
|
504
|
+
.map((node) => node.id));
|
|
505
|
+
const edgeById = new Map(previousGraph.edges
|
|
506
|
+
.filter((edge) => !replacedNodeIds.has(edge.from)
|
|
507
|
+
&& !removedModuleNodeIds.has(edge.to)
|
|
508
|
+
&& !partialEdgeIds.has(edge.id))
|
|
509
|
+
.map((edge) => [edge.id, edge]));
|
|
510
|
+
for (const edge of partial.edges)
|
|
511
|
+
edgeById.set(edge.id, edge);
|
|
512
|
+
let edges = [...edgeById.values()].filter((edge) => nodeById.has(edge.from) && nodeById.has(edge.to));
|
|
513
|
+
const incidentNodeIds = new Set(edges.flatMap((edge) => [edge.from, edge.to]));
|
|
514
|
+
let nodes = [...nodeById.values()].filter((node) => node.kind !== "capability" || incidentNodeIds.has(node.id));
|
|
515
|
+
const maximumNodes = Math.max(1, Math.min(20_000, Math.floor(options.maximumNodes ?? DEFAULT_MAXIMUM_NODES)));
|
|
516
|
+
const maximumEdges = Math.max(1, Math.min(40_000, Math.floor(options.maximumEdges ?? DEFAULT_MAXIMUM_EDGES)));
|
|
517
|
+
if (nodes.length > maximumNodes || edges.length > maximumEdges)
|
|
518
|
+
return buildOwnershipGraph(project, options);
|
|
519
|
+
const retainedNodeIds = new Set(nodes.map((node) => node.id));
|
|
520
|
+
edges = edges.filter((edge) => retainedNodeIds.has(edge.from) && retainedNodeIds.has(edge.to));
|
|
521
|
+
nodes = nodes.slice(0, maximumNodes);
|
|
522
|
+
const modulesIncluded = nodes.filter((node) => node.kind === "module").length;
|
|
523
|
+
return {
|
|
524
|
+
revision: partial.revision,
|
|
525
|
+
nodes,
|
|
526
|
+
edges,
|
|
527
|
+
coverage: {
|
|
528
|
+
modulesTotal: project.modules.length,
|
|
529
|
+
modulesIncluded,
|
|
530
|
+
complete: modulesIncluded === project.modules.length,
|
|
531
|
+
callRelations: "direct-local-callees",
|
|
532
|
+
memberCallRelations: false,
|
|
533
|
+
},
|
|
534
|
+
limitReached: false,
|
|
535
|
+
durationMs: performance.now() - startedAt,
|
|
536
|
+
activity: {
|
|
537
|
+
strategy: "affected-modules",
|
|
538
|
+
modulesVisited: changedCurrentPaths.size,
|
|
539
|
+
},
|
|
370
540
|
};
|
|
371
541
|
}
|
|
372
542
|
//# 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":"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,yBAAyB,EAAkC,MAAM,wBAAwB,CAAC;AA4BrH;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAA0B,EAC1B,KAAoB,EACpB,OAAO,GAA0C,EAAE;IAEnD,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,EAAE;QAC7H,WAAW,EAAE,MAAM,CAAC,IAAI;QACxB,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,UAAU,EAAE,MAAM,CAAC,kBAAkB;QACrC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,cAAc,EAAE,OAAO,CAAC,cAAc,KAAK,KAAK;KACjD,CAAC,CAAC;IACH,0EAA0E;IAC1E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,oCAAoC;IACpC,EAAE;IACF,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,OAAO,GAAG,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAClF,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5E,sEAAsE;IACtE,2EAA2E;IAC3E,2DAA2D;IAC3D,MAAM,WAAW,GAAG;QAClB,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3E,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;KAC9H,CAAC;IACF,MAAM,KAAK,GAAyB,CAAC;YACnC,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;SACpI,CAAC,CAAC;IACH,8EAA8E;IAC9E,4CAA4C;IAC5C,WAAW,CAAC,IAAI,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACpG,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,2EAA2E;IAC3E,wEAAwE;IACxE,iEAAiE;IACjE,MAAM,mBAAmB,GAAG,KAAK,EAAE,IAAY,EAAE,YAAqB,EAAiB,EAAE;QACvF,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE;YACxD,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,WAAW,EAAE,MAAM,CAAC,IAAI;YACxB,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,UAAU,EAAE,MAAM,CAAC,kBAAkB;YACrC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,cAAc,EAAE,OAAO,CAAC,cAAc,KAAK,KAAK;SACjD,CAAC,CAAC;QACH,MAAM,MAAM,GAAa,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QACtG,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;gBAAE,SAAS;YAC7C,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YACtG,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACzG,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,WAAW;QAAE,MAAM,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtE,6EAA6E;IAC7E,6EAA6E;IAC7E,6EAA6E;IAC7E,0EAA0E;IAC1E,qEAAqE;IACrE,uEAAuE;IACvE,0EAA0E;IAC1E,EAAE;IACF,wEAAwE;IACxE,6EAA6E;IAC7E,0EAA0E;IAC1E,4EAA4E;IAC5E,6EAA6E;IAC7E,8CAA8C;IAC9C,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAC/D,MAAM,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,OAAO;QACL,OAAO;QACP,KAAK;QACL,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,aAAa,MAAM,CAAC,OAAO,EAAE,CAAC;QACrF,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QAC5C,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC;KACrD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAuB;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAC9B,CAAC,CAAC,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI;QAC3D,CAAC,CAAC,GAAG,OAAO,GAAG,UAAU,EAAE,CAAC;AAChC,CAAC;AAeD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAA0B,EAC1B,KAAoB,EACpB,OAAsB;IAEtB,IAAI,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACrH,kDAAkD;IAClD,wCAAwC;IACxC,mCAAmC;IACnC,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACzF,IAAI,CAAC;YAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAClC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC;oBACN,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qCAAqC;oBACvF,GAAG,EAAE,yBAAyB,CAAC,OAAO,CAAC;iBACxC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;QACvF,IAAI,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1B,qEAAqE;YACrE,2EAA2E;YAC3E,gEAAgE;YAChE,OAAO,CAAC;oBACN,OAAO,EAAE,GAAG,OAAO,CAAC,SAAS,oFAAoF;oBACjH,GAAG,EAAE,IAAI;iBACV,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,MAA0B,EAAE,KAAoB;IAC3F,2EAA2E;IAC3E,IAAI,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,OAAO,CAAC,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAA0B;IACnE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,KAAK,EAAE,SAAiB,EAAiB,EAAE;QACvD,KAAK,MAAM,KAAK,IAAI,MAAM,OAAO,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,SAAS;gBACtH,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,MAAM,CAAC,MAAM,GAAG,yBAAyB,EAAE,CAAC;oBAC9C,MAAM,IAAI,UAAU,CAAC,kDAAkD,yBAAyB,iBAAiB,CAAC,CAAC;gBACrH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;AACvB,CAAC"}
|
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.0",
|
|
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.0",
|
|
34
|
+
"@velarscript/core": "0.22.0",
|
|
35
|
+
"@velarscript/desktop": "0.22.0",
|
|
36
|
+
"@velarscript/node": "0.22.0",
|
|
37
|
+
"@velarscript/server": "0.22.0",
|
|
38
|
+
"@velarscript/web": "0.22.0",
|
|
39
|
+
"create-velar": "0.22.0",
|
|
40
40
|
"esbuild": "^0.28.1",
|
|
41
41
|
"playwright": "^1.58.2"
|
|
42
42
|
}
|
package/skill/ai-skill-server.md
CHANGED
package/skill/ai-skill.md
CHANGED
|
@@ -22,19 +22,24 @@ one round.
|
|
|
22
22
|
|
|
23
23
|
The working loop:
|
|
24
24
|
|
|
25
|
-
1.
|
|
26
|
-
|
|
25
|
+
1. Run `velar graph` before a project-wide change to read the compiler-owned
|
|
26
|
+
module, ownership, call, state, derivation, and capability view. Use
|
|
27
|
+
`velar graph --focus <symbol> --depth 2` when the full overview is larger
|
|
28
|
+
than the context you need. The graph is derived from current compiler facts;
|
|
29
|
+
do not build or maintain a separate source index.
|
|
30
|
+
2. Write ordinary code the way a fluent JS/Python author would.
|
|
31
|
+
3. Run `velar check`. Do exactly what each diagnostic says. It reports
|
|
27
32
|
**advisories** as well — a second channel for a spelling Vel accepts with a
|
|
28
33
|
meaning other than the one your JS/Python reflex intended. An advisory never
|
|
29
34
|
fails the check, and leaving one unresolved means the work is not done:
|
|
30
35
|
either write the spelling it names, or put `// velar-allow <CODE>: <reason>`
|
|
31
36
|
on that line saying why the code is right as written. A suppression with no
|
|
32
37
|
reason, and one that no longer applies, are both compile errors.
|
|
33
|
-
|
|
38
|
+
4. Run `velar fix` to apply every rewrite the diagnostics already named
|
|
34
39
|
(retired spellings with one successor, line-ending semicolons, and the rest
|
|
35
40
|
of that family); it never rewrites anything that needs a decision, so what
|
|
36
41
|
is left after it is the real work.
|
|
37
|
-
|
|
42
|
+
5. Run `velar test`. Run `velar format` to settle layout.
|
|
38
43
|
|
|
39
44
|
Do not invent workarounds for a diagnostic; it is the language telling you
|
|
40
45
|
the canonical spelling.
|