@10up/build 1.0.0-alpha.11 → 1.0.0-alpha.14
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wp-dependency-extraction.d.ts","sourceRoot":"","sources":["../../src/plugins/wp-dependency-extraction.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,MAAM,EAA+C,MAAM,SAAS,CAAC;AAGnF,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAwF/D;;GAEG;AACH,UAAU,aAAa;IACtB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"wp-dependency-extraction.d.ts","sourceRoot":"","sources":["../../src/plugins/wp-dependency-extraction.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,MAAM,EAA+C,MAAM,SAAS,CAAC;AAGnF,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAwF/D;;GAEG;AACH,UAAU,aAAa;IACtB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAwSrG;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAE7D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
|
@@ -92,64 +92,25 @@ function normalizePath(p) {
|
|
|
92
92
|
*/
|
|
93
93
|
export function wpDependencyExtractionPlugin(config, options = {}) {
|
|
94
94
|
const { isModule = false } = options;
|
|
95
|
-
//
|
|
96
|
-
|
|
97
|
-
const
|
|
95
|
+
// Track dependencies per importer file (not per entry)
|
|
96
|
+
// This allows us to collect transitive dependencies from bundled packages
|
|
97
|
+
const fileDependencies = new Map();
|
|
98
98
|
/**
|
|
99
|
-
*
|
|
100
|
-
*/
|
|
101
|
-
function getEntryForImporter(importer) {
|
|
102
|
-
const normalizedImporter = normalizePath(importer);
|
|
103
|
-
// If importer is itself an entry, return it
|
|
104
|
-
if (entryDependencies.has(normalizedImporter)) {
|
|
105
|
-
return normalizedImporter;
|
|
106
|
-
}
|
|
107
|
-
// Otherwise, look up the entry point
|
|
108
|
-
return importerToEntry.get(normalizedImporter);
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Track a dependency for an entry point
|
|
99
|
+
* Track a dependency for a specific file
|
|
112
100
|
*/
|
|
113
101
|
function trackDependency(importer, handle) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Register an importer-to-entry mapping
|
|
124
|
-
*/
|
|
125
|
-
function registerImporter(importer, entry) {
|
|
126
|
-
const normalizedImporter = normalizePath(importer);
|
|
127
|
-
const normalizedEntry = normalizePath(entry);
|
|
128
|
-
if (normalizedImporter !== normalizedEntry) {
|
|
129
|
-
importerToEntry.set(normalizedImporter, normalizedEntry);
|
|
102
|
+
// Always resolve to absolute path for consistent matching with metafile
|
|
103
|
+
const normalizedImporter = normalizePath(resolve(importer));
|
|
104
|
+
let deps = fileDependencies.get(normalizedImporter);
|
|
105
|
+
if (!deps) {
|
|
106
|
+
deps = new Set();
|
|
107
|
+
fileDependencies.set(normalizedImporter, deps);
|
|
130
108
|
}
|
|
109
|
+
deps.add(handle);
|
|
131
110
|
}
|
|
132
111
|
return {
|
|
133
112
|
name: 'wp-dependency-extraction',
|
|
134
113
|
setup(build) {
|
|
135
|
-
// Get entry points to initialize tracking
|
|
136
|
-
const entryPoints = build.initialOptions.entryPoints;
|
|
137
|
-
if (entryPoints) {
|
|
138
|
-
if (Array.isArray(entryPoints)) {
|
|
139
|
-
for (const entry of entryPoints) {
|
|
140
|
-
if (typeof entry === 'string') {
|
|
141
|
-
// Resolve to absolute path for consistent matching later
|
|
142
|
-
entryDependencies.set(normalizePath(resolve(entry)), new Set());
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
else if (typeof entryPoints === 'object') {
|
|
147
|
-
for (const entry of Object.values(entryPoints)) {
|
|
148
|
-
// Resolve to absolute path for consistent matching later
|
|
149
|
-
entryDependencies.set(normalizePath(resolve(entry)), new Set());
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
114
|
// Handle @wordpress/* imports
|
|
154
115
|
build.onResolve({ filter: /^@wordpress\// }, (args) => {
|
|
155
116
|
const external = resolveExternal(args.path, config);
|
|
@@ -158,14 +119,9 @@ export function wpDependencyExtractionPlugin(config, options = {}) {
|
|
|
158
119
|
if (external._isInstalled === false) {
|
|
159
120
|
warnUninstalledPackage(args.path);
|
|
160
121
|
}
|
|
161
|
-
// Track the dependency
|
|
122
|
+
// Track the dependency for this importer file
|
|
162
123
|
if (args.importer) {
|
|
163
124
|
trackDependency(args.importer, external.handle);
|
|
164
|
-
// Map this importer to its entry
|
|
165
|
-
const entry = getEntryForImporter(args.importer);
|
|
166
|
-
if (entry) {
|
|
167
|
-
registerImporter(args.importer, entry);
|
|
168
|
-
}
|
|
169
125
|
}
|
|
170
126
|
// For ES modules, use native external (import statements work)
|
|
171
127
|
// For IIFE, use virtual module to access global (avoid require())
|
|
@@ -264,21 +220,9 @@ export function wpDependencyExtractionPlugin(config, options = {}) {
|
|
|
264
220
|
});
|
|
265
221
|
}
|
|
266
222
|
}
|
|
267
|
-
// Track imports between modules to propagate entry point info
|
|
268
|
-
build.onResolve({ filter: /.*/ }, (args) => {
|
|
269
|
-
if (args.importer && args.kind !== 'entry-point') {
|
|
270
|
-
const entry = getEntryForImporter(args.importer);
|
|
271
|
-
if (entry) {
|
|
272
|
-
// Try to resolve the imported path
|
|
273
|
-
const resolvedPath = args.resolveDir
|
|
274
|
-
? resolve(args.resolveDir, args.path)
|
|
275
|
-
: args.path;
|
|
276
|
-
registerImporter(resolvedPath, entry);
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
return undefined;
|
|
280
|
-
});
|
|
281
223
|
// Generate .asset.php files at the end of build
|
|
224
|
+
// Uses metafile to collect ALL dependencies from ALL input files in each bundle
|
|
225
|
+
// This properly handles transitive dependencies from bundled packages
|
|
282
226
|
build.onEnd(async (result) => {
|
|
283
227
|
if (result.errors.length > 0) {
|
|
284
228
|
return undefined;
|
|
@@ -287,28 +231,29 @@ export function wpDependencyExtractionPlugin(config, options = {}) {
|
|
|
287
231
|
if (!metafile) {
|
|
288
232
|
return undefined;
|
|
289
233
|
}
|
|
290
|
-
//
|
|
291
|
-
const entryToOutput = new Map();
|
|
234
|
+
// Process each output that has an entry point
|
|
292
235
|
for (const [outputPath, outputMeta] of Object.entries(metafile.outputs)) {
|
|
293
236
|
if (!outputMeta.entryPoint) {
|
|
294
237
|
continue;
|
|
295
238
|
}
|
|
296
|
-
// Normalize the entry point path for matching
|
|
297
|
-
const entryPath = normalizePath(resolve(outputMeta.entryPoint));
|
|
298
239
|
// Skip chunks
|
|
299
240
|
if (outputPath.includes('/chunks/')) {
|
|
300
241
|
continue;
|
|
301
242
|
}
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
243
|
+
// Collect ALL dependencies from ALL input files in this bundle
|
|
244
|
+
// This catches transitive deps from bundled packages like @10up/block-components
|
|
245
|
+
const allDeps = new Set();
|
|
246
|
+
for (const inputPath of Object.keys(outputMeta.inputs)) {
|
|
247
|
+
// Normalize input path to match our tracking
|
|
248
|
+
const normalizedInput = normalizePath(resolve(inputPath));
|
|
249
|
+
const deps = fileDependencies.get(normalizedInput);
|
|
250
|
+
if (deps) {
|
|
251
|
+
for (const dep of deps) {
|
|
252
|
+
allDeps.add(dep);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
309
255
|
}
|
|
310
|
-
|
|
311
|
-
// Read output file content for version hash
|
|
256
|
+
// Read output file content for version hash AND to scan for WP globals
|
|
312
257
|
let content = '';
|
|
313
258
|
try {
|
|
314
259
|
content = readFileSync(outputPath, 'utf8');
|
|
@@ -317,9 +262,55 @@ export function wpDependencyExtractionPlugin(config, options = {}) {
|
|
|
317
262
|
// File might not exist yet, use empty content
|
|
318
263
|
}
|
|
319
264
|
const version = getContentHash(content);
|
|
265
|
+
// Scan the output for WordPress dependencies from pre-bundled packages
|
|
266
|
+
// This catches deps from webpack-bundled packages like @10up/block-components
|
|
267
|
+
if (content) {
|
|
268
|
+
// 1. Match wp.packageName global accesses (e.g., wp.blocks, wp.blockEditor)
|
|
269
|
+
const wpGlobalPattern = /(?:=|,|\()\s*wp\.([a-zA-Z][a-zA-Z0-9]*)/g;
|
|
270
|
+
let match;
|
|
271
|
+
while ((match = wpGlobalPattern.exec(content)) !== null) {
|
|
272
|
+
const globalName = match[1];
|
|
273
|
+
// Convert camelCase to kebab-case for handle (e.g., blockEditor -> block-editor)
|
|
274
|
+
const handle = 'wp-' + globalName.replace(/([A-Z])/g, '-$1').toLowerCase();
|
|
275
|
+
allDeps.add(handle);
|
|
276
|
+
}
|
|
277
|
+
// 2. Match webpack require patterns: __webpack_require__("@wordpress/...")
|
|
278
|
+
// or __webpack_require__(/*! @wordpress/... */ "@wordpress/...")
|
|
279
|
+
// Use [^"]* to skip the comment and match the actual module ID
|
|
280
|
+
const webpackRequirePattern = /__webpack_require__\([^"]*"@wordpress\/([^"]+)"/g;
|
|
281
|
+
while ((match = webpackRequirePattern.exec(content)) !== null) {
|
|
282
|
+
const packageName = match[1];
|
|
283
|
+
const handle = 'wp-' + packageName;
|
|
284
|
+
allDeps.add(handle);
|
|
285
|
+
}
|
|
286
|
+
// 3. Also match __webpack_require__.n() wrappers that reference WP externals
|
|
287
|
+
// e.g., __webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__)
|
|
288
|
+
// We need to find the variable declarations that map to @wordpress packages
|
|
289
|
+
const wpModuleVarPattern = /var\s+(_wordpress_[a-zA-Z0-9_]+)__WEBPACK_IMPORTED_MODULE_\d+__\s*=\s*__webpack_require__\([^"]*"@wordpress\/([^"]+)"/g;
|
|
290
|
+
while ((match = wpModuleVarPattern.exec(content)) !== null) {
|
|
291
|
+
const packageName = match[2];
|
|
292
|
+
const handle = 'wp-' + packageName;
|
|
293
|
+
allDeps.add(handle);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
// Also scan for vendor globals (React, ReactDOM, lodash, jQuery, moment)
|
|
297
|
+
if (content) {
|
|
298
|
+
if (/(?:=|,|\()\s*React[^a-zA-Z]/.test(content))
|
|
299
|
+
allDeps.add('react');
|
|
300
|
+
if (/(?:=|,|\()\s*ReactDOM[^a-zA-Z]/.test(content))
|
|
301
|
+
allDeps.add('react-dom');
|
|
302
|
+
if (/(?:=|,|\()\s*ReactJSXRuntime[^a-zA-Z]/.test(content))
|
|
303
|
+
allDeps.add('react-jsx-runtime');
|
|
304
|
+
if (/(?:=|,|\()\s*lodash[^a-zA-Z]/.test(content))
|
|
305
|
+
allDeps.add('lodash');
|
|
306
|
+
if (/(?:=|,|\()\s*jQuery[^a-zA-Z]/.test(content))
|
|
307
|
+
allDeps.add('jquery');
|
|
308
|
+
if (/(?:=|,|\()\s*moment[^a-zA-Z]/.test(content))
|
|
309
|
+
allDeps.add('moment');
|
|
310
|
+
}
|
|
320
311
|
// Generate .asset.php with appropriate format
|
|
321
312
|
const assetPhpPath = outputPath.replace(/\.(m?js)$/, '.asset.php');
|
|
322
|
-
const sortedDeps = Array.from(
|
|
313
|
+
const sortedDeps = Array.from(allDeps).sort();
|
|
323
314
|
let assetPhpContent;
|
|
324
315
|
if (isModule) {
|
|
325
316
|
// For ES modules, convert handles back to package names
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wp-dependency-extraction.js","sourceRoot":"","sources":["../../src/plugins/wp-dependency-extraction.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD;;GAEG;AACH,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;AAEzC;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAAC,WAAmB;IAClD,IAAI,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO;IACR,CAAC;IACD,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEhC,2BAA2B;IAC3B,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CACV,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;YACpB,EAAE,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAC9D,CAAC;QACF,OAAO,CAAC,GAAG,CACV,EAAE,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAC1F,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,qEAAqE,CAAC,CAAC,CAAC;IAC5F,CAAC;AACF,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAc;IACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,OAAO,SAAS,KAAK,GAAG,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,YAAsB,EAAE,OAAe;IAChE,OAAO,wCAAwC,gBAAgB,CAAC,YAAY,CAAC,mBAAmB,OAAO;CACvG,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,sBAAsB,CAAC,YAAsB,EAAE,OAAe;IACtE,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,+DAA+D,OAAO;CAC9E,CAAC;IACD,CAAC;IACD,yDAAyD;IACzD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO,8CAA8C,KAAK,oBAAoB,OAAO;CACrF,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,MAAc;IAC1C,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,cAAc,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACxC,CAAC;IACD,0DAA0D;IAC1D,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,CAAS;IAC/B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAUD;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAmB,EAAE,UAAyB,EAAE;IAC5F,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"wp-dependency-extraction.js","sourceRoot":"","sources":["../../src/plugins/wp-dependency-extraction.ts"],"names":[],"mappings":"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"}
|