@wp-tester/config 0.1.1 → 0.1.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/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 +23 -345
- 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 +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/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 +22 -7
- package/dist/resolved-types.d.ts.map +1 -1
- 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/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
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { WPTesterConfig } from "./wp-tester-config.js";
|
|
2
|
+
export declare function getDefaultConfig(): WPTesterConfig;
|
|
3
|
+
export declare function isConfigWritable(): Promise<boolean>;
|
|
4
|
+
export declare function readConfigFile(path?: string): Promise<WPTesterConfig>;
|
|
5
|
+
export declare function writeConfigFile(config: WPTesterConfig, path?: string): Promise<void>;
|
|
6
|
+
//# sourceMappingURL=config-file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-file.d.ts","sourceRoot":"","sources":["../src/config-file.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,wBAAgB,gBAAgB,IAAI,cAAc,CAiBjD;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAOzD;AAED,wBAAsB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAU3E;AAED,wBAAsB,eAAe,CACnC,MAAM,EAAE,cAAc,EACtB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAKf"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { readFile, writeFile, access, constants as fsConstants } from "fs/promises";
|
|
2
|
+
import { configPath, normalizeConfigPath } from "./path-utils.js";
|
|
3
|
+
export function getDefaultConfig() {
|
|
4
|
+
return {
|
|
5
|
+
$schema: "https://raw.githubusercontent.com/bgrgicak/wp-tester/trunk/packages/config/src/schema.json",
|
|
6
|
+
environments: [
|
|
7
|
+
{
|
|
8
|
+
name: "Latest WordPress and PHP",
|
|
9
|
+
blueprint: {
|
|
10
|
+
preferredVersions: {
|
|
11
|
+
php: "latest",
|
|
12
|
+
wp: "latest",
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
],
|
|
17
|
+
tests: {},
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export async function isConfigWritable() {
|
|
21
|
+
try {
|
|
22
|
+
await access(configPath(), fsConstants.F_OK);
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export async function readConfigFile(path) {
|
|
30
|
+
if (!path) {
|
|
31
|
+
path = configPath();
|
|
32
|
+
}
|
|
33
|
+
// Normalize the path (handles directory paths)
|
|
34
|
+
path = normalizeConfigPath(path);
|
|
35
|
+
const content = await readFile(path, "utf8");
|
|
36
|
+
return JSON.parse(content);
|
|
37
|
+
}
|
|
38
|
+
export async function writeConfigFile(config, path) {
|
|
39
|
+
if (!path) {
|
|
40
|
+
path = configPath();
|
|
41
|
+
}
|
|
42
|
+
await writeFile(path, JSON.stringify(config, null, 2), "utf8");
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=config-file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-file.js","sourceRoot":"","sources":["../src/config-file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE/D,MAAM,UAAU,gBAAgB;IAC9B,OAAO;QACL,OAAO,EACL,4FAA4F;QAC9F,YAAY,EAAE;YACZ;gBACE,IAAI,EAAE,0BAA0B;gBAChC,SAAS,EAAE;oBACT,iBAAiB,EAAE;wBACjB,GAAG,EAAE,QAAQ;wBACb,EAAE,EAAE,QAAQ;qBACb;iBACF;aACF;SACF;QACD,KAAK,EAAE,EAAE;KACV,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,UAAU,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAa;IAChD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,UAAU,EAAE,CAAC;IACtB,CAAC;IAED,+CAA+C;IAC/C,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEjC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAsB,EACtB,IAAa;IAEb,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,IAAI,GAAG,UAAU,EAAE,CAAC;IACtB,CAAC;IACD,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,62 +1,6 @@
|
|
|
1
1
|
import type { WPTesterConfig } from "./wp-tester-config.js";
|
|
2
2
|
import type { ResolvedWPTesterConfig } from "./resolved-types.js";
|
|
3
3
|
export type { WPTesterConfig } from "./wp-tester-config.js";
|
|
4
|
-
/**
|
|
5
|
-
* Get the actual working directory, accounting for tools like tsx that may change process.cwd()
|
|
6
|
-
* When running via npx or tsx, INIT_CWD contains the original directory where the command was invoked
|
|
7
|
-
*/
|
|
8
|
-
export declare function getWorkingDirectory(): string;
|
|
9
|
-
/**
|
|
10
|
-
* Resolve a path to an absolute path.
|
|
11
|
-
* If the path is already absolute, return it as-is.
|
|
12
|
-
* Otherwise, resolve it relative to the base directory.
|
|
13
|
-
*
|
|
14
|
-
* @param path - Path to resolve (relative or absolute)
|
|
15
|
-
* @param baseDir - Base directory to resolve relative paths from
|
|
16
|
-
* @returns Absolute path
|
|
17
|
-
*/
|
|
18
|
-
export declare function resolveAbsolute(path: string, baseDir: string): string;
|
|
19
|
-
export declare function configPath(): string;
|
|
20
|
-
export declare function getSchemaPath(importMetaUrl?: string): string;
|
|
21
|
-
export declare function getDefaultConfig(): WPTesterConfig;
|
|
22
|
-
export declare function isConfigWritable(): Promise<boolean>;
|
|
23
|
-
export declare function readConfigFile(path?: string): Promise<WPTesterConfig>;
|
|
24
|
-
export declare function writeConfigFile(config: WPTesterConfig, path?: string): Promise<void>;
|
|
25
|
-
/**
|
|
26
|
-
* Get the absolute config file path.
|
|
27
|
-
*
|
|
28
|
-
* @param config - Path to config file (relative or absolute)
|
|
29
|
-
* @returns Absolute path to the config file
|
|
30
|
-
*/
|
|
31
|
-
export declare function getConfigPath(config: string): string;
|
|
32
|
-
/**
|
|
33
|
-
* Normalize a config path to ensure it points to a file, not a directory.
|
|
34
|
-
* If the path is a directory, appends 'wp-tester.json' to it.
|
|
35
|
-
* Used by readConfigFile, resolveConfig, and the test watcher to handle
|
|
36
|
-
* directory paths passed via --config flag.
|
|
37
|
-
*
|
|
38
|
-
* @param configPath - Path to config file or directory (relative or absolute)
|
|
39
|
-
* @returns Absolute path to the config file
|
|
40
|
-
*/
|
|
41
|
-
export declare function normalizeConfigPath(configPath: string): string;
|
|
42
|
-
/**
|
|
43
|
-
* Get the config file directory path.
|
|
44
|
-
*
|
|
45
|
-
* @param configPath - Path to config file
|
|
46
|
-
* @returns Directory path where the config file is located
|
|
47
|
-
*/
|
|
48
|
-
export declare function getConfigDir(configPath: string): string;
|
|
49
|
-
/**
|
|
50
|
-
* Get the project root directory path.
|
|
51
|
-
*
|
|
52
|
-
* Returns config.projectHostPath if specified (resolved relative to config file or as absolute),
|
|
53
|
-
* otherwise returns the config file's directory.
|
|
54
|
-
*
|
|
55
|
-
* @param config - Config object
|
|
56
|
-
* @param configPath - Optional path to config file (needed to resolve relative projectHostPath)
|
|
57
|
-
* @returns Absolute path to the project root directory
|
|
58
|
-
*/
|
|
59
|
-
export declare function getProjectDir(config: WPTesterConfig, configPath?: string): string;
|
|
60
4
|
/**
|
|
61
5
|
* Resolve config from path or object and adjust relative paths to absolute paths
|
|
62
6
|
* @param config - Config file path or config object
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAA0F,MAAM,kBAAkB,CAAC;AAUvJ,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,GAAG,MAAM,GAC9B,OAAO,CAAC,sBAAsB,CAAC,CAqNjC"}
|
package/dist/config.js
CHANGED
|
@@ -1,341 +1,10 @@
|
|
|
1
|
-
import { readFile
|
|
2
|
-
import { existsSync
|
|
3
|
-
import { join, dirname, resolve, isAbsolute } from "path";
|
|
4
|
-
import { fileURLToPath } from "url";
|
|
1
|
+
import { readFile } from "fs/promises";
|
|
2
|
+
import { existsSync } from "fs";
|
|
5
3
|
import { getProjectRootMount } from "./auto-mount.js";
|
|
6
4
|
import { detectProjectType } from "./options/project-type-detect.js";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*/
|
|
11
|
-
export function getWorkingDirectory() {
|
|
12
|
-
return process.env.INIT_CWD || process.cwd();
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Resolve a path to an absolute path.
|
|
16
|
-
* If the path is already absolute, return it as-is.
|
|
17
|
-
* Otherwise, resolve it relative to the base directory.
|
|
18
|
-
*
|
|
19
|
-
* @param path - Path to resolve (relative or absolute)
|
|
20
|
-
* @param baseDir - Base directory to resolve relative paths from
|
|
21
|
-
* @returns Absolute path
|
|
22
|
-
*/
|
|
23
|
-
export function resolveAbsolute(path, baseDir) {
|
|
24
|
-
return isAbsolute(path) ? path : resolve(baseDir, path);
|
|
25
|
-
}
|
|
26
|
-
export function configPath() {
|
|
27
|
-
return join(getWorkingDirectory(), "wp-tester.json");
|
|
28
|
-
}
|
|
29
|
-
export function getSchemaPath(importMetaUrl) {
|
|
30
|
-
// For ESM in production (built files) - use import.meta.url from this module
|
|
31
|
-
// This works when the package is installed via npm or run via npx
|
|
32
|
-
const metaUrl = importMetaUrl || import.meta.url;
|
|
33
|
-
if (metaUrl) {
|
|
34
|
-
const currentDir = dirname(fileURLToPath(metaUrl));
|
|
35
|
-
const schemaPath = join(currentDir, "schema.json");
|
|
36
|
-
if (existsSync(schemaPath)) {
|
|
37
|
-
return schemaPath;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
// For CommonJS (built files)
|
|
41
|
-
if (typeof __dirname !== "undefined") {
|
|
42
|
-
return join(__dirname, "schema.json");
|
|
43
|
-
}
|
|
44
|
-
// For dev mode: try to find the config package
|
|
45
|
-
// Could be in monorepo (packages/config) or installed (node_modules)
|
|
46
|
-
const candidates = [
|
|
47
|
-
// Monorepo from root
|
|
48
|
-
join(process.cwd(), "packages/config/src/schema.json"),
|
|
49
|
-
// Monorepo from a package directory
|
|
50
|
-
join(process.cwd(), "../config/src/schema.json"),
|
|
51
|
-
// Installed package
|
|
52
|
-
join(process.cwd(), "node_modules/@wp-tester/config/dist/schema.json"),
|
|
53
|
-
];
|
|
54
|
-
for (const candidate of candidates) {
|
|
55
|
-
if (existsSync(candidate)) {
|
|
56
|
-
return candidate;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
// Last resort
|
|
60
|
-
return candidates[candidates.length - 1];
|
|
61
|
-
}
|
|
62
|
-
export function getDefaultConfig() {
|
|
63
|
-
return {
|
|
64
|
-
$schema: "https://raw.githubusercontent.com/bgrgicak/wp-tester/trunk/packages/config/src/schema.json",
|
|
65
|
-
environments: [
|
|
66
|
-
{
|
|
67
|
-
name: "Latest WordPress and PHP",
|
|
68
|
-
blueprint: {
|
|
69
|
-
preferredVersions: {
|
|
70
|
-
php: "latest",
|
|
71
|
-
wp: "latest",
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
},
|
|
75
|
-
],
|
|
76
|
-
tests: {},
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
export async function isConfigWritable() {
|
|
80
|
-
try {
|
|
81
|
-
await access(configPath(), fsConstants.F_OK);
|
|
82
|
-
return true;
|
|
83
|
-
}
|
|
84
|
-
catch {
|
|
85
|
-
return false;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
export async function readConfigFile(path) {
|
|
89
|
-
if (!path) {
|
|
90
|
-
path = configPath();
|
|
91
|
-
}
|
|
92
|
-
// Normalize the path (handles directory paths)
|
|
93
|
-
path = normalizeConfigPath(path);
|
|
94
|
-
const content = await readFile(path, "utf8");
|
|
95
|
-
return JSON.parse(content);
|
|
96
|
-
}
|
|
97
|
-
export async function writeConfigFile(config, path) {
|
|
98
|
-
if (!path) {
|
|
99
|
-
path = configPath();
|
|
100
|
-
}
|
|
101
|
-
await writeFile(path, JSON.stringify(config, null, 2), "utf8");
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Get the absolute config file path.
|
|
105
|
-
*
|
|
106
|
-
* @param config - Path to config file (relative or absolute)
|
|
107
|
-
* @returns Absolute path to the config file
|
|
108
|
-
*/
|
|
109
|
-
export function getConfigPath(config) {
|
|
110
|
-
// Expand tilde (~) to home directory
|
|
111
|
-
if (config.startsWith('~/') || config === '~') {
|
|
112
|
-
const homeDir = process.env.HOME || process.env.USERPROFILE;
|
|
113
|
-
if (!homeDir) {
|
|
114
|
-
throw new Error('Unable to resolve home directory');
|
|
115
|
-
}
|
|
116
|
-
config = config === '~' ? homeDir : join(homeDir, config.slice(2));
|
|
117
|
-
}
|
|
118
|
-
return isAbsolute(config) ? config : resolve(getWorkingDirectory(), config);
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Normalize a config path to ensure it points to a file, not a directory.
|
|
122
|
-
* If the path is a directory, appends 'wp-tester.json' to it.
|
|
123
|
-
* Used by readConfigFile, resolveConfig, and the test watcher to handle
|
|
124
|
-
* directory paths passed via --config flag.
|
|
125
|
-
*
|
|
126
|
-
* @param configPath - Path to config file or directory (relative or absolute)
|
|
127
|
-
* @returns Absolute path to the config file
|
|
128
|
-
*/
|
|
129
|
-
export function normalizeConfigPath(configPath) {
|
|
130
|
-
const absolutePath = getConfigPath(configPath);
|
|
131
|
-
// Check if path is a directory (synchronous)
|
|
132
|
-
try {
|
|
133
|
-
const stats = statSync(absolutePath);
|
|
134
|
-
if (stats.isDirectory()) {
|
|
135
|
-
return join(absolutePath, 'wp-tester.json');
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
catch {
|
|
139
|
-
// If stat fails, assume it's a file path
|
|
140
|
-
}
|
|
141
|
-
return absolutePath;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Get the config file directory path.
|
|
145
|
-
*
|
|
146
|
-
* @param configPath - Path to config file
|
|
147
|
-
* @returns Directory path where the config file is located
|
|
148
|
-
*/
|
|
149
|
-
export function getConfigDir(configPath) {
|
|
150
|
-
return dirname(getConfigPath(configPath));
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Get the project root directory path.
|
|
154
|
-
*
|
|
155
|
-
* Returns config.projectHostPath if specified (resolved relative to config file or as absolute),
|
|
156
|
-
* otherwise returns the config file's directory.
|
|
157
|
-
*
|
|
158
|
-
* @param config - Config object
|
|
159
|
-
* @param configPath - Optional path to config file (needed to resolve relative projectHostPath)
|
|
160
|
-
* @returns Absolute path to the project root directory
|
|
161
|
-
*/
|
|
162
|
-
export function getProjectDir(config, configPath) {
|
|
163
|
-
// Get base directory: config file location or cwd
|
|
164
|
-
const baseDir = configPath ? getConfigDir(configPath) : getWorkingDirectory();
|
|
165
|
-
// If projectHostPath is specified, resolve it relative to base directory
|
|
166
|
-
if (config.projectHostPath) {
|
|
167
|
-
return resolveAbsolute(config.projectHostPath, baseDir);
|
|
168
|
-
}
|
|
169
|
-
// No projectHostPath specified, return base directory
|
|
170
|
-
return baseDir;
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Normalize a version spec (string or array) to an array of versions.
|
|
174
|
-
* @param spec - Version specification (single string or array)
|
|
175
|
-
* @returns Array of version strings
|
|
176
|
-
*/
|
|
177
|
-
function normalizeVersionSpec(spec) {
|
|
178
|
-
if (!spec) {
|
|
179
|
-
return [];
|
|
180
|
-
}
|
|
181
|
-
return Array.isArray(spec) ? spec : [spec];
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Generate a name for an expanded environment based on the original name
|
|
185
|
-
* and the specific PHP/WP versions.
|
|
186
|
-
* @param baseName - Original environment name (if any)
|
|
187
|
-
* @param phpVersion - PHP version for this combination (only if from matrix)
|
|
188
|
-
* @param wpVersion - WordPress version for this combination (only if from matrix)
|
|
189
|
-
* @param phpIsFromMatrix - Whether PHP version is from matrix expansion (not blueprint)
|
|
190
|
-
* @param wpIsFromMatrix - Whether WP version is from matrix expansion (not blueprint)
|
|
191
|
-
* @param isMatrix - Whether this is part of a matrix (multiple combinations)
|
|
192
|
-
* @returns Generated environment name
|
|
193
|
-
*/
|
|
194
|
-
function generateExpandedName(baseName, phpVersion, wpVersion, phpIsFromMatrix, wpIsFromMatrix, isMatrix) {
|
|
195
|
-
// If not a matrix expansion, keep the original name
|
|
196
|
-
if (!isMatrix) {
|
|
197
|
-
return baseName;
|
|
198
|
-
}
|
|
199
|
-
// Build version suffix - only include versions that are from the matrix
|
|
200
|
-
const parts = [];
|
|
201
|
-
if (phpVersion && phpIsFromMatrix) {
|
|
202
|
-
parts.push(`PHP ${phpVersion}`);
|
|
203
|
-
}
|
|
204
|
-
if (wpVersion && wpIsFromMatrix) {
|
|
205
|
-
parts.push(`WP ${wpVersion}`);
|
|
206
|
-
}
|
|
207
|
-
if (parts.length === 0) {
|
|
208
|
-
return baseName;
|
|
209
|
-
}
|
|
210
|
-
const versionSuffix = parts.join(", ");
|
|
211
|
-
return baseName ? `${baseName} (${versionSuffix})` : versionSuffix;
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Expand environments with version arrays into multiple environments,
|
|
215
|
-
* one for each combination of PHP and WP versions.
|
|
216
|
-
*
|
|
217
|
-
* Rules:
|
|
218
|
-
* - If blueprint.preferredVersions.php is set, it overrides env.php (no matrix for PHP)
|
|
219
|
-
* - If blueprint.preferredVersions.wp is set, it overrides env.wp (no matrix for WP)
|
|
220
|
-
* - When arrays are provided for both php and wp, creates a full matrix of combinations
|
|
221
|
-
*
|
|
222
|
-
* @param environments - Original environments array
|
|
223
|
-
* @param projectDir - Project directory for resolving blueprint paths
|
|
224
|
-
* @returns Expanded environments array
|
|
225
|
-
*/
|
|
226
|
-
async function expandEnvironments(environments, projectDir) {
|
|
227
|
-
const expanded = [];
|
|
228
|
-
for (const env of environments) {
|
|
229
|
-
// Load blueprint if it's a string path (needed to check preferredVersions)
|
|
230
|
-
// If no blueprint is provided, use an empty object (defaults will be applied later)
|
|
231
|
-
let blueprint;
|
|
232
|
-
if (!env.blueprint) {
|
|
233
|
-
blueprint = {};
|
|
234
|
-
}
|
|
235
|
-
else if (typeof env.blueprint === "string") {
|
|
236
|
-
const blueprintPath = resolveAbsolute(env.blueprint, projectDir);
|
|
237
|
-
const blueprintContent = await readFile(blueprintPath, "utf-8");
|
|
238
|
-
blueprint = JSON.parse(blueprintContent);
|
|
239
|
-
}
|
|
240
|
-
else {
|
|
241
|
-
blueprint = env.blueprint;
|
|
242
|
-
}
|
|
243
|
-
// Determine PHP versions to use
|
|
244
|
-
// Blueprint preferredVersions.php overrides environment-level php
|
|
245
|
-
// However, "latest" is treated as unspecified, allowing matrix expansion
|
|
246
|
-
const blueprintPhp = blueprint.preferredVersions?.php;
|
|
247
|
-
let phpVersions;
|
|
248
|
-
let phpIsFromMatrix;
|
|
249
|
-
if (blueprintPhp && blueprintPhp !== "latest") {
|
|
250
|
-
// Blueprint takes precedence - use only the blueprint version
|
|
251
|
-
phpVersions = [blueprintPhp];
|
|
252
|
-
phpIsFromMatrix = false; // Not from matrix, from blueprint
|
|
253
|
-
}
|
|
254
|
-
else {
|
|
255
|
-
// Use environment-level versions
|
|
256
|
-
phpVersions = normalizeVersionSpec(env.php);
|
|
257
|
-
phpIsFromMatrix = true; // From matrix (env-level config)
|
|
258
|
-
}
|
|
259
|
-
// Determine WP versions to use
|
|
260
|
-
// Blueprint preferredVersions.wp overrides environment-level wp
|
|
261
|
-
// However, "latest" is treated as unspecified, allowing matrix expansion
|
|
262
|
-
const blueprintWp = blueprint.preferredVersions?.wp;
|
|
263
|
-
let wpVersions;
|
|
264
|
-
let wpIsFromMatrix;
|
|
265
|
-
if (blueprintWp && blueprintWp !== "latest") {
|
|
266
|
-
// Blueprint takes precedence - use only the blueprint version
|
|
267
|
-
wpVersions = [blueprintWp];
|
|
268
|
-
wpIsFromMatrix = false; // Not from matrix, from blueprint
|
|
269
|
-
}
|
|
270
|
-
else {
|
|
271
|
-
// Use environment-level versions
|
|
272
|
-
wpVersions = normalizeVersionSpec(env.wp);
|
|
273
|
-
wpIsFromMatrix = true; // From matrix (env-level config)
|
|
274
|
-
}
|
|
275
|
-
// If no versions specified at either level, create a single environment
|
|
276
|
-
if (phpVersions.length === 0 && wpVersions.length === 0) {
|
|
277
|
-
expanded.push({ ...env });
|
|
278
|
-
continue;
|
|
279
|
-
}
|
|
280
|
-
// Ensure at least one version for each dimension (use empty string as placeholder for "not specified")
|
|
281
|
-
const phpList = phpVersions.length > 0 ? phpVersions : [""];
|
|
282
|
-
const wpList = wpVersions.length > 0 ? wpVersions : [""];
|
|
283
|
-
// Determine if this is a matrix (multiple combinations)
|
|
284
|
-
const isMatrix = phpList.length > 1 || wpList.length > 1;
|
|
285
|
-
// Create combinations
|
|
286
|
-
for (const phpVersion of phpList) {
|
|
287
|
-
for (const wpVersion of wpList) {
|
|
288
|
-
const expandedEnv = {
|
|
289
|
-
...env,
|
|
290
|
-
name: generateExpandedName(env.name, phpVersion || undefined, wpVersion || undefined, phpIsFromMatrix, wpIsFromMatrix, isMatrix),
|
|
291
|
-
_phpVersion: phpVersion || undefined,
|
|
292
|
-
_wpVersion: wpVersion || undefined,
|
|
293
|
-
};
|
|
294
|
-
expanded.push(expandedEnv);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
return expanded;
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Resolve PHPUnit config paths and set default testMode
|
|
302
|
-
* @param tests - Tests configuration
|
|
303
|
-
* @param projectDir - Project directory for resolving relative paths
|
|
304
|
-
* @returns Resolved tests configuration
|
|
305
|
-
*/
|
|
306
|
-
function resolveTests(tests, projectDir) {
|
|
307
|
-
// If no PHPUnit config, return tests as-is (but explicitly typed)
|
|
308
|
-
if (!tests.phpunit) {
|
|
309
|
-
return {
|
|
310
|
-
plugin: tests.plugin,
|
|
311
|
-
theme: tests.theme,
|
|
312
|
-
wp: tests.wp,
|
|
313
|
-
passWithNoTests: tests.passWithNoTests,
|
|
314
|
-
};
|
|
315
|
-
}
|
|
316
|
-
// Resolve PHPUnit config with absolute paths and default testMode
|
|
317
|
-
const phpunit = tests.phpunit;
|
|
318
|
-
const resolvedPhpunit = {
|
|
319
|
-
phpunitPath: resolveAbsolute(phpunit.phpunitPath, projectDir),
|
|
320
|
-
configPath: resolveAbsolute(phpunit.configPath, projectDir),
|
|
321
|
-
testMode: phpunit.testMode ?? "unit",
|
|
322
|
-
};
|
|
323
|
-
// Add optional bootstrapPath if present
|
|
324
|
-
if (phpunit.bootstrapPath) {
|
|
325
|
-
resolvedPhpunit.bootstrapPath = resolveAbsolute(phpunit.bootstrapPath, projectDir);
|
|
326
|
-
}
|
|
327
|
-
// Preserve phpunitArgs if present
|
|
328
|
-
if (phpunit.phpunitArgs) {
|
|
329
|
-
resolvedPhpunit.phpunitArgs = phpunit.phpunitArgs;
|
|
330
|
-
}
|
|
331
|
-
return {
|
|
332
|
-
plugin: tests.plugin,
|
|
333
|
-
theme: tests.theme,
|
|
334
|
-
wp: tests.wp,
|
|
335
|
-
phpunit: resolvedPhpunit,
|
|
336
|
-
passWithNoTests: tests.passWithNoTests,
|
|
337
|
-
};
|
|
338
|
-
}
|
|
5
|
+
import { getProjectDir, resolveAbsolute, normalizeConfigPath } from "./path-utils.js";
|
|
6
|
+
import { expandEnvironments } from "./environment-resolver.js";
|
|
7
|
+
import { resolveTests } from "./test-resolver.js";
|
|
339
8
|
/**
|
|
340
9
|
* Resolve config from path or object and adjust relative paths to absolute paths
|
|
341
10
|
* @param config - Config file path or config object
|
|
@@ -447,12 +116,17 @@ export async function resolveConfig(config) {
|
|
|
447
116
|
};
|
|
448
117
|
// Auto-detect and add mounts if needed
|
|
449
118
|
let mounts = env.mounts ? [...env.mounts] : []; // Create a copy to avoid mutating original
|
|
450
|
-
//
|
|
119
|
+
// Always add the project root mount if the directory exists
|
|
451
120
|
// This ensures the project root is accessible even when custom mounts are specified
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
const
|
|
455
|
-
|
|
121
|
+
if (existsSync(projectDir)) {
|
|
122
|
+
// Use projectVFSPath if specified, otherwise derive from projectType
|
|
123
|
+
const baseMount = resolvedConfig.projectVFSPath
|
|
124
|
+
? { hostPath: projectDir, vfsPath: resolvedConfig.projectVFSPath }
|
|
125
|
+
: getProjectRootMount(projectDir, projectType);
|
|
126
|
+
if (baseMount) {
|
|
127
|
+
// Auto-mounts use beforeInstall: true so the project is available
|
|
128
|
+
// before the blueprint runs (e.g., for activatePlugin steps)
|
|
129
|
+
const mount = { ...baseMount, beforeInstall: true };
|
|
456
130
|
// Check if this mount already exists (by vfsPath) to avoid duplicates
|
|
457
131
|
// Normalize paths by removing trailing slashes for comparison
|
|
458
132
|
const normalizeVfsPath = (path) => path.replace(/\/+$/, '');
|
|
@@ -487,8 +161,6 @@ export async function resolveConfig(config) {
|
|
|
487
161
|
skip: env.skip ?? false,
|
|
488
162
|
};
|
|
489
163
|
}));
|
|
490
|
-
// Resolve PHPUnit paths to absolute paths and ensure testMode has a default
|
|
491
|
-
const resolvedTests = resolveTests(resolvedConfig.tests, projectDir);
|
|
492
164
|
// Determine project VFS path
|
|
493
165
|
let projectVFSPath;
|
|
494
166
|
if (resolvedConfig.projectVFSPath !== undefined) {
|
|
@@ -511,11 +183,17 @@ export async function resolveConfig(config) {
|
|
|
511
183
|
projectVFSPath = projectDir;
|
|
512
184
|
}
|
|
513
185
|
}
|
|
186
|
+
// Create project path with both host and VFS paths
|
|
187
|
+
const projectPath = {
|
|
188
|
+
hostPath: projectDir,
|
|
189
|
+
vfsPath: projectVFSPath,
|
|
190
|
+
};
|
|
191
|
+
// Resolve PHPUnit paths to absolute paths and ensure testMode has a default
|
|
192
|
+
const resolvedTests = await resolveTests(resolvedConfig.tests, projectPath);
|
|
514
193
|
// Return fully resolved config with all required fields
|
|
515
194
|
return {
|
|
516
195
|
...resolvedConfig,
|
|
517
|
-
|
|
518
|
-
projectVFSPath,
|
|
196
|
+
projectPath,
|
|
519
197
|
projectType,
|
|
520
198
|
reporters,
|
|
521
199
|
environments: resolvedEnvironments,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Environment } from "./wp-tester-config.js";
|
|
2
|
+
/**
|
|
3
|
+
* Internal interface for expanded environments with resolved version arrays.
|
|
4
|
+
* This is used internally during expansion before full resolution.
|
|
5
|
+
*/
|
|
6
|
+
export interface ExpandedEnvironment extends Environment {
|
|
7
|
+
/** The specific PHP version for this expanded environment */
|
|
8
|
+
_phpVersion?: string;
|
|
9
|
+
/** The specific WP version for this expanded environment */
|
|
10
|
+
_wpVersion?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Expand environments with version arrays into multiple environments,
|
|
14
|
+
* one for each combination of PHP and WP versions.
|
|
15
|
+
*
|
|
16
|
+
* Rules:
|
|
17
|
+
* - If blueprint.preferredVersions.php is set, it overrides env.php (no matrix for PHP)
|
|
18
|
+
* - If blueprint.preferredVersions.wp is set, it overrides env.wp (no matrix for WP)
|
|
19
|
+
* - When arrays are provided for both php and wp, creates a full matrix of combinations
|
|
20
|
+
*
|
|
21
|
+
* @param environments - Original environments array
|
|
22
|
+
* @param projectDir - Project directory for resolving blueprint paths
|
|
23
|
+
* @returns Expanded environments array
|
|
24
|
+
*/
|
|
25
|
+
export declare function expandEnvironments(environments: Environment[], projectDir: string): Promise<ExpandedEnvironment[]>;
|
|
26
|
+
//# sourceMappingURL=environment-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment-resolver.d.ts","sourceRoot":"","sources":["../src/environment-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAKtD;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAuDD;;;;;;;;;;;;GAYG;AACH,wBAAsB,kBAAkB,CACtC,YAAY,EAAE,WAAW,EAAE,EAC3B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAoFhC"}
|