extension-develop 3.8.16 → 3.9.0-canary.231.7b387a7
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/{535.cjs → 270.cjs} +6249 -6135
- package/dist/323.cjs +61 -16
- package/dist/{928.cjs → 324.cjs} +160 -173
- package/dist/552.cjs +1 -1
- package/dist/module.cjs +494 -143
- package/dist/warn-no-default-export.cjs +74 -30
- package/package.json +3 -2
- package/webpack/webpack-lib/optional-dependencies.json +20 -0
package/dist/module.cjs
CHANGED
|
@@ -127131,6 +127131,124 @@ var __webpack_modules__ = {
|
|
|
127131
127131
|
});
|
|
127132
127132
|
module.exports = library;
|
|
127133
127133
|
},
|
|
127134
|
+
"./webpack/dev-server/messages.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
127135
|
+
"use strict";
|
|
127136
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
127137
|
+
Df: ()=>autoExitForceKill,
|
|
127138
|
+
Gc: ()=>ready,
|
|
127139
|
+
Nq: ()=>bundlerFatalError,
|
|
127140
|
+
UF: ()=>devServerStartTimeout,
|
|
127141
|
+
VL: ()=>extensionJsRunnerError,
|
|
127142
|
+
aO: ()=>portInUse,
|
|
127143
|
+
bL: ()=>browserRunnerDisabled,
|
|
127144
|
+
eP: ()=>bundlerRecompiling,
|
|
127145
|
+
nI: ()=>noEntrypointsDetected,
|
|
127146
|
+
o6: ()=>autoExitModeEnabled,
|
|
127147
|
+
tJ: ()=>autoExitTriggered,
|
|
127148
|
+
tl: ()=>spacerLine
|
|
127149
|
+
});
|
|
127150
|
+
var fs__rspack_import_0 = __webpack_require__("fs");
|
|
127151
|
+
var pintor__rspack_import_1 = __webpack_require__("pintor");
|
|
127152
|
+
var pintor__rspack_import_1_default = /*#__PURE__*/ __webpack_require__.n(pintor__rspack_import_1);
|
|
127153
|
+
function getLoggingPrefix(type) {
|
|
127154
|
+
const isAuthor = 'true' === process.env.EXTENSION_AUTHOR_MODE;
|
|
127155
|
+
if (isAuthor) {
|
|
127156
|
+
const base = 'error' === type ? 'ERROR Author says' : '►►► Author says';
|
|
127157
|
+
return pintor__rspack_import_1_default().brightMagenta(base);
|
|
127158
|
+
}
|
|
127159
|
+
if ('error' === type) return pintor__rspack_import_1_default().red('ERROR');
|
|
127160
|
+
if ('warn' === type) return pintor__rspack_import_1_default().brightYellow('►►►');
|
|
127161
|
+
if ('info' === type) return pintor__rspack_import_1_default().gray('►►►');
|
|
127162
|
+
return pintor__rspack_import_1_default().green('►►►');
|
|
127163
|
+
}
|
|
127164
|
+
function ready(mode, browser) {
|
|
127165
|
+
const extensionOutput = 'firefox' === browser || 'gecko-based' === browser || 'edge' === browser ? 'Add-on' : 'Extension';
|
|
127166
|
+
const b = String(browser || '');
|
|
127167
|
+
const cap = b.charAt(0).toUpperCase() + b.slice(1);
|
|
127168
|
+
const pretty = pintor__rspack_import_1_default().green('ready for ' + mode);
|
|
127169
|
+
return `${getLoggingPrefix('info')} ${cap} ${extensionOutput} ${pretty}.`;
|
|
127170
|
+
}
|
|
127171
|
+
function readJsonRecord(filePath) {
|
|
127172
|
+
try {
|
|
127173
|
+
return JSON.parse(fs__rspack_import_0.readFileSync(filePath, 'utf8'));
|
|
127174
|
+
} catch {
|
|
127175
|
+
return null;
|
|
127176
|
+
}
|
|
127177
|
+
}
|
|
127178
|
+
function capitalizeToken(value) {
|
|
127179
|
+
return value.split('-').filter(Boolean).map((token)=>token.charAt(0).toUpperCase() + token.slice(1)).join('-');
|
|
127180
|
+
}
|
|
127181
|
+
function getExtensionVersion() {
|
|
127182
|
+
return process.env.EXTENSION_DEVELOP_VERSION || process.env.EXTENSION_CLI_VERSION || (()=>{
|
|
127183
|
+
try {
|
|
127184
|
+
return __webpack_require__("./package.json").rE;
|
|
127185
|
+
} catch {
|
|
127186
|
+
return 'unknown';
|
|
127187
|
+
}
|
|
127188
|
+
})();
|
|
127189
|
+
}
|
|
127190
|
+
function browserRunnerDisabled(args) {
|
|
127191
|
+
const manifest = readJsonRecord(args.manifestPath);
|
|
127192
|
+
const ready = readJsonRecord(args.readyPath);
|
|
127193
|
+
const browserLabel = capitalizeToken(String(args.browser || 'unknown'));
|
|
127194
|
+
const runId = String(ready?.runId || '').trim();
|
|
127195
|
+
const pid = Number.isInteger(ready?.pid) ? String(ready?.pid) : '';
|
|
127196
|
+
const runLabel = runId ? `${pintor__rspack_import_1_default().gray(runId)}${pid ? ` · ${pintor__rspack_import_1_default().gray(`PID ${pid}`)}` : ''}` : pid ? pintor__rspack_import_1_default().gray(`PID ${pid}`) : pintor__rspack_import_1_default().gray('n/a');
|
|
127197
|
+
const extensionName = String(manifest?.name || 'Extension');
|
|
127198
|
+
const extensionVersion = String(manifest?.version || '').trim();
|
|
127199
|
+
const extensionLabel = extensionVersion ? `${extensionName} ${extensionVersion}` : extensionName;
|
|
127200
|
+
const extensionJsVersion = getExtensionVersion();
|
|
127201
|
+
return [
|
|
127202
|
+
` 🧩 ${pintor__rspack_import_1_default().brightBlue('Extension.js')} ${pintor__rspack_import_1_default().gray(extensionJsVersion)}`,
|
|
127203
|
+
` Browser ${pintor__rspack_import_1_default().gray(args.browserModeLabel || `${browserLabel} (build-only mode)`)}`,
|
|
127204
|
+
` Extension ${pintor__rspack_import_1_default().gray(extensionLabel)}`,
|
|
127205
|
+
` Run ID ${runLabel}`
|
|
127206
|
+
].join('\n');
|
|
127207
|
+
}
|
|
127208
|
+
function portInUse(requestedPort, newPort) {
|
|
127209
|
+
return `Port: Requested port ${pintor__rspack_import_1_default().brightBlue(requestedPort.toString())} is in use; using ${pintor__rspack_import_1_default().brightBlue(newPort.toString())} instead.`;
|
|
127210
|
+
}
|
|
127211
|
+
function extensionJsRunnerError(error) {
|
|
127212
|
+
return `Extension.js Runner Error:\n${pintor__rspack_import_1_default().red(String(error))}`;
|
|
127213
|
+
}
|
|
127214
|
+
function autoExitModeEnabled(ms) {
|
|
127215
|
+
return `Auto-exit enabled. Will exit after ${pintor__rspack_import_1_default().brightBlue(ms.toString())} ms if idle.`;
|
|
127216
|
+
}
|
|
127217
|
+
function autoExitTriggered(ms) {
|
|
127218
|
+
return `Auto-exit triggered after ${pintor__rspack_import_1_default().brightBlue(ms.toString())} ms. Cleaning up...`;
|
|
127219
|
+
}
|
|
127220
|
+
function autoExitForceKill(ms) {
|
|
127221
|
+
return `Force-killing process after ${pintor__rspack_import_1_default().brightBlue(ms.toString())} ms to ensure exit.`;
|
|
127222
|
+
}
|
|
127223
|
+
function devServerStartTimeout(ms) {
|
|
127224
|
+
return [
|
|
127225
|
+
`Dev server startup is taking longer than expected (${pintor__rspack_import_1_default().brightBlue(ms.toString())} ms).`,
|
|
127226
|
+
"The bundler may have encountered an error before emitting the first build.",
|
|
127227
|
+
`If nothing else prints, try setting ${pintor__rspack_import_1_default().brightBlue('EXTENSION_VERBOSE=1')} for more logs.`
|
|
127228
|
+
].join('\n');
|
|
127229
|
+
}
|
|
127230
|
+
function bundlerFatalError(error) {
|
|
127231
|
+
const text = error instanceof Error ? error.stack || error.message : String(error);
|
|
127232
|
+
return `Build failed to start:\n${pintor__rspack_import_1_default().red(text)}`;
|
|
127233
|
+
}
|
|
127234
|
+
function bundlerRecompiling() {
|
|
127235
|
+
return "Recompiling due to file changes…";
|
|
127236
|
+
}
|
|
127237
|
+
function noEntrypointsDetected(port) {
|
|
127238
|
+
return [
|
|
127239
|
+
"No entrypoints or assets were produced by the initial compilation.",
|
|
127240
|
+
`The dev server is running on 127.0.0.1:${pintor__rspack_import_1_default().brightBlue(port.toString())}, but nothing is being built.`,
|
|
127241
|
+
"Possible causes:",
|
|
127242
|
+
" • Empty or missing entry configuration.",
|
|
127243
|
+
" • Extension-related plugins are disabled (entries not derived from manifest).",
|
|
127244
|
+
" • All sources are ignored or excluded.",
|
|
127245
|
+
`Try enabling verbose logs with ${pintor__rspack_import_1_default().brightBlue('EXTENSION_VERBOSE=1')} or review your extension config.`
|
|
127246
|
+
].join('\n');
|
|
127247
|
+
}
|
|
127248
|
+
function spacerLine() {
|
|
127249
|
+
return ' ';
|
|
127250
|
+
}
|
|
127251
|
+
},
|
|
127134
127252
|
"./webpack/feature-special-folders/folder-extensions/resolve-config.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
127135
127253
|
"use strict";
|
|
127136
127254
|
__webpack_require__.d(__webpack_exports__, {
|
|
@@ -127425,6 +127543,22 @@ var __webpack_modules__ = {
|
|
|
127425
127543
|
if ('string' != typeof value) return '';
|
|
127426
127544
|
return value.trim();
|
|
127427
127545
|
}
|
|
127546
|
+
function readReadyMetadata(readyPath) {
|
|
127547
|
+
if (!readyPath) return null;
|
|
127548
|
+
try {
|
|
127549
|
+
return JSON.parse(fs__rspack_import_0.readFileSync(readyPath, 'utf-8'));
|
|
127550
|
+
} catch {
|
|
127551
|
+
return null;
|
|
127552
|
+
}
|
|
127553
|
+
}
|
|
127554
|
+
function resolveRunLabel(ready) {
|
|
127555
|
+
const runId = toNormalizedId(ready?.runId);
|
|
127556
|
+
const pid = 'number' == typeof ready?.pid && Number.isFinite(ready.pid) ? String(ready.pid) : '';
|
|
127557
|
+
if (runId && pid) return `${runId} · PID ${pid}`;
|
|
127558
|
+
if (runId) return runId;
|
|
127559
|
+
if (pid) return `PID ${pid}`;
|
|
127560
|
+
return '';
|
|
127561
|
+
}
|
|
127428
127562
|
function deriveChromiumExtensionIdFromManifest(manifest) {
|
|
127429
127563
|
const key = toNormalizedId(manifest?.key);
|
|
127430
127564
|
if (!key) return '';
|
|
@@ -127507,6 +127641,8 @@ var __webpack_modules__ = {
|
|
|
127507
127641
|
try {
|
|
127508
127642
|
const manifestPath = path__rspack_import_1.join(opts.outPath, 'manifest.json');
|
|
127509
127643
|
const manifest = JSON.parse(fs__rspack_import_0.readFileSync(manifestPath, 'utf-8'));
|
|
127644
|
+
const ready = readReadyMetadata(opts.readyPath);
|
|
127645
|
+
const runLabel = opts.includeRunId ? resolveRunLabel(ready) : '';
|
|
127510
127646
|
const runtimeInfo = opts.runtime ? {
|
|
127511
127647
|
extensionId: opts.runtime.extensionId,
|
|
127512
127648
|
name: opts.runtime.name,
|
|
@@ -127529,7 +127665,8 @@ var __webpack_modules__ = {
|
|
|
127529
127665
|
};
|
|
127530
127666
|
console.log(_messages__rspack_import_3.io8());
|
|
127531
127667
|
console.log(_messages__rspack_import_3.e_P(manifest, opts.browser, message, browserLabel, updateSuffix || void 0, {
|
|
127532
|
-
includeExtensionId: opts.includeExtensionId
|
|
127668
|
+
includeExtensionId: opts.includeExtensionId,
|
|
127669
|
+
runLabel
|
|
127533
127670
|
}));
|
|
127534
127671
|
console.log(_messages__rspack_import_3.io8());
|
|
127535
127672
|
} else {
|
|
@@ -127544,7 +127681,8 @@ var __webpack_modules__ = {
|
|
|
127544
127681
|
};
|
|
127545
127682
|
console.log(_messages__rspack_import_3.io8());
|
|
127546
127683
|
console.log(_messages__rspack_import_3.e_P(manifest, opts.browser, message, browserLabel, updateSuffix || void 0, {
|
|
127547
|
-
includeExtensionId: opts.includeExtensionId
|
|
127684
|
+
includeExtensionId: opts.includeExtensionId,
|
|
127685
|
+
runLabel
|
|
127548
127686
|
}));
|
|
127549
127687
|
console.log(_messages__rspack_import_3.io8());
|
|
127550
127688
|
}
|
|
@@ -127656,6 +127794,7 @@ var __webpack_modules__ = {
|
|
|
127656
127794
|
VkK: ()=>enhancedProcessManagementCleanup,
|
|
127657
127795
|
WVu: ()=>addonInstallError,
|
|
127658
127796
|
WVz: ()=>sourceInspectorHTMLOutputFooter,
|
|
127797
|
+
WsE: ()=>chromiumHardReloadFailed,
|
|
127659
127798
|
Ww: ()=>sourceInspectorTargetCreated,
|
|
127660
127799
|
X6h: ()=>firefoxRemoteDebuggingReady,
|
|
127661
127800
|
XHr: ()=>enhancedProcessManagementTerminating,
|
|
@@ -128258,6 +128397,7 @@ var __webpack_modules__ = {
|
|
|
128258
128397
|
const displayVersion = String(version1 || manifest.version || '');
|
|
128259
128398
|
lines.push(` 🧩 ${pintor__rspack_import_4_default().brightBlue('Extension.js')} ${pintor__rspack_import_4_default().gray(`${extensionVersion}`)}${updateNotice}`, ` Browser ${pintor__rspack_import_4_default().gray(browserLabel)}`, ` Extension ${pintor__rspack_import_4_default().gray(displayVersion ? `${displayName} ${displayVersion}` : displayName)}`);
|
|
128260
128399
|
if (includeExtensionId && cleanId) lines.push(` Extension ID ${pintor__rspack_import_4_default().gray(cleanId)}`);
|
|
128400
|
+
if (opts?.runLabel) lines.push(` Run ID ${pintor__rspack_import_4_default().gray(opts.runLabel)}`);
|
|
128261
128401
|
return lines.join('\n');
|
|
128262
128402
|
}
|
|
128263
128403
|
function emptyLine() {
|
|
@@ -128327,6 +128467,11 @@ var __webpack_modules__ = {
|
|
|
128327
128467
|
exts = 'edge' === browser ? pintor__rspack_import_4_default().underline('edge://extensions') : pintor__rspack_import_4_default().underline('chrome://extensions');
|
|
128328
128468
|
return `${getLoggingPrefix('warn')} Configuration required\nEnable ${pintor__rspack_import_4_default().yellow('Developer mode')} in ${exts} for reliable reloads.\nWithout it, hard reloads may disable your unpacked extension.`;
|
|
128329
128469
|
}
|
|
128470
|
+
function chromiumHardReloadFailed(browser) {
|
|
128471
|
+
let exts = '';
|
|
128472
|
+
exts = 'edge' === browser ? pintor__rspack_import_4_default().underline('edge://extensions') : pintor__rspack_import_4_default().underline('chrome://extensions');
|
|
128473
|
+
return `${getLoggingPrefix('warn')} Reload failed\nChromium could not reload your unpacked extension.\nIf you are using an existing profile, verify ${pintor__rspack_import_4_default().yellow('Developer mode')} is enabled in ${exts}.`;
|
|
128474
|
+
}
|
|
128330
128475
|
},
|
|
128331
128476
|
"./webpack/plugin-browsers/browsers-lib/output-binaries-resolver.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
128332
128477
|
"use strict";
|
|
@@ -128656,6 +128801,7 @@ var __webpack_modules__ = {
|
|
|
128656
128801
|
var output_binaries_resolver = __webpack_require__("./webpack/plugin-browsers/browsers-lib/output-binaries-resolver.ts");
|
|
128657
128802
|
var shared_utils = __webpack_require__("./webpack/plugin-browsers/browsers-lib/shared-utils.ts");
|
|
128658
128803
|
var banner = __webpack_require__("./webpack/plugin-browsers/browsers-lib/banner.ts");
|
|
128804
|
+
var dev_server_messages = __webpack_require__("./webpack/dev-server/messages.ts");
|
|
128659
128805
|
var external_path_ = __webpack_require__("path");
|
|
128660
128806
|
const masterPreferences = {
|
|
128661
128807
|
alternate_error_pages: {
|
|
@@ -128945,6 +129091,7 @@ var __webpack_modules__ = {
|
|
|
128945
129091
|
console.log(messages.E8B(chromiumConfig.join(' ')));
|
|
128946
129092
|
}
|
|
128947
129093
|
var extension_output_path = __webpack_require__("./webpack/plugin-browsers/run-chromium/chromium-launch/extension-output-path.ts");
|
|
129094
|
+
var manifest_readiness = __webpack_require__("./webpack/plugin-browsers/run-chromium/manifest-readiness.ts");
|
|
128948
129095
|
var external_os_ = __webpack_require__("os");
|
|
128949
129096
|
function isWslEnv() {
|
|
128950
129097
|
if ('linux' !== process.platform) return false;
|
|
@@ -129036,26 +129183,17 @@ var __webpack_modules__ = {
|
|
|
129036
129183
|
else obj[key] = value;
|
|
129037
129184
|
return obj;
|
|
129038
129185
|
}
|
|
129039
|
-
async function waitForManifest(outPath, timeoutMs = 8000) {
|
|
129040
|
-
const manifestPath = `${outPath}/manifest.json`;
|
|
129041
|
-
const start = Date.now();
|
|
129042
|
-
while(Date.now() - start < timeoutMs){
|
|
129043
|
-
try {
|
|
129044
|
-
if (external_fs_.existsSync(manifestPath)) return true;
|
|
129045
|
-
} catch {}
|
|
129046
|
-
await new Promise((resolve)=>setTimeout(resolve, 150));
|
|
129047
|
-
}
|
|
129048
|
-
return false;
|
|
129049
|
-
}
|
|
129050
129186
|
async function maybePrintDevBanner(args) {
|
|
129051
129187
|
const mode = args.compilation?.options?.mode || 'development';
|
|
129052
129188
|
if ('development' !== mode) return;
|
|
129053
|
-
if (args.enableCdp) return;
|
|
129054
129189
|
const loadExtensionFlag = args.chromiumConfig.find((flag)=>flag.startsWith('--load-extension='));
|
|
129055
129190
|
const extensionOutputPath = (0, extension_output_path.W)(args.compilation, loadExtensionFlag);
|
|
129056
129191
|
if (!extensionOutputPath) return;
|
|
129057
|
-
const ready = await
|
|
129192
|
+
const ready = await (0, manifest_readiness.f)(extensionOutputPath, {
|
|
129193
|
+
timeoutMs: 10000
|
|
129194
|
+
});
|
|
129058
129195
|
if (!ready) return;
|
|
129196
|
+
if (args.enableCdp) return;
|
|
129059
129197
|
await (0, banner.a)({
|
|
129060
129198
|
browser: args.browser,
|
|
129061
129199
|
outPath: extensionOutputPath,
|
|
@@ -129088,7 +129226,7 @@ var __webpack_modules__ = {
|
|
|
129088
129226
|
if (this.didLaunch) return;
|
|
129089
129227
|
await this.launchChromium(stats.compilation);
|
|
129090
129228
|
this.didLaunch = true;
|
|
129091
|
-
this.
|
|
129229
|
+
if (!this.didReportReady) console.log(dev_server_messages.Gc(stats.compilation.options.mode, this.options.browser));
|
|
129092
129230
|
} catch (error) {
|
|
129093
129231
|
try {
|
|
129094
129232
|
this.logger.error(messages._D4(this.options.browser, error));
|
|
@@ -129142,9 +129280,10 @@ var __webpack_modules__ = {
|
|
|
129142
129280
|
return 'npx extension install chrome';
|
|
129143
129281
|
}
|
|
129144
129282
|
};
|
|
129283
|
+
const isAuthorMode = 'true' === process.env.EXTENSION_AUTHOR_MODE;
|
|
129145
129284
|
switch(browser){
|
|
129146
129285
|
case 'chrome':
|
|
129147
|
-
console.log(messages.GqE(browser));
|
|
129286
|
+
if (isAuthorMode) console.log(messages.GqE(browser));
|
|
129148
129287
|
if (!skipDetection) try {
|
|
129149
129288
|
try {
|
|
129150
129289
|
const located = (0, external_chrome_location2_.locateChromeOrExplain)({
|
|
@@ -129181,7 +129320,7 @@ var __webpack_modules__ = {
|
|
|
129181
129320
|
}
|
|
129182
129321
|
break;
|
|
129183
129322
|
case 'chromium':
|
|
129184
|
-
console.log(messages.GqE(browser));
|
|
129323
|
+
if (isAuthorMode) console.log(messages.GqE(browser));
|
|
129185
129324
|
browserBinaryLocation = this.options?.chromiumBinary || null;
|
|
129186
129325
|
if (this.options?.chromiumBinary) {
|
|
129187
129326
|
const normalized = normalizePath(String(this.options.chromiumBinary));
|
|
@@ -129201,7 +129340,7 @@ var __webpack_modules__ = {
|
|
|
129201
129340
|
if (!browserBinaryLocation) browserBinaryLocation = resolveWslWindowsBinary(browser);
|
|
129202
129341
|
break;
|
|
129203
129342
|
case 'edge':
|
|
129204
|
-
console.log(messages.GqE(browser));
|
|
129343
|
+
if (isAuthorMode) console.log(messages.GqE(browser));
|
|
129205
129344
|
try {
|
|
129206
129345
|
const override = String(process.env.EDGE_BINARY || '').trim();
|
|
129207
129346
|
if (override) {
|
|
@@ -129376,6 +129515,10 @@ var __webpack_modules__ = {
|
|
|
129376
129515
|
});
|
|
129377
129516
|
if (this.options.dryRun) return void logChromiumDryRun(browserBinaryLocation, chromiumConfig);
|
|
129378
129517
|
await this.launchWithDirectSpawn(browserBinaryLocation, chromiumConfig);
|
|
129518
|
+
if ('development' === compilation.options.mode && !this.didReportReady) {
|
|
129519
|
+
console.log(dev_server_messages.Gc(compilation.options.mode, this.options.browser));
|
|
129520
|
+
this.didReportReady = true;
|
|
129521
|
+
}
|
|
129379
129522
|
try {
|
|
129380
129523
|
let browserVersionLine;
|
|
129381
129524
|
try {
|
|
@@ -129485,12 +129628,96 @@ var __webpack_modules__ = {
|
|
|
129485
129628
|
_define_property(this, "options", void 0);
|
|
129486
129629
|
_define_property(this, "ctx", void 0);
|
|
129487
129630
|
_define_property(this, "didLaunch", void 0);
|
|
129631
|
+
_define_property(this, "didReportReady", void 0);
|
|
129488
129632
|
_define_property(this, "logger", void 0);
|
|
129489
129633
|
this.options = options;
|
|
129490
129634
|
this.ctx = ctx;
|
|
129491
129635
|
this.didLaunch = false;
|
|
129636
|
+
this.didReportReady = false;
|
|
129637
|
+
}
|
|
129638
|
+
}
|
|
129639
|
+
},
|
|
129640
|
+
"./webpack/plugin-browsers/run-chromium/manifest-readiness.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
129641
|
+
"use strict";
|
|
129642
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
129643
|
+
f: ()=>waitForStableManifest
|
|
129644
|
+
});
|
|
129645
|
+
var fs__rspack_import_0 = __webpack_require__("fs");
|
|
129646
|
+
var path__rspack_import_1 = __webpack_require__("path");
|
|
129647
|
+
function sleep(ms) {
|
|
129648
|
+
return new Promise((resolve)=>setTimeout(resolve, ms));
|
|
129649
|
+
}
|
|
129650
|
+
function readValidManifest(manifestPath) {
|
|
129651
|
+
try {
|
|
129652
|
+
const content = fs__rspack_import_0.readFileSync(manifestPath, 'utf-8');
|
|
129653
|
+
if (!content.trim()) return;
|
|
129654
|
+
JSON.parse(content);
|
|
129655
|
+
return content;
|
|
129656
|
+
} catch {
|
|
129657
|
+
return;
|
|
129658
|
+
}
|
|
129659
|
+
}
|
|
129660
|
+
function normalizeManifestFile(filePath) {
|
|
129661
|
+
if ('string' != typeof filePath) return;
|
|
129662
|
+
const normalized = filePath.trim().replace(/^\/+/, '');
|
|
129663
|
+
if (!normalized) return;
|
|
129664
|
+
if (/^(https?:)?\/\//i.test(filePath)) return;
|
|
129665
|
+
if (/[*?[\]{}]/.test(normalized)) return;
|
|
129666
|
+
return normalized;
|
|
129667
|
+
}
|
|
129668
|
+
function getManifestRequiredFiles(content) {
|
|
129669
|
+
try {
|
|
129670
|
+
const manifest = JSON.parse(content);
|
|
129671
|
+
const requiredFiles = new Set();
|
|
129672
|
+
const addFile = (filePath)=>{
|
|
129673
|
+
const normalized = normalizeManifestFile(filePath);
|
|
129674
|
+
if (normalized) requiredFiles.add(normalized);
|
|
129675
|
+
};
|
|
129676
|
+
addFile(manifest.background?.service_worker);
|
|
129677
|
+
addFile(manifest.background?.page);
|
|
129678
|
+
if (Array.isArray(manifest.background?.scripts)) for (const script of manifest.background?.scripts || [])addFile(script);
|
|
129679
|
+
addFile(manifest.side_panel?.default_path);
|
|
129680
|
+
if (Array.isArray(manifest.content_scripts)) for (const contentScript of manifest.content_scripts){
|
|
129681
|
+
if (Array.isArray(contentScript?.js)) for (const jsFile of contentScript.js)addFile(jsFile);
|
|
129682
|
+
if (Array.isArray(contentScript?.css)) for (const cssFile of contentScript.css)addFile(cssFile);
|
|
129683
|
+
}
|
|
129684
|
+
return [
|
|
129685
|
+
...requiredFiles
|
|
129686
|
+
];
|
|
129687
|
+
} catch {
|
|
129688
|
+
return [];
|
|
129492
129689
|
}
|
|
129493
129690
|
}
|
|
129691
|
+
function hasRequiredManifestFiles(outPath, content) {
|
|
129692
|
+
const requiredFiles = getManifestRequiredFiles(content);
|
|
129693
|
+
for (const relativeFile of requiredFiles)if (!fs__rspack_import_0.existsSync(path__rspack_import_1.join(outPath, relativeFile))) return false;
|
|
129694
|
+
return true;
|
|
129695
|
+
}
|
|
129696
|
+
async function waitForStableManifest(outPath, options) {
|
|
129697
|
+
const timeoutMs = options?.timeoutMs ?? 8000;
|
|
129698
|
+
const pollIntervalMs = options?.pollIntervalMs ?? 150;
|
|
129699
|
+
const stableReadsRequired = options?.stableReadsRequired ?? 2;
|
|
129700
|
+
const manifestPath = path__rspack_import_1.join(outPath, 'manifest.json');
|
|
129701
|
+
const start = Date.now();
|
|
129702
|
+
let lastValidContent;
|
|
129703
|
+
let stableReads = 0;
|
|
129704
|
+
while(Date.now() - start < timeoutMs){
|
|
129705
|
+
const currentContent = readValidManifest(manifestPath);
|
|
129706
|
+
if (currentContent && hasRequiredManifestFiles(outPath, currentContent)) {
|
|
129707
|
+
if (currentContent === lastValidContent) stableReads += 1;
|
|
129708
|
+
else {
|
|
129709
|
+
lastValidContent = currentContent;
|
|
129710
|
+
stableReads = 1;
|
|
129711
|
+
}
|
|
129712
|
+
if (stableReads >= stableReadsRequired) return true;
|
|
129713
|
+
} else {
|
|
129714
|
+
lastValidContent = void 0;
|
|
129715
|
+
stableReads = 0;
|
|
129716
|
+
}
|
|
129717
|
+
await sleep(pollIntervalMs);
|
|
129718
|
+
}
|
|
129719
|
+
return false;
|
|
129720
|
+
}
|
|
129494
129721
|
},
|
|
129495
129722
|
"./webpack/plugin-browsers/run-firefox/firefox-context/index.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
129496
129723
|
"use strict";
|
|
@@ -129556,6 +129783,7 @@ var __webpack_modules__ = {
|
|
|
129556
129783
|
var output_binaries_resolver = __webpack_require__("./webpack/plugin-browsers/browsers-lib/output-binaries-resolver.ts");
|
|
129557
129784
|
var shared_utils = __webpack_require__("./webpack/plugin-browsers/browsers-lib/shared-utils.ts");
|
|
129558
129785
|
var instance_registry = __webpack_require__("./webpack/plugin-browsers/browsers-lib/instance-registry.ts");
|
|
129786
|
+
var dev_server_messages = __webpack_require__("./webpack/dev-server/messages.ts");
|
|
129559
129787
|
var external_child_process_ = __webpack_require__("child_process");
|
|
129560
129788
|
function setupFirefoxProcessHandlers(browser, childRef, cleanupInstance) {
|
|
129561
129789
|
let isCleaningUp = false;
|
|
@@ -130305,7 +130533,10 @@ var __webpack_modules__ = {
|
|
|
130305
130533
|
debug: (...a)=>console?.debug?.(...a)
|
|
130306
130534
|
};
|
|
130307
130535
|
await this.launch(compilation, options);
|
|
130308
|
-
|
|
130536
|
+
if ('development' === options.mode) {
|
|
130537
|
+
this.ctx.logger?.info?.(messages.ACl(this.host.browser, options.mode));
|
|
130538
|
+
this.ctx.logger?.info?.(dev_server_messages.Gc(options.mode, this.host.browser));
|
|
130539
|
+
}
|
|
130309
130540
|
this.ctx.didLaunch = true;
|
|
130310
130541
|
}
|
|
130311
130542
|
apply(compiler) {
|
|
@@ -130328,6 +130559,7 @@ var __webpack_modules__ = {
|
|
|
130328
130559
|
port: this.host.port
|
|
130329
130560
|
});
|
|
130330
130561
|
this.ctx.logger?.info?.(messages.ACl(this.host.browser, stats.compilation.options.mode));
|
|
130562
|
+
this.ctx.logger?.info?.(dev_server_messages.Gc(stats.compilation.options.mode, this.host.browser));
|
|
130331
130563
|
this.ctx.didLaunch = true;
|
|
130332
130564
|
} catch (error) {
|
|
130333
130565
|
this.ctx.logger?.error?.(messages.MQS(error));
|
|
@@ -131452,16 +131684,20 @@ var __webpack_modules__ = {
|
|
|
131452
131684
|
__webpack_require__.d(__webpack_exports__, {
|
|
131453
131685
|
Dy: ()=>installOptionalDependenciesBatch,
|
|
131454
131686
|
He: ()=>resolveDevelopInstallRoot,
|
|
131687
|
+
Iy: ()=>resolveOptionalInstallRoot,
|
|
131455
131688
|
tm: ()=>installOptionalDependencies,
|
|
131456
131689
|
ws: ()=>hasDependency
|
|
131457
131690
|
});
|
|
131458
131691
|
var path__rspack_import_0 = __webpack_require__("path");
|
|
131459
131692
|
var fs__rspack_import_1 = __webpack_require__("fs");
|
|
131460
|
-
var
|
|
131461
|
-
var
|
|
131462
|
-
var
|
|
131463
|
-
var
|
|
131464
|
-
var
|
|
131693
|
+
var os__rspack_import_2 = __webpack_require__("os");
|
|
131694
|
+
var _messages__rspack_import_3 = __webpack_require__("./webpack/plugin-css/css-lib/messages.ts");
|
|
131695
|
+
var pintor__rspack_import_4 = __webpack_require__("pintor");
|
|
131696
|
+
var pintor__rspack_import_4_default = /*#__PURE__*/ __webpack_require__.n(pintor__rspack_import_4);
|
|
131697
|
+
var _package_json__rspack_import_5 = __webpack_require__("./package.json");
|
|
131698
|
+
var _webpack_lib_check_build_dependencies__rspack_import_6 = __webpack_require__("./webpack/webpack-lib/check-build-dependencies.ts");
|
|
131699
|
+
var _webpack_lib_optional_dependencies__rspack_import_7 = __webpack_require__("./webpack/webpack-lib/optional-dependencies.ts");
|
|
131700
|
+
var _webpack_lib_package_manager__rspack_import_8 = __webpack_require__("./webpack/webpack-lib/package-manager.ts");
|
|
131465
131701
|
function parseJsonSafe(text) {
|
|
131466
131702
|
const s = text && 0xfeff === text.charCodeAt(0) ? text.slice(1) : text;
|
|
131467
131703
|
return JSON.parse(s || '{}');
|
|
@@ -131569,13 +131805,13 @@ var __webpack_modules__ = {
|
|
|
131569
131805
|
}
|
|
131570
131806
|
async function execInstallWithFallback(command, options) {
|
|
131571
131807
|
try {
|
|
131572
|
-
await (0,
|
|
131808
|
+
await (0, _webpack_lib_package_manager__rspack_import_8.Qt)(command.command, command.args, {
|
|
131573
131809
|
cwd: options.cwd,
|
|
131574
131810
|
stdio: 'inherit'
|
|
131575
131811
|
});
|
|
131576
131812
|
return;
|
|
131577
131813
|
} catch (error) {
|
|
131578
|
-
if (options.fallbackNpmCommand && (isMissingManagerError(error) || options.allowFallbackOnFailure && isInstallExitFailure(error))) return void await (0,
|
|
131814
|
+
if (options.fallbackNpmCommand && (isMissingManagerError(error) || options.allowFallbackOnFailure && isInstallExitFailure(error))) return void await (0, _webpack_lib_package_manager__rspack_import_8.Qt)(options.fallbackNpmCommand.command, options.fallbackNpmCommand.args, {
|
|
131579
131815
|
cwd: options.cwd,
|
|
131580
131816
|
stdio: 'inherit'
|
|
131581
131817
|
});
|
|
@@ -131583,7 +131819,7 @@ var __webpack_modules__ = {
|
|
|
131583
131819
|
}
|
|
131584
131820
|
}
|
|
131585
131821
|
function resolveDevelopInstallRoot() {
|
|
131586
|
-
const directRoot = (0,
|
|
131822
|
+
const directRoot = (0, _webpack_lib_check_build_dependencies__rspack_import_6.w1)();
|
|
131587
131823
|
if (directRoot) return directRoot;
|
|
131588
131824
|
try {
|
|
131589
131825
|
const candidateRoot = findDevelopRootFrom(__dirname);
|
|
@@ -131600,43 +131836,67 @@ var __webpack_modules__ = {
|
|
|
131600
131836
|
return;
|
|
131601
131837
|
}
|
|
131602
131838
|
}
|
|
131839
|
+
function getExtensionJsCacheBaseDir() {
|
|
131840
|
+
const override = process.env.EXTENSION_JS_CACHE_DIR;
|
|
131841
|
+
if (override) return path__rspack_import_0.resolve(override);
|
|
131842
|
+
if ('win32' === process.platform && process.env.LOCALAPPDATA) return path__rspack_import_0.join(process.env.LOCALAPPDATA, 'extensionjs');
|
|
131843
|
+
if (process.env.XDG_CACHE_HOME) return path__rspack_import_0.join(process.env.XDG_CACHE_HOME, 'extensionjs');
|
|
131844
|
+
return path__rspack_import_0.join(os__rspack_import_2.homedir(), '.cache', 'extensionjs');
|
|
131845
|
+
}
|
|
131846
|
+
function resolveOptionalInstallRoot() {
|
|
131847
|
+
return path__rspack_import_0.join(getExtensionJsCacheBaseDir(), 'optional-deps', _package_json__rspack_import_5.rE);
|
|
131848
|
+
}
|
|
131849
|
+
function ensureOptionalInstallBaseDir(installBaseDir) {
|
|
131850
|
+
fs__rspack_import_1.mkdirSync(installBaseDir, {
|
|
131851
|
+
recursive: true
|
|
131852
|
+
});
|
|
131853
|
+
const packageJsonPath = path__rspack_import_0.join(installBaseDir, 'package.json');
|
|
131854
|
+
if (!fs__rspack_import_1.existsSync(packageJsonPath)) fs__rspack_import_1.writeFileSync(packageJsonPath, JSON.stringify({
|
|
131855
|
+
name: `extensionjs-optional-deps-${_package_json__rspack_import_5.rE}`,
|
|
131856
|
+
private: true,
|
|
131857
|
+
version: _package_json__rspack_import_5.rE
|
|
131858
|
+
}, null, 2) + '\n');
|
|
131859
|
+
}
|
|
131603
131860
|
function getOptionalInstallCommand(pm, dependencies, installBaseDir) {
|
|
131604
131861
|
const pmName = pm.name;
|
|
131605
|
-
|
|
131862
|
+
const dependencySpecs = (0, _webpack_lib_optional_dependencies__rspack_import_7.ad)(dependencies);
|
|
131863
|
+
if ('yarn' === pmName) return (0, _webpack_lib_package_manager__rspack_import_8.tj)(pm, [
|
|
131606
131864
|
'--silent',
|
|
131607
131865
|
'add',
|
|
131608
|
-
...
|
|
131866
|
+
...dependencySpecs,
|
|
131609
131867
|
'--cwd',
|
|
131610
131868
|
installBaseDir,
|
|
131611
131869
|
'--optional'
|
|
131612
131870
|
]);
|
|
131613
|
-
if ('npm' === pmName) return (0,
|
|
131871
|
+
if ('npm' === pmName) return (0, _webpack_lib_package_manager__rspack_import_8.tj)(pm, [
|
|
131614
131872
|
'--silent',
|
|
131615
131873
|
'install',
|
|
131616
|
-
...
|
|
131874
|
+
...dependencySpecs,
|
|
131617
131875
|
'--prefix',
|
|
131618
131876
|
installBaseDir,
|
|
131619
131877
|
'--save-optional'
|
|
131620
131878
|
]);
|
|
131621
|
-
if ('pnpm' === pmName) return (0,
|
|
131879
|
+
if ('pnpm' === pmName) return (0, _webpack_lib_package_manager__rspack_import_8.tj)(pm, [
|
|
131622
131880
|
'add',
|
|
131623
|
-
...
|
|
131881
|
+
...dependencySpecs,
|
|
131624
131882
|
'--dir',
|
|
131625
131883
|
installBaseDir,
|
|
131626
131884
|
'--save-optional',
|
|
131885
|
+
'--ignore-workspace',
|
|
131886
|
+
'--lockfile=false',
|
|
131627
131887
|
'--silent'
|
|
131628
131888
|
]);
|
|
131629
|
-
if ('bun' === pmName) return (0,
|
|
131889
|
+
if ('bun' === pmName) return (0, _webpack_lib_package_manager__rspack_import_8.tj)(pm, [
|
|
131630
131890
|
'add',
|
|
131631
|
-
...
|
|
131891
|
+
...dependencySpecs,
|
|
131632
131892
|
'--cwd',
|
|
131633
131893
|
installBaseDir,
|
|
131634
131894
|
'--optional'
|
|
131635
131895
|
]);
|
|
131636
|
-
return (0,
|
|
131896
|
+
return (0, _webpack_lib_package_manager__rspack_import_8.tj)(pm, [
|
|
131637
131897
|
'--silent',
|
|
131638
131898
|
'install',
|
|
131639
|
-
...
|
|
131899
|
+
...dependencySpecs,
|
|
131640
131900
|
'--cwd',
|
|
131641
131901
|
installBaseDir,
|
|
131642
131902
|
'--optional'
|
|
@@ -131657,26 +131917,28 @@ var __webpack_modules__ = {
|
|
|
131657
131917
|
'--prefix',
|
|
131658
131918
|
installBaseDir
|
|
131659
131919
|
] : [];
|
|
131660
|
-
if ('yarn' === pmName) return (0,
|
|
131920
|
+
if ('yarn' === pmName) return (0, _webpack_lib_package_manager__rspack_import_8.tj)(pm, [
|
|
131661
131921
|
'install',
|
|
131662
131922
|
'--silent',
|
|
131663
131923
|
...dirArgs
|
|
131664
131924
|
]);
|
|
131665
|
-
if ('npm' === pmName) return (0,
|
|
131925
|
+
if ('npm' === pmName) return (0, _webpack_lib_package_manager__rspack_import_8.tj)(pm, [
|
|
131666
131926
|
'install',
|
|
131667
131927
|
'--silent',
|
|
131668
131928
|
...dirArgs
|
|
131669
131929
|
]);
|
|
131670
|
-
if ('pnpm' === pmName) return (0,
|
|
131930
|
+
if ('pnpm' === pmName) return (0, _webpack_lib_package_manager__rspack_import_8.tj)(pm, [
|
|
131671
131931
|
'install',
|
|
131672
131932
|
'--silent',
|
|
131673
|
-
...dirArgs
|
|
131933
|
+
...dirArgs,
|
|
131934
|
+
'--ignore-workspace',
|
|
131935
|
+
'--lockfile=false'
|
|
131674
131936
|
]);
|
|
131675
|
-
if ('bun' === pmName) return (0,
|
|
131937
|
+
if ('bun' === pmName) return (0, _webpack_lib_package_manager__rspack_import_8.tj)(pm, [
|
|
131676
131938
|
'install',
|
|
131677
131939
|
...dirArgs
|
|
131678
131940
|
]);
|
|
131679
|
-
return (0,
|
|
131941
|
+
return (0, _webpack_lib_package_manager__rspack_import_8.tj)(pm, [
|
|
131680
131942
|
'install',
|
|
131681
131943
|
'--silent',
|
|
131682
131944
|
...dirArgs
|
|
@@ -131688,15 +131950,15 @@ var __webpack_modules__ = {
|
|
|
131688
131950
|
let wslContext;
|
|
131689
131951
|
let installBaseDir;
|
|
131690
131952
|
try {
|
|
131691
|
-
installBaseDir =
|
|
131692
|
-
|
|
131693
|
-
pm = (0,
|
|
131953
|
+
installBaseDir = resolveOptionalInstallRoot();
|
|
131954
|
+
ensureOptionalInstallBaseDir(installBaseDir);
|
|
131955
|
+
pm = (0, _webpack_lib_package_manager__rspack_import_8._c)({
|
|
131694
131956
|
cwd: installBaseDir
|
|
131695
131957
|
});
|
|
131696
131958
|
wslContext = resolveWslContext(installBaseDir);
|
|
131697
131959
|
if (!wslContext.useWsl) pm = await preferCorepackFallback(pm);
|
|
131698
131960
|
const isAuthor = 'true' === process.env.EXTENSION_AUTHOR_MODE;
|
|
131699
|
-
const setupMessages =
|
|
131961
|
+
const setupMessages = _messages__rspack_import_3._j([
|
|
131700
131962
|
integration
|
|
131701
131963
|
], integration, isAuthor);
|
|
131702
131964
|
const setupMessage = setupMessages[0];
|
|
@@ -131704,31 +131966,28 @@ var __webpack_modules__ = {
|
|
|
131704
131966
|
const setupMessageWithIndex = hasIndex ? setupMessage.replace('►►► ', `►►► [${options?.index}/${options?.total}] `) : setupMessage;
|
|
131705
131967
|
if (isAuthor) console.warn(setupMessageWithIndex);
|
|
131706
131968
|
else console.log(setupMessageWithIndex);
|
|
131707
|
-
|
|
131708
|
-
|
|
131709
|
-
|
|
131710
|
-
|
|
131711
|
-
|
|
131712
|
-
|
|
131713
|
-
|
|
131714
|
-
|
|
131715
|
-
|
|
131716
|
-
|
|
131717
|
-
|
|
131718
|
-
|
|
131719
|
-
|
|
131720
|
-
|
|
131721
|
-
|
|
131722
|
-
fallbackNpmCommand,
|
|
131723
|
-
allowFallbackOnFailure: !wslContext.useWsl && 'npm' !== pm.name && void 0 !== fallbackNpmCommand
|
|
131724
|
-
});
|
|
131725
|
-
}
|
|
131969
|
+
const installCommand = getOptionalInstallCommand(pm, dependencies, wslContext.installDir || installBaseDir);
|
|
131970
|
+
const execCommand = wrapCommandForWsl(installCommand, wslContext);
|
|
131971
|
+
const fallbackNpmCommand = wslContext.useWsl ? void 0 : (0, _webpack_lib_package_manager__rspack_import_8.sX)([
|
|
131972
|
+
'--silent',
|
|
131973
|
+
'install',
|
|
131974
|
+
...(0, _webpack_lib_optional_dependencies__rspack_import_7.ad)(dependencies),
|
|
131975
|
+
'--prefix',
|
|
131976
|
+
installBaseDir,
|
|
131977
|
+
'--save-optional'
|
|
131978
|
+
]);
|
|
131979
|
+
await execInstallWithFallback(execCommand, {
|
|
131980
|
+
cwd: wslContext.useWsl ? void 0 : installBaseDir,
|
|
131981
|
+
fallbackNpmCommand,
|
|
131982
|
+
allowFallbackOnFailure: !wslContext.useWsl && 'npm' !== pm.name && void 0 !== fallbackNpmCommand
|
|
131983
|
+
});
|
|
131726
131984
|
await new Promise((resolve)=>setTimeout(resolve, 500));
|
|
131727
|
-
|
|
131728
|
-
|
|
131985
|
+
const needsRootRelink = isAuthor || dependencies.length > 1;
|
|
131986
|
+
if (needsRootRelink) {
|
|
131987
|
+
if (isAuthor) console.log(_messages__rspack_import_3.cr(integration));
|
|
131729
131988
|
const rootInstall = getRootInstallCommand(pm, wslContext.useWsl ? wslContext.installDir : void 0);
|
|
131730
131989
|
const rootCommand = wrapCommandForWsl(rootInstall, wslContext);
|
|
131731
|
-
const rootFallbackCommand = wslContext.useWsl ? void 0 : (0,
|
|
131990
|
+
const rootFallbackCommand = wslContext.useWsl ? void 0 : (0, _webpack_lib_package_manager__rspack_import_8.sX)([
|
|
131732
131991
|
'--silent',
|
|
131733
131992
|
'install',
|
|
131734
131993
|
'--prefix',
|
|
@@ -131739,7 +131998,7 @@ var __webpack_modules__ = {
|
|
|
131739
131998
|
fallbackNpmCommand: rootFallbackCommand,
|
|
131740
131999
|
allowFallbackOnFailure: !wslContext.useWsl && 'npm' !== pm.name && void 0 !== rootFallbackCommand
|
|
131741
132000
|
});
|
|
131742
|
-
console.log(
|
|
132001
|
+
if (isAuthor) console.log(_messages__rspack_import_3.ys(integration));
|
|
131743
132002
|
}
|
|
131744
132003
|
return true;
|
|
131745
132004
|
} catch (error) {
|
|
@@ -131757,17 +132016,19 @@ var __webpack_modules__ = {
|
|
|
131757
132016
|
npm_config_userconfig: process.env.npm_config_userconfig,
|
|
131758
132017
|
installBaseDir,
|
|
131759
132018
|
wslContext,
|
|
131760
|
-
pm
|
|
132019
|
+
pm,
|
|
132020
|
+
errorCode: error?.code,
|
|
132021
|
+
errorMessage: error instanceof Error ? error.message : String(error || 'unknown error')
|
|
131761
132022
|
});
|
|
131762
132023
|
const isAuthor = 'true' === process.env.EXTENSION_AUTHOR_MODE;
|
|
131763
|
-
if (isMissingManagerError(error)) console.error(
|
|
131764
|
-
else console.error(
|
|
132024
|
+
if (isMissingManagerError(error)) console.error(_messages__rspack_import_3.Vo(integration));
|
|
132025
|
+
else console.error(_messages__rspack_import_3.DX(integration, error, isAuthor));
|
|
131765
132026
|
return false;
|
|
131766
132027
|
}
|
|
131767
132028
|
}
|
|
131768
132029
|
async function installOptionalDependenciesBatch(plans) {
|
|
131769
132030
|
if (!plans.length) return;
|
|
131770
|
-
console.log(`${
|
|
132031
|
+
console.log(`${pintor__rspack_import_4_default().gray('►►►')} Found ${pintor__rspack_import_4_default().yellow(String(plans.length))} specialized integration${1 === plans.length ? '' : 's'} needing installation...`);
|
|
131771
132032
|
for (const [index, plan] of plans.entries()){
|
|
131772
132033
|
const didInstall = await installOptionalDependencies(plan.integration, plan.dependencies, {
|
|
131773
132034
|
index: index + 1,
|
|
@@ -131834,7 +132095,6 @@ var __webpack_modules__ = {
|
|
|
131834
132095
|
Vo: ()=>optionalInstallManagerMissing,
|
|
131835
132096
|
_j: ()=>optionalToolingSetup,
|
|
131836
132097
|
cr: ()=>optionalToolingRootInstall,
|
|
131837
|
-
eG: ()=>optionalInstallRootMissing,
|
|
131838
132098
|
fD: ()=>cssConfigsDetected,
|
|
131839
132099
|
uo: ()=>cssIntegrationsEnabled,
|
|
131840
132100
|
ys: ()=>optionalToolingReady,
|
|
@@ -131871,14 +132131,6 @@ var __webpack_modules__ = {
|
|
|
131871
132131
|
const prefix = isAuthor ? pintor__rspack_import_0_default().brightMagenta('ERROR Author says') : pintor__rspack_import_0_default().red('ERROR');
|
|
131872
132132
|
return `${prefix} [${integration}] Failed to install dependencies.\n${pintor__rspack_import_0_default().red(String(error?.message || error))}`;
|
|
131873
132133
|
}
|
|
131874
|
-
function optionalInstallRootMissing(integration) {
|
|
131875
|
-
const prefix = pintor__rspack_import_0_default().red('ERROR');
|
|
131876
|
-
return [
|
|
131877
|
-
`${prefix} [${integration}] Failed to locate the extension-develop runtime.`,
|
|
131878
|
-
'Optional tooling must install into the extension-develop package, not the user project.',
|
|
131879
|
-
'Reinstall Extension.js or run the command from a valid Extension.js installation.'
|
|
131880
|
-
].join('\n');
|
|
131881
|
-
}
|
|
131882
132134
|
function optionalInstallManagerMissing(integration) {
|
|
131883
132135
|
const prefix = pintor__rspack_import_0_default().red('ERROR');
|
|
131884
132136
|
return [
|
|
@@ -133934,12 +134186,17 @@ var __webpack_modules__ = {
|
|
|
133934
134186
|
return `${getLoggingPrefix('success')} Dependencies installed. Run the command again to proceed.`;
|
|
133935
134187
|
}
|
|
133936
134188
|
function buildWebpack(projectDir, stats, browser) {
|
|
133937
|
-
const statsJson = stats?.toJson(
|
|
133938
|
-
|
|
134189
|
+
const statsJson = stats?.toJson({
|
|
134190
|
+
all: false,
|
|
134191
|
+
assets: true,
|
|
134192
|
+
time: true
|
|
134193
|
+
});
|
|
134194
|
+
const outputPath = 'string' == typeof stats?.compilation?.outputOptions?.path ? stats.compilation.outputOptions.path : '';
|
|
134195
|
+
const manifestPath = outputPath ? path__rspack_import_1.join(outputPath, 'manifest.json') : path__rspack_import_1.join(projectDir, 'manifest.json');
|
|
133939
134196
|
const manifest = JSON.parse(fs__rspack_import_0.readFileSync(manifestPath, 'utf8'));
|
|
133940
134197
|
const assets = statsJson?.assets;
|
|
133941
134198
|
const heading = `${getLoggingPrefix('info')} Building ${pintor__rspack_import_2_default().blue(manifest.name)} extension using ${capitalizedBrowserName(browser)} defaults...\n`;
|
|
133942
|
-
const buildTime = `\nBuild completed in ${((statsJson?.time || 0) / 1000).toFixed(2)} seconds
|
|
134199
|
+
const buildTime = `\nBuild completed in ${((statsJson?.time || 0) / 1000).toFixed(2)} seconds.\n`;
|
|
133943
134200
|
const buildTarget = `Build Target: ${pintor__rspack_import_2_default().gray(capitalizedBrowserName(browser))}\n`;
|
|
133944
134201
|
const buildStatus = `Build Status: ${stats?.hasErrors() ? pintor__rspack_import_2_default().red('Failed') : pintor__rspack_import_2_default().green('Success')}\n`;
|
|
133945
134202
|
const version1 = `\nVersion: ${pintor__rspack_import_2_default().gray(manifest.version)}\n`;
|
|
@@ -134000,32 +134257,34 @@ var __webpack_modules__ = {
|
|
|
134000
134257
|
if (haystack.includes('runtime') || haystack.includes('will fail') || haystack.includes('cannot resolve') || haystack.includes('service_worker')) return 'Runtime-risk';
|
|
134001
134258
|
return 'Warning';
|
|
134002
134259
|
}
|
|
134003
|
-
function
|
|
134004
|
-
if ('Performance' === category) return '
|
|
134005
|
-
if ('Deprecation' === category) return 'Move to the supported API
|
|
134260
|
+
function suggestedHintForWarning(category) {
|
|
134261
|
+
if ('Performance' === category) return 'Inspect the largest startup bundles and split optional code paths.';
|
|
134262
|
+
if ('Deprecation' === category) return 'Move to the supported API or plugin path before the next update.';
|
|
134006
134263
|
if ('Configuration' === category) return 'Review extension and bundler config keys, then remove or rename invalid options.';
|
|
134007
134264
|
if ('Compatibility' === category) return 'Verify browser target and manifest compatibility for this build.';
|
|
134008
|
-
if ('Runtime-risk' === category) return 'Address this
|
|
134009
|
-
return 'Re-run with
|
|
134265
|
+
if ('Runtime-risk' === category) return 'Address this before release; it may fail or degrade at runtime.';
|
|
134266
|
+
return 'Re-run with EXTENSION_VERBOSE=1 to inspect full warning details.';
|
|
134010
134267
|
}
|
|
134011
134268
|
function buildSuccessWithWarnings(warningCount) {
|
|
134012
134269
|
return `${getLoggingPrefix('warn')} Build succeeded with ${warningCount} warning(s). Your extension is ${pintor__rspack_import_2_default().green('ready for deployment')}.`;
|
|
134013
134270
|
}
|
|
134014
134271
|
function buildWarningsDetails(warnings) {
|
|
134015
134272
|
if (!Array.isArray(warnings) || 0 === warnings.length) return '';
|
|
134016
|
-
const
|
|
134273
|
+
const blocks = [];
|
|
134017
134274
|
warnings.forEach((warning, index)=>{
|
|
134018
134275
|
const message = getWarningMessage(warning);
|
|
134019
134276
|
const source = getWarningSource(warning);
|
|
134020
134277
|
const artifact = getWarningArtifact(warning);
|
|
134021
134278
|
const category = classifyWarning(message, source);
|
|
134022
|
-
const
|
|
134023
|
-
if (!message) return void
|
|
134279
|
+
const hint = suggestedHintForWarning(category);
|
|
134280
|
+
if (!message) return void blocks.push(`${getLoggingPrefix('warn')} Warning ${index + 1}: details were suppressed by tool output.\n${formatWarningLabelLine('Source', pintor__rspack_import_2_default().gray(source))}\n${formatWarningLabelLine('Hint', 'Re-run with EXTENSION_VERBOSE=1 to inspect full warning messages.')}`);
|
|
134281
|
+
const performanceWarning = parsePerformanceWarning(warning, source, artifact);
|
|
134282
|
+
if (performanceWarning) return void blocks.push(performanceWarning);
|
|
134024
134283
|
const oneLine = message.replace(/\s+/g, ' ').trim();
|
|
134025
|
-
const artifactSuffix = artifact ? ` (${artifact})` : '';
|
|
134026
|
-
|
|
134284
|
+
const artifactSuffix = artifact ? ` ${pintor__rspack_import_2_default().gray(`(${artifact})`)}` : '';
|
|
134285
|
+
blocks.push(`${getLoggingPrefix('warn')} ${category}: ${oneLine}${artifactSuffix}\n${formatWarningLabelLine('Source', pintor__rspack_import_2_default().gray(source))}\n${formatWarningLabelLine('Hint', hint)}`);
|
|
134027
134286
|
});
|
|
134028
|
-
return
|
|
134287
|
+
return blocks.join('\n\n');
|
|
134029
134288
|
}
|
|
134030
134289
|
function fetchingProjectPath(owner, project) {
|
|
134031
134290
|
return fmt.block('Fetching project', [
|
|
@@ -134127,6 +134386,49 @@ var __webpack_modules__ = {
|
|
|
134127
134386
|
});
|
|
134128
134387
|
return `.\n${printTree(assetTree)}`;
|
|
134129
134388
|
}
|
|
134389
|
+
function formatWarningLabelLine(label, value) {
|
|
134390
|
+
return `${pintor__rspack_import_2_default().gray('│')} ${pintor__rspack_import_2_default().gray(`${label}:`)} ${value}`;
|
|
134391
|
+
}
|
|
134392
|
+
function parsePerformanceWarning(warning, source, _artifact) {
|
|
134393
|
+
const normalized = getWarningBody(warning).replace(/\r/g, '');
|
|
134394
|
+
const lower = normalized.toLowerCase();
|
|
134395
|
+
const threshold = normalized.match(/\(([\d.]+\s(?:KiB|MiB|GiB|KB|MB|GB))\)/)?.[1] || '';
|
|
134396
|
+
if (lower.includes('asset size limit')) return formatPerformanceWarningBlock({
|
|
134397
|
+
title: 'asset size limit exceeded',
|
|
134398
|
+
threshold,
|
|
134399
|
+
impact: 'Large emitted files can increase package size and slow extension startup.',
|
|
134400
|
+
source,
|
|
134401
|
+
hint: 'Inspect the largest startup bundles and split optional code paths.'
|
|
134402
|
+
});
|
|
134403
|
+
if (lower.includes('entrypoint size limit')) return formatPerformanceWarningBlock({
|
|
134404
|
+
title: 'entrypoint size limit exceeded',
|
|
134405
|
+
threshold,
|
|
134406
|
+
impact: 'Startup entrypoints are heavier than recommended.',
|
|
134407
|
+
source,
|
|
134408
|
+
hint: 'Keep startup entrypoints thin and defer non-critical code.'
|
|
134409
|
+
});
|
|
134410
|
+
}
|
|
134411
|
+
function formatPerformanceWarningBlock(options) {
|
|
134412
|
+
const lines = [
|
|
134413
|
+
`${getLoggingPrefix('warn')} Performance: ${options.title}`
|
|
134414
|
+
];
|
|
134415
|
+
if (options.threshold) lines.push(formatWarningLabelLine('Threshold', options.threshold));
|
|
134416
|
+
lines.push(formatWarningLabelLine('Impact', options.impact));
|
|
134417
|
+
lines.push(pintor__rspack_import_2_default().gray('│'));
|
|
134418
|
+
lines.push(formatWarningLabelLine('Source', pintor__rspack_import_2_default().gray(options.source)));
|
|
134419
|
+
lines.push(formatWarningLabelLine('Hint', options.hint));
|
|
134420
|
+
return lines.join('\n');
|
|
134421
|
+
}
|
|
134422
|
+
function getWarningBody(warning) {
|
|
134423
|
+
if (!warning) return '';
|
|
134424
|
+
if ('string' == typeof warning) return warning;
|
|
134425
|
+
return [
|
|
134426
|
+
warning.message,
|
|
134427
|
+
warning.details,
|
|
134428
|
+
warning.reason,
|
|
134429
|
+
warning.description
|
|
134430
|
+
].filter((value)=>'string' == typeof value && value.trim().length > 0).join('\n');
|
|
134431
|
+
}
|
|
134130
134432
|
function isUsingExperimentalConfig(integration) {
|
|
134131
134433
|
return `${getLoggingPrefix('info')} Using ${pintor__rspack_import_2_default().yellow(integration)}.`;
|
|
134132
134434
|
}
|
|
@@ -134174,6 +134476,50 @@ var __webpack_modules__ = {
|
|
|
134174
134476
|
return `${getLoggingPrefix('error')} Your project declares dependencies that are managed by ${pintor__rspack_import_2_default().blue('Extension.js')} and referenced in ${pintor__rspack_import_2_default().underline('extension.config.js')}\n${pintor__rspack_import_2_default().red('This can cause version conflicts and break the development/build process.')}\n\n${pintor__rspack_import_2_default().gray('Managed dependencies (remove these from your package.json):')}\n${list}\n\n${pintor__rspack_import_2_default().gray('PATH')} ${pintor__rspack_import_2_default().underline(userPackageJsonPath)}\nIf you need a different version, open an issue so we can consider bundling it safely.\nOperation aborted.`;
|
|
134175
134477
|
}
|
|
134176
134478
|
},
|
|
134479
|
+
"./webpack/webpack-lib/optional-dependencies.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
134480
|
+
"use strict";
|
|
134481
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
134482
|
+
ad: ()=>resolveOptionalDependencySpecs,
|
|
134483
|
+
oR: ()=>getOptionalDependenciesSignature
|
|
134484
|
+
});
|
|
134485
|
+
var fs__rspack_import_0 = __webpack_require__("fs");
|
|
134486
|
+
var path__rspack_import_1 = __webpack_require__("path");
|
|
134487
|
+
var crypto__rspack_import_2 = __webpack_require__("crypto");
|
|
134488
|
+
function getOptionalDependenciesPath() {
|
|
134489
|
+
const candidates = [
|
|
134490
|
+
path__rspack_import_1.join(__dirname, 'optional-dependencies.json'),
|
|
134491
|
+
path__rspack_import_1.resolve(__dirname, '..', 'webpack', 'webpack-lib', 'optional-dependencies.json')
|
|
134492
|
+
];
|
|
134493
|
+
for (const candidate of candidates)if (fs__rspack_import_0.existsSync(candidate)) return candidate;
|
|
134494
|
+
return candidates[0];
|
|
134495
|
+
}
|
|
134496
|
+
function loadOptionalDependencies() {
|
|
134497
|
+
const metadataPath = getOptionalDependenciesPath();
|
|
134498
|
+
if (!fs__rspack_import_0.existsSync(metadataPath)) throw new Error(`optional-dependencies.json not found at ${metadataPath}. This indicates a corrupted installation.`);
|
|
134499
|
+
try {
|
|
134500
|
+
const content = fs__rspack_import_0.readFileSync(metadataPath, 'utf8');
|
|
134501
|
+
const parsed = JSON.parse(content);
|
|
134502
|
+
if (!parsed || 'object' != typeof parsed || Array.isArray(parsed)) throw new Error('optional-dependencies.json must contain an object');
|
|
134503
|
+
return parsed;
|
|
134504
|
+
} catch (error) {
|
|
134505
|
+
throw new Error(`Failed to load optional-dependencies.json: ${error.message}`);
|
|
134506
|
+
}
|
|
134507
|
+
}
|
|
134508
|
+
function resolveOptionalDependencySpecs(dependencies) {
|
|
134509
|
+
const metadata = loadOptionalDependencies();
|
|
134510
|
+
const missingFromMetadata = dependencies.filter((dep)=>!(dep in metadata));
|
|
134511
|
+
if (missingFromMetadata.length > 0) throw new Error(`Dependencies not found in optional-dependencies.json: ${missingFromMetadata.join(', ')}`);
|
|
134512
|
+
return dependencies.map((dep)=>`${dep}@${metadata[dep]}`);
|
|
134513
|
+
}
|
|
134514
|
+
function getOptionalDependenciesSignature() {
|
|
134515
|
+
const metadata = loadOptionalDependencies();
|
|
134516
|
+
const stable = JSON.stringify(Object.keys(metadata).sort().reduce((acc, key)=>{
|
|
134517
|
+
acc[key] = metadata[key];
|
|
134518
|
+
return acc;
|
|
134519
|
+
}, {}));
|
|
134520
|
+
return (0, crypto__rspack_import_2.createHash)('sha1').update(stable).digest('hex');
|
|
134521
|
+
}
|
|
134522
|
+
},
|
|
134177
134523
|
"./webpack/webpack-lib/optional-deps-resolver.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
|
|
134178
134524
|
"use strict";
|
|
134179
134525
|
__webpack_require__.d(__webpack_exports__, {
|
|
@@ -134187,12 +134533,15 @@ var __webpack_modules__ = {
|
|
|
134187
134533
|
var _plugin_css_css_lib_integrations__rspack_import_3 = __webpack_require__("./webpack/plugin-css/css-lib/integrations.ts");
|
|
134188
134534
|
const installSingleFlight = new Map();
|
|
134189
134535
|
function getResolutionBases(projectPath) {
|
|
134536
|
+
const optionalInstallRoot = (0, _plugin_css_css_lib_integrations__rspack_import_3.Iy)();
|
|
134190
134537
|
const extensionRoot = (0, _plugin_css_css_lib_integrations__rspack_import_3.He)();
|
|
134191
134538
|
const bases = [
|
|
134192
134539
|
projectPath,
|
|
134540
|
+
optionalInstallRoot && fs__rspack_import_0.existsSync(optionalInstallRoot) ? optionalInstallRoot : void 0,
|
|
134193
134541
|
extensionRoot || void 0,
|
|
134194
134542
|
process.cwd()
|
|
134195
134543
|
].filter(Boolean);
|
|
134544
|
+
if (optionalInstallRoot && optionalInstallRoot.includes('.pnpm')) bases.push(path__rspack_import_1.join(optionalInstallRoot, '..', '..'));
|
|
134196
134545
|
if (extensionRoot && extensionRoot.includes('.pnpm')) bases.push(path__rspack_import_1.join(extensionRoot, '..', '..'));
|
|
134197
134546
|
return Array.from(new Set(bases));
|
|
134198
134547
|
}
|
|
@@ -134364,7 +134713,7 @@ var __webpack_modules__ = {
|
|
|
134364
134713
|
}
|
|
134365
134714
|
}
|
|
134366
134715
|
async function ensureInstalledAndVerified(input) {
|
|
134367
|
-
const installRoot = (0, _plugin_css_css_lib_integrations__rspack_import_3.
|
|
134716
|
+
const installRoot = (0, _plugin_css_css_lib_integrations__rspack_import_3.Iy)();
|
|
134368
134717
|
const key = [
|
|
134369
134718
|
installRoot || 'missing-install-root',
|
|
134370
134719
|
...input.installDependencies.slice().sort()
|
|
@@ -134387,7 +134736,7 @@ var __webpack_modules__ = {
|
|
|
134387
134736
|
}
|
|
134388
134737
|
}
|
|
134389
134738
|
function resolveOptionalDependencySync(dependencyId, projectPath) {
|
|
134390
|
-
const installRoot = (0, _plugin_css_css_lib_integrations__rspack_import_3.
|
|
134739
|
+
const installRoot = (0, _plugin_css_css_lib_integrations__rspack_import_3.Iy)();
|
|
134391
134740
|
const resolved = resolveFromKnownLocations(dependencyId, projectPath, installRoot);
|
|
134392
134741
|
if (resolved) return resolved;
|
|
134393
134742
|
const bases = getResolutionBases(projectPath);
|
|
@@ -134398,7 +134747,7 @@ var __webpack_modules__ = {
|
|
|
134398
134747
|
input.dependencyId
|
|
134399
134748
|
];
|
|
134400
134749
|
const verifyPackageIds = input.verifyPackageIds || installDependencies;
|
|
134401
|
-
const installRoot = (0, _plugin_css_css_lib_integrations__rspack_import_3.
|
|
134750
|
+
const installRoot = (0, _plugin_css_css_lib_integrations__rspack_import_3.Iy)();
|
|
134402
134751
|
const resolvedBeforeInstall = resolveFromKnownLocations(input.dependencyId, input.projectPath, installRoot);
|
|
134403
134752
|
const missingBeforeInstall = resolvedBeforeInstall ? getModuleContextMissingDependencies(resolvedBeforeInstall, verifyPackageIds, input.dependencyId, {
|
|
134404
134753
|
integration: input.integration
|
|
@@ -134475,7 +134824,7 @@ var __webpack_modules__ = {
|
|
|
134475
134824
|
integration: input.integration,
|
|
134476
134825
|
dependencyId: input.dependencyId,
|
|
134477
134826
|
projectPath: input.projectPath,
|
|
134478
|
-
installRoot: (0, _plugin_css_css_lib_integrations__rspack_import_3.
|
|
134827
|
+
installRoot: (0, _plugin_css_css_lib_integrations__rspack_import_3.Iy)(),
|
|
134479
134828
|
installDependencies: input.installDependencies || [
|
|
134480
134829
|
input.dependencyId
|
|
134481
134830
|
],
|
|
@@ -134593,7 +134942,7 @@ var __webpack_modules__ = {
|
|
|
134593
134942
|
}
|
|
134594
134943
|
function getPackageManagerOverride() {
|
|
134595
134944
|
const name = normalizePackageManager(process.env.EXTENSION_JS_PACKAGE_MANAGER);
|
|
134596
|
-
const execPath = process.env.EXTENSION_JS_PM_EXEC_PATH;
|
|
134945
|
+
const execPath = process.env.EXTENSION_JS_PM_EXEC_PATH || process.env.npm_execpath || process.env.NPM_EXEC_PATH;
|
|
134597
134946
|
if (!name && !execPath) return;
|
|
134598
134947
|
const inferredName = name || inferPackageManagerFromPath(execPath) || 'npm';
|
|
134599
134948
|
return {
|
|
@@ -134603,19 +134952,23 @@ var __webpack_modules__ = {
|
|
|
134603
134952
|
}
|
|
134604
134953
|
function detectPackageManagerFromEnv() {
|
|
134605
134954
|
const userAgent = process.env.npm_config_user_agent || '';
|
|
134955
|
+
const execPath = process.env.npm_execpath || process.env.NPM_EXEC_PATH || '';
|
|
134606
134956
|
if (userAgent.includes('pnpm')) return {
|
|
134607
|
-
name: 'pnpm'
|
|
134957
|
+
name: 'pnpm',
|
|
134958
|
+
execPath: execPath || void 0
|
|
134608
134959
|
};
|
|
134609
134960
|
if (userAgent.includes('yarn')) return {
|
|
134610
|
-
name: 'yarn'
|
|
134961
|
+
name: 'yarn',
|
|
134962
|
+
execPath: execPath || void 0
|
|
134611
134963
|
};
|
|
134612
134964
|
if (userAgent.includes('bun')) return {
|
|
134613
|
-
name: 'bun'
|
|
134965
|
+
name: 'bun',
|
|
134966
|
+
execPath: execPath || void 0
|
|
134614
134967
|
};
|
|
134615
134968
|
if (userAgent.includes('npm')) return {
|
|
134616
|
-
name: 'npm'
|
|
134969
|
+
name: 'npm',
|
|
134970
|
+
execPath: execPath || void 0
|
|
134617
134971
|
};
|
|
134618
|
-
const execPath = process.env.npm_execpath || process.env.NPM_EXEC_PATH || '';
|
|
134619
134972
|
if (execPath) {
|
|
134620
134973
|
const inferred = inferPackageManagerFromPath(execPath) || 'npm';
|
|
134621
134974
|
return {
|
|
@@ -135106,7 +135459,7 @@ var __webpack_modules__ = {
|
|
|
135106
135459
|
},
|
|
135107
135460
|
"./package.json" (module) {
|
|
135108
135461
|
"use strict";
|
|
135109
|
-
module.exports = JSON.parse('{"rE":"3.
|
|
135462
|
+
module.exports = JSON.parse('{"rE":"3.9.0-canary.231.7b387a7","El":{"@rspack/core":"^1.7.5","@rspack/dev-server":"^1.1.5","@swc/core":"^1.15.8","@swc/helpers":"^0.5.18","adm-zip":"^0.5.16","browser-extension-manifest-fields":"^2.2.1","case-sensitive-paths-webpack-plugin":"^2.4.0","chrome-location2":"4.0.0","chromium-location":"2.0.0","content-security-policy-parser":"^0.6.0","cross-spawn":"^7.0.6","dotenv":"^17.2.3","edge-location":"2.2.0","extension-from-store":"^0.1.1","firefox-location2":"3.0.0","go-git-it":"^5.1.1","ignore":"^7.0.5","loader-utils":"^3.3.1","magic-string":"^0.30.21","parse5":"^8.0.0","parse5-utilities":"^1.0.0","pintor":"0.3.0","schema-utils":"^4.3.3","tiny-glob":"^0.2.9","unique-names-generator":"^4.7.1","webextension-polyfill":"^0.12.0","webpack-merge":"^6.0.1","webpack-target-webextension":"^2.1.3","ws":"^8.19.0"}}');
|
|
135110
135463
|
}
|
|
135111
135464
|
};
|
|
135112
135465
|
var __webpack_module_cache__ = {};
|
|
@@ -135667,6 +136020,7 @@ var __webpack_exports__ = {};
|
|
|
135667
136020
|
var external_pintor_ = __webpack_require__("pintor");
|
|
135668
136021
|
var external_pintor_default = /*#__PURE__*/ __webpack_require__.n(external_pintor_);
|
|
135669
136022
|
var external_crypto_ = __webpack_require__("crypto");
|
|
136023
|
+
var optional_dependencies = __webpack_require__("./webpack/webpack-lib/optional-dependencies.ts");
|
|
135670
136024
|
function getPreflightCacheDir(packageRoot) {
|
|
135671
136025
|
return external_path_.join(packageRoot, '.cache', 'extensionjs', 'preflight');
|
|
135672
136026
|
}
|
|
@@ -135677,12 +136031,12 @@ var __webpack_exports__ = {};
|
|
|
135677
136031
|
return external_path_.join(cacheDir, 'version.json');
|
|
135678
136032
|
}
|
|
135679
136033
|
function getProjectDepsHash(projectPath) {
|
|
135680
|
-
const
|
|
136034
|
+
const optionalDepsSignature = (0, optional_dependencies.oR)();
|
|
135681
136035
|
try {
|
|
135682
136036
|
const packageJsonPath = external_path_.join(projectPath, 'package.json');
|
|
135683
136037
|
if (!external_fs_.existsSync(packageJsonPath)) return (0, external_crypto_.createHash)('sha1').update(JSON.stringify({
|
|
135684
136038
|
packageJson: 'no-package-json',
|
|
135685
|
-
|
|
136039
|
+
optionalDeps: optionalDepsSignature
|
|
135686
136040
|
})).digest('hex');
|
|
135687
136041
|
const raw = external_fs_.readFileSync(packageJsonPath, 'utf8');
|
|
135688
136042
|
const parsed = JSON.parse(raw || '{}');
|
|
@@ -135697,42 +136051,16 @@ var __webpack_exports__ = {};
|
|
|
135697
136051
|
const stable = JSON.stringify({
|
|
135698
136052
|
dependencies: normalize(deps),
|
|
135699
136053
|
devDependencies: normalize(devDeps),
|
|
135700
|
-
|
|
136054
|
+
optionalDeps: optionalDepsSignature
|
|
135701
136055
|
});
|
|
135702
136056
|
return (0, external_crypto_.createHash)('sha1').update(stable).digest('hex');
|
|
135703
136057
|
} catch {
|
|
135704
136058
|
return (0, external_crypto_.createHash)('sha1').update(JSON.stringify({
|
|
135705
136059
|
packageJson: 'invalid-package-json',
|
|
135706
|
-
|
|
136060
|
+
optionalDeps: optionalDepsSignature
|
|
135707
136061
|
})).digest('hex');
|
|
135708
136062
|
}
|
|
135709
136063
|
}
|
|
135710
|
-
function getNearestLockfileSignature(projectPath) {
|
|
135711
|
-
const lockfileNames = [
|
|
135712
|
-
'pnpm-lock.yaml',
|
|
135713
|
-
'package-lock.json',
|
|
135714
|
-
'yarn.lock',
|
|
135715
|
-
'bun.lock',
|
|
135716
|
-
'bun.lockb'
|
|
135717
|
-
];
|
|
135718
|
-
let current = external_path_.resolve(projectPath);
|
|
135719
|
-
while(true){
|
|
135720
|
-
for (const lockfileName of lockfileNames){
|
|
135721
|
-
const lockfilePath = external_path_.join(current, lockfileName);
|
|
135722
|
-
if (external_fs_.existsSync(lockfilePath)) try {
|
|
135723
|
-
const content = external_fs_.readFileSync(lockfilePath);
|
|
135724
|
-
const digest = (0, external_crypto_.createHash)('sha1').update(content).digest('hex');
|
|
135725
|
-
return `${lockfileName}:${digest}`;
|
|
135726
|
-
} catch {
|
|
135727
|
-
return `${lockfileName}:unreadable`;
|
|
135728
|
-
}
|
|
135729
|
-
}
|
|
135730
|
-
const parent = external_path_.dirname(current);
|
|
135731
|
-
if (parent === current) break;
|
|
135732
|
-
current = parent;
|
|
135733
|
-
}
|
|
135734
|
-
return 'none';
|
|
135735
|
-
}
|
|
135736
136064
|
function ensureCacheVersion(cacheDir) {
|
|
135737
136065
|
const versionPath = getCacheVersionPath(cacheDir);
|
|
135738
136066
|
const expectedVersion = package_0.rE;
|
|
@@ -135820,12 +136148,15 @@ var __webpack_exports__ = {};
|
|
|
135820
136148
|
var postcss = __webpack_require__("./webpack/plugin-css/css-tools/postcss.ts");
|
|
135821
136149
|
var js_frameworks_lib_messages = __webpack_require__("./webpack/plugin-js-frameworks/js-frameworks-lib/messages.ts");
|
|
135822
136150
|
function getResolutionPaths(projectPath) {
|
|
136151
|
+
const optionalInstallRoot = (0, integrations.Iy)();
|
|
135823
136152
|
const extensionRoot = (0, integrations.He)();
|
|
135824
136153
|
const paths = [
|
|
135825
136154
|
projectPath || void 0,
|
|
136155
|
+
optionalInstallRoot && external_fs_.existsSync(optionalInstallRoot) ? optionalInstallRoot : void 0,
|
|
135826
136156
|
extensionRoot || void 0,
|
|
135827
136157
|
process.cwd()
|
|
135828
136158
|
].filter(Boolean);
|
|
136159
|
+
if (optionalInstallRoot && optionalInstallRoot.includes('.pnpm')) paths.push(external_path_.join(optionalInstallRoot, '..', '..'));
|
|
135829
136160
|
if (extensionRoot && extensionRoot.includes('.pnpm')) paths.push(external_path_.join(extensionRoot, '..', '..'));
|
|
135830
136161
|
return Array.from(new Set(paths));
|
|
135831
136162
|
}
|
|
@@ -136008,7 +136339,7 @@ var __webpack_exports__ = {};
|
|
|
136008
136339
|
__webpack_require__.e("552").then(__webpack_require__.bind(__webpack_require__, "./webpack/webpack-lib/stats-handler.ts")),
|
|
136009
136340
|
Promise.all([
|
|
136010
136341
|
__webpack_require__.e("215"),
|
|
136011
|
-
__webpack_require__.e("
|
|
136342
|
+
__webpack_require__.e("270")
|
|
136012
136343
|
]).then(__webpack_require__.bind(__webpack_require__, "./webpack/webpack-config.ts"))
|
|
136013
136344
|
]);
|
|
136014
136345
|
const debug = isAuthor;
|
|
@@ -136045,6 +136376,7 @@ var __webpack_exports__ = {};
|
|
|
136045
136376
|
plugins: allPluginsButBrowserRunners
|
|
136046
136377
|
});
|
|
136047
136378
|
const compilerConfig = merge(userConfig);
|
|
136379
|
+
compilerConfig.stats = false;
|
|
136048
136380
|
const compiler = rspack(compilerConfig);
|
|
136049
136381
|
let summary = {
|
|
136050
136382
|
browser,
|
|
@@ -136152,8 +136484,8 @@ var __webpack_exports__ = {};
|
|
|
136152
136484
|
if ('true' === process.env.EXTENSION_DEV_DRY_RUN) return;
|
|
136153
136485
|
const { devServer } = await Promise.all([
|
|
136154
136486
|
__webpack_require__.e("215"),
|
|
136155
|
-
__webpack_require__.e("
|
|
136156
|
-
__webpack_require__.e("
|
|
136487
|
+
__webpack_require__.e("270"),
|
|
136488
|
+
__webpack_require__.e("324")
|
|
136157
136489
|
]).then(__webpack_require__.bind(__webpack_require__, "./webpack/dev-server/index.ts"));
|
|
136158
136490
|
await devServer(projectStructure, {
|
|
136159
136491
|
...devOptions,
|
|
@@ -136280,7 +136612,9 @@ var __webpack_exports__ = {};
|
|
|
136280
136612
|
await (0, banner.M)({
|
|
136281
136613
|
browser: opts.browser,
|
|
136282
136614
|
outPath: opts.outPath,
|
|
136283
|
-
includeExtensionId:
|
|
136615
|
+
includeExtensionId: true,
|
|
136616
|
+
includeRunId: false,
|
|
136617
|
+
readyPath: opts.readyPath
|
|
136284
136618
|
});
|
|
136285
136619
|
return;
|
|
136286
136620
|
}
|
|
@@ -136299,10 +136633,18 @@ var __webpack_exports__ = {};
|
|
|
136299
136633
|
geckoBinary: opts.geckoBinary,
|
|
136300
136634
|
port: opts.port
|
|
136301
136635
|
});
|
|
136636
|
+
await (0, banner.M)({
|
|
136637
|
+
browser: opts.browser,
|
|
136638
|
+
outPath: opts.outPath,
|
|
136639
|
+
includeExtensionId: true,
|
|
136640
|
+
includeRunId: false,
|
|
136641
|
+
readyPath: opts.readyPath
|
|
136642
|
+
});
|
|
136302
136643
|
return;
|
|
136303
136644
|
}
|
|
136304
136645
|
throw new Error(`Unsupported browser: ${String(opts.browser)}`);
|
|
136305
136646
|
}
|
|
136647
|
+
var dev_server_messages = __webpack_require__("./webpack/dev-server/messages.ts");
|
|
136306
136648
|
async function extensionPreview(pathOrRemoteUrl, previewOptions) {
|
|
136307
136649
|
const projectStructure = await getProjectStructure(pathOrRemoteUrl);
|
|
136308
136650
|
const debug = 'true' === process.env.EXTENSION_AUTHOR_MODE;
|
|
@@ -136337,6 +136679,14 @@ var __webpack_exports__ = {};
|
|
|
136337
136679
|
if (previewOptions.noBrowser) {
|
|
136338
136680
|
console.log(messages.k4(browser));
|
|
136339
136681
|
metadata.writeReady();
|
|
136682
|
+
console.log(dev_server_messages.tl());
|
|
136683
|
+
const browserLabel = String(browser || 'unknown');
|
|
136684
|
+
console.log(dev_server_messages.bL({
|
|
136685
|
+
browser: browserLabel,
|
|
136686
|
+
manifestPath: projectStructure.manifestPath,
|
|
136687
|
+
readyPath: metadata.readyPath,
|
|
136688
|
+
browserModeLabel: `${browserLabel.charAt(0).toUpperCase() + browserLabel.slice(1)} (no-browser mode)`
|
|
136689
|
+
}));
|
|
136340
136690
|
return;
|
|
136341
136691
|
}
|
|
136342
136692
|
const safeBrowserConfig = (0, sanitize.a)(browserConfig);
|
|
@@ -136373,6 +136723,7 @@ var __webpack_exports__ = {};
|
|
|
136373
136723
|
browser,
|
|
136374
136724
|
outPath: outputPath,
|
|
136375
136725
|
contextDir: packageJsonDir,
|
|
136726
|
+
readyPath: metadata.readyPath,
|
|
136376
136727
|
extensionsToLoad: unpackedExtensionDirsToLoad,
|
|
136377
136728
|
noOpen: merged.noOpen,
|
|
136378
136729
|
profile: merged.profile,
|