@wp-tester/config 0.1.1 → 0.1.3
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/config-file.d.ts +6 -0
- package/dist/config-file.d.ts.map +1 -0
- package/dist/config-file.js +44 -0
- package/dist/config-file.js.map +1 -0
- package/dist/config.d.ts +0 -56
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +39 -346
- package/dist/config.js.map +1 -1
- package/dist/environment-resolver.d.ts +26 -0
- package/dist/environment-resolver.d.ts.map +1 -0
- package/dist/environment-resolver.js +131 -0
- package/dist/environment-resolver.js.map +1 -0
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/options/ci.d.ts +10 -0
- package/dist/options/ci.d.ts.map +1 -0
- package/dist/options/ci.js +429 -0
- package/dist/options/ci.js.map +1 -0
- package/dist/options/index.d.ts +7 -0
- package/dist/options/index.d.ts.map +1 -1
- package/dist/options/index.js +5 -0
- package/dist/options/index.js.map +1 -1
- package/dist/options/phpunit-detect.d.ts +13 -26
- package/dist/options/phpunit-detect.d.ts.map +1 -1
- package/dist/options/phpunit-detect.js +51 -32
- package/dist/options/phpunit-detect.js.map +1 -1
- package/dist/options/phpunit.d.ts.map +1 -1
- package/dist/options/phpunit.js +7 -11
- package/dist/options/phpunit.js.map +1 -1
- package/dist/options/project-root.js +1 -1
- package/dist/options/project-root.js.map +1 -1
- package/dist/options/project-type.js +1 -1
- package/dist/options/project-type.js.map +1 -1
- package/dist/options/smoke-tests.js +1 -1
- package/dist/options/smoke-tests.js.map +1 -1
- package/dist/path-mappers.d.ts +7 -7
- package/dist/path-mappers.d.ts.map +1 -1
- package/dist/path-mappers.js +10 -10
- package/dist/path-mappers.js.map +1 -1
- package/dist/path-utils.d.ts +62 -0
- package/dist/path-utils.d.ts.map +1 -0
- package/dist/path-utils.js +141 -0
- package/dist/path-utils.js.map +1 -0
- package/dist/resolved-types.d.ts +31 -9
- package/dist/resolved-types.d.ts.map +1 -1
- package/dist/schema.json +3 -5
- package/dist/test-resolver.d.ts +18 -0
- package/dist/test-resolver.d.ts.map +1 -0
- package/dist/test-resolver.js +107 -0
- package/dist/test-resolver.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wp-tester-config.d.ts +4 -2
- package/dist/wp-tester-config.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/phpunit.d.ts +0 -12
- package/dist/phpunit.d.ts.map +0 -1
- package/dist/phpunit.js +0 -58
- package/dist/phpunit.js.map +0 -1
package/dist/options/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { projectRootOption } from './project-root.js';
|
|
|
3
3
|
import { projectTypeOption } from './project-type.js';
|
|
4
4
|
import { smokeTestsOption } from './smoke-tests.js';
|
|
5
5
|
import { phpunitOption } from './phpunit.js';
|
|
6
|
+
import { ciOption } from './ci.js';
|
|
6
7
|
export interface ConfigOptionContext {
|
|
7
8
|
configPath?: string;
|
|
8
9
|
[key: string]: unknown;
|
|
@@ -29,6 +30,12 @@ declare const optionMapInternal: {
|
|
|
29
30
|
configPath: string;
|
|
30
31
|
};
|
|
31
32
|
};
|
|
33
|
+
ci: {
|
|
34
|
+
handler: typeof ciOption;
|
|
35
|
+
getContext: (configPath: string) => {
|
|
36
|
+
configPath: string;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
32
39
|
};
|
|
33
40
|
export declare const optionMap: Record<string, ConfigOptionDefinition>;
|
|
34
41
|
export type OptionName = keyof typeof optionMapInternal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/options/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/options/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEhC,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,mBAAmB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;AAE9G,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,mBAAmB,CAAC;CAC1D;AAED,QAAA,MAAM,iBAAiB;;;;;;;;;;;;iCAYM,MAAM;;;;;;;iCAIN,MAAM;;;;CAEe,CAAC;AAEnD,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAqB,CAAC;AAEnF,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAExD,eAAO,MAAM,WAAW,EAAqC,KAAK,CAAC,UAAU,CAAC,CAAC;AAE/E,eAAO,MAAM,YAAY,gBAAmD,CAAC"}
|
package/dist/options/index.js
CHANGED
|
@@ -2,6 +2,7 @@ import { projectRootOption } from './project-root.js';
|
|
|
2
2
|
import { projectTypeOption } from './project-type.js';
|
|
3
3
|
import { smokeTestsOption } from './smoke-tests.js';
|
|
4
4
|
import { phpunitOption } from './phpunit.js';
|
|
5
|
+
import { ciOption } from './ci.js';
|
|
5
6
|
const optionMapInternal = {
|
|
6
7
|
'project-root': {
|
|
7
8
|
handler: projectRootOption,
|
|
@@ -15,6 +16,10 @@ const optionMapInternal = {
|
|
|
15
16
|
'phpunit': {
|
|
16
17
|
handler: phpunitOption,
|
|
17
18
|
getContext: (configPath) => ({ promptIfNotDetected: true, configPath }),
|
|
19
|
+
},
|
|
20
|
+
'ci': {
|
|
21
|
+
handler: ciOption,
|
|
22
|
+
getContext: (configPath) => ({ configPath }),
|
|
18
23
|
}
|
|
19
24
|
};
|
|
20
25
|
export const optionMap = optionMapInternal;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/options/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/options/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAchC,MAAM,iBAAiB,GAAG;IACxB,cAAc,EAAE;QACd,OAAO,EAAE,iBAAiB;KAC3B;IACD,cAAc,EAAE;QACd,OAAO,EAAE,iBAAiB;KAC3B;IACD,aAAa,EAAE;QACb,OAAO,EAAE,gBAAgB;KAC1B;IACD,SAAS,EAAE;QACT,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;KAChF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,QAAQ;QACjB,UAAU,EAAE,CAAC,UAAkB,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACrD;CAC+C,CAAC;AAEnD,MAAM,CAAC,MAAM,SAAS,GAA2C,iBAAiB,CAAC;AAInF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAsB,CAAC;AAE/E,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -1,30 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Detected PHPUnit configuration
|
|
3
|
-
*/
|
|
4
|
-
export interface DetectedPHPUnitConfig {
|
|
5
|
-
/**
|
|
6
|
-
* Path to PHPUnit executable (relative to project root)
|
|
7
|
-
*/
|
|
8
|
-
phpunitPath: string;
|
|
9
|
-
/**
|
|
10
|
-
* Path to PHPUnit configuration file (relative to project root)
|
|
11
|
-
*/
|
|
12
|
-
configPath: string;
|
|
13
|
-
/**
|
|
14
|
-
* Path to PHPUnit bootstrap file (relative to project root)
|
|
15
|
-
* Optional - if not provided, only the custom wp-tester bootstrap will be used
|
|
16
|
-
*/
|
|
17
|
-
bootstrapPath?: string;
|
|
18
|
-
}
|
|
19
1
|
/**
|
|
20
2
|
* Find the PHPUnit config file (phpunit.xml or phpunit.xml.dist)
|
|
21
3
|
*/
|
|
22
4
|
export declare function findPhpUnitConfig(basePath: string): Promise<string | null>;
|
|
23
|
-
/**
|
|
24
|
-
* Find the PHPUnit bootstrap file
|
|
25
|
-
* @param basePath
|
|
26
|
-
*/
|
|
27
|
-
export declare function findPhpUnitBootstrap(basePath: string): Promise<string | null>;
|
|
28
5
|
/**
|
|
29
6
|
* Find the PHPUnit executable path
|
|
30
7
|
* @param basePath
|
|
@@ -36,8 +13,18 @@ export declare function findPhpUnitExecutable(basePath: string): Promise<string
|
|
|
36
13
|
*/
|
|
37
14
|
export declare function parseBootstrapPath(configPath: string): Promise<string | null>;
|
|
38
15
|
/**
|
|
39
|
-
*
|
|
40
|
-
* Returns
|
|
16
|
+
* Resolve the bootstrap file path for PHPUnit tests
|
|
17
|
+
* Returns the absolute path to the bootstrap file or null if not found
|
|
18
|
+
*
|
|
19
|
+
* Priority order:
|
|
20
|
+
* 1. Explicit bootstrapPath from user config
|
|
21
|
+
* 2. Parse from phpunit.xml config file
|
|
22
|
+
* 3. Fall back to tests/bootstrap.php
|
|
23
|
+
*
|
|
24
|
+
* @param configPath - Absolute path to PHPUnit config file
|
|
25
|
+
* @param projectDir - Absolute path to project directory
|
|
26
|
+
* @param explicitBootstrapPath - Optional explicit bootstrap path from user config (relative or absolute)
|
|
27
|
+
* @returns Absolute path to bootstrap file, or null if not found
|
|
41
28
|
*/
|
|
42
|
-
export declare function
|
|
29
|
+
export declare function resolveBootstrapPath(configPath: string, projectDir: string, explicitBootstrapPath?: string): Promise<string | null>;
|
|
43
30
|
//# sourceMappingURL=phpunit-detect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phpunit-detect.d.ts","sourceRoot":"","sources":["../../src/options/phpunit-detect.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"phpunit-detect.d.ts","sourceRoot":"","sources":["../../src/options/phpunit-detect.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAchF;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAepF;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBnF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,qBAAqB,CAAC,EAAE,MAAM,GAC7B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuCxB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { access, readFile } from 'fs/promises';
|
|
2
|
-
import { join,
|
|
2
|
+
import { join, resolve, isAbsolute } from 'path';
|
|
3
3
|
/**
|
|
4
4
|
* Find the PHPUnit config file (phpunit.xml or phpunit.xml.dist)
|
|
5
5
|
*/
|
|
@@ -17,24 +17,6 @@ export async function findPhpUnitConfig(basePath) {
|
|
|
17
17
|
}
|
|
18
18
|
return null;
|
|
19
19
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Find the PHPUnit bootstrap file
|
|
22
|
-
* @param basePath
|
|
23
|
-
*/
|
|
24
|
-
export async function findPhpUnitBootstrap(basePath) {
|
|
25
|
-
const bootstrapFiles = ['tests/bootstrap.php'];
|
|
26
|
-
for (const file of bootstrapFiles) {
|
|
27
|
-
const bootstrapPath = join(basePath, file);
|
|
28
|
-
try {
|
|
29
|
-
await access(bootstrapPath);
|
|
30
|
-
return bootstrapPath;
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
// File doesn't exist, continue checking
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return null;
|
|
37
|
-
}
|
|
38
20
|
/**
|
|
39
21
|
* Find the PHPUnit executable path
|
|
40
22
|
* @param basePath
|
|
@@ -74,21 +56,58 @@ export async function parseBootstrapPath(configPath) {
|
|
|
74
56
|
return null;
|
|
75
57
|
}
|
|
76
58
|
/**
|
|
77
|
-
*
|
|
78
|
-
* Returns
|
|
59
|
+
* Resolve the bootstrap file path for PHPUnit tests
|
|
60
|
+
* Returns the absolute path to the bootstrap file or null if not found
|
|
61
|
+
*
|
|
62
|
+
* Priority order:
|
|
63
|
+
* 1. Explicit bootstrapPath from user config
|
|
64
|
+
* 2. Parse from phpunit.xml config file
|
|
65
|
+
* 3. Fall back to tests/bootstrap.php
|
|
66
|
+
*
|
|
67
|
+
* @param configPath - Absolute path to PHPUnit config file
|
|
68
|
+
* @param projectDir - Absolute path to project directory
|
|
69
|
+
* @param explicitBootstrapPath - Optional explicit bootstrap path from user config (relative or absolute)
|
|
70
|
+
* @returns Absolute path to bootstrap file, or null if not found
|
|
79
71
|
*/
|
|
80
|
-
export async function
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
72
|
+
export async function resolveBootstrapPath(configPath, projectDir, explicitBootstrapPath) {
|
|
73
|
+
// Priority 1: Explicit bootstrapPath from config
|
|
74
|
+
if (explicitBootstrapPath) {
|
|
75
|
+
// Handle both relative and absolute paths
|
|
76
|
+
const absoluteBootstrapPath = isAbsolute(explicitBootstrapPath)
|
|
77
|
+
? explicitBootstrapPath
|
|
78
|
+
: resolve(projectDir, explicitBootstrapPath);
|
|
79
|
+
try {
|
|
80
|
+
await access(absoluteBootstrapPath);
|
|
81
|
+
return absoluteBootstrapPath;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
// Explicit path doesn't exist, fall through to other priorities
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Priority 2: Parse from phpunit.xml
|
|
88
|
+
const parsedBootstrap = await parseBootstrapPath(configPath);
|
|
89
|
+
if (parsedBootstrap) {
|
|
90
|
+
// Handle both relative and absolute paths
|
|
91
|
+
const absoluteBootstrapPath = isAbsolute(parsedBootstrap)
|
|
92
|
+
? parsedBootstrap
|
|
93
|
+
: resolve(projectDir, parsedBootstrap);
|
|
94
|
+
try {
|
|
95
|
+
await access(absoluteBootstrapPath);
|
|
96
|
+
return absoluteBootstrapPath;
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
// Parsed path doesn't exist, try fallback
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// Priority 3: Fallback to tests/bootstrap.php
|
|
103
|
+
const fallbackBootstrap = join(projectDir, 'tests/bootstrap.php');
|
|
104
|
+
try {
|
|
105
|
+
await access(fallbackBootstrap);
|
|
106
|
+
return fallbackBootstrap;
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
// No bootstrap found
|
|
85
110
|
return null;
|
|
86
111
|
}
|
|
87
|
-
const bootstrapPath = await findPhpUnitBootstrap(basePath);
|
|
88
|
-
return {
|
|
89
|
-
phpunitPath: relative(basePath, phpunitPath),
|
|
90
|
-
configPath: relative(basePath, configPath),
|
|
91
|
-
...(bootstrapPath && { bootstrapPath: relative(basePath, bootstrapPath) }),
|
|
92
|
-
};
|
|
93
112
|
}
|
|
94
113
|
//# sourceMappingURL=phpunit-detect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phpunit-detect.js","sourceRoot":"","sources":["../../src/options/phpunit-detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"phpunit-detect.js","sourceRoot":"","sources":["../../src/options/phpunit-detect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phpunit.d.ts","sourceRoot":"","sources":["../../src/options/phpunit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"phpunit.d.ts","sourceRoot":"","sources":["../../src/options/phpunit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,UAAU,CAAC;AA+V9D;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/D,OAAO,CAAC,cAAc,CAAC,CAsBzB"}
|
package/dist/options/phpunit.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as clack from "@clack/prompts";
|
|
2
|
-
import { getProjectDir } from "../
|
|
3
|
-
import { findPhpUnitConfig, findPhpUnitExecutable,
|
|
2
|
+
import { getProjectDir } from "../path-utils.js";
|
|
3
|
+
import { findPhpUnitConfig, findPhpUnitExecutable, } from "./phpunit-detect.js";
|
|
4
4
|
import { access } from "fs/promises";
|
|
5
5
|
import { join, relative } from "path";
|
|
6
6
|
/**
|
|
@@ -135,15 +135,13 @@ async function collectManualPHPUnitConfig(config, projectHostPath) {
|
|
|
135
135
|
/**
|
|
136
136
|
* Handle full detection (both config and executable found)
|
|
137
137
|
*/
|
|
138
|
-
async function handleFullDetection(config, projectHostPath, configFile, executable
|
|
138
|
+
async function handleFullDetection(config, projectHostPath, configFile, executable) {
|
|
139
139
|
// Convert to relative paths
|
|
140
140
|
const relativeConfig = relative(projectHostPath, configFile);
|
|
141
141
|
const relativeExecutable = relative(projectHostPath, executable);
|
|
142
|
-
const relativeBootstrap = bootstrap ? relative(projectHostPath, bootstrap) : null;
|
|
143
142
|
// Display detected configuration
|
|
144
143
|
const configNote = `PHPUnit executable: ${relativeExecutable}\n` +
|
|
145
|
-
`Config file: ${relativeConfig}
|
|
146
|
-
(relativeBootstrap ? `\nBootstrap file: ${relativeBootstrap}` : "");
|
|
144
|
+
`Config file: ${relativeConfig}`;
|
|
147
145
|
clack.note(configNote, "Detected PHPUnit Configuration");
|
|
148
146
|
// Ask user to confirm or customize
|
|
149
147
|
const action = await clack.select({
|
|
@@ -178,11 +176,11 @@ async function handleFullDetection(config, projectHostPath, configFile, executab
|
|
|
178
176
|
clack.cancel("Setup cancelled.");
|
|
179
177
|
process.exit(0);
|
|
180
178
|
}
|
|
179
|
+
// Bootstrap path will be detected and resolved later by resolveTests
|
|
181
180
|
finalConfig = {
|
|
182
181
|
phpunitPath: relativeExecutable,
|
|
183
182
|
configPath: relativeConfig,
|
|
184
183
|
testMode: testMode,
|
|
185
|
-
...(relativeBootstrap && { bootstrapPath: relativeBootstrap }),
|
|
186
184
|
};
|
|
187
185
|
}
|
|
188
186
|
return {
|
|
@@ -236,8 +234,7 @@ async function handlePartialDetection(config, projectHostPath, configFile) {
|
|
|
236
234
|
const executable = await findPhpUnitExecutable(projectHostPath);
|
|
237
235
|
if (executable) {
|
|
238
236
|
// Success! Now we have both config and executable
|
|
239
|
-
|
|
240
|
-
return handleFullDetection(config, projectHostPath, configFile, executable, bootstrap);
|
|
237
|
+
return handleFullDetection(config, projectHostPath, configFile, executable);
|
|
241
238
|
}
|
|
242
239
|
// Still not found, loop will continue
|
|
243
240
|
clack.log.error("PHPUnit executable still not found. Please install PHPUnit or specify a custom path.");
|
|
@@ -292,8 +289,7 @@ export async function phpunitOption(config, context) {
|
|
|
292
289
|
// Handle different detection states
|
|
293
290
|
if (configFile && executable) {
|
|
294
291
|
// Full detection - both found
|
|
295
|
-
|
|
296
|
-
return handleFullDetection(config, projectHostPath, configFile, executable, bootstrap);
|
|
292
|
+
return handleFullDetection(config, projectHostPath, configFile, executable);
|
|
297
293
|
}
|
|
298
294
|
else if (configFile && !executable) {
|
|
299
295
|
// Partial detection - config found but executable missing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phpunit.js","sourceRoot":"","sources":["../../src/options/phpunit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"phpunit.js","sourceRoot":"","sources":["../../src/options/phpunit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as clack from '@clack/prompts';
|
|
2
2
|
import * as path from 'path';
|
|
3
3
|
import * as fs from 'fs';
|
|
4
|
-
import { getWorkingDirectory } from '../
|
|
4
|
+
import { getWorkingDirectory } from '../path-utils.js';
|
|
5
5
|
export function validatePath(value) {
|
|
6
6
|
// Allow empty value - will be replaced with cwd
|
|
7
7
|
if (!value || value.trim().length === 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-root.js","sourceRoot":"","sources":["../../src/options/project-root.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"project-root.js","sourceRoot":"","sources":["../../src/options/project-root.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,UAAU,YAAY,CAAC,KAAyB;IACpD,gDAAgD;IAChD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACzC,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,KAAK,CAAC,CAAC;IAE/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAsB;IAEtB,MAAM,GAAG,GAAG,mBAAmB,EAAE,CAAC;IAElC,4EAA4E;IAC5E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;QAChC,OAAO,EAAE,uEAAuE;QAChF,WAAW,EAAE,GAAG;QAChB,YAAY,EAAE,EAAE;QAChB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wEAAwE;IACxE,MAAM,SAAS,GAAG,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEvE,mDAAmD;IACnD,OAAO;QACL,GAAG,MAAM;QACT,eAAe,EAAE,SAAS;KAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-type.js","sourceRoot":"","sources":["../../src/options/project-type.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"project-type.js","sourceRoot":"","sources":["../../src/options/project-type.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAoB,MAAM,uBAAuB,CAAC;AAE5E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAsB;IAEtB,yDAAyD;IACzD,MAAM,eAAe,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAE9C,sBAAsB;IACtB,MAAM,YAAY,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;IAExD,8DAA8D;IAC9D,MAAM,OAAO,GAAG,YAAY,KAAK,OAAO;QACtC,CAAC,CAAC,mEAAmE;QACrE,CAAC,CAAC,qBAAqB,YAAY,GAAG,CAAC;IAEzC,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC;QACpC,OAAO;QACP,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IAEH,gBAAgB;IAChB,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,SAAS,GAAgB,YAAY,CAAC;IAE1C,sCAAsC;IACtC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YACtC,OAAO,EAAE,sBAAsB;YAC/B,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;gBACpC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;gBAClC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;aACnC;SACF,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,SAAS,GAAG,YAA2B,CAAC;IAC1C,CAAC;IAED,kDAAkD;IAClD,IAAI,cAAc,GAAuB,MAAM,CAAC,cAAc,CAAC;IAC/D,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC;YAC/B,OAAO,EAAE,iDAAiD;YAC1D,WAAW,EAAE,YAAY;YACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAClC,OAAO,iDAAiD,CAAC;gBAC3D,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,OAAO,mGAAmG,CAAC;gBAC7G,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,CAAC;SACF,CAAC,CAAC;QAEH,gBAAgB;QAChB,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,cAAc,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,+CAA+C;IAC/C,OAAO;QACL,GAAG,MAAM;QACT,WAAW,EAAE,SAAS;QACtB,GAAG,CAAC,cAAc,IAAI,EAAE,cAAc,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smoke-tests.js","sourceRoot":"","sources":["../../src/options/smoke-tests.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"smoke-tests.js","sourceRoot":"","sources":["../../src/options/smoke-tests.ts"],"names":[],"mappings":"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"}
|
package/dist/path-mappers.d.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ResolvedPath } from "./resolved-types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Maps a host filesystem path to its corresponding VFS path in the playground
|
|
4
4
|
*
|
|
5
5
|
* @param hostPath - Absolute path on the host filesystem
|
|
6
|
-
* @param
|
|
6
|
+
* @param projectPath - Resolved path with host and VFS mappings
|
|
7
7
|
* @returns Corresponding VFS path in the playground
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
|
-
* hostToVfs('/project/tests/bootstrap.php',
|
|
10
|
+
* hostToVfs('/project/tests/bootstrap.php', resolvedPath)
|
|
11
11
|
* // Returns: '/wordpress/wp-content/plugins/my-plugin/tests/bootstrap.php'
|
|
12
12
|
*/
|
|
13
|
-
export declare function hostToVfs(hostPath: string,
|
|
13
|
+
export declare function hostToVfs(hostPath: string, projectPath: ResolvedPath): string;
|
|
14
14
|
/**
|
|
15
15
|
* Maps a VFS path in the playground to its corresponding host filesystem path
|
|
16
16
|
*
|
|
17
17
|
* @param vfsPath - Path in the playground VFS
|
|
18
|
-
* @param
|
|
18
|
+
* @param projectPath - Resolved path with host and VFS mappings
|
|
19
19
|
* @returns Corresponding absolute path on the host filesystem
|
|
20
20
|
*
|
|
21
21
|
* @example
|
|
22
|
-
* vfsToHost('/wordpress/wp-content/plugins/my-plugin/tests/bootstrap.php',
|
|
22
|
+
* vfsToHost('/wordpress/wp-content/plugins/my-plugin/tests/bootstrap.php', resolvedPath)
|
|
23
23
|
* // Returns: '/project/tests/bootstrap.php'
|
|
24
24
|
*/
|
|
25
|
-
export declare function vfsToHost(vfsPath: string,
|
|
25
|
+
export declare function vfsToHost(vfsPath: string, projectPath: ResolvedPath): string;
|
|
26
26
|
//# sourceMappingURL=path-mappers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-mappers.d.ts","sourceRoot":"","sources":["../src/path-mappers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"path-mappers.d.ts","sourceRoot":"","sources":["../src/path-mappers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,GAAG,MAAM,CAG7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,GAAG,MAAM,CAG5E"}
|
package/dist/path-mappers.js
CHANGED
|
@@ -3,30 +3,30 @@ import { relative, join } from "path";
|
|
|
3
3
|
* Maps a host filesystem path to its corresponding VFS path in the playground
|
|
4
4
|
*
|
|
5
5
|
* @param hostPath - Absolute path on the host filesystem
|
|
6
|
-
* @param
|
|
6
|
+
* @param projectPath - Resolved path with host and VFS mappings
|
|
7
7
|
* @returns Corresponding VFS path in the playground
|
|
8
8
|
*
|
|
9
9
|
* @example
|
|
10
|
-
* hostToVfs('/project/tests/bootstrap.php',
|
|
10
|
+
* hostToVfs('/project/tests/bootstrap.php', resolvedPath)
|
|
11
11
|
* // Returns: '/wordpress/wp-content/plugins/my-plugin/tests/bootstrap.php'
|
|
12
12
|
*/
|
|
13
|
-
export function hostToVfs(hostPath,
|
|
14
|
-
const relativePath = relative(
|
|
15
|
-
return join(
|
|
13
|
+
export function hostToVfs(hostPath, projectPath) {
|
|
14
|
+
const relativePath = relative(projectPath.hostPath, hostPath);
|
|
15
|
+
return join(projectPath.vfsPath, relativePath);
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Maps a VFS path in the playground to its corresponding host filesystem path
|
|
19
19
|
*
|
|
20
20
|
* @param vfsPath - Path in the playground VFS
|
|
21
|
-
* @param
|
|
21
|
+
* @param projectPath - Resolved path with host and VFS mappings
|
|
22
22
|
* @returns Corresponding absolute path on the host filesystem
|
|
23
23
|
*
|
|
24
24
|
* @example
|
|
25
|
-
* vfsToHost('/wordpress/wp-content/plugins/my-plugin/tests/bootstrap.php',
|
|
25
|
+
* vfsToHost('/wordpress/wp-content/plugins/my-plugin/tests/bootstrap.php', resolvedPath)
|
|
26
26
|
* // Returns: '/project/tests/bootstrap.php'
|
|
27
27
|
*/
|
|
28
|
-
export function vfsToHost(vfsPath,
|
|
29
|
-
const relativePath = relative(
|
|
30
|
-
return join(
|
|
28
|
+
export function vfsToHost(vfsPath, projectPath) {
|
|
29
|
+
const relativePath = relative(projectPath.vfsPath, vfsPath);
|
|
30
|
+
return join(projectPath.hostPath, relativePath);
|
|
31
31
|
}
|
|
32
32
|
//# sourceMappingURL=path-mappers.js.map
|
package/dist/path-mappers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-mappers.js","sourceRoot":"","sources":["../src/path-mappers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGtC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,
|
|
1
|
+
{"version":3,"file":"path-mappers.js","sourceRoot":"","sources":["../src/path-mappers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAGtC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,WAAyB;IACnE,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,WAAyB;IAClE,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AAClD,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { WPTesterConfig } from "./wp-tester-config.js";
|
|
2
|
+
import type { ResolvedPath } from "./resolved-types.js";
|
|
3
|
+
/**
|
|
4
|
+
* Get the actual working directory, accounting for tools like tsx that may change process.cwd()
|
|
5
|
+
* When running via npx or tsx, INIT_CWD contains the original directory where the command was invoked
|
|
6
|
+
*/
|
|
7
|
+
export declare function getWorkingDirectory(): string;
|
|
8
|
+
/**
|
|
9
|
+
* Resolve a path to an absolute path.
|
|
10
|
+
* If the path is already absolute, return it as-is.
|
|
11
|
+
* Otherwise, resolve it relative to the base directory.
|
|
12
|
+
*
|
|
13
|
+
* @param path - Path to resolve (relative or absolute)
|
|
14
|
+
* @param baseDir - Base directory to resolve relative paths from
|
|
15
|
+
* @returns Absolute path
|
|
16
|
+
*/
|
|
17
|
+
export declare function resolveAbsolute(path: string, baseDir: string): string;
|
|
18
|
+
export declare function configPath(): string;
|
|
19
|
+
export declare function getSchemaPath(importMetaUrl?: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Get the absolute config file path.
|
|
22
|
+
*
|
|
23
|
+
* @param config - Path to config file (relative or absolute)
|
|
24
|
+
* @returns Absolute path to the config file
|
|
25
|
+
*/
|
|
26
|
+
export declare function getConfigPath(config: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Normalize a config path to ensure it points to a file, not a directory.
|
|
29
|
+
* If the path is a directory, appends 'wp-tester.json' to it.
|
|
30
|
+
* Used by readConfigFile, resolveConfig, and the test watcher to handle
|
|
31
|
+
* directory paths passed via --config flag.
|
|
32
|
+
*
|
|
33
|
+
* @param configPath - Path to config file or directory (relative or absolute)
|
|
34
|
+
* @returns Absolute path to the config file
|
|
35
|
+
*/
|
|
36
|
+
export declare function normalizeConfigPath(configPath: string): string;
|
|
37
|
+
/**
|
|
38
|
+
* Get the config file directory path.
|
|
39
|
+
*
|
|
40
|
+
* @param configPath - Path to config file
|
|
41
|
+
* @returns Directory path where the config file is located
|
|
42
|
+
*/
|
|
43
|
+
export declare function getConfigDir(configPath: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Get the project root directory path.
|
|
46
|
+
*
|
|
47
|
+
* Returns config.projectHostPath if specified (resolved relative to config file or as absolute),
|
|
48
|
+
* otherwise returns the config file's directory.
|
|
49
|
+
*
|
|
50
|
+
* @param config - Config object
|
|
51
|
+
* @param configPath - Optional path to config file (needed to resolve relative projectHostPath)
|
|
52
|
+
* @returns Absolute path to the project root directory
|
|
53
|
+
*/
|
|
54
|
+
export declare function getProjectDir(config: WPTesterConfig, configPath?: string): string;
|
|
55
|
+
/**
|
|
56
|
+
* Convert a host path to a ResolvedPath using the project path mapping
|
|
57
|
+
* @param hostPath - Absolute path on host
|
|
58
|
+
* @param projectPath - Project path mapping
|
|
59
|
+
* @returns ResolvedPath with both host and VFS paths
|
|
60
|
+
*/
|
|
61
|
+
export declare function toResolvedPath(hostPath: string, projectPath: ResolvedPath): ResolvedPath;
|
|
62
|
+
//# sourceMappingURL=path-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-utils.d.ts","sourceRoot":"","sources":["../src/path-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAMrD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED,wBAAgB,aAAa,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAoC5D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAc9D;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,cAAc,EACtB,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,CAWR;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,GAAG,YAAY,CAKxF"}
|