@velarscript/cli 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +117 -0
- package/dist/application-package-host.d.ts +5 -0
- package/dist/application-package-host.d.ts.map +1 -0
- package/dist/application-package-host.js +67 -0
- package/dist/application-package-host.js.map +1 -0
- package/dist/bounded-text.d.ts +2 -0
- package/dist/bounded-text.d.ts.map +1 -0
- package/dist/bounded-text.js +13 -0
- package/dist/bounded-text.js.map +1 -0
- package/dist/browser-process-owner.d.ts +15 -0
- package/dist/browser-process-owner.d.ts.map +1 -0
- package/dist/browser-process-owner.js +151 -0
- package/dist/browser-process-owner.js.map +1 -0
- package/dist/browser-test-runner.d.ts +11 -0
- package/dist/browser-test-runner.d.ts.map +1 -0
- package/dist/browser-test-runner.js +1022 -0
- package/dist/browser-test-runner.js.map +1 -0
- package/dist/build-engine-tool.d.ts +3 -0
- package/dist/build-engine-tool.d.ts.map +1 -0
- package/dist/build-engine-tool.js +34 -0
- package/dist/build-engine-tool.js.map +1 -0
- package/dist/build-staging.d.ts +3 -0
- package/dist/build-staging.d.ts.map +1 -0
- package/dist/build-staging.js +3 -0
- package/dist/build-staging.js.map +1 -0
- package/dist/bundled-application-package-host-registry.d.ts +10 -0
- package/dist/bundled-application-package-host-registry.d.ts.map +1 -0
- package/dist/bundled-application-package-host-registry.js +16 -0
- package/dist/bundled-application-package-host-registry.js.map +1 -0
- package/dist/bundled-extension-registry.d.ts +22 -0
- package/dist/bundled-extension-registry.d.ts.map +1 -0
- package/dist/bundled-extension-registry.js +10 -0
- package/dist/bundled-extension-registry.js.map +1 -0
- package/dist/canonical-path.d.ts +3 -0
- package/dist/canonical-path.d.ts.map +1 -0
- package/dist/canonical-path.js +30 -0
- package/dist/canonical-path.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1274 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +26 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +403 -0
- package/dist/config.js.map +1 -0
- package/dist/deployment-verifier.d.ts +34 -0
- package/dist/deployment-verifier.d.ts.map +1 -0
- package/dist/deployment-verifier.js +260 -0
- package/dist/deployment-verifier.js.map +1 -0
- package/dist/dev-server.d.ts +3 -0
- package/dist/dev-server.d.ts.map +1 -0
- package/dist/dev-server.js +464 -0
- package/dist/dev-server.js.map +1 -0
- package/dist/embedded-modules.d.ts +17 -0
- package/dist/embedded-modules.d.ts.map +1 -0
- package/dist/embedded-modules.js +33 -0
- package/dist/embedded-modules.js.map +1 -0
- package/dist/extension-metadata.d.ts +23 -0
- package/dist/extension-metadata.d.ts.map +1 -0
- package/dist/extension-metadata.js +254 -0
- package/dist/extension-metadata.js.map +1 -0
- package/dist/file-integrity.d.ts +7 -0
- package/dist/file-integrity.d.ts.map +1 -0
- package/dist/file-integrity.js +14 -0
- package/dist/file-integrity.js.map +1 -0
- package/dist/framework-host.d.ts +12 -0
- package/dist/framework-host.d.ts.map +1 -0
- package/dist/framework-host.js +46 -0
- package/dist/framework-host.js.map +1 -0
- package/dist/host-error.d.ts +6 -0
- package/dist/host-error.d.ts.map +1 -0
- package/dist/host-error.js +54 -0
- package/dist/host-error.js.map +1 -0
- package/dist/installed-package.d.ts +9 -0
- package/dist/installed-package.d.ts.map +1 -0
- package/dist/installed-package.js +23 -0
- package/dist/installed-package.js.map +1 -0
- package/dist/language-server-bundle-entry.d.ts +2 -0
- package/dist/language-server-bundle-entry.d.ts.map +1 -0
- package/dist/language-server-bundle-entry.js +7 -0
- package/dist/language-server-bundle-entry.js.map +1 -0
- package/dist/language-server-tool.d.ts +3 -0
- package/dist/language-server-tool.d.ts.map +1 -0
- package/dist/language-server-tool.js +30 -0
- package/dist/language-server-tool.js.map +1 -0
- package/dist/language-server.d.ts +9 -0
- package/dist/language-server.d.ts.map +1 -0
- package/dist/language-server.js +1733 -0
- package/dist/language-server.js.map +1 -0
- package/dist/mechanical-fixer.d.ts +30 -0
- package/dist/mechanical-fixer.d.ts.map +1 -0
- package/dist/mechanical-fixer.js +103 -0
- package/dist/mechanical-fixer.js.map +1 -0
- package/dist/module-assets.d.ts +11 -0
- package/dist/module-assets.d.ts.map +1 -0
- package/dist/module-assets.js +90 -0
- package/dist/module-assets.js.map +1 -0
- package/dist/npm.d.ts +23 -0
- package/dist/npm.d.ts.map +1 -0
- package/dist/npm.js +456 -0
- package/dist/npm.js.map +1 -0
- package/dist/official-language-server-extensions.d.ts +2 -0
- package/dist/official-language-server-extensions.d.ts.map +1 -0
- package/dist/official-language-server-extensions.js +38 -0
- package/dist/official-language-server-extensions.js.map +1 -0
- package/dist/official-script-language-service.d.ts +2 -0
- package/dist/official-script-language-service.d.ts.map +1 -0
- package/dist/official-script-language-service.js +10 -0
- package/dist/official-script-language-service.js.map +1 -0
- package/dist/official-tool-assets.d.ts +3 -0
- package/dist/official-tool-assets.d.ts.map +1 -0
- package/dist/official-tool-assets.js +41 -0
- package/dist/official-tool-assets.js.map +1 -0
- package/dist/ownership-graph.d.ts +46 -0
- package/dist/ownership-graph.d.ts.map +1 -0
- package/dist/ownership-graph.js +255 -0
- package/dist/ownership-graph.js.map +1 -0
- package/dist/package-manager.d.ts +20 -0
- package/dist/package-manager.d.ts.map +1 -0
- package/dist/package-manager.js +345 -0
- package/dist/package-manager.js.map +1 -0
- package/dist/packaged-official-tool.d.ts +8 -0
- package/dist/packaged-official-tool.d.ts.map +1 -0
- package/dist/packaged-official-tool.js +32 -0
- package/dist/packaged-official-tool.js.map +1 -0
- package/dist/preview-server.d.ts +11 -0
- package/dist/preview-server.d.ts.map +1 -0
- package/dist/preview-server.js +163 -0
- package/dist/preview-server.js.map +1 -0
- package/dist/production-build.d.ts +57 -0
- package/dist/production-build.d.ts.map +1 -0
- package/dist/production-build.js +332 -0
- package/dist/production-build.js.map +1 -0
- package/dist/production-verifier.d.ts +9 -0
- package/dist/production-verifier.d.ts.map +1 -0
- package/dist/production-verifier.js +268 -0
- package/dist/production-verifier.js.map +1 -0
- package/dist/program-runner.d.ts +7 -0
- package/dist/program-runner.d.ts.map +1 -0
- package/dist/program-runner.js +98 -0
- package/dist/program-runner.js.map +1 -0
- package/dist/project-check.d.ts +31 -0
- package/dist/project-check.d.ts.map +1 -0
- package/dist/project-check.js +95 -0
- package/dist/project-check.js.map +1 -0
- package/dist/project-format.d.ts +6 -0
- package/dist/project-format.d.ts.map +1 -0
- package/dist/project-format.js +21 -0
- package/dist/project-format.js.map +1 -0
- package/dist/project-semantic.d.ts +62 -0
- package/dist/project-semantic.d.ts.map +1 -0
- package/dist/project-semantic.js +1079 -0
- package/dist/project-semantic.js.map +1 -0
- package/dist/project-session.d.ts +36 -0
- package/dist/project-session.d.ts.map +1 -0
- package/dist/project-session.js +339 -0
- package/dist/project-session.js.map +1 -0
- package/dist/project-task-bundle-entry.d.ts +2 -0
- package/dist/project-task-bundle-entry.d.ts.map +1 -0
- package/dist/project-task-bundle-entry.js +18 -0
- package/dist/project-task-bundle-entry.js.map +1 -0
- package/dist/project-task-invocation.d.ts +16 -0
- package/dist/project-task-invocation.d.ts.map +1 -0
- package/dist/project-task-invocation.js +72 -0
- package/dist/project-task-invocation.js.map +1 -0
- package/dist/project-task-tool.d.ts +3 -0
- package/dist/project-task-tool.d.ts.map +1 -0
- package/dist/project-task-tool.js +61 -0
- package/dist/project-task-tool.js.map +1 -0
- package/dist/project.d.ts +71 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +1750 -0
- package/dist/project.js.map +1 -0
- package/dist/reproduction.d.ts +50 -0
- package/dist/reproduction.d.ts.map +1 -0
- package/dist/reproduction.js +321 -0
- package/dist/reproduction.js.map +1 -0
- package/dist/script-language-service.d.ts +82 -0
- package/dist/script-language-service.d.ts.map +1 -0
- package/dist/script-language-service.js +18 -0
- package/dist/script-language-service.js.map +1 -0
- package/dist/source-limits.d.ts +5 -0
- package/dist/source-limits.d.ts.map +1 -0
- package/dist/source-limits.js +19 -0
- package/dist/source-limits.js.map +1 -0
- package/dist/standalone-build.d.ts +15 -0
- package/dist/standalone-build.d.ts.map +1 -0
- package/dist/standalone-build.js +76 -0
- package/dist/standalone-build.js.map +1 -0
- package/dist/standard-modules.d.ts +22 -0
- package/dist/standard-modules.d.ts.map +1 -0
- package/dist/standard-modules.js +3066 -0
- package/dist/standard-modules.js.map +1 -0
- package/dist/static-deployment.d.ts +48 -0
- package/dist/static-deployment.d.ts.map +1 -0
- package/dist/static-deployment.js +142 -0
- package/dist/static-deployment.js.map +1 -0
- package/dist/test-output.d.ts +20 -0
- package/dist/test-output.d.ts.map +1 -0
- package/dist/test-output.js +119 -0
- package/dist/test-output.js.map +1 -0
- package/dist/test-runner.d.ts +13 -0
- package/dist/test-runner.d.ts.map +1 -0
- package/dist/test-runner.js +226 -0
- package/dist/test-runner.js.map +1 -0
- package/dist/typescript-declarations.d.ts +20 -0
- package/dist/typescript-declarations.d.ts.map +1 -0
- package/dist/typescript-declarations.js +1609 -0
- package/dist/typescript-declarations.js.map +1 -0
- package/dist/uncaught-program-error.d.ts +24 -0
- package/dist/uncaught-program-error.d.ts.map +1 -0
- package/dist/uncaught-program-error.js +105 -0
- package/dist/uncaught-program-error.js.map +1 -0
- package/dist/unowned-errors.d.ts +56 -0
- package/dist/unowned-errors.d.ts.map +1 -0
- package/dist/unowned-errors.js +82 -0
- package/dist/unowned-errors.js.map +1 -0
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/dist/workspace-index.d.ts +78 -0
- package/dist/workspace-index.d.ts.map +1 -0
- package/dist/workspace-index.js +493 -0
- package/dist/workspace-index.js.map +1 -0
- package/package.json +45 -0
- package/skill/ai-skill.md +749 -0
package/dist/npm.js
ADDED
|
@@ -0,0 +1,456 @@
|
|
|
1
|
+
import { mkdir, realpath, rm, stat, writeFile } from "node:fs/promises";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import { dirname, isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
4
|
+
import { pathToFileURL } from "node:url";
|
|
5
|
+
import { build } from "esbuild";
|
|
6
|
+
import { readBoundedText } from "./bounded-text.js";
|
|
7
|
+
import { frameworkBase } from "./framework-host.js";
|
|
8
|
+
import { hostErrorMessage } from "./host-error.js";
|
|
9
|
+
import { resolveInstalledPackageRoot } from "./installed-package.js";
|
|
10
|
+
import { VELAR_VERSION } from "./version.js";
|
|
11
|
+
const MAX_BROWSER_NPM_PACKAGES = 4096;
|
|
12
|
+
const MAX_PACKAGE_MANIFEST_BYTES = 1024 * 1024;
|
|
13
|
+
const MAX_DEV_DEPENDENCY_META_BYTES = 1024 * 1024;
|
|
14
|
+
// The dev server serves package code to the browser as native ES modules, so
|
|
15
|
+
// bare specifiers resolve with the same conditions the production bundler uses
|
|
16
|
+
// for a browser import: "browser", "import", and the community "module"
|
|
17
|
+
// condition, in the package's own declaration order.
|
|
18
|
+
const BROWSER_IMPORT_CONDITIONS = new Set(["browser", "import", "module", "default"]);
|
|
19
|
+
const NODE_REQUIRE_CONDITIONS = new Set(["require", "node", "default"]);
|
|
20
|
+
/** Resolve one bare package import exactly as a browser ESM import. */
|
|
21
|
+
export async function resolveBrowserNpmEntry(specifier, baseDirectory) {
|
|
22
|
+
const require = createRequire(pathToFileURL(join(baseDirectory, "__velar_browser_import__.js")));
|
|
23
|
+
return (await resolveInstalledBrowserImport(specifier, require)).entry;
|
|
24
|
+
}
|
|
25
|
+
// Native browser ESM cannot load CommonJS, and many npm packages either
|
|
26
|
+
// publish only CommonJS internals behind a thin ESM wrapper (the dual-package
|
|
27
|
+
// pattern Node's own documentation recommends) or depend on packages that do.
|
|
28
|
+
// The dev server therefore prebundles every bare npm import per package with
|
|
29
|
+
// the same bundler the production build uses: internal CommonJS converts to
|
|
30
|
+
// ESM, other bare packages stay external and resolve through the import map,
|
|
31
|
+
// and the result is cached in <project>/.velar/dev-deps keyed by package
|
|
32
|
+
// version so an unchanged dependency bundles once per install.
|
|
33
|
+
export async function resolveBrowserNpm(project, invalidateRoots = new Set()) {
|
|
34
|
+
const base = frameworkBase(project.framework);
|
|
35
|
+
const specifiers = new Set(project.modules.flatMap((module) => module.result.dependencies
|
|
36
|
+
.filter((dependency) => dependency.javascript && !dependency.source.startsWith(".") && !dependency.source.startsWith("/"))
|
|
37
|
+
.map((dependency) => dependency.source)));
|
|
38
|
+
const require = createRequire(pathToFileURL(join(project.sourceRoot, "package.json")));
|
|
39
|
+
const cacheRoot = resolve(project.projectRoot, ".velar", "dev-deps");
|
|
40
|
+
const states = new Map();
|
|
41
|
+
const targets = new Map();
|
|
42
|
+
const imports = {};
|
|
43
|
+
const failures = [];
|
|
44
|
+
if (specifiers.size > MAX_BROWSER_NPM_PACKAGES) {
|
|
45
|
+
throw new RangeError(`A browser project cannot import more than ${MAX_BROWSER_NPM_PACKAGES} JavaScript packages`);
|
|
46
|
+
}
|
|
47
|
+
const processed = new Set();
|
|
48
|
+
let queue = [...specifiers];
|
|
49
|
+
while (queue.length > 0) {
|
|
50
|
+
const wave = queue;
|
|
51
|
+
queue = [];
|
|
52
|
+
for (const specifier of wave) {
|
|
53
|
+
if (processed.has(specifier))
|
|
54
|
+
continue;
|
|
55
|
+
processed.add(specifier);
|
|
56
|
+
if (processed.size > MAX_BROWSER_NPM_PACKAGES) {
|
|
57
|
+
throw new RangeError(`A browser project cannot import more than ${MAX_BROWSER_NPM_PACKAGES} JavaScript packages`);
|
|
58
|
+
}
|
|
59
|
+
if (specifier.startsWith("node:")) {
|
|
60
|
+
failures.push(`Node builtin '${specifier}' cannot run in a browser build`);
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
try {
|
|
64
|
+
const resolvedImport = await resolveInstalledBrowserImport(specifier, require);
|
|
65
|
+
const { requestedName, subpath, root, manifest, entry } = resolvedImport;
|
|
66
|
+
const name = manifest.name ?? requestedName;
|
|
67
|
+
let state = states.get(name);
|
|
68
|
+
if (!state) {
|
|
69
|
+
const version = typeof manifest.version === "string" && manifest.version !== "" ? manifest.version : "0.0.0";
|
|
70
|
+
state = {
|
|
71
|
+
name,
|
|
72
|
+
version,
|
|
73
|
+
root,
|
|
74
|
+
manifest,
|
|
75
|
+
route: `/@npm/${name}/`,
|
|
76
|
+
cacheDir: join(cacheRoot, `${name.replaceAll("/", "+")}@${version}`),
|
|
77
|
+
entries: new Map(),
|
|
78
|
+
meta: null,
|
|
79
|
+
bundled: false,
|
|
80
|
+
failure: null,
|
|
81
|
+
};
|
|
82
|
+
states.set(name, state);
|
|
83
|
+
}
|
|
84
|
+
if (!state.entries.has(subpath)) {
|
|
85
|
+
const entryFromRoot = relative(state.root, entry);
|
|
86
|
+
if (!entryFromRoot || entryFromRoot.startsWith("..") || isAbsolute(entryFromRoot)) {
|
|
87
|
+
throw new Error(`the resolved entry '${entryFromRoot}' escapes the package directory`);
|
|
88
|
+
}
|
|
89
|
+
state.entries.set(subpath, entry);
|
|
90
|
+
state.bundled = false;
|
|
91
|
+
}
|
|
92
|
+
targets.set(specifier, { state, subpath });
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
failures.push(`Cannot resolve browser npm import '${specifier}': ${hostErrorMessage(error)}`);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
for (const state of states.values()) {
|
|
99
|
+
if (state.failure !== null || state.bundled)
|
|
100
|
+
continue;
|
|
101
|
+
try {
|
|
102
|
+
state.meta = await ensurePackageBundle(state, invalidateRoots.has(state.root));
|
|
103
|
+
state.bundled = true;
|
|
104
|
+
for (const external of state.meta.externals) {
|
|
105
|
+
if (!processed.has(external))
|
|
106
|
+
queue.push(external);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
state.failure = hostErrorMessage(error);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const packages = [];
|
|
115
|
+
for (const state of states.values()) {
|
|
116
|
+
if (state.failure !== null || !state.meta)
|
|
117
|
+
continue;
|
|
118
|
+
packages.push({ name: state.name, root: state.root, route: state.route, serveRoot: state.cacheDir });
|
|
119
|
+
}
|
|
120
|
+
for (const [specifier, target] of targets) {
|
|
121
|
+
if (target.state.failure !== null) {
|
|
122
|
+
failures.push(`Cannot resolve browser npm import '${specifier}': ${target.state.failure}`);
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
const output = target.state.meta?.entries[target.subpath];
|
|
126
|
+
if (typeof output !== "string") {
|
|
127
|
+
failures.push(`Cannot resolve browser npm import '${specifier}': the development prebundle did not emit an entry for '${target.subpath}'`);
|
|
128
|
+
continue;
|
|
129
|
+
}
|
|
130
|
+
imports[specifier] = withBase(base, `${target.state.route}${output}`);
|
|
131
|
+
}
|
|
132
|
+
for (const package_ of project.velarPackages) {
|
|
133
|
+
const entry = project.modules.find((module) => module.inputPath === package_.entryPath);
|
|
134
|
+
if (!entry) {
|
|
135
|
+
failures.push(`VelarScript package '${package_.name}' entry was not compiled`);
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
imports[package_.name] = withBase(base, `/${entry.relativePath.replace(/\.vel$/u, ".js").replaceAll("\\", "/")}`);
|
|
139
|
+
}
|
|
140
|
+
return { packages, imports, failures };
|
|
141
|
+
}
|
|
142
|
+
export async function npmAsset(packages, pathname) {
|
|
143
|
+
const package_ = packages.find((item) => pathname.startsWith(item.route));
|
|
144
|
+
if (!package_)
|
|
145
|
+
return null;
|
|
146
|
+
const relativePath = pathname.slice(package_.route.length);
|
|
147
|
+
if (!relativePath || relativePath.split("/").includes(".."))
|
|
148
|
+
return null;
|
|
149
|
+
const path = resolve(package_.serveRoot, relativePath);
|
|
150
|
+
const unresolvedFromRoot = relative(package_.serveRoot, path);
|
|
151
|
+
if (!unresolvedFromRoot || unresolvedFromRoot === ".." || unresolvedFromRoot.startsWith(`..${sep}`) || isAbsolute(unresolvedFromRoot))
|
|
152
|
+
return null;
|
|
153
|
+
try {
|
|
154
|
+
const [rootPath, assetPath] = await Promise.all([realpath(package_.serveRoot), realpath(path)]);
|
|
155
|
+
const assetFromRoot = relative(rootPath, assetPath);
|
|
156
|
+
if (!assetFromRoot || assetFromRoot.startsWith("..") || assetFromRoot.startsWith("/") || assetFromRoot.startsWith("\\"))
|
|
157
|
+
return null;
|
|
158
|
+
const metadata = await stat(assetPath);
|
|
159
|
+
if (!metadata.isFile())
|
|
160
|
+
return null;
|
|
161
|
+
return { path: assetPath, sizeBytes: metadata.size, contentType: npmContentType(assetPath) };
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
async function resolveInstalledBrowserImport(specifier, require) {
|
|
168
|
+
const requestedName = packageNameOf(specifier);
|
|
169
|
+
const subpath = specifier === requestedName ? "." : `.${specifier.slice(requestedName.length)}`;
|
|
170
|
+
if (subpath.split("/").includes(".."))
|
|
171
|
+
throw new Error(`the subpath '${subpath}' escapes the package directory`);
|
|
172
|
+
const root = await resolveInstalledPackageRoot(requestedName, specifier, require);
|
|
173
|
+
const manifest = JSON.parse(await readBoundedText(join(root, "package.json"), MAX_PACKAGE_MANIFEST_BYTES, `Package manifest for '${specifier}'`));
|
|
174
|
+
const entry = await selectBrowserEntry(specifier, root, manifest, subpath);
|
|
175
|
+
return { requestedName, subpath, root, manifest, entry };
|
|
176
|
+
}
|
|
177
|
+
async function selectBrowserEntry(specifier, root, manifest, subpath) {
|
|
178
|
+
if (manifest.exports !== undefined && manifest.exports !== null) {
|
|
179
|
+
const target = resolveExportsTarget(manifest.exports, subpath, BROWSER_IMPORT_CONDITIONS);
|
|
180
|
+
if (target === null) {
|
|
181
|
+
const requireTarget = resolveExportsTarget(manifest.exports, subpath, NODE_REQUIRE_CONDITIONS);
|
|
182
|
+
if (requireTarget !== null) {
|
|
183
|
+
throw new Error(`the package only publishes a CommonJS entry for '${subpath}' (its "exports" map has no "import", "browser", or "default" condition there); browser targets require an ESM export for that subpath`);
|
|
184
|
+
}
|
|
185
|
+
throw new Error(`the package does not export '${subpath}' for browser import conditions`);
|
|
186
|
+
}
|
|
187
|
+
if (!target.startsWith("./") || target.split("/").includes("..")) {
|
|
188
|
+
throw new Error(`the package exports map maps '${subpath}' to the invalid target '${target}'`);
|
|
189
|
+
}
|
|
190
|
+
const entry = await firstExistingFile([resolve(root, target)]);
|
|
191
|
+
if (!entry)
|
|
192
|
+
throw new Error(`the package exports map maps '${subpath}' to '${target}', which does not exist`);
|
|
193
|
+
return entry;
|
|
194
|
+
}
|
|
195
|
+
if (subpath !== ".") {
|
|
196
|
+
const direct = resolve(root, subpath);
|
|
197
|
+
const entry = await firstExistingFile([direct, `${direct}.js`, `${direct}.mjs`, join(direct, "index.js")]);
|
|
198
|
+
if (!entry)
|
|
199
|
+
throw new Error(`the package file '${subpath}' does not exist`);
|
|
200
|
+
return entry;
|
|
201
|
+
}
|
|
202
|
+
for (const field of [manifest.browser, manifest.module, manifest.main]) {
|
|
203
|
+
if (typeof field !== "string" || field === "")
|
|
204
|
+
continue;
|
|
205
|
+
const direct = resolve(root, field);
|
|
206
|
+
const entry = await firstExistingFile([direct, `${direct}.js`, join(direct, "index.js")]);
|
|
207
|
+
if (entry)
|
|
208
|
+
return entry;
|
|
209
|
+
}
|
|
210
|
+
const fallback = await firstExistingFile([join(root, "index.js")]);
|
|
211
|
+
if (!fallback)
|
|
212
|
+
throw new Error("the package declares no entry file");
|
|
213
|
+
return fallback;
|
|
214
|
+
}
|
|
215
|
+
// Prebundles one package version: every requested subpath becomes an entry
|
|
216
|
+
// point of a single splitting build so shared internals stay one module
|
|
217
|
+
// instance, internal CommonJS converts to ESM, and other packages remain bare
|
|
218
|
+
// imports for the import map. A valid cache is reused without running the
|
|
219
|
+
// bundler; `force` drops it after the watcher saw the installed files change.
|
|
220
|
+
async function ensurePackageBundle(state, force) {
|
|
221
|
+
const metaPath = join(state.cacheDir, "meta.json");
|
|
222
|
+
if (!force) {
|
|
223
|
+
const cached = await readDevDependencyMeta(metaPath);
|
|
224
|
+
if (cached
|
|
225
|
+
&& cached.velar === VELAR_VERSION
|
|
226
|
+
&& cached.name === state.name
|
|
227
|
+
&& cached.version === state.version
|
|
228
|
+
&& [...state.entries.keys()].every((subpath) => typeof cached.entries[subpath] === "string")
|
|
229
|
+
&& await filesExist(state.cacheDir, cached.files)) {
|
|
230
|
+
return cached;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
const outputNames = assignEntryOutputNames([...state.entries.keys()]);
|
|
234
|
+
const result = await build({
|
|
235
|
+
absWorkingDir: state.root,
|
|
236
|
+
entryPoints: Object.fromEntries([...state.entries].map(([subpath, entry]) => [outputNames.get(subpath), entry])),
|
|
237
|
+
bundle: true,
|
|
238
|
+
splitting: true,
|
|
239
|
+
format: "esm",
|
|
240
|
+
platform: "browser",
|
|
241
|
+
target: "es2022",
|
|
242
|
+
outdir: state.cacheDir,
|
|
243
|
+
write: false,
|
|
244
|
+
metafile: true,
|
|
245
|
+
packages: "external",
|
|
246
|
+
chunkNames: "chunk-[hash]",
|
|
247
|
+
sourcemap: false,
|
|
248
|
+
legalComments: "none",
|
|
249
|
+
logLevel: "silent",
|
|
250
|
+
});
|
|
251
|
+
const entryFileSubpaths = new Map();
|
|
252
|
+
for (const [subpath, entry] of state.entries) {
|
|
253
|
+
entryFileSubpaths.set(relative(state.root, entry).replaceAll("\\", "/"), subpath);
|
|
254
|
+
}
|
|
255
|
+
const entries = {};
|
|
256
|
+
const files = [];
|
|
257
|
+
for (const [outputPath, output] of Object.entries(result.metafile.outputs)) {
|
|
258
|
+
const relativeOutput = relative(state.cacheDir, resolve(state.root, outputPath)).replaceAll("\\", "/");
|
|
259
|
+
files.push(relativeOutput);
|
|
260
|
+
if (!output.entryPoint)
|
|
261
|
+
continue;
|
|
262
|
+
const subpath = entryFileSubpaths.get(output.entryPoint.replaceAll("\\", "/"));
|
|
263
|
+
if (!subpath)
|
|
264
|
+
continue;
|
|
265
|
+
// Native ESM has no interop for CommonJS named exports, so a package whose
|
|
266
|
+
// resolved entry itself parses as CommonJS would silently diverge from
|
|
267
|
+
// Node and from 'velar build' (both provide named imports). Refuse it
|
|
268
|
+
// loudly instead; internal CommonJS behind an ESM entry converts fine.
|
|
269
|
+
if (result.metafile.inputs[output.entryPoint]?.format === "cjs") {
|
|
270
|
+
const specifier = subpath === "." ? state.name : `${state.name}/${subpath.slice(2)}`;
|
|
271
|
+
const entryFromRoot = relative(state.root, state.entries.get(subpath)).replaceAll("\\", "/");
|
|
272
|
+
throw new Error(`'${specifier}' resolves to the CommonJS file '${entryFromRoot}' and the package publishes no ESM alternative under its "import" or "browser" export conditions; 'velar dev' serves packages to the browser as native ES modules and cannot reproduce CommonJS named exports, so the package needs an ESM build ('velar build' can still bundle CommonJS)`);
|
|
273
|
+
}
|
|
274
|
+
entries[subpath] = relativeOutput;
|
|
275
|
+
}
|
|
276
|
+
const meta = {
|
|
277
|
+
formatVersion: 1,
|
|
278
|
+
velar: VELAR_VERSION,
|
|
279
|
+
name: state.name,
|
|
280
|
+
version: state.version,
|
|
281
|
+
entries,
|
|
282
|
+
files: files.sort(),
|
|
283
|
+
externals: [...collectExternalImports(result.metafile)].sort(),
|
|
284
|
+
};
|
|
285
|
+
await rm(state.cacheDir, { recursive: true, force: true });
|
|
286
|
+
await mkdir(state.cacheDir, { recursive: true });
|
|
287
|
+
for (const file of result.outputFiles) {
|
|
288
|
+
await mkdir(dirname(file.path), { recursive: true });
|
|
289
|
+
await writeFile(file.path, file.contents);
|
|
290
|
+
}
|
|
291
|
+
await writeFile(metaPath, `${JSON.stringify(meta, null, 2)}\n`, "utf8");
|
|
292
|
+
return meta;
|
|
293
|
+
}
|
|
294
|
+
async function readDevDependencyMeta(path) {
|
|
295
|
+
let parsed;
|
|
296
|
+
try {
|
|
297
|
+
parsed = JSON.parse(await readBoundedText(path, MAX_DEV_DEPENDENCY_META_BYTES, "Development prebundle metadata"));
|
|
298
|
+
}
|
|
299
|
+
catch {
|
|
300
|
+
return null;
|
|
301
|
+
}
|
|
302
|
+
if (!parsed || typeof parsed !== "object")
|
|
303
|
+
return null;
|
|
304
|
+
const meta = parsed;
|
|
305
|
+
if (meta.formatVersion !== 1 || typeof meta.velar !== "string" || typeof meta.name !== "string" || typeof meta.version !== "string")
|
|
306
|
+
return null;
|
|
307
|
+
if (!meta.entries || typeof meta.entries !== "object" || Array.isArray(meta.entries))
|
|
308
|
+
return null;
|
|
309
|
+
if (!Array.isArray(meta.files) || !meta.files.every((file) => typeof file === "string"))
|
|
310
|
+
return null;
|
|
311
|
+
if (!Array.isArray(meta.externals) || !meta.externals.every((item) => typeof item === "string"))
|
|
312
|
+
return null;
|
|
313
|
+
if (!Object.values(meta.entries).every((value) => typeof value === "string"))
|
|
314
|
+
return null;
|
|
315
|
+
return meta;
|
|
316
|
+
}
|
|
317
|
+
async function filesExist(root, files) {
|
|
318
|
+
for (const file of files) {
|
|
319
|
+
try {
|
|
320
|
+
const metadata = await stat(join(root, file));
|
|
321
|
+
if (!metadata.isFile())
|
|
322
|
+
return false;
|
|
323
|
+
}
|
|
324
|
+
catch {
|
|
325
|
+
return false;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
return files.length > 0;
|
|
329
|
+
}
|
|
330
|
+
// Deterministic output names for entry subpaths: the package root becomes
|
|
331
|
+
// index.js, a subpath keeps its own path spelling with unsafe characters
|
|
332
|
+
// replaced, and collisions gain a numeric suffix in sorted order.
|
|
333
|
+
function assignEntryOutputNames(subpaths) {
|
|
334
|
+
const names = new Map();
|
|
335
|
+
const used = new Set();
|
|
336
|
+
for (const subpath of [...subpaths].sort()) {
|
|
337
|
+
const preferred = subpath === "."
|
|
338
|
+
? "index"
|
|
339
|
+
: subpath.slice(2).split("/").map((segment) => segment.replace(/[^A-Za-z0-9_.-]+/gu, "-")).join("/") || "index";
|
|
340
|
+
let name = preferred;
|
|
341
|
+
for (let counter = 2; used.has(name); counter += 1)
|
|
342
|
+
name = `${preferred}-${counter}`;
|
|
343
|
+
used.add(name);
|
|
344
|
+
names.set(subpath, name);
|
|
345
|
+
}
|
|
346
|
+
return names;
|
|
347
|
+
}
|
|
348
|
+
// A prebundle keeps other packages external, so every reachable bare import
|
|
349
|
+
// still needs an import-map entry (and prebundle) of its own. Node builtins
|
|
350
|
+
// stay in the list so they surface the established browser-build refusal.
|
|
351
|
+
function collectExternalImports(metafile) {
|
|
352
|
+
const specifiers = new Set();
|
|
353
|
+
for (const input of Object.values(metafile.inputs)) {
|
|
354
|
+
for (const item of input.imports) {
|
|
355
|
+
if (!item.external)
|
|
356
|
+
continue;
|
|
357
|
+
if (item.path.startsWith(".") || item.path.startsWith("/"))
|
|
358
|
+
continue;
|
|
359
|
+
if (item.path.includes(":") && !item.path.startsWith("node:"))
|
|
360
|
+
continue;
|
|
361
|
+
specifiers.add(item.path);
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
return [...specifiers];
|
|
365
|
+
}
|
|
366
|
+
function resolveExportsTarget(exports, subpath, conditions) {
|
|
367
|
+
const map = normalizeExports(exports);
|
|
368
|
+
const exact = map.get(subpath);
|
|
369
|
+
if (exact !== undefined)
|
|
370
|
+
return resolveTargetValue(exact, "", conditions);
|
|
371
|
+
let bestKey = null;
|
|
372
|
+
let bestPrefix = -1;
|
|
373
|
+
for (const key of map.keys()) {
|
|
374
|
+
const star = key.indexOf("*");
|
|
375
|
+
if (star === -1)
|
|
376
|
+
continue;
|
|
377
|
+
const prefix = key.slice(0, star);
|
|
378
|
+
const suffix = key.slice(star + 1);
|
|
379
|
+
if (subpath.length >= prefix.length + suffix.length
|
|
380
|
+
&& subpath.startsWith(prefix)
|
|
381
|
+
&& subpath.endsWith(suffix)
|
|
382
|
+
&& prefix.length > bestPrefix) {
|
|
383
|
+
bestKey = key;
|
|
384
|
+
bestPrefix = prefix.length;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
if (bestKey === null)
|
|
388
|
+
return null;
|
|
389
|
+
const suffixLength = bestKey.length - bestKey.indexOf("*") - 1;
|
|
390
|
+
const matched = subpath.slice(bestPrefix, subpath.length - suffixLength);
|
|
391
|
+
return resolveTargetValue(map.get(bestKey), matched, conditions);
|
|
392
|
+
}
|
|
393
|
+
function normalizeExports(exports) {
|
|
394
|
+
if (typeof exports === "string" || Array.isArray(exports))
|
|
395
|
+
return new Map([[".", exports]]);
|
|
396
|
+
if (exports !== null && typeof exports === "object") {
|
|
397
|
+
const entries = Object.entries(exports);
|
|
398
|
+
if (entries.every(([key]) => key === "." || key.startsWith("./")))
|
|
399
|
+
return new Map(entries);
|
|
400
|
+
return new Map([[".", exports]]);
|
|
401
|
+
}
|
|
402
|
+
return new Map();
|
|
403
|
+
}
|
|
404
|
+
function resolveTargetValue(target, starReplacement, conditions) {
|
|
405
|
+
if (typeof target === "string")
|
|
406
|
+
return target.replaceAll("*", starReplacement);
|
|
407
|
+
if (Array.isArray(target)) {
|
|
408
|
+
for (const item of target) {
|
|
409
|
+
const resolved = resolveTargetValue(item, starReplacement, conditions);
|
|
410
|
+
if (resolved !== null)
|
|
411
|
+
return resolved;
|
|
412
|
+
}
|
|
413
|
+
return null;
|
|
414
|
+
}
|
|
415
|
+
if (target !== null && typeof target === "object") {
|
|
416
|
+
for (const [condition, value] of Object.entries(target)) {
|
|
417
|
+
if (!conditions.has(condition))
|
|
418
|
+
continue;
|
|
419
|
+
const resolved = resolveTargetValue(value, starReplacement, conditions);
|
|
420
|
+
if (resolved !== null)
|
|
421
|
+
return resolved;
|
|
422
|
+
}
|
|
423
|
+
return null;
|
|
424
|
+
}
|
|
425
|
+
return null;
|
|
426
|
+
}
|
|
427
|
+
async function firstExistingFile(candidates) {
|
|
428
|
+
for (const candidate of candidates) {
|
|
429
|
+
try {
|
|
430
|
+
const metadata = await stat(candidate);
|
|
431
|
+
if (metadata.isFile())
|
|
432
|
+
return candidate;
|
|
433
|
+
}
|
|
434
|
+
catch {
|
|
435
|
+
// Try the next candidate spelling.
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
return null;
|
|
439
|
+
}
|
|
440
|
+
function packageNameOf(specifier) {
|
|
441
|
+
const parts = specifier.split("/");
|
|
442
|
+
return specifier.startsWith("@") ? parts.slice(0, 2).join("/") : parts[0] ?? specifier;
|
|
443
|
+
}
|
|
444
|
+
function npmContentType(path) {
|
|
445
|
+
if (path.endsWith(".js") || path.endsWith(".mjs"))
|
|
446
|
+
return "text/javascript; charset=utf-8";
|
|
447
|
+
if (path.endsWith(".json"))
|
|
448
|
+
return "application/json; charset=utf-8";
|
|
449
|
+
if (path.endsWith(".css"))
|
|
450
|
+
return "text/css; charset=utf-8";
|
|
451
|
+
return "application/octet-stream";
|
|
452
|
+
}
|
|
453
|
+
function withBase(base, path) {
|
|
454
|
+
return `${base}${path.replace(/^\/+/, "")}`;
|
|
455
|
+
}
|
|
456
|
+
//# sourceMappingURL=npm.js.map
|
package/dist/npm.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"npm.js","sourceRoot":"","sources":["../src/npm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"official-language-server-extensions.d.ts","sourceRoot":"","sources":["../src/official-language-server-extensions.ts"],"names":[],"mappings":"AASA,wBAAgB,uCAAuC,IAAI,IAAI,CA4B9D"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { velarCompilerExtension as webCompiler, velarProjectExtension as webProject, VELAR_WEB_API_VERSION } from "@velarscript/web/compiler";
|
|
2
|
+
import { velarFrameworkHost as webHost } from "@velarscript/web/host";
|
|
3
|
+
import { velarCompilerExtension as desktopCompiler, velarProjectExtension as desktopProject } from "@velarscript/desktop/compiler";
|
|
4
|
+
import { velarFrameworkHost as desktopHost } from "@velarscript/desktop/host";
|
|
5
|
+
import { VELAR_DESKTOP_API_VERSION } from "@velarscript/desktop";
|
|
6
|
+
import { VELAR_NODE_API_VERSION } from "@velarscript/node/compiler";
|
|
7
|
+
import { registerBundledExtension } from "./bundled-extension-registry.js";
|
|
8
|
+
import { VELAR_VERSION } from "./version.js";
|
|
9
|
+
export function installOfficialLanguageServerExtensions() {
|
|
10
|
+
registerBundledExtension({
|
|
11
|
+
name: "@velarscript/web",
|
|
12
|
+
version: VELAR_VERSION,
|
|
13
|
+
kind: "application",
|
|
14
|
+
apiVersion: VELAR_WEB_API_VERSION,
|
|
15
|
+
manifestKey: "web",
|
|
16
|
+
extends: Object.freeze({}),
|
|
17
|
+
composes: Object.freeze({}),
|
|
18
|
+
compiler: webCompiler,
|
|
19
|
+
project: webProject,
|
|
20
|
+
host: webHost,
|
|
21
|
+
});
|
|
22
|
+
registerBundledExtension({
|
|
23
|
+
name: "@velarscript/desktop",
|
|
24
|
+
version: VELAR_VERSION,
|
|
25
|
+
kind: "application",
|
|
26
|
+
apiVersion: VELAR_DESKTOP_API_VERSION,
|
|
27
|
+
manifestKey: "desktop",
|
|
28
|
+
extends: Object.freeze({}),
|
|
29
|
+
composes: Object.freeze({
|
|
30
|
+
"@velarscript/web": VELAR_WEB_API_VERSION,
|
|
31
|
+
"@velarscript/node": VELAR_NODE_API_VERSION,
|
|
32
|
+
}),
|
|
33
|
+
compiler: desktopCompiler,
|
|
34
|
+
project: desktopProject,
|
|
35
|
+
host: desktopHost,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=official-language-server-extensions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"official-language-server-extensions.js","sourceRoot":"","sources":["../src/official-language-server-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,IAAI,WAAW,EAAE,qBAAqB,IAAI,UAAU,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC9I,OAAO,EAAE,kBAAkB,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,sBAAsB,IAAI,eAAe,EAAE,qBAAqB,IAAI,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACnI,OAAO,EAAE,kBAAkB,IAAI,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,UAAU,uCAAuC;IACrD,wBAAwB,CAAC;QACvB,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,qBAAqB;QACjC,WAAW,EAAE,KAAK;QAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,OAAO;KACd,CAAC,CAAC;IACH,wBAAwB,CAAC;QACvB,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,yBAAyB;QACrC,WAAW,EAAE,SAAS;QACtB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;YACtB,kBAAkB,EAAE,qBAAqB;YACzC,mBAAmB,EAAE,sBAAsB;SAC5C,CAAC;QACF,QAAQ,EAAE,eAAe;QACzB,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,WAAW;KAClB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"official-script-language-service.d.ts","sourceRoot":"","sources":["../src/official-script-language-service.ts"],"names":[],"mappings":"AAGA,wBAAgB,oCAAoC,IAAI,IAAI,CAM3D"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ScriptDocument, ScriptLanguage } from "@velarscript/script-analysis";
|
|
2
|
+
import { registerScriptLanguageService } from "./script-language-service.js";
|
|
3
|
+
export function installOfficialScriptLanguageService() {
|
|
4
|
+
registerScriptLanguageService({
|
|
5
|
+
create(language, text) {
|
|
6
|
+
return new ScriptDocument(language === "typescript" ? ScriptLanguage.typescript : ScriptLanguage.javascript, text);
|
|
7
|
+
},
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=official-script-language-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"official-script-language-service.js","sourceRoot":"","sources":["../src/official-script-language-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,8BAA8B,CAAC;AAE7E,MAAM,UAAU,oCAAoC;IAClD,6BAA6B,CAAC;QAC5B,MAAM,CAAC,QAAQ,EAAE,IAAI;YACnB,OAAO,IAAI,cAAc,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACrH,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"official-tool-assets.d.ts","sourceRoot":"","sources":["../src/official-tool-assets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAQtC,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,CAAC,CA8BjE"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
2
|
+
import { formatDiagnostic } from "@velarscript/compiler";
|
|
3
|
+
import { compileProject } from "./project.js";
|
|
4
|
+
import { standardModuleSource } from "./standard-modules.js";
|
|
5
|
+
const scriptAnalysisEntry = fileURLToPath(new URL("../../script-analysis/src/index.vel", import.meta.url));
|
|
6
|
+
export async function officialToolModulesPlugin() {
|
|
7
|
+
const project = await compileProject(scriptAnalysisEntry, new Map(), {
|
|
8
|
+
sourceRoot: fileURLToPath(new URL("../../script-analysis/src/", import.meta.url)),
|
|
9
|
+
projectRoot: fileURLToPath(new URL("../../script-analysis/", import.meta.url)),
|
|
10
|
+
});
|
|
11
|
+
const failures = [
|
|
12
|
+
...project.failures.map((failure) => `${failure.path}: ${failure.message}`),
|
|
13
|
+
...project.modules.flatMap((module) => module.result.diagnostics
|
|
14
|
+
.map((diagnostic) => formatDiagnostic(module.result.source, diagnostic))),
|
|
15
|
+
];
|
|
16
|
+
if (failures.length > 0)
|
|
17
|
+
throw new Error(`Cannot compile official script-analysis package:\n${failures.join("\n\n")}`);
|
|
18
|
+
const textBufferEntry = project.velarPackages.find((package_) => package_.name === "@velarscript/text-buffer")?.entryPath;
|
|
19
|
+
const modules = new Map([
|
|
20
|
+
["@velarscript/script-analysis", project.modules.find((module) => module.inputPath === scriptAnalysisEntry)?.result.code],
|
|
21
|
+
["@velarscript/text-buffer", project.modules.find((module) => module.inputPath === textBufferEntry)?.result.code],
|
|
22
|
+
]);
|
|
23
|
+
for (const [source, code] of modules)
|
|
24
|
+
if (!code)
|
|
25
|
+
throw new Error(`Official tool package '${source}' did not emit JavaScript`);
|
|
26
|
+
return {
|
|
27
|
+
name: "velar-official-tool-modules",
|
|
28
|
+
setup(build) {
|
|
29
|
+
build.onResolve({ filter: /^velar\// }, (args) => ({ path: args.path, namespace: "velar-standard-module" }));
|
|
30
|
+
build.onLoad({ filter: /.*/, namespace: "velar-standard-module" }, (args) => {
|
|
31
|
+
const contents = standardModuleSource(args.path);
|
|
32
|
+
if (contents === null)
|
|
33
|
+
throw new Error(`Official tool requested unknown standard module '${args.path}'`);
|
|
34
|
+
return { contents, loader: "js" };
|
|
35
|
+
});
|
|
36
|
+
build.onResolve({ filter: /^@velarscript\/(?:script-analysis|text-buffer)$/ }, (args) => ({ path: args.path, namespace: "velar-tool-package" }));
|
|
37
|
+
build.onLoad({ filter: /.*/, namespace: "velar-tool-package" }, (args) => ({ contents: modules.get(args.path), loader: "js" }));
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=official-tool-assets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"official-tool-assets.js","sourceRoot":"","sources":["../src/official-tool-assets.ts"],"names":[],"mappings":"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"}
|