@velarscript/cli 0.10.4 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +4 -1
- package/dist/cli.js.map +1 -1
- package/dist/dev-server.js +3 -3
- package/dist/dev-server.js.map +1 -1
- package/dist/module-assets.d.ts.map +1 -1
- package/dist/module-assets.js +11 -0
- package/dist/module-assets.js.map +1 -1
- package/dist/official-tool-assets.d.ts.map +1 -1
- package/dist/official-tool-assets.js +25 -6
- package/dist/official-tool-assets.js.map +1 -1
- package/dist/production-build.js +9 -0
- package/dist/production-build.js.map +1 -1
- package/dist/project.d.ts +20 -0
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +240 -22
- package/dist/project.js.map +1 -1
- package/dist/resource-output.d.ts +9 -0
- package/dist/resource-output.d.ts.map +1 -0
- package/dist/resource-output.js +68 -0
- package/dist/resource-output.js.map +1 -0
- package/dist/standalone-build.d.ts +2 -1
- package/dist/standalone-build.d.ts.map +1 -1
- package/dist/standalone-build.js +23 -8
- package/dist/standalone-build.js.map +1 -1
- package/dist/test-output.d.ts.map +1 -1
- package/dist/test-output.js +6 -3
- package/dist/test-output.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +6 -6
- package/skill/ai-skill.md +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-build.js","sourceRoot":"","sources":["../src/production-build.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"production-build.js","sourceRoot":"","sources":["../src/production-build.ts"],"names":[],"mappings":"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"}
|
package/dist/project.d.ts
CHANGED
|
@@ -24,6 +24,24 @@ export interface VelarSourcePackage {
|
|
|
24
24
|
readonly name: string;
|
|
25
25
|
readonly root: string;
|
|
26
26
|
readonly entryPath: string;
|
|
27
|
+
readonly resources: readonly VelarPackageResource[];
|
|
28
|
+
}
|
|
29
|
+
export interface VelarPackageResource {
|
|
30
|
+
readonly subpath: `./${string}` | null;
|
|
31
|
+
readonly relativePath: string;
|
|
32
|
+
readonly inputPath: string;
|
|
33
|
+
readonly kind: "json";
|
|
34
|
+
}
|
|
35
|
+
export interface ProjectResource {
|
|
36
|
+
readonly importerPath: string;
|
|
37
|
+
readonly source: string;
|
|
38
|
+
readonly inputPath: string;
|
|
39
|
+
readonly content: string;
|
|
40
|
+
readonly kind: "json";
|
|
41
|
+
readonly packageName: string | null;
|
|
42
|
+
readonly packageRoot: string | null;
|
|
43
|
+
readonly packageRelativePath: string | null;
|
|
44
|
+
readonly packageSubpath: `./${string}` | null;
|
|
27
45
|
}
|
|
28
46
|
export interface ProjectResult {
|
|
29
47
|
readonly entryPath: string;
|
|
@@ -39,6 +57,8 @@ export interface ProjectResult {
|
|
|
39
57
|
readonly notices: readonly ProjectNotice[];
|
|
40
58
|
readonly velarPackages: readonly VelarSourcePackage[];
|
|
41
59
|
readonly velarImports: ReadonlyMap<string, string>;
|
|
60
|
+
readonly resources: readonly ProjectResource[];
|
|
61
|
+
readonly resourceImports: ReadonlyMap<string, ProjectResource>;
|
|
42
62
|
readonly externalTypeDependencies: ReadonlyMap<string, ReadonlySet<string>>;
|
|
43
63
|
readonly stats: ProjectCompilationStats;
|
|
44
64
|
}
|
package/dist/project.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"AAIA,OAAO,EAYL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAIlB,KAAK,gBAAgB,EAGtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":"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"}
|
package/dist/project.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createRequire, findPackageJSON, isBuiltin } from "node:module";
|
|
2
2
|
import { basename, dirname, extname, isAbsolute, join, relative, resolve } from "node:path";
|
|
3
|
-
import { readdir } from "node:fs/promises";
|
|
3
|
+
import { lstat, readFile, readdir } from "node:fs/promises";
|
|
4
4
|
import { pathToFileURL } from "node:url";
|
|
5
5
|
import { analysisTypeIdentity, compile, diagnostic, genericApplicationType, inspectModule, optionalOf, permanentNamespaceCoveringModule, readonlyViewOf, removedStandardFunctionGuidance, } from "@velarscript/compiler";
|
|
6
6
|
import { isNodeOnlyModule, nodeModuleDiagnostic } from "@velarscript/node/compiler";
|
|
@@ -10,6 +10,8 @@ import { MAX_VELAR_PROJECT_MODULES, readVelarSourceFile, validateVelarSourceText
|
|
|
10
10
|
import { readBoundedText } from "./bounded-text.js";
|
|
11
11
|
import { hostErrorMessage, isHostErrorCode } from "./host-error.js";
|
|
12
12
|
import { canonicalizePotentialPath } from "./canonical-path.js";
|
|
13
|
+
const MAX_PROJECT_RESOURCES = 1024;
|
|
14
|
+
const MAX_JSON_RESOURCE_BYTES = 4 * 1024 * 1024;
|
|
13
15
|
function missingExportMessage(source, name) {
|
|
14
16
|
const guidance = removedStandardFunctionGuidance(source, name);
|
|
15
17
|
if (guidance)
|
|
@@ -51,6 +53,8 @@ export async function compileProjectEntries(entries, primaryEntry, overrides = n
|
|
|
51
53
|
const interfaceCache = new Map();
|
|
52
54
|
const velarPackages = new Map();
|
|
53
55
|
const velarImports = new Map();
|
|
56
|
+
const resources = new Map();
|
|
57
|
+
const resourceImports = new Map();
|
|
54
58
|
const unsafeCssOwners = new Map();
|
|
55
59
|
const resolutionDiagnostics = new Map();
|
|
56
60
|
const recordResolution = (importerPath, source, code, message) => {
|
|
@@ -166,6 +170,51 @@ export async function compileProjectEntries(entries, primaryEntry, overrides = n
|
|
|
166
170
|
const inspection = inspectModule(text, { path: inputPath, extensions: compilerExtensions });
|
|
167
171
|
const resourceContents = new Map();
|
|
168
172
|
for (const resource of inspection.resources) {
|
|
173
|
+
if (resource.kind === "json") {
|
|
174
|
+
try {
|
|
175
|
+
const resolved = await resolveJsonResource(resource.source, inputPath, pendingModule.package, sourceRoot);
|
|
176
|
+
if (resolved.package_) {
|
|
177
|
+
const existing = velarPackages.get(resolved.package_.name);
|
|
178
|
+
if (existing && existing.root !== resolved.package_.root) {
|
|
179
|
+
throw new Error(`VelarScript package '${resolved.package_.name}' resolves to multiple installed versions; use one package instance per application build`);
|
|
180
|
+
}
|
|
181
|
+
velarPackages.set(resolved.package_.name, resolved.package_);
|
|
182
|
+
}
|
|
183
|
+
const content = overrides.get(resolved.resource.inputPath)
|
|
184
|
+
?? await readJsonResource(resolved.resource.inputPath, resource.source);
|
|
185
|
+
if (Buffer.byteLength(content, "utf8") > MAX_JSON_RESOURCE_BYTES) {
|
|
186
|
+
throw new RangeError(`json resource '${resource.source}' exceeds ${MAX_JSON_RESOURCE_BYTES} bytes`);
|
|
187
|
+
}
|
|
188
|
+
try {
|
|
189
|
+
JSON.parse(content);
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
throw new Error(`JSON is invalid: ${hostErrorMessage(error)}`);
|
|
193
|
+
}
|
|
194
|
+
const projectResource = {
|
|
195
|
+
importerPath: inputPath,
|
|
196
|
+
source: resource.source,
|
|
197
|
+
inputPath: resolved.resource.inputPath,
|
|
198
|
+
content,
|
|
199
|
+
kind: "json",
|
|
200
|
+
packageName: resolved.package_?.name ?? pendingModule.package?.name ?? null,
|
|
201
|
+
packageRoot: resolved.package_?.root ?? pendingModule.package?.root ?? null,
|
|
202
|
+
packageRelativePath: resolved.resource.relativePath,
|
|
203
|
+
packageSubpath: resolved.resource.subpath,
|
|
204
|
+
};
|
|
205
|
+
const importKey = projectImportKey(inputPath, resource.source);
|
|
206
|
+
resourceContents.set(resource.source, content);
|
|
207
|
+
resourceImports.set(importKey, projectResource);
|
|
208
|
+
const importMode = projectResource.source.startsWith(".") ? "relative" : "package";
|
|
209
|
+
resources.set(`${projectResource.kind}\0${projectResource.inputPath}\0${projectResource.packageSubpath ?? ""}\0${importMode}`, projectResource);
|
|
210
|
+
if (resources.size > MAX_PROJECT_RESOURCES)
|
|
211
|
+
throw new RangeError(`A project cannot import more than ${MAX_PROJECT_RESOURCES} resources`);
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
failures.push({ path: inputPath, message: `Cannot load json resource '${resource.source}': ${hostErrorMessage(error)}` });
|
|
215
|
+
}
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
169
218
|
if (!resource.source.startsWith(".")) {
|
|
170
219
|
failures.push({ path: inputPath, message: `Compiler resource '${resource.source}' must use a relative path` });
|
|
171
220
|
continue;
|
|
@@ -211,6 +260,8 @@ export async function compileProjectEntries(entries, primaryEntry, overrides = n
|
|
|
211
260
|
}
|
|
212
261
|
loaded.set(inputPath, { inputPath, relativePath, text, inspection, package: pendingModule.package, resourceContents });
|
|
213
262
|
for (const dependency of inspection.dependencies) {
|
|
263
|
+
if (dependency.resource)
|
|
264
|
+
continue;
|
|
214
265
|
if (dependency.javascript) {
|
|
215
266
|
if (dependency.source.startsWith(".")) {
|
|
216
267
|
failures.push({
|
|
@@ -322,7 +373,7 @@ export async function compileProjectEntries(entries, primaryEntry, overrides = n
|
|
|
322
373
|
}
|
|
323
374
|
}
|
|
324
375
|
const modules = [];
|
|
325
|
-
const affected = previous ? affectedModules(loaded, velarImports, previous, changedPaths) : new Set(loaded.keys());
|
|
376
|
+
const affected = previous ? affectedModules(loaded, velarImports, resourceImports, previous, changedPaths) : new Set(loaded.keys());
|
|
326
377
|
const previousModules = new Map(previous?.modules.map((module) => [module.inputPath, module]));
|
|
327
378
|
for (const [dependency, importers] of previous?.externalTypeDependencies ?? []) {
|
|
328
379
|
for (const importer of importers) {
|
|
@@ -431,6 +482,8 @@ export async function compileProjectEntries(entries, primaryEntry, overrides = n
|
|
|
431
482
|
notices: uniqueNotices(notices),
|
|
432
483
|
velarPackages: [...velarPackages.values()],
|
|
433
484
|
velarImports,
|
|
485
|
+
resources: [...resources.values()],
|
|
486
|
+
resourceImports,
|
|
434
487
|
externalTypeDependencies,
|
|
435
488
|
stats: {
|
|
436
489
|
moduleCount: modules.length,
|
|
@@ -602,7 +655,7 @@ function importedReactiveAssignmentDiagnostics(result, reactiveImports) {
|
|
|
602
655
|
? { ...result, diagnostics }
|
|
603
656
|
: result;
|
|
604
657
|
}
|
|
605
|
-
function affectedModules(loaded, velarImports, previous, changedPaths) {
|
|
658
|
+
function affectedModules(loaded, velarImports, resourceImports, previous, changedPaths) {
|
|
606
659
|
const affected = new Set([...changedPaths].map((path) => resolve(path)));
|
|
607
660
|
const reverse = new Map();
|
|
608
661
|
const dependencies = (path, values, imports) => {
|
|
@@ -623,20 +676,21 @@ function affectedModules(loaded, velarImports, previous, changedPaths) {
|
|
|
623
676
|
dependencies(module.inputPath, module.inspection.dependencies, velarImports);
|
|
624
677
|
for (const module of previous.modules)
|
|
625
678
|
dependencies(module.inputPath, module.result.dependencies, previous.velarImports);
|
|
626
|
-
const resources = (path, values) => {
|
|
679
|
+
const resources = (path, values, imports) => {
|
|
627
680
|
for (const resource of values) {
|
|
628
|
-
|
|
681
|
+
const target = imports.get(projectImportKey(path, resource.source))?.inputPath
|
|
682
|
+
?? (resource.source.startsWith(".") ? resolve(dirname(path), resource.source) : null);
|
|
683
|
+
if (!target)
|
|
629
684
|
continue;
|
|
630
|
-
const target = resolve(dirname(path), resource.source);
|
|
631
685
|
const dependents = reverse.get(target) ?? new Set();
|
|
632
686
|
dependents.add(path);
|
|
633
687
|
reverse.set(target, dependents);
|
|
634
688
|
}
|
|
635
689
|
};
|
|
636
690
|
for (const module of loaded.values())
|
|
637
|
-
resources(module.inputPath, module.inspection.resources);
|
|
691
|
+
resources(module.inputPath, module.inspection.resources, resourceImports);
|
|
638
692
|
for (const module of previous.modules)
|
|
639
|
-
resources(module.inputPath, module.result.resources);
|
|
693
|
+
resources(module.inputPath, module.result.resources, previous.resourceImports);
|
|
640
694
|
for (const [dependency, importers] of previous.externalTypeDependencies) {
|
|
641
695
|
const dependents = reverse.get(dependency) ?? new Set();
|
|
642
696
|
for (const importer of importers)
|
|
@@ -1367,20 +1421,7 @@ async function resolveVelarSourcePackage(source, importerPath) {
|
|
|
1367
1421
|
while (true) {
|
|
1368
1422
|
const root = join(directory, "node_modules", ...name.split("/"));
|
|
1369
1423
|
try {
|
|
1370
|
-
|
|
1371
|
-
if (manifest.name !== undefined && manifest.name !== name)
|
|
1372
|
-
throw new Error(`package name is '${String(manifest.name)}', expected '${name}'`);
|
|
1373
|
-
const entry = manifest.velar?.entry;
|
|
1374
|
-
if (typeof entry !== "string" || entry.length === 0)
|
|
1375
|
-
throw new JavaScriptOnlyPackageError("package.json must declare 'velar.entry'");
|
|
1376
|
-
if (isAbsolute(entry))
|
|
1377
|
-
throw new Error("'velar.entry' must be relative to the package root");
|
|
1378
|
-
const entryPath = resolve(root, entry);
|
|
1379
|
-
if (escapesRoot(relative(root, entryPath)))
|
|
1380
|
-
throw new Error("'velar.entry' cannot escape the package root");
|
|
1381
|
-
if (extname(entryPath) !== ".vel")
|
|
1382
|
-
throw new Error("'velar.entry' must point to a .vel source file");
|
|
1383
|
-
return { name, root, entryPath };
|
|
1424
|
+
return await velarPackageAtRoot(name, root);
|
|
1384
1425
|
}
|
|
1385
1426
|
catch (error) {
|
|
1386
1427
|
if (error instanceof SyntaxError)
|
|
@@ -1394,6 +1435,183 @@ async function resolveVelarSourcePackage(source, importerPath) {
|
|
|
1394
1435
|
directory = parent;
|
|
1395
1436
|
}
|
|
1396
1437
|
}
|
|
1438
|
+
async function velarPackageAtRoot(name, root) {
|
|
1439
|
+
const manifest = JSON.parse(await readBoundedText(join(root, "package.json"), 1024 * 1024, `Package manifest for '${name}'`));
|
|
1440
|
+
if (manifest.name !== undefined && manifest.name !== name) {
|
|
1441
|
+
throw new Error(`package name is '${String(manifest.name)}', expected '${name}'`);
|
|
1442
|
+
}
|
|
1443
|
+
const entry = manifest.velar?.entry;
|
|
1444
|
+
if (typeof entry !== "string" || entry.length === 0) {
|
|
1445
|
+
throw new JavaScriptOnlyPackageError("package.json must declare 'velar.entry'");
|
|
1446
|
+
}
|
|
1447
|
+
if (isAbsolute(entry))
|
|
1448
|
+
throw new Error("'velar.entry' must be relative to the package root");
|
|
1449
|
+
const entryPath = resolve(root, entry);
|
|
1450
|
+
if (escapesRoot(relative(root, entryPath)))
|
|
1451
|
+
throw new Error("'velar.entry' cannot escape the package root");
|
|
1452
|
+
if (extname(entryPath) !== ".vel")
|
|
1453
|
+
throw new Error("'velar.entry' must point to a .vel source file");
|
|
1454
|
+
return {
|
|
1455
|
+
name,
|
|
1456
|
+
root,
|
|
1457
|
+
entryPath,
|
|
1458
|
+
resources: packageResources(name, root, manifest.velar.resources, manifest.exports),
|
|
1459
|
+
};
|
|
1460
|
+
}
|
|
1461
|
+
function packageResources(name, root, value, exports) {
|
|
1462
|
+
if (value === undefined)
|
|
1463
|
+
return [];
|
|
1464
|
+
if (value === null || typeof value !== "object" || Array.isArray(value)) {
|
|
1465
|
+
throw new Error("'velar.resources' must be an object mapping exact package subpaths to resource declarations");
|
|
1466
|
+
}
|
|
1467
|
+
const entries = Object.entries(value);
|
|
1468
|
+
if (entries.length > 128)
|
|
1469
|
+
throw new RangeError("'velar.resources' cannot declare more than 128 resources");
|
|
1470
|
+
return entries.map(([subpath, declaration]) => {
|
|
1471
|
+
if (!/^\.\/[A-Za-z0-9][A-Za-z0-9._/-]*$/u.test(subpath)
|
|
1472
|
+
|| subpath.slice(2).split("/").some((part) => part === "" || part === "." || part === "..")) {
|
|
1473
|
+
throw new Error(`'velar.resources' key '${subpath}' must be an exact './name' package subpath without wildcards or traversal`);
|
|
1474
|
+
}
|
|
1475
|
+
if (declaration === null || typeof declaration !== "object" || Array.isArray(declaration)) {
|
|
1476
|
+
throw new Error(`'velar.resources.${subpath}' must contain 'path' and 'type'`);
|
|
1477
|
+
}
|
|
1478
|
+
const fields = declaration;
|
|
1479
|
+
const unknown = Object.keys(fields).filter((field) => field !== "path" && field !== "type");
|
|
1480
|
+
if (unknown.length > 0)
|
|
1481
|
+
throw new Error(`'velar.resources.${subpath}' has unknown field '${unknown[0]}'`);
|
|
1482
|
+
if (fields.type !== "json")
|
|
1483
|
+
throw new Error(`'velar.resources.${subpath}.type' must be 'json'`);
|
|
1484
|
+
if (typeof fields.path !== "string" || fields.path === "" || isAbsolute(fields.path)
|
|
1485
|
+
|| fields.path.includes("\\") || fields.path.split("/").some((part) => part === "" || part === "." || part === "..")) {
|
|
1486
|
+
throw new Error(`'velar.resources.${subpath}.path' must be a normalized package-relative file path`);
|
|
1487
|
+
}
|
|
1488
|
+
if (extname(fields.path).toLowerCase() !== ".json") {
|
|
1489
|
+
throw new Error(`'velar.resources.${subpath}.path' must point to a .json file`);
|
|
1490
|
+
}
|
|
1491
|
+
const target = `./${fields.path}`;
|
|
1492
|
+
const declaredTargets = packageExportTargets(exports, subpath);
|
|
1493
|
+
if (declaredTargets.length === 0) {
|
|
1494
|
+
throw new Error(`Package '${name}' must expose resource '${subpath}' through package.json 'exports'`);
|
|
1495
|
+
}
|
|
1496
|
+
if (declaredTargets.some((candidate) => candidate !== target)) {
|
|
1497
|
+
throw new Error(`Package '${name}' resource '${subpath}' must point to '${target}' in every package.json export condition`);
|
|
1498
|
+
}
|
|
1499
|
+
return {
|
|
1500
|
+
subpath: subpath,
|
|
1501
|
+
relativePath: fields.path,
|
|
1502
|
+
inputPath: resolve(root, ...fields.path.split("/")),
|
|
1503
|
+
kind: "json",
|
|
1504
|
+
};
|
|
1505
|
+
});
|
|
1506
|
+
}
|
|
1507
|
+
function packageExportTargets(exports, subpath) {
|
|
1508
|
+
if (exports === null || typeof exports !== "object" || Array.isArray(exports))
|
|
1509
|
+
return [];
|
|
1510
|
+
const target = exports[subpath];
|
|
1511
|
+
const output = [];
|
|
1512
|
+
const visit = (value) => {
|
|
1513
|
+
if (typeof value === "string")
|
|
1514
|
+
output.push(value);
|
|
1515
|
+
else if (Array.isArray(value))
|
|
1516
|
+
value.forEach(visit);
|
|
1517
|
+
else if (value !== null && typeof value === "object")
|
|
1518
|
+
Object.values(value).forEach(visit);
|
|
1519
|
+
};
|
|
1520
|
+
visit(target);
|
|
1521
|
+
return output;
|
|
1522
|
+
}
|
|
1523
|
+
async function resolveJsonResource(source, importerPath, ownerPackage, sourceRoot) {
|
|
1524
|
+
if (source.startsWith(".")) {
|
|
1525
|
+
const inputPath = resolve(dirname(importerPath), source);
|
|
1526
|
+
const boundary = ownerPackage?.root ?? sourceRoot;
|
|
1527
|
+
await authorizeJsonResource(inputPath, boundary, source);
|
|
1528
|
+
const relativePath = normalizeModulePath(relative(boundary, inputPath));
|
|
1529
|
+
const declared = ownerPackage?.resources.find((resource) => resource.relativePath === relativePath) ?? null;
|
|
1530
|
+
if (ownerPackage && !declared) {
|
|
1531
|
+
throw new Error(`VelarScript package '${ownerPackage.name}' must declare '${relativePath}' in package.json#velar.resources`);
|
|
1532
|
+
}
|
|
1533
|
+
return {
|
|
1534
|
+
resource: declared ?? { subpath: null, relativePath, inputPath, kind: "json" },
|
|
1535
|
+
package_: null,
|
|
1536
|
+
};
|
|
1537
|
+
}
|
|
1538
|
+
if (isAbsolute(source))
|
|
1539
|
+
throw new Error("JSON resource paths must be relative or an exact package resource subpath");
|
|
1540
|
+
const name = packageNameOf(source);
|
|
1541
|
+
if (source === name)
|
|
1542
|
+
throw new Error("A JSON resource import must name a declared package subpath");
|
|
1543
|
+
const subpath = `.${source.slice(name.length)}`;
|
|
1544
|
+
const package_ = await resolveResourcePackage(name, source, importerPath);
|
|
1545
|
+
const resource = package_.resources.find((candidate) => candidate.subpath === subpath);
|
|
1546
|
+
if (!resource)
|
|
1547
|
+
throw new Error(`Package '${name}' does not declare JSON resource '${subpath}' in package.json#velar.resources`);
|
|
1548
|
+
await authorizeJsonResource(resource.inputPath, package_.root, source);
|
|
1549
|
+
return { resource, package_ };
|
|
1550
|
+
}
|
|
1551
|
+
async function resolveResourcePackage(name, source, importerPath) {
|
|
1552
|
+
let directory = dirname(importerPath);
|
|
1553
|
+
while (true) {
|
|
1554
|
+
try {
|
|
1555
|
+
const manifest = JSON.parse(await readBoundedText(join(directory, "package.json"), 1024 * 1024, `Package manifest for '${name}'`));
|
|
1556
|
+
if (manifest.name === name)
|
|
1557
|
+
return await velarPackageAtRoot(name, directory);
|
|
1558
|
+
}
|
|
1559
|
+
catch (error) {
|
|
1560
|
+
if (error instanceof SyntaxError)
|
|
1561
|
+
throw error;
|
|
1562
|
+
if (!isHostErrorCode(error, "ENOENT"))
|
|
1563
|
+
throw error;
|
|
1564
|
+
}
|
|
1565
|
+
const parent = dirname(directory);
|
|
1566
|
+
if (parent === directory)
|
|
1567
|
+
break;
|
|
1568
|
+
directory = parent;
|
|
1569
|
+
}
|
|
1570
|
+
directory = dirname(importerPath);
|
|
1571
|
+
while (true) {
|
|
1572
|
+
const root = join(directory, "node_modules", ...name.split("/"));
|
|
1573
|
+
try {
|
|
1574
|
+
return await velarPackageAtRoot(name, root);
|
|
1575
|
+
}
|
|
1576
|
+
catch (error) {
|
|
1577
|
+
if (error instanceof SyntaxError)
|
|
1578
|
+
throw error;
|
|
1579
|
+
if (!isHostErrorCode(error, "ENOENT"))
|
|
1580
|
+
throw error;
|
|
1581
|
+
}
|
|
1582
|
+
const parent = dirname(directory);
|
|
1583
|
+
if (parent === directory)
|
|
1584
|
+
throw new Error(`package '${name}' is not installed for resource import '${source}'`);
|
|
1585
|
+
directory = parent;
|
|
1586
|
+
}
|
|
1587
|
+
}
|
|
1588
|
+
async function authorizeJsonResource(inputPath, boundary, source) {
|
|
1589
|
+
if (extname(inputPath).toLowerCase() !== ".json")
|
|
1590
|
+
throw new Error(`JSON resource '${source}' must point to a .json file`);
|
|
1591
|
+
if (escapesRoot(relative(boundary, inputPath)))
|
|
1592
|
+
throw new Error(`JSON resource '${source}' cannot escape '${boundary}'`);
|
|
1593
|
+
const [canonicalRoot, canonicalInput, metadata] = await Promise.all([
|
|
1594
|
+
canonicalizePotentialPath(boundary),
|
|
1595
|
+
canonicalizePotentialPath(inputPath),
|
|
1596
|
+
lstat(inputPath),
|
|
1597
|
+
]);
|
|
1598
|
+
if (escapesRoot(relative(canonicalRoot, canonicalInput)))
|
|
1599
|
+
throw new Error(`JSON resource '${source}' cannot escape '${boundary}' through a symbolic link`);
|
|
1600
|
+
if (!metadata.isFile() || metadata.isSymbolicLink())
|
|
1601
|
+
throw new Error(`JSON resource '${source}' must be an ordinary file, not a symbolic link`);
|
|
1602
|
+
}
|
|
1603
|
+
async function readJsonResource(inputPath, source) {
|
|
1604
|
+
const bytes = await readFile(inputPath);
|
|
1605
|
+
if (bytes.byteLength > MAX_JSON_RESOURCE_BYTES) {
|
|
1606
|
+
throw new RangeError(`json resource '${source}' exceeds ${MAX_JSON_RESOURCE_BYTES} bytes`);
|
|
1607
|
+
}
|
|
1608
|
+
try {
|
|
1609
|
+
return new TextDecoder("utf-8", { fatal: true }).decode(bytes);
|
|
1610
|
+
}
|
|
1611
|
+
catch {
|
|
1612
|
+
throw new Error("JSON resource is not valid UTF-8");
|
|
1613
|
+
}
|
|
1614
|
+
}
|
|
1397
1615
|
function packageNameOf(source) {
|
|
1398
1616
|
const parts = source.split("/");
|
|
1399
1617
|
if (source.startsWith("@")) {
|