extension-develop 4.1.37-canary.1793373732.ae7dce44 → 4.1.37

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/469~0.mjs CHANGED
@@ -355,8 +355,8 @@ function buildComplete(browser, distDisplayPath, totalBytes, mode) {
355
355
  return `${getLoggingPrefix('success')} ${noun} ${builtFor} ${pintor.underline(distDisplayPath)}${size}.`;
356
356
  }
357
357
  function buildToolchain(toolchain) {
358
- const packageManager = toolchain.package_manager ? ` and ${toolchain.package_manager.name} ${toolchain.package_manager.version}` : '';
359
- return `${getLoggingPrefix('info')} Built with Node ${toolchain.node}${packageManager}. A reviewer note that names them lets a rebuild match this one.`;
358
+ const packageManager = toolchain.package_manager ? `, ${toolchain.package_manager.name} ${toolchain.package_manager.version}` : '';
359
+ return `${getLoggingPrefix('info')} Built with Node ${toolchain.node}${packageManager} and Extension.js ${toolchain.extension_js}. Name these versions in the store's reviewer note so a reviewer can rebuild it and match these bytes.`;
360
360
  }
361
361
  function operaBuildUnminified() {
362
362
  return `${getLoggingPrefix('info')} Opera Add-ons reviews readable source, so this build does not minify first-party code. Pass ${pintor.blue('--minify')} to minify it anyway.`;
@@ -1230,12 +1230,18 @@ function resolveProjectStructureSync(projectPath, options = {}) {
1230
1230
  }
1231
1231
  return null;
1232
1232
  };
1233
- const foundManifest = findManifest(projectPath, 0) || findLoneExtensionUnderCompanionDir(projectPath) || findManifest(projectPath, 0, new Set([
1233
+ const inSourceFolders = collectManifestCandidates(projectPath, MAX_DEPTH);
1234
+ const candidates = inSourceFolders.length > 0 ? inSourceFolders : [
1235
+ findLoneExtensionUnderCompanionDir(projectPath)
1236
+ ].filter((candidate)=>Boolean(candidate));
1237
+ const foundManifest = 1 === candidates.length ? candidates[0] : 0 === candidates.length ? findManifest(projectPath, 0, new Set([
1234
1238
  ...ALWAYS_SKIPPED_DIRS,
1235
1239
  COMPANION_EXTENSIONS_DIR
1236
- ]));
1237
- if (foundManifest) manifestPath = foundManifest;
1238
- else throw missingManifestError();
1240
+ ])) : null;
1241
+ if (foundManifest) {
1242
+ manifestPath = foundManifest;
1243
+ log(resolvedWorkspaceManifest(projectPath, manifestPath));
1244
+ } else throw missingManifestError(candidates.map((candidate)=>__rspack_external_node_path_806ed179.relative(projectPath, candidate) || candidate));
1239
1245
  }
1240
1246
  }
1241
1247
  const readManifestObject = (candidatePath)=>{
package/dist/832~0.mjs CHANGED
@@ -178,7 +178,7 @@ function runnerUncaughtException(error) {
178
178
  function runnerUnhandledRejection(reason) {
179
179
  return `${messaging_prefix('error')} Unhandled rejection in the dev server: ${String(reason?.message || reason)}`;
180
180
  }
181
- var package_namespaceObject = /*#__PURE__*/ JSON.parse('{"rE":"4.1.37-canary.1793373732.ae7dce44","El":{"@babel/core":"7.29.7","@babel/preset-typescript":"7.29.7","@prefresh/core":"1.5.9","@prefresh/utils":"1.2.1","@rspack/core":"2.2.3","@rspack/dev-server":"2.1.0","@rspack/plugin-preact-refresh":"2.0.1","@rspack/plugin-react-refresh":"2.0.2","@vue/compiler-sfc":"3.5.43","acorn":"^8.16.0","babel-loader":"10.1.1","babel-preset-solid":"1.9.15","browser-extension-manifest-fields":"^3.0.2","case-sensitive-paths-webpack-plugin":"^2.4.0","content-security-policy-parser":"^0.6.0","cross-spawn":"^7.0.6","dotenv":"^18.0.0","es-module-lexer":"^3.0.2","extension-from-store":"^0.2.5","fflate":"^0.8.3","go-git-it":"^5.1.5","ignore":"^7.0.5","less":"4.9.1","less-loader":"13.0.0","parse5-utilities":"^1.0.0","pintor":"0.3.0","postcss":"8.5.23","postcss-loader":"8.2.1","postcss-preset-env":"11.1.1","postcss-scss":"4.0.9","preact":"11.0.0","prefers-yarn":"2.0.1","react-refresh":"0.18.0","sass-loader":"17.0.0","schema-utils":"^4.3.3","svelte-loader":"3.2.4","tiny-glob":"^0.2.9","vue":"3.5.43","vue-loader":"17.4.2","webextension-polyfill":"^0.12.0","webpack-merge":"^6.0.1","webpack-target-webextension":"^2.1.3","ws":"^8.20.1"}}');
181
+ var package_namespaceObject = /*#__PURE__*/ JSON.parse('{"rE":"4.1.37","El":{"@babel/core":"7.29.7","@babel/preset-typescript":"7.29.7","@prefresh/core":"1.5.9","@prefresh/utils":"1.2.1","@rspack/core":"2.2.3","@rspack/dev-server":"2.1.0","@rspack/plugin-preact-refresh":"2.0.1","@rspack/plugin-react-refresh":"2.0.2","@vue/compiler-sfc":"3.5.43","acorn":"^8.16.0","babel-loader":"10.1.1","babel-preset-solid":"1.9.15","browser-extension-manifest-fields":"^3.0.2","case-sensitive-paths-webpack-plugin":"^2.4.0","content-security-policy-parser":"^0.6.0","cross-spawn":"^7.0.6","dotenv":"^18.0.0","es-module-lexer":"^3.0.2","extension-from-store":"^0.2.5","fflate":"^0.8.3","go-git-it":"^5.1.5","ignore":"^7.0.5","less":"4.9.1","less-loader":"13.0.0","parse5-utilities":"^1.0.0","pintor":"0.3.0","postcss":"8.5.23","postcss-loader":"8.2.1","postcss-preset-env":"11.1.1","postcss-scss":"4.0.9","preact":"11.0.0","prefers-yarn":"2.0.1","react-refresh":"0.18.0","sass-loader":"17.0.0","schema-utils":"^4.3.3","svelte-loader":"3.2.4","tiny-glob":"^0.2.9","vue":"3.5.43","vue-loader":"17.4.2","webextension-polyfill":"^0.12.0","webpack-merge":"^6.0.1","webpack-target-webextension":"^2.1.3","ws":"^8.20.1"}}');
182
182
  const CONTROL_PORT_ASSET_NAME = 'extension-js-control.json';
183
183
  const BRIDGE_PRODUCER_SOURCE = `;(function () {
184
184
  try {
package/dist/840~0.mjs CHANGED
@@ -2320,10 +2320,12 @@ function getBuildToolchain(env = process.env, nodeVersion = process.version) {
2320
2320
  const agent = String(env.npm_config_user_agent || '').trim();
2321
2321
  const head = USER_AGENT_HEAD.exec(agent);
2322
2322
  if (!head || '?' === head[2]) return {
2323
- node: nodeVersion
2323
+ node: nodeVersion,
2324
+ extension_js: package_namespaceObject.rE
2324
2325
  };
2325
2326
  return {
2326
2327
  node: nodeVersion,
2328
+ extension_js: package_namespaceObject.rE,
2327
2329
  package_manager: {
2328
2330
  name: head[1].toLowerCase(),
2329
2331
  version: head[2]
@@ -1,4 +1,4 @@
1
1
  {
2
- "pipeline": "7d42c416e461702c4b4d352c9e8e27980481c904d00d31fb7398271fb68028e5",
3
- "builtAt": "2026-10-30T15:39:13.498Z"
2
+ "pipeline": "a6da97322105e7d2bb45cc5cf663b39c4d5fdc1a9853b27a730981ee39f9ca71",
3
+ "builtAt": "2026-10-31T02:37:25.060Z"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
- "pipeline": "7d42c416e461702c4b4d352c9e8e27980481c904d00d31fb7398271fb68028e5",
3
- "builtAt": "2026-10-30T15:39:17.177Z"
2
+ "pipeline": "a6da97322105e7d2bb45cc5cf663b39c4d5fdc1a9853b27a730981ee39f9ca71",
3
+ "builtAt": "2026-10-31T02:37:28.703Z"
4
4
  }
@@ -1,5 +1,6 @@
1
1
  export interface BuildToolchain {
2
2
  node: string;
3
+ extension_js: string;
3
4
  package_manager?: {
4
5
  name: string;
5
6
  version: string;
@@ -1,4 +1,4 @@
1
- export declare const ASSET_CATEGORIES: readonly ['content-script', 'service-worker', 'page', 'shared', 'public', 'runtime', 'ignored'];
1
+ export declare const ASSET_CATEGORIES: readonly ['content-script', 'service-worker', 'page', 'shared', 'public', 'runtime', 'wasm', 'ignored'];
2
2
  export type AssetCategory = (typeof ASSET_CATEGORIES)[number];
3
3
  export declare function categorizeAsset(rawName: string, info?: {
4
4
  copied?: boolean;
@@ -3594,7 +3594,8 @@ function categorizeAsset(rawName, info) {
3594
3594
  const surface = classifyEntrySurface(name);
3595
3595
  if ('background' === surface || isServiceWorkerFile(name)) return 'service-worker';
3596
3596
  if ("content_script" === surface || "script" === surface) return "content-script";
3597
- if (!name.includes('/') || /\.wasm$/i.test(name)) return 'runtime';
3597
+ if (/\.wasm$/i.test(name)) return 'wasm';
3598
+ if (!name.includes('/')) return 'runtime';
3598
3599
  return 'page';
3599
3600
  }
3600
3601
  const BUDGET_BYTES = {
@@ -3604,6 +3605,7 @@ const BUDGET_BYTES = {
3604
3605
  shared: 524288,
3605
3606
  public: 1048576,
3606
3607
  runtime: 1048576,
3608
+ wasm: 33554432,
3607
3609
  ignored: 1 / 0
3608
3610
  };
3609
3611
  function fmtKiB(bytes) {
@@ -3619,11 +3621,14 @@ function perfBudgetWarning(assets) {
3619
3621
  return ` ${a.name}\n size: ${fmtKiB(a.size)}\n budget: ${fmtKiB(a.budget)} (over by ${over}%)\n role: ${categoryRole(a.category)}`;
3620
3622
  });
3621
3623
  const remediation = [
3622
- ...assets.some((a)=>'public' !== a.category) ? [
3624
+ ...assets.some((a)=>'public' !== a.category && 'wasm' !== a.category) ? [
3623
3625
  "Lazy-load with dynamic import(), code-split per route, or replace large SDKs with thin fetch wrappers.\nSee https://rspack.rs/guide/optimization/code-splitting"
3624
3626
  ] : [],
3625
3627
  ...assets.some((a)=>'public' === a.category) ? [
3626
3628
  "A public/ file ships as authored: minify or trim it at its source, or fetch it on demand instead of shipping it in the package."
3629
+ ] : [],
3630
+ ...assets.some((a)=>'wasm' === a.category) ? [
3631
+ "A .wasm runtime cannot be code-split: pick a smaller build of the library when it offers one (no threads, no SIMD), fetch it from your own server on demand, or raise perfBudgets.wasm in extension.config.js when this size is intended."
3627
3632
  ] : []
3628
3633
  ].join('\n');
3629
3634
  return `${header}\n\n${lines.join('\n')}\n\n${remediation}`;
@@ -3642,6 +3647,8 @@ function categoryRole(c) {
3642
3647
  return 'copied public file, shipped as authored';
3643
3648
  case 'runtime':
3644
3649
  return 'runtime payload, shipped at the output root';
3650
+ case 'wasm':
3651
+ return 'WebAssembly runtime, fetched when its feature runs';
3645
3652
  default:
3646
3653
  return 'asset';
3647
3654
  }
package/package.json CHANGED
@@ -48,7 +48,7 @@
48
48
  "runtime"
49
49
  ],
50
50
  "name": "extension-develop",
51
- "version": "4.1.37-canary.1793373732.ae7dce44",
51
+ "version": "4.1.37",
52
52
  "description": "Develop, build, preview, and package Extension.js projects.",
53
53
  "author": {
54
54
  "name": "Cezar Augusto",