extension-develop 3.5.0-next.26 → 3.5.0-next.27

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/547.cjs CHANGED
@@ -1664,11 +1664,17 @@ exports.modules = {
1664
1664
  return unix;
1665
1665
  }
1666
1666
  function webAccessibleResources(manifest) {
1667
- return manifest.web_accessible_resources && manifest.web_accessible_resources.length && {
1668
- web_accessible_resources: Array.isArray(manifest.web_accessible_resources) && 'string' == typeof manifest.web_accessible_resources[0] ? manifest.web_accessible_resources.map((resource)=>getFilename(normalizeOutputPath(resource), resource)) : manifest.web_accessible_resources.map((entry)=>({
1669
- ...entry,
1670
- resources: entry.resources.map((res)=>getFilename(normalizeOutputPath(res), res))
1671
- }))
1667
+ if (!manifest.web_accessible_resources || !manifest.web_accessible_resources.length) return;
1668
+ if (Array.isArray(manifest.web_accessible_resources) && 'string' == typeof manifest.web_accessible_resources[0]) return {
1669
+ web_accessible_resources: manifest.web_accessible_resources.map((resource)=>getFilename(normalizeOutputPath(resource), resource))
1670
+ };
1671
+ const v3 = manifest.web_accessible_resources.filter((entry)=>Array.isArray(entry.resources)).map((entry)=>({
1672
+ ...entry,
1673
+ resources: (entry.resources || []).map((res)=>getFilename(normalizeOutputPath(res), res))
1674
+ }));
1675
+ if (0 === v3.length) return;
1676
+ return {
1677
+ web_accessible_resources: v3
1672
1678
  };
1673
1679
  }
1674
1680
  function contentSecurityPolicy(manifest) {
@@ -6382,6 +6388,7 @@ Set background.noDynamicEntryWarning to true to disable this warning.
6382
6388
  else war.forEach((group)=>{
6383
6389
  const matches = group.matches || [];
6384
6390
  validateMatchesOrReport(compilation, matches, browser);
6391
+ if (!Array.isArray(group.resources)) return;
6385
6392
  group.resources.forEach((res)=>handleOne(matches, res));
6386
6393
  });
6387
6394
  return {
package/dist/module.cjs CHANGED
@@ -129742,6 +129742,11 @@ var __webpack_modules__ = {
129742
129742
  'browser.formfill.enable': false,
129743
129743
  'browser.link.open_newwindow': 3,
129744
129744
  'browser.sessionstore.enabled': false,
129745
+ 'browser.sessionstore.resume_from_crash': false,
129746
+ 'browser.sessionstore.max_resumed_crashes': 0,
129747
+ 'browser.sessionstore.restore_on_demand': false,
129748
+ 'browser.sessionstore.resume_session_once': false,
129749
+ 'toolkit.startup.max_resumed_crashes': -1,
129745
129750
  'browser.shell.checkDefaultBrowser': false,
129746
129751
  'browser.sync.enabled': false,
129747
129752
  'browser.startup.page': 0,
@@ -129947,6 +129952,12 @@ var __webpack_modules__ = {
129947
129952
  const child = (0, external_child_process_.spawn)(bin, args, {
129948
129953
  stdio,
129949
129954
  detached: false,
129955
+ env: {
129956
+ ...process.env,
129957
+ MOZ_DISABLE_AUTO_SAFE_MODE: '1',
129958
+ MOZ_CRASHREPORTER_DISABLE: '1',
129959
+ MOZ_CRASHREPORTER: '0'
129960
+ },
129950
129961
  ...'win32' === process.platform ? {
129951
129962
  windowsHide: true
129952
129963
  } : {}
@@ -132290,6 +132301,7 @@ var __webpack_modules__ = {
132290
132301
  });
132291
132302
  var path__rspack_import_0 = __webpack_require__("path");
132292
132303
  var fs__rspack_import_1 = __webpack_require__("fs");
132304
+ var module__rspack_import_2 = __webpack_require__("module");
132293
132305
  function findExtensionDevelopRoot() {
132294
132306
  const webpackLibDir = __dirname;
132295
132307
  const webpackDir = path__rspack_import_0.resolve(webpackLibDir, '..');
@@ -132311,9 +132323,20 @@ var __webpack_modules__ = {
132311
132323
  throw new Error(`Failed to load build-dependencies.json: ${error.message}`);
132312
132324
  }
132313
132325
  }
132326
+ const require1 = (0, module__rspack_import_2.createRequire)(__rslib_import_meta_url__);
132314
132327
  function isDependencyInstalled(dependency, packageRoot) {
132315
132328
  const nodeModulesPath = path__rspack_import_0.join(packageRoot, 'node_modules', dependency);
132316
- return fs__rspack_import_1.existsSync(nodeModulesPath);
132329
+ if (fs__rspack_import_1.existsSync(nodeModulesPath)) return true;
132330
+ try {
132331
+ require1.resolve(dependency, {
132332
+ paths: [
132333
+ packageRoot
132334
+ ]
132335
+ });
132336
+ return true;
132337
+ } catch {
132338
+ return false;
132339
+ }
132317
132340
  }
132318
132341
  function areBuildDependenciesInstalled(packageRoot) {
132319
132342
  const dependencies = loadBuildDependencies();
@@ -132694,6 +132717,126 @@ var __webpack_modules__ = {
132694
132717
  return list;
132695
132718
  }
132696
132719
  },
132720
+ "./webpack/webpack-lib/install-cache.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
132721
+ "use strict";
132722
+ __webpack_require__.d(__webpack_exports__, {
132723
+ Q: ()=>hasInstallMarker,
132724
+ h: ()=>writeInstallMarker
132725
+ });
132726
+ var path__rspack_import_0 = __webpack_require__("path");
132727
+ var fs__rspack_import_1 = __webpack_require__("fs");
132728
+ var crypto__rspack_import_2 = __webpack_require__("crypto");
132729
+ var _package_json__rspack_import_3 = __webpack_require__("./package.json");
132730
+ var _plugin_css_css_lib_integrations__rspack_import_4 = __webpack_require__("./webpack/plugin-css/css-lib/integrations.ts");
132731
+ function getInstallCacheDir(packageRoot) {
132732
+ return path__rspack_import_0.join(packageRoot, '.cache', 'extensionjs', 'install');
132733
+ }
132734
+ function getProjectKey(projectPath) {
132735
+ return (0, crypto__rspack_import_2.createHash)('sha1').update(path__rspack_import_0.resolve(projectPath)).digest('hex');
132736
+ }
132737
+ function getCacheVersionPath(cacheDir) {
132738
+ return path__rspack_import_0.join(cacheDir, 'version.json');
132739
+ }
132740
+ function getProjectDepsHash(projectPath) {
132741
+ try {
132742
+ const packageJsonPath = path__rspack_import_0.join(projectPath, 'package.json');
132743
+ if (!fs__rspack_import_1.existsSync(packageJsonPath)) return 'no-package-json';
132744
+ const raw = fs__rspack_import_1.readFileSync(packageJsonPath, 'utf8');
132745
+ const parsed = JSON.parse(raw || '{}');
132746
+ const deps = parsed?.dependencies || {};
132747
+ const devDeps = parsed?.devDependencies || {};
132748
+ const normalize = (input)=>{
132749
+ const sortedKeys = Object.keys(input).sort();
132750
+ const normalized = {};
132751
+ for (const key of sortedKeys)normalized[key] = input[key];
132752
+ return normalized;
132753
+ };
132754
+ const stable = JSON.stringify({
132755
+ dependencies: normalize(deps),
132756
+ devDependencies: normalize(devDeps)
132757
+ });
132758
+ return (0, crypto__rspack_import_2.createHash)('sha1').update(stable).digest('hex');
132759
+ } catch {
132760
+ return 'invalid-package-json';
132761
+ }
132762
+ }
132763
+ function ensureCacheVersion(cacheDir) {
132764
+ const versionPath = getCacheVersionPath(cacheDir);
132765
+ const expectedVersion = _package_json__rspack_import_3.rE;
132766
+ try {
132767
+ if (!fs__rspack_import_1.existsSync(versionPath)) return true;
132768
+ const raw = fs__rspack_import_1.readFileSync(versionPath, 'utf8');
132769
+ const data = JSON.parse(raw || '{}');
132770
+ if (data?.version !== expectedVersion) {
132771
+ fs__rspack_import_1.rmSync(cacheDir, {
132772
+ recursive: true,
132773
+ force: true
132774
+ });
132775
+ return false;
132776
+ }
132777
+ return true;
132778
+ } catch {
132779
+ try {
132780
+ fs__rspack_import_1.rmSync(cacheDir, {
132781
+ recursive: true,
132782
+ force: true
132783
+ });
132784
+ } catch {}
132785
+ return false;
132786
+ }
132787
+ }
132788
+ function getInstallMarkerPath(projectPath) {
132789
+ const packageRoot = (0, _plugin_css_css_lib_integrations__rspack_import_4.He)();
132790
+ if (!packageRoot) return;
132791
+ const cacheDir = getInstallCacheDir(packageRoot);
132792
+ return path__rspack_import_0.join(cacheDir, `${getProjectKey(projectPath)}.json`);
132793
+ }
132794
+ function hasInstallMarker(projectPath) {
132795
+ const marker = getInstallMarkerPath(projectPath);
132796
+ if (!marker) return false;
132797
+ const cacheDir = path__rspack_import_0.dirname(marker);
132798
+ if (!ensureCacheVersion(cacheDir)) return false;
132799
+ if (!fs__rspack_import_1.existsSync(marker)) return false;
132800
+ try {
132801
+ const raw = fs__rspack_import_1.readFileSync(marker, 'utf8');
132802
+ const data = JSON.parse(raw || '{}');
132803
+ const depsHash = getProjectDepsHash(projectPath);
132804
+ if (data?.depsHash !== depsHash) {
132805
+ fs__rspack_import_1.rmSync(marker, {
132806
+ force: true
132807
+ });
132808
+ return false;
132809
+ }
132810
+ return true;
132811
+ } catch {
132812
+ try {
132813
+ fs__rspack_import_1.rmSync(marker, {
132814
+ force: true
132815
+ });
132816
+ } catch {}
132817
+ return false;
132818
+ }
132819
+ }
132820
+ function writeInstallMarker(projectPath) {
132821
+ const marker = getInstallMarkerPath(projectPath);
132822
+ if (!marker) return;
132823
+ const cacheDir = path__rspack_import_0.dirname(marker);
132824
+ try {
132825
+ fs__rspack_import_1.mkdirSync(cacheDir, {
132826
+ recursive: true
132827
+ });
132828
+ fs__rspack_import_1.writeFileSync(getCacheVersionPath(cacheDir), JSON.stringify({
132829
+ version: _package_json__rspack_import_3.rE
132830
+ }));
132831
+ fs__rspack_import_1.writeFileSync(marker, JSON.stringify({
132832
+ projectPath: path__rspack_import_0.resolve(projectPath),
132833
+ depsHash: getProjectDepsHash(projectPath),
132834
+ version: _package_json__rspack_import_3.rE,
132835
+ ts: Date.now()
132836
+ }));
132837
+ } catch {}
132838
+ }
132839
+ },
132697
132840
  "./webpack/webpack-lib/messages.ts" (__unused_rspack_module, __webpack_exports__, __webpack_require__) {
132698
132841
  "use strict";
132699
132842
  __webpack_require__.d(__webpack_exports__, {
@@ -133284,6 +133427,7 @@ var __webpack_modules__ = {
133284
133427
  });
133285
133428
  var fs__rspack_import_0 = __webpack_require__("fs");
133286
133429
  var path__rspack_import_1 = __webpack_require__("path");
133430
+ var _install_cache__rspack_import_2 = __webpack_require__("./webpack/webpack-lib/install-cache.ts");
133287
133431
  function asAbsolute(p) {
133288
133432
  return path__rspack_import_1.isAbsolute(p) ? p : path__rspack_import_1.resolve(p);
133289
133433
  }
@@ -133301,6 +133445,25 @@ var __webpack_modules__ = {
133301
133445
  function needsInstall(packageJsonDir) {
133302
133446
  const nm = getNodeModulesDir(packageJsonDir);
133303
133447
  try {
133448
+ const packageJsonPath = path__rspack_import_1.join(packageJsonDir, 'package.json');
133449
+ if (fs__rspack_import_0.existsSync(packageJsonPath)) {
133450
+ const raw = fs__rspack_import_0.readFileSync(packageJsonPath, 'utf-8');
133451
+ const packageJson = JSON.parse(raw);
133452
+ const depsCount = Object.keys(packageJson?.dependencies || {}).length;
133453
+ const devDepsCount = Object.keys(packageJson?.devDependencies || {}).length;
133454
+ if (depsCount + devDepsCount === 0) return false;
133455
+ if ((0, _install_cache__rspack_import_2.Q)(packageJsonDir)) return false;
133456
+ if (!fs__rspack_import_0.existsSync(nm)) return true;
133457
+ const deps = Object.keys(packageJson?.dependencies || {});
133458
+ const devDeps = Object.keys(packageJson?.devDependencies || {});
133459
+ if (fs__rspack_import_0.existsSync(path__rspack_import_1.join(nm, '.pnpm'))) return false;
133460
+ if (fs__rspack_import_0.existsSync(path__rspack_import_1.join(nm, '.modules.yaml'))) return false;
133461
+ const hasInstalledDep = [
133462
+ ...deps,
133463
+ ...devDeps
133464
+ ].some((dep)=>fs__rspack_import_0.existsSync(path__rspack_import_1.join(nm, dep)));
133465
+ return !hasInstalledDep;
133466
+ }
133304
133467
  return !fs__rspack_import_0.existsSync(nm) || 0 === fs__rspack_import_0.readdirSync(nm).length;
133305
133468
  } catch {
133306
133469
  return true;
@@ -133553,7 +133716,7 @@ var __webpack_modules__ = {
133553
133716
  },
133554
133717
  "./package.json" (module) {
133555
133718
  "use strict";
133556
- module.exports = JSON.parse('{"rE":"3.5.0-next.26","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","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"}}');
133719
+ module.exports = JSON.parse('{"rE":"3.5.0-next.27","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","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"}}');
133557
133720
  }
133558
133721
  };
133559
133722
  var __webpack_module_cache__ = {};
@@ -133927,14 +134090,28 @@ var __webpack_exports__ = {};
133927
134090
  process.chdir(originalDirectory);
133928
134091
  }
133929
134092
  }
134093
+ var install_cache = __webpack_require__("./webpack/webpack-lib/install-cache.ts");
133930
134094
  function install_dependencies_getInstallArgs() {
133931
134095
  return [
133932
134096
  'install'
133933
134097
  ];
133934
134098
  }
134099
+ async function hasDependenciesToInstall(projectPath) {
134100
+ try {
134101
+ const raw = await external_fs_.promises.readFile(external_path_.join(projectPath, 'package.json'), 'utf8');
134102
+ const packageJson = JSON.parse(raw);
134103
+ const depsCount = Object.keys(packageJson?.dependencies || {}).length;
134104
+ const devDepsCount = Object.keys(packageJson?.devDependencies || {}).length;
134105
+ return depsCount + devDepsCount > 0;
134106
+ } catch (error) {
134107
+ return true;
134108
+ }
134109
+ }
133935
134110
  async function installDependencies(projectPath) {
133936
134111
  const nodeModulesPath = external_path_.join(projectPath, 'node_modules');
133937
134112
  const originalDirectory = process.cwd();
134113
+ const shouldInstall = await hasDependenciesToInstall(projectPath);
134114
+ if (!shouldInstall) return;
133938
134115
  const progressLabel = messages.Vy();
133939
134116
  try {
133940
134117
  process.chdir(projectPath);
@@ -133965,6 +134142,7 @@ var __webpack_exports__ = {};
133965
134142
  cwd: projectPath,
133966
134143
  stdio
133967
134144
  });
134145
+ (0, install_cache.h)(projectPath);
133968
134146
  } finally{
133969
134147
  progress.stop();
133970
134148
  }
@@ -133986,7 +134164,7 @@ var __webpack_exports__ = {};
133986
134164
  installedBuild: false,
133987
134165
  installedUser: false
133988
134166
  };
133989
- console.log(messages.G2());
134167
+ if (needsBuildInstall) console.log(messages.G2());
133990
134168
  if (needsBuildInstall && packageRoot) await installOwnDependencies(missingBuild, packageRoot);
133991
134169
  if (needsUserInstall && projectPath) await installDependencies(projectPath);
133992
134170
  if (opts?.showRunAgainMessage !== false) console.log(messages.Z0());
@@ -134432,6 +134610,7 @@ var __webpack_exports__ = {};
134432
134610
  console.log(messages.SG(manifestDir, packageJsonDir));
134433
134611
  console.log(messages._A(browser, devOptions.chromiumBinary, geckoBinary));
134434
134612
  }
134613
+ if ('true' === process.env.EXTENSION_DEV_DRY_RUN) return;
134435
134614
  const { devServer } = await Promise.all([
134436
134615
  __webpack_require__.e("215"),
134437
134616
  __webpack_require__.e("547"),
package/package.json CHANGED
@@ -24,7 +24,7 @@
24
24
  "webpack/webpack-lib/build-dependencies.json"
25
25
  ],
26
26
  "name": "extension-develop",
27
- "version": "3.5.0-next.26",
27
+ "version": "3.5.0-next.27",
28
28
  "description": "Develop, build, preview, and package Extension.js projects.",
29
29
  "author": {
30
30
  "name": "Cezar Augusto",