@velarscript/node 0.11.1 → 0.12.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/README.md +102 -14
- package/dist/compiler.d.ts +3 -0
- package/dist/compiler.d.ts.map +1 -1
- package/dist/compiler.js +300 -76
- package/dist/compiler.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/node-host-runtime.d.ts.map +1 -1
- package/dist/node-host-runtime.js +30 -14
- package/dist/node-host-runtime.js.map +1 -1
- package/dist/node-host-worker-runtime.d.ts.map +1 -1
- package/dist/node-host-worker-runtime.js +495 -93
- package/dist/node-host-worker-runtime.js.map +1 -1
- package/dist/project-config.d.ts +17 -0
- package/dist/project-config.d.ts.map +1 -0
- package/dist/project-config.js +66 -0
- package/dist/project-config.js.map +1 -0
- package/dist/serve-runtime.d.ts.map +1 -1
- package/dist/serve-runtime.js +2942 -158
- package/dist/serve-runtime.js.map +1 -1
- package/dist/server-analyzer.d.ts +35 -0
- package/dist/server-analyzer.d.ts.map +1 -0
- package/dist/server-analyzer.js +692 -0
- package/dist/server-analyzer.js.map +1 -0
- package/dist/server-ast.d.ts +54 -0
- package/dist/server-ast.d.ts.map +1 -0
- package/dist/server-ast.js +16 -0
- package/dist/server-ast.js.map +1 -0
- package/dist/server-emitter.d.ts +17 -0
- package/dist/server-emitter.d.ts.map +1 -0
- package/dist/server-emitter.js +177 -0
- package/dist/server-emitter.js.map +1 -0
- package/dist/server-inspection.d.ts +3 -0
- package/dist/server-inspection.d.ts.map +1 -0
- package/dist/server-inspection.js +12 -0
- package/dist/server-inspection.js.map +1 -0
- package/dist/server-lexer.d.ts +13 -0
- package/dist/server-lexer.d.ts.map +1 -0
- package/dist/server-lexer.js +65 -0
- package/dist/server-lexer.js.map +1 -0
- package/dist/server-parser.d.ts +18 -0
- package/dist/server-parser.d.ts.map +1 -0
- package/dist/server-parser.js +232 -0
- package/dist/server-parser.js.map +1 -0
- package/dist/server-semantic.d.ts +3 -0
- package/dist/server-semantic.d.ts.map +1 -0
- package/dist/server-semantic.js +31 -0
- package/dist/server-semantic.js.map +1 -0
- package/dist/server-types.d.ts +25 -0
- package/dist/server-types.d.ts.map +1 -0
- package/dist/server-types.js +60 -0
- package/dist/server-types.js.map +1 -0
- package/dist/websocket-runtime.d.ts.map +1 -1
- package/dist/websocket-runtime.js +169 -15
- package/dist/websocket-runtime.js.map +1 -1
- package/package.json +10 -2
- package/dist/sqlite-runtime.d.ts +0 -3
- package/dist/sqlite-runtime.d.ts.map +0 -1
- package/dist/sqlite-runtime.js +0 -92
- package/dist/sqlite-runtime.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-host-worker-runtime.js","sourceRoot":"","sources":["../src/node-host-worker-runtime.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,iFAAiF;AACjF,yEAAyE;AACzE,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"node-host-worker-runtime.js","sourceRoot":"","sources":["../src/node-host-worker-runtime.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,iFAAiF;AACjF,yEAAyE;AACzE,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqgDtD,CAAC,SAAS,EAAE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface VelarNodeConfig {
|
|
2
|
+
/** Exported ServeApp value in the project entry module. */
|
|
3
|
+
readonly app: string;
|
|
4
|
+
readonly host: string;
|
|
5
|
+
readonly port: number;
|
|
6
|
+
/** Per-request ceiling; the Node host also enforces its aggregate byte budget. */
|
|
7
|
+
readonly maxBodyBytes: number;
|
|
8
|
+
readonly build: {
|
|
9
|
+
readonly sourceMaps: boolean;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export declare const velarProjectExtension: Readonly<{
|
|
13
|
+
id: "@velarscript/node";
|
|
14
|
+
manifestKey: "node";
|
|
15
|
+
parse(value: unknown, manifestPath: string): VelarNodeConfig;
|
|
16
|
+
}>;
|
|
17
|
+
//# sourceMappingURL=project-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,KAAK,EAAE;QACd,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;KAC9B,CAAC;CACH;AAED,eAAO,MAAM,qBAAqB;;;iBAGnB,OAAO,gBAAgB,MAAM,GAAG,eAAe;EAG5D,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
const DEFAULT_MAX_BODY_BYTES = 16 * 1024 * 1024;
|
|
2
|
+
const MAX_BODY_BYTES = 16 * 1024 * 1024;
|
|
3
|
+
export const velarProjectExtension = Object.freeze({
|
|
4
|
+
id: "@velarscript/node",
|
|
5
|
+
manifestKey: "node",
|
|
6
|
+
parse(value, manifestPath) {
|
|
7
|
+
return nodeConfig(value, manifestPath);
|
|
8
|
+
},
|
|
9
|
+
});
|
|
10
|
+
function nodeConfig(value, manifestPath) {
|
|
11
|
+
if (value !== undefined && (!value || typeof value !== "object" || Array.isArray(value))) {
|
|
12
|
+
throw new Error(`${manifestPath}: 'node' must be an object`);
|
|
13
|
+
}
|
|
14
|
+
const node = value;
|
|
15
|
+
if (node)
|
|
16
|
+
knownFields(node, new Set(["app", "host", "port", "maxBodyBytes", "build"]), "node", manifestPath);
|
|
17
|
+
const app = stringField(node?.app, "node.app", "app", 128);
|
|
18
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/u.test(app)) {
|
|
19
|
+
throw new Error(`${manifestPath}: 'node.app' must name an exported VelarScript binding`);
|
|
20
|
+
}
|
|
21
|
+
const host = stringField(node?.host, "node.host", "127.0.0.1", 255);
|
|
22
|
+
if (/[/\\\s?#]/u.test(host) || host.includes(":") && host !== "::" && !/^[:0-9a-f]+$/iu.test(host)) {
|
|
23
|
+
throw new Error(`${manifestPath}: 'node.host' must be a hostname or IP address without a URL scheme or port`);
|
|
24
|
+
}
|
|
25
|
+
return Object.freeze({
|
|
26
|
+
app,
|
|
27
|
+
host,
|
|
28
|
+
port: integerField(node?.port, "node.port", 3000, 1, 65_535),
|
|
29
|
+
maxBodyBytes: integerField(node?.maxBodyBytes, "node.maxBodyBytes", DEFAULT_MAX_BODY_BYTES, 1, MAX_BODY_BYTES),
|
|
30
|
+
build: buildConfig(node?.build, manifestPath),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function buildConfig(value, manifestPath) {
|
|
34
|
+
if (value !== undefined && (!value || typeof value !== "object" || Array.isArray(value))) {
|
|
35
|
+
throw new Error(`${manifestPath}: 'node.build' must be an object`);
|
|
36
|
+
}
|
|
37
|
+
const build = value;
|
|
38
|
+
if (build)
|
|
39
|
+
knownFields(build, new Set(["sourceMaps"]), "node.build", manifestPath);
|
|
40
|
+
const sourceMaps = build?.sourceMaps === undefined ? false : build.sourceMaps;
|
|
41
|
+
if (typeof sourceMaps !== "boolean")
|
|
42
|
+
throw new Error(`${manifestPath}: 'node.build.sourceMaps' must be a boolean`);
|
|
43
|
+
return Object.freeze({ sourceMaps });
|
|
44
|
+
}
|
|
45
|
+
function integerField(value, field, fallback, minimum, maximum) {
|
|
46
|
+
if (value === undefined)
|
|
47
|
+
return fallback;
|
|
48
|
+
if (!Number.isSafeInteger(value) || value < minimum || value > maximum) {
|
|
49
|
+
throw new Error(`'${field}' must be an integer from ${minimum} through ${maximum}`);
|
|
50
|
+
}
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
function stringField(value, field, fallback, maximum) {
|
|
54
|
+
if (value === undefined)
|
|
55
|
+
return fallback;
|
|
56
|
+
if (typeof value !== "string" || value.length === 0 || value.length > maximum || value.includes("\0")) {
|
|
57
|
+
throw new Error(`'${field}' must be non-empty text of at most ${maximum} characters without NUL bytes`);
|
|
58
|
+
}
|
|
59
|
+
return value;
|
|
60
|
+
}
|
|
61
|
+
function knownFields(value, allowed, field, manifestPath) {
|
|
62
|
+
for (const key of Object.keys(value))
|
|
63
|
+
if (!allowed.has(key))
|
|
64
|
+
throw new Error(`${manifestPath}: unknown '${field}' field '${key}'`);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=project-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-config.js","sourceRoot":"","sources":["../src/project-config.ts"],"names":[],"mappings":"AAAA,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAChD,MAAM,cAAc,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAcxC,MAAM,CAAC,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,mBAAmB;IACvB,WAAW,EAAE,MAAM;IACnB,KAAK,CAAC,KAAc,EAAE,YAAoB;QACxC,OAAO,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACzC,CAAC;CACF,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,KAAc,EAAE,YAAoB;IACtD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,4BAA4B,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,IAAI,GAAG,KAMA,CAAC;IACd,IAAI,IAAI;QAAE,WAAW,CAAC,IAA+B,EAAE,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACxI,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3D,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,wDAAwD,CAAC,CAAC;IAC3F,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;IACpE,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAE,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpG,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,6EAA6E,CAAC,CAAC;IAChH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,GAAG;QACH,IAAI;QACJ,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC;QAC5D,YAAY,EAAE,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,CAAC,EAAE,cAAc,CAAC;QAC9G,KAAK,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,YAAoB;IACvD,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,kCAAkC,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,KAAK,GAAG,KAAsD,CAAC;IACrE,IAAI,KAAK;QAAE,WAAW,CAAC,KAAgC,EAAE,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;IAC9G,MAAM,UAAU,GAAG,KAAK,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAC9E,IAAI,OAAO,UAAU,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,6CAA6C,CAAC,CAAC;IACnH,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,KAAa,EAAE,QAAgB,EAAE,OAAe,EAAE,OAAe;IACrG,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,OAAO,IAAK,KAAgB,GAAG,OAAO,EAAE,CAAC;QAC/F,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,6BAA6B,OAAO,YAAY,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,KAAe,CAAC;AACzB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,KAAa,EAAE,QAAgB,EAAE,OAAe;IACnF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,uCAAuC,OAAO,+BAA+B,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAA8B,EAAE,OAA4B,EAAE,KAAa,EAAE,YAAoB;IACpH,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,YAAY,cAAc,KAAK,YAAY,GAAG,GAAG,CAAC,CAAC;AACrI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve-runtime.d.ts","sourceRoot":"","sources":["../src/serve-runtime.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"serve-runtime.d.ts","sourceRoot":"","sources":["../src/serve-runtime.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,wBAAwB,QA0qGxB,CAAC"}
|