@10up/build 1.0.0-alpha.1 → 1.0.0-alpha.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/README.md +2 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +39 -8
- package/dist/cli.js.map +1 -1
- package/dist/types.d.ts +6 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/wp-deps.d.ts +30 -0
- package/dist/wp-deps.d.ts.map +1 -0
- package/dist/wp-deps.js +316 -0
- package/dist/wp-deps.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAoIH;;GAEG;AACH,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BvD"}
|
package/dist/cli.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import pc from 'picocolors';
|
|
5
5
|
import { build } from './build.js';
|
|
6
6
|
import { watch } from './watch.js';
|
|
7
|
+
import { syncWpDeps, updateWpDeps, listWpDeps } from './wp-deps.js';
|
|
7
8
|
/**
|
|
8
9
|
* Parse CLI arguments
|
|
9
10
|
*/
|
|
@@ -36,32 +37,40 @@ ${pc.bold('Usage:')}
|
|
|
36
37
|
10up-build <command> [options]
|
|
37
38
|
|
|
38
39
|
${pc.bold('Commands:')}
|
|
39
|
-
build
|
|
40
|
-
start
|
|
41
|
-
watch
|
|
40
|
+
build Build for production (default)
|
|
41
|
+
start Start development mode with watch and hot reload
|
|
42
|
+
watch Watch for changes without hot reload
|
|
43
|
+
sync-wp-deps Scan source files and install @wordpress/* as optional deps
|
|
44
|
+
update-wp-deps Update all @wordpress/* optional deps to a new version tag
|
|
45
|
+
list-wp-deps List installed @wordpress/* dependencies
|
|
42
46
|
|
|
43
47
|
${pc.bold('Options:')}
|
|
44
48
|
--help, -h Show this help message
|
|
45
49
|
--version, -v Show version number
|
|
46
50
|
--hot Enable hot reload (default in start mode)
|
|
47
51
|
--port=<port> HMR server port (default: 8887)
|
|
52
|
+
--tag=<tag> WordPress version tag (auto-detects latest if not specified)
|
|
53
|
+
--dry-run Show what would be done without making changes
|
|
48
54
|
|
|
49
55
|
${pc.bold('Configuration:')}
|
|
50
56
|
Configure via package.json "10up-toolkit" field.
|
|
51
57
|
See documentation for all options.
|
|
52
58
|
|
|
53
59
|
${pc.bold('Examples:')}
|
|
54
|
-
10up-build
|
|
55
|
-
10up-build start
|
|
56
|
-
10up-build watch
|
|
57
|
-
10up-build
|
|
60
|
+
10up-build # Production build
|
|
61
|
+
10up-build start # Development with hot reload
|
|
62
|
+
10up-build watch # Watch without hot reload
|
|
63
|
+
10up-build sync-wp-deps # Install @wordpress deps (auto-detects latest WP)
|
|
64
|
+
10up-build sync-wp-deps --tag=wp-6.8 # Use specific WP version tag
|
|
65
|
+
10up-build update-wp-deps --tag=wp-6.9 # Update to new WP version
|
|
66
|
+
10up-build list-wp-deps # Show installed @wordpress deps
|
|
58
67
|
`);
|
|
59
68
|
}
|
|
60
69
|
/**
|
|
61
70
|
* Show version
|
|
62
71
|
*/
|
|
63
72
|
function showVersion() {
|
|
64
|
-
console.log('10up-build v1.0.0-alpha.
|
|
73
|
+
console.log('10up-build v1.0.0-alpha.3');
|
|
65
74
|
}
|
|
66
75
|
/**
|
|
67
76
|
* Command handlers
|
|
@@ -88,6 +97,28 @@ const commands = {
|
|
|
88
97
|
port: flags.port ? parseInt(String(flags.port), 10) : undefined,
|
|
89
98
|
});
|
|
90
99
|
},
|
|
100
|
+
'sync-wp-deps': async (args) => {
|
|
101
|
+
const { flags } = parseArgs(['sync-wp-deps', ...args]);
|
|
102
|
+
await syncWpDeps({
|
|
103
|
+
tag: flags.tag ? String(flags.tag) : undefined,
|
|
104
|
+
dryRun: flags['dry-run'] === true,
|
|
105
|
+
});
|
|
106
|
+
},
|
|
107
|
+
'update-wp-deps': async (args) => {
|
|
108
|
+
const { flags } = parseArgs(['update-wp-deps', ...args]);
|
|
109
|
+
if (!flags.tag) {
|
|
110
|
+
console.error(pc.red('Error: --tag is required for update-wp-deps'));
|
|
111
|
+
console.log(pc.dim('Example: 10up-build update-wp-deps --tag=wp-6.9'));
|
|
112
|
+
process.exit(1);
|
|
113
|
+
}
|
|
114
|
+
await updateWpDeps({
|
|
115
|
+
tag: String(flags.tag),
|
|
116
|
+
dryRun: flags['dry-run'] === true,
|
|
117
|
+
});
|
|
118
|
+
},
|
|
119
|
+
'list-wp-deps': async () => {
|
|
120
|
+
await listWpDeps();
|
|
121
|
+
},
|
|
91
122
|
};
|
|
92
123
|
/**
|
|
93
124
|
* Main CLI entry point
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -455,6 +455,12 @@ export interface Commands {
|
|
|
455
455
|
start: CommandHandler;
|
|
456
456
|
/** Watch mode without HMR */
|
|
457
457
|
watch: CommandHandler;
|
|
458
|
+
/** Sync @wordpress dependencies from source imports */
|
|
459
|
+
'sync-wp-deps': CommandHandler;
|
|
460
|
+
/** Update @wordpress dependencies to a new version tag */
|
|
461
|
+
'update-wp-deps': CommandHandler;
|
|
462
|
+
/** List installed @wordpress dependencies */
|
|
463
|
+
'list-wp-deps': CommandHandler;
|
|
458
464
|
}
|
|
459
465
|
/**
|
|
460
466
|
* WordPress block.json metadata structure.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependency management utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides commands to sync and update @wordpress/* dependencies
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Sync @wordpress dependencies
|
|
8
|
+
*
|
|
9
|
+
* Scans source files for @wordpress/* imports and installs them
|
|
10
|
+
* as optional dependencies using the specified WordPress version tag.
|
|
11
|
+
*/
|
|
12
|
+
export declare function syncWpDeps(options?: {
|
|
13
|
+
tag?: string;
|
|
14
|
+
dryRun?: boolean;
|
|
15
|
+
}): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Update @wordpress dependencies to a new tag
|
|
18
|
+
*
|
|
19
|
+
* Updates all @wordpress/* packages in optionalDependencies
|
|
20
|
+
* to the specified WordPress version tag.
|
|
21
|
+
*/
|
|
22
|
+
export declare function updateWpDeps(options: {
|
|
23
|
+
tag: string;
|
|
24
|
+
dryRun?: boolean;
|
|
25
|
+
}): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* List current @wordpress dependencies
|
|
28
|
+
*/
|
|
29
|
+
export declare function listWpDeps(): Promise<void>;
|
|
30
|
+
//# sourceMappingURL=wp-deps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wp-deps.d.ts","sourceRoot":"","sources":["../src/wp-deps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2LH;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFhG;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C5F;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAsChD"}
|
package/dist/wp-deps.js
ADDED
|
@@ -0,0 +1,316 @@
|
|
|
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 } from 'fs';
|
|
8
|
+
import { join } from 'path';
|
|
9
|
+
import pc from 'picocolors';
|
|
10
|
+
import fg from 'fast-glob';
|
|
11
|
+
const WP_VERSION_API = 'https://api.wordpress.org/core/version-check/1.7/';
|
|
12
|
+
/**
|
|
13
|
+
* Fetch the latest WordPress version from the API
|
|
14
|
+
* and convert it to an npm tag (e.g., "6.9.3" -> "wp-6.9")
|
|
15
|
+
*/
|
|
16
|
+
async function getLatestWpTag() {
|
|
17
|
+
try {
|
|
18
|
+
const response = await fetch(WP_VERSION_API);
|
|
19
|
+
if (!response.ok) {
|
|
20
|
+
throw new Error(`HTTP ${response.status}`);
|
|
21
|
+
}
|
|
22
|
+
const data = (await response.json());
|
|
23
|
+
// Get the first offer which is the latest version
|
|
24
|
+
const latestVersion = data.offers?.[0]?.version;
|
|
25
|
+
if (!latestVersion) {
|
|
26
|
+
throw new Error('No version found in API response');
|
|
27
|
+
}
|
|
28
|
+
// Convert version to tag: "6.9.3" -> "wp-6.9" (only major.minor)
|
|
29
|
+
const [major, minor] = latestVersion.split('.');
|
|
30
|
+
return `wp-${major}.${minor}`;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
console.warn(pc.yellow(`\nWarning: Could not fetch latest WordPress version from API.`));
|
|
34
|
+
console.warn(pc.dim(`Using fallback: wp-6.8\n`));
|
|
35
|
+
return 'wp-6.8';
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Known @wordpress packages that are available on npm
|
|
40
|
+
* This list includes packages commonly used in WordPress block development
|
|
41
|
+
*/
|
|
42
|
+
const KNOWN_WP_PACKAGES = new Set([
|
|
43
|
+
'@wordpress/a11y',
|
|
44
|
+
'@wordpress/annotations',
|
|
45
|
+
'@wordpress/api-fetch',
|
|
46
|
+
'@wordpress/autop',
|
|
47
|
+
'@wordpress/blob',
|
|
48
|
+
'@wordpress/block-directory',
|
|
49
|
+
'@wordpress/block-editor',
|
|
50
|
+
'@wordpress/block-library',
|
|
51
|
+
'@wordpress/block-serialization-default-parser',
|
|
52
|
+
'@wordpress/blocks',
|
|
53
|
+
'@wordpress/commands',
|
|
54
|
+
'@wordpress/components',
|
|
55
|
+
'@wordpress/compose',
|
|
56
|
+
'@wordpress/core-commands',
|
|
57
|
+
'@wordpress/core-data',
|
|
58
|
+
'@wordpress/data',
|
|
59
|
+
'@wordpress/data-controls',
|
|
60
|
+
'@wordpress/dataviews',
|
|
61
|
+
'@wordpress/date',
|
|
62
|
+
'@wordpress/deprecated',
|
|
63
|
+
'@wordpress/dom',
|
|
64
|
+
'@wordpress/dom-ready',
|
|
65
|
+
'@wordpress/edit-post',
|
|
66
|
+
'@wordpress/edit-site',
|
|
67
|
+
'@wordpress/edit-widgets',
|
|
68
|
+
'@wordpress/editor',
|
|
69
|
+
'@wordpress/element',
|
|
70
|
+
'@wordpress/escape-html',
|
|
71
|
+
'@wordpress/format-library',
|
|
72
|
+
'@wordpress/hooks',
|
|
73
|
+
'@wordpress/html-entities',
|
|
74
|
+
'@wordpress/i18n',
|
|
75
|
+
'@wordpress/icons',
|
|
76
|
+
'@wordpress/interactivity',
|
|
77
|
+
'@wordpress/interactivity-router',
|
|
78
|
+
'@wordpress/interface',
|
|
79
|
+
'@wordpress/is-shallow-equal',
|
|
80
|
+
'@wordpress/keyboard-shortcuts',
|
|
81
|
+
'@wordpress/keycodes',
|
|
82
|
+
'@wordpress/list-reusable-blocks',
|
|
83
|
+
'@wordpress/media-utils',
|
|
84
|
+
'@wordpress/notices',
|
|
85
|
+
'@wordpress/nux',
|
|
86
|
+
'@wordpress/patterns',
|
|
87
|
+
'@wordpress/plugins',
|
|
88
|
+
'@wordpress/preferences',
|
|
89
|
+
'@wordpress/preferences-persistence',
|
|
90
|
+
'@wordpress/primitives',
|
|
91
|
+
'@wordpress/priority-queue',
|
|
92
|
+
'@wordpress/private-apis',
|
|
93
|
+
'@wordpress/redux-routine',
|
|
94
|
+
'@wordpress/reusable-blocks',
|
|
95
|
+
'@wordpress/rich-text',
|
|
96
|
+
'@wordpress/router',
|
|
97
|
+
'@wordpress/server-side-render',
|
|
98
|
+
'@wordpress/shortcode',
|
|
99
|
+
'@wordpress/style-engine',
|
|
100
|
+
'@wordpress/token-list',
|
|
101
|
+
'@wordpress/url',
|
|
102
|
+
'@wordpress/viewport',
|
|
103
|
+
'@wordpress/warning',
|
|
104
|
+
'@wordpress/widgets',
|
|
105
|
+
'@wordpress/wordcount',
|
|
106
|
+
]);
|
|
107
|
+
/**
|
|
108
|
+
* Scan source files for @wordpress/* imports
|
|
109
|
+
*/
|
|
110
|
+
async function scanForWordPressImports(cwd) {
|
|
111
|
+
const imports = new Set();
|
|
112
|
+
// Find all JS/TS source files, excluding node_modules and dist
|
|
113
|
+
const files = await fg(['**/*.{js,jsx,ts,tsx}'], {
|
|
114
|
+
cwd,
|
|
115
|
+
ignore: ['**/node_modules/**', '**/dist/**', '**/build/**', '**/vendor/**'],
|
|
116
|
+
absolute: true,
|
|
117
|
+
});
|
|
118
|
+
// Regex patterns to match imports
|
|
119
|
+
const importPatterns = [
|
|
120
|
+
/import\s+.*?from\s+['"](@wordpress\/[^'"\/]+)/g,
|
|
121
|
+
/import\s*\(\s*['"](@wordpress\/[^'"\/]+)/g,
|
|
122
|
+
/require\s*\(\s*['"](@wordpress\/[^'"\/]+)/g,
|
|
123
|
+
];
|
|
124
|
+
for (const file of files) {
|
|
125
|
+
try {
|
|
126
|
+
const content = readFileSync(file, 'utf-8');
|
|
127
|
+
for (const pattern of importPatterns) {
|
|
128
|
+
let match;
|
|
129
|
+
while ((match = pattern.exec(content)) !== null) {
|
|
130
|
+
const packageName = match[1];
|
|
131
|
+
if (KNOWN_WP_PACKAGES.has(packageName)) {
|
|
132
|
+
imports.add(packageName);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
// Skip files that can't be read
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return imports;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Read package.json from the current directory
|
|
145
|
+
*/
|
|
146
|
+
function readPackageJson(cwd) {
|
|
147
|
+
const packageJsonPath = join(cwd, 'package.json');
|
|
148
|
+
try {
|
|
149
|
+
return JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
throw new Error(`Could not read package.json at ${packageJsonPath}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Get existing @wordpress packages from optionalDependencies
|
|
157
|
+
*/
|
|
158
|
+
function getExistingWpDeps(packageJson) {
|
|
159
|
+
const deps = new Map();
|
|
160
|
+
const optionalDeps = (packageJson.optionalDependencies || {});
|
|
161
|
+
for (const [name, version] of Object.entries(optionalDeps)) {
|
|
162
|
+
if (name.startsWith('@wordpress/')) {
|
|
163
|
+
deps.set(name, version);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
return deps;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Sync @wordpress dependencies
|
|
170
|
+
*
|
|
171
|
+
* Scans source files for @wordpress/* imports and installs them
|
|
172
|
+
* as optional dependencies using the specified WordPress version tag.
|
|
173
|
+
*/
|
|
174
|
+
export async function syncWpDeps(options = {}) {
|
|
175
|
+
const cwd = process.cwd();
|
|
176
|
+
const dryRun = options.dryRun || false;
|
|
177
|
+
console.log(pc.cyan('\n10up-build') + ' - Sync WordPress Dependencies\n');
|
|
178
|
+
// Get tag from options or fetch latest from WordPress API
|
|
179
|
+
let tag = options.tag;
|
|
180
|
+
if (!tag) {
|
|
181
|
+
console.log(`Fetching latest WordPress version...`);
|
|
182
|
+
tag = await getLatestWpTag();
|
|
183
|
+
console.log(`Using tag: ${pc.cyan(tag)}\n`);
|
|
184
|
+
}
|
|
185
|
+
console.log(`Scanning for @wordpress/* imports...`);
|
|
186
|
+
// Scan for imports
|
|
187
|
+
const foundImports = await scanForWordPressImports(cwd);
|
|
188
|
+
if (foundImports.size === 0) {
|
|
189
|
+
console.log(pc.yellow('\nNo @wordpress/* imports found in source files.'));
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
console.log(`Found ${pc.bold(String(foundImports.size))} @wordpress packages:\n`);
|
|
193
|
+
// Sort for consistent output
|
|
194
|
+
const sortedImports = Array.from(foundImports).sort();
|
|
195
|
+
for (const pkg of sortedImports) {
|
|
196
|
+
console.log(` ${pc.dim('•')} ${pkg}`);
|
|
197
|
+
}
|
|
198
|
+
// Read current package.json
|
|
199
|
+
const packageJson = readPackageJson(cwd);
|
|
200
|
+
const existingDeps = getExistingWpDeps(packageJson);
|
|
201
|
+
// Determine what needs to be installed
|
|
202
|
+
const toInstall = [];
|
|
203
|
+
const alreadyInstalled = [];
|
|
204
|
+
for (const pkg of sortedImports) {
|
|
205
|
+
if (existingDeps.has(pkg)) {
|
|
206
|
+
alreadyInstalled.push(pkg);
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
toInstall.push(pkg);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
if (toInstall.length === 0) {
|
|
213
|
+
console.log(pc.green('\nAll @wordpress packages are already installed as optional dependencies.'));
|
|
214
|
+
return;
|
|
215
|
+
}
|
|
216
|
+
console.log(`\nPackages to install with tag ${pc.cyan(tag)}:`);
|
|
217
|
+
for (const pkg of toInstall) {
|
|
218
|
+
console.log(` ${pc.green('+')} ${pkg}@${tag}`);
|
|
219
|
+
}
|
|
220
|
+
if (alreadyInstalled.length > 0) {
|
|
221
|
+
console.log(`\nAlready installed (${alreadyInstalled.length} packages):`);
|
|
222
|
+
for (const pkg of alreadyInstalled) {
|
|
223
|
+
console.log(` ${pc.dim('•')} ${pkg}@${existingDeps.get(pkg)}`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
if (dryRun) {
|
|
227
|
+
console.log(pc.yellow('\nDry run - no changes made.'));
|
|
228
|
+
console.log(`Run without --dry-run to install packages.`);
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
// Install packages
|
|
232
|
+
console.log(`\nInstalling ${toInstall.length} packages...`);
|
|
233
|
+
const installCmd = `npm install --save-optional ${toInstall.map(p => `${p}@${tag}`).join(' ')}`;
|
|
234
|
+
try {
|
|
235
|
+
execSync(installCmd, { cwd, stdio: 'inherit' });
|
|
236
|
+
console.log(pc.green('\n✓ WordPress dependencies synced successfully!'));
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
throw new Error('Failed to install packages. Check npm output above.');
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Update @wordpress dependencies to a new tag
|
|
244
|
+
*
|
|
245
|
+
* Updates all @wordpress/* packages in optionalDependencies
|
|
246
|
+
* to the specified WordPress version tag.
|
|
247
|
+
*/
|
|
248
|
+
export async function updateWpDeps(options) {
|
|
249
|
+
const cwd = process.cwd();
|
|
250
|
+
const { tag, dryRun = false } = options;
|
|
251
|
+
console.log(pc.cyan('\n10up-build') + ' - Update WordPress Dependencies\n');
|
|
252
|
+
// Read current package.json
|
|
253
|
+
const packageJson = readPackageJson(cwd);
|
|
254
|
+
const existingDeps = getExistingWpDeps(packageJson);
|
|
255
|
+
if (existingDeps.size === 0) {
|
|
256
|
+
console.log(pc.yellow('No @wordpress packages found in optionalDependencies.'));
|
|
257
|
+
console.log(`Run ${pc.cyan('10up-build sync-wp-deps')} first to add WordPress dependencies.`);
|
|
258
|
+
return;
|
|
259
|
+
}
|
|
260
|
+
console.log(`Found ${pc.bold(String(existingDeps.size))} @wordpress packages to update:\n`);
|
|
261
|
+
const sortedDeps = Array.from(existingDeps.entries()).sort((a, b) => a[0].localeCompare(b[0]));
|
|
262
|
+
for (const [pkg, currentVersion] of sortedDeps) {
|
|
263
|
+
console.log(` ${pkg}: ${pc.dim(currentVersion)} → ${pc.green(tag)}`);
|
|
264
|
+
}
|
|
265
|
+
if (dryRun) {
|
|
266
|
+
console.log(pc.yellow('\nDry run - no changes made.'));
|
|
267
|
+
console.log(`Run without --dry-run to update packages.`);
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
// Update packages
|
|
271
|
+
console.log(`\nUpdating to ${pc.cyan(tag)}...`);
|
|
272
|
+
const packages = sortedDeps.map(([pkg]) => `${pkg}@${tag}`);
|
|
273
|
+
const installCmd = `npm install --save-optional ${packages.join(' ')}`;
|
|
274
|
+
try {
|
|
275
|
+
execSync(installCmd, { cwd, stdio: 'inherit' });
|
|
276
|
+
console.log(pc.green('\n✓ WordPress dependencies updated successfully!'));
|
|
277
|
+
}
|
|
278
|
+
catch (error) {
|
|
279
|
+
throw new Error('Failed to update packages. Check npm output above.');
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* List current @wordpress dependencies
|
|
284
|
+
*/
|
|
285
|
+
export async function listWpDeps() {
|
|
286
|
+
const cwd = process.cwd();
|
|
287
|
+
console.log(pc.cyan('\n10up-build') + ' - WordPress Dependencies\n');
|
|
288
|
+
// Read current package.json
|
|
289
|
+
const packageJson = readPackageJson(cwd);
|
|
290
|
+
const existingDeps = getExistingWpDeps(packageJson);
|
|
291
|
+
if (existingDeps.size === 0) {
|
|
292
|
+
console.log(pc.yellow('No @wordpress packages found in optionalDependencies.'));
|
|
293
|
+
console.log(`Run ${pc.cyan('10up-build sync-wp-deps')} to add WordPress dependencies.`);
|
|
294
|
+
return;
|
|
295
|
+
}
|
|
296
|
+
console.log(`Installed @wordpress packages (${existingDeps.size}):\n`);
|
|
297
|
+
const sortedDeps = Array.from(existingDeps.entries()).sort((a, b) => a[0].localeCompare(b[0]));
|
|
298
|
+
for (const [pkg, version] of sortedDeps) {
|
|
299
|
+
console.log(` ${pc.dim('•')} ${pkg}@${pc.cyan(version)}`);
|
|
300
|
+
}
|
|
301
|
+
// Also scan for imports and show any missing
|
|
302
|
+
console.log(`\nScanning source files for imports...`);
|
|
303
|
+
const foundImports = await scanForWordPressImports(cwd);
|
|
304
|
+
const missing = Array.from(foundImports).filter(pkg => !existingDeps.has(pkg)).sort();
|
|
305
|
+
if (missing.length > 0) {
|
|
306
|
+
console.log(pc.yellow(`\nMissing packages (${missing.length}):`));
|
|
307
|
+
for (const pkg of missing) {
|
|
308
|
+
console.log(` ${pc.red('!')} ${pkg}`);
|
|
309
|
+
}
|
|
310
|
+
console.log(`\nRun ${pc.cyan('10up-build sync-wp-deps')} to install missing packages.`);
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
console.log(pc.green('\nAll imported @wordpress packages are installed.'));
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
//# sourceMappingURL=wp-deps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wp-deps.js","sourceRoot":"","sources":["../src/wp-deps.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,cAAc,GAAG,mDAAmD,CAAC;AAU3E;;;GAGG;AACH,KAAK,UAAU,cAAc;IAC5B,IAAI,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAC;QAE1D,kDAAkD;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QAChD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrD,CAAC;QAED,iEAAiE;QACjE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChD,OAAO,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CACX,EAAE,CAAC,MAAM,CAAC,+DAA+D,CAAC,CAC1E,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACjD,OAAO,QAAQ,CAAC;IACjB,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACjC,iBAAiB;IACjB,wBAAwB;IACxB,sBAAsB;IACtB,kBAAkB;IAClB,iBAAiB;IACjB,4BAA4B;IAC5B,yBAAyB;IACzB,0BAA0B;IAC1B,+CAA+C;IAC/C,mBAAmB;IACnB,qBAAqB;IACrB,uBAAuB;IACvB,oBAAoB;IACpB,0BAA0B;IAC1B,sBAAsB;IACtB,iBAAiB;IACjB,0BAA0B;IAC1B,sBAAsB;IACtB,iBAAiB;IACjB,uBAAuB;IACvB,gBAAgB;IAChB,sBAAsB;IACtB,sBAAsB;IACtB,sBAAsB;IACtB,yBAAyB;IACzB,mBAAmB;IACnB,oBAAoB;IACpB,wBAAwB;IACxB,2BAA2B;IAC3B,kBAAkB;IAClB,0BAA0B;IAC1B,iBAAiB;IACjB,kBAAkB;IAClB,0BAA0B;IAC1B,iCAAiC;IACjC,sBAAsB;IACtB,6BAA6B;IAC7B,+BAA+B;IAC/B,qBAAqB;IACrB,iCAAiC;IACjC,wBAAwB;IACxB,oBAAoB;IACpB,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;IACpB,wBAAwB;IACxB,oCAAoC;IACpC,uBAAuB;IACvB,2BAA2B;IAC3B,yBAAyB;IACzB,0BAA0B;IAC1B,4BAA4B;IAC5B,sBAAsB;IACtB,mBAAmB;IACnB,+BAA+B;IAC/B,sBAAsB;IACtB,yBAAyB;IACzB,uBAAuB;IACvB,gBAAgB;IAChB,qBAAqB;IACrB,oBAAoB;IACpB,oBAAoB;IACpB,sBAAsB;CACtB,CAAC,CAAC;AAEH;;GAEG;AACH,KAAK,UAAU,uBAAuB,CAAC,GAAW;IACjD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,+DAA+D;IAC/D,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAAE;QAChD,GAAG;QACH,MAAM,EAAE,CAAC,oBAAoB,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,CAAC;QAC3E,QAAQ,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,kCAAkC;IAClC,MAAM,cAAc,GAAG;QACtB,gDAAgD;QAChD,2CAA2C;QAC3C,4CAA4C;KAC5C,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAE5C,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;gBACtC,IAAI,KAAK,CAAC;gBACV,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;oBACjD,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;wBACxC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC1B,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,gCAAgC;QACjC,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,GAAW;IACnC,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAClD,IAAI,CAAC;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,kCAAkC,eAAe,EAAE,CAAC,CAAC;IACtE,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,WAAoC;IAC9D,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,YAAY,GAAG,CAAC,WAAW,CAAC,oBAAoB,IAAI,EAAE,CAA2B,CAAC;IAExF,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACzB,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,UAA8C,EAAE;IAChF,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,kCAAkC,CAAC,CAAC;IAE1E,0DAA0D;IAC1D,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACtB,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,GAAG,GAAG,MAAM,cAAc,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IAEpD,mBAAmB;IACnB,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAExD,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;QAC3E,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAElF,6BAA6B;IAC7B,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEpD,uCAAuC;IACvC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QACjC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACP,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACF,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC,CAAC;QACnG,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,wBAAwB,gBAAgB,CAAC,MAAM,aAAa,CAAC,CAAC;QAC1E,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAC1D,OAAO;IACR,CAAC;IAED,mBAAmB;IACnB,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,CAAC,MAAM,cAAc,CAAC,CAAC;IAE5D,MAAM,UAAU,GAAG,+BAA+B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAEhG,IAAI,CAAC;QACJ,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;IAC1E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACxE,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA0C;IAC5E,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,oCAAoC,CAAC,CAAC;IAE5E,4BAA4B;IAC5B,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEpD,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,uCAAuC,CAAC,CAAC;QAC9F,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,mCAAmC,CAAC,CAAC;IAE5F,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/F,KAAK,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,UAAU,EAAE,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;QACzD,OAAO;IACR,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,+BAA+B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAEvE,IAAI,CAAC;QACJ,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACvE,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU;IAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,6BAA6B,CAAC,CAAC;IAErE,4BAA4B;IAC5B,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAEpD,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uDAAuD,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,iCAAiC,CAAC,CAAC;QACxF,OAAO;IACR,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,YAAY,CAAC,IAAI,MAAM,CAAC,CAAC;IAEvE,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/F,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,UAAU,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,6CAA6C;IAC7C,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACtD,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAExD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEtF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,uBAAuB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QAClE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,+BAA+B,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAC5E,CAAC;AACF,CAAC"}
|