@10up/build 1.0.0-alpha.1 → 1.0.0-alpha.11

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.
@@ -0,0 +1,481 @@
1
+ /**
2
+ * WordPress dependency management utilities
3
+ *
4
+ * Provides commands to sync and update @wordpress/* dependencies
5
+ */
6
+ import { execSync } from 'child_process';
7
+ import { readFileSync, writeFileSync, existsSync } from 'fs';
8
+ import { join, dirname } from 'path';
9
+ import pc from 'picocolors';
10
+ import fg from 'fast-glob';
11
+ import { WP_SCRIPTS_CACHE_FILE } from './utils/externals.js';
12
+ const WP_VERSION_API = 'https://api.wordpress.org/core/version-check/1.7/';
13
+ /**
14
+ * Fetch the latest WordPress version from the API
15
+ * and convert it to an npm tag (e.g., "6.9.3" -> "wp-6.9")
16
+ */
17
+ async function getLatestWpTag() {
18
+ try {
19
+ const response = await fetch(WP_VERSION_API);
20
+ if (!response.ok) {
21
+ throw new Error(`HTTP ${response.status}`);
22
+ }
23
+ const data = (await response.json());
24
+ // Get the first offer which is the latest version
25
+ const latestVersion = data.offers?.[0]?.version;
26
+ if (!latestVersion) {
27
+ throw new Error('No version found in API response');
28
+ }
29
+ // Convert version to tag: "6.9.3" -> "wp-6.9" (only major.minor)
30
+ const [major, minor] = latestVersion.split('.');
31
+ return `wp-${major}.${minor}`;
32
+ }
33
+ catch (error) {
34
+ console.warn(pc.yellow(`\nWarning: Could not fetch latest WordPress version from API.`));
35
+ console.warn(pc.dim(`Using fallback: wp-6.8\n`));
36
+ return 'wp-6.8';
37
+ }
38
+ }
39
+ /**
40
+ * Known @wordpress packages that are available on npm
41
+ * This list includes packages commonly used in WordPress block development
42
+ */
43
+ const KNOWN_WP_PACKAGES = new Set([
44
+ '@wordpress/a11y',
45
+ '@wordpress/annotations',
46
+ '@wordpress/api-fetch',
47
+ '@wordpress/autop',
48
+ '@wordpress/blob',
49
+ '@wordpress/block-directory',
50
+ '@wordpress/block-editor',
51
+ '@wordpress/block-library',
52
+ '@wordpress/block-serialization-default-parser',
53
+ '@wordpress/blocks',
54
+ '@wordpress/commands',
55
+ '@wordpress/components',
56
+ '@wordpress/compose',
57
+ '@wordpress/core-commands',
58
+ '@wordpress/core-data',
59
+ '@wordpress/data',
60
+ '@wordpress/data-controls',
61
+ '@wordpress/dataviews',
62
+ '@wordpress/date',
63
+ '@wordpress/deprecated',
64
+ '@wordpress/dom',
65
+ '@wordpress/dom-ready',
66
+ '@wordpress/edit-post',
67
+ '@wordpress/edit-site',
68
+ '@wordpress/edit-widgets',
69
+ '@wordpress/editor',
70
+ '@wordpress/element',
71
+ '@wordpress/escape-html',
72
+ '@wordpress/format-library',
73
+ '@wordpress/hooks',
74
+ '@wordpress/html-entities',
75
+ '@wordpress/i18n',
76
+ '@wordpress/icons',
77
+ '@wordpress/interactivity',
78
+ '@wordpress/interactivity-router',
79
+ '@wordpress/interface',
80
+ '@wordpress/is-shallow-equal',
81
+ '@wordpress/keyboard-shortcuts',
82
+ '@wordpress/keycodes',
83
+ '@wordpress/list-reusable-blocks',
84
+ '@wordpress/media-utils',
85
+ '@wordpress/notices',
86
+ '@wordpress/nux',
87
+ '@wordpress/patterns',
88
+ '@wordpress/plugins',
89
+ '@wordpress/preferences',
90
+ '@wordpress/preferences-persistence',
91
+ '@wordpress/primitives',
92
+ '@wordpress/priority-queue',
93
+ '@wordpress/private-apis',
94
+ '@wordpress/redux-routine',
95
+ '@wordpress/reusable-blocks',
96
+ '@wordpress/rich-text',
97
+ '@wordpress/router',
98
+ '@wordpress/server-side-render',
99
+ '@wordpress/shortcode',
100
+ '@wordpress/style-engine',
101
+ '@wordpress/token-list',
102
+ '@wordpress/url',
103
+ '@wordpress/viewport',
104
+ '@wordpress/warning',
105
+ '@wordpress/widgets',
106
+ '@wordpress/wordcount',
107
+ ]);
108
+ /**
109
+ * Scan source files for @wordpress/* imports
110
+ */
111
+ async function scanForWordPressImports(cwd) {
112
+ const imports = new Set();
113
+ // Find all JS/TS source files, excluding node_modules and dist
114
+ const files = await fg(['**/*.{js,jsx,ts,tsx}'], {
115
+ cwd,
116
+ ignore: ['**/node_modules/**', '**/dist/**', '**/build/**', '**/vendor/**'],
117
+ absolute: true,
118
+ });
119
+ // Regex patterns to match imports
120
+ const importPatterns = [
121
+ /import\s+.*?from\s+['"](@wordpress\/[^'"\/]+)/g,
122
+ /import\s*\(\s*['"](@wordpress\/[^'"\/]+)/g,
123
+ /require\s*\(\s*['"](@wordpress\/[^'"\/]+)/g,
124
+ ];
125
+ for (const file of files) {
126
+ try {
127
+ const content = readFileSync(file, 'utf-8');
128
+ for (const pattern of importPatterns) {
129
+ let match;
130
+ while ((match = pattern.exec(content)) !== null) {
131
+ const packageName = match[1];
132
+ if (KNOWN_WP_PACKAGES.has(packageName)) {
133
+ imports.add(packageName);
134
+ }
135
+ }
136
+ }
137
+ }
138
+ catch {
139
+ // Skip files that can't be read
140
+ }
141
+ }
142
+ return imports;
143
+ }
144
+ /**
145
+ * Read package.json from the current directory
146
+ */
147
+ function readPackageJson(cwd) {
148
+ const packageJsonPath = join(cwd, 'package.json');
149
+ try {
150
+ return JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
151
+ }
152
+ catch {
153
+ throw new Error(`Could not read package.json at ${packageJsonPath}`);
154
+ }
155
+ }
156
+ /**
157
+ * Get existing @wordpress packages from optionalDependencies
158
+ */
159
+ function getExistingWpDeps(packageJson) {
160
+ const deps = new Map();
161
+ const optionalDeps = (packageJson.optionalDependencies || {});
162
+ for (const [name, version] of Object.entries(optionalDeps)) {
163
+ if (name.startsWith('@wordpress/')) {
164
+ deps.set(name, version);
165
+ }
166
+ }
167
+ return deps;
168
+ }
169
+ /**
170
+ * Find the monorepo root by looking for package.json with workspaces field
171
+ */
172
+ function findMonorepoRoot(startDir) {
173
+ let dir = startDir;
174
+ while (dir !== dirname(dir)) {
175
+ const packageJsonPath = join(dir, 'package.json');
176
+ if (existsSync(packageJsonPath)) {
177
+ try {
178
+ const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
179
+ if (packageJson.workspaces) {
180
+ return dir;
181
+ }
182
+ }
183
+ catch {
184
+ // Continue searching
185
+ }
186
+ }
187
+ dir = dirname(dir);
188
+ }
189
+ return null;
190
+ }
191
+ /**
192
+ * Get workspace directories from monorepo root
193
+ */
194
+ async function getWorkspaceDirectories(rootDir) {
195
+ const packageJson = readPackageJson(rootDir);
196
+ const workspaces = packageJson.workspaces;
197
+ if (!workspaces) {
198
+ return [];
199
+ }
200
+ // Handle both array format and object format { packages: [...] }
201
+ const patterns = Array.isArray(workspaces) ? workspaces : workspaces.packages || [];
202
+ // Expand glob patterns to find actual workspace directories
203
+ const directories = [];
204
+ for (const pattern of patterns) {
205
+ // Find directories matching the pattern that contain package.json
206
+ const matches = await fg([`${pattern}/package.json`], {
207
+ cwd: rootDir,
208
+ absolute: true,
209
+ onlyFiles: true,
210
+ });
211
+ for (const match of matches) {
212
+ directories.push(dirname(match));
213
+ }
214
+ }
215
+ return directories;
216
+ }
217
+ /**
218
+ * Scan all workspaces for @wordpress/* imports
219
+ */
220
+ async function scanWorkspacesForWordPressImports(rootDir, workspaceDirs) {
221
+ const allImports = new Set();
222
+ console.log(`Scanning ${pc.bold(String(workspaceDirs.length))} workspaces for @wordpress/* imports...\n`);
223
+ for (const dir of workspaceDirs) {
224
+ const imports = await scanForWordPressImports(dir);
225
+ if (imports.size > 0) {
226
+ const relativePath = dir.replace(rootDir + '/', '');
227
+ console.log(` ${pc.dim('•')} ${relativePath}: ${imports.size} packages`);
228
+ for (const pkg of imports) {
229
+ allImports.add(pkg);
230
+ }
231
+ }
232
+ }
233
+ return allImports;
234
+ }
235
+ /**
236
+ * Sync @wordpress dependencies
237
+ *
238
+ * Scans source files for @wordpress/* imports and installs them
239
+ * as optional dependencies using the specified WordPress version tag.
240
+ *
241
+ * With --workspace-scan, scans all workspaces in a monorepo and installs
242
+ * dependencies at the root level for better performance.
243
+ */
244
+ export async function syncWpDeps(options = {}) {
245
+ const cwd = process.cwd();
246
+ const dryRun = options.dryRun || false;
247
+ const workspaceScan = options.workspaceScan || false;
248
+ console.log(pc.cyan('\n10up-build') + ' - Sync WordPress Dependencies\n');
249
+ // Get tag from options or fetch latest from WordPress API
250
+ let tag = options.tag;
251
+ if (!tag) {
252
+ console.log(`Fetching latest WordPress version...`);
253
+ tag = await getLatestWpTag();
254
+ console.log(`Using tag: ${pc.cyan(tag)}\n`);
255
+ }
256
+ let foundImports;
257
+ let installDir;
258
+ if (workspaceScan) {
259
+ // Find monorepo root
260
+ const monorepoRoot = findMonorepoRoot(cwd);
261
+ if (!monorepoRoot) {
262
+ console.error(pc.red('Error: Could not find monorepo root (no package.json with workspaces field).'));
263
+ console.log(pc.dim('Run from within a monorepo or use without --workspace-scan.'));
264
+ process.exit(1);
265
+ }
266
+ console.log(`Monorepo root: ${pc.dim(monorepoRoot)}\n`);
267
+ installDir = monorepoRoot;
268
+ // Get all workspace directories
269
+ const workspaceDirs = await getWorkspaceDirectories(monorepoRoot);
270
+ if (workspaceDirs.length === 0) {
271
+ console.error(pc.red('Error: No workspaces found in monorepo.'));
272
+ process.exit(1);
273
+ }
274
+ // Scan all workspaces
275
+ foundImports = await scanWorkspacesForWordPressImports(monorepoRoot, workspaceDirs);
276
+ }
277
+ else {
278
+ console.log(`Scanning for @wordpress/* imports...`);
279
+ foundImports = await scanForWordPressImports(cwd);
280
+ installDir = cwd;
281
+ }
282
+ if (foundImports.size === 0) {
283
+ console.log(pc.yellow('\nNo @wordpress/* imports found in source files.'));
284
+ return;
285
+ }
286
+ console.log(`\nFound ${pc.bold(String(foundImports.size))} unique @wordpress packages:\n`);
287
+ // Sort for consistent output
288
+ const sortedImports = Array.from(foundImports).sort();
289
+ for (const pkg of sortedImports) {
290
+ console.log(` ${pc.dim('•')} ${pkg}`);
291
+ }
292
+ // Read package.json from install directory
293
+ const packageJson = readPackageJson(installDir);
294
+ const existingDeps = getExistingWpDeps(packageJson);
295
+ // Determine what needs to be installed
296
+ const toInstall = [];
297
+ const alreadyInstalled = [];
298
+ for (const pkg of sortedImports) {
299
+ if (existingDeps.has(pkg)) {
300
+ alreadyInstalled.push(pkg);
301
+ }
302
+ else {
303
+ toInstall.push(pkg);
304
+ }
305
+ }
306
+ if (toInstall.length === 0) {
307
+ console.log(pc.green('\nAll @wordpress packages are already installed as optional dependencies.'));
308
+ return;
309
+ }
310
+ console.log(`\nPackages to install with tag ${pc.cyan(tag)}:`);
311
+ for (const pkg of toInstall) {
312
+ console.log(` ${pc.green('+')} ${pkg}@${tag}`);
313
+ }
314
+ if (alreadyInstalled.length > 0) {
315
+ console.log(`\nAlready installed (${alreadyInstalled.length} packages):`);
316
+ for (const pkg of alreadyInstalled) {
317
+ console.log(` ${pc.dim('•')} ${pkg}@${existingDeps.get(pkg)}`);
318
+ }
319
+ }
320
+ if (workspaceScan) {
321
+ console.log(`\n${pc.dim('Installing at monorepo root:')} ${installDir}`);
322
+ }
323
+ if (dryRun) {
324
+ console.log(pc.yellow('\nDry run - no changes made.'));
325
+ console.log(`Run without --dry-run to install packages.`);
326
+ return;
327
+ }
328
+ // Install packages
329
+ console.log(`\nInstalling ${toInstall.length} packages...`);
330
+ const installCmd = `npm install --save-optional ${toInstall.map(p => `${p}@${tag}`).join(' ')}`;
331
+ try {
332
+ execSync(installCmd, { cwd: installDir, stdio: 'inherit' });
333
+ console.log(pc.green('\n✓ WordPress dependencies synced successfully!'));
334
+ }
335
+ catch (error) {
336
+ throw new Error('Failed to install packages. Check npm output above.');
337
+ }
338
+ }
339
+ /**
340
+ * Update @wordpress dependencies to a new tag
341
+ *
342
+ * Updates all @wordpress/* packages in optionalDependencies
343
+ * to the specified WordPress version tag.
344
+ */
345
+ export async function updateWpDeps(options) {
346
+ const cwd = process.cwd();
347
+ const { tag, dryRun = false } = options;
348
+ console.log(pc.cyan('\n10up-build') + ' - Update WordPress Dependencies\n');
349
+ // Read current package.json
350
+ const packageJson = readPackageJson(cwd);
351
+ const existingDeps = getExistingWpDeps(packageJson);
352
+ if (existingDeps.size === 0) {
353
+ console.log(pc.yellow('No @wordpress packages found in optionalDependencies.'));
354
+ console.log(`Run ${pc.cyan('10up-build sync-wp-deps')} first to add WordPress dependencies.`);
355
+ return;
356
+ }
357
+ console.log(`Found ${pc.bold(String(existingDeps.size))} @wordpress packages to update:\n`);
358
+ const sortedDeps = Array.from(existingDeps.entries()).sort((a, b) => a[0].localeCompare(b[0]));
359
+ for (const [pkg, currentVersion] of sortedDeps) {
360
+ console.log(` ${pkg}: ${pc.dim(currentVersion)} → ${pc.green(tag)}`);
361
+ }
362
+ if (dryRun) {
363
+ console.log(pc.yellow('\nDry run - no changes made.'));
364
+ console.log(`Run without --dry-run to update packages.`);
365
+ return;
366
+ }
367
+ // Update packages
368
+ console.log(`\nUpdating to ${pc.cyan(tag)}...`);
369
+ const packages = sortedDeps.map(([pkg]) => `${pkg}@${tag}`);
370
+ const installCmd = `npm install --save-optional ${packages.join(' ')}`;
371
+ try {
372
+ execSync(installCmd, { cwd, stdio: 'inherit' });
373
+ console.log(pc.green('\n✓ WordPress dependencies updated successfully!'));
374
+ }
375
+ catch (error) {
376
+ throw new Error('Failed to update packages. Check npm output above.');
377
+ }
378
+ }
379
+ /**
380
+ * List current @wordpress dependencies
381
+ */
382
+ export async function listWpDeps() {
383
+ const cwd = process.cwd();
384
+ console.log(pc.cyan('\n10up-build') + ' - WordPress Dependencies\n');
385
+ // Read current package.json
386
+ const packageJson = readPackageJson(cwd);
387
+ const existingDeps = getExistingWpDeps(packageJson);
388
+ if (existingDeps.size === 0) {
389
+ console.log(pc.yellow('No @wordpress packages found in optionalDependencies.'));
390
+ console.log(`Run ${pc.cyan('10up-build sync-wp-deps')} to add WordPress dependencies.`);
391
+ return;
392
+ }
393
+ console.log(`Installed @wordpress packages (${existingDeps.size}):\n`);
394
+ const sortedDeps = Array.from(existingDeps.entries()).sort((a, b) => a[0].localeCompare(b[0]));
395
+ for (const [pkg, version] of sortedDeps) {
396
+ console.log(` ${pc.dim('•')} ${pkg}@${pc.cyan(version)}`);
397
+ }
398
+ // Also scan for imports and show any missing
399
+ console.log(`\nScanning source files for imports...`);
400
+ const foundImports = await scanForWordPressImports(cwd);
401
+ const missing = Array.from(foundImports).filter(pkg => !existingDeps.has(pkg)).sort();
402
+ if (missing.length > 0) {
403
+ console.log(pc.yellow(`\nMissing packages (${missing.length}):`));
404
+ for (const pkg of missing) {
405
+ console.log(` ${pc.red('!')} ${pkg}`);
406
+ }
407
+ console.log(`\nRun ${pc.cyan('10up-build sync-wp-deps')} to install missing packages.`);
408
+ }
409
+ else {
410
+ console.log(pc.green('\nAll imported @wordpress packages are installed.'));
411
+ }
412
+ }
413
+ /**
414
+ * Cache wpScript values from installed @wordpress/* packages
415
+ *
416
+ * Scans all installed @wordpress/* packages in node_modules and caches
417
+ * their wpScript boolean values to a JSON file. This allows CI environments
418
+ * to skip installing optional dependencies while still having accurate
419
+ * wpScript information for the build.
420
+ *
421
+ * The cache file should be committed to the repository so it's available
422
+ * in CI environments that use --omit=optional.
423
+ */
424
+ export async function cacheWpScripts(options = {}) {
425
+ const cwd = process.cwd();
426
+ const outputPath = options.output || join(cwd, WP_SCRIPTS_CACHE_FILE);
427
+ console.log(pc.cyan('\n10up-build') + ' - Cache WordPress Script Flags\n');
428
+ // Find all installed @wordpress/* packages
429
+ const wpPackagesDir = join(cwd, 'node_modules', '@wordpress');
430
+ if (!existsSync(wpPackagesDir)) {
431
+ console.error(pc.red('Error: No @wordpress packages found in node_modules.'));
432
+ console.log(pc.dim('Install @wordpress/* packages first, then run this command.'));
433
+ process.exit(1);
434
+ }
435
+ // Get all package directories
436
+ const packageDirs = await fg(['*'], {
437
+ cwd: wpPackagesDir,
438
+ onlyDirectories: true,
439
+ absolute: false,
440
+ });
441
+ if (packageDirs.length === 0) {
442
+ console.error(pc.red('Error: No @wordpress packages found in node_modules/@wordpress.'));
443
+ process.exit(1);
444
+ }
445
+ console.log(`Found ${pc.bold(String(packageDirs.length))} @wordpress packages in node_modules.\n`);
446
+ const cache = {};
447
+ let withWpScript = 0;
448
+ let withoutWpScript = 0;
449
+ for (const dir of packageDirs.sort()) {
450
+ const packageName = `@wordpress/${dir}`;
451
+ const pkgJsonPath = join(wpPackagesDir, dir, 'package.json');
452
+ try {
453
+ const pkgJson = JSON.parse(readFileSync(pkgJsonPath, 'utf8'));
454
+ const hasWpScript = pkgJson.wpScript === true;
455
+ cache[packageName] = hasWpScript;
456
+ if (hasWpScript) {
457
+ withWpScript++;
458
+ console.log(` ${pc.green('✓')} ${packageName} ${pc.dim('(wpScript: true)')}`);
459
+ }
460
+ else {
461
+ withoutWpScript++;
462
+ console.log(` ${pc.dim('•')} ${packageName}`);
463
+ }
464
+ }
465
+ catch {
466
+ console.log(` ${pc.yellow('?')} ${packageName} ${pc.dim('(could not read package.json)')}`);
467
+ }
468
+ }
469
+ // Write cache file
470
+ const cacheData = {
471
+ _comment: 'Auto-generated by 10up-build cache-wp-scripts. Do not edit manually.',
472
+ packages: cache,
473
+ };
474
+ writeFileSync(outputPath, JSON.stringify(cacheData, null, 2) + '\n');
475
+ console.log(`\n${pc.bold('Summary:')}`);
476
+ console.log(` ${pc.green(String(withWpScript))} packages with wpScript: true`);
477
+ console.log(` ${pc.dim(String(withoutWpScript))} packages without wpScript`);
478
+ console.log(`\n${pc.green('✓')} Cache written to ${pc.cyan(outputPath)}`);
479
+ console.log(pc.dim('\nCommit this file to your repository so CI can use it with --omit=optional.'));
480
+ }
481
+ //# sourceMappingURL=wp-deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wp-deps.js","sourceRoot":"","sources":["../src/wp-deps.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@10up/build",
3
- "version": "1.0.0-alpha.1",
3
+ "version": "1.0.0-alpha.11",
4
4
  "description": "esbuild-powered WordPress build tool - fast builds for WordPress block development",
5
5
  "keywords": [
6
6
  "wordpress",
@@ -28,7 +28,7 @@
28
28
  "main": "./dist/index.js",
29
29
  "types": "./dist/index.d.ts",
30
30
  "bin": {
31
- "10up-build": "./bin/10up-build.js"
31
+ "10up-build": "bin/10up-build.js"
32
32
  },
33
33
  "files": [
34
34
  "bin",