@velarscript/cli 0.12.1 → 0.14.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 +5 -13
- package/dist/browser-process-owner.d.ts +23 -0
- package/dist/browser-process-owner.d.ts.map +1 -1
- package/dist/browser-process-owner.js +46 -2
- package/dist/browser-process-owner.js.map +1 -1
- package/dist/browser-test-runner.d.ts.map +1 -1
- package/dist/browser-test-runner.js +110 -14
- package/dist/browser-test-runner.js.map +1 -1
- package/dist/cli.js +186 -106
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +28 -4
- package/dist/config.js.map +1 -1
- package/dist/dev-server.d.ts +18 -0
- package/dist/dev-server.d.ts.map +1 -1
- package/dist/dev-server.js +168 -8
- package/dist/dev-server.js.map +1 -1
- package/dist/extension-metadata.d.ts +6 -0
- package/dist/extension-metadata.d.ts.map +1 -1
- package/dist/extension-metadata.js +71 -4
- package/dist/extension-metadata.js.map +1 -1
- package/dist/format-guard.d.ts +20 -0
- package/dist/format-guard.d.ts.map +1 -0
- package/dist/format-guard.js +13 -0
- package/dist/format-guard.js.map +1 -0
- package/dist/framework-host.d.ts.map +1 -1
- package/dist/framework-host.js +15 -2
- package/dist/framework-host.js.map +1 -1
- package/dist/language-server-bundle-entry.js +0 -2
- package/dist/language-server-bundle-entry.js.map +1 -1
- package/dist/language-server-tool.d.ts.map +1 -1
- package/dist/language-server-tool.js +0 -2
- package/dist/language-server-tool.js.map +1 -1
- package/dist/language-server.d.ts +1 -1
- package/dist/language-server.d.ts.map +1 -1
- package/dist/language-server.js +87 -293
- package/dist/language-server.js.map +1 -1
- package/dist/local-request-guard.d.ts +18 -0
- package/dist/local-request-guard.d.ts.map +1 -0
- package/dist/local-request-guard.js +75 -0
- package/dist/local-request-guard.js.map +1 -0
- package/dist/mechanical-fixer.d.ts.map +1 -1
- package/dist/mechanical-fixer.js +116 -2
- package/dist/mechanical-fixer.js.map +1 -1
- package/dist/module-assets.d.ts +23 -0
- package/dist/module-assets.d.ts.map +1 -1
- package/dist/module-assets.js +216 -14
- package/dist/module-assets.js.map +1 -1
- package/dist/node-application.d.ts +8 -7
- package/dist/node-application.d.ts.map +1 -1
- package/dist/node-application.js +63 -32
- package/dist/node-application.js.map +1 -1
- package/dist/node-runtime-dependencies.d.ts +3 -0
- package/dist/node-runtime-dependencies.d.ts.map +1 -0
- package/dist/node-runtime-dependencies.js +32 -0
- package/dist/node-runtime-dependencies.js.map +1 -0
- package/dist/npm.d.ts +29 -0
- package/dist/npm.d.ts.map +1 -1
- package/dist/npm.js +39 -2
- package/dist/npm.js.map +1 -1
- package/dist/official-language-server-extensions.d.ts.map +1 -1
- package/dist/official-language-server-extensions.js +13 -0
- package/dist/official-language-server-extensions.js.map +1 -1
- package/dist/ownership-graph.d.ts.map +1 -1
- package/dist/ownership-graph.js +155 -38
- package/dist/ownership-graph.js.map +1 -1
- package/dist/package-manager.d.ts.map +1 -1
- package/dist/package-manager.js +4 -1
- package/dist/package-manager.js.map +1 -1
- package/dist/preview-server.d.ts.map +1 -1
- package/dist/preview-server.js +12 -4
- package/dist/preview-server.js.map +1 -1
- package/dist/production-build.d.ts.map +1 -1
- package/dist/production-build.js +24 -6
- package/dist/production-build.js.map +1 -1
- package/dist/production-verifier.js +3 -0
- package/dist/production-verifier.js.map +1 -1
- package/dist/project-check.d.ts +14 -1
- package/dist/project-check.d.ts.map +1 -1
- package/dist/project-check.js +17 -4
- package/dist/project-check.js.map +1 -1
- package/dist/project-format.d.ts +9 -0
- package/dist/project-format.d.ts.map +1 -1
- package/dist/project-format.js +13 -0
- package/dist/project-format.js.map +1 -1
- package/dist/project-semantic.d.ts.map +1 -1
- package/dist/project-semantic.js +15 -4
- package/dist/project-semantic.js.map +1 -1
- package/dist/project.d.ts +25 -0
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +341 -42
- package/dist/project.js.map +1 -1
- package/dist/reproduction.d.ts +18 -0
- package/dist/reproduction.d.ts.map +1 -1
- package/dist/reproduction.js +47 -6
- package/dist/reproduction.js.map +1 -1
- package/dist/stable-order.d.ts +17 -0
- package/dist/stable-order.d.ts.map +1 -0
- package/dist/stable-order.js +19 -0
- package/dist/stable-order.js.map +1 -0
- package/dist/standard-modules.d.ts +2 -2
- package/dist/standard-modules.d.ts.map +1 -1
- package/dist/standard-modules.js +2 -2
- package/dist/standard-modules.js.map +1 -1
- package/dist/static-deployment.d.ts.map +1 -1
- package/dist/static-deployment.js +27 -0
- package/dist/static-deployment.js.map +1 -1
- package/dist/test-runner.d.ts.map +1 -1
- package/dist/test-runner.js +196 -100
- package/dist/test-runner.js.map +1 -1
- package/dist/test-worker.d.ts +64 -0
- package/dist/test-worker.d.ts.map +1 -0
- package/dist/test-worker.js +161 -0
- package/dist/test-worker.js.map +1 -0
- package/dist/typescript-declarations.d.ts +1 -1
- package/dist/typescript-declarations.d.ts.map +1 -1
- package/dist/typescript-declarations.js +233 -21
- package/dist/typescript-declarations.js.map +1 -1
- package/dist/unowned-errors.d.ts +15 -2
- package/dist/unowned-errors.d.ts.map +1 -1
- package/dist/unowned-errors.js +13 -2
- package/dist/unowned-errors.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/workspace-index.d.ts.map +1 -1
- package/dist/workspace-index.js +42 -17
- package/dist/workspace-index.js.map +1 -1
- package/package.json +8 -8
- package/skill/ai-skill-node.md +91 -22
- package/skill/ai-skill-server.md +173 -0
- package/skill/ai-skill-web.md +51 -1
- package/skill/ai-skill.md +36 -13
- package/dist/official-script-language-service.d.ts +0 -2
- package/dist/official-script-language-service.d.ts.map +0 -1
- package/dist/official-script-language-service.js +0 -10
- package/dist/official-script-language-service.js.map +0 -1
- package/dist/official-tool-assets.d.ts +0 -3
- package/dist/official-tool-assets.d.ts.map +0 -1
- package/dist/official-tool-assets.js +0 -60
- package/dist/official-tool-assets.js.map +0 -1
- package/dist/script-language-service.d.ts +0 -82
- package/dist/script-language-service.d.ts.map +0 -1
- package/dist/script-language-service.js +0 -18
- package/dist/script-language-service.js.map +0 -1
package/dist/dev-server.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { createReadStream, readdirSync, statSync, watch } from "node:fs";
|
|
1
|
+
import { createReadStream, lstatSync, readdirSync, statSync, watch } from "node:fs";
|
|
2
2
|
import { createServer } from "node:http";
|
|
3
|
-
import { posix, resolve } from "node:path";
|
|
3
|
+
import { isAbsolute, posix, relative, resolve } from "node:path";
|
|
4
4
|
import { pipeline } from "node:stream/promises";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import { formatDiagnostic } from "@velarscript/compiler";
|
|
@@ -11,6 +11,7 @@ import { npmAsset, resolveBrowserNpm } from "./npm.js";
|
|
|
11
11
|
import { standardModuleAsset } from "./standard-modules.js";
|
|
12
12
|
import { asHostError, hostErrorMessage } from "./host-error.js";
|
|
13
13
|
import { assertUniqueEmbeddedModuleOutputs } from "./embedded-modules.js";
|
|
14
|
+
import { localRequestRefusal } from "./local-request-guard.js";
|
|
14
15
|
export async function runDevServer(config, port) {
|
|
15
16
|
if (!config.framework)
|
|
16
17
|
throw new Error("The project does not declare an application framework host");
|
|
@@ -112,12 +113,22 @@ export async function runDevServer(config, port) {
|
|
|
112
113
|
return compiling;
|
|
113
114
|
};
|
|
114
115
|
const server = createServer(async (request, response) => {
|
|
116
|
+
// Before routing: a page that has rebound its own hostname to 127.0.0.1 is
|
|
117
|
+
// otherwise same-origin with this server and can read `/main.js.map`, whose
|
|
118
|
+
// `sourcesContent` is the project's verbatim source.
|
|
119
|
+
const refusal = localRequestRefusal(request.headers);
|
|
120
|
+
if (refusal) {
|
|
121
|
+
send(response, refusal.status, `Refused: ${refusal.message}\n`, "text/plain; charset=utf-8");
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
115
124
|
if (request.method !== "GET" && request.method !== "HEAD") {
|
|
116
125
|
response.setHeader("Allow", "GET, HEAD");
|
|
117
126
|
send(response, 405, "Method not allowed\n", "text/plain; charset=utf-8");
|
|
118
127
|
return;
|
|
119
128
|
}
|
|
120
129
|
let url;
|
|
130
|
+
// The Host header has already been judged above, so the fixed base here only
|
|
131
|
+
// supplies a scheme and authority for path parsing.
|
|
121
132
|
try {
|
|
122
133
|
url = new URL(request.url ?? "/", "http://127.0.0.1");
|
|
123
134
|
}
|
|
@@ -125,7 +136,18 @@ export async function runDevServer(config, port) {
|
|
|
125
136
|
send(response, 400, "Bad request path\n", "text/plain; charset=utf-8");
|
|
126
137
|
return;
|
|
127
138
|
}
|
|
128
|
-
|
|
139
|
+
let pathname;
|
|
140
|
+
// Everything downstream reads a filesystem-shaped path: `publicAsset` and
|
|
141
|
+
// the module routes resolve the pathname literally, so `public/my file.txt`
|
|
142
|
+
// is unreachable until the escape is decoded. `publicAsset` keeps its `..`
|
|
143
|
+
// and `relative()` confinement, which runs after this decoding.
|
|
144
|
+
try {
|
|
145
|
+
pathname = decodeURIComponent(url.pathname);
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
send(response, 400, "Bad request path\n", "text/plain; charset=utf-8");
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
129
151
|
const routedPath = stripBase(pathname, base);
|
|
130
152
|
if (routedPath === "/__velar/events") {
|
|
131
153
|
if (request.method === "HEAD") {
|
|
@@ -254,19 +276,39 @@ export async function runDevServer(config, port) {
|
|
|
254
276
|
await new Promise((resolve) => server.once("close", resolve));
|
|
255
277
|
}
|
|
256
278
|
function watchDirectoryTree(root, listener, excludedDirectories = new Set()) {
|
|
257
|
-
|
|
258
|
-
|
|
279
|
+
// Every platform drops the same paths. Without them the dev server rebuilds
|
|
280
|
+
// and full-page-reloads on its own `.velar/` prebundles and on a `dist/`
|
|
281
|
+
// write from a second terminal running `velar build` or `velar test`.
|
|
282
|
+
// `fs.watch` cannot express an exclusion, so a branch that hands it a whole
|
|
283
|
+
// tree has to enforce the set on the way out instead of at the walk.
|
|
284
|
+
const report = (event, fileName) => {
|
|
285
|
+
if (fileName !== null && isExcludedWatchPath(root, fileName, excludedDirectories))
|
|
286
|
+
return;
|
|
287
|
+
listener(event, fileName);
|
|
288
|
+
};
|
|
289
|
+
// macOS watches a whole tree with one FSEvents stream, so the exclusion is
|
|
290
|
+
// only ever a filter there. Linux has no kernel-side recursive watch: Node
|
|
291
|
+
// walks the tree and allocates one inotify watch per directory, so a
|
|
292
|
+
// recursive watch on a project root spends `fs.inotify.max_user_watches` on
|
|
293
|
+
// `node_modules` and fails `velar dev` with ENOSPC before any event is
|
|
294
|
+
// filtered. Walking it ourselves is what keeps an excluded tree unwatched
|
|
295
|
+
// rather than watched and then ignored. Every platform Node does not
|
|
296
|
+
// implement a recursive watch on takes the same branch.
|
|
297
|
+
if (process.platform === "darwin") {
|
|
298
|
+
return watch(root, { recursive: true }, (event, fileName) => report(event, fileName === null ? null : String(fileName)));
|
|
259
299
|
}
|
|
300
|
+
if (process.platform !== "win32")
|
|
301
|
+
return watchDirectoryBranches(root, report, excludedDirectories);
|
|
260
302
|
let snapshot = snapshotDirectoryTree(root, excludedDirectories);
|
|
261
303
|
const timer = setInterval(() => {
|
|
262
304
|
const next = snapshotDirectoryTree(root, excludedDirectories);
|
|
263
305
|
for (const [path, signature] of next) {
|
|
264
306
|
if (snapshot.get(path) !== signature)
|
|
265
|
-
|
|
307
|
+
report(snapshot.has(path) ? "change" : "rename", path);
|
|
266
308
|
}
|
|
267
309
|
for (const path of snapshot.keys()) {
|
|
268
310
|
if (!next.has(path))
|
|
269
|
-
|
|
311
|
+
report("rename", path);
|
|
270
312
|
}
|
|
271
313
|
snapshot = next;
|
|
272
314
|
}, 80);
|
|
@@ -278,6 +320,124 @@ function watchDirectoryTree(root, listener, excludedDirectories = new Set()) {
|
|
|
278
320
|
},
|
|
279
321
|
};
|
|
280
322
|
}
|
|
323
|
+
/** The directory names no walk here descends into, at any depth. */
|
|
324
|
+
const alwaysExcludedWatchSegments = new Set(["node_modules", ".git", ".velar"]);
|
|
325
|
+
function isExcludedWatchPath(root, fileName, excludedDirectories) {
|
|
326
|
+
const segments = fileName.replaceAll("\\", "/").split("/").filter(Boolean);
|
|
327
|
+
if (segments.length === 0)
|
|
328
|
+
return false;
|
|
329
|
+
// Every segment, not only the first: a monorepo's `packages/ui/node_modules`
|
|
330
|
+
// and a sub-package's `.git` storm exactly as the root's do, and an
|
|
331
|
+
// `npm install` one directory down is the common way to meet them.
|
|
332
|
+
if (segments.some((segment) => alwaysExcludedWatchSegments.has(segment)))
|
|
333
|
+
return true;
|
|
334
|
+
if (excludedDirectories.size === 0)
|
|
335
|
+
return false;
|
|
336
|
+
const path = resolve(root, fileName);
|
|
337
|
+
for (const excluded of excludedDirectories) {
|
|
338
|
+
if (path === excluded)
|
|
339
|
+
return true;
|
|
340
|
+
const inside = relative(excluded, path);
|
|
341
|
+
if (inside && !inside.startsWith("..") && !isAbsolute(inside))
|
|
342
|
+
return true;
|
|
343
|
+
}
|
|
344
|
+
return false;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* A recursive watch assembled from one non-recursive watch per directory. It
|
|
348
|
+
* exists so an excluded tree costs no watch at all: `fs.watch` cannot express
|
|
349
|
+
* an exclusion, and on Linux the recursive watch it would otherwise use spends
|
|
350
|
+
* one inotify watch on every directory it walks, `node_modules` included.
|
|
351
|
+
*/
|
|
352
|
+
export function watchDirectoryBranches(root, report, excludedDirectories) {
|
|
353
|
+
const watchers = new Map();
|
|
354
|
+
let closed = false;
|
|
355
|
+
const isExcludedBranch = (absolute, name) => alwaysExcludedWatchSegments.has(name) || excludedDirectories.has(absolute);
|
|
356
|
+
// Only the POSIX branches reach here, so a `/` separator is the whole story.
|
|
357
|
+
const closeBranch = (absolute) => {
|
|
358
|
+
const prefix = `${absolute}/`;
|
|
359
|
+
for (const [path, watcher] of watchers) {
|
|
360
|
+
if (path !== absolute && !path.startsWith(prefix))
|
|
361
|
+
continue;
|
|
362
|
+
watcher.close();
|
|
363
|
+
watchers.delete(path);
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
// `announce` reports what the walk finds. A directory that arrives already
|
|
367
|
+
// populated — a `git checkout` that adds a folder of modules, an editor that
|
|
368
|
+
// renames a finished directory into place — exists in full before this watch
|
|
369
|
+
// can attach, so its contents would otherwise never be reported at all.
|
|
370
|
+
const watchBranch = (absolute, relativePath, announce) => {
|
|
371
|
+
if (closed || watchers.has(absolute))
|
|
372
|
+
return;
|
|
373
|
+
let watcher;
|
|
374
|
+
try {
|
|
375
|
+
watcher = watch(absolute);
|
|
376
|
+
}
|
|
377
|
+
catch {
|
|
378
|
+
// A directory can vanish between the walk that found it and this watch.
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
watchers.set(absolute, watcher);
|
|
382
|
+
watcher.on("error", () => {
|
|
383
|
+
watcher.close();
|
|
384
|
+
watchers.delete(absolute);
|
|
385
|
+
});
|
|
386
|
+
watcher.on("change", (event, fileName) => {
|
|
387
|
+
if (closed)
|
|
388
|
+
return;
|
|
389
|
+
if (fileName === null || fileName === undefined) {
|
|
390
|
+
report(String(event), relativePath === "" ? null : relativePath);
|
|
391
|
+
return;
|
|
392
|
+
}
|
|
393
|
+
const name = String(fileName);
|
|
394
|
+
const childAbsolute = resolve(absolute, name);
|
|
395
|
+
const childRelative = relativePath === "" ? name : `${relativePath}/${name}`;
|
|
396
|
+
// A directory created after the walk holds no watch yet, and this event is
|
|
397
|
+
// the only notice of it; one that was removed has to give its watches back.
|
|
398
|
+
if (isDirectoryPath(childAbsolute)) {
|
|
399
|
+
if (!isExcludedBranch(childAbsolute, name))
|
|
400
|
+
watchBranch(childAbsolute, childRelative, true);
|
|
401
|
+
}
|
|
402
|
+
else {
|
|
403
|
+
closeBranch(childAbsolute);
|
|
404
|
+
}
|
|
405
|
+
report(String(event), childRelative);
|
|
406
|
+
});
|
|
407
|
+
let entries;
|
|
408
|
+
try {
|
|
409
|
+
entries = readdirSync(absolute, { withFileTypes: true });
|
|
410
|
+
}
|
|
411
|
+
catch {
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
for (const entry of entries) {
|
|
415
|
+
const childAbsolute = resolve(absolute, entry.name);
|
|
416
|
+
const childRelative = relativePath === "" ? entry.name : `${relativePath}/${entry.name}`;
|
|
417
|
+
if (entry.isDirectory() && !entry.isSymbolicLink()) {
|
|
418
|
+
if (!isExcludedBranch(childAbsolute, entry.name))
|
|
419
|
+
watchBranch(childAbsolute, childRelative, announce);
|
|
420
|
+
continue;
|
|
421
|
+
}
|
|
422
|
+
if (announce)
|
|
423
|
+
report("rename", childRelative);
|
|
424
|
+
}
|
|
425
|
+
};
|
|
426
|
+
watchBranch(root, "", false);
|
|
427
|
+
return {
|
|
428
|
+
watchedDirectories: () => [...watchers.keys()].sort(),
|
|
429
|
+
close() {
|
|
430
|
+
closed = true;
|
|
431
|
+
for (const watcher of watchers.values())
|
|
432
|
+
watcher.close();
|
|
433
|
+
watchers.clear();
|
|
434
|
+
},
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
/** A symbolic link is not descended into, exactly as the walks above do not. */
|
|
438
|
+
function isDirectoryPath(path) {
|
|
439
|
+
return lstatSync(path, { throwIfNoEntry: false })?.isDirectory() ?? false;
|
|
440
|
+
}
|
|
281
441
|
function snapshotDirectoryTree(root, excludedDirectories) {
|
|
282
442
|
const files = new Map();
|
|
283
443
|
const pending = [{ absolute: root, relative: "" }];
|
|
@@ -296,7 +456,7 @@ function snapshotDirectoryTree(root, excludedDirectories) {
|
|
|
296
456
|
const absolute = resolve(directory.absolute, entry.name);
|
|
297
457
|
const relative = directory.relative ? `${directory.relative}/${entry.name}` : entry.name;
|
|
298
458
|
if (entry.isDirectory()) {
|
|
299
|
-
if (
|
|
459
|
+
if (!alwaysExcludedWatchSegments.has(entry.name) && !excludedDirectories.has(absolute)) {
|
|
300
460
|
pending.push({ absolute, relative });
|
|
301
461
|
}
|
|
302
462
|
continue;
|
package/dist/dev-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../src/dev-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev-server.js","sourceRoot":"","sources":["../src/dev-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { type CompilerExtension, type VelarExtensionKind } from "@velarscript/compiler";
|
|
2
|
+
/**
|
|
3
|
+
* The official target extensions this toolchain ships. They are the only
|
|
4
|
+
* packages allowed to name a `velar/*` module, because that vocabulary belongs
|
|
5
|
+
* to the language rather than to whoever installed a package.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isToolchainExtensionPackage(name: string): boolean;
|
|
2
8
|
/**
|
|
3
9
|
* BLD-U1: the official web application extension's package identity, exported
|
|
4
10
|
* so configuration diagnostics can teach a complete manifest while the CLI
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-metadata.d.ts","sourceRoot":"","sources":["../src/extension-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"extension-metadata.d.ts","sourceRoot":"","sources":["../src/extension-metadata.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,uBAAuB,CAAC;AAqB/B;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjE;AACD;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,qBAAqB,CAAC;AAGjE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;CAC1D;AAED,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,CAI1C;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,MAAM,EAAE,GACvB,OAAO,CAAC,SAAS,wBAAwB,EAAE,CAAC,CAuD9C;AA2DD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,wBAAwB,EAClC,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,GAAG,SAAS,GACvD,iBAAiB,CAYnB"}
|
|
@@ -5,6 +5,7 @@ import { VELAR_EXTENSION_PROTOCOL_VERSION, } from "@velarscript/compiler";
|
|
|
5
5
|
import { hostErrorMessage, isHostErrorCode } from "./host-error.js";
|
|
6
6
|
import { isReservedExtensionManifestKey } from "./project-format.js";
|
|
7
7
|
import { bundledExtension } from "./bundled-extension-registry.js";
|
|
8
|
+
import { byCodeUnit } from "./stable-order.js";
|
|
8
9
|
const MAX_JSON_BYTES = 1024 * 1024;
|
|
9
10
|
const MAX_EXTENSION_GRAPH_SIZE = 64;
|
|
10
11
|
const PACKAGE_NAME = /^(?:@[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*|[a-z0-9][a-z0-9._-]*)$/u;
|
|
@@ -16,8 +17,17 @@ const kinds = new Set(["application", "capability", "language"]);
|
|
|
16
17
|
const toolchainExtensionPackages = new Set([
|
|
17
18
|
"@velarscript/web",
|
|
18
19
|
"@velarscript/node",
|
|
20
|
+
"@velarscript/server",
|
|
19
21
|
"@velarscript/desktop",
|
|
20
22
|
]);
|
|
23
|
+
/**
|
|
24
|
+
* The official target extensions this toolchain ships. They are the only
|
|
25
|
+
* packages allowed to name a `velar/*` module, because that vocabulary belongs
|
|
26
|
+
* to the language rather than to whoever installed a package.
|
|
27
|
+
*/
|
|
28
|
+
export function isToolchainExtensionPackage(name) {
|
|
29
|
+
return toolchainExtensionPackages.has(name);
|
|
30
|
+
}
|
|
21
31
|
/**
|
|
22
32
|
* BLD-U1: the official web application extension's package identity, exported
|
|
23
33
|
* so configuration diagnostics can teach a complete manifest while the CLI
|
|
@@ -82,12 +92,64 @@ export async function resolveExtensionPackages(root, names) {
|
|
|
82
92
|
}
|
|
83
93
|
}
|
|
84
94
|
}
|
|
95
|
+
await assertToolchainGeneration(ordered.map((name) => packages.get(name)));
|
|
85
96
|
const applications = ordered.map((name) => packages.get(name)).filter((item) => item.kind === "application");
|
|
86
97
|
if (applications.length > 1) {
|
|
87
98
|
throw new Error(`A VelarScript project can activate only one application extension; found ${applications.map((item) => item.name).join(", ")}`);
|
|
88
99
|
}
|
|
89
100
|
return Object.freeze(ordered.map((name) => packages.get(name)));
|
|
90
101
|
}
|
|
102
|
+
let toolchainIdentity = null;
|
|
103
|
+
/**
|
|
104
|
+
* This CLI's own version and the exact versions it was published against.
|
|
105
|
+
* `@velarscript/cli` pins every official target extension to its own version
|
|
106
|
+
* and the release gate refuses a candidate whose pins drift, so these are the
|
|
107
|
+
* versions whose compiler generation is the one running here.
|
|
108
|
+
*/
|
|
109
|
+
async function readToolchainIdentity() {
|
|
110
|
+
if (toolchainIdentity)
|
|
111
|
+
return toolchainIdentity;
|
|
112
|
+
try {
|
|
113
|
+
const manifestPath = new URL("../package.json", import.meta.url);
|
|
114
|
+
const manifest = JSON.parse(await readFile(manifestPath, "utf8"));
|
|
115
|
+
const pins = {};
|
|
116
|
+
for (const [name, range] of Object.entries(manifest.dependencies ?? {})) {
|
|
117
|
+
if (typeof range === "string" && PACKAGE_VERSION.test(range))
|
|
118
|
+
pins[name] = range;
|
|
119
|
+
}
|
|
120
|
+
toolchainIdentity = Object.freeze({
|
|
121
|
+
version: typeof manifest.version === "string" ? manifest.version : "unknown",
|
|
122
|
+
pins: Object.freeze(pins),
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
// A toolchain whose own manifest is unreadable cannot claim a generation;
|
|
127
|
+
// it must not turn that into a refusal of the project's extensions.
|
|
128
|
+
toolchainIdentity = Object.freeze({ version: "unknown", pins: Object.freeze({}) });
|
|
129
|
+
}
|
|
130
|
+
return toolchainIdentity;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* An extension is resolved from the project before the toolchain, deliberately,
|
|
134
|
+
* so the CLI's exact pin does not constrain what actually loads. That routes
|
|
135
|
+
* around the only thing keeping the two halves of an emitted program on one
|
|
136
|
+
* compiler generation: an official target extension from another release brings
|
|
137
|
+
* its own nested `@velarscript/compiler`, and `validateLoadedExtension` cannot
|
|
138
|
+
* see the difference — `protocolVersion` has never moved and `apiVersion` is
|
|
139
|
+
* compared against the extension's own manifest. The npm versions are the one
|
|
140
|
+
* generation marker both sides do carry, so they are compared here.
|
|
141
|
+
*/
|
|
142
|
+
async function assertToolchainGeneration(packages) {
|
|
143
|
+
const toolchain = await readToolchainIdentity();
|
|
144
|
+
for (const package_ of packages) {
|
|
145
|
+
if (package_.resolution !== "project")
|
|
146
|
+
continue;
|
|
147
|
+
const pinned = toolchain.pins[package_.name];
|
|
148
|
+
if (pinned === undefined || pinned === package_.version)
|
|
149
|
+
continue;
|
|
150
|
+
throw new Error(`${package_.manifestPath}: this project resolves ${package_.name} ${package_.version}, but @velarscript/cli ${toolchain.version} is built against ${package_.name} ${pinned}; a VelarScript toolchain is one generation, so install ${package_.name} ${pinned} or @velarscript/cli ${package_.version}`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
91
153
|
export function validateLoadedExtension(package_, extension) {
|
|
92
154
|
if (!extension || extension.id !== package_.name || (extension.createEmitter !== undefined && typeof extension.createEmitter !== "function")) {
|
|
93
155
|
throw new Error(`'${package_.name}/compiler' does not export a matching velarCompilerExtension`);
|
|
@@ -243,13 +305,18 @@ function objectField(value, field, manifestPath) {
|
|
|
243
305
|
return value;
|
|
244
306
|
}
|
|
245
307
|
function knownFields(value, allowed, field, manifestPath) {
|
|
246
|
-
|
|
308
|
+
// The rejection names what the section does accept: an author who misspells a
|
|
309
|
+
// field is otherwise told only that their spelling is wrong, never which one
|
|
310
|
+
// it should have been. Same shape as 'velar.requires' in project.ts (D90 R13).
|
|
311
|
+
const supported = [...allowed].sort().map((name) => `'${name}'`).join(", ");
|
|
312
|
+
for (const key of Object.keys(value)) {
|
|
247
313
|
if (!allowed.has(key))
|
|
248
|
-
throw new Error(`${manifestPath}: '${field}' contains unknown field '${key}'`);
|
|
314
|
+
throw new Error(`${manifestPath}: '${field}' contains unknown field '${key}'; the supported fields are ${supported}`);
|
|
315
|
+
}
|
|
249
316
|
}
|
|
250
317
|
function sameStringRecord(left, right) {
|
|
251
|
-
const leftEntries = Object.entries(left).sort(([a], [b]) => a
|
|
252
|
-
const rightEntries = Object.entries(right).sort(([a], [b]) => a
|
|
318
|
+
const leftEntries = Object.entries(left).sort(([a], [b]) => byCodeUnit(a, b));
|
|
319
|
+
const rightEntries = Object.entries(right).sort(([a], [b]) => byCodeUnit(a, b));
|
|
253
320
|
return JSON.stringify(leftEntries) === JSON.stringify(rightEntries);
|
|
254
321
|
}
|
|
255
322
|
//# sourceMappingURL=extension-metadata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extension-metadata.js","sourceRoot":"","sources":["../src/extension-metadata.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"extension-metadata.js","sourceRoot":"","sources":["../src/extension-metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CompilerExtension } from "@velarscript/compiler";
|
|
2
|
+
export interface CheckedFormatOptions {
|
|
3
|
+
readonly indentWidth?: number;
|
|
4
|
+
readonly extensions?: readonly CompilerExtension[];
|
|
5
|
+
}
|
|
6
|
+
export interface CheckedFormatResult {
|
|
7
|
+
/** The formatted text — the first pass's result, never the second's. */
|
|
8
|
+
readonly text: string;
|
|
9
|
+
/** Formatting the result again reproduced it, so the text is a fixed point. */
|
|
10
|
+
readonly stable: boolean;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Formatting is idempotent by contract, so a second pass that changes the text
|
|
14
|
+
* again is a formatter defect and the file it would land on is not the file the
|
|
15
|
+
* author wrote. Every writer runs the source through here and keeps the
|
|
16
|
+
* original bytes when `stable` is false: a reported bug costs one command, a
|
|
17
|
+
* written-out unstable form costs the module.
|
|
18
|
+
*/
|
|
19
|
+
export declare function formatSourceChecked(source: string, options?: CheckedFormatOptions): CheckedFormatResult;
|
|
20
|
+
//# sourceMappingURL=format-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-guard.d.ts","sourceRoot":"","sources":["../src/format-guard.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB,GAAG,mBAAmB,CAG3G"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { formatSource } from "@velarscript/compiler";
|
|
2
|
+
/**
|
|
3
|
+
* Formatting is idempotent by contract, so a second pass that changes the text
|
|
4
|
+
* again is a formatter defect and the file it would land on is not the file the
|
|
5
|
+
* author wrote. Every writer runs the source through here and keeps the
|
|
6
|
+
* original bytes when `stable` is false: a reported bug costs one command, a
|
|
7
|
+
* written-out unstable form costs the module.
|
|
8
|
+
*/
|
|
9
|
+
export function formatSourceChecked(source, options = {}) {
|
|
10
|
+
const text = formatSource(source, options);
|
|
11
|
+
return { text, stable: formatSource(text, options) === text };
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=format-guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format-guard.js","sourceRoot":"","sources":["../src/format-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAerD;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,EAAE,OAAO,GAAyB,EAAE;IACpF,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;AAChE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework-host.d.ts","sourceRoot":"","sources":["../src/framework-host.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,aAAa,EACtB,WAAW,UAAQ,EACnB,cAAc,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EACrD,SAAS,GAAE,0BAA+B,GACzC,sBAAsB,GAAG,IAAI,CAe/B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"framework-host.d.ts","sourceRoot":"","sources":["../src/framework-host.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,aAAa,EACtB,WAAW,UAAQ,EACnB,cAAc,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EACrD,SAAS,GAAE,0BAA+B,GACzC,sBAAsB,GAAG,IAAI,CAe/B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAmB5D;AAcD,wBAAgB,aAAa,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,GAAG,MAAM,CAE7E"}
|
package/dist/framework-host.js
CHANGED
|
@@ -24,8 +24,10 @@ export function projectStyles(project) {
|
|
|
24
24
|
if (segments) {
|
|
25
25
|
if (segments.before)
|
|
26
26
|
before.push(segments.before);
|
|
27
|
+
// A controlled segment is the module's generated rules joined by a blank
|
|
28
|
+
// line, so splitting on that separator recovers the rules themselves.
|
|
27
29
|
if (segments.controlled)
|
|
28
|
-
controlled.push(segments.controlled);
|
|
30
|
+
controlled.push(...segments.controlled.split("\n\n"));
|
|
29
31
|
if (segments.after)
|
|
30
32
|
after.push(segments.after);
|
|
31
33
|
}
|
|
@@ -33,10 +35,21 @@ export function projectStyles(project) {
|
|
|
33
35
|
controlled.push(module.result.css);
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
|
-
const raw = [...before, ...controlled, ...after].filter(Boolean).join("\n\n");
|
|
38
|
+
const raw = [...before, ...lastOfEach(controlled), ...after].filter(Boolean).join("\n\n");
|
|
37
39
|
const styles = raw ? `${raw}\n` : "";
|
|
38
40
|
return project.framework?.host.prepareStyles?.(project.framework.config, styles) ?? styles;
|
|
39
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* A generated rule means the same thing in every module that produced it, so
|
|
44
|
+
* the stylesheet carries each distinct rule once. Keeping the last occurrence
|
|
45
|
+
* rather than the first leaves the document-order cascade winner exactly where
|
|
46
|
+
* it was: a duplicate that used to decide a tie by coming last still does.
|
|
47
|
+
*/
|
|
48
|
+
function lastOfEach(rules) {
|
|
49
|
+
const last = new Map();
|
|
50
|
+
rules.forEach((rule, index) => last.set(rule, index));
|
|
51
|
+
return rules.filter((rule, index) => last.get(rule) === index);
|
|
52
|
+
}
|
|
40
53
|
export function frameworkBase(framework) {
|
|
41
54
|
return framework ? framework.host.base(framework.config) : "/";
|
|
42
55
|
}
|