@velarscript/cli 0.24.0 → 0.25.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.
Files changed (36) hide show
  1. package/dist/cli.js +20 -3
  2. package/dist/cli.js.map +1 -1
  3. package/dist/config.d.ts +1 -1
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +71 -1
  6. package/dist/config.js.map +1 -1
  7. package/dist/extension-metadata.d.ts +12 -0
  8. package/dist/extension-metadata.d.ts.map +1 -1
  9. package/dist/extension-metadata.js +38 -2
  10. package/dist/extension-metadata.js.map +1 -1
  11. package/dist/host-error.d.ts +7 -0
  12. package/dist/host-error.d.ts.map +1 -1
  13. package/dist/host-error.js +9 -0
  14. package/dist/host-error.js.map +1 -1
  15. package/dist/language-server-bundle-entry.js +1 -1
  16. package/dist/language-server-bundle-entry.js.map +1 -1
  17. package/dist/language-server-tool.d.ts.map +1 -1
  18. package/dist/language-server-tool.js +34 -0
  19. package/dist/language-server-tool.js.map +1 -1
  20. package/dist/official-language-server-extensions.d.ts +12 -1
  21. package/dist/official-language-server-extensions.d.ts.map +1 -1
  22. package/dist/official-language-server-extensions.js +78 -46
  23. package/dist/official-language-server-extensions.js.map +1 -1
  24. package/dist/project-format.d.ts +1 -1
  25. package/dist/project-format.d.ts.map +1 -1
  26. package/dist/project-format.js +6 -0
  27. package/dist/project-format.js.map +1 -1
  28. package/dist/surface-versions.d.ts +42 -0
  29. package/dist/surface-versions.d.ts.map +1 -0
  30. package/dist/surface-versions.js +72 -0
  31. package/dist/surface-versions.js.map +1 -0
  32. package/dist/version.d.ts +1 -1
  33. package/dist/version.js +1 -1
  34. package/package.json +25 -9
  35. package/skill/ai-skill-server.md +1 -1
  36. package/skill/ai-skill.md +10 -0
@@ -5,6 +5,18 @@ import { type CompilerExtension, type VelarExtensionKind } from "@velarscript/co
5
5
  * to the language rather than to whoever installed a package.
6
6
  */
7
7
  export declare function isToolchainExtensionPackage(name: string): boolean;
8
+ /**
9
+ * D110 rule 1: the surface an official target extension publishes, or null for
10
+ * a package that publishes none.
11
+ *
12
+ * Read off the same roster `isToolchainExtensionPackage` answers from, rather
13
+ * than kept as a second list — the five surfaces and the four official target
14
+ * packages are the same fact twice, and two copies of it would drift. A
15
+ * third-party extension carries its own `velar.extension.apiVersion` and is
16
+ * checked against it, but it is not one of the language's surfaces, so a
17
+ * manifest never declares a version for it.
18
+ */
19
+ export declare function surfaceOfExtensionPackage(name: string): string | null;
8
20
  /**
9
21
  * BLD-U1: the official web application extension's package identity, exported
10
22
  * 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;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"}
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;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAErE;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;AAkFD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,wBAAwB,EAClC,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,GAAG,SAAS,GACvD,iBAAiB,CAYnB"}
@@ -28,6 +28,21 @@ const toolchainExtensionPackages = new Set([
28
28
  export function isToolchainExtensionPackage(name) {
29
29
  return toolchainExtensionPackages.has(name);
30
30
  }
31
+ const TOOLCHAIN_SCOPE = "@velarscript/";
32
+ /**
33
+ * D110 rule 1: the surface an official target extension publishes, or null for
34
+ * a package that publishes none.
35
+ *
36
+ * Read off the same roster `isToolchainExtensionPackage` answers from, rather
37
+ * than kept as a second list — the five surfaces and the four official target
38
+ * packages are the same fact twice, and two copies of it would drift. A
39
+ * third-party extension carries its own `velar.extension.apiVersion` and is
40
+ * checked against it, but it is not one of the language's surfaces, so a
41
+ * manifest never declares a version for it.
42
+ */
43
+ export function surfaceOfExtensionPackage(name) {
44
+ return toolchainExtensionPackages.has(name) ? name.slice(TOOLCHAIN_SCOPE.length) : null;
45
+ }
31
46
  /**
32
47
  * BLD-U1: the official web application extension's package identity, exported
33
48
  * so configuration diagnostics can teach a complete manifest while the CLI
@@ -105,6 +120,12 @@ let toolchainIdentity = null;
105
120
  * `@velarscript/cli` pins every official target extension to its own version
106
121
  * and the release gate refuses a candidate whose pins drift, so these are the
107
122
  * versions whose compiler generation is the one running here.
123
+ *
124
+ * Both dependency sections are read. D111 moved Web, Server and Desktop to
125
+ * optional peers so a project stops installing targets it never declared, and
126
+ * that ruling changed which section the pin lives in, not whether it binds:
127
+ * reading only `dependencies` would have quietly narrowed the generation check
128
+ * below to the one target that stayed there.
108
129
  */
109
130
  async function readToolchainIdentity() {
110
131
  if (toolchainIdentity)
@@ -113,7 +134,7 @@ async function readToolchainIdentity() {
113
134
  const manifestPath = new URL("../package.json", import.meta.url);
114
135
  const manifest = JSON.parse(await readFile(manifestPath, "utf8"));
115
136
  const pins = {};
116
- for (const [name, range] of Object.entries(manifest.dependencies ?? {})) {
137
+ for (const [name, range] of Object.entries({ ...manifest.dependencies, ...manifest.peerDependencies })) {
117
138
  if (typeof range === "string" && PACKAGE_VERSION.test(range))
118
139
  pins[name] = range;
119
140
  }
@@ -150,6 +171,21 @@ async function assertToolchainGeneration(packages) {
150
171
  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
172
  }
152
173
  }
174
+ /**
175
+ * D111 rule 6: a package a project names but never installed is a missing
176
+ * install, not a resolver failure, so the refusal names the package and the
177
+ * command that supplies it. Since Web, Server and Desktop stopped being
178
+ * installed into every project by the CLI, this is the ordinary way a manifest
179
+ * that activates one without depending on it now reaches the toolchain.
180
+ *
181
+ * An official target is named at the exact version this toolchain was built
182
+ * against: a VelarScript toolchain is one generation, and a widened range here
183
+ * would teach the very install `assertToolchainGeneration` exists to refuse.
184
+ */
185
+ async function missingExtensionPackage(name) {
186
+ const pinned = (await readToolchainIdentity()).pins[name];
187
+ return `cannot resolve installed package '${name}'; install it in this project with 'npm install ${pinned === undefined ? name : `${name}@${pinned}`}'`;
188
+ }
153
189
  export function validateLoadedExtension(package_, extension) {
154
190
  if (!extension || extension.id !== package_.name || (extension.createEmitter !== undefined && typeof extension.createEmitter !== "function")) {
155
191
  throw new Error(`'${package_.name}/compiler' does not export a matching velarCompilerExtension`);
@@ -189,7 +225,7 @@ async function readExtensionPackage(require, name, direct, optional, allowToolch
189
225
  };
190
226
  }
191
227
  if (!manifestPath)
192
- throw new Error(`cannot resolve installed package '${name}'`);
228
+ throw new Error(await missingExtensionPackage(name));
193
229
  const information = await stat(manifestPath);
194
230
  if (information.size > MAX_JSON_BYTES)
195
231
  throw new RangeError(`${manifestPath}: package manifest exceeds 1 MiB`);
@@ -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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"}
@@ -2,5 +2,12 @@ export declare function hostErrorMessage(value: unknown): string;
2
2
  export declare function hostErrorStack(value: unknown): string;
3
3
  export declare function hostErrorCode(value: unknown): string | null;
4
4
  export declare function isHostErrorCode(value: unknown, code: string): boolean;
5
+ /**
6
+ * Whether a module load failed because one named package is not installed,
7
+ * rather than because the module it reached threw on its own. Node names the
8
+ * package it could not find, and that name is required to match, so a package
9
+ * that fails for its own reasons is never reported as absent.
10
+ */
11
+ export declare function isMissingHostModule(value: unknown, name: string): boolean;
5
12
  export declare function asHostError(value: unknown): Error;
6
13
  //# sourceMappingURL=host-error.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"host-error.d.ts","sourceRoot":"","sources":["../src/host-error.ts"],"names":[],"mappings":"AA4BA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGrD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE3D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAIjD"}
1
+ {"version":3,"file":"host-error.d.ts","sourceRoot":"","sources":["../src/host-error.ts"],"names":[],"mappings":"AA4BA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUvD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGrD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE3D;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,CAIjD"}
@@ -46,6 +46,15 @@ export function hostErrorCode(value) {
46
46
  export function isHostErrorCode(value, code) {
47
47
  return hostErrorCode(value) === code;
48
48
  }
49
+ /**
50
+ * Whether a module load failed because one named package is not installed,
51
+ * rather than because the module it reached threw on its own. Node names the
52
+ * package it could not find, and that name is required to match, so a package
53
+ * that fails for its own reasons is never reported as absent.
54
+ */
55
+ export function isMissingHostModule(value, name) {
56
+ return isHostErrorCode(value, "ERR_MODULE_NOT_FOUND") && hostErrorMessage(value).includes(`'${name}'`);
57
+ }
49
58
  export function asHostError(value) {
50
59
  return isNativeError(value)
51
60
  ? value
@@ -1 +1 @@
1
- {"version":3,"file":"host-error.js","sourceRoot":"","sources":["../src/host-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,WAAW,GAAG,KAAK,CAAC;AAC1B,MAAM,gBAAgB,GAAG,YAAY,CAAC,aAAa,CAAC;AACpD,MAAM,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC;AAClE,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC,MAAM,0BAA0B,GAAG,EAAE,GAAG,IAAI,CAAC;AAC7C,MAAM,iBAAiB,GAAG,4CAA4C,CAAC;AACvE,MAAM,mBAAmB,GAAG,uCAAuC,CAAC;AAEpE,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,KAAK,CAAC,MAAM,IAAI,0BAA0B;QAC/C,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC,GAAG,CAAC;AACvD,CAAC;AAED,SAAS,SAAS,CAAC,KAAY,EAAE,QAAsC;IACrE,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7D,OAAO,UAAU,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ;QAChF,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC;QAC/B,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,mBAAmB,CAAC;IACpF,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC;IAC1B,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC,KAAe,CAAC,CAAC;IAC3D,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,IAAI,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IAC7C,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtF,OAAO,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,aAAa,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,mBAAmB,CAAC;IACjH,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,IAAY;IAC1D,OAAO,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,aAAa,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,WAAW,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;AACjE,CAAC"}
1
+ {"version":3,"file":"host-error.js","sourceRoot":"","sources":["../src/host-error.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { installOfficialLanguageServerExtensions } from "./official-language-server-extensions.js";
2
2
  import { runLanguageServer } from "./language-server.js";
3
- installOfficialLanguageServerExtensions();
3
+ await installOfficialLanguageServerExtensions();
4
4
  await runLanguageServer();
5
5
  //# sourceMappingURL=language-server-bundle-entry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"language-server-bundle-entry.js","sourceRoot":"","sources":["../src/language-server-bundle-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,uCAAuC,EAAE,CAAC;AAC1C,MAAM,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"language-server-bundle-entry.js","sourceRoot":"","sources":["../src/language-server-bundle-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,uCAAuC,EAAE,CAAC;AAChD,MAAM,iBAAiB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"language-server-tool.d.ts","sourceRoot":"","sources":["../src/language-server-tool.ts"],"names":[],"mappings":"AAKA,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB/E"}
1
+ {"version":3,"file":"language-server-tool.d.ts","sourceRoot":"","sources":["../src/language-server-tool.ts"],"names":[],"mappings":"AAsCA,wBAAsB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAmB/E"}
@@ -2,6 +2,39 @@ import { chmod, mkdir } from "node:fs/promises";
2
2
  import { dirname, resolve } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
4
  import { build } from "esbuild";
5
+ /**
6
+ * D111 rule 3: Web, Server and Desktop are optional peers of the CLI, so the
7
+ * language server bundles the ones this project resolves and leaves out the
8
+ * ones it does not have. A resolvable target is inlined exactly as before; an
9
+ * absent one stays a bare runtime import, which fails where
10
+ * `installOfficialLanguageServerExtensions` catches it and skips the target.
11
+ *
12
+ * Resolvability is asked of esbuild's own resolver rather than answered from a
13
+ * second copy of Node's algorithm, so the verdict is the one the bundle would
14
+ * actually get. The marker keeps the re-entrant `build.resolve` from asking us
15
+ * again about the same specifier.
16
+ */
17
+ const optionalOfficialTargets = {
18
+ name: "velar-optional-official-targets",
19
+ setup(build) {
20
+ const resolving = Symbol("velar-optional-official-target");
21
+ // esbuild filters are Go regular expressions, so this one carries no `u`
22
+ // flag and escapes nothing: both would reach the bundler as syntax it
23
+ // rejects.
24
+ build.onResolve({ filter: new RegExp("^@velarscript/(?:web|server|desktop)(?:/|$)") }, async (argument) => {
25
+ if (argument.pluginData === resolving)
26
+ return null;
27
+ const resolved = await build.resolve(argument.path, {
28
+ kind: argument.kind,
29
+ importer: argument.importer,
30
+ resolveDir: argument.resolveDir,
31
+ namespace: argument.namespace,
32
+ pluginData: resolving,
33
+ });
34
+ return resolved.errors.length > 0 ? { path: argument.path, external: true } : resolved;
35
+ });
36
+ },
37
+ };
5
38
  export async function buildLanguageServerTool(outputFile) {
6
39
  outputFile = resolve(outputFile);
7
40
  const sourceExtension = import.meta.url.endsWith(".ts") ? "ts" : "js";
@@ -18,6 +51,7 @@ export async function buildLanguageServerTool(outputFile) {
18
51
  sourcemap: false,
19
52
  legalComments: "none",
20
53
  logLevel: "silent",
54
+ plugins: [optionalOfficialTargets],
21
55
  });
22
56
  await chmod(outputFile, 0o644);
23
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"language-server-tool.js","sourceRoot":"","sources":["../src/language-server-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,UAAkB;IAC9D,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,CAAC;QACV,WAAW,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,kCAAkC,eAAe,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3G,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,QAAQ;KACnB,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"language-server-tool.js","sourceRoot":"","sources":["../src/language-server-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAe,MAAM,SAAS,CAAC;AAE7C;;;;;;;;;;;GAWG;AACH,MAAM,uBAAuB,GAAW;IACtC,IAAI,EAAE,iCAAiC;IACvC,KAAK,CAAC,KAAK;QACT,MAAM,SAAS,GAAG,MAAM,CAAC,gCAAgC,CAAC,CAAC;QAC3D,yEAAyE;QACzE,sEAAsE;QACtE,WAAW;QACX,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,MAAM,CAAC,6CAA6C,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YACxG,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;gBAClD,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,UAAU,EAAE,SAAS;aACtB,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,UAAkB;IAC9D,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,CAAC;QACV,WAAW,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,kCAAkC,eAAe,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3G,OAAO,EAAE,UAAU;QACnB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,WAAW,EAAE,IAAI;QACjB,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,MAAM;QACrB,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,CAAC,uBAAuB,CAAC;KACnC,CAAC,CAAC;IACH,MAAM,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC"}
@@ -1,2 +1,13 @@
1
- export declare function installOfficialLanguageServerExtensions(): void;
1
+ /**
2
+ * D111 rule 3: the language server registers the official targets it can
3
+ * resolve, and skips the ones this project never installed.
4
+ *
5
+ * `@velarscript/node` is a CLI dependency, so it is always present and is
6
+ * imported statically. Web, Server and Desktop are optional peers, so each is
7
+ * loaded on its own: the bundler inlines the ones it resolves and leaves the
8
+ * rest as a runtime import that fails here. An absent target is not an error
9
+ * and produces no warning — a project that never declared Desktop should not be
10
+ * offered Desktop completions, so there is nothing to report.
11
+ */
12
+ export declare function installOfficialLanguageServerExtensions(): Promise<void>;
2
13
  //# sourceMappingURL=official-language-server-extensions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"official-language-server-extensions.d.ts","sourceRoot":"","sources":["../src/official-language-server-extensions.ts"],"names":[],"mappings":"AAkBA,wBAAgB,uCAAuC,IAAI,IAAI,CAoD9D"}
1
+ {"version":3,"file":"official-language-server-extensions.d.ts","sourceRoot":"","sources":["../src/official-language-server-extensions.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;GAUG;AACH,wBAAsB,uCAAuC,IAAI,OAAO,CAAC,IAAI,CAAC,CAyE7E"}
@@ -1,13 +1,18 @@
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
1
  import { VELAR_NODE_API_VERSION, velarCompilerExtension as nodeCompiler, velarProjectExtension as nodeProject, } from "@velarscript/node/compiler";
7
- import { VELAR_SERVER_API_VERSION, velarCompilerExtension as serverCompiler, velarProjectExtension as serverProject, } from "@velarscript/server/compiler";
8
2
  import { registerBundledExtension } from "./bundled-extension-registry.js";
9
3
  import { VELAR_VERSION } from "./version.js";
10
- export function installOfficialLanguageServerExtensions() {
4
+ /**
5
+ * D111 rule 3: the language server registers the official targets it can
6
+ * resolve, and skips the ones this project never installed.
7
+ *
8
+ * `@velarscript/node` is a CLI dependency, so it is always present and is
9
+ * imported statically. Web, Server and Desktop are optional peers, so each is
10
+ * loaded on its own: the bundler inlines the ones it resolves and leaves the
11
+ * rest as a runtime import that fails here. An absent target is not an error
12
+ * and produces no warning — a project that never declared Desktop should not be
13
+ * offered Desktop completions, so there is nothing to report.
14
+ */
15
+ export async function installOfficialLanguageServerExtensions() {
11
16
  registerBundledExtension({
12
17
  name: "@velarscript/node",
13
18
  version: VELAR_VERSION,
@@ -20,44 +25,71 @@ export function installOfficialLanguageServerExtensions() {
20
25
  project: nodeProject,
21
26
  host: null,
22
27
  });
23
- registerBundledExtension({
24
- name: "@velarscript/server",
25
- version: VELAR_VERSION,
26
- kind: "application",
27
- apiVersion: VELAR_SERVER_API_VERSION,
28
- manifestKey: "server",
29
- extends: Object.freeze({}),
30
- composes: Object.freeze({ "@velarscript/node": VELAR_NODE_API_VERSION }),
31
- compiler: serverCompiler,
32
- project: serverProject,
33
- host: null,
34
- });
35
- registerBundledExtension({
36
- name: "@velarscript/web",
37
- version: VELAR_VERSION,
38
- kind: "application",
39
- apiVersion: VELAR_WEB_API_VERSION,
40
- manifestKey: "web",
41
- extends: Object.freeze({}),
42
- composes: Object.freeze({}),
43
- compiler: webCompiler,
44
- project: webProject,
45
- host: webHost,
46
- });
47
- registerBundledExtension({
48
- name: "@velarscript/desktop",
49
- version: VELAR_VERSION,
50
- kind: "application",
51
- apiVersion: VELAR_DESKTOP_API_VERSION,
52
- manifestKey: "desktop",
53
- extends: Object.freeze({}),
54
- composes: Object.freeze({
55
- "@velarscript/web": VELAR_WEB_API_VERSION,
56
- "@velarscript/node": VELAR_NODE_API_VERSION,
57
- }),
58
- compiler: desktopCompiler,
59
- project: desktopProject,
60
- host: desktopHost,
61
- });
28
+ const server = await resolvedTarget(() => import("@velarscript/server/compiler"));
29
+ if (server) {
30
+ registerBundledExtension({
31
+ name: "@velarscript/server",
32
+ version: VELAR_VERSION,
33
+ kind: "application",
34
+ apiVersion: server.VELAR_SERVER_API_VERSION,
35
+ manifestKey: "server",
36
+ extends: Object.freeze({}),
37
+ composes: Object.freeze({ "@velarscript/node": VELAR_NODE_API_VERSION }),
38
+ compiler: server.velarCompilerExtension,
39
+ project: server.velarProjectExtension,
40
+ host: null,
41
+ });
42
+ }
43
+ // A target is registered from its own resolved modules or not at all: half a
44
+ // target — a compiler extension with no framework host — is not something the
45
+ // language server can answer with.
46
+ const web = await resolvedTarget(() => import("@velarscript/web/compiler"));
47
+ const webHost = web === null ? null : await resolvedTarget(() => import("@velarscript/web/host"));
48
+ if (web && webHost) {
49
+ registerBundledExtension({
50
+ name: "@velarscript/web",
51
+ version: VELAR_VERSION,
52
+ kind: "application",
53
+ apiVersion: web.VELAR_WEB_API_VERSION,
54
+ manifestKey: "web",
55
+ extends: Object.freeze({}),
56
+ composes: Object.freeze({}),
57
+ compiler: web.velarCompilerExtension,
58
+ project: web.velarProjectExtension,
59
+ host: webHost.velarFrameworkHost,
60
+ });
61
+ }
62
+ // Desktop composes Web, and the API version it composes is the installed Web
63
+ // package's own. A Desktop without a resolvable Web therefore has nothing
64
+ // truthful to declare, so it is skipped with it.
65
+ const desktop = web === null ? null : await resolvedTarget(() => import("@velarscript/desktop/compiler"));
66
+ const desktopApi = desktop === null ? null : await resolvedTarget(() => import("@velarscript/desktop"));
67
+ const desktopHost = desktop === null ? null : await resolvedTarget(() => import("@velarscript/desktop/host"));
68
+ if (web && desktop && desktopApi && desktopHost) {
69
+ registerBundledExtension({
70
+ name: "@velarscript/desktop",
71
+ version: VELAR_VERSION,
72
+ kind: "application",
73
+ apiVersion: desktopApi.VELAR_DESKTOP_API_VERSION,
74
+ manifestKey: "desktop",
75
+ extends: Object.freeze({}),
76
+ composes: Object.freeze({
77
+ "@velarscript/web": web.VELAR_WEB_API_VERSION,
78
+ "@velarscript/node": VELAR_NODE_API_VERSION,
79
+ }),
80
+ compiler: desktop.velarCompilerExtension,
81
+ project: desktop.velarProjectExtension,
82
+ host: desktopHost.velarFrameworkHost,
83
+ });
84
+ }
85
+ }
86
+ /** One optional target module, or null when this project did not install it. */
87
+ async function resolvedTarget(load) {
88
+ try {
89
+ return await load();
90
+ }
91
+ catch {
92
+ return null;
93
+ }
62
94
  }
63
95
  //# sourceMappingURL=official-language-server-extensions.js.map
@@ -1 +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,EACL,sBAAsB,EACtB,sBAAsB,IAAI,YAAY,EACtC,qBAAqB,IAAI,WAAW,GACrC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,wBAAwB,EACxB,sBAAsB,IAAI,cAAc,EACxC,qBAAqB,IAAI,aAAa,GACvC,MAAM,8BAA8B,CAAC;AACtC,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,mBAAmB;QACzB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,sBAAsB;QAClC,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;IACH,wBAAwB,CAAC;QACvB,IAAI,EAAE,qBAAqB;QAC3B,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,aAAa;QACnB,UAAU,EAAE,wBAAwB;QACpC,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAC,mBAAmB,EAAE,sBAAsB,EAAC,CAAC;QACtE,QAAQ,EAAE,cAAc;QACxB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;IACH,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"}
1
+ {"version":3,"file":"official-language-server-extensions.js","sourceRoot":"","sources":["../src/official-language-server-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,IAAI,YAAY,EACtC,qBAAqB,IAAI,WAAW,GACrC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,uCAAuC;IAC3D,wBAAwB,CAAC;QACvB,IAAI,EAAE,mBAAmB;QACzB,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,sBAAsB;QAClC,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,QAAQ,EAAE,YAAY;QACtB,OAAO,EAAE,WAAW;QACpB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAClF,IAAI,MAAM,EAAE,CAAC;QACX,wBAAwB,CAAC;YACvB,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,MAAM,CAAC,wBAAwB;YAC3C,WAAW,EAAE,QAAQ;YACrB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAC,mBAAmB,EAAE,sBAAsB,EAAC,CAAC;YACtE,QAAQ,EAAE,MAAM,CAAC,sBAAsB;YACvC,OAAO,EAAE,MAAM,CAAC,qBAAqB;YACrC,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,8EAA8E;IAC9E,mCAAmC;IACnC,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAC5E,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAClG,IAAI,GAAG,IAAI,OAAO,EAAE,CAAC;QACnB,wBAAwB,CAAC;YACvB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,GAAG,CAAC,qBAAqB;YACrC,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,QAAQ,EAAE,GAAG,CAAC,sBAAsB;YACpC,OAAO,EAAE,GAAG,CAAC,qBAAqB;YAClC,IAAI,EAAE,OAAO,CAAC,kBAAkB;SACjC,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IAC7E,0EAA0E;IAC1E,iDAAiD;IACjD,MAAM,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAC1G,MAAM,UAAU,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACxG,MAAM,WAAW,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAC9G,IAAI,GAAG,IAAI,OAAO,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;QAChD,wBAAwB,CAAC;YACvB,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,aAAa;YACtB,IAAI,EAAE,aAAa;YACnB,UAAU,EAAE,UAAU,CAAC,yBAAyB;YAChD,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtB,kBAAkB,EAAE,GAAG,CAAC,qBAAqB;gBAC7C,mBAAmB,EAAE,sBAAsB;aAC5C,CAAC;YACF,QAAQ,EAAE,OAAO,CAAC,sBAAsB;YACxC,OAAO,EAAE,OAAO,CAAC,qBAAqB;YACtC,IAAI,EAAE,WAAW,CAAC,kBAAkB;SACrC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,KAAK,UAAU,cAAc,CAAI,IAAsB;IACrD,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export declare const CURRENT_PROJECT_FORMAT_VERSION = 2;
2
- export declare const CORE_PROJECT_MANIFEST_FIELDS: readonly ["formatVersion", "kind", "entry", "outDir", "publicDir", "build", "extensions", "workers"];
2
+ export declare const CORE_PROJECT_MANIFEST_FIELDS: readonly ["formatVersion", "kind", "entry", "outDir", "publicDir", "build", "extensions", "workers", "surfaces"];
3
3
  /** Internal standard-module config carrying logical worker names to output paths. */
4
4
  export { CORE_WORKER_CONFIG_KEY } from "@velarscript/core";
5
5
  export declare function isReservedExtensionManifestKey(value: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"project-format.d.ts","sourceRoot":"","sources":["../src/project-format.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,eAAO,MAAM,4BAA4B,sGAS9B,CAAC;AAEZ,qFAAqF;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAS3D,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAItE"}
1
+ {"version":3,"file":"project-format.d.ts","sourceRoot":"","sources":["../src/project-format.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,eAAO,MAAM,4BAA4B,kHAe9B,CAAC;AAEZ,qFAAqF;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAS3D,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErE;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAItE"}
@@ -8,6 +8,12 @@ export const CORE_PROJECT_MANIFEST_FIELDS = Object.freeze([
8
8
  "build",
9
9
  "extensions",
10
10
  "workers",
11
+ // D110 rule 5. Optional, and deliberately not a `formatVersion` bump: the key
12
+ // is additive, so every manifest written before it keeps loading. Making it
13
+ // mandatory would be formatVersion 2 → 3, and that is a separate ruling the
14
+ // decision explicitly declines to make — in practice every manifest in this
15
+ // repository carries it, and a format break buys nothing on top of that.
16
+ "surfaces",
11
17
  ]);
12
18
  /** Internal standard-module config carrying logical worker names to output paths. */
13
19
  export { CORE_WORKER_CONFIG_KEY } from "@velarscript/core";
@@ -1 +1 @@
1
- {"version":3,"file":"project-format.js","sourceRoot":"","sources":["../src/project-format.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC;IACxD,eAAe;IACf,MAAM;IACN,OAAO;IACP,QAAQ;IACR,WAAW;IACX,OAAO;IACP,YAAY;IACZ,SAAS;CACD,CAAC,CAAC;AAEZ,qFAAqF;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAS;IACpD,GAAG,4BAA4B;IAC/B,WAAW;IACX,aAAa;IACb,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,OAAO,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,aAAa,GAAG,8BAA8B;QACnD,CAAC,CAAC,6BAA6B,aAAa,yCAAyC,8BAA8B,6BAA6B;QAChJ,CAAC,CAAC,6BAA6B,aAAa,4CAA4C,8BAA8B,GAAG,CAAC;AAC9H,CAAC"}
1
+ {"version":3,"file":"project-format.js","sourceRoot":"","sources":["../src/project-format.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC;AAEhD,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC;IACxD,eAAe;IACf,MAAM;IACN,OAAO;IACP,QAAQ;IACR,WAAW;IACX,OAAO;IACP,YAAY;IACZ,SAAS;IACT,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,yEAAyE;IACzE,UAAU;CACF,CAAC,CAAC;AAEZ,qFAAqF;AACrF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAS;IACpD,GAAG,4BAA4B;IAC/B,WAAW;IACX,aAAa;IACb,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,UAAU,8BAA8B,CAAC,KAAa;IAC1D,OAAO,6BAA6B,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,aAAqB;IAC5D,OAAO,aAAa,GAAG,8BAA8B;QACnD,CAAC,CAAC,6BAA6B,aAAa,yCAAyC,8BAA8B,6BAA6B;QAChJ,CAAC,CAAC,6BAA6B,aAAa,4CAA4C,8BAA8B,GAAG,CAAC;AAC9H,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * D110 — one installation number, five surface versions.
3
+ *
4
+ * `VELAR_VERSION` is the number you install. It steps for every package at
5
+ * once, so it cannot say which of the five observable surfaces actually moved:
6
+ * Desktop's surface sat still for several releases while its package climbed
7
+ * with everybody else's. The surface versions answer the question an upgrade
8
+ * really raises — *which code do I have to re-read?*
9
+ *
10
+ * Every number here is read from the package that owns the surface. None of
11
+ * them is written down twice: D110's background is a website that accumulated
12
+ * two dozen hand-typed release numbers and had every one of them go stale in a
13
+ * single release, and a hand-typed number is the failure this whole mechanism
14
+ * exists to remove. `scripts/check-surface-versions.mjs` hashes each surface
15
+ * and refuses a change that leaves its number behind.
16
+ *
17
+ * `0.N`'s `N` counts how many times that surface has changed since counting
18
+ * began, and it is not a maturity grade: a low number beside a high one means
19
+ * that surface started counting later, and nothing else.
20
+ *
21
+ * The four target constants are imported *lazily*, and that is not an
22
+ * optimization detail — it is the difference between this file costing one
23
+ * command and costing all of them. Reading Web's, Server's and Desktop's
24
+ * numbers means loading three compiler extensions the CLI otherwise touches
25
+ * only when a project activates them, and a static import here would put that
26
+ * on the start of `velar check` and every other command for the sake of a
27
+ * banner almost none of them print. Core's constant is already loaded, because
28
+ * the compiler always is.
29
+ *
30
+ * Three of those four are also optional now (D111): a project installs the
31
+ * targets it declares, so a Core project has no Web, Server or Desktop package
32
+ * to read a number out of. The banner answers for the installation it is in —
33
+ * the same reading `velar.json`'s `surfaces` check already takes, where the
34
+ * installed packages, not the CLI's own pins, decide what a project activates.
35
+ * A surface with nothing installed to speak for it is left out rather than
36
+ * printed from a number written down here, which is exactly the second copy
37
+ * this file exists to avoid.
38
+ */
39
+ export declare function readSurfaceVersions(): Promise<Readonly<Record<string, string>>>;
40
+ /** One line, three spaces between entries: `core@<n> web@<n> …`. */
41
+ export declare function formatSurfaceVersions(): Promise<string>;
42
+ //# sourceMappingURL=surface-versions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-versions.d.ts","sourceRoot":"","sources":["../src/surface-versions.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAcrF;AAWD,wEAAwE;AACxE,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,CAG7D"}