@prosopo/config 3.4.1 → 3.4.2
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/.turbo/turbo-build$colon$cjs.log +6 -5
- package/.turbo/turbo-build$colon$tsc.log +4 -4
- package/.turbo/turbo-build.log +7 -6
- package/CHANGELOG.md +5 -0
- package/dist/cjs/vite/testFileGlobs.cjs +31 -0
- package/dist/cjs/vite/vite.test.config.cjs +9 -8
- package/dist/cjs/vite/vite.threads.test.config.cjs +9 -8
- package/dist/vite/configs.test.js +6 -19
- package/dist/vite/configs.test.js.map +1 -1
- package/dist/vite/testFileGlobs.d.ts +8 -0
- package/dist/vite/testFileGlobs.d.ts.map +1 -0
- package/dist/vite/testFileGlobs.js +29 -0
- package/dist/vite/testFileGlobs.js.map +1 -0
- package/dist/vite/testFileGlobs.test.d.ts +2 -0
- package/dist/vite/testFileGlobs.test.d.ts.map +1 -0
- package/dist/vite/testFileGlobs.test.js +113 -0
- package/dist/vite/testFileGlobs.test.js.map +1 -0
- package/dist/vite/vite.test.config.d.ts.map +1 -1
- package/dist/vite/vite.test.config.js +9 -8
- package/dist/vite/vite.test.config.js.map +1 -1
- package/dist/vite/vite.threads.test.config.d.ts.map +1 -1
- package/dist/vite/vite.threads.test.config.js +9 -8
- package/dist/vite/vite.threads.test.config.js.map +1 -1
- package/package.json +1 -1
- package/src/vite/configs.test.ts +11 -23
- package/src/vite/testFileGlobs.test.ts +162 -0
- package/src/vite/testFileGlobs.ts +57 -0
- package/src/vite/vite.test.config.ts +7 -13
- package/src/vite/vite.threads.test.config.ts +7 -13
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/config@3.4.
|
|
2
|
+
> @prosopo/config@3.4.2 build:cjs
|
|
3
3
|
> NODE_ENV=${NODE_ENV:-production}; vite build --config vite.cjs.config.ts --mode $NODE_ENV
|
|
4
4
|
|
|
5
5
|
ViteCommonJSConfig: .
|
|
@@ -9,7 +9,7 @@ ViteCommonJSConfig: .
|
|
|
9
9
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
10
10
|
Bundle build started
|
|
11
11
|
[2K
|
|
12
|
-
✓
|
|
12
|
+
✓ 23 modules transformed.
|
|
13
13
|
rendering chunks...
|
|
14
14
|
computing gzip size...
|
|
15
15
|
dist/cjs/webpack/index.cjs 0.00 kB │ gzip: 0.02 kB
|
|
@@ -18,6 +18,7 @@ dist/cjs/vite/TsNoCheckPlugin.cjs 0.37 kB │ gzip:
|
|
|
18
18
|
dist/cjs/vite/vite-plugin-fix-absolute-imports.cjs 0.60 kB │ gzip: 0.34 kB
|
|
19
19
|
dist/cjs/vite/vite-plugin-externalize-obfuscator-deadcode.cjs 0.68 kB │ gzip: 0.37 kB
|
|
20
20
|
dist/cjs/_virtual/_rolldown/runtime.cjs 1.00 kB │ gzip: 0.50 kB
|
|
21
|
+
dist/cjs/vite/testFileGlobs.cjs 1.27 kB │ gzip: 0.64 kB
|
|
21
22
|
dist/cjs/vite/CopyAssetsPlugin.cjs 1.30 kB │ gzip: 0.68 kB
|
|
22
23
|
dist/cjs/vite/vite-plugin-modify-exports-files.cjs 1.36 kB │ gzip: 0.70 kB
|
|
23
24
|
dist/cjs/vite/vite-plugin-copy.cjs 1.60 kB │ gzip: 0.65 kB
|
|
@@ -25,14 +26,14 @@ dist/cjs/vite/vite-plugin-close-and-copy.cjs 1.77 kB │ gzip:
|
|
|
25
26
|
dist/cjs/vite/vite-plugin-remove-unused-translations.cjs 2.34 kB │ gzip: 1.01 kB
|
|
26
27
|
dist/cjs/vite/NodejsPolarsNativeFilePlugin.cjs 2.37 kB │ gzip: 0.81 kB
|
|
27
28
|
dist/cjs/vite/vite.esm.config.cjs 2.39 kB │ gzip: 0.92 kB
|
|
29
|
+
dist/cjs/vite/vite.threads.test.config.cjs 2.40 kB │ gzip: 0.89 kB
|
|
28
30
|
dist/cjs/vite/vite.commonjs.config.cjs 2.52 kB │ gzip: 0.99 kB
|
|
29
|
-
dist/cjs/vite/vite.threads.test.config.cjs 2.52 kB │ gzip: 1.00 kB
|
|
30
31
|
dist/cjs/vite/index.cjs 2.59 kB │ gzip: 0.55 kB
|
|
31
|
-
dist/cjs/vite/vite.test.config.cjs 2.
|
|
32
|
+
dist/cjs/vite/vite.test.config.cjs 2.61 kB │ gzip: 0.93 kB
|
|
32
33
|
dist/cjs/index.cjs 3.08 kB │ gzip: 0.67 kB
|
|
33
34
|
dist/cjs/vite/vite.backend.config.cjs 3.65 kB │ gzip: 1.36 kB
|
|
34
35
|
dist/cjs/webpack/webpack.config.cjs 3.72 kB │ gzip: 1.30 kB
|
|
35
36
|
dist/cjs/dependencies.cjs 5.87 kB │ gzip: 1.92 kB
|
|
36
37
|
dist/cjs/vite/vite.frontend.config.cjs 7.09 kB │ gzip: 2.43 kB
|
|
37
38
|
|
|
38
|
-
[32m✓ built in
|
|
39
|
+
[32m✓ built in 84ms[39m
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/config@3.4.
|
|
2
|
+
> @prosopo/config@3.4.2 build:tsc
|
|
3
3
|
> tsc --build --verbose
|
|
4
4
|
|
|
5
|
-
9:
|
|
5
|
+
9:55:46 AM - Projects in this build:
|
|
6
6
|
* tsconfig.json
|
|
7
7
|
|
|
8
|
-
9:
|
|
8
|
+
9:55:46 AM - Project 'tsconfig.json' is out of date because output file 'tsconfig.tsbuildinfo' does not exist
|
|
9
9
|
|
|
10
|
-
9:
|
|
10
|
+
9:55:46 AM - Building project '/home/runner/work/captcha/captcha/dev/config/tsconfig.json'...
|
|
11
11
|
|
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
|
-
> @prosopo/config@3.4.
|
|
2
|
+
> @prosopo/config@3.4.2 build
|
|
3
3
|
> npm run build:cross-env -- --mode ${NODE_ENV:-development}
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
> @prosopo/config@3.4.
|
|
6
|
+
> @prosopo/config@3.4.2 build:cross-env
|
|
7
7
|
> vite build --config vite.esm.config.ts --mode production
|
|
8
8
|
|
|
9
9
|
ViteEsmConfig: .
|
|
@@ -13,7 +13,7 @@ ViteEsmConfig: .
|
|
|
13
13
|
[36mvite v8.1.5 [32mbuilding ssr environment for production...[36m[39m
|
|
14
14
|
Bundle build started
|
|
15
15
|
[2K
|
|
16
|
-
✓
|
|
16
|
+
✓ 23 modules transformed.
|
|
17
17
|
rendering chunks...
|
|
18
18
|
computing gzip size...
|
|
19
19
|
dist/webpack/index.js 0.01 kB │ gzip: 0.03 kB
|
|
@@ -23,6 +23,7 @@ dist/vite/TsNoCheckPlugin.js 0.36 kB │ gzip: 0.24
|
|
|
23
23
|
dist/vite/vite-plugin-fix-absolute-imports.js 0.59 kB │ gzip: 0.33 kB
|
|
24
24
|
dist/vite/vite-plugin-externalize-obfuscator-deadcode.js 0.69 kB │ gzip: 0.38 kB
|
|
25
25
|
dist/vite/CopyAssetsPlugin.js 1.05 kB │ gzip: 0.60 kB
|
|
26
|
+
dist/vite/testFileGlobs.js 1.20 kB │ gzip: 0.64 kB
|
|
26
27
|
dist/vite/vite-plugin-copy.js 1.22 kB │ gzip: 0.57 kB
|
|
27
28
|
dist/vite/vite-plugin-modify-exports-files.js 1.33 kB │ gzip: 0.70 kB
|
|
28
29
|
dist/vite/vite-plugin-close-and-copy.js 1.46 kB │ gzip: 0.61 kB
|
|
@@ -31,12 +32,12 @@ dist/vite/vite.esm.config.js 1.90 kB │ gzip: 0.84
|
|
|
31
32
|
dist/vite/NodejsPolarsNativeFilePlugin.js 1.99 kB │ gzip: 0.71 kB
|
|
32
33
|
dist/vite/vite.commonjs.config.js 2.00 kB │ gzip: 0.90 kB
|
|
33
34
|
dist/vite/vite-plugin-remove-unused-translations.js 2.03 kB │ gzip: 0.92 kB
|
|
35
|
+
dist/vite/vite.threads.test.config.js 2.04 kB │ gzip: 0.83 kB
|
|
34
36
|
dist/index.js 2.11 kB │ gzip: 0.55 kB
|
|
35
|
-
dist/vite/vite.
|
|
36
|
-
dist/vite/vite.test.config.js 2.29 kB │ gzip: 0.96 kB
|
|
37
|
+
dist/vite/vite.test.config.js 2.14 kB │ gzip: 0.85 kB
|
|
37
38
|
dist/webpack/webpack.config.js 3.08 kB │ gzip: 1.23 kB
|
|
38
39
|
dist/vite/vite.backend.config.js 3.12 kB │ gzip: 1.28 kB
|
|
39
40
|
dist/dependencies.js 5.31 kB │ gzip: 1.81 kB
|
|
40
41
|
dist/vite/vite.frontend.config.js 6.11 kB │ gzip: 2.30 kB
|
|
41
42
|
|
|
42
|
-
[32m✓ built in
|
|
43
|
+
[32m✓ built in 52ms[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# @prosopo/config
|
|
2
2
|
|
|
3
|
+
## 3.4.2
|
|
4
|
+
### Patch Changes
|
|
5
|
+
|
|
6
|
+
- 25c795f: Setting `TEST_TYPE` no longer drops test files that don't declare a type. The vitest configs selected only `*.<type>.test.ts`, so a package whose `test` script filtered by type (provider, user-access-policy, redis-client) silently skipped every plain `*.test.ts`, contrary to the config's own comment. Filtering now works by excluding the other known types (`unit`, `integration`), so untyped tests run under every filter. Two provider test files that had never run in CI since they were added are now collected.
|
|
7
|
+
|
|
3
8
|
## 3.4.1
|
|
4
9
|
### Patch Changes
|
|
5
10
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
//#region src/vite/testFileGlobs.ts
|
|
2
|
+
/** Test types a file can declare as `name.<type>.test.ts`. */
|
|
3
|
+
var KNOWN_TEST_TYPES = ["unit", "integration"];
|
|
4
|
+
var TEST_FILE_SUFFIX = "@(test|spec).@(mts|cts|mjs|cjs|js|ts|tsx|jsx)";
|
|
5
|
+
var parseTestTypes = (testTypeEnv) => (testTypeEnv ?? "").split(",").map((t) => t.trim()).filter((t) => t.length > 0);
|
|
6
|
+
/**
|
|
7
|
+
* Globs selecting the test files for a `TEST_TYPE` filter.
|
|
8
|
+
*
|
|
9
|
+
* Filtering works by excluding the *other* known types rather than by
|
|
10
|
+
* including only the selected one. Files with no declared type
|
|
11
|
+
* (`foo.test.ts`) therefore run under every filter: we don't know what kind
|
|
12
|
+
* of test they are, and an include-only glob silently dropped them from
|
|
13
|
+
* packages whose `test` script sets `TEST_TYPE`.
|
|
14
|
+
*/
|
|
15
|
+
var testFileGlobs = (testTypeEnv) => {
|
|
16
|
+
const include = [`src/**/*.${TEST_FILE_SUFFIX}`];
|
|
17
|
+
const selected = parseTestTypes(testTypeEnv);
|
|
18
|
+
if (selected.length === 0) return {
|
|
19
|
+
include,
|
|
20
|
+
exclude: []
|
|
21
|
+
};
|
|
22
|
+
const excluded = KNOWN_TEST_TYPES.filter((t) => !selected.includes(t));
|
|
23
|
+
return {
|
|
24
|
+
include,
|
|
25
|
+
exclude: excluded.length > 0 ? [`src/**/*.@(${excluded.join("|")}).${TEST_FILE_SUFFIX}`] : []
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
exports.KNOWN_TEST_TYPES = KNOWN_TEST_TYPES;
|
|
30
|
+
exports.parseTestTypes = parseTestTypes;
|
|
31
|
+
exports.testFileGlobs = testFileGlobs;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
const require_vite_plugin_close_and_copy = require("./vite-plugin-close-and-copy.cjs");
|
|
3
|
+
const require_testFileGlobs = require("./testFileGlobs.cjs");
|
|
3
4
|
const require_vite_plugin_sourcemap_exclude = require("./vite-plugin-sourcemap-exclude.cjs");
|
|
4
5
|
let node_fs = require("node:fs");
|
|
5
6
|
node_fs = require_runtime.__toESM(node_fs, 1);
|
|
@@ -10,11 +11,8 @@ vite_tsconfig_paths = require_runtime.__toESM(vite_tsconfig_paths, 1);
|
|
|
10
11
|
let vitest_config = require("vitest/config");
|
|
11
12
|
//#region src/vite/vite.test.config.ts
|
|
12
13
|
function vite_test_config_default(tsConfigPath) {
|
|
13
|
-
const
|
|
14
|
-
console.log(`TEST_TYPE
|
|
15
|
-
const testTypes = testTypeEnv ? testTypeEnv.trim().split(",") : [];
|
|
16
|
-
const testTypeGlob = testTypes.length > 0 ? `@(${testTypes.map((t) => `.${t}`).join("|")})` : "@(|)";
|
|
17
|
-
console.log(`Filtering tests by type: ${testTypeGlob}`);
|
|
14
|
+
const testFiles = require_testFileGlobs.testFileGlobs(process.env.TEST_TYPE);
|
|
15
|
+
console.log(`TEST_TYPE=${process.env.TEST_TYPE ?? ""} include=${testFiles.include.join(",")} exclude=${testFiles.exclude.join(",")}`);
|
|
18
16
|
const cwd = process.cwd();
|
|
19
17
|
const isRunningFromPackage = node_fs.default.existsSync(node_path.default.join(cwd, "package.json")) && node_fs.default.existsSync(node_path.default.join(cwd, "src"));
|
|
20
18
|
const coverageInclude = isRunningFromPackage ? [
|
|
@@ -40,7 +38,6 @@ function vite_test_config_default(tsConfigPath) {
|
|
|
40
38
|
"**/node_modules/**",
|
|
41
39
|
"**/dist/**"
|
|
42
40
|
];
|
|
43
|
-
const include = `src/**/*${testTypeGlob}.@(test|spec).@(mts|cts|mjs|cjs|js|ts|tsx|jsx)`;
|
|
44
41
|
const plugins = [require_vite_plugin_sourcemap_exclude.default({ excludeNodeModules: true }), require_vite_plugin_close_and_copy.default()];
|
|
45
42
|
if (tsConfigPath) plugins.push((0, vite_tsconfig_paths.default)({ projects: [node_path.default.resolve(tsConfigPath)] }));
|
|
46
43
|
return (0, vitest_config.defineConfig)({
|
|
@@ -51,9 +48,13 @@ function vite_test_config_default(tsConfigPath) {
|
|
|
51
48
|
},
|
|
52
49
|
test: {
|
|
53
50
|
reporters: [["default", { summary: false }]],
|
|
54
|
-
include:
|
|
51
|
+
include: testFiles.include,
|
|
55
52
|
watch: false,
|
|
56
|
-
exclude: [
|
|
53
|
+
exclude: [
|
|
54
|
+
"**/node_modules/**",
|
|
55
|
+
"**/dist/**",
|
|
56
|
+
...testFiles.exclude
|
|
57
|
+
],
|
|
57
58
|
logHeapUsage: true,
|
|
58
59
|
coverage: {
|
|
59
60
|
enabled: true,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
const require_vite_plugin_close_and_copy = require("./vite-plugin-close-and-copy.cjs");
|
|
3
|
+
const require_testFileGlobs = require("./testFileGlobs.cjs");
|
|
3
4
|
const require_vite_plugin_sourcemap_exclude = require("./vite-plugin-sourcemap-exclude.cjs");
|
|
4
5
|
let node_path = require("node:path");
|
|
5
6
|
node_path = require_runtime.__toESM(node_path, 1);
|
|
@@ -8,11 +9,8 @@ vite_tsconfig_paths = require_runtime.__toESM(vite_tsconfig_paths, 1);
|
|
|
8
9
|
let vitest_config = require("vitest/config");
|
|
9
10
|
//#region src/vite/vite.threads.test.config.ts
|
|
10
11
|
function vite_threads_test_config_default(tsConfigPath) {
|
|
11
|
-
const
|
|
12
|
-
console.log(`TEST_TYPE
|
|
13
|
-
const testTypes = testTypeEnv ? testTypeEnv.trim().split(",") : [];
|
|
14
|
-
const testTypeGlob = testTypes.length > 0 ? `@(${testTypes.map((t) => `.${t}`).join("|")})` : "@(|)";
|
|
15
|
-
console.log(`Filtering tests by type: ${testTypeGlob}`);
|
|
12
|
+
const testFiles = require_testFileGlobs.testFileGlobs(process.env.TEST_TYPE);
|
|
13
|
+
console.log(`TEST_TYPE=${process.env.TEST_TYPE ?? ""} include=${testFiles.include.join(",")} exclude=${testFiles.exclude.join(",")}`);
|
|
16
14
|
const cwd = process.cwd();
|
|
17
15
|
const isRunningFromPackage = cwd.includes("/packages/") && cwd.includes("/src") === false;
|
|
18
16
|
const coverageInclude = isRunningFromPackage ? [
|
|
@@ -36,7 +34,6 @@ function vite_threads_test_config_default(tsConfigPath) {
|
|
|
36
34
|
"**/node_modules/**",
|
|
37
35
|
"**/dist/**"
|
|
38
36
|
];
|
|
39
|
-
const include = `src/**/*${testTypeGlob}.@(test|spec).@(mts|cts|mjs|cjs|js|ts|tsx|jsx)`;
|
|
40
37
|
const plugins = [require_vite_plugin_sourcemap_exclude.default({ excludeNodeModules: true }), require_vite_plugin_close_and_copy.default()];
|
|
41
38
|
if (tsConfigPath) plugins.push((0, vite_tsconfig_paths.default)({ projects: [node_path.default.resolve(tsConfigPath)] }));
|
|
42
39
|
return (0, vitest_config.defineConfig)({
|
|
@@ -47,9 +44,13 @@ function vite_threads_test_config_default(tsConfigPath) {
|
|
|
47
44
|
},
|
|
48
45
|
test: {
|
|
49
46
|
reporters: [["default", { summary: false }]],
|
|
50
|
-
include:
|
|
47
|
+
include: testFiles.include,
|
|
51
48
|
watch: false,
|
|
52
|
-
exclude: [
|
|
49
|
+
exclude: [
|
|
50
|
+
"**/node_modules/**",
|
|
51
|
+
"**/dist/**",
|
|
52
|
+
...testFiles.exclude
|
|
53
|
+
],
|
|
53
54
|
logHeapUsage: true,
|
|
54
55
|
coverage: {
|
|
55
56
|
enabled: true,
|
|
@@ -53,29 +53,16 @@ describe("ViteTestConfig", () => {
|
|
|
53
53
|
expect(config.test?.pool).toBe("forks");
|
|
54
54
|
expect(config.test?.isolate).toBe(true);
|
|
55
55
|
});
|
|
56
|
-
it("includes
|
|
56
|
+
it("includes every test file when no filter is set", () => {
|
|
57
57
|
asPackage();
|
|
58
|
-
|
|
58
|
+
const config = ViteTestConfig();
|
|
59
|
+
expect(config_include(config)).toBe("src/**/*.@(test|spec).@(mts|cts|mjs|cjs|js|ts|tsx|jsx)");
|
|
60
|
+
expect(config.test?.exclude).toEqual(["**/node_modules/**", "**/dist/**"]);
|
|
59
61
|
});
|
|
60
|
-
it("filters
|
|
62
|
+
it("filters by excluding the other known test types", () => {
|
|
61
63
|
asPackage();
|
|
62
64
|
process.env.TEST_TYPE = "unit";
|
|
63
|
-
expect(
|
|
64
|
-
});
|
|
65
|
-
it("filters on several test types", () => {
|
|
66
|
-
asPackage();
|
|
67
|
-
process.env.TEST_TYPE = "unit,integration";
|
|
68
|
-
expect(config_include(ViteTestConfig())).toContain("@(.unit|.integration)");
|
|
69
|
-
});
|
|
70
|
-
it("trims whitespace around the test type list", () => {
|
|
71
|
-
asPackage();
|
|
72
|
-
process.env.TEST_TYPE = " unit ";
|
|
73
|
-
expect(config_include(ViteTestConfig())).toContain("@(.unit)");
|
|
74
|
-
});
|
|
75
|
-
it("ignores an empty test type, keeping the default glob", () => {
|
|
76
|
-
asPackage();
|
|
77
|
-
process.env.TEST_TYPE = "";
|
|
78
|
-
expect(config_include(ViteTestConfig())).toContain("@(|)");
|
|
65
|
+
expect(ViteTestConfig().test?.exclude).toContain("src/**/*.@(integration).@(test|spec).@(mts|cts|mjs|cjs|js|ts|tsx|jsx)");
|
|
79
66
|
});
|
|
80
67
|
it("scopes coverage to the local src when run from a package", () => {
|
|
81
68
|
asPackage();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configs.test.js","sourceRoot":"","sources":["../../src/vite/configs.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"configs.test.js","sourceRoot":"","sources":["../../src/vite/configs.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const KNOWN_TEST_TYPES: readonly string[];
|
|
2
|
+
export interface TestFileGlobs {
|
|
3
|
+
include: string[];
|
|
4
|
+
exclude: string[];
|
|
5
|
+
}
|
|
6
|
+
export declare const parseTestTypes: (testTypeEnv: string | undefined) => string[];
|
|
7
|
+
export declare const testFileGlobs: (testTypeEnv: string | undefined) => TestFileGlobs;
|
|
8
|
+
//# sourceMappingURL=testFileGlobs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testFileGlobs.d.ts","sourceRoot":"","sources":["../../src/vite/testFileGlobs.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAA4B,CAAC;AAK3E,MAAM,WAAW,aAAa;IAC7B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,eAAO,MAAM,cAAc,gBAAiB,MAAM,GAAG,SAAS,KAAG,MAAM,EAIzC,CAAC;AAW/B,eAAO,MAAM,aAAa,gBACZ,MAAM,GAAG,SAAS,KAC7B,aAcF,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
//#region src/vite/testFileGlobs.ts
|
|
2
|
+
/** Test types a file can declare as `name.<type>.test.ts`. */
|
|
3
|
+
var KNOWN_TEST_TYPES = ["unit", "integration"];
|
|
4
|
+
var TEST_FILE_SUFFIX = "@(test|spec).@(mts|cts|mjs|cjs|js|ts|tsx|jsx)";
|
|
5
|
+
var parseTestTypes = (testTypeEnv) => (testTypeEnv ?? "").split(",").map((t) => t.trim()).filter((t) => t.length > 0);
|
|
6
|
+
/**
|
|
7
|
+
* Globs selecting the test files for a `TEST_TYPE` filter.
|
|
8
|
+
*
|
|
9
|
+
* Filtering works by excluding the *other* known types rather than by
|
|
10
|
+
* including only the selected one. Files with no declared type
|
|
11
|
+
* (`foo.test.ts`) therefore run under every filter: we don't know what kind
|
|
12
|
+
* of test they are, and an include-only glob silently dropped them from
|
|
13
|
+
* packages whose `test` script sets `TEST_TYPE`.
|
|
14
|
+
*/
|
|
15
|
+
var testFileGlobs = (testTypeEnv) => {
|
|
16
|
+
const include = [`src/**/*.${TEST_FILE_SUFFIX}`];
|
|
17
|
+
const selected = parseTestTypes(testTypeEnv);
|
|
18
|
+
if (selected.length === 0) return {
|
|
19
|
+
include,
|
|
20
|
+
exclude: []
|
|
21
|
+
};
|
|
22
|
+
const excluded = KNOWN_TEST_TYPES.filter((t) => !selected.includes(t));
|
|
23
|
+
return {
|
|
24
|
+
include,
|
|
25
|
+
exclude: excluded.length > 0 ? [`src/**/*.@(${excluded.join("|")}).${TEST_FILE_SUFFIX}`] : []
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { KNOWN_TEST_TYPES, parseTestTypes, testFileGlobs };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testFileGlobs.js","sourceRoot":"","sources":["../../src/vite/testFileGlobs.ts"],"names":[],"mappings":"AAeA,MAAM,CAAC,MAAM,gBAAgB,GAAsB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE3E,MAAM,gBAAgB,GACrB,+CAAwD,CAAC;AAO1D,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAA+B,EAAY,EAAE,CAC3E,CAAC,WAAW,IAAI,EAAE,CAAC;KACjB,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;KACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAW/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAC5B,WAA+B,EACf,EAAE;IAClB,MAAM,OAAO,GAAG,CAAC,YAAY,gBAAgB,EAAE,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACjC,CAAC;IACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,OAAO;QACN,OAAO;QACP,OAAO,EACN,QAAQ,CAAC,MAAM,GAAG,CAAC;YAClB,CAAC,CAAC,CAAC,cAAc,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,gBAAgB,EAAE,CAAC;YAC3D,CAAC,CAAC,EAAE;KACN,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testFileGlobs.test.d.ts","sourceRoot":"","sources":["../../src/vite/testFileGlobs.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import fs from "node:fs";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
|
5
|
+
import { createVitest } from "vitest/node";
|
|
6
|
+
import { parseTestTypes, testFileGlobs } from "./testFileGlobs.js";
|
|
7
|
+
import ViteTestConfig from "./vite.test.config.js";
|
|
8
|
+
import ViteThreadsTestConfig from "./vite.threads.test.config.js";
|
|
9
|
+
const FIXTURE_FILES = [
|
|
10
|
+
"src/untyped.test.ts",
|
|
11
|
+
"src/typed.unit.test.ts",
|
|
12
|
+
"src/typed.integration.test.ts",
|
|
13
|
+
"src/nested/named.withDots.test.ts",
|
|
14
|
+
"src/component.spec.tsx",
|
|
15
|
+
"src/notATest.ts",
|
|
16
|
+
"src/types.test-d.ts",
|
|
17
|
+
];
|
|
18
|
+
const ALL_RUNTIME_TESTS = [
|
|
19
|
+
"src/component.spec.tsx",
|
|
20
|
+
"src/nested/named.withDots.test.ts",
|
|
21
|
+
"src/typed.integration.test.ts",
|
|
22
|
+
"src/typed.unit.test.ts",
|
|
23
|
+
"src/untyped.test.ts",
|
|
24
|
+
];
|
|
25
|
+
let root;
|
|
26
|
+
let cwd;
|
|
27
|
+
let originalTestType;
|
|
28
|
+
beforeEach(() => {
|
|
29
|
+
root = fs.mkdtempSync(path.join(os.tmpdir(), "prosopo-test-globs-"));
|
|
30
|
+
for (const file of FIXTURE_FILES) {
|
|
31
|
+
fs.mkdirSync(path.dirname(path.join(root, file)), { recursive: true });
|
|
32
|
+
fs.writeFileSync(path.join(root, file), "export {};\n");
|
|
33
|
+
}
|
|
34
|
+
fs.writeFileSync(path.join(root, "package.json"), "{}");
|
|
35
|
+
cwd = process.cwd();
|
|
36
|
+
process.chdir(root);
|
|
37
|
+
originalTestType = process.env.TEST_TYPE;
|
|
38
|
+
});
|
|
39
|
+
afterEach(() => {
|
|
40
|
+
process.chdir(cwd);
|
|
41
|
+
if (originalTestType === undefined) {
|
|
42
|
+
delete process.env.TEST_TYPE;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
process.env.TEST_TYPE = originalTestType;
|
|
46
|
+
}
|
|
47
|
+
fs.rmSync(root, { recursive: true, force: true });
|
|
48
|
+
});
|
|
49
|
+
const collected = async (factory, testType) => {
|
|
50
|
+
if (testType === undefined) {
|
|
51
|
+
delete process.env.TEST_TYPE;
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
process.env.TEST_TYPE = testType;
|
|
55
|
+
}
|
|
56
|
+
const config = factory();
|
|
57
|
+
const vitest = await createVitest("test", { config: false, root, watch: false }, {
|
|
58
|
+
test: {
|
|
59
|
+
include: config.test?.include,
|
|
60
|
+
exclude: config.test?.exclude,
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
try {
|
|
64
|
+
const specs = await vitest.globTestSpecifications();
|
|
65
|
+
return specs
|
|
66
|
+
.map((spec) => path.relative(root, spec.moduleId).split(path.sep).join("/"))
|
|
67
|
+
.sort();
|
|
68
|
+
}
|
|
69
|
+
finally {
|
|
70
|
+
await vitest.close();
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
const without = (excluded) => ALL_RUNTIME_TESTS.filter((f) => f !== excluded);
|
|
74
|
+
describe.each([
|
|
75
|
+
["ViteTestConfig", () => ViteTestConfig()],
|
|
76
|
+
[
|
|
77
|
+
"ViteThreadsTestConfig",
|
|
78
|
+
() => ViteThreadsTestConfig(),
|
|
79
|
+
],
|
|
80
|
+
])("%s test file collection", (_name, factory) => {
|
|
81
|
+
it("collects every test file when TEST_TYPE is unset", async () => {
|
|
82
|
+
expect(await collected(factory, undefined)).toEqual(ALL_RUNTIME_TESTS);
|
|
83
|
+
});
|
|
84
|
+
it("treats an empty TEST_TYPE as unset", async () => {
|
|
85
|
+
expect(await collected(factory, "")).toEqual(ALL_RUNTIME_TESTS);
|
|
86
|
+
});
|
|
87
|
+
it("TEST_TYPE=unit keeps untyped tests and drops integration tests", async () => {
|
|
88
|
+
expect(await collected(factory, "unit")).toEqual(without("src/typed.integration.test.ts"));
|
|
89
|
+
});
|
|
90
|
+
it("TEST_TYPE=integration keeps untyped tests and drops unit tests", async () => {
|
|
91
|
+
expect(await collected(factory, "integration")).toEqual(without("src/typed.unit.test.ts"));
|
|
92
|
+
});
|
|
93
|
+
it("accepts a spaced, comma-separated list", async () => {
|
|
94
|
+
expect(await collected(factory, " unit , integration ")).toEqual(ALL_RUNTIME_TESTS);
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
describe("testFileGlobs", () => {
|
|
98
|
+
it("excludes nothing without a filter", () => {
|
|
99
|
+
expect(testFileGlobs(undefined).exclude).toEqual([]);
|
|
100
|
+
});
|
|
101
|
+
it("excludes only the known types that were not selected", () => {
|
|
102
|
+
expect(testFileGlobs("unit").exclude).toEqual([
|
|
103
|
+
"src/**/*.@(integration).@(test|spec).@(mts|cts|mjs|cjs|js|ts|tsx|jsx)",
|
|
104
|
+
]);
|
|
105
|
+
});
|
|
106
|
+
it("parses the list, dropping blanks", () => {
|
|
107
|
+
expect(parseTestTypes(" unit, ,integration ")).toEqual([
|
|
108
|
+
"unit",
|
|
109
|
+
"integration",
|
|
110
|
+
]);
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
//# sourceMappingURL=testFileGlobs.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testFileGlobs.test.js","sourceRoot":"","sources":["../../src/vite/testFileGlobs.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.test.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.test.config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vite.test.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.test.config.ts"],"names":[],"mappings":"AAsBA,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC,EAAE,MAAM,6BA4F7C"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import VitePluginCloseAndCopy from "./vite-plugin-close-and-copy.js";
|
|
2
|
+
import { testFileGlobs } from "./testFileGlobs.js";
|
|
2
3
|
import VitePluginSourcemapExclude from "./vite-plugin-sourcemap-exclude.js";
|
|
3
4
|
import fs from "node:fs";
|
|
4
5
|
import path from "node:path";
|
|
@@ -6,11 +7,8 @@ import tsconfigPaths from "vite-tsconfig-paths";
|
|
|
6
7
|
import { defineConfig } from "vitest/config";
|
|
7
8
|
//#region src/vite/vite.test.config.ts
|
|
8
9
|
function vite_test_config_default(tsConfigPath) {
|
|
9
|
-
const
|
|
10
|
-
console.log(`TEST_TYPE
|
|
11
|
-
const testTypes = testTypeEnv ? testTypeEnv.trim().split(",") : [];
|
|
12
|
-
const testTypeGlob = testTypes.length > 0 ? `@(${testTypes.map((t) => `.${t}`).join("|")})` : "@(|)";
|
|
13
|
-
console.log(`Filtering tests by type: ${testTypeGlob}`);
|
|
10
|
+
const testFiles = testFileGlobs(process.env.TEST_TYPE);
|
|
11
|
+
console.log(`TEST_TYPE=${process.env.TEST_TYPE ?? ""} include=${testFiles.include.join(",")} exclude=${testFiles.exclude.join(",")}`);
|
|
14
12
|
const cwd = process.cwd();
|
|
15
13
|
const isRunningFromPackage = fs.existsSync(path.join(cwd, "package.json")) && fs.existsSync(path.join(cwd, "src"));
|
|
16
14
|
const coverageInclude = isRunningFromPackage ? [
|
|
@@ -36,7 +34,6 @@ function vite_test_config_default(tsConfigPath) {
|
|
|
36
34
|
"**/node_modules/**",
|
|
37
35
|
"**/dist/**"
|
|
38
36
|
];
|
|
39
|
-
const include = `src/**/*${testTypeGlob}.@(test|spec).@(mts|cts|mjs|cjs|js|ts|tsx|jsx)`;
|
|
40
37
|
const plugins = [VitePluginSourcemapExclude({ excludeNodeModules: true }), VitePluginCloseAndCopy()];
|
|
41
38
|
if (tsConfigPath) plugins.push(tsconfigPaths({ projects: [path.resolve(tsConfigPath)] }));
|
|
42
39
|
return defineConfig({
|
|
@@ -47,9 +44,13 @@ function vite_test_config_default(tsConfigPath) {
|
|
|
47
44
|
},
|
|
48
45
|
test: {
|
|
49
46
|
reporters: [["default", { summary: false }]],
|
|
50
|
-
include:
|
|
47
|
+
include: testFiles.include,
|
|
51
48
|
watch: false,
|
|
52
|
-
exclude: [
|
|
49
|
+
exclude: [
|
|
50
|
+
"**/node_modules/**",
|
|
51
|
+
"**/dist/**",
|
|
52
|
+
...testFiles.exclude
|
|
53
|
+
],
|
|
53
54
|
logHeapUsage: true,
|
|
54
55
|
coverage: {
|
|
55
56
|
enabled: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.test.config.js","sourceRoot":"","sources":["../../src/vite/vite.test.config.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,sBAAsB,MAAM,iCAAiC,CAAC;AACrE,OAAO,0BAA0B,MAAM,oCAAoC,CAAC;AAE5E,MAAM,CAAC,OAAO,WAAW,YAAqB;IAC7C,MAAM,
|
|
1
|
+
{"version":3,"file":"vite.test.config.js","sourceRoot":"","sources":["../../src/vite/vite.test.config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.threads.test.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.threads.test.config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vite.threads.test.config.d.ts","sourceRoot":"","sources":["../../src/vite/vite.threads.test.config.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC,EAAE,MAAM,6BA8E7C"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import VitePluginCloseAndCopy from "./vite-plugin-close-and-copy.js";
|
|
2
|
+
import { testFileGlobs } from "./testFileGlobs.js";
|
|
2
3
|
import VitePluginSourcemapExclude from "./vite-plugin-sourcemap-exclude.js";
|
|
3
4
|
import path from "node:path";
|
|
4
5
|
import tsconfigPaths from "vite-tsconfig-paths";
|
|
5
6
|
import { defineConfig } from "vitest/config";
|
|
6
7
|
//#region src/vite/vite.threads.test.config.ts
|
|
7
8
|
function vite_threads_test_config_default(tsConfigPath) {
|
|
8
|
-
const
|
|
9
|
-
console.log(`TEST_TYPE
|
|
10
|
-
const testTypes = testTypeEnv ? testTypeEnv.trim().split(",") : [];
|
|
11
|
-
const testTypeGlob = testTypes.length > 0 ? `@(${testTypes.map((t) => `.${t}`).join("|")})` : "@(|)";
|
|
12
|
-
console.log(`Filtering tests by type: ${testTypeGlob}`);
|
|
9
|
+
const testFiles = testFileGlobs(process.env.TEST_TYPE);
|
|
10
|
+
console.log(`TEST_TYPE=${process.env.TEST_TYPE ?? ""} include=${testFiles.include.join(",")} exclude=${testFiles.exclude.join(",")}`);
|
|
13
11
|
const cwd = process.cwd();
|
|
14
12
|
const isRunningFromPackage = cwd.includes("/packages/") && cwd.includes("/src") === false;
|
|
15
13
|
const coverageInclude = isRunningFromPackage ? [
|
|
@@ -33,7 +31,6 @@ function vite_threads_test_config_default(tsConfigPath) {
|
|
|
33
31
|
"**/node_modules/**",
|
|
34
32
|
"**/dist/**"
|
|
35
33
|
];
|
|
36
|
-
const include = `src/**/*${testTypeGlob}.@(test|spec).@(mts|cts|mjs|cjs|js|ts|tsx|jsx)`;
|
|
37
34
|
const plugins = [VitePluginSourcemapExclude({ excludeNodeModules: true }), VitePluginCloseAndCopy()];
|
|
38
35
|
if (tsConfigPath) plugins.push(tsconfigPaths({ projects: [path.resolve(tsConfigPath)] }));
|
|
39
36
|
return defineConfig({
|
|
@@ -44,9 +41,13 @@ function vite_threads_test_config_default(tsConfigPath) {
|
|
|
44
41
|
},
|
|
45
42
|
test: {
|
|
46
43
|
reporters: [["default", { summary: false }]],
|
|
47
|
-
include:
|
|
44
|
+
include: testFiles.include,
|
|
48
45
|
watch: false,
|
|
49
|
-
exclude: [
|
|
46
|
+
exclude: [
|
|
47
|
+
"**/node_modules/**",
|
|
48
|
+
"**/dist/**",
|
|
49
|
+
...testFiles.exclude
|
|
50
|
+
],
|
|
50
51
|
logHeapUsage: true,
|
|
51
52
|
coverage: {
|
|
52
53
|
enabled: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.threads.test.config.js","sourceRoot":"","sources":["../../src/vite/vite.threads.test.config.ts"],"names":[],"mappings":"AAcA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,sBAAsB,MAAM,iCAAiC,CAAC;AACrE,OAAO,0BAA0B,MAAM,oCAAoC,CAAC;AAE5E,MAAM,CAAC,OAAO,WAAW,YAAqB;IAC7C,MAAM,
|
|
1
|
+
{"version":3,"file":"vite.threads.test.config.js","sourceRoot":"","sources":["../../src/vite/vite.threads.test.config.ts"],"names":[],"mappings":"AAcA,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,sBAAsB,MAAM,iCAAiC,CAAC;AACrE,OAAO,0BAA0B,MAAM,oCAAoC,CAAC;AAE5E,MAAM,CAAC,OAAO,WAAW,YAAqB;IAC7C,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CACV,aAAa,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,YAAY,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACxH,CAAC;IAGF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,oBAAoB,GACzB,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC;IAI9D,MAAM,eAAe,GAAG,oBAAoB;QAC3C,CAAC,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,CAAC;QAChE,CAAC,CAAC,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,CAAC;IAEtD,MAAM,eAAe,GAAG,oBAAoB;QAC3C,CAAC,CAAC;YACA,gBAAgB;YAChB,eAAe;YACf,kBAAkB;YAClB,kBAAkB;YAClB,mBAAmB;YACnB,mBAAmB;SACnB;QACF,CAAC,CAAC;YACA,eAAe;YACf,WAAW;YACX,aAAa;YACb,aAAa;YACb,oBAAoB;YACpB,YAAY;SACZ,CAAC;IACJ,MAAM,OAAO,GAAG;QACf,0BAA0B,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACxD,sBAAsB,EAAE;KACxB,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,YAAY,CAAC;QACnB,KAAK,EAAE;YACN,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,aAAa,EAAE;gBACd,MAAM,EAAE;oBACP,SAAS,EAAE,KAAK;iBAChB;aACD;SACD;QACD,IAAI,EAAE;YAIL,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5C,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,KAAK,EAAE,KAAK;YACZ,OAAO,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC;YACnE,YAAY,EAAE,IAAI;YAClB,QAAQ,EAAE;gBACT,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,eAAe;gBACxB,OAAO,EAAE,eAAe;aACxB;YACD,SAAS,EAAE;gBACV,OAAO,EAAE,IAAI;aACb;YACD,IAAI,EAAE,SAAS;YAGf,eAAe,EAAE,KAAK;YACtB,WAAW,EAAE,KAAK;SAClB;QACD,OAAO,EAAE,OAAO;KAChB,CAAC,CAAC;AACJ,CAAC"}
|