@ploaness/config 1.9.0 → 1.11.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/dist/a11y.d.ts +4 -2
- package/dist/a11y.d.ts.map +1 -1
- package/dist/a11y.js +7 -17
- package/dist/a11y.js.map +1 -1
- package/dist/eslint-core.d.ts +21 -2
- package/dist/eslint-core.d.ts.map +1 -1
- package/dist/eslint-core.js +41 -6
- package/dist/eslint-core.js.map +1 -1
- package/dist/eslint-immutability.d.ts +4 -0
- package/dist/eslint-immutability.d.ts.map +1 -0
- package/dist/eslint-immutability.js +66 -0
- package/dist/eslint-immutability.js.map +1 -0
- package/dist/eslint-javascript-parser.d.ts +3 -0
- package/dist/eslint-javascript-parser.d.ts.map +1 -0
- package/dist/eslint-javascript-parser.js +35 -0
- package/dist/eslint-javascript-parser.js.map +1 -0
- package/dist/eslint-library.d.ts.map +1 -1
- package/dist/eslint-library.js +14 -10
- package/dist/eslint-library.js.map +1 -1
- package/dist/eslint.d.ts.map +1 -1
- package/dist/eslint.js +10 -4
- package/dist/eslint.js.map +1 -1
- package/dist/formatting.d.ts +3 -0
- package/dist/formatting.d.ts.map +1 -0
- package/dist/formatting.js +4 -0
- package/dist/formatting.js.map +1 -0
- package/dist/playwright.d.ts.map +1 -1
- package/dist/playwright.js +16 -4
- package/dist/playwright.js.map +1 -1
- package/dist/production-build.d.ts +13 -0
- package/dist/production-build.d.ts.map +1 -0
- package/dist/production-build.js +32 -0
- package/dist/production-build.js.map +1 -0
- package/dist/production-environment.d.ts +7 -0
- package/dist/production-environment.d.ts.map +1 -0
- package/dist/production-environment.js +20 -0
- package/dist/production-environment.js.map +1 -0
- package/dist/production-server.js +3 -19
- package/dist/production-server.js.map +1 -1
- package/dist/project-settings.d.ts +2 -0
- package/dist/project-settings.d.ts.map +1 -1
- package/dist/project-settings.js +23 -3
- package/dist/project-settings.js.map +1 -1
- package/dist/settle.d.ts +2 -1
- package/dist/settle.d.ts.map +1 -1
- package/dist/settle.js +44 -1
- package/dist/settle.js.map +1 -1
- package/dist/vitest-core.d.ts +2 -0
- package/dist/vitest-core.d.ts.map +1 -1
- package/dist/vitest-core.js +6 -1
- package/dist/vitest-core.js.map +1 -1
- package/dist/vitest-library.d.ts.map +1 -1
- package/dist/vitest-library.js +4 -3
- package/dist/vitest-library.js.map +1 -1
- package/dist/vitest.d.ts.map +1 -1
- package/dist/vitest.js +5 -3
- package/dist/vitest.js.map +1 -1
- package/package.json +28 -15
- package/pins.json +8 -8
- package/prettier-scss.json +7 -0
- package/stylelint.json +25 -2
- package/tsconfig-core.json +1 -1
package/dist/eslint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../src/eslint.ts"],"names":[],"mappings":"AAAA,YAAY;AACZ,EAAE;AACF,iFAAiF;AACjF,EAAE;AACF,+FAA+F;AAC/F,gGAAgG;AAChG,mGAAmG;AACnG,0FAA0F;AAC1F,4FAA4F;AAC5F,EAAE;AACF,oGAAoG;AACpG,4DAA4D;AAE5D,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAClH,EAAE;AACF,iGAAiG;AACjG,wGAAwG;AACxG,kGAAkG;AAClG,4FAA4F;AAC5F,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,OAAO,cAAc,MAAM,+BAA+B,CAAA;AAC1D,OAAO,EACL,UAAU,EACV,OAAO,EAEP,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../src/eslint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"AAEA,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,QAAO,MAAyE,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { fileURLToPath } from 'node:url';
|
|
2
|
+
/** Resolve the formatter from the package that owns its exact dependency version. */
|
|
3
|
+
export const prettierExecutable = () => fileURLToPath(import.meta.resolve('prettier/bin/prettier.cjs'));
|
|
4
|
+
//# sourceMappingURL=formatting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,qFAAqF;AACrF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAW,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAA"}
|
package/dist/playwright.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"AAoJA,QAAA,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAmB,CAAA;AAEjE,eAAe,MAAM,CAAA"}
|
package/dist/playwright.js
CHANGED
|
@@ -13,6 +13,7 @@ import { existsSync } from 'node:fs';
|
|
|
13
13
|
import { fileURLToPath } from 'node:url';
|
|
14
14
|
import { defineConfig, devices } from '@playwright/test';
|
|
15
15
|
import { browserServerEndpoint, canReuseBrowserServer, portOf, runEnvironmentFiles, shellArgument, VERIFICATION_ENVIRONMENT_VARIABLE, } from '@ploaness/governance';
|
|
16
|
+
import { loadProductionEnvironment } from './production-environment.js';
|
|
16
17
|
import { projectSettings } from './project-settings.js';
|
|
17
18
|
// Read before anything else, because a spec module is what needs it. Playwright evaluates this config
|
|
18
19
|
// in the runner and again in every worker, which makes it the one place a value reaches both the pass
|
|
@@ -21,12 +22,17 @@ import { projectSettings } from './project-settings.js';
|
|
|
21
22
|
// import time, and that config validates `process.env` at module scope. Nothing else here reads these
|
|
22
23
|
// variables; the specs and the application do. A `globalSetup` hook would not serve, because it runs
|
|
23
24
|
// in a process of its own and its environment never reaches a worker.
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
const isVerification = process.env[VERIFICATION_ENVIRONMENT_VARIABLE] !== undefined;
|
|
26
|
+
if (isVerification) {
|
|
27
|
+
loadProductionEnvironment(process.cwd());
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
for (const file of runEnvironmentFiles(existsSync)) {
|
|
31
|
+
process.loadEnvFile(file);
|
|
32
|
+
}
|
|
26
33
|
}
|
|
27
34
|
const isContinuousIntegration = Boolean(process.env['CI']);
|
|
28
35
|
const isReuseExistingServer = canReuseBrowserServer(process.env);
|
|
29
|
-
const isVerification = process.env[VERIFICATION_ENVIRONMENT_VARIABLE] !== undefined;
|
|
30
36
|
const productionLauncher = fileURLToPath(new URL('production-server.js', import.meta.url));
|
|
31
37
|
// The web server is `next dev`, which compiles a route on its first request. The first hit to the heavy
|
|
32
38
|
// Payload admin bundle can exceed the 30s Playwright default on a cold runner, so the budget gives
|
|
@@ -44,6 +50,12 @@ const CI_RETRIES = 2;
|
|
|
44
50
|
// rather than setting PORT to the string "undefined".
|
|
45
51
|
const withPort = (base, port) => (port === undefined ? base : { ...base, PORT: port });
|
|
46
52
|
const declaredPort = portOf(projectSettings.serverUrl);
|
|
53
|
+
// Next's environment loader marks the process once it has loaded the environment files, and skips
|
|
54
|
+
// loading in any process that inherits the mark. A verification run loads this package's files above,
|
|
55
|
+
// and Playwright starts every server on top of the runner's own environment, so without clearing the
|
|
56
|
+
// mark a sibling application would boot without the files in its own directory. The loader treats an
|
|
57
|
+
// empty value as unset; Playwright offers no way to remove an inherited variable.
|
|
58
|
+
const NEXT_PROCESSED_ENVIRONMENT_MARK = '__NEXT_PROCESSED_ENV';
|
|
47
59
|
const declared = defineConfig({
|
|
48
60
|
testDir: './tests/e2e',
|
|
49
61
|
timeout: TEST_TIMEOUT_MS,
|
|
@@ -87,7 +99,7 @@ const declared = defineConfig({
|
|
|
87
99
|
// is long.
|
|
88
100
|
timeout: SERVER_TIMEOUT_MS,
|
|
89
101
|
...(server.cwd !== undefined && { cwd: server.cwd }),
|
|
90
|
-
env: withPort({ NODE_OPTIONS: '--no-deprecation' }, portOf(server.url)),
|
|
102
|
+
env: withPort({ NODE_OPTIONS: '--no-deprecation', [NEXT_PROCESSED_ENVIRONMENT_MARK]: '' }, portOf(server.url)),
|
|
91
103
|
})),
|
|
92
104
|
{
|
|
93
105
|
// Invoked as a bare binary rather than through a package script, because a nested package manager
|
package/dist/playwright.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"AAAA,wGAAwG;AACxG,yFAAyF;AACzF,EAAE;AACF,mGAAmG;AACnG,wGAAwG;AACxG,mHAAmH;AACnH,uGAAuG;AACvG,sGAAsG;AACtG,sGAAsG;AACtG,wGAAwG;AACxG,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,MAAM,EACN,mBAAmB,EACnB,aAAa,EACb,iCAAiC,GAClC,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAEvD,sGAAsG;AACtG,sGAAsG;AACtG,qGAAqG;AACrG,kGAAkG;AAClG,sGAAsG;AACtG,qGAAqG;AACrG,sEAAsE;AACtE,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type ProductionOutput } from '@ploaness/governance';
|
|
2
|
+
/** The verified location and metadata shared by browser startup and bundle measurement. */
|
|
3
|
+
export interface ProductionBuild {
|
|
4
|
+
readonly directory: string;
|
|
5
|
+
readonly output: ProductionOutput;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Load production configuration and require the build markers Next emits for server output.
|
|
9
|
+
* @param root the application directory, in a process running with the production environment.
|
|
10
|
+
* @returns the configured output directory and its recorded server layout.
|
|
11
|
+
*/
|
|
12
|
+
export declare const readProductionBuild: (root: string) => Promise<ProductionBuild>;
|
|
13
|
+
//# sourceMappingURL=production-build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-build.d.ts","sourceRoot":"","sources":["../src/production-build.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,gBAAgB,EAA+B,MAAM,sBAAsB,CAAA;AAKzF,2FAA2F;AAC3F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAA;CAClC;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,eAAe,CAmB/E,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
// Resolve the application's production artifact through its own installed Next configuration loader.
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
import { createRequire } from 'node:module';
|
|
4
|
+
import path from 'node:path';
|
|
5
|
+
import { productionOutputOf, readKey } from '@ploaness/governance';
|
|
6
|
+
const isLoader = (value) => typeof value === 'function';
|
|
7
|
+
/**
|
|
8
|
+
* Load production configuration and require the build markers Next emits for server output.
|
|
9
|
+
* @param root the application directory, in a process running with the production environment.
|
|
10
|
+
* @returns the configured output directory and its recorded server layout.
|
|
11
|
+
*/
|
|
12
|
+
export const readProductionBuild = async (root) => {
|
|
13
|
+
const requireProject = createRequire(path.join(root, 'package.json'));
|
|
14
|
+
const loadModule = requireProject('next/dist/server/config.js');
|
|
15
|
+
const load = readKey(loadModule, 'default');
|
|
16
|
+
if (!isLoader(load)) {
|
|
17
|
+
throw new TypeError('the installed Next configuration loader is unavailable');
|
|
18
|
+
}
|
|
19
|
+
const config = await load('phase-production-server', root);
|
|
20
|
+
const distributionDirectory = readKey(config, 'distDir');
|
|
21
|
+
if (typeof distributionDirectory !== 'string' || readKey(config, 'output') === 'export') {
|
|
22
|
+
throw new TypeError('production verification needs Next server output; static export is unsupported');
|
|
23
|
+
}
|
|
24
|
+
const directory = path.resolve(root, distributionDirectory);
|
|
25
|
+
const manifestPath = path.join(directory, 'required-server-files.json');
|
|
26
|
+
if (!(existsSync(path.join(directory, 'BUILD_ID')) && existsSync(manifestPath))) {
|
|
27
|
+
throw new Error(`production output is missing under ${directory}; run the build gate first`);
|
|
28
|
+
}
|
|
29
|
+
const manifest = JSON.parse(readFileSync(manifestPath, 'utf8'));
|
|
30
|
+
return { directory, output: productionOutputOf(manifest) };
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=production-build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-build.js","sourceRoot":"","sources":["../src/production-build.ts"],"names":[],"mappings":"AAAA,qGAAqG;AACrG,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAyB,kBAAkB,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAGzF,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAyB,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,CAAA;AAQvF;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,IAAY,EAA4B,EAAE;IAClF,MAAM,cAAc,GAAmB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAA;IACrF,MAAM,UAAU,GAAY,cAAc,CAAC,4BAA4B,CAAC,CAAA;IACxE,MAAM,IAAI,GAAY,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;IACpD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAA;IAC/E,CAAC;IACD,MAAM,MAAM,GAAY,MAAM,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAA;IACnE,MAAM,qBAAqB,GAAY,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;IACjE,IAAI,OAAO,qBAAqB,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxF,MAAM,IAAI,SAAS,CAAC,gFAAgF,CAAC,CAAA;IACvG,CAAC;IACD,MAAM,SAAS,GAAW,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAA;IACnE,MAAM,YAAY,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAA;IAC/E,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,sCAAsC,SAAS,4BAA4B,CAAC,CAAA;IAC9F,CAAC;IACD,MAAM,QAAQ,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IACxE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAA;AAC5D,CAAC,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prepare spec imports with the same environment expansion and precedence as the installed Next build.
|
|
3
|
+
* The caller runs with NODE_ENV=production, as the end-to-end gate requires.
|
|
4
|
+
* @param root the application directory.
|
|
5
|
+
*/
|
|
6
|
+
export declare const loadProductionEnvironment: (root: string) => void;
|
|
7
|
+
//# sourceMappingURL=production-environment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-environment.d.ts","sourceRoot":"","sources":["../src/production-environment.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GAAI,MAAM,MAAM,KAAG,IASxD,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { readKey } from '@ploaness/governance';
|
|
4
|
+
const isLoader = (value) => typeof value === 'function';
|
|
5
|
+
/**
|
|
6
|
+
* Prepare spec imports with the same environment expansion and precedence as the installed Next build.
|
|
7
|
+
* The caller runs with NODE_ENV=production, as the end-to-end gate requires.
|
|
8
|
+
* @param root the application directory.
|
|
9
|
+
*/
|
|
10
|
+
export const loadProductionEnvironment = (root) => {
|
|
11
|
+
const requireProject = createRequire(path.join(root, 'package.json'));
|
|
12
|
+
const requireNext = createRequire(requireProject.resolve('next/package.json'));
|
|
13
|
+
const environmentModule = requireNext('@next/env');
|
|
14
|
+
const load = readKey(environmentModule, 'loadEnvConfig');
|
|
15
|
+
if (!isLoader(load)) {
|
|
16
|
+
throw new TypeError('the installed Next production environment loader is unavailable');
|
|
17
|
+
}
|
|
18
|
+
load(root, false);
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=production-environment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"production-environment.js","sourceRoot":"","sources":["../src/production-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAG9C,MAAM,QAAQ,GAAG,CAAC,KAAc,EAA8B,EAAE,CAAC,OAAO,KAAK,KAAK,UAAU,CAAA;AAE5F;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,IAAY,EAAQ,EAAE;IAC9D,MAAM,cAAc,GAAmB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAA;IACrF,MAAM,WAAW,GAAmB,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAA;IAC9F,MAAM,iBAAiB,GAAY,WAAW,CAAC,WAAW,CAAC,CAAA;IAC3D,MAAM,IAAI,GAAY,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAA;IACjE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,SAAS,CAAC,iEAAiE,CAAC,CAAA;IACxF,CAAC;IACD,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACnB,CAAC,CAAA"}
|
|
@@ -1,29 +1,13 @@
|
|
|
1
1
|
// The verified browser suite starts the production artifact using the application's own Next install.
|
|
2
2
|
import { spawn } from 'node:child_process';
|
|
3
|
-
import { cpSync, existsSync
|
|
3
|
+
import { cpSync, existsSync } from 'node:fs';
|
|
4
4
|
import { createRequire } from 'node:module';
|
|
5
5
|
import path from 'node:path';
|
|
6
6
|
import { pathToFileURL } from 'node:url';
|
|
7
|
-
import {
|
|
8
|
-
const isLoader = (value) => typeof value === 'function';
|
|
7
|
+
import { readProductionBuild } from './production-build.js';
|
|
9
8
|
const root = process.cwd();
|
|
10
9
|
const requireProject = createRequire(path.join(root, 'package.json'));
|
|
11
|
-
const
|
|
12
|
-
const load = readKey(loadModule, 'default');
|
|
13
|
-
if (!isLoader(load)) {
|
|
14
|
-
throw new TypeError('the installed Next configuration loader is unavailable');
|
|
15
|
-
}
|
|
16
|
-
const config = await load('phase-production-server', root);
|
|
17
|
-
const distributionDirectory = readKey(config, 'distDir');
|
|
18
|
-
if (typeof distributionDirectory !== 'string' || readKey(config, 'output') === 'export') {
|
|
19
|
-
throw new TypeError('production browser verification needs Next server output; static export is unsupported');
|
|
20
|
-
}
|
|
21
|
-
const directory = path.resolve(root, distributionDirectory);
|
|
22
|
-
if (!(existsSync(path.join(directory, 'BUILD_ID')) && existsSync(path.join(directory, 'required-server-files.json')))) {
|
|
23
|
-
throw new Error(`production output is missing under ${directory}; run ploaness gate e2e to rebuild and verify`);
|
|
24
|
-
}
|
|
25
|
-
const manifest = JSON.parse(readFileSync(path.join(directory, 'required-server-files.json'), 'utf8'));
|
|
26
|
-
const output = productionOutputOf(manifest);
|
|
10
|
+
const { directory, output } = await readProductionBuild(root);
|
|
27
11
|
const standaloneRoot = path.join(directory, 'standalone', output.relativeAppDir);
|
|
28
12
|
const copyAssets = () => {
|
|
29
13
|
for (const [source, destination] of [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-server.js","sourceRoot":"","sources":["../src/production-server.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,OAAO,EAAqB,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"production-server.js","sourceRoot":"","sources":["../src/production-server.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,OAAO,EAAqB,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAwB,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEjF,MAAM,IAAI,GAAW,OAAO,CAAC,GAAG,EAAE,CAAA;AAClC,MAAM,cAAc,GAAmB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAA;AACrF,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAoB,MAAM,mBAAmB,CAAC,IAAI,CAAC,CAAA;AAC9E,MAAM,cAAc,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;AAExF,MAAM,UAAU,GAAG,GAAS,EAAE;IAC5B,KAAK,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI;QAClC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAChE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC7E,EAAE,CAAC;QACX,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;IACtB,UAAU,EAAE,CAAA;IACZ,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;AAC1E,CAAC;KAAM,CAAC;IACN,MAAM,KAAK,GAAiB,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,EAAE;QAC3G,KAAK,EAAE,SAAS;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE;KAChD,CAAC,CAAA;IACF,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;QACpD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAS,EAAE;YAC5B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpB,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAQ,EAAE;QACvC,MAAM,KAAK,CAAA;IACb,CAAC,CAAC,CAAA;IACF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAmB,EAAQ,EAAE;QAC7C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;YACpB,OAAM;QACR,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAA;IACzB,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
import { type Settings } from '@ploaness/governance';
|
|
2
|
+
/** The member whose settings these are: the directory its tools are invoked in. */
|
|
3
|
+
export declare const projectDirectory: string;
|
|
2
4
|
export declare const projectSettings: Settings;
|
|
3
5
|
//# sourceMappingURL=project-settings.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-settings.d.ts","sourceRoot":"","sources":["../src/project-settings.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"project-settings.d.ts","sourceRoot":"","sources":["../src/project-settings.ts"],"names":[],"mappings":"AAGA,OAAO,EAOL,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAA;AAiD7B,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,EAAE,MAAsB,CAAA;AAerD,eAAO,MAAM,eAAe,EAAE,QAM7B,CAAA"}
|
package/dist/project-settings.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Read the consumer's settings from the working directory, where its tools are invoked.
|
|
2
2
|
import { readFileSync } from 'node:fs';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
import { ploanessBlock, readMemberSettings, readSettings } from '@ploaness/governance';
|
|
4
|
+
import { asRecord, isArray, parseJsonc, ploanessBlock, readMemberSettings, readSettings, } from '@ploaness/governance';
|
|
5
5
|
// A project whose package.json cannot be read gets the defaults, which are the strict end of every
|
|
6
6
|
// setting. Failing to parse must never be the thing that loosens a threshold.
|
|
7
7
|
// `unknown` rather than the parse's own `any`: `readSettings` narrows every field it reads, so handing
|
|
@@ -41,7 +41,27 @@ const settingsFor = (member) => {
|
|
|
41
41
|
// append every additive list to a copy of itself rather than leaving it alone.
|
|
42
42
|
return readSettings(own);
|
|
43
43
|
}
|
|
44
|
-
return readMemberSettings(ploanessBlock(readPackageJson(repositoryRoot)), ploanessBlock(own));
|
|
44
|
+
return readMemberSettings(ploanessBlock(readPackageJson(repositoryRoot)), ploanessBlock(own), path.relative(repositoryRoot, member).split(path.sep).join('/'));
|
|
45
|
+
};
|
|
46
|
+
/** The member whose settings these are: the directory its tools are invoked in. */
|
|
47
|
+
export const projectDirectory = process.cwd();
|
|
48
|
+
const settings = settingsFor(projectDirectory);
|
|
49
|
+
// The wiring gate validates these exclusions against the discovered member boundaries.
|
|
50
|
+
const compilerBoundaries = () => {
|
|
51
|
+
try {
|
|
52
|
+
const contents = readFileSync(path.join(projectDirectory, 'tsconfig.json'), 'utf8');
|
|
53
|
+
const raw = asRecord(parseJsonc(contents).value)['exclude'];
|
|
54
|
+
return isArray(raw) ? raw.filter((entry) => typeof entry === 'string') : [];
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return [];
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
export const projectSettings = {
|
|
61
|
+
...settings,
|
|
62
|
+
coverageExclude: [
|
|
63
|
+
...settings.coverageExclude,
|
|
64
|
+
...compilerBoundaries().map((directory) => `${directory}/**`),
|
|
65
|
+
],
|
|
45
66
|
};
|
|
46
|
-
export const projectSettings = settingsFor(process.cwd());
|
|
47
67
|
//# sourceMappingURL=project-settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-settings.js","sourceRoot":"","sources":["../src/project-settings.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"project-settings.js","sourceRoot":"","sources":["../src/project-settings.ts"],"names":[],"mappings":"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"}
|
package/dist/settle.d.ts
CHANGED
|
@@ -5,7 +5,8 @@ import type { Page } from '@playwright/test';
|
|
|
5
5
|
* Call it after a navigation, and after a state change a scan is about to judge. A still document
|
|
6
6
|
* costs two animation frames; one that is animating costs however long its animations have left; a
|
|
7
7
|
* document that never stops changing costs the budget and no more, so a page nobody can settle slows
|
|
8
|
-
* the sweep rather than hanging it.
|
|
8
|
+
* the sweep rather than hanging it. A visible `aria-busy="true"` region is waited for until it clears,
|
|
9
|
+
* on a longer ceiling of its own, and the page is then settled again.
|
|
9
10
|
* @param page the page about to be scanned, left on whatever route it holds.
|
|
10
11
|
* @returns nothing. It resolves whether the page settled or the budget ran out.
|
|
11
12
|
*/
|
package/dist/settle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settle.d.ts","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"settle.d.ts","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AA6L5C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,GAAU,MAAM,IAAI,KAAG,OAAO,CAAC,IAAI,CAc5D,CAAA"}
|
package/dist/settle.js
CHANGED
|
@@ -50,6 +50,18 @@
|
|
|
50
50
|
// `evaluate`: a Node-side race would leave the in-page promise pending against a context the next
|
|
51
51
|
// navigation destroys.
|
|
52
52
|
const SETTLE_BUDGET_MS = 1000;
|
|
53
|
+
// WHY A BUSY REGION IS WAITED FOR, AND ON A CEILING OF ITS OWN. `aria-busy="true"` is a page saying
|
|
54
|
+
// in so many words that a region is still being filled, and a framework's loading fallback says it:
|
|
55
|
+
// Next streams a route's content into a hidden container and React reveals it in place of the busy
|
|
56
|
+
// fallback a moment later, throttled, so on a loaded machine the fallback is still what a reader sees
|
|
57
|
+
// two quiet frames after `load`. Scanned then, the sweep judged a spinner instead of the page - the
|
|
58
|
+
// page's heading sat in the hidden container, so a document that has one was reported without it, and a
|
|
59
|
+
// region-scoped scan before that had passed the spinner without judging the page at all. Only a
|
|
60
|
+
// VISIBLE busy element holds the settle, because a fallback React has hidden is not what anyone reads.
|
|
61
|
+
// The wait is bounded separately because it is for a server rather than a frame: a cold application
|
|
62
|
+
// compiling its first request takes seconds, while a region that is busy forever is a defect the scan
|
|
63
|
+
// that follows should see rather than one this wait should hide by hanging.
|
|
64
|
+
const BUSY_BUDGET_MS = 30_000;
|
|
53
65
|
// Everything this function needs is inside it. Playwright ships a page function to the browser as its
|
|
54
66
|
// own source text, so a reference to anything at module scope here would be a ReferenceError in the
|
|
55
67
|
// page rather than a compile error in this file - the one mistake this shape cannot be checked for.
|
|
@@ -111,19 +123,50 @@ const settleInPage = async (budgetMs) => {
|
|
|
111
123
|
};
|
|
112
124
|
await Promise.race([settled(), deadline()]);
|
|
113
125
|
};
|
|
126
|
+
// Self-contained for the same reason as the settle above. Frame by frame, like the count, so a region
|
|
127
|
+
// revealed between two checks is seen on the next. Answers whether anything was busy at all, so a page
|
|
128
|
+
// that never was is not settled a second time.
|
|
129
|
+
const wasBusyInPage = async (budgetMs) => {
|
|
130
|
+
const busySelector = '[aria-busy="true"]';
|
|
131
|
+
const isBusy = () => Array.from(document.querySelectorAll(busySelector)).some((element) => element.checkVisibility());
|
|
132
|
+
const wasBusy = isBusy();
|
|
133
|
+
const revealed = async () => {
|
|
134
|
+
if (!isBusy()) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
await new Promise((resolve) => {
|
|
138
|
+
requestAnimationFrame(() => {
|
|
139
|
+
resolve();
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
await revealed();
|
|
143
|
+
};
|
|
144
|
+
await Promise.race([
|
|
145
|
+
revealed(),
|
|
146
|
+
new Promise((resolve) => {
|
|
147
|
+
setTimeout(resolve, budgetMs);
|
|
148
|
+
}),
|
|
149
|
+
]);
|
|
150
|
+
return wasBusy;
|
|
151
|
+
};
|
|
114
152
|
/**
|
|
115
153
|
* Wait for a page to finish rendering, before anything measures it.
|
|
116
154
|
*
|
|
117
155
|
* Call it after a navigation, and after a state change a scan is about to judge. A still document
|
|
118
156
|
* costs two animation frames; one that is animating costs however long its animations have left; a
|
|
119
157
|
* document that never stops changing costs the budget and no more, so a page nobody can settle slows
|
|
120
|
-
* the sweep rather than hanging it.
|
|
158
|
+
* the sweep rather than hanging it. A visible `aria-busy="true"` region is waited for until it clears,
|
|
159
|
+
* on a longer ceiling of its own, and the page is then settled again.
|
|
121
160
|
* @param page the page about to be scanned, left on whatever route it holds.
|
|
122
161
|
* @returns nothing. It resolves whether the page settled or the budget ran out.
|
|
123
162
|
*/
|
|
124
163
|
export const settleForScan = async (page) => {
|
|
125
164
|
try {
|
|
126
165
|
await page.evaluate(settleInPage, SETTLE_BUDGET_MS);
|
|
166
|
+
// Revealing the content changes the tree, so a page that was busy is settled once more after it.
|
|
167
|
+
if (await page.evaluate(wasBusyInPage, BUSY_BUDGET_MS)) {
|
|
168
|
+
await page.evaluate(settleInPage, SETTLE_BUDGET_MS);
|
|
169
|
+
}
|
|
127
170
|
}
|
|
128
171
|
catch {
|
|
129
172
|
// A route that redirects on mount destroys the execution context while this is in flight, and a
|
package/dist/settle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settle.js","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"AAGA,oGAAoG;AACpG,oGAAoG;AACpG,oGAAoG;AACpG,uEAAuE;AACvE,EAAE;AACF,qGAAqG;AACrG,oGAAoG;AACpG,oGAAoG;AACpG,qGAAqG;AACrG,uGAAuG;AACvG,gGAAgG;AAChG,wDAAwD;AACxD,sGAAsG;AACtG,sGAAsG;AACtG,kGAAkG;AAClG,0BAA0B;AAC1B,EAAE;AACF,uGAAuG;AACvG,mGAAmG;AACnG,gGAAgG;AAChG,mGAAmG;AACnG,qGAAqG;AACrG,sGAAsG;AACtG,uGAAuG;AACvG,8FAA8F;AAC9F,EAAE;AACF,mGAAmG;AACnG,uGAAuG;AACvG,oGAAoG;AACpG,qGAAqG;AACrG,mGAAmG;AACnG,+FAA+F;AAC/F,EAAE;AACF,qGAAqG;AACrG,mGAAmG;AACnG,yFAAyF;AACzF,EAAE;AACF,mGAAmG;AACnG,uGAAuG;AACvG,gEAAgE;AAChE,EAAE;AACF,mGAAmG;AACnG,qGAAqG;AACrG,sGAAsG;AACtG,+DAA+D;AAC/D,EAAE;AACF,8FAA8F;AAC9F,uGAAuG;AACvG,4FAA4F;AAC5F,kGAAkG;AAClG,uBAAuB;AACvB,MAAM,gBAAgB,GAAW,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"settle.js","sourceRoot":"","sources":["../src/settle.ts"],"names":[],"mappings":"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"}
|
package/dist/vitest-core.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/** Vite must transform every accepted TypeScript format, including CommonJS TypeScript. */
|
|
2
|
+
export declare const TEST_TRANSFORM_INCLUDE: RegExp;
|
|
1
3
|
/**
|
|
2
4
|
* The sequence block both Vitest configs declare, named so each carries the same shape rather than a
|
|
3
5
|
* structural type inferred separately at two call sites.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-core.d.ts","sourceRoot":"","sources":["../src/vitest-core.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vitest-core.d.ts","sourceRoot":"","sources":["../src/vitest-core.ts"],"names":[],"mappings":"AAkBA,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB,EAAE,MAA0D,CAAA;AAE/F;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAA;IACtE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAWD;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAW,CAAA;AAE5C;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAsB,CAAA;AASvD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,QAAO,MAAoE,CAAA;AAExG;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,QAAO,SAAS,MAAM,EACkC,CAAA;AAEtF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,qBAWnC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,CAAC,gBAAgB,EAAE;IAAE,UAAU,EAAE;QAAE,OAAO,EAAE,KAAK,CAAA;KAAE,CAAA;CAAE,CAAC,CAAA;AAE9F;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,aAAa,EAG5D,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,QAAO,SAAS,aAAa,EAC4B,CAAA"}
|
package/dist/vitest-core.js
CHANGED
|
@@ -6,7 +6,12 @@
|
|
|
6
6
|
import { existsSync } from 'node:fs';
|
|
7
7
|
import path from 'node:path';
|
|
8
8
|
import { fileURLToPath } from 'node:url';
|
|
9
|
-
import { PROJECT_SETUP_FILE as PROJECT_SETUP_FILE_NAME } from '@ploaness/governance';
|
|
9
|
+
import { escapeForRegex, PROJECT_SETUP_FILE as PROJECT_SETUP_FILE_NAME, TYPESCRIPT_SOURCE_EXTENSIONS, } from '@ploaness/governance';
|
|
10
|
+
const TRANSFORM_EXTENSION_PATTERN = [...TYPESCRIPT_SOURCE_EXTENSIONS, '.jsx']
|
|
11
|
+
.map((extension) => escapeForRegex(extension))
|
|
12
|
+
.join('|');
|
|
13
|
+
/** Vite must transform every accepted TypeScript format, including CommonJS TypeScript. */
|
|
14
|
+
export const TEST_TRANSFORM_INCLUDE = new RegExp(`(?:${TRANSFORM_EXTENSION_PATTERN})$`);
|
|
10
15
|
/**
|
|
11
16
|
* The setup file a project writes for itself, if it wants one, as this config must spell it.
|
|
12
17
|
*
|
package/dist/vitest-core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-core.js","sourceRoot":"","sources":["../src/vitest-core.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,wGAAwG;AACxG,oGAAoG;AACpG,+CAA+C;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,
|
|
1
|
+
{"version":3,"file":"vitest-core.js","sourceRoot":"","sources":["../src/vitest-core.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,wGAAwG;AACxG,oGAAoG;AACpG,+CAA+C;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EACL,cAAc,EACd,kBAAkB,IAAI,uBAAuB,EAC7C,4BAA4B,GAC7B,MAAM,sBAAsB,CAAA;AAE7B,MAAM,2BAA2B,GAAW,CAAC,GAAG,4BAA4B,EAAE,MAAM,CAAC;KAClF,GAAG,CAAC,CAAC,SAAiB,EAAU,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;KAC7D,IAAI,CAAC,GAAG,CAAC,CAAA;AAEZ,2FAA2F;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAW,IAAI,MAAM,CAAC,MAAM,2BAA2B,IAAI,CAAC,CAAA;AAc/F;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAW,KAAK,uBAAuB,EAAE,CAAA;AAEjE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAW,EAAE,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAW,aAAa,CAAA;AAEvD,yGAAyG;AACzG,wGAAwG;AACxG,qGAAqG;AACrG,uGAAuG;AACvG,kEAAkE;AAClE,MAAM,eAAe,GAAW,aAAa,CAAA;AAE7C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAW,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAExG;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAsB,EAAE,CACvD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AAEtF;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAA0B,MAAM,CAAC,MAAM,CAAC;IACzE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACpD,IAAI,EAAE,eAAe;IACrB,2FAA2F;IAC3F,4FAA4F;IAC5F,UAAU,EAAE,KAAK;IACjB,2FAA2F;IAC3F,KAAK,EAAE,OAAO;IACd,kGAAkG;IAClG,iGAAiG;IACjG,UAAU,EAAE,MAAM;CACnB,CAAC,CAAA;AAWF;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA6B;IAChE,SAAS;IACT,CAAC,gBAAgB,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;CACvD,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,GAA6B,EAAE,CAC1D,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-library.d.ts","sourceRoot":"","sources":["../src/vitest-library.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vitest-library.d.ts","sourceRoot":"","sources":["../src/vitest-library.ts"],"names":[],"mappings":"AA2CA,QAAA,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAmB,CAAA;AAEjE,eAAe,MAAM,CAAA"}
|
package/dist/vitest-library.js
CHANGED
|
@@ -5,11 +5,12 @@
|
|
|
5
5
|
// paying for jsdom on every file would be waste; and the React plugin is not loaded, because a package
|
|
6
6
|
// with no components has nothing for it to transform. The coverage floors, the deterministic sequence
|
|
7
7
|
// and the network guard are the same ones an application is held to.
|
|
8
|
-
import {
|
|
8
|
+
import { coverageIncludes } from '@ploaness/governance';
|
|
9
9
|
import { defineConfig } from 'vitest/config';
|
|
10
10
|
import { projectSettings as settings } from './project-settings.js';
|
|
11
|
-
import { COVERAGE_THRESHOLD, DETERMINISTIC_SEQUENCE, harnessSetupFile, projectSetupFiles } from './vitest-core.js';
|
|
11
|
+
import { COVERAGE_THRESHOLD, DETERMINISTIC_SEQUENCE, harnessSetupFile, projectSetupFiles, TEST_TRANSFORM_INCLUDE, } from './vitest-core.js';
|
|
12
12
|
const declared = defineConfig({
|
|
13
|
+
oxc: { include: TEST_TRANSFORM_INCLUDE },
|
|
13
14
|
resolve: { tsconfigPaths: true },
|
|
14
15
|
test: {
|
|
15
16
|
environment: 'node',
|
|
@@ -18,7 +19,7 @@ const declared = defineConfig({
|
|
|
18
19
|
sequence: DETERMINISTIC_SEQUENCE,
|
|
19
20
|
coverage: {
|
|
20
21
|
provider: 'v8',
|
|
21
|
-
include: [...
|
|
22
|
+
include: [...coverageIncludes(settings.sourceRoots)],
|
|
22
23
|
exclude: [...settings.coverageExclude],
|
|
23
24
|
thresholds: {
|
|
24
25
|
perFile: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest-library.js","sourceRoot":"","sources":["../src/vitest-library.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,uGAAuG;AACvG,oGAAoG;AACpG,uGAAuG;AACvG,sGAAsG;AACtG,qEAAqE;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"vitest-library.js","sourceRoot":"","sources":["../src/vitest-library.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,uGAAuG;AACvG,oGAAoG;AACpG,uGAAuG;AACvG,sGAAsG;AACtG,qEAAqE;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,kBAAkB,CAAA;AAEzB,MAAM,QAAQ,GAAoC,YAAY,CAAC;IAC7D,GAAG,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE;IACxC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IAChC,IAAI,EAAE;QACJ,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,CAAC,8BAA8B,EAAE,4BAA4B,CAAC;QACvE,UAAU,EAAE,CAAC,gBAAgB,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC;QACxD,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACpD,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC;YACtC,UAAU,EAAE;gBACV,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,kBAAkB;gBACzB,QAAQ,EAAE,kBAAkB;gBAC5B,SAAS,EAAE,kBAAkB;gBAC7B,UAAU,EAAE,kBAAkB;aAC/B;SACF;KACF;CACF,CAAC,CAAA;AAEF,sGAAsG;AACtG,6FAA6F;AAC7F,MAAM,MAAM,GAAsC,EAAE,GAAG,QAAQ,EAAE,CAAA;AAEjE,eAAe,MAAM,CAAA"}
|
package/dist/vitest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vitest.d.ts","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"AAwIA,QAAA,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAmB,CAAA;AAEjE,eAAe,MAAM,CAAA"}
|
package/dist/vitest.js
CHANGED
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
// instead of silently escaping an allowlist nobody remembered to extend. With `include` set, Vitest
|
|
9
9
|
// counts every matching file even when no test imports it, so an untested unit scores zero and fails the
|
|
10
10
|
// gate rather than being invisible.
|
|
11
|
-
import {
|
|
11
|
+
import { coverageIncludes } from '@ploaness/governance';
|
|
12
12
|
import react from '@vitejs/plugin-react';
|
|
13
13
|
import { defineConfig } from 'vitest/config';
|
|
14
14
|
import { projectSettings as settings } from './project-settings.js';
|
|
15
|
-
import { COVERAGE_THRESHOLD, DETERMINISTIC_SEQUENCE, harnessSetupFile, projectSetupFiles, testReporters, } from './vitest-core.js';
|
|
15
|
+
import { COVERAGE_THRESHOLD, DETERMINISTIC_SEQUENCE, harnessSetupFile, projectSetupFiles, TEST_TRANSFORM_INCLUDE, testReporters, } from './vitest-core.js';
|
|
16
16
|
// The environment is per suite rather than per repository, and that split is load-bearing rather than
|
|
17
17
|
// tidy. `jsdom` installs its OWN realm's globals, typed-array constructors included, so a Node `Buffer`
|
|
18
18
|
// fails `input instanceof Uint8Array` inside any library that guards its input that way - the check
|
|
@@ -52,6 +52,7 @@ const SUITES = [
|
|
|
52
52
|
const suiteProject = (suite) => ({
|
|
53
53
|
extends: false,
|
|
54
54
|
plugins: [react()],
|
|
55
|
+
oxc: { include: TEST_TRANSFORM_INCLUDE },
|
|
55
56
|
// Vite resolves the project's path aliases from tsconfig natively, so no extra plugin is needed.
|
|
56
57
|
resolve: { tsconfigPaths: true },
|
|
57
58
|
test: {
|
|
@@ -85,6 +86,7 @@ const suiteProject = (suite) => ({
|
|
|
85
86
|
// the dependency the annotation below exists to avoid. This binding is module-local, so it reaches no
|
|
86
87
|
// declaration file either way.
|
|
87
88
|
const declared = defineConfig({
|
|
89
|
+
oxc: { include: TEST_TRANSFORM_INCLUDE },
|
|
88
90
|
test: {
|
|
89
91
|
// Vitest resolves the seed and cross-project file order from the root configuration.
|
|
90
92
|
sequence: DETERMINISTIC_SEQUENCE,
|
|
@@ -98,7 +100,7 @@ const declared = defineConfig({
|
|
|
98
100
|
reporter: ['text', 'html', 'lcov'],
|
|
99
101
|
// Imported rather than written here: the exclusion-reach rule judges a declared exclusion against
|
|
100
102
|
// exactly this set, and a second copy of it would decide a verdict the report never agreed with.
|
|
101
|
-
include: [...
|
|
103
|
+
include: [...coverageIncludes(settings.sourceRoots)],
|
|
102
104
|
exclude: [...settings.coverageExclude],
|
|
103
105
|
thresholds: {
|
|
104
106
|
// perFile: every covered file must independently clear the bar. Without it one fully covered
|
package/dist/vitest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitest.js","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,yGAAyG;AACzG,4DAA4D;AAC5D,EAAE;AACF,sGAAsG;AACtG,wGAAwG;AACxG,oGAAoG;AACpG,oGAAoG;AACpG,yGAAyG;AACzG,oCAAoC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,KAAK,MAAM,sBAAsB,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EACL,kBAAkB,EAClB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAA;AASzB,sGAAsG;AACtG,wGAAwG;AACxG,oGAAoG;AACpG,iGAAiG;AACjG,iGAAiG;AACjG,uGAAuG;AACvG,yGAAyG;AACzG,mGAAmG;AACnG,EAAE;AACF,qGAAqG;AACrG,wGAAwG;AACxG,uGAAuG;AACvG,oCAAoC;AACpC,MAAM,MAAM,GAAqB;IAC/B;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,MAAM;QACnB,OAAO,EAAE,CAAC,4BAA4B,EAAE,6BAA6B,CAAC;KACvE;IACD;QACE,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE;YACP,8BAA8B;YAC9B,yFAAyF;YACzF,+FAA+F;YAC/F,6FAA6F;YAC7F,8FAA8F;YAC9F,gFAAgF;YAChF,yCAAyC;YACzC,wCAAwC;SACzC;KACF;CACF,CAAA;AAED,+FAA+F;AAC/F,mGAAmG;AACnG,MAAM,YAAY,GAAG,CAAC,KAAY,EAA2B,EAAE,CAAC,CAAC;IAC/D,OAAO,EAAE,KAAK;IACd,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,iGAAiG;IACjG,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,+FAA+F;QAC/F,kGAAkG;QAClG,iGAAiG;QACjG,uDAAuD;QACvD,UAAU,EAAE,CAAC,gBAAgB,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC;QACxD,QAAQ,EAAE,sBAAsB;QAChC,mGAAmG;QACnG,kGAAkG;QAClG,qGAAqG;QACrG,2CAA2C;QAC3C,EAAE;QACF,kGAAkG;QAClG,4FAA4F;QAC5F,mEAAmE;QACnE,eAAe,EAAE,KAAK;KACvB;CACF,CAAC,CAAA;AAEF,iGAAiG;AACjG,oGAAoG;AACpG,uGAAuG;AACvG,oGAAoG;AACpG,mGAAmG;AACnG,0EAA0E;AAC1E,sGAAsG;AACtG,sGAAsG;AACtG,+BAA+B;AAC/B,MAAM,QAAQ,GAAoC,YAAY,CAAC;IAC7D,IAAI,EAAE;QACJ,qFAAqF;QACrF,QAAQ,EAAE,sBAAsB;QAChC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAY,EAA2B,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACpF,0FAA0F;QAC1F,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;QAC/B,iGAAiG;QACjG,kEAAkE;QAClE,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAClC,kGAAkG;YAClG,iGAAiG;YACjG,OAAO,EAAE,CAAC,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"vitest.js","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"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"}
|