@velarscript/cli 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -12
- package/dist/browser-process-owner.d.ts +23 -0
- package/dist/browser-process-owner.d.ts.map +1 -1
- package/dist/browser-process-owner.js +46 -2
- package/dist/browser-process-owner.js.map +1 -1
- package/dist/browser-test-runner.d.ts.map +1 -1
- package/dist/browser-test-runner.js +110 -14
- package/dist/browser-test-runner.js.map +1 -1
- package/dist/cli.js +131 -68
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +28 -4
- package/dist/config.js.map +1 -1
- package/dist/dev-server.d.ts +18 -0
- package/dist/dev-server.d.ts.map +1 -1
- package/dist/dev-server.js +168 -8
- package/dist/dev-server.js.map +1 -1
- package/dist/extension-metadata.d.ts +6 -0
- package/dist/extension-metadata.d.ts.map +1 -1
- package/dist/extension-metadata.js +70 -4
- package/dist/extension-metadata.js.map +1 -1
- package/dist/format-guard.d.ts +20 -0
- package/dist/format-guard.d.ts.map +1 -0
- package/dist/format-guard.js +13 -0
- package/dist/format-guard.js.map +1 -0
- package/dist/framework-host.d.ts.map +1 -1
- package/dist/framework-host.js +15 -2
- package/dist/framework-host.js.map +1 -1
- package/dist/language-server-bundle-entry.js +0 -2
- package/dist/language-server-bundle-entry.js.map +1 -1
- package/dist/language-server-tool.d.ts.map +1 -1
- package/dist/language-server-tool.js +0 -2
- package/dist/language-server-tool.js.map +1 -1
- package/dist/language-server.d.ts +1 -1
- package/dist/language-server.d.ts.map +1 -1
- package/dist/language-server.js +87 -293
- package/dist/language-server.js.map +1 -1
- package/dist/local-request-guard.d.ts +18 -0
- package/dist/local-request-guard.d.ts.map +1 -0
- package/dist/local-request-guard.js +75 -0
- package/dist/local-request-guard.js.map +1 -0
- package/dist/mechanical-fixer.d.ts.map +1 -1
- package/dist/mechanical-fixer.js +116 -2
- package/dist/mechanical-fixer.js.map +1 -1
- package/dist/module-assets.d.ts +23 -0
- package/dist/module-assets.d.ts.map +1 -1
- package/dist/module-assets.js +216 -14
- package/dist/module-assets.js.map +1 -1
- package/dist/node-application.d.ts +7 -2
- package/dist/node-application.d.ts.map +1 -1
- package/dist/node-application.js +44 -14
- package/dist/node-application.js.map +1 -1
- package/dist/node-runtime-dependencies.d.ts +2 -0
- package/dist/node-runtime-dependencies.d.ts.map +1 -0
- package/dist/node-runtime-dependencies.js +24 -0
- package/dist/node-runtime-dependencies.js.map +1 -0
- package/dist/npm.d.ts +29 -0
- package/dist/npm.d.ts.map +1 -1
- package/dist/npm.js +39 -2
- package/dist/npm.js.map +1 -1
- package/dist/ownership-graph.d.ts.map +1 -1
- package/dist/ownership-graph.js +155 -38
- package/dist/ownership-graph.js.map +1 -1
- package/dist/package-manager.d.ts.map +1 -1
- package/dist/package-manager.js +4 -1
- package/dist/package-manager.js.map +1 -1
- package/dist/preview-server.d.ts.map +1 -1
- package/dist/preview-server.js +12 -4
- package/dist/preview-server.js.map +1 -1
- package/dist/production-build.d.ts.map +1 -1
- package/dist/production-build.js +24 -6
- package/dist/production-build.js.map +1 -1
- package/dist/production-verifier.js +3 -0
- package/dist/production-verifier.js.map +1 -1
- package/dist/project-check.d.ts +14 -1
- package/dist/project-check.d.ts.map +1 -1
- package/dist/project-check.js +17 -4
- package/dist/project-check.js.map +1 -1
- package/dist/project-format.d.ts +9 -0
- package/dist/project-format.d.ts.map +1 -1
- package/dist/project-format.js +13 -0
- package/dist/project-format.js.map +1 -1
- package/dist/project-semantic.d.ts.map +1 -1
- package/dist/project-semantic.js +15 -4
- package/dist/project-semantic.js.map +1 -1
- package/dist/project.d.ts +25 -0
- package/dist/project.d.ts.map +1 -1
- package/dist/project.js +341 -42
- package/dist/project.js.map +1 -1
- package/dist/reproduction.d.ts +18 -0
- package/dist/reproduction.d.ts.map +1 -1
- package/dist/reproduction.js +47 -6
- package/dist/reproduction.js.map +1 -1
- package/dist/stable-order.d.ts +17 -0
- package/dist/stable-order.d.ts.map +1 -0
- package/dist/stable-order.js +19 -0
- package/dist/stable-order.js.map +1 -0
- package/dist/standard-modules.d.ts +2 -2
- package/dist/standard-modules.d.ts.map +1 -1
- package/dist/standard-modules.js +2 -2
- package/dist/standard-modules.js.map +1 -1
- package/dist/static-deployment.d.ts.map +1 -1
- package/dist/static-deployment.js +27 -0
- package/dist/static-deployment.js.map +1 -1
- package/dist/test-runner.d.ts.map +1 -1
- package/dist/test-runner.js +196 -100
- package/dist/test-runner.js.map +1 -1
- package/dist/test-worker.d.ts +64 -0
- package/dist/test-worker.d.ts.map +1 -0
- package/dist/test-worker.js +161 -0
- package/dist/test-worker.js.map +1 -0
- package/dist/typescript-declarations.d.ts +1 -1
- package/dist/typescript-declarations.d.ts.map +1 -1
- package/dist/typescript-declarations.js +233 -21
- package/dist/typescript-declarations.js.map +1 -1
- package/dist/unowned-errors.d.ts +15 -2
- package/dist/unowned-errors.d.ts.map +1 -1
- package/dist/unowned-errors.js +13 -2
- package/dist/unowned-errors.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/workspace-index.d.ts.map +1 -1
- package/dist/workspace-index.js +42 -17
- package/dist/workspace-index.js.map +1 -1
- package/package.json +7 -8
- package/skill/ai-skill-node.md +91 -12
- package/skill/ai-skill-web.md +51 -1
- package/skill/ai-skill.md +36 -13
- package/dist/official-script-language-service.d.ts +0 -2
- package/dist/official-script-language-service.d.ts.map +0 -1
- package/dist/official-script-language-service.js +0 -10
- package/dist/official-script-language-service.js.map +0 -1
- package/dist/official-tool-assets.d.ts +0 -3
- package/dist/official-tool-assets.d.ts.map +0 -1
- package/dist/official-tool-assets.js +0 -60
- package/dist/official-tool-assets.js.map +0 -1
- package/dist/script-language-service.d.ts +0 -82
- package/dist/script-language-service.d.ts.map +0 -1
- package/dist/script-language-service.js +0 -18
- package/dist/script-language-service.js.map +0 -1
package/dist/reproduction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reproduction.js","sourceRoot":"","sources":["../src/reproduction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reproduction.js","sourceRoot":"","sources":["../src/reproduction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UTF-16 code-unit order — what `<` and `>` compare, and what
|
|
3
|
+
* `Array.prototype.sort` gives with no comparator. It differs from true code
|
|
4
|
+
* point order only for astral characters, and it is deliberately this order
|
|
5
|
+
* rather than that one: the production verifier checks the manifest inventory
|
|
6
|
+
* with a bare `.sort()`, so a producer ordering by code point would disagree
|
|
7
|
+
* with its own verifier on any name outside the BMP.
|
|
8
|
+
*
|
|
9
|
+
* D90 R3(a) rules the locale dependence out at the root: `localeCompare`
|
|
10
|
+
* follows the collation the process environment selects, so any list ordered
|
|
11
|
+
* with it reorders when the machine's `LC_ALL` changes. That decided module
|
|
12
|
+
* order — and with it the project stylesheet's bytes, its content hash,
|
|
13
|
+
* `buildId`, and which of two equal-specificity rules won — and it decides
|
|
14
|
+
* every other list this toolchain promises to produce the same way twice.
|
|
15
|
+
*/
|
|
16
|
+
export declare function byCodeUnit(left: string, right: string): number;
|
|
17
|
+
//# sourceMappingURL=stable-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stable-order.d.ts","sourceRoot":"","sources":["../src/stable-order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UTF-16 code-unit order — what `<` and `>` compare, and what
|
|
3
|
+
* `Array.prototype.sort` gives with no comparator. It differs from true code
|
|
4
|
+
* point order only for astral characters, and it is deliberately this order
|
|
5
|
+
* rather than that one: the production verifier checks the manifest inventory
|
|
6
|
+
* with a bare `.sort()`, so a producer ordering by code point would disagree
|
|
7
|
+
* with its own verifier on any name outside the BMP.
|
|
8
|
+
*
|
|
9
|
+
* D90 R3(a) rules the locale dependence out at the root: `localeCompare`
|
|
10
|
+
* follows the collation the process environment selects, so any list ordered
|
|
11
|
+
* with it reorders when the machine's `LC_ALL` changes. That decided module
|
|
12
|
+
* order — and with it the project stylesheet's bytes, its content hash,
|
|
13
|
+
* `buildId`, and which of two equal-specificity rules won — and it decides
|
|
14
|
+
* every other list this toolchain promises to produce the same way twice.
|
|
15
|
+
*/
|
|
16
|
+
export function byCodeUnit(left, right) {
|
|
17
|
+
return left < right ? -1 : left > right ? 1 : 0;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=stable-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stable-order.js","sourceRoot":"","sources":["../src/stable-order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY,EAAE,KAAa;IACpD,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CompilerExtension, ModuleInterface } from "@velarscript/compiler";
|
|
2
|
-
import { CORE_WORKER_CONFIG_KEY,
|
|
3
|
-
export { CORE_WORKER_CONFIG_KEY,
|
|
2
|
+
import { CORE_WORKER_CONFIG_KEY, VELAR_STANDARD_API_VERSION, VELAR_WORKER_MANIFEST_MODULE, standardModuleRoute, type StandardModuleApi } from "@velarscript/core";
|
|
3
|
+
export { CORE_WORKER_CONFIG_KEY, VELAR_STANDARD_API_VERSION, VELAR_WORKER_MANIFEST_MODULE, standardModuleRoute, type StandardModuleApi, };
|
|
4
4
|
export declare function standardModuleInterfaces(extensions?: readonly CompilerExtension[]): ReadonlyMap<string, ModuleInterface>;
|
|
5
5
|
export declare function isStandardModule(source: string, extensions?: readonly CompilerExtension[]): boolean;
|
|
6
6
|
export declare function standardModuleInterface(source: string, extensions?: readonly CompilerExtension[]): ModuleInterface | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-modules.d.ts","sourceRoot":"","sources":["../src/standard-modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EACL,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"standard-modules.d.ts","sourceRoot":"","sources":["../src/standard-modules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAQ5B,mBAAmB,EAGnB,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,EACnB,KAAK,iBAAiB,GACvB,CAAC;AAMF,wBAAgB,wBAAwB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAE5H;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,CAE7H;AAED,wBAAgB,qBAAqB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAEhH;AAED,wBAAgB,iBAAiB,CAAC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAAG,iBAAiB,CAElG;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,MAAM,GAAG,IAAI,CAEf;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,SAAS,MAAM,EAAE,GAAG,IAAI,CAE1B;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;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,aAAa,GAAE,OAAuB,EACtC,UAAU,GAAE,SAAS,iBAAiB,EAAO,GAC5C,MAAM,GAAG,IAAI,CAEf"}
|
package/dist/standard-modules.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { CORE_WORKER_CONFIG_KEY,
|
|
1
|
+
import { CORE_WORKER_CONFIG_KEY, VELAR_STANDARD_API_VERSION, VELAR_WORKER_MANIFEST_MODULE, isStandardModule as coreIsStandardModule, standardModuleApi as coreStandardModuleApi, standardModuleAsset as coreStandardModuleAsset, standardModuleClosure as coreStandardModuleClosure, standardModuleDependencies as coreStandardModuleDependencies, standardModuleInterface as coreStandardModuleInterface, standardModuleInterfaces as coreStandardModuleInterfaces, standardModuleRoute, standardModuleSource as coreStandardModuleSource, standardModuleSources as coreStandardModuleSources, } from "@velarscript/core";
|
|
2
2
|
import { velarNodeCompilerExtension } from "@velarscript/node/compiler";
|
|
3
|
-
export { CORE_WORKER_CONFIG_KEY,
|
|
3
|
+
export { CORE_WORKER_CONFIG_KEY, VELAR_STANDARD_API_VERSION, VELAR_WORKER_MANIFEST_MODULE, standardModuleRoute, };
|
|
4
4
|
function withDefaultNode(extensions) {
|
|
5
5
|
return extensions.length === 0 ? [velarNodeCompilerExtension] : extensions;
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-modules.js","sourceRoot":"","sources":["../src/standard-modules.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"standard-modules.js","sourceRoot":"","sources":["../src/standard-modules.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,gBAAgB,IAAI,oBAAoB,EACxC,iBAAiB,IAAI,qBAAqB,EAC1C,mBAAmB,IAAI,uBAAuB,EAC9C,qBAAqB,IAAI,yBAAyB,EAClD,0BAA0B,IAAI,8BAA8B,EAC5D,uBAAuB,IAAI,2BAA2B,EACtD,wBAAwB,IAAI,4BAA4B,EACxD,mBAAmB,EACnB,oBAAoB,IAAI,wBAAwB,EAChD,qBAAqB,IAAI,yBAAyB,GAEnD,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAExE,OAAO,EACL,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,GAEpB,CAAC;AAEF,SAAS,eAAe,CAAC,UAAwC;IAC/D,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAU,GAAiC,EAAE;IACpF,OAAO,4BAA4B,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,MAAc,EAAE,UAAU,GAAiC,EAAE;IAC5F,OAAO,oBAAoB,CAAC,MAAM,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,UAAU,GAAiC,EAAE;IACnG,OAAO,2BAA2B,CAAC,MAAM,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,UAAU,GAAiC,EAAE;IACjF,OAAO,yBAAyB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAAU,GAAiC,EAAE;IAC7E,OAAO,qBAAqB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,aAAa,GAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EACtC,UAAU,GAAiC,EAAE;IAE7C,OAAO,wBAAwB,CAAC,MAAM,EAAE,aAAa,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,MAAc,EACd,aAAa,GAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EACtC,UAAU,GAAiC,EAAE;IAE7C,OAAO,8BAA8B,CAAC,MAAM,EAAE,aAAa,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAuB,EACvB,aAAa,GAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EACtC,UAAU,GAAiC,EAAE;IAE7C,OAAO,yBAAyB,CAAC,KAAK,EAAE,aAAa,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,aAAa,GAAY,EAAE,IAAI,EAAE,GAAG,EAAE,EACtC,UAAU,GAAiC,EAAE;IAE7C,OAAO,uBAAuB,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;AACvF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-deployment.d.ts","sourceRoot":"","sources":["../src/static-deployment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"static-deployment.d.ts","sourceRoot":"","sources":["../src/static-deployment.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAIpH,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAGzE,eAAO,MAAM,+BAA+B,sBAAsB,CAAC;AACnE,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAuB/C,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,+BAA+B,CAAC;IAC1D,QAAQ,CAAC,QAAQ,EAAE,OAAO,oBAAoB,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,QAAQ,CAAC,SAAS,EAAE,2BAA2B,CAAC;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,oBAAoB,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/G,QAAQ,CAAC,OAAO,EAAE,SAAS;QACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACnD,EAAE,CAAC;IACJ,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,MAAM,EAAE,qCAAqC,CAAC;QACvD,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC;KAChC,CAAC;CACH;AAED;;;;;GAKG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,SAAS,4BAA4B,EAAE,GAChD,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,sBAAsB,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBjI;AAmBD,wBAAsB,qBAAqB,CACzC,eAAe,EAAE,MAAM,EACvB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,yBAAyB,EACjC,SAAS,EAAE,2BAA2B,GACrC,OAAO,CAAC,uBAAuB,CAAC,CA8ClC"}
|
|
@@ -1,15 +1,31 @@
|
|
|
1
1
|
import { cp, lstat, mkdir, readdir, writeFile } from "node:fs/promises";
|
|
2
2
|
import { dirname, join, relative } from "node:path";
|
|
3
|
+
import { BUILD_STAGING_MARKER } from "./build-staging.js";
|
|
3
4
|
import { MAX_PRODUCTION_ASSETS } from "./file-integrity.js";
|
|
4
5
|
import { VELAR_VERSION } from "./version.js";
|
|
5
6
|
import { isHostErrorCode } from "./host-error.js";
|
|
6
7
|
export const STATIC_DEPLOYMENT_MANIFEST_NAME = "velar-deploy.json";
|
|
7
8
|
export const STATIC_FALLBACK_NAME = "404.html";
|
|
9
|
+
// Every name the builder writes at the root of the output, so a public file
|
|
10
|
+
// cannot take one: the manifest walk skips these at that one level, and a copy
|
|
11
|
+
// that survived there would be a file `velar verify` reports as undeclared for
|
|
12
|
+
// the rest of the build's life.
|
|
8
13
|
const reservedRootFiles = new Set([
|
|
9
14
|
"index.html",
|
|
10
15
|
STATIC_FALLBACK_NAME,
|
|
11
16
|
"velar-build.json",
|
|
12
17
|
STATIC_DEPLOYMENT_MANIFEST_NAME,
|
|
18
|
+
BUILD_STAGING_MARKER,
|
|
19
|
+
]);
|
|
20
|
+
/**
|
|
21
|
+
* `assets/` is the builder's own namespace: the deployment manifest gives
|
|
22
|
+
* everything under it a one-year `immutable` rule, which is only sound for the
|
|
23
|
+
* content-hashed names the builder produced. A public file copied there would
|
|
24
|
+
* inherit that rule under a stable name, so a replacement could never reach a
|
|
25
|
+
* browser that already fetched it.
|
|
26
|
+
*/
|
|
27
|
+
const reservedRootNames = new Map([
|
|
28
|
+
["assets", "'assets' holds the build's content-hashed output and carries a one-year immutable cache rule; put it under public/static/ instead"],
|
|
13
29
|
]);
|
|
14
30
|
/**
|
|
15
31
|
* A manifest field may name a public file the emitted document points at —
|
|
@@ -51,6 +67,10 @@ export async function copyPublicAssets(publicRoot, outputDirectory, allowReserve
|
|
|
51
67
|
if (!allowReservedRootFiles && reservedRootFiles.has(entry.name)) {
|
|
52
68
|
throw new Error(`public asset '${entry.name}' is reserved by the VelarScript production builder`);
|
|
53
69
|
}
|
|
70
|
+
const reservation = allowReservedRootFiles ? undefined : reservedRootNames.get(entry.name);
|
|
71
|
+
if (reservation !== undefined) {
|
|
72
|
+
throw new Error(`public asset '${entry.name}' is reserved by the VelarScript production builder: ${reservation}`);
|
|
73
|
+
}
|
|
54
74
|
await copySafe(join(publicRoot, entry.name), join(outputDirectory, entry.name), publicRoot, state);
|
|
55
75
|
}
|
|
56
76
|
}
|
|
@@ -100,6 +120,13 @@ export async function writeStaticDeployment(outputDirectory, html, config, frame
|
|
|
100
120
|
spaFallback: config.spaFallback ? { source: "index.html", fallback: STATIC_FALLBACK_NAME } : null,
|
|
101
121
|
headers: [
|
|
102
122
|
{ path: basePattern, values: securityHeaders },
|
|
123
|
+
// Every document the SPA fallback serves is a deep route the enumerated
|
|
124
|
+
// paths below cannot name, and `verify-deployment` requires `no-cache` on
|
|
125
|
+
// one of them. Stating the rule here is what makes a provider that
|
|
126
|
+
// projects this manifest literally indistinguishable from `velar preview`;
|
|
127
|
+
// the narrower rules that follow win under last-match-wins, so the hashed
|
|
128
|
+
// assets keep their immutable year.
|
|
129
|
+
{ path: basePattern, values: { "Cache-Control": "no-cache" } },
|
|
103
130
|
{ path: `${config.base}assets/*`, values: { "Cache-Control": "public, max-age=31536000, immutable" } },
|
|
104
131
|
...documentPaths.map((path) => ({ path, values: { "Cache-Control": "no-cache" } })),
|
|
105
132
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static-deployment.js","sourceRoot":"","sources":["../src/static-deployment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,CAAC,MAAM,+BAA+B,GAAG,mBAAmB,CAAC;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAC/C,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,YAAY;IACZ,oBAAoB;IACpB,kBAAkB;IAClB,+BAA+B;
|
|
1
|
+
{"version":3,"file":"static-deployment.js","sourceRoot":"","sources":["../src/static-deployment.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-runner.d.ts","sourceRoot":"","sources":["../src/test-runner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test-runner.d.ts","sourceRoot":"","sources":["../src/test-runner.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAQtD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AA8CD,wBAAsB,QAAQ,CAC5B,MAAM,EAAE,kBAAkB,EAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC,CA4GjB;AA4KD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUpG"}
|
package/dist/test-runner.js
CHANGED
|
@@ -1,22 +1,28 @@
|
|
|
1
|
-
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
-
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
-
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
-
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
-
});
|
|
6
|
-
}
|
|
7
|
-
return path;
|
|
8
|
-
};
|
|
9
1
|
import { mkdir, readdir, writeFile } from "node:fs/promises";
|
|
10
2
|
import { join, relative } from "node:path";
|
|
11
|
-
import {
|
|
3
|
+
import { Worker } from "node:worker_threads";
|
|
12
4
|
import { formatDiagnostic } from "@velarscript/compiler";
|
|
13
5
|
import { compileProject } from "./project.js";
|
|
14
6
|
import { standardModuleSource, standardModuleSources } from "./standard-modules.js";
|
|
15
7
|
import { compiledTestModulePath, createCompiledSandbox, portablePath, quoteReportedText, removeCompiledSandbox, writeCompiledTestProject } from "./test-output.js";
|
|
16
8
|
import { hostErrorStack } from "./host-error.js";
|
|
17
|
-
import { captureUnownedErrors, flushOutput, mapCompiledStacksToSources } from "./unowned-errors.js";
|
|
9
|
+
import { captureUnownedErrors, flushOutput, mapCompiledStacksToSources, unsettledWorkFailure } from "./unowned-errors.js";
|
|
18
10
|
const defaultTestTimeoutMs = 120_000;
|
|
19
11
|
const defaultTestSettleTimeoutMs = 10_000;
|
|
12
|
+
/**
|
|
13
|
+
* Room a report needs to cross the thread boundary. The thread owns the bound
|
|
14
|
+
* it can honour — an asynchronous hang, reported in order next to the test that
|
|
15
|
+
* caused it — and this process steps in only for the synchronous one, which no
|
|
16
|
+
* timer inside that thread will ever see.
|
|
17
|
+
*/
|
|
18
|
+
const workerReportGraceMs = 1_000;
|
|
19
|
+
/** Upper bound on waiting for a terminated thread's piped output to arrive. */
|
|
20
|
+
const workerOutputFlushMs = 1_000;
|
|
21
|
+
/*
|
|
22
|
+
* `tsc` rewrites a relative import specifier, but not a URL built at run time,
|
|
23
|
+
* so the worker entry is named with the extension this module itself has.
|
|
24
|
+
*/
|
|
25
|
+
const testWorkerEntry = new URL(import.meta.url.endsWith(".ts") ? "./test-worker.ts" : "./test-worker.js", import.meta.url);
|
|
20
26
|
function testLimits(options) {
|
|
21
27
|
const bounded = (value, fallback, name) => {
|
|
22
28
|
const resolved = value ?? fallback;
|
|
@@ -45,25 +51,11 @@ export async function runTests(config, explicitInput, options = {}) {
|
|
|
45
51
|
let passed = 0;
|
|
46
52
|
let failed = 0;
|
|
47
53
|
// The runner keeps running: an unowned failure belongs to the test, never to
|
|
48
|
-
// the process.
|
|
49
|
-
//
|
|
54
|
+
// the process. Each test file runs in its own thread, which owns the channel
|
|
55
|
+
// for its own tests; this one covers what happens in the runner itself, and
|
|
56
|
+
// is what the run-level settle below reads.
|
|
50
57
|
const channel = captureUnownedErrors();
|
|
51
|
-
const drainUnowned = () => channel.drain();
|
|
52
|
-
// Work a test started is work the test owns. Waiting for the process to run
|
|
53
|
-
// out of work before reading the verdict is what makes a late failure belong
|
|
54
|
-
// to the test that started it instead of whichever later test happens to be
|
|
55
|
-
// running when it lands — and what stops it from being dropped entirely.
|
|
56
|
-
// A fixed sleep cannot do this job: a failure one millisecond past the sleep
|
|
57
|
-
// is a failure nobody counts.
|
|
58
58
|
let stuck = false;
|
|
59
|
-
const settleWork = async (subject) => {
|
|
60
|
-
if (stuck)
|
|
61
|
-
return null;
|
|
62
|
-
if (await channel.settle(limits.settleTimeoutMs))
|
|
63
|
-
return null;
|
|
64
|
-
stuck = true;
|
|
65
|
-
return `work started ${subject} was still running ${limits.settleTimeoutMs} milliseconds later; a test owns the work it starts, and a failure from work that never finishes can never be reported`;
|
|
66
|
-
};
|
|
67
59
|
try {
|
|
68
60
|
await prepareStandardModules(temporary, config);
|
|
69
61
|
for (const file of files) {
|
|
@@ -94,66 +86,47 @@ export async function runTests(config, explicitInput, options = {}) {
|
|
|
94
86
|
continue;
|
|
95
87
|
}
|
|
96
88
|
const outputEntry = entry ? compiledTestModulePath(project, entry, temporary) : join(temporary, relative(config.root, file).replace(/\.vel$/u, ".js"));
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
//
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
const test = namespace[declared.name];
|
|
122
|
-
try {
|
|
123
|
-
if (typeof test !== "function")
|
|
124
|
-
throw new Error(`Test ${name} was not emitted`);
|
|
125
|
-
if (test.length !== 0)
|
|
126
|
-
throw new Error(`Test ${name} cannot declare parameters`);
|
|
127
|
-
await boundedTest(test, limits.testTimeoutMs);
|
|
128
|
-
const leftover = await settleWork("by this test");
|
|
129
|
-
const testErrors = await drainUnowned();
|
|
130
|
-
if (testErrors.length > 0) {
|
|
131
|
-
throw new Error(`an unowned error was reported while this test ran\n${testErrors.join("\n")}`);
|
|
132
|
-
}
|
|
133
|
-
if (leftover !== null)
|
|
134
|
-
throw new Error(leftover);
|
|
135
|
-
passed += 1;
|
|
136
|
-
process.stdout.write(`✓ ${quoteReportedText(portablePath(relative(config.root, file)))} :: ${name}\n`);
|
|
137
|
-
}
|
|
138
|
-
catch (error) {
|
|
139
|
-
failed += 1;
|
|
140
|
-
await drainUnowned();
|
|
141
|
-
process.stderr.write(`✗ ${quoteReportedText(portablePath(relative(config.root, file)))} :: ${name}\n${stackOf(error)}\n`);
|
|
142
|
-
}
|
|
89
|
+
// D39 item 53 + D51 rule 105: author text — the file's path and each
|
|
90
|
+
// test's name — is escaped here, once, and the thread reports what it is
|
|
91
|
+
// given.
|
|
92
|
+
const path = portablePath(relative(config.root, file));
|
|
93
|
+
const input = {
|
|
94
|
+
entry: outputEntry,
|
|
95
|
+
label: quoteReportedText(path),
|
|
96
|
+
path,
|
|
97
|
+
tests: tests.map((declared) => ({ name: declared.name, title: quoteReportedText(declared.title) })),
|
|
98
|
+
testTimeoutMs: limits.testTimeoutMs,
|
|
99
|
+
settleTimeoutMs: limits.settleTimeoutMs,
|
|
100
|
+
};
|
|
101
|
+
// A thread that a test wedged cannot judge the tests after it, so the
|
|
102
|
+
// file resumes past that test in a fresh thread. Every resume starts
|
|
103
|
+
// beyond the test that ended its predecessor, so the file always
|
|
104
|
+
// finishes.
|
|
105
|
+
let firstIndex = 0;
|
|
106
|
+
for (;;) {
|
|
107
|
+
const outcome = await runTestFileInThread({ ...input, firstIndex });
|
|
108
|
+
passed += outcome.passed;
|
|
109
|
+
failed += outcome.failed;
|
|
110
|
+
if (outcome.resumeAt === null)
|
|
111
|
+
break;
|
|
112
|
+
firstIndex = outcome.resumeAt;
|
|
143
113
|
}
|
|
144
114
|
}
|
|
145
|
-
// Work
|
|
146
|
-
//
|
|
147
|
-
//
|
|
148
|
-
|
|
149
|
-
|
|
115
|
+
// Work the runner itself left behind still fails the run instead of
|
|
116
|
+
// crashing it after the guards come down. A test's own leftover work is no
|
|
117
|
+
// longer among it: the thread that started it was terminated with it. The
|
|
118
|
+
// settle comes first so that a report landing during it is still drained
|
|
119
|
+
// and printed rather than discarded when the channel is released.
|
|
120
|
+
const settled = await channel.settle(limits.settleTimeoutMs);
|
|
121
|
+
const trailing = await channel.drain();
|
|
150
122
|
if (trailing.length > 0) {
|
|
151
123
|
failed += 1;
|
|
152
124
|
process.stderr.write(`✗ an unowned error was reported after the last test\n${trailing.join("\n")}\n`);
|
|
153
125
|
}
|
|
154
|
-
if (
|
|
126
|
+
if (!settled) {
|
|
127
|
+
stuck = true;
|
|
155
128
|
failed += 1;
|
|
156
|
-
process.stderr.write(`✗ ${
|
|
129
|
+
process.stderr.write(`✗ ${unsettledWorkFailure("during this run", limits.settleTimeoutMs)}\n`);
|
|
157
130
|
}
|
|
158
131
|
}
|
|
159
132
|
finally {
|
|
@@ -163,9 +136,9 @@ export async function runTests(config, explicitInput, options = {}) {
|
|
|
163
136
|
process.stdout.write(`\n${passed} passed, ${failed} failed\n`);
|
|
164
137
|
const code = failed === 0 ? 0 : 1;
|
|
165
138
|
if (stuck && limits.exitWhenStuck) {
|
|
166
|
-
// The process cannot end on its own — work
|
|
167
|
-
// event loop. The verdict is already written; ending the run
|
|
168
|
-
// a gate forever on a failure that has already been reported.
|
|
139
|
+
// The process cannot end on its own — work started during this run still
|
|
140
|
+
// holds the event loop. The verdict is already written; ending the run
|
|
141
|
+
// beats hanging a gate forever on a failure that has already been reported.
|
|
169
142
|
await flushOutput(process.stdout);
|
|
170
143
|
await flushOutput(process.stderr);
|
|
171
144
|
process.exit(code);
|
|
@@ -173,23 +146,149 @@ export async function runTests(config, explicitInput, options = {}) {
|
|
|
173
146
|
return code;
|
|
174
147
|
}
|
|
175
148
|
/**
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
149
|
+
* Runs one test file in its own thread.
|
|
150
|
+
*
|
|
151
|
+
* Two bounds a test cannot reach live here. The hard one is termination: a
|
|
152
|
+
* synchronously spinning test never yields to the timer that would report it,
|
|
153
|
+
* so the only bound it obeys is the end of its thread. The quieter one is
|
|
154
|
+
* isolation: a fresh thread evaluates every module in the file's import graph
|
|
155
|
+
* again, so a test file's verdict no longer depends on which files ran before
|
|
156
|
+
* it.
|
|
179
157
|
*/
|
|
180
|
-
async function
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
158
|
+
async function runTestFileInThread(input) {
|
|
159
|
+
const worker = new Worker(testWorkerEntry, { workerData: input, stdout: true, stderr: true });
|
|
160
|
+
worker.stdout.pipe(process.stdout, { end: false });
|
|
161
|
+
worker.stderr.pipe(process.stderr, { end: false });
|
|
162
|
+
let passed = 0;
|
|
163
|
+
let failed = 0;
|
|
164
|
+
let resumeAt = null;
|
|
165
|
+
// Tests up to this index have a verdict. Anything left when the thread ends
|
|
166
|
+
// is a test nobody judged.
|
|
167
|
+
let judged = input.firstIndex;
|
|
168
|
+
let bound = null;
|
|
169
|
+
let failure = null;
|
|
170
|
+
const disarm = () => {
|
|
171
|
+
if (bound !== null)
|
|
172
|
+
clearTimeout(bound);
|
|
173
|
+
bound = null;
|
|
174
|
+
};
|
|
175
|
+
const arm = (timeoutMs, expire) => {
|
|
176
|
+
disarm();
|
|
177
|
+
bound = setTimeout(expire, timeoutMs + workerReportGraceMs);
|
|
178
|
+
};
|
|
179
|
+
// Nothing this thread holds can be trusted and nothing more will be reported
|
|
180
|
+
// from it. Termination is the only bound synchronous work obeys, and reports
|
|
181
|
+
// already in flight are ignored so that a verdict cannot be counted twice.
|
|
182
|
+
let ended = false;
|
|
183
|
+
const abandon = () => {
|
|
184
|
+
ended = true;
|
|
185
|
+
disarm();
|
|
186
|
+
void worker.terminate();
|
|
187
|
+
};
|
|
188
|
+
// The parent is never left waiting without a bound. Between the last report
|
|
189
|
+
// it expects and the thread's own `exit` there is still a wait, and a module
|
|
190
|
+
// whose initialization armed a timer before it failed holds that thread's
|
|
191
|
+
// loop open forever — a hang through a different door than the one the
|
|
192
|
+
// per-test bound closes. Every path that stops expecting reports arms this
|
|
193
|
+
// instead of disarming into an unbounded wait.
|
|
194
|
+
const expectExit = () => {
|
|
195
|
+
arm(input.settleTimeoutMs, abandon);
|
|
196
|
+
};
|
|
197
|
+
const failTest = (index, text) => {
|
|
198
|
+
failed += 1;
|
|
199
|
+
judged = index + 1;
|
|
200
|
+
resumeAt = judged < input.tests.length ? judged : null;
|
|
201
|
+
process.stderr.write(`✗ ${input.label} :: ${input.tests[index].title}\n${text}\n`);
|
|
202
|
+
abandon();
|
|
203
|
+
};
|
|
204
|
+
const failFile = (text) => {
|
|
205
|
+
failed += input.tests.length - judged;
|
|
206
|
+
judged = input.tests.length;
|
|
207
|
+
process.stderr.write(`✗ ${input.path} ${text}\n`);
|
|
208
|
+
abandon();
|
|
209
|
+
};
|
|
210
|
+
// A thread that never reports `ready` never armed a bound of its own.
|
|
211
|
+
arm(input.testTimeoutMs, () => failFile(`did not start within its ${input.testTimeoutMs} millisecond bound`));
|
|
212
|
+
await new Promise((resolve) => {
|
|
213
|
+
worker.on("message", (message) => {
|
|
214
|
+
if (ended)
|
|
215
|
+
return;
|
|
216
|
+
switch (message.kind) {
|
|
217
|
+
case "ready":
|
|
218
|
+
// The thread is up, so the bound from here measures the file's own
|
|
219
|
+
// module initialization rather than thread startup. It stays armed
|
|
220
|
+
// until the first test begins.
|
|
221
|
+
arm(input.testTimeoutMs, () => failFile(`did not finish loading within its ${input.testTimeoutMs} millisecond bound`));
|
|
222
|
+
break;
|
|
223
|
+
case "load":
|
|
224
|
+
// The thread reported the failure itself and is ending; only the
|
|
225
|
+
// count is owed here — and a bound on the ending, because a module
|
|
226
|
+
// that failed after arming a timer never lets the thread end.
|
|
227
|
+
if (!message.ok) {
|
|
228
|
+
failed += input.tests.length - judged;
|
|
229
|
+
judged = input.tests.length;
|
|
230
|
+
expectExit();
|
|
231
|
+
}
|
|
232
|
+
break;
|
|
233
|
+
case "begin":
|
|
234
|
+
arm(input.testTimeoutMs, () => failTest(message.index, `this test did not finish within its ${input.testTimeoutMs} millisecond bound`));
|
|
235
|
+
break;
|
|
236
|
+
case "settling":
|
|
237
|
+
arm(input.settleTimeoutMs, () => failTest(message.index, unsettledWorkFailure("by this test", input.settleTimeoutMs)));
|
|
238
|
+
break;
|
|
239
|
+
case "verdict":
|
|
240
|
+
judged = message.index + 1;
|
|
241
|
+
if (message.passed)
|
|
242
|
+
passed += 1;
|
|
243
|
+
else
|
|
244
|
+
failed += 1;
|
|
245
|
+
if (message.usable) {
|
|
246
|
+
// The next test's `begin` re-arms; after the last one this is the
|
|
247
|
+
// wait for the thread to end, which is bounded like any other.
|
|
248
|
+
expectExit();
|
|
249
|
+
break;
|
|
250
|
+
}
|
|
251
|
+
resumeAt = judged < input.tests.length ? judged : null;
|
|
252
|
+
abandon();
|
|
253
|
+
break;
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
worker.once("error", (error) => { failure = error; });
|
|
257
|
+
worker.once("exit", () => {
|
|
258
|
+
disarm();
|
|
259
|
+
resolve();
|
|
260
|
+
});
|
|
184
261
|
});
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
262
|
+
// Piped output has to reach this process before the runner writes anything of
|
|
263
|
+
// its own, or a verdict overtakes the `print` output of the test it belongs
|
|
264
|
+
// to. A terminated thread may never end its pipes, so the wait is bounded.
|
|
265
|
+
await Promise.all([drainedOutput(worker.stdout), drainedOutput(worker.stderr)]);
|
|
266
|
+
worker.stdout.unpipe(process.stdout);
|
|
267
|
+
worker.stderr.unpipe(process.stderr);
|
|
268
|
+
if (judged < input.tests.length && resumeAt === null) {
|
|
269
|
+
failed += input.tests.length - judged;
|
|
270
|
+
process.stderr.write(`✗ ${input.path} ended before its tests were judged${failure === null ? "" : `\n${hostErrorStack(failure)}`}\n`);
|
|
192
271
|
}
|
|
272
|
+
return { passed, failed, resumeAt };
|
|
273
|
+
}
|
|
274
|
+
function drainedOutput(stream) {
|
|
275
|
+
return new Promise((resolve) => {
|
|
276
|
+
if (stream.readableEnded || stream.destroyed) {
|
|
277
|
+
resolve();
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
let timer = null;
|
|
281
|
+
const finish = () => {
|
|
282
|
+
if (timer !== null)
|
|
283
|
+
clearTimeout(timer);
|
|
284
|
+
stream.off("end", finish);
|
|
285
|
+
stream.off("close", finish);
|
|
286
|
+
resolve();
|
|
287
|
+
};
|
|
288
|
+
timer = setTimeout(finish, workerOutputFlushMs);
|
|
289
|
+
stream.once("end", finish);
|
|
290
|
+
stream.once("close", finish);
|
|
291
|
+
});
|
|
193
292
|
}
|
|
194
293
|
async function discoverTestFiles(root, excluded) {
|
|
195
294
|
const output = [];
|
|
@@ -220,7 +319,4 @@ export async function prepareStandardModules(root, config) {
|
|
|
220
319
|
}
|
|
221
320
|
await writeFile(join(packageRoot, "package.json"), JSON.stringify({ name: "velar", private: true, type: "module", exports }), "utf8");
|
|
222
321
|
}
|
|
223
|
-
function stackOf(error) {
|
|
224
|
-
return hostErrorStack(error);
|
|
225
|
-
}
|
|
226
322
|
//# sourceMappingURL=test-runner.js.map
|