@10up/build 1.0.0-alpha.10 → 1.0.0-alpha.12
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,CA2PrG;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAE7D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
|
|
@@ -92,64 +92,24 @@ 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
|
-
const entry = getEntryForImporter(importer);
|
|
115
|
-
if (entry) {
|
|
116
|
-
const deps = entryDependencies.get(entry);
|
|
117
|
-
if (deps) {
|
|
118
|
-
deps.add(handle);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Register an importer-to-entry mapping
|
|
124
|
-
*/
|
|
125
|
-
function registerImporter(importer, entry) {
|
|
126
102
|
const normalizedImporter = normalizePath(importer);
|
|
127
|
-
|
|
128
|
-
if (
|
|
129
|
-
|
|
103
|
+
let deps = fileDependencies.get(normalizedImporter);
|
|
104
|
+
if (!deps) {
|
|
105
|
+
deps = new Set();
|
|
106
|
+
fileDependencies.set(normalizedImporter, deps);
|
|
130
107
|
}
|
|
108
|
+
deps.add(handle);
|
|
131
109
|
}
|
|
132
110
|
return {
|
|
133
111
|
name: 'wp-dependency-extraction',
|
|
134
112
|
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
113
|
// Handle @wordpress/* imports
|
|
154
114
|
build.onResolve({ filter: /^@wordpress\// }, (args) => {
|
|
155
115
|
const external = resolveExternal(args.path, config);
|
|
@@ -158,23 +118,35 @@ export function wpDependencyExtractionPlugin(config, options = {}) {
|
|
|
158
118
|
if (external._isInstalled === false) {
|
|
159
119
|
warnUninstalledPackage(args.path);
|
|
160
120
|
}
|
|
161
|
-
// Track the dependency
|
|
121
|
+
// Track the dependency for this importer file
|
|
162
122
|
if (args.importer) {
|
|
163
123
|
trackDependency(args.importer, external.handle);
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
124
|
+
}
|
|
125
|
+
// For ES modules, use native external (import statements work)
|
|
126
|
+
// For IIFE, use virtual module to access global (avoid require())
|
|
127
|
+
if (isModule) {
|
|
128
|
+
return {
|
|
129
|
+
path: args.path,
|
|
130
|
+
external: true,
|
|
131
|
+
};
|
|
169
132
|
}
|
|
170
133
|
return {
|
|
171
134
|
path: args.path,
|
|
172
|
-
external: true,
|
|
173
135
|
namespace: 'wp-external',
|
|
174
136
|
};
|
|
175
137
|
}
|
|
176
138
|
return undefined;
|
|
177
139
|
});
|
|
140
|
+
// For IIFE builds: provide virtual modules that access WordPress globals
|
|
141
|
+
// This avoids generating require() calls which don't work in browsers
|
|
142
|
+
build.onLoad({ filter: /.*/, namespace: 'wp-external' }, (args) => {
|
|
143
|
+
const external = resolveExternal(args.path, config);
|
|
144
|
+
const globalVar = external?.global || 'undefined';
|
|
145
|
+
return {
|
|
146
|
+
contents: `module.exports = ${globalVar};`,
|
|
147
|
+
loader: 'js',
|
|
148
|
+
};
|
|
149
|
+
});
|
|
178
150
|
// Handle vendor externals (react, lodash, etc.)
|
|
179
151
|
const vendorFilter = new RegExp(`^(${Object.keys(vendorExternals)
|
|
180
152
|
.map((k) => k.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'))
|
|
@@ -186,14 +158,30 @@ export function wpDependencyExtractionPlugin(config, options = {}) {
|
|
|
186
158
|
if (args.importer) {
|
|
187
159
|
trackDependency(args.importer, external.handle);
|
|
188
160
|
}
|
|
161
|
+
// For ES modules, use native external
|
|
162
|
+
// For IIFE, use virtual module to access global
|
|
163
|
+
if (isModule) {
|
|
164
|
+
return {
|
|
165
|
+
path: args.path,
|
|
166
|
+
external: true,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
189
169
|
return {
|
|
190
170
|
path: args.path,
|
|
191
|
-
external: true,
|
|
192
171
|
namespace: 'vendor-external',
|
|
193
172
|
};
|
|
194
173
|
}
|
|
195
174
|
return undefined;
|
|
196
175
|
});
|
|
176
|
+
// For IIFE builds: provide virtual modules for vendor externals
|
|
177
|
+
build.onLoad({ filter: /.*/, namespace: 'vendor-external' }, (args) => {
|
|
178
|
+
const external = vendorExternals[args.path];
|
|
179
|
+
const globalVar = external?.global || 'undefined';
|
|
180
|
+
return {
|
|
181
|
+
contents: `module.exports = ${globalVar};`,
|
|
182
|
+
loader: 'js',
|
|
183
|
+
};
|
|
184
|
+
});
|
|
197
185
|
// Handle custom namespace externals
|
|
198
186
|
if (config.externalNamespaces && Object.keys(config.externalNamespaces).length > 0) {
|
|
199
187
|
for (const [namespace, mapping] of Object.entries(config.externalNamespaces)) {
|
|
@@ -205,29 +193,35 @@ export function wpDependencyExtractionPlugin(config, options = {}) {
|
|
|
205
193
|
if (args.importer) {
|
|
206
194
|
trackDependency(args.importer, handle);
|
|
207
195
|
}
|
|
196
|
+
// For ES modules, use native external
|
|
197
|
+
// For IIFE, use virtual module to access global
|
|
198
|
+
if (isModule) {
|
|
199
|
+
return {
|
|
200
|
+
path: args.path,
|
|
201
|
+
external: true,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
208
204
|
return {
|
|
209
205
|
path: args.path,
|
|
210
|
-
|
|
211
|
-
|
|
206
|
+
namespace: `custom-external-${namespace}`,
|
|
207
|
+
};
|
|
208
|
+
});
|
|
209
|
+
// For IIFE builds: provide virtual modules for custom namespace externals
|
|
210
|
+
build.onLoad({ filter: /.*/, namespace: `custom-external-${namespace}` }, (args) => {
|
|
211
|
+
const packageName = args.path.replace(`${namespace}/`, '');
|
|
212
|
+
// Convert to camelCase for global access
|
|
213
|
+
const camelName = packageName.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
|
|
214
|
+
const globalVar = `${mapping.global}.${camelName}`;
|
|
215
|
+
return {
|
|
216
|
+
contents: `module.exports = ${globalVar};`,
|
|
217
|
+
loader: 'js',
|
|
212
218
|
};
|
|
213
219
|
});
|
|
214
220
|
}
|
|
215
221
|
}
|
|
216
|
-
// Track imports between modules to propagate entry point info
|
|
217
|
-
build.onResolve({ filter: /.*/ }, (args) => {
|
|
218
|
-
if (args.importer && args.kind !== 'entry-point') {
|
|
219
|
-
const entry = getEntryForImporter(args.importer);
|
|
220
|
-
if (entry) {
|
|
221
|
-
// Try to resolve the imported path
|
|
222
|
-
const resolvedPath = args.resolveDir
|
|
223
|
-
? resolve(args.resolveDir, args.path)
|
|
224
|
-
: args.path;
|
|
225
|
-
registerImporter(resolvedPath, entry);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
return undefined;
|
|
229
|
-
});
|
|
230
222
|
// Generate .asset.php files at the end of build
|
|
223
|
+
// Uses metafile to collect ALL dependencies from ALL input files in each bundle
|
|
224
|
+
// This properly handles transitive dependencies from bundled packages
|
|
231
225
|
build.onEnd(async (result) => {
|
|
232
226
|
if (result.errors.length > 0) {
|
|
233
227
|
return undefined;
|
|
@@ -236,27 +230,28 @@ export function wpDependencyExtractionPlugin(config, options = {}) {
|
|
|
236
230
|
if (!metafile) {
|
|
237
231
|
return undefined;
|
|
238
232
|
}
|
|
239
|
-
//
|
|
240
|
-
const entryToOutput = new Map();
|
|
233
|
+
// Process each output that has an entry point
|
|
241
234
|
for (const [outputPath, outputMeta] of Object.entries(metafile.outputs)) {
|
|
242
235
|
if (!outputMeta.entryPoint) {
|
|
243
236
|
continue;
|
|
244
237
|
}
|
|
245
|
-
// Normalize the entry point path for matching
|
|
246
|
-
const entryPath = normalizePath(resolve(outputMeta.entryPoint));
|
|
247
238
|
// Skip chunks
|
|
248
239
|
if (outputPath.includes('/chunks/')) {
|
|
249
240
|
continue;
|
|
250
241
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
242
|
+
// Collect ALL dependencies from ALL input files in this bundle
|
|
243
|
+
// This catches transitive deps from bundled packages like @10up/block-components
|
|
244
|
+
const allDeps = new Set();
|
|
245
|
+
for (const inputPath of Object.keys(outputMeta.inputs)) {
|
|
246
|
+
// Normalize input path to match our tracking
|
|
247
|
+
const normalizedInput = normalizePath(resolve(inputPath));
|
|
248
|
+
const deps = fileDependencies.get(normalizedInput);
|
|
249
|
+
if (deps) {
|
|
250
|
+
for (const dep of deps) {
|
|
251
|
+
allDeps.add(dep);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
258
254
|
}
|
|
259
|
-
const { path: outputPath } = outputInfo;
|
|
260
255
|
// Read output file content for version hash
|
|
261
256
|
let content = '';
|
|
262
257
|
try {
|
|
@@ -268,7 +263,7 @@ export function wpDependencyExtractionPlugin(config, options = {}) {
|
|
|
268
263
|
const version = getContentHash(content);
|
|
269
264
|
// Generate .asset.php with appropriate format
|
|
270
265
|
const assetPhpPath = outputPath.replace(/\.(m?js)$/, '.asset.php');
|
|
271
|
-
const sortedDeps = Array.from(
|
|
266
|
+
const sortedDeps = Array.from(allDeps).sort();
|
|
272
267
|
let assetPhpContent;
|
|
273
268
|
if (isModule) {
|
|
274
269
|
// 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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"}
|