@velarscript/web 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 (95) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +89 -0
  3. package/dist/analyzer.d.ts +302 -0
  4. package/dist/analyzer.d.ts.map +1 -0
  5. package/dist/analyzer.js +2931 -0
  6. package/dist/analyzer.js.map +1 -0
  7. package/dist/ast.d.ts +220 -0
  8. package/dist/ast.d.ts.map +1 -0
  9. package/dist/ast.js +102 -0
  10. package/dist/ast.js.map +1 -0
  11. package/dist/browser-test.d.ts +29 -0
  12. package/dist/browser-test.d.ts.map +1 -0
  13. package/dist/browser-test.js +33 -0
  14. package/dist/browser-test.js.map +1 -0
  15. package/dist/compiler.d.ts +9 -0
  16. package/dist/compiler.d.ts.map +1 -0
  17. package/dist/compiler.js +715 -0
  18. package/dist/compiler.js.map +1 -0
  19. package/dist/css-tokens.d.ts +46 -0
  20. package/dist/css-tokens.d.ts.map +1 -0
  21. package/dist/css-tokens.js +363 -0
  22. package/dist/css-tokens.js.map +1 -0
  23. package/dist/editor.d.ts +3 -0
  24. package/dist/editor.d.ts.map +1 -0
  25. package/dist/editor.js +147 -0
  26. package/dist/editor.js.map +1 -0
  27. package/dist/elements.d.ts +11 -0
  28. package/dist/elements.d.ts.map +1 -0
  29. package/dist/elements.js +24 -0
  30. package/dist/elements.js.map +1 -0
  31. package/dist/emitter.d.ts +79 -0
  32. package/dist/emitter.d.ts.map +1 -0
  33. package/dist/emitter.js +2699 -0
  34. package/dist/emitter.js.map +1 -0
  35. package/dist/host.d.ts +7 -0
  36. package/dist/host.d.ts.map +1 -0
  37. package/dist/host.js +224 -0
  38. package/dist/host.js.map +1 -0
  39. package/dist/index.d.ts +11 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +23 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/inspection.d.ts +3 -0
  44. package/dist/inspection.d.ts.map +1 -0
  45. package/dist/inspection.js +82 -0
  46. package/dist/inspection.js.map +1 -0
  47. package/dist/keyframes.d.ts +16 -0
  48. package/dist/keyframes.d.ts.map +1 -0
  49. package/dist/keyframes.js +29 -0
  50. package/dist/keyframes.js.map +1 -0
  51. package/dist/lexer.d.ts +85 -0
  52. package/dist/lexer.d.ts.map +1 -0
  53. package/dist/lexer.js +422 -0
  54. package/dist/lexer.js.map +1 -0
  55. package/dist/look-static.d.ts +31 -0
  56. package/dist/look-static.d.ts.map +1 -0
  57. package/dist/look-static.js +266 -0
  58. package/dist/look-static.js.map +1 -0
  59. package/dist/look.d.ts +134 -0
  60. package/dist/look.d.ts.map +1 -0
  61. package/dist/look.js +627 -0
  62. package/dist/look.js.map +1 -0
  63. package/dist/parser.d.ts +71 -0
  64. package/dist/parser.d.ts.map +1 -0
  65. package/dist/parser.js +976 -0
  66. package/dist/parser.js.map +1 -0
  67. package/dist/project-config.d.ts +33 -0
  68. package/dist/project-config.d.ts.map +1 -0
  69. package/dist/project-config.js +199 -0
  70. package/dist/project-config.js.map +1 -0
  71. package/dist/runtime-foundation.d.ts +7 -0
  72. package/dist/runtime-foundation.d.ts.map +1 -0
  73. package/dist/runtime-foundation.js +1245 -0
  74. package/dist/runtime-foundation.js.map +1 -0
  75. package/dist/runtime.d.ts +7 -0
  76. package/dist/runtime.d.ts.map +1 -0
  77. package/dist/runtime.js +3444 -0
  78. package/dist/runtime.js.map +1 -0
  79. package/dist/semantic.d.ts +3 -0
  80. package/dist/semantic.d.ts.map +1 -0
  81. package/dist/semantic.js +150 -0
  82. package/dist/semantic.js.map +1 -0
  83. package/dist/types.d.ts +56 -0
  84. package/dist/types.d.ts.map +1 -0
  85. package/dist/types.js +178 -0
  86. package/dist/types.js.map +1 -0
  87. package/dist/websocket-runtime.d.ts +2 -0
  88. package/dist/websocket-runtime.d.ts.map +1 -0
  89. package/dist/websocket-runtime.js +30 -0
  90. package/dist/websocket-runtime.js.map +1 -0
  91. package/dist/worker-runtime.d.ts +2 -0
  92. package/dist/worker-runtime.d.ts.map +1 -0
  93. package/dist/worker-runtime.js +72 -0
  94. package/dist/worker-runtime.js.map +1 -0
  95. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../src/emitter.ts"],"names":[],"mappings":"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"}
package/dist/host.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import { type FrameworkHostArtifacts, type FrameworkHostArtifactsInput, type FrameworkHostErrorDocumentInput, type FrameworkHostExtension, type FrameworkRequiredPublicAsset, type FrameworkStaticDeployment } from "@velarscript/compiler/framework-host";
2
+ export declare function createWebArtifacts(input: FrameworkHostArtifactsInput): FrameworkHostArtifacts;
3
+ export declare function webStaticDeployment(config: unknown): FrameworkStaticDeployment;
4
+ export declare function webRequiredPublicAssets(config: unknown): readonly FrameworkRequiredPublicAsset[];
5
+ export declare function createWebErrorDocument(input: FrameworkHostErrorDocumentInput): string;
6
+ export declare const velarFrameworkHost: FrameworkHostExtension;
7
+ //# sourceMappingURL=host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,EAChC,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,yBAAyB,EAC/B,MAAM,sCAAsC,CAAC;AAK9C,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,2BAA2B,GAAG,sBAAsB,CA8H7F;AAqBD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,GAAG,yBAAyB,CAQ9E;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,4BAA4B,EAAE,CAGhG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,+BAA+B,GAAG,MAAM,CAKrF;AAED,eAAO,MAAM,kBAAkB,EAAE,sBAyB/B,CAAC"}
package/dist/host.js ADDED
@@ -0,0 +1,224 @@
1
+ import { VELAR_FRAMEWORK_HOST_PROTOCOL_VERSION, } from "@velarscript/compiler/framework-host";
2
+ import { BROWSER_TEST_SOURCE_SUFFIX } from "./browser-test.js";
3
+ import { VELAR_WEB_API_VERSION } from "./compiler.js";
4
+ import { WEB_ICON_TYPES, webIconType } from "./project-config.js";
5
+ export function createWebArtifacts(input) {
6
+ const config = webConfig(input.config);
7
+ const styles = input.styles;
8
+ const entryModule = withBase(config.base, input.entryPath);
9
+ const reload = input.development ? `
10
+ <script type="module">
11
+ const entry = ${JSON.stringify(entryModule)}
12
+ const eventsUrl = ${JSON.stringify(withBase(config.base, "__velar/events"))}
13
+ const mapUrl = ${JSON.stringify(withBase(config.base, "__velar/map"))}
14
+ let revision = 0
15
+ globalThis.__velarHotDisposers = []
16
+ // D70 rule 180: the runtime detects a frozen reactive read that has since
17
+ // diverged; the development host is what turns its capture site back into
18
+ // a .vel line, through the same map endpoint the error overlay uses. The
19
+ // hook is published before the entry module loads, and its absence is
20
+ // what makes a production build carry none of the detection.
21
+ //
22
+ // Only the reading line is mapped, and only the first frame that is the
23
+ // author's. An error overlay maps a whole stack because a whole stack is
24
+ // what the reader needs there; here the answer is one line, and asking the
25
+ // map endpoint about the compiler's own frames would answer nothing while
26
+ // filling the console with failed requests of its own.
27
+ const reportedFrozenReads = new Set()
28
+ const frozenReadSite = async (stack) => {
29
+ for (const line of String(stack).split("\\n")) {
30
+ if (line.includes("__velar")) continue
31
+ const frame = /https?:\\/\\/[^\\s)]+?\\.js(?:\\?[^:\\s)]*)?:(\\d+):(\\d+)/.exec(line)
32
+ if (!frame) continue
33
+ try {
34
+ const parsed = new URL(frame[0].replace(/:(\\d+):(\\d+)$/, ""))
35
+ const response = await fetch(mapUrl + "?file=" + encodeURIComponent(parsed.pathname) + "&line=" + frame[1] + "&column=" + frame[2])
36
+ if (!response.ok) return frame[0]
37
+ const source = await response.json()
38
+ return source.path + ":" + source.line + ":" + source.column
39
+ } catch { return frame[0] }
40
+ }
41
+ return "an unmapped position"
42
+ }
43
+ globalThis.__velarDevelopmentHooks = {
44
+ frozenRead: async (report) => {
45
+ if (reportedFrozenReads.has(report.stack)) return
46
+ reportedFrozenReads.add(report.stack)
47
+ console.warn("VelarScript: " + report.message + "\\n read at " + (await frozenReadSite(report.stack)))
48
+ },
49
+ }
50
+ const overlay = document.createElement("section")
51
+ overlay.setAttribute("data-velar-error-overlay", "")
52
+ overlay.style.cssText = "position:fixed;inset:0;z-index:2147483647;overflow:auto;background:rgba(15,15,18,.96);color:#fee2e2;padding:28px;font:14px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;display:none"
53
+ document.body.append(overlay)
54
+ const showError = (title, message) => {
55
+ overlay.textContent = title + "\\n\\n" + message
56
+ overlay.style.display = "block"
57
+ }
58
+ const hideError = () => {
59
+ overlay.style.display = "none"
60
+ overlay.textContent = ""
61
+ }
62
+ const mapStack = async (value) => {
63
+ const stack = String(value?.stack || value?.message || value)
64
+ const frames = [...stack.matchAll(/https?:\\/\\/[^\\s)]+?\\.js(?:\\?[^:\\s)]*)?:(\\d+):(\\d+)/g)]
65
+ let mapped = stack
66
+ for (const frame of frames) {
67
+ try {
68
+ const parsed = new URL(frame[0].replace(/:(\\d+):(\\d+)$/, ""))
69
+ const response = await fetch(mapUrl + "?file=" + encodeURIComponent(parsed.pathname) + "&line=" + frame[1] + "&column=" + frame[2])
70
+ if (!response.ok) continue
71
+ const source = await response.json()
72
+ mapped = mapped.replace(frame[0], source.path + ":" + source.line + ":" + source.column)
73
+ } catch {}
74
+ }
75
+ return mapped
76
+ }
77
+ const load = async () => {
78
+ reportedFrozenReads.clear()
79
+ for (const dispose of globalThis.__velarHotDisposers.splice(0)) dispose()
80
+ await import(entry + "?velar=" + revision)
81
+ }
82
+ addEventListener("error", async (event) => showError("VelarScript runtime error", await mapStack(event.error || event.message)))
83
+ addEventListener("unhandledrejection", async (event) => showError("VelarScript unhandled rejection", await mapStack(event.reason)))
84
+ try { await load() } catch (error) { showError("VelarScript runtime error", await mapStack(error)) }
85
+ new EventSource(eventsUrl).addEventListener("reload", async (event) => {
86
+ const update = JSON.parse(event.data)
87
+ if (update.errors.length) {
88
+ showError("VelarScript compile error", update.errors.join("\\n\\n"))
89
+ return
90
+ }
91
+ revision = update.revision
92
+ const stylesheet = document.querySelector("[data-velar-styles]")
93
+ if (stylesheet) stylesheet.href = ${JSON.stringify(withBase(config.base, "styles.css"))} + "?velar=" + revision
94
+ try {
95
+ await load()
96
+ hideError()
97
+ } catch (error) {
98
+ showError("VelarScript runtime error", await mapStack(error))
99
+ }
100
+ })
101
+ </script>` : `
102
+ <script type="module" src="${entryModule}"></script>`;
103
+ const stylesheet = input.stylesheetPath && (styles || input.development)
104
+ ? `\n <link data-velar-styles rel="stylesheet" href="${withBase(config.base, input.stylesheetPath)}">`
105
+ : "";
106
+ const importMap = Object.keys(input.imports).length > 0
107
+ ? `\n <script type="importmap">${JSON.stringify({ imports: input.imports })}</script>`
108
+ : "";
109
+ const security = !input.development && config.security.contentSecurityPolicy
110
+ ? `\n <meta http-equiv="Content-Security-Policy" content="${escapeHtml(contentSecurityPolicy(config))}">\n <meta name="referrer" content="no-referrer">`
111
+ : "";
112
+ const icon = iconLink(config);
113
+ return {
114
+ entryModule,
115
+ css: styles,
116
+ html: `<!doctype html>
117
+ <html lang="en">
118
+ <head>
119
+ <meta charset="UTF-8">${security}
120
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
121
+ ${icon}
122
+ <title>${escapeHtml(config.title)}</title>${stylesheet}${importMap}
123
+ </head>
124
+ <body>
125
+ <div id="app"></div>
126
+ ${reload}
127
+ </body>
128
+ </html>
129
+ `,
130
+ };
131
+ }
132
+ /**
133
+ * `web.icon` names a file under `publicDir`; the CLI fails the build when that
134
+ * file is absent, so the emitted href always resolves. Without the setting the
135
+ * document keeps `data:,` — an empty inline icon, not an oversight: it stops the
136
+ * browser from requesting `/favicon.ico` on its own, which is the right default
137
+ * offline and under a strict Content-Security-Policy.
138
+ */
139
+ function iconLink(config) {
140
+ if (!config.icon)
141
+ return `<link rel="icon" href="data:,">`;
142
+ const type = webIconType(config.icon);
143
+ // Manifest validation closes the extension set, so an icon with no media type
144
+ // means the configuration never went through it. Refuse rather than write
145
+ // type="undefined" into a document nobody would think to re-read.
146
+ if (!type)
147
+ throw new TypeError(`@velarscript/web host cannot type the icon '${config.icon}'; 'web.icon' accepts ${[...WEB_ICON_TYPES.keys()].join(", ")}`);
148
+ return `<link rel="icon" type="${type}" href="${escapeHtml(withBase(config.base, config.icon))}">`;
149
+ }
150
+ const WEB_STRUCTURAL_STYLES = ":where(*,*::before,*::after){box-sizing:border-box}\n:where(html,body,#app){min-block-size:100%}\n:where(body){margin:0}\n:where(button,input,textarea,select){font:inherit}";
151
+ export function webStaticDeployment(config) {
152
+ const web = webConfig(config);
153
+ return Object.freeze({
154
+ base: web.base,
155
+ spaFallback: web.deployment.spaFallback,
156
+ adapter: web.deployment.adapter,
157
+ contentSecurityPolicy: web.security.contentSecurityPolicy ? contentSecurityPolicy(web, true) : null,
158
+ });
159
+ }
160
+ export function webRequiredPublicAssets(config) {
161
+ const icon = webConfig(config).icon;
162
+ return Object.freeze(icon ? [Object.freeze({ field: "web.icon", path: icon })] : []);
163
+ }
164
+ export function createWebErrorDocument(input) {
165
+ const config = webConfig(input.config);
166
+ const escaped = input.errors.join("\n\n").replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;");
167
+ const eventsUrl = withBase(config.base, "__velar/events");
168
+ return `<!doctype html><html><head><meta charset="UTF-8"><title>VelarScript build error</title><style>body{font:15px/1.55 ui-monospace,monospace;margin:0;padding:32px;background:#171717;color:#fee2e2}pre{white-space:pre-wrap}</style></head><body><h1>VelarScript build error</h1><pre>${escaped}</pre><script>new EventSource(${JSON.stringify(eventsUrl)}).addEventListener("reload",(event)=>{if(JSON.parse(event.data).errors.length===0)location.reload()})</script></body></html>`;
169
+ }
170
+ export const velarFrameworkHost = Object.freeze({
171
+ protocolVersion: VELAR_FRAMEWORK_HOST_PROTOCOL_VERSION,
172
+ id: "@velarscript/web",
173
+ capability: "web",
174
+ displayName: "Web",
175
+ target: "browser",
176
+ apiVersion: VELAR_WEB_API_VERSION,
177
+ artifactKind: "velar-web-build",
178
+ base(config) {
179
+ return webConfig(config).base;
180
+ },
181
+ sourceMaps(config) {
182
+ return webConfig(config).build.sourceMaps;
183
+ },
184
+ prepareStyles(_config, styles) {
185
+ return [WEB_STRUCTURAL_STYLES, styles].filter(Boolean).join("\n\n") + "\n";
186
+ },
187
+ createArtifacts: createWebArtifacts,
188
+ createErrorDocument: createWebErrorDocument,
189
+ staticDeployment: webStaticDeployment,
190
+ requiredPublicAssets: webRequiredPublicAssets,
191
+ browserTests: Object.freeze({
192
+ sourceSuffix: BROWSER_TEST_SOURCE_SUFFIX,
193
+ runtimeKey: "velar.browser.test.v1",
194
+ }),
195
+ });
196
+ function webConfig(value) {
197
+ if (!value || typeof value !== "object")
198
+ throw new TypeError("@velarscript/web host requires its validated project configuration");
199
+ return value;
200
+ }
201
+ function contentSecurityPolicy(config, includeFrameAncestors = false) {
202
+ const connect = ["'self'", ...config.security.connectSources].join(" ");
203
+ const images = ["'self'", "data:", ...config.security.imageSources].join(" ");
204
+ return [
205
+ "default-src 'none'",
206
+ "base-uri 'none'",
207
+ "object-src 'none'",
208
+ "script-src 'self'",
209
+ "style-src 'self'",
210
+ "style-src-attr 'unsafe-inline'",
211
+ `img-src ${images}`,
212
+ `connect-src ${connect}`,
213
+ "font-src 'self'",
214
+ "form-action 'self'",
215
+ ...(includeFrameAncestors ? ["frame-ancestors 'none'"] : []),
216
+ ].join("; ");
217
+ }
218
+ function withBase(base, path) {
219
+ return `${base}${path.replace(/^\/+/, "")}`;
220
+ }
221
+ function escapeHtml(value) {
222
+ return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;");
223
+ }
224
+ //# sourceMappingURL=host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export { VELAR_WEB_API_VERSION } from "./compiler.ts";
2
+ export declare const VELAR_WEB_MODULES: readonly ["velar/look", "velar/app", "velar/config", "velar/web", "velar/forms", "velar/http", "velar/storage", "velar/browser", "velar/files", "velar/realtime", "velar/web-test"];
3
+ export interface VelarWebFrameworkManifest {
4
+ readonly name: "@velarscript/web";
5
+ readonly apiVersion: string;
6
+ readonly modules: typeof VELAR_WEB_MODULES;
7
+ }
8
+ export declare const velarWebFramework: VelarWebFrameworkManifest;
9
+ export { webModuleSource, webModuleSources, type VelarWebRuntimeConfig } from "./runtime.ts";
10
+ export { velarProjectExtension, type VelarWebConfig } from "./project-config.ts";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,eAAO,MAAM,iBAAiB,qLAYnB,CAAC;AAEZ,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,OAAO,iBAAiB,CAAC;CAC5C;AAED,eAAO,MAAM,iBAAiB,EAAE,yBAI9B,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ import { VELAR_WEB_API_VERSION } from "./compiler.js";
2
+ export { VELAR_WEB_API_VERSION } from "./compiler.js";
3
+ export const VELAR_WEB_MODULES = Object.freeze([
4
+ "velar/look",
5
+ "velar/app",
6
+ "velar/config",
7
+ "velar/web",
8
+ "velar/forms",
9
+ "velar/http",
10
+ "velar/storage",
11
+ "velar/browser",
12
+ "velar/files",
13
+ "velar/realtime",
14
+ "velar/web-test",
15
+ ]);
16
+ export const velarWebFramework = Object.freeze({
17
+ name: "@velarscript/web",
18
+ apiVersion: VELAR_WEB_API_VERSION,
19
+ modules: VELAR_WEB_MODULES,
20
+ });
21
+ export { webModuleSource, webModuleSources } from "./runtime.js";
22
+ export { velarProjectExtension } from "./project-config.js";
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7C,YAAY;IACZ,WAAW;IACX,cAAc;IACd,WAAW;IACX,aAAa;IACb,YAAY;IACZ,eAAe;IACf,eAAe;IACf,aAAa;IACb,gBAAgB;IAChB,gBAAgB;CACR,CAAC,CAAC;AAQZ,MAAM,CAAC,MAAM,iBAAiB,GAA8B,MAAM,CAAC,MAAM,CAAC;IACxE,IAAI,EAAE,kBAAkB;IACxB,UAAU,EAAE,qBAAqB;IACjC,OAAO,EAAE,iBAAiB;CAC3B,CAAC,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAA8B,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,qBAAqB,EAAuB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type CompilerInspectionExtension } from "@velarscript/compiler/extension";
2
+ export declare const velarWebInspectionExtension: CompilerInspectionExtension;
3
+ //# sourceMappingURL=inspection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection.d.ts","sourceRoot":"","sources":["../src/inspection.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,2BAA2B,EAMjC,MAAM,iCAAiC,CAAC;AA8DzC,eAAO,MAAM,2BAA2B,EAAE,2BAuBxC,CAAC"}
@@ -0,0 +1,82 @@
1
+ import {} from "@velarscript/compiler/extension";
2
+ import { optionalOf } from "@velarscript/compiler";
3
+ import { LOOK_UNIT_TYPES } from "./look.js";
4
+ import { exportedLookStaticValues, lookStaticIdentity } from "./look-static.js";
5
+ import { isWebJsx, isWebKeyframes, isWebLook, isWebStatement, isWebUnit } from "./ast.js";
6
+ import { isWebComponentConstructor, isWebComputedExport, WEB_COMPUTED_EXPORT, webComponentConstructor, webNodeType } from "./types.js";
7
+ function contributeInterface(statement, context) {
8
+ if (!isWebStatement(statement))
9
+ return false;
10
+ if (statement.kind === "ExtensionStatement:web:action") {
11
+ // An exported module action travels as its analyzed action type, so the
12
+ // importing module can call it and read its reactive pending/error fields.
13
+ // Unlike state exports it needs no reactiveExports entry: the
14
+ // action value is an ordinary function whose reactive cells live behind
15
+ // its own property getters, so imported reads never lower through .get().
16
+ const rest = statement.parameters.find((parameter) => parameter.rest);
17
+ context.exports.set(statement.name, context.bindingType(statement.name, statement.span.start) ?? {
18
+ kind: "action",
19
+ parameters: statement.parameters.filter((parameter) => !parameter.rest).map((parameter) => context.resolve(parameter.type)),
20
+ parameterNames: statement.parameters.filter((parameter) => !parameter.rest).map((parameter) => parameter.name),
21
+ requiredParameters: statement.parameters.filter((parameter) => !parameter.rest && !parameter.defaultValue).length,
22
+ ...(rest ? { rest: context.resolve(rest.type) } : {}),
23
+ result: { kind: "promise", value: statement.returnType ? context.resolve(statement.returnType) : context.unresolvedInferredResult },
24
+ });
25
+ return true;
26
+ }
27
+ if (statement.kind === "ExtensionStatement:web:state" || statement.kind === "ExtensionStatement:web:computed") {
28
+ context.exports.set(statement.name, context.bindingType(statement.name, statement.span.start)
29
+ ?? (statement.type ? context.resolve(statement.type) : context.inferPublicExpression(statement.initializer)));
30
+ // D71 rule 184: both halves of the reactive row cross the module boundary
31
+ // as live values, so both lower an imported bare read through .get(). The
32
+ // annotation below is what keeps the derived one read-only there.
33
+ context.reactiveExports.set(statement.name, "state");
34
+ if (statement.kind === "ExtensionStatement:web:computed")
35
+ context.extensionExports.set(statement.name, WEB_COMPUTED_EXPORT);
36
+ return true;
37
+ }
38
+ if (statement.kind === "ExtensionStatement:web:component") {
39
+ const analyzed = context.bindingType(statement.name, statement.span.start);
40
+ if (analyzed && isWebComponentConstructor(analyzed)) {
41
+ context.exports.set(statement.name, analyzed);
42
+ return true;
43
+ }
44
+ const props = new Map(statement.parameters.map((parameter) => [parameter.name, context.resolve(parameter.type)]));
45
+ if (!props.has("class"))
46
+ props.set("class", optionalOf({ kind: "string" }));
47
+ if (!props.has("look"))
48
+ props.set("look", optionalOf({ kind: "named", name: "Look" }));
49
+ context.exports.set(statement.name, webComponentConstructor(statement.name, props, new Set(statement.parameters.filter((parameter) => !parameter.defaultValue).map((parameter) => parameter.name)), statement.handleType ? context.resolve(statement.handleType) : null));
50
+ return true;
51
+ }
52
+ return false;
53
+ }
54
+ export const velarWebInspectionExtension = Object.freeze({
55
+ contributeInterface,
56
+ exportAnnotations: exportedLookStaticValues,
57
+ interfaceExportIdentity: (_name, value) => isWebComputedExport(value) ? "web:computed" : lookStaticIdentity(value),
58
+ resources(program) {
59
+ const resources = [];
60
+ for (const statement of program.body) {
61
+ if (isWebStatement(statement) && statement.kind === "ExtensionStatement:web:unsafe-css") {
62
+ if (statement.source.kind === "external")
63
+ resources.push({ source: statement.source.path, kind: "unsafe CSS" });
64
+ }
65
+ }
66
+ return resources;
67
+ },
68
+ inferPublicExpression(expression) {
69
+ if (isWebJsx(expression))
70
+ return webNodeType;
71
+ if (isWebLook(expression))
72
+ return { kind: "named", name: "Look" };
73
+ if (isWebKeyframes(expression))
74
+ return { kind: "named", name: "Keyframes" };
75
+ if (isWebUnit(expression)) {
76
+ const name = LOOK_UNIT_TYPES.get(expression.unit);
77
+ return name ? { kind: "named", name } : undefined;
78
+ }
79
+ return undefined;
80
+ },
81
+ });
82
+ //# sourceMappingURL=inspection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection.js","sourceRoot":"","sources":["../src/inspection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Expression } from "@velarscript/compiler/extension";
2
+ import type { WebKeyframesExpression } from "./ast.ts";
3
+ import { type LookStaticValue } from "./look-static.ts";
4
+ /** The const bindings a stop may name: this module's, plus imported ones. */
5
+ export type KeyframeStaticValues = ReadonlyMap<string, LookStaticValue>;
6
+ /**
7
+ * Static CSS spelling accepted inside a generated `@keyframes` rule. Charter
8
+ * section 17 promises a stop reuses the Look property and value checker, so
9
+ * this is that checker (`lookStaticCssValue`) rather than a second, narrower
10
+ * grammar: the same literals, unit values, arithmetic, builder calls, named
11
+ * arguments, and const design tokens a Look property accepts.
12
+ */
13
+ export declare function keyframeCssValue(expression: Expression, values?: KeyframeStaticValues): string | null;
14
+ export declare function keyframesCanonical(expression: WebKeyframesExpression, values?: KeyframeStaticValues): string;
15
+ export declare function keyframesName(canonical: string): string;
16
+ //# sourceMappingURL=keyframes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyframes.d.ts","sourceRoot":"","sources":["../src/keyframes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE5E,6EAA6E;AAC7E,MAAM,MAAM,oBAAoB,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAIxE;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,GAAE,oBAAuC,GAAG,MAAM,GAAG,IAAI,CAEvH;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,GAAE,oBAAuC,GAAG,MAAM,CAO9H;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAOvD"}
@@ -0,0 +1,29 @@
1
+ import { lookStaticCssValue } from "./look-static.js";
2
+ const NO_STATIC_VALUES = new Map();
3
+ /**
4
+ * Static CSS spelling accepted inside a generated `@keyframes` rule. Charter
5
+ * section 17 promises a stop reuses the Look property and value checker, so
6
+ * this is that checker (`lookStaticCssValue`) rather than a second, narrower
7
+ * grammar: the same literals, unit values, arithmetic, builder calls, named
8
+ * arguments, and const design tokens a Look property accepts.
9
+ */
10
+ export function keyframeCssValue(expression, values = NO_STATIC_VALUES) {
11
+ return lookStaticCssValue(expression, values);
12
+ }
13
+ export function keyframesCanonical(expression, values = NO_STATIC_VALUES) {
14
+ return [...expression.stops]
15
+ .sort((left, right) => Math.min(...left.offsets) - Math.min(...right.offsets))
16
+ .map((stop) => `${[...stop.offsets].sort((left, right) => left - right).join(",")}{${stop.entries
17
+ .map((entry) => `${entry.name}:${keyframeCssValue(entry.value, values) ?? "?"}`)
18
+ .join(";")}}`)
19
+ .join("|");
20
+ }
21
+ export function keyframesName(canonical) {
22
+ let hash = 0x811c9dc5;
23
+ for (let index = 0; index < canonical.length; index += 1) {
24
+ hash ^= canonical.charCodeAt(index);
25
+ hash = Math.imul(hash, 0x01000193) >>> 0;
26
+ }
27
+ return `velar-kf-${hash.toString(16).padStart(8, "0")}`;
28
+ }
29
+ //# sourceMappingURL=keyframes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyframes.js","sourceRoot":"","sources":["../src/keyframes.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAwB,MAAM,kBAAkB,CAAC;AAK5E,MAAM,gBAAgB,GAAyB,IAAI,GAAG,EAAE,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAsB,EAAE,MAAM,GAAyB,gBAAgB;IACtG,OAAO,kBAAkB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAkC,EAAE,MAAM,GAAyB,gBAAgB;IACpH,OAAO,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC;SACzB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;SAC7E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO;SAC9F,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;SAC/E,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,IAAI,IAAI,GAAG,UAAU,CAAC;IACtB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACzD,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,YAAY,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AAC1D,CAAC"}