@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.
- package/LICENSE +201 -0
- package/README.md +89 -0
- package/dist/analyzer.d.ts +302 -0
- package/dist/analyzer.d.ts.map +1 -0
- package/dist/analyzer.js +2931 -0
- package/dist/analyzer.js.map +1 -0
- package/dist/ast.d.ts +220 -0
- package/dist/ast.d.ts.map +1 -0
- package/dist/ast.js +102 -0
- package/dist/ast.js.map +1 -0
- package/dist/browser-test.d.ts +29 -0
- package/dist/browser-test.d.ts.map +1 -0
- package/dist/browser-test.js +33 -0
- package/dist/browser-test.js.map +1 -0
- package/dist/compiler.d.ts +9 -0
- package/dist/compiler.d.ts.map +1 -0
- package/dist/compiler.js +715 -0
- package/dist/compiler.js.map +1 -0
- package/dist/css-tokens.d.ts +46 -0
- package/dist/css-tokens.d.ts.map +1 -0
- package/dist/css-tokens.js +363 -0
- package/dist/css-tokens.js.map +1 -0
- package/dist/editor.d.ts +3 -0
- package/dist/editor.d.ts.map +1 -0
- package/dist/editor.js +147 -0
- package/dist/editor.js.map +1 -0
- package/dist/elements.d.ts +11 -0
- package/dist/elements.d.ts.map +1 -0
- package/dist/elements.js +24 -0
- package/dist/elements.js.map +1 -0
- package/dist/emitter.d.ts +79 -0
- package/dist/emitter.d.ts.map +1 -0
- package/dist/emitter.js +2699 -0
- package/dist/emitter.js.map +1 -0
- package/dist/host.d.ts +7 -0
- package/dist/host.d.ts.map +1 -0
- package/dist/host.js +224 -0
- package/dist/host.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/inspection.d.ts +3 -0
- package/dist/inspection.d.ts.map +1 -0
- package/dist/inspection.js +82 -0
- package/dist/inspection.js.map +1 -0
- package/dist/keyframes.d.ts +16 -0
- package/dist/keyframes.d.ts.map +1 -0
- package/dist/keyframes.js +29 -0
- package/dist/keyframes.js.map +1 -0
- package/dist/lexer.d.ts +85 -0
- package/dist/lexer.d.ts.map +1 -0
- package/dist/lexer.js +422 -0
- package/dist/lexer.js.map +1 -0
- package/dist/look-static.d.ts +31 -0
- package/dist/look-static.d.ts.map +1 -0
- package/dist/look-static.js +266 -0
- package/dist/look-static.js.map +1 -0
- package/dist/look.d.ts +134 -0
- package/dist/look.d.ts.map +1 -0
- package/dist/look.js +627 -0
- package/dist/look.js.map +1 -0
- package/dist/parser.d.ts +71 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +976 -0
- package/dist/parser.js.map +1 -0
- package/dist/project-config.d.ts +33 -0
- package/dist/project-config.d.ts.map +1 -0
- package/dist/project-config.js +199 -0
- package/dist/project-config.js.map +1 -0
- package/dist/runtime-foundation.d.ts +7 -0
- package/dist/runtime-foundation.d.ts.map +1 -0
- package/dist/runtime-foundation.js +1245 -0
- package/dist/runtime-foundation.js.map +1 -0
- package/dist/runtime.d.ts +7 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/runtime.js +3444 -0
- package/dist/runtime.js.map +1 -0
- package/dist/semantic.d.ts +3 -0
- package/dist/semantic.d.ts.map +1 -0
- package/dist/semantic.js +150 -0
- package/dist/semantic.js.map +1 -0
- package/dist/types.d.ts +56 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +178 -0
- package/dist/types.js.map +1 -0
- package/dist/websocket-runtime.d.ts +2 -0
- package/dist/websocket-runtime.d.ts.map +1 -0
- package/dist/websocket-runtime.js +30 -0
- package/dist/websocket-runtime.js.map +1 -0
- package/dist/worker-runtime.d.ts +2 -0
- package/dist/worker-runtime.d.ts.map +1 -0
- package/dist/worker-runtime.js +72 -0
- package/dist/worker-runtime.js.map +1 -0
- 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("&", "&").replaceAll("<", "<").replaceAll(">", ">");
|
|
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("&", "&").replaceAll("<", "<").replaceAll(">", ">").replaceAll('"', """);
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=host.js.map
|
package/dist/host.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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 @@
|
|
|
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"}
|