@wp-tester/config 0.0.5 → 0.1.1
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.d.ts +15 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +244 -18
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/options/phpunit.js +11 -11
- package/dist/options/phpunit.js.map +1 -1
- package/dist/options/project-root.d.ts.map +1 -1
- package/dist/options/project-root.js +3 -2
- package/dist/options/project-root.js.map +1 -1
- package/dist/options/project-type.js +3 -3
- package/dist/options/smoke-tests.d.ts.map +1 -1
- package/dist/options/smoke-tests.js +18 -6
- package/dist/options/smoke-tests.js.map +1 -1
- package/dist/resolved-types.d.ts +18 -4
- package/dist/resolved-types.d.ts.map +1 -1
- package/dist/schema.json +1118 -1008
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/wp-tester-config.d.ts +112 -12
- package/dist/wp-tester-config.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/config.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
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;
|
|
4
9
|
/**
|
|
5
10
|
* Resolve a path to an absolute path.
|
|
6
11
|
* If the path is already absolute, return it as-is.
|
|
@@ -24,6 +29,16 @@ export declare function writeConfigFile(config: WPTesterConfig, path?: string):
|
|
|
24
29
|
* @returns Absolute path to the config file
|
|
25
30
|
*/
|
|
26
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;
|
|
27
42
|
/**
|
|
28
43
|
* Get the config file directory path.
|
|
29
44
|
*
|
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,EAAsB,MAAM,oBAAoB,CAAC;AAC7E,OAAO,KAAK,EAAE,sBAAsB,EAAmG,MAAM,kBAAkB,CAAC;AAoBhK,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD;;;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,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;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;AA4MD;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,MAAM,EAAE,cAAc,GAAG,MAAM,GAC9B,OAAO,CAAC,sBAAsB,CAAC,CAyMjC"}
|
package/dist/config.js
CHANGED
|
@@ -1,9 +1,16 @@
|
|
|
1
1
|
import { readFile, writeFile, access, constants as fsConstants } from "fs/promises";
|
|
2
|
-
import { existsSync } from "fs";
|
|
2
|
+
import { existsSync, statSync } from "fs";
|
|
3
3
|
import { join, dirname, resolve, isAbsolute } from "path";
|
|
4
4
|
import { fileURLToPath } from "url";
|
|
5
5
|
import { getProjectRootMount } from "./auto-mount.js";
|
|
6
6
|
import { detectProjectType } from "./options/project-type-detect.js";
|
|
7
|
+
/**
|
|
8
|
+
* Get the actual working directory, accounting for tools like tsx that may change process.cwd()
|
|
9
|
+
* When running via npx or tsx, INIT_CWD contains the original directory where the command was invoked
|
|
10
|
+
*/
|
|
11
|
+
export function getWorkingDirectory() {
|
|
12
|
+
return process.env.INIT_CWD || process.cwd();
|
|
13
|
+
}
|
|
7
14
|
/**
|
|
8
15
|
* Resolve a path to an absolute path.
|
|
9
16
|
* If the path is already absolute, return it as-is.
|
|
@@ -17,13 +24,18 @@ export function resolveAbsolute(path, baseDir) {
|
|
|
17
24
|
return isAbsolute(path) ? path : resolve(baseDir, path);
|
|
18
25
|
}
|
|
19
26
|
export function configPath() {
|
|
20
|
-
return join(
|
|
27
|
+
return join(getWorkingDirectory(), "wp-tester.json");
|
|
21
28
|
}
|
|
22
29
|
export function getSchemaPath(importMetaUrl) {
|
|
23
|
-
// For ESM in production (built files)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
+
}
|
|
27
39
|
}
|
|
28
40
|
// For CommonJS (built files)
|
|
29
41
|
if (typeof __dirname !== "undefined") {
|
|
@@ -49,6 +61,7 @@ export function getSchemaPath(importMetaUrl) {
|
|
|
49
61
|
}
|
|
50
62
|
export function getDefaultConfig() {
|
|
51
63
|
return {
|
|
64
|
+
$schema: "https://raw.githubusercontent.com/bgrgicak/wp-tester/trunk/packages/config/src/schema.json",
|
|
52
65
|
environments: [
|
|
53
66
|
{
|
|
54
67
|
name: "Latest WordPress and PHP",
|
|
@@ -61,7 +74,6 @@ export function getDefaultConfig() {
|
|
|
61
74
|
},
|
|
62
75
|
],
|
|
63
76
|
tests: {},
|
|
64
|
-
reporters: ["default"],
|
|
65
77
|
};
|
|
66
78
|
}
|
|
67
79
|
export async function isConfigWritable() {
|
|
@@ -77,6 +89,8 @@ export async function readConfigFile(path) {
|
|
|
77
89
|
if (!path) {
|
|
78
90
|
path = configPath();
|
|
79
91
|
}
|
|
92
|
+
// Normalize the path (handles directory paths)
|
|
93
|
+
path = normalizeConfigPath(path);
|
|
80
94
|
const content = await readFile(path, "utf8");
|
|
81
95
|
return JSON.parse(content);
|
|
82
96
|
}
|
|
@@ -93,7 +107,38 @@ export async function writeConfigFile(config, path) {
|
|
|
93
107
|
* @returns Absolute path to the config file
|
|
94
108
|
*/
|
|
95
109
|
export function getConfigPath(config) {
|
|
96
|
-
|
|
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;
|
|
97
142
|
}
|
|
98
143
|
/**
|
|
99
144
|
* Get the config file directory path.
|
|
@@ -116,7 +161,7 @@ export function getConfigDir(configPath) {
|
|
|
116
161
|
*/
|
|
117
162
|
export function getProjectDir(config, configPath) {
|
|
118
163
|
// Get base directory: config file location or cwd
|
|
119
|
-
const baseDir = configPath ? getConfigDir(configPath) :
|
|
164
|
+
const baseDir = configPath ? getConfigDir(configPath) : getWorkingDirectory();
|
|
120
165
|
// If projectHostPath is specified, resolve it relative to base directory
|
|
121
166
|
if (config.projectHostPath) {
|
|
122
167
|
return resolveAbsolute(config.projectHostPath, baseDir);
|
|
@@ -124,6 +169,134 @@ export function getProjectDir(config, configPath) {
|
|
|
124
169
|
// No projectHostPath specified, return base directory
|
|
125
170
|
return baseDir;
|
|
126
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
|
+
}
|
|
127
300
|
/**
|
|
128
301
|
* Resolve PHPUnit config paths and set default testMode
|
|
129
302
|
* @param tests - Tests configuration
|
|
@@ -137,6 +310,7 @@ function resolveTests(tests, projectDir) {
|
|
|
137
310
|
plugin: tests.plugin,
|
|
138
311
|
theme: tests.theme,
|
|
139
312
|
wp: tests.wp,
|
|
313
|
+
passWithNoTests: tests.passWithNoTests,
|
|
140
314
|
};
|
|
141
315
|
}
|
|
142
316
|
// Resolve PHPUnit config with absolute paths and default testMode
|
|
@@ -159,6 +333,7 @@ function resolveTests(tests, projectDir) {
|
|
|
159
333
|
theme: tests.theme,
|
|
160
334
|
wp: tests.wp,
|
|
161
335
|
phpunit: resolvedPhpunit,
|
|
336
|
+
passWithNoTests: tests.passWithNoTests,
|
|
162
337
|
};
|
|
163
338
|
}
|
|
164
339
|
/**
|
|
@@ -170,7 +345,8 @@ export async function resolveConfig(config) {
|
|
|
170
345
|
let resolvedConfig;
|
|
171
346
|
let configPath;
|
|
172
347
|
if (typeof config === "string") {
|
|
173
|
-
|
|
348
|
+
// Normalize the path (handles directory paths)
|
|
349
|
+
configPath = normalizeConfigPath(config);
|
|
174
350
|
const content = await readFile(configPath, "utf8");
|
|
175
351
|
resolvedConfig = JSON.parse(content);
|
|
176
352
|
}
|
|
@@ -198,13 +374,49 @@ export async function resolveConfig(config) {
|
|
|
198
374
|
// Directory doesn't exist, default to 'other'
|
|
199
375
|
projectType = 'other';
|
|
200
376
|
}
|
|
201
|
-
// Ensure reporters is set
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
377
|
+
// Ensure reporters is set with defaults
|
|
378
|
+
// If no reporters configured, default to showing all test statuses
|
|
379
|
+
const defaultReporterOptions = {
|
|
380
|
+
passed: true,
|
|
381
|
+
failed: true,
|
|
382
|
+
skipped: true,
|
|
383
|
+
pending: true,
|
|
384
|
+
other: true,
|
|
385
|
+
};
|
|
386
|
+
const reporters = {
|
|
387
|
+
...(resolvedConfig.reporters ?? {}),
|
|
388
|
+
default: undefined, // Will be set below
|
|
389
|
+
};
|
|
390
|
+
// Normalize default reporter:
|
|
391
|
+
// - `true` or empty object `{}` -> apply default options (show all)
|
|
392
|
+
// - `false` -> disable default reporter (remove it)
|
|
393
|
+
// - object with options -> use as-is
|
|
394
|
+
const inputDefault = resolvedConfig.reporters?.default;
|
|
395
|
+
if (inputDefault === true || inputDefault === undefined || (typeof inputDefault === 'object' && Object.keys(inputDefault).length === 0)) {
|
|
396
|
+
// true, undefined, or empty object -> use defaults (show all)
|
|
397
|
+
if (inputDefault !== undefined || !resolvedConfig.reporters?.json) {
|
|
398
|
+
reporters.default = defaultReporterOptions;
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
else if (inputDefault === false) {
|
|
402
|
+
// false -> disable default reporter
|
|
403
|
+
reporters.default = undefined;
|
|
404
|
+
}
|
|
405
|
+
else {
|
|
406
|
+
// Object with specific options -> use as-is
|
|
407
|
+
reporters.default = inputDefault;
|
|
408
|
+
}
|
|
409
|
+
// Expand environments with version arrays into multiple environments
|
|
410
|
+
const expandedEnvironments = await expandEnvironments(resolvedConfig.environments, projectDir);
|
|
411
|
+
// Resolve environments: convert ExpandedEnvironment[] to ResolvedEnvironment[]
|
|
412
|
+
const resolvedEnvironments = await Promise.all(expandedEnvironments.map(async (env) => {
|
|
205
413
|
// Resolve blueprint from string to BlueprintV1Declaration if needed
|
|
414
|
+
// If no blueprint is provided, use an empty object (defaults will be applied later)
|
|
206
415
|
let blueprint;
|
|
207
|
-
if (
|
|
416
|
+
if (!env.blueprint) {
|
|
417
|
+
blueprint = {};
|
|
418
|
+
}
|
|
419
|
+
else if (typeof env.blueprint === "string") {
|
|
208
420
|
const blueprintPath = resolveAbsolute(env.blueprint, projectDir);
|
|
209
421
|
const blueprintContent = await readFile(blueprintPath, "utf-8");
|
|
210
422
|
blueprint = JSON.parse(blueprintContent);
|
|
@@ -212,12 +424,25 @@ export async function resolveConfig(config) {
|
|
|
212
424
|
else {
|
|
213
425
|
blueprint = env.blueprint;
|
|
214
426
|
}
|
|
215
|
-
//
|
|
427
|
+
// Determine PHP version:
|
|
428
|
+
// 1. Use the expanded version from matrix (_phpVersion) if set
|
|
429
|
+
// 2. Otherwise use blueprint preferredVersions.php if set
|
|
430
|
+
// 3. Otherwise default to "latest"
|
|
431
|
+
const phpVersion = env._phpVersion || blueprint.preferredVersions?.php || "latest";
|
|
432
|
+
// Determine WP version:
|
|
433
|
+
// 1. Use the expanded version from matrix (_wpVersion) if set
|
|
434
|
+
// 2. Otherwise use blueprint preferredVersions.wp if set
|
|
435
|
+
// 3. Otherwise default to "latest"
|
|
436
|
+
const wpVersion = env._wpVersion || blueprint.preferredVersions?.wp || "latest";
|
|
437
|
+
// Create resolved blueprint with determined versions
|
|
438
|
+
// Type assertion is needed because the versions come from user config
|
|
439
|
+
// and TypeScript can't verify at compile time that they're valid.
|
|
440
|
+
// Invalid versions will be caught by WordPress Playground at runtime.
|
|
216
441
|
const resolvedBlueprint = {
|
|
217
442
|
...blueprint,
|
|
218
443
|
preferredVersions: {
|
|
219
|
-
php:
|
|
220
|
-
wp:
|
|
444
|
+
php: phpVersion,
|
|
445
|
+
wp: wpVersion,
|
|
221
446
|
},
|
|
222
447
|
};
|
|
223
448
|
// Auto-detect and add mounts if needed
|
|
@@ -259,6 +484,7 @@ export async function resolveConfig(config) {
|
|
|
259
484
|
blueprint: resolvedBlueprint,
|
|
260
485
|
mounts: resolvedMounts,
|
|
261
486
|
env: env.env || {},
|
|
487
|
+
skip: env.skip ?? false,
|
|
262
488
|
};
|
|
263
489
|
}));
|
|
264
490
|
// Resolve PHPUnit paths to absolute paths and ensure testMode has a default
|
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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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export type { WPTesterConfig, EnvironmentVariables, Environment, Tests, PHPUnitConfig, TestType,
|
|
2
|
-
export type { ResolvedEnvironment, ResolvedWPTesterConfig, ResolvedPHPUnitConfig, ResolvedTests, ResolvedBlueprint, } from './resolved-types.js';
|
|
3
|
-
export { readConfigFile, writeConfigFile, configPath, getSchemaPath, getDefaultConfig, isConfigWritable, resolveConfig, getProjectDir, getConfigDir, getConfigPath, resolveAbsolute, } from "./config.js";
|
|
1
|
+
export type { WPTesterConfig, EnvironmentVariables, Environment, Tests, PHPUnitConfig, TestType, Reporters, BaseReporterOptions, DefaultReporterOptions, Mount, Blueprint, JsonReporterOptions, WatchConfig, } from "./types.js";
|
|
2
|
+
export type { ResolvedEnvironment, ResolvedWPTesterConfig, ResolvedPHPUnitConfig, ResolvedTests, ResolvedBlueprint, ResolvedReporters, } from './resolved-types.js';
|
|
3
|
+
export { readConfigFile, writeConfigFile, configPath, getSchemaPath, getDefaultConfig, isConfigWritable, resolveConfig, getProjectDir, getConfigDir, getConfigPath, normalizeConfigPath, resolveAbsolute, getWorkingDirectory, } from "./config.js";
|
|
4
4
|
export { getProjectRootMount } from './auto-mount.js';
|
|
5
5
|
export { hostToVfs, vfsToHost } from './path-mappers.js';
|
|
6
6
|
export type { ProjectType } from './options/project-type-detect.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,KAAK,EACL,aAAa,EACb,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,cAAc,EACd,oBAAoB,EACpB,WAAW,EACX,KAAK,EACL,aAAa,EACb,QAAQ,EACR,SAAS,EACT,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,EACL,SAAS,EACT,mBAAmB,EACnB,WAAW,GACZ,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,cAAc,EACd,eAAe,EACf,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAGjE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACrI,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,KAAK,qBAAqB,EAAE,MAAM,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Functions
|
|
2
|
-
export { readConfigFile, writeConfigFile, configPath, getSchemaPath, getDefaultConfig, isConfigWritable, resolveConfig, getProjectDir, getConfigDir, getConfigPath, resolveAbsolute, } from "./config.js";
|
|
2
|
+
export { readConfigFile, writeConfigFile, configPath, getSchemaPath, getDefaultConfig, isConfigWritable, resolveConfig, getProjectDir, getConfigDir, getConfigPath, normalizeConfigPath, resolveAbsolute, getWorkingDirectory, } from "./config.js";
|
|
3
3
|
export { getProjectRootMount } from './auto-mount.js';
|
|
4
4
|
export { hostToVfs, vfsToHost } from './path-mappers.js';
|
|
5
5
|
// Options
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2BA,YAAY;AACZ,OAAO,EACL,cAAc,EACd,eAAe,EACf,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACpB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGtD,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAgE,MAAM,iBAAiB,CAAC;AACrI,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,mBAAmB,EAA8B,MAAM,0BAA0B,CAAC"}
|
package/dist/options/phpunit.js
CHANGED
|
@@ -13,13 +13,13 @@ async function promptForTestMode() {
|
|
|
13
13
|
options: [
|
|
14
14
|
{
|
|
15
15
|
value: "unit",
|
|
16
|
-
label: "Unit tests
|
|
17
|
-
hint: "
|
|
16
|
+
label: "Unit tests",
|
|
17
|
+
hint: "Uses WP Test library mocks - won't break existing tests"
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
value: "integration",
|
|
21
|
-
label: "Integration tests
|
|
22
|
-
hint: "
|
|
21
|
+
label: "Integration tests",
|
|
22
|
+
hint: "Runs inside WordPress - call WP functions, test plugin compatibility, make HTTP requests"
|
|
23
23
|
}
|
|
24
24
|
],
|
|
25
25
|
initialValue: "unit"
|
|
@@ -147,11 +147,11 @@ async function handleFullDetection(config, projectHostPath, configFile, executab
|
|
|
147
147
|
clack.note(configNote, "Detected PHPUnit Configuration");
|
|
148
148
|
// Ask user to confirm or customize
|
|
149
149
|
const action = await clack.select({
|
|
150
|
-
message: "PHPUnit
|
|
150
|
+
message: "PHPUnit configuration detected. What would you like to do?",
|
|
151
151
|
options: [
|
|
152
|
-
{ value: "use", label: "Use detected configuration" },
|
|
153
|
-
{ value: "customize", label: "Customize configuration" },
|
|
154
|
-
{ value: "skip", label: "Skip PHPUnit tests" },
|
|
152
|
+
{ value: "use", label: "Use detected configuration", hint: "Recommended" },
|
|
153
|
+
{ value: "customize", label: "Customize configuration", hint: "Specify different paths" },
|
|
154
|
+
{ value: "skip", label: "Skip PHPUnit tests", hint: "Configure later" },
|
|
155
155
|
],
|
|
156
156
|
initialValue: "use",
|
|
157
157
|
});
|
|
@@ -205,9 +205,9 @@ async function handlePartialDetection(config, projectHostPath, configFile) {
|
|
|
205
205
|
const action = await clack.select({
|
|
206
206
|
message: "What would you like to do?",
|
|
207
207
|
options: [
|
|
208
|
-
{ value: "retry", label: "
|
|
209
|
-
{ value: "custom", label: "Specify custom path" },
|
|
210
|
-
{ value: "skip", label: "Skip for now" },
|
|
208
|
+
{ value: "retry", label: "Try again", hint: "After running composer install" },
|
|
209
|
+
{ value: "custom", label: "Specify custom path", hint: "PHPUnit is in a different location" },
|
|
210
|
+
{ value: "skip", label: "Skip for now", hint: "Configure later" },
|
|
211
211
|
],
|
|
212
212
|
initialValue: "retry",
|
|
213
213
|
});
|
|
@@ -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,WAAW,CAAC;AAC1C,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEtC;;;GAGG;AACH,KAAK,UAAU,iBAAiB;IAC9B,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;QACxC,OAAO,EAAE,0CAA0C;QACnD,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,MAAM;gBACb,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"phpunit.js","sourceRoot":"","sources":["../../src/options/phpunit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../../src/options/project-root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../../src/options/project-root.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAM/C,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAe1E;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CAwBzB"}
|
|
@@ -1,6 +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 '../config.js';
|
|
4
5
|
export function validatePath(value) {
|
|
5
6
|
// Allow empty value - will be replaced with cwd
|
|
6
7
|
if (!value || value.trim().length === 0) {
|
|
@@ -8,14 +9,14 @@ export function validatePath(value) {
|
|
|
8
9
|
}
|
|
9
10
|
const resolvedPath = path.isAbsolute(value)
|
|
10
11
|
? value
|
|
11
|
-
: path.resolve(
|
|
12
|
+
: path.resolve(getWorkingDirectory(), value);
|
|
12
13
|
if (!fs.existsSync(resolvedPath)) {
|
|
13
14
|
return 'Directory does not exist';
|
|
14
15
|
}
|
|
15
16
|
return undefined;
|
|
16
17
|
}
|
|
17
18
|
export async function projectRootOption(config) {
|
|
18
|
-
const cwd =
|
|
19
|
+
const cwd = getWorkingDirectory();
|
|
19
20
|
// Single input step: user can press Enter to confirm cwd or type a new path
|
|
20
21
|
const rootPath = await clack.text({
|
|
21
22
|
message: 'Where is your project located? (Press Enter to use current directory)',
|
|
@@ -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;
|
|
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,WAAW,CAAC;AAEhD,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"}
|
|
@@ -29,9 +29,9 @@ export async function projectTypeOption(config) {
|
|
|
29
29
|
const selectedType = await clack.select({
|
|
30
30
|
message: "Select project type:",
|
|
31
31
|
options: [
|
|
32
|
-
{ value: 'plugin', label: '
|
|
33
|
-
{ value: 'theme', label: '
|
|
34
|
-
{ value: 'other', label: '
|
|
32
|
+
{ value: 'plugin', label: 'Plugin' },
|
|
33
|
+
{ value: 'theme', label: 'Theme' },
|
|
34
|
+
{ value: 'other', label: 'Other' },
|
|
35
35
|
],
|
|
36
36
|
});
|
|
37
37
|
// Handle cancel
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smoke-tests.d.ts","sourceRoot":"","sources":["../../src/options/smoke-tests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,UAAU,CAAC;AAItD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ9D;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"smoke-tests.d.ts","sourceRoot":"","sources":["../../src/options/smoke-tests.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,UAAU,CAAC;AAItD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ9D;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,cAAc,CAAC,CA8FzB"}
|