@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.
Files changed (228) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +117 -0
  3. package/dist/application-package-host.d.ts +5 -0
  4. package/dist/application-package-host.d.ts.map +1 -0
  5. package/dist/application-package-host.js +67 -0
  6. package/dist/application-package-host.js.map +1 -0
  7. package/dist/bounded-text.d.ts +2 -0
  8. package/dist/bounded-text.d.ts.map +1 -0
  9. package/dist/bounded-text.js +13 -0
  10. package/dist/bounded-text.js.map +1 -0
  11. package/dist/browser-process-owner.d.ts +15 -0
  12. package/dist/browser-process-owner.d.ts.map +1 -0
  13. package/dist/browser-process-owner.js +151 -0
  14. package/dist/browser-process-owner.js.map +1 -0
  15. package/dist/browser-test-runner.d.ts +11 -0
  16. package/dist/browser-test-runner.d.ts.map +1 -0
  17. package/dist/browser-test-runner.js +1022 -0
  18. package/dist/browser-test-runner.js.map +1 -0
  19. package/dist/build-engine-tool.d.ts +3 -0
  20. package/dist/build-engine-tool.d.ts.map +1 -0
  21. package/dist/build-engine-tool.js +34 -0
  22. package/dist/build-engine-tool.js.map +1 -0
  23. package/dist/build-staging.d.ts +3 -0
  24. package/dist/build-staging.d.ts.map +1 -0
  25. package/dist/build-staging.js +3 -0
  26. package/dist/build-staging.js.map +1 -0
  27. package/dist/bundled-application-package-host-registry.d.ts +10 -0
  28. package/dist/bundled-application-package-host-registry.d.ts.map +1 -0
  29. package/dist/bundled-application-package-host-registry.js +16 -0
  30. package/dist/bundled-application-package-host-registry.js.map +1 -0
  31. package/dist/bundled-extension-registry.d.ts +22 -0
  32. package/dist/bundled-extension-registry.d.ts.map +1 -0
  33. package/dist/bundled-extension-registry.js +10 -0
  34. package/dist/bundled-extension-registry.js.map +1 -0
  35. package/dist/canonical-path.d.ts +3 -0
  36. package/dist/canonical-path.d.ts.map +1 -0
  37. package/dist/canonical-path.js +30 -0
  38. package/dist/canonical-path.js.map +1 -0
  39. package/dist/cli.d.ts +3 -0
  40. package/dist/cli.d.ts.map +1 -0
  41. package/dist/cli.js +1274 -0
  42. package/dist/cli.js.map +1 -0
  43. package/dist/config.d.ts +26 -0
  44. package/dist/config.d.ts.map +1 -0
  45. package/dist/config.js +403 -0
  46. package/dist/config.js.map +1 -0
  47. package/dist/deployment-verifier.d.ts +34 -0
  48. package/dist/deployment-verifier.d.ts.map +1 -0
  49. package/dist/deployment-verifier.js +260 -0
  50. package/dist/deployment-verifier.js.map +1 -0
  51. package/dist/dev-server.d.ts +3 -0
  52. package/dist/dev-server.d.ts.map +1 -0
  53. package/dist/dev-server.js +464 -0
  54. package/dist/dev-server.js.map +1 -0
  55. package/dist/embedded-modules.d.ts +17 -0
  56. package/dist/embedded-modules.d.ts.map +1 -0
  57. package/dist/embedded-modules.js +33 -0
  58. package/dist/embedded-modules.js.map +1 -0
  59. package/dist/extension-metadata.d.ts +23 -0
  60. package/dist/extension-metadata.d.ts.map +1 -0
  61. package/dist/extension-metadata.js +254 -0
  62. package/dist/extension-metadata.js.map +1 -0
  63. package/dist/file-integrity.d.ts +7 -0
  64. package/dist/file-integrity.d.ts.map +1 -0
  65. package/dist/file-integrity.js +14 -0
  66. package/dist/file-integrity.js.map +1 -0
  67. package/dist/framework-host.d.ts +12 -0
  68. package/dist/framework-host.d.ts.map +1 -0
  69. package/dist/framework-host.js +46 -0
  70. package/dist/framework-host.js.map +1 -0
  71. package/dist/host-error.d.ts +6 -0
  72. package/dist/host-error.d.ts.map +1 -0
  73. package/dist/host-error.js +54 -0
  74. package/dist/host-error.js.map +1 -0
  75. package/dist/installed-package.d.ts +9 -0
  76. package/dist/installed-package.d.ts.map +1 -0
  77. package/dist/installed-package.js +23 -0
  78. package/dist/installed-package.js.map +1 -0
  79. package/dist/language-server-bundle-entry.d.ts +2 -0
  80. package/dist/language-server-bundle-entry.d.ts.map +1 -0
  81. package/dist/language-server-bundle-entry.js +7 -0
  82. package/dist/language-server-bundle-entry.js.map +1 -0
  83. package/dist/language-server-tool.d.ts +3 -0
  84. package/dist/language-server-tool.d.ts.map +1 -0
  85. package/dist/language-server-tool.js +30 -0
  86. package/dist/language-server-tool.js.map +1 -0
  87. package/dist/language-server.d.ts +9 -0
  88. package/dist/language-server.d.ts.map +1 -0
  89. package/dist/language-server.js +1733 -0
  90. package/dist/language-server.js.map +1 -0
  91. package/dist/mechanical-fixer.d.ts +30 -0
  92. package/dist/mechanical-fixer.d.ts.map +1 -0
  93. package/dist/mechanical-fixer.js +103 -0
  94. package/dist/mechanical-fixer.js.map +1 -0
  95. package/dist/module-assets.d.ts +11 -0
  96. package/dist/module-assets.d.ts.map +1 -0
  97. package/dist/module-assets.js +90 -0
  98. package/dist/module-assets.js.map +1 -0
  99. package/dist/npm.d.ts +23 -0
  100. package/dist/npm.d.ts.map +1 -0
  101. package/dist/npm.js +456 -0
  102. package/dist/npm.js.map +1 -0
  103. package/dist/official-language-server-extensions.d.ts +2 -0
  104. package/dist/official-language-server-extensions.d.ts.map +1 -0
  105. package/dist/official-language-server-extensions.js +38 -0
  106. package/dist/official-language-server-extensions.js.map +1 -0
  107. package/dist/official-script-language-service.d.ts +2 -0
  108. package/dist/official-script-language-service.d.ts.map +1 -0
  109. package/dist/official-script-language-service.js +10 -0
  110. package/dist/official-script-language-service.js.map +1 -0
  111. package/dist/official-tool-assets.d.ts +3 -0
  112. package/dist/official-tool-assets.d.ts.map +1 -0
  113. package/dist/official-tool-assets.js +41 -0
  114. package/dist/official-tool-assets.js.map +1 -0
  115. package/dist/ownership-graph.d.ts +46 -0
  116. package/dist/ownership-graph.d.ts.map +1 -0
  117. package/dist/ownership-graph.js +255 -0
  118. package/dist/ownership-graph.js.map +1 -0
  119. package/dist/package-manager.d.ts +20 -0
  120. package/dist/package-manager.d.ts.map +1 -0
  121. package/dist/package-manager.js +345 -0
  122. package/dist/package-manager.js.map +1 -0
  123. package/dist/packaged-official-tool.d.ts +8 -0
  124. package/dist/packaged-official-tool.d.ts.map +1 -0
  125. package/dist/packaged-official-tool.js +32 -0
  126. package/dist/packaged-official-tool.js.map +1 -0
  127. package/dist/preview-server.d.ts +11 -0
  128. package/dist/preview-server.d.ts.map +1 -0
  129. package/dist/preview-server.js +163 -0
  130. package/dist/preview-server.js.map +1 -0
  131. package/dist/production-build.d.ts +57 -0
  132. package/dist/production-build.d.ts.map +1 -0
  133. package/dist/production-build.js +332 -0
  134. package/dist/production-build.js.map +1 -0
  135. package/dist/production-verifier.d.ts +9 -0
  136. package/dist/production-verifier.d.ts.map +1 -0
  137. package/dist/production-verifier.js +268 -0
  138. package/dist/production-verifier.js.map +1 -0
  139. package/dist/program-runner.d.ts +7 -0
  140. package/dist/program-runner.d.ts.map +1 -0
  141. package/dist/program-runner.js +98 -0
  142. package/dist/program-runner.js.map +1 -0
  143. package/dist/project-check.d.ts +31 -0
  144. package/dist/project-check.d.ts.map +1 -0
  145. package/dist/project-check.js +95 -0
  146. package/dist/project-check.js.map +1 -0
  147. package/dist/project-format.d.ts +6 -0
  148. package/dist/project-format.d.ts.map +1 -0
  149. package/dist/project-format.js +21 -0
  150. package/dist/project-format.js.map +1 -0
  151. package/dist/project-semantic.d.ts +62 -0
  152. package/dist/project-semantic.d.ts.map +1 -0
  153. package/dist/project-semantic.js +1079 -0
  154. package/dist/project-semantic.js.map +1 -0
  155. package/dist/project-session.d.ts +36 -0
  156. package/dist/project-session.d.ts.map +1 -0
  157. package/dist/project-session.js +339 -0
  158. package/dist/project-session.js.map +1 -0
  159. package/dist/project-task-bundle-entry.d.ts +2 -0
  160. package/dist/project-task-bundle-entry.d.ts.map +1 -0
  161. package/dist/project-task-bundle-entry.js +18 -0
  162. package/dist/project-task-bundle-entry.js.map +1 -0
  163. package/dist/project-task-invocation.d.ts +16 -0
  164. package/dist/project-task-invocation.d.ts.map +1 -0
  165. package/dist/project-task-invocation.js +72 -0
  166. package/dist/project-task-invocation.js.map +1 -0
  167. package/dist/project-task-tool.d.ts +3 -0
  168. package/dist/project-task-tool.d.ts.map +1 -0
  169. package/dist/project-task-tool.js +61 -0
  170. package/dist/project-task-tool.js.map +1 -0
  171. package/dist/project.d.ts +71 -0
  172. package/dist/project.d.ts.map +1 -0
  173. package/dist/project.js +1750 -0
  174. package/dist/project.js.map +1 -0
  175. package/dist/reproduction.d.ts +50 -0
  176. package/dist/reproduction.d.ts.map +1 -0
  177. package/dist/reproduction.js +321 -0
  178. package/dist/reproduction.js.map +1 -0
  179. package/dist/script-language-service.d.ts +82 -0
  180. package/dist/script-language-service.d.ts.map +1 -0
  181. package/dist/script-language-service.js +18 -0
  182. package/dist/script-language-service.js.map +1 -0
  183. package/dist/source-limits.d.ts +5 -0
  184. package/dist/source-limits.d.ts.map +1 -0
  185. package/dist/source-limits.js +19 -0
  186. package/dist/source-limits.js.map +1 -0
  187. package/dist/standalone-build.d.ts +15 -0
  188. package/dist/standalone-build.d.ts.map +1 -0
  189. package/dist/standalone-build.js +76 -0
  190. package/dist/standalone-build.js.map +1 -0
  191. package/dist/standard-modules.d.ts +22 -0
  192. package/dist/standard-modules.d.ts.map +1 -0
  193. package/dist/standard-modules.js +3066 -0
  194. package/dist/standard-modules.js.map +1 -0
  195. package/dist/static-deployment.d.ts +48 -0
  196. package/dist/static-deployment.d.ts.map +1 -0
  197. package/dist/static-deployment.js +142 -0
  198. package/dist/static-deployment.js.map +1 -0
  199. package/dist/test-output.d.ts +20 -0
  200. package/dist/test-output.d.ts.map +1 -0
  201. package/dist/test-output.js +119 -0
  202. package/dist/test-output.js.map +1 -0
  203. package/dist/test-runner.d.ts +13 -0
  204. package/dist/test-runner.d.ts.map +1 -0
  205. package/dist/test-runner.js +226 -0
  206. package/dist/test-runner.js.map +1 -0
  207. package/dist/typescript-declarations.d.ts +20 -0
  208. package/dist/typescript-declarations.d.ts.map +1 -0
  209. package/dist/typescript-declarations.js +1609 -0
  210. package/dist/typescript-declarations.js.map +1 -0
  211. package/dist/uncaught-program-error.d.ts +24 -0
  212. package/dist/uncaught-program-error.d.ts.map +1 -0
  213. package/dist/uncaught-program-error.js +105 -0
  214. package/dist/uncaught-program-error.js.map +1 -0
  215. package/dist/unowned-errors.d.ts +56 -0
  216. package/dist/unowned-errors.d.ts.map +1 -0
  217. package/dist/unowned-errors.js +82 -0
  218. package/dist/unowned-errors.js.map +1 -0
  219. package/dist/version.d.ts +3 -0
  220. package/dist/version.d.ts.map +1 -0
  221. package/dist/version.js +3 -0
  222. package/dist/version.js.map +1 -0
  223. package/dist/workspace-index.d.ts +78 -0
  224. package/dist/workspace-index.d.ts.map +1 -0
  225. package/dist/workspace-index.js +493 -0
  226. package/dist/workspace-index.js.map +1 -0
  227. package/package.json +45 -0
  228. package/skill/ai-skill.md +749 -0
@@ -0,0 +1,82 @@
1
+ export type ScriptLanguage = "javascript" | "typescript";
2
+ export type ScriptTokenKind = "identifier" | "keyword" | "number" | "string" | "template" | "regexp" | "comment" | "punctuation" | "operator";
3
+ export type ScriptDiagnosticSeverity = "error" | "warning";
4
+ export type ScriptSymbolKind = "variable" | "constant" | "function" | "parameter" | "class" | "interface" | "type" | "enum" | "import";
5
+ export interface ScriptSpan {
6
+ readonly start: number;
7
+ readonly end: number;
8
+ }
9
+ export interface ScriptToken extends ScriptSpan {
10
+ readonly kind: ScriptTokenKind;
11
+ readonly text: string;
12
+ }
13
+ export interface ScriptDiagnostic extends ScriptSpan {
14
+ readonly code: string;
15
+ readonly message: string;
16
+ readonly severity: ScriptDiagnosticSeverity;
17
+ }
18
+ export interface ScriptSymbol extends ScriptSpan {
19
+ readonly id: number;
20
+ readonly name: string;
21
+ readonly kind: ScriptSymbolKind;
22
+ readonly scopeStart: number;
23
+ readonly scopeEnd: number;
24
+ readonly type: string;
25
+ }
26
+ export interface ScriptReference extends ScriptSpan {
27
+ readonly symbolId: number;
28
+ readonly write: boolean;
29
+ }
30
+ export interface ScriptCompletion {
31
+ readonly label: string;
32
+ readonly kind: ScriptSymbolKind;
33
+ readonly detail: string;
34
+ }
35
+ export interface ScriptHover extends ScriptSpan {
36
+ readonly contents: string;
37
+ }
38
+ export interface ScriptEdit extends ScriptSpan {
39
+ readonly replacement: string;
40
+ }
41
+ export interface ScriptRename {
42
+ readonly placeholder: string | null;
43
+ readonly edits: readonly ScriptEdit[];
44
+ readonly error: string | null;
45
+ }
46
+ export interface ScriptAnalysis {
47
+ readonly tokens: readonly ScriptToken[];
48
+ readonly diagnostics: readonly ScriptDiagnostic[];
49
+ readonly symbols: readonly ScriptSymbol[];
50
+ readonly references: readonly ScriptReference[];
51
+ }
52
+ export interface ScriptActivity {
53
+ readonly revision: number;
54
+ readonly incremental: boolean;
55
+ readonly restartOffset: number;
56
+ readonly codePointsRead: number;
57
+ readonly tokensReused: number;
58
+ readonly totalTokens: number;
59
+ }
60
+ export interface ScriptDocumentOwner {
61
+ readonly language: ScriptLanguage;
62
+ readonly revision: number;
63
+ readonly text: string;
64
+ analysis(): ScriptAnalysis;
65
+ activity(): ScriptActivity;
66
+ update(text: string): ScriptActivity;
67
+ apply(edits: readonly ScriptEdit[]): ScriptActivity;
68
+ tokenAt(offset: number): ScriptToken | null;
69
+ symbolAt(offset: number): ScriptSymbol | null;
70
+ definitionAt(offset: number): ScriptSpan | null;
71
+ referencesAt(offset: number, includeDeclaration?: boolean): readonly ScriptSpan[];
72
+ hoverAt(offset: number): ScriptHover | null;
73
+ completionsAt(offset: number): readonly ScriptCompletion[];
74
+ renameAt(offset: number, replacement: string): ScriptRename;
75
+ }
76
+ export interface ScriptLanguageServiceProvider {
77
+ create(language: ScriptLanguage, text: string): ScriptDocumentOwner;
78
+ }
79
+ export declare function registerScriptLanguageService(value: ScriptLanguageServiceProvider): void;
80
+ export declare function createScriptLanguageDocument(language: ScriptLanguage, text: string): ScriptDocumentOwner | null;
81
+ export declare function scriptLanguageFor(path: string, languageId: string): ScriptLanguage | null;
82
+ //# sourceMappingURL=script-language-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-language-service.d.ts","sourceRoot":"","sources":["../src/script-language-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ let provider = null;
2
+ export function registerScriptLanguageService(value) {
3
+ if (provider && provider !== value)
4
+ throw new Error("Only one official script language service may be registered");
5
+ provider = value;
6
+ }
7
+ export function createScriptLanguageDocument(language, text) {
8
+ return provider?.create(language, text) ?? null;
9
+ }
10
+ export function scriptLanguageFor(path, languageId) {
11
+ const normalized = languageId.toLowerCase();
12
+ if (normalized === "javascript" || normalized === "javascriptreact" || /\.(?:js|mjs|cjs|jsx)$/iu.test(path))
13
+ return "javascript";
14
+ if (normalized === "typescript" || normalized === "typescriptreact" || /\.(?:ts|mts|cts|tsx)$/iu.test(path))
15
+ return "typescript";
16
+ return null;
17
+ }
18
+ //# sourceMappingURL=script-language-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"script-language-service.js","sourceRoot":"","sources":["../src/script-language-service.ts"],"names":[],"mappings":"AA4FA,IAAI,QAAQ,GAAyC,IAAI,CAAC;AAE1D,MAAM,UAAU,6BAA6B,CAAC,KAAoC;IAChF,IAAI,QAAQ,IAAI,QAAQ,KAAK,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACnH,QAAQ,GAAG,KAAK,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,QAAwB,EAAE,IAAY;IACjF,OAAO,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,UAAkB;IAChE,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,iBAAiB,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACjI,IAAI,UAAU,KAAK,YAAY,IAAI,UAAU,KAAK,iBAAiB,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC;IACjI,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const MAX_VELAR_SOURCE_BYTES: number;
2
+ export declare const MAX_VELAR_PROJECT_MODULES = 4096;
3
+ export declare function validateVelarSourceText(text: string, path: string): string;
4
+ export declare function readVelarSourceFile(path: string): Promise<string>;
5
+ //# sourceMappingURL=source-limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-limits.d.ts","sourceRoot":"","sources":["../src/source-limits.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,sBAAsB,QAAkB,CAAC;AACtD,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAE9C,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK1E;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAKvE"}
@@ -0,0 +1,19 @@
1
+ import { readFile, stat } from "node:fs/promises";
2
+ import { MAX_VELAR_SOURCE_CODE_UNITS } from "@velarscript/compiler";
3
+ export const MAX_VELAR_SOURCE_BYTES = 4 * 1024 * 1024;
4
+ export const MAX_VELAR_PROJECT_MODULES = 4096;
5
+ export function validateVelarSourceText(text, path) {
6
+ if (text.length > MAX_VELAR_SOURCE_CODE_UNITS || Buffer.byteLength(text, "utf8") > MAX_VELAR_SOURCE_BYTES) {
7
+ throw new RangeError(`${path} exceeds the 4 MiB VelarScript source-module limit`);
8
+ }
9
+ return text;
10
+ }
11
+ export async function readVelarSourceFile(path) {
12
+ const metadata = await stat(path);
13
+ if (!metadata.isFile())
14
+ throw new Error(`${path} is not a regular source file`);
15
+ if (metadata.size > MAX_VELAR_SOURCE_BYTES)
16
+ throw new RangeError(`${path} exceeds the 4 MiB VelarScript source-module limit`);
17
+ return validateVelarSourceText(await readFile(path, "utf8"), path);
18
+ }
19
+ //# sourceMappingURL=source-limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-limits.js","sourceRoot":"","sources":["../src/source-limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AACtD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC;AAE9C,MAAM,UAAU,uBAAuB,CAAC,IAAY,EAAE,IAAY;IAChE,IAAI,IAAI,CAAC,MAAM,GAAG,2BAA2B,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,sBAAsB,EAAE,CAAC;QAC1G,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,oDAAoD,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY;IACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,+BAA+B,CAAC,CAAC;IAChF,IAAI,QAAQ,CAAC,IAAI,GAAG,sBAAsB;QAAE,MAAM,IAAI,UAAU,CAAC,GAAG,IAAI,oDAAoD,CAAC,CAAC;IAC9H,OAAO,uBAAuB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;AACrE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { CompileResult } from "@velarscript/compiler";
2
+ export interface StandaloneJavaScriptOutput {
3
+ readonly code: string;
4
+ readonly sourceMap: string;
5
+ }
6
+ /** True when Node would otherwise have to search outside the emitted tree. */
7
+ export declare function needsStandaloneJavaScriptBundle(result: CompileResult): boolean;
8
+ /**
9
+ * A single-file `--out` is a deployable program, not a pointer back into the
10
+ * source project's node_modules. Bundle only its host-package edges; Node
11
+ * builtins and the generated `velar/*` runtime remain owned by the host and by
12
+ * writeNodeStandardModules respectively.
13
+ */
14
+ export declare function bundleStandaloneJavaScript(outputPath: string, result: CompileResult): Promise<StandaloneJavaScriptOutput>;
15
+ //# sourceMappingURL=standalone-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone-build.d.ts","sourceRoot":"","sources":["../src/standalone-build.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,8EAA8E;AAC9E,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAO9E;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,0BAA0B,CAAC,CAsDrC"}
@@ -0,0 +1,76 @@
1
+ import { isBuiltin } from "node:module";
2
+ import { dirname, resolve } from "node:path";
3
+ import { build } from "esbuild";
4
+ /** True when Node would otherwise have to search outside the emitted tree. */
5
+ export function needsStandaloneJavaScriptBundle(result) {
6
+ return result.dependencies.some((dependency) => dependency.javascript
7
+ && !dependency.source.startsWith(".")
8
+ && !dependency.source.startsWith("/")
9
+ && !dependency.source.startsWith("data:")
10
+ && !dependency.source.startsWith("velar/")
11
+ && !isBuiltin(dependency.source));
12
+ }
13
+ /**
14
+ * A single-file `--out` is a deployable program, not a pointer back into the
15
+ * source project's node_modules. Bundle only its host-package edges; Node
16
+ * builtins and the generated `velar/*` runtime remain owned by the host and by
17
+ * writeNodeStandardModules respectively.
18
+ */
19
+ export async function bundleStandaloneJavaScript(outputPath, result) {
20
+ const embeddedByPath = new Map(result.embeddedModules.map((module) => [
21
+ resolve(dirname(result.source.path), module.specifier),
22
+ module,
23
+ ]));
24
+ const embeddedPlugin = {
25
+ name: "velar-standalone-embedded-javascript",
26
+ setup(context) {
27
+ context.onResolve({ filter: /^\.\.?\// }, (arguments_) => {
28
+ const path = resolve(arguments_.resolveDir, arguments_.path);
29
+ return embeddedByPath.has(path) ? { path, namespace: "velar-embedded" } : null;
30
+ });
31
+ context.onLoad({ filter: /.*/, namespace: "velar-embedded" }, (arguments_) => {
32
+ const embedded = embeddedByPath.get(resolve(arguments_.path));
33
+ if (!embedded)
34
+ return { errors: [{ text: `Embedded JavaScript module '${arguments_.path}' was not compiled` }] };
35
+ const sourceMap = embedded.sourceMap
36
+ ? `\n//# sourceMappingURL=data:application/json;base64,${Buffer.from(embedded.sourceMap).toString("base64")}\n`
37
+ : "";
38
+ return {
39
+ contents: `${embedded.code}${sourceMap}`,
40
+ loader: "js",
41
+ resolveDir: dirname(result.source.path),
42
+ };
43
+ });
44
+ },
45
+ };
46
+ const sourceMap = result.sourceMap
47
+ ? `\n//# sourceMappingURL=data:application/json;base64,${Buffer.from(result.sourceMap).toString("base64")}\n`
48
+ : "";
49
+ const bundled = await build({
50
+ absWorkingDir: dirname(result.source.path),
51
+ bundle: true,
52
+ external: ["velar/*"],
53
+ format: "esm",
54
+ logLevel: "silent",
55
+ outfile: outputPath,
56
+ packages: "bundle",
57
+ platform: "node",
58
+ plugins: [embeddedPlugin],
59
+ sourcemap: "external",
60
+ sourcesContent: true,
61
+ stdin: {
62
+ contents: `${result.code ?? ""}${sourceMap}`,
63
+ loader: "js",
64
+ resolveDir: dirname(result.source.path),
65
+ sourcefile: result.source.path,
66
+ },
67
+ target: "node24",
68
+ write: false,
69
+ });
70
+ const output = bundled.outputFiles?.find((file) => resolve(file.path) === resolve(outputPath));
71
+ const map = bundled.outputFiles?.find((file) => resolve(file.path) === resolve(`${outputPath}.map`));
72
+ if (!output || !map)
73
+ throw new Error("The standalone JavaScript bundler did not emit the program and its source map");
74
+ return { code: output.text, sourceMap: map.text };
75
+ }
76
+ //# sourceMappingURL=standalone-build.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone-build.js","sourceRoot":"","sources":["../src/standalone-build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { type CompilerExtension, type ModuleInterface } from "@velarscript/compiler";
2
+ export declare const VELAR_WORKER_MANIFEST_MODULE = "velar/worker-manifest";
3
+ export declare function standardModuleInterfaces(extensions?: readonly CompilerExtension[]): ReadonlyMap<string, ModuleInterface>;
4
+ export declare function isStandardModule(source: string, extensions?: readonly CompilerExtension[]): boolean;
5
+ export declare function standardModuleInterface(source: string, extensions?: readonly CompilerExtension[]): ModuleInterface | null;
6
+ export declare const STANDARD_MODULE_ADAPTER_DEPENDENCIES: ReadonlyMap<string, {
7
+ readonly packageName: string;
8
+ readonly version: string;
9
+ }>;
10
+ export declare function standardModuleSources(extensions?: readonly CompilerExtension[]): ReadonlyMap<string, string>;
11
+ export declare function standardModuleRoute(source: string): string;
12
+ export interface StandardModuleApi {
13
+ readonly standardVersion: string;
14
+ readonly extensions: Readonly<Record<string, string>>;
15
+ readonly modules: Readonly<Record<string, readonly string[]>>;
16
+ }
17
+ export declare function standardModuleApi(extensions?: readonly CompilerExtension[]): StandardModuleApi;
18
+ export declare function standardModuleSource(source: string, projectConfig?: unknown, extensions?: readonly CompilerExtension[]): string | null;
19
+ export declare function standardModuleDependencies(source: string, projectConfig?: unknown, extensions?: readonly CompilerExtension[]): readonly string[] | null;
20
+ export declare function standardModuleClosure(roots: Iterable<string>, projectConfig?: unknown, extensions?: readonly CompilerExtension[]): ReadonlySet<string>;
21
+ export declare function standardModuleAsset(pathname: string, projectConfig?: unknown, extensions?: readonly CompilerExtension[]): string | null;
22
+ //# sourceMappingURL=standard-modules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standard-modules.d.ts","sourceRoot":"","sources":["../src/standard-modules.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EAErB,MAAM,uBAAuB,CAAC;AAiC/B,eAAO,MAAM,4BAA4B,0BAA0B,CAAC;AA0hBpE,wBAAgB,wBAAwB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAM5H;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,OAAO,CAEvG;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,eAAe,GAAG,IAAI,CAM7H;AAi7ED,eAAO,MAAM,oCAAoC,EAAE,WAAW,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAI/H,CAAC;AAEH,wBAAgB,qBAAqB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAMhH;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;CAC/D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,iBAAiB,CAQlG;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,MAAM,GAAG,IAAI,CAgBf;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,SAAS,MAAM,EAAE,GAAG,IAAI,CAO1B;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,WAAW,CAAC,MAAM,CAAC,CAerB;AAuBD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,MAAM,GAAG,IAAI,CAGf"}