extension-develop 4.0.9 → 4.0.10

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.
@@ -35,7 +35,8 @@ __webpack_require__.d(rspack_config_namespaceObject, {
35
35
  default: ()=>webpackConfig
36
36
  });
37
37
  function filterKeysForThisBrowser(manifest, browser) {
38
- const isChromiumTarget = isChromiumBasedBrowser(String(browser)) || 'safari' === browser || 'webkit-based' === browser || String(browser).includes('webkit');
38
+ const isSafariTarget = 'safari' === browser || 'webkit-based' === browser || String(browser).includes('webkit');
39
+ const isChromiumTarget = isChromiumBasedBrowser(String(browser)) || isSafariTarget;
39
40
  const isGeckoTarget = constants_isGeckoBasedBrowser(String(browser));
40
41
  const chromiumPrefixes = new Set([
41
42
  'chromium',
@@ -46,12 +47,18 @@ function filterKeysForThisBrowser(manifest, browser) {
46
47
  'gecko',
47
48
  'firefox'
48
49
  ]);
49
- const prefixMatchesTarget = (prefix)=>prefix === browser || isChromiumTarget && chromiumPrefixes.has(prefix) || isGeckoTarget && geckoPrefixes.has(prefix);
50
+ const webkitPrefixes = new Set([
51
+ 'safari',
52
+ 'webkit'
53
+ ]);
54
+ const isFamilyPrefix = (prefix)=>isChromiumTarget && chromiumPrefixes.has(prefix) || isGeckoTarget && geckoPrefixes.has(prefix);
55
+ const isSpecificPrefix = (prefix)=>prefix === browser || isSafariTarget && webkitPrefixes.has(prefix);
50
56
  const resolve = (node)=>{
51
57
  if (Array.isArray(node)) return node.map((item)=>resolve(item));
52
58
  if (node && 'object' == typeof node) {
53
59
  const result = {};
54
- const prefixedMatches = {};
60
+ const familyMatches = {};
61
+ const specificMatches = {};
55
62
  for (const [key, value] of Object.entries(node)){
56
63
  const indexOfColon = key.indexOf(':');
57
64
  if (-1 === indexOfColon) {
@@ -59,9 +66,12 @@ function filterKeysForThisBrowser(manifest, browser) {
59
66
  continue;
60
67
  }
61
68
  const prefix = key.substring(0, indexOfColon);
62
- if (prefixMatchesTarget(prefix)) prefixedMatches[key.substring(indexOfColon + 1)] = resolve(value);
69
+ const strippedKey = key.substring(indexOfColon + 1);
70
+ if (isSpecificPrefix(prefix)) specificMatches[strippedKey] = resolve(value);
71
+ else if (isFamilyPrefix(prefix)) familyMatches[strippedKey] = resolve(value);
63
72
  }
64
- for (const [strippedKey, value] of Object.entries(prefixedMatches))result[strippedKey] = value;
73
+ for (const [strippedKey, value] of Object.entries(familyMatches))result[strippedKey] = value;
74
+ for (const [strippedKey, value] of Object.entries(specificMatches))result[strippedKey] = value;
65
75
  return result;
66
76
  }
67
77
  return node;
@@ -3612,6 +3622,22 @@ class EmitManifest {
3612
3622
  function sanitizeFatalManifestShapes(manifest, manifestDir) {
3613
3623
  const out = manifest;
3614
3624
  const fixes = [];
3625
+ if ('string' != typeof out.name || '' === out.name) {
3626
+ const from = out.name;
3627
+ const isScalar = 'number' == typeof from || 'boolean' == typeof from;
3628
+ out.name = isScalar ? String(from) : 'Unnamed Extension';
3629
+ fixes.push({
3630
+ field: 'name',
3631
+ detail: `replaced ${JSON.stringify(from)} with "${out.name}" — Chrome requires a non-empty string name and refuses the whole extension otherwise`
3632
+ });
3633
+ }
3634
+ if (null == out.version) {
3635
+ out.version = '0.0.0';
3636
+ fixes.push({
3637
+ field: 'version',
3638
+ detail: 'added "0.0.0" — the required version key was missing and Chrome refuses the whole extension without it'
3639
+ });
3640
+ }
3615
3641
  if (null != out.version && 'string' != typeof out.version) {
3616
3642
  const from = JSON.stringify(out.version);
3617
3643
  out.version = String(out.version);
@@ -3698,11 +3724,39 @@ function sanitizeFatalManifestShapes(manifest, manifestDir) {
3698
3724
  }
3699
3725
  }
3700
3726
  }
3727
+ const csp = out.content_security_policy;
3728
+ if (csp && 'object' == typeof csp && !Array.isArray(csp) && 'string' == typeof csp.extension_pages) {
3729
+ const stripped = stripUnsafeInlineFromScriptSrc(csp.extension_pages);
3730
+ if (stripped !== csp.extension_pages) {
3731
+ csp.extension_pages = stripped;
3732
+ fixes.push({
3733
+ field: 'content_security_policy.extension_pages',
3734
+ detail: "removed 'unsafe-inline' from script-src — Chrome refuses the whole extension over an insecure CSP value in extension pages"
3735
+ });
3736
+ }
3737
+ }
3701
3738
  return {
3702
3739
  manifest: out,
3703
3740
  fixes
3704
3741
  };
3705
3742
  }
3743
+ function stripUnsafeInlineFromScriptSrc(policy) {
3744
+ let changed = false;
3745
+ const rebuilt = policy.split(';').map((segment)=>{
3746
+ const tokens = segment.trim().split(/\s+/).filter(Boolean);
3747
+ if (0 === tokens.length) return null;
3748
+ if ("script-src" !== tokens[0].toLowerCase()) return tokens.join(' ');
3749
+ const values = tokens.slice(1).filter((value)=>"'unsafe-inline'" !== value.toLowerCase());
3750
+ if (values.length !== tokens.length - 1) changed = true;
3751
+ return [
3752
+ "script-src",
3753
+ ...values.length ? values : [
3754
+ "'self'"
3755
+ ]
3756
+ ].join(' ');
3757
+ }).filter((segment)=>null !== segment);
3758
+ return changed ? rebuilt.join('; ') : policy;
3759
+ }
3706
3760
  function isValidChromeVersion(version) {
3707
3761
  if (!version) return false;
3708
3762
  const parts = version.split('.');
package/dist/101.mjs CHANGED
@@ -684,7 +684,7 @@ async function config_loader_isUsingExperimentalConfig(projectPath) {
684
684
  }
685
685
  return false;
686
686
  }
687
- var package_namespaceObject = /*#__PURE__*/ JSON.parse('{"rE":"4.0.9","El":{"@prefresh/core":"1.5.9","@prefresh/utils":"1.2.1","@rspack/core":"^2.1.1","@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.26","adm-zip":"^0.5.16","browser-extension-manifest-fields":"^2.2.9","case-sensitive-paths-webpack-plugin":"^2.4.0","content-security-policy-parser":"^0.6.0","dotenv":"^17.2.3","es-module-lexer":"^2.1.0","extension-from-store":"^0.1.1","go-git-it":"^5.1.5","ignore":"^7.0.5","less":"4.6.7","less-loader":"13.0.0","parse5-utilities":"^1.0.0","pintor":"0.3.0","postcss":"8.5.10","postcss-loader":"8.2.1","postcss-preset-env":"11.1.1","postcss-scss":"4.0.9","preact":"10.27.3","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","typescript":"5.9.3","vue":"3.5.26","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"}}');
687
+ var package_namespaceObject = /*#__PURE__*/ JSON.parse('{"rE":"4.0.10","El":{"@prefresh/core":"1.5.9","@prefresh/utils":"1.2.1","@rspack/core":"^2.1.1","@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.26","adm-zip":"^0.5.16","browser-extension-manifest-fields":"^2.2.9","case-sensitive-paths-webpack-plugin":"^2.4.0","content-security-policy-parser":"^0.6.0","dotenv":"^17.2.3","es-module-lexer":"^2.1.0","extension-from-store":"^0.1.1","go-git-it":"^5.1.5","ignore":"^7.0.5","less":"4.6.7","less-loader":"13.0.0","parse5-utilities":"^1.0.0","pintor":"0.3.0","postcss":"8.5.10","postcss-loader":"8.2.1","postcss-preset-env":"11.1.1","postcss-scss":"4.0.9","preact":"10.27.3","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","typescript":"5.9.3","vue":"3.5.26","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"}}');
688
688
  function asAbsolute(p) {
689
689
  return __rspack_external_path.isAbsolute(p) ? p : __rspack_external_path.resolve(p);
690
690
  }
package/dist/839.mjs CHANGED
@@ -1280,7 +1280,16 @@ async function extensionBuild(pathOrRemoteUrl, buildOptions) {
1280
1280
  }
1281
1281
  });
1282
1282
  });
1283
- if (('safari' === browser || 'webkit-based' === browser) && buildOptions?.safariPackager) await buildOptions.safariPackager(distPath, 'full');
1283
+ if (('safari' === browser || 'webkit-based' === browser) && buildOptions?.safariPackager) {
1284
+ const safariConfig = await loadBrowserConfig(packageJsonDir, browser);
1285
+ await buildOptions.safariPackager(distPath, 'full', {
1286
+ appName: buildOptions.appName ?? safariConfig.appName,
1287
+ bundleId: buildOptions.bundleId ?? safariConfig.bundleId,
1288
+ macOsOnly: buildOptions.macOsOnly ?? safariConfig.macOsOnly,
1289
+ forceRegenerate: buildOptions.forceRegenerate,
1290
+ safariBinary: buildOptions.safariBinary ?? safariConfig.safariBinary
1291
+ });
1292
+ }
1284
1293
  return summary;
1285
1294
  } catch (error) {
1286
1295
  const isAuthor = 'true' === process.env.EXTENSION_AUTHOR_MODE;
@@ -1716,7 +1725,15 @@ async function extensionDev(pathOrRemoteUrl, devOptions) {
1716
1725
  ...sanitize(devOptions)
1717
1726
  };
1718
1727
  if (('safari' === browser || 'webkit-based' === browser) && !devOptions.noBrowser && devOptions.safariPackager) {
1719
- browsersPlugin = new SafariDevPlugin(devOptions.safariPackager);
1728
+ const safariPackager = devOptions.safariPackager;
1729
+ const safariOverrides = {
1730
+ appName: merged.appName,
1731
+ bundleId: merged.bundleId,
1732
+ macOsOnly: merged.macOsOnly,
1733
+ forceRegenerate: merged.forceRegenerate,
1734
+ safariBinary: merged.safariBinary
1735
+ };
1736
+ browsersPlugin = new SafariDevPlugin((distPath, packagerMode)=>safariPackager(distPath, packagerMode, safariOverrides));
1720
1737
  emitter = browsersPlugin.emitter;
1721
1738
  } else if (devOptions.launcher && !devOptions.noBrowser) {
1722
1739
  browsersPlugin = new BrowsersPlugin({
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-13T16:42:30.857Z","command":"start","browser":"chrome"}
2
- {"type":"compile_success","ts":"2026-07-13T16:42:31.969Z","command":"start","browser":"chrome","durationMs":1234,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-13T16:42:38.160Z","command":"start","browser":"chrome"}
4
- {"type":"compile_success","ts":"2026-07-13T16:42:39.249Z","command":"start","browser":"chrome","durationMs":1213,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-13T16:45:02.491Z","command":"start","browser":"chrome"}
6
- {"type":"compile_success","ts":"2026-07-13T16:45:03.621Z","command":"start","browser":"chrome","durationMs":1252,"errorCount":0}
1
+ {"type":"compile_start","ts":"2026-07-15T12:12:00.212Z","command":"start","browser":"chrome"}
2
+ {"type":"compile_success","ts":"2026-07-15T12:12:01.284Z","command":"start","browser":"chrome","durationMs":1193,"errorCount":0}
3
+ {"type":"compile_start","ts":"2026-07-15T12:12:07.482Z","command":"start","browser":"chrome"}
4
+ {"type":"compile_success","ts":"2026-07-15T12:12:08.631Z","command":"start","browser":"chrome","durationMs":1270,"errorCount":0}
5
+ {"type":"compile_start","ts":"2026-07-15T12:14:29.254Z","command":"start","browser":"chrome"}
6
+ {"type":"compile_success","ts":"2026-07-15T12:14:30.323Z","command":"start","browser":"chrome","durationMs":1193,"errorCount":0}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "chrome",
5
- "runId": "mrjgdo8w-811yb1ev",
6
- "startedAt": "2026-07-13T16:45:02.336Z",
5
+ "runId": "mrm1lfxl-506di04i",
6
+ "startedAt": "2026-07-15T12:14:29.097Z",
7
7
  "distPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-devtools/dist/chrome",
8
8
  "manifestPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-devtools/src/manifest.json",
9
9
  "port": null,
10
10
  "controlPort": null,
11
11
  "status": "ready",
12
- "pid": 8352,
13
- "ts": "2026-07-13T16:45:03.622Z",
14
- "compiledAt": "2026-07-13T16:45:03.622Z",
12
+ "pid": 8380,
13
+ "ts": "2026-07-15T12:14:30.323Z",
14
+ "compiledAt": "2026-07-15T12:14:30.323Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-13T16:42:29.035Z","command":"start","browser":"chromium"}
2
- {"type":"compile_success","ts":"2026-07-13T16:42:30.141Z","command":"start","browser":"chromium","durationMs":1235,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-13T16:42:36.326Z","command":"start","browser":"chromium"}
4
- {"type":"compile_success","ts":"2026-07-13T16:42:37.438Z","command":"start","browser":"chromium","durationMs":1234,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-13T16:45:00.656Z","command":"start","browser":"chromium"}
6
- {"type":"compile_success","ts":"2026-07-13T16:45:01.764Z","command":"start","browser":"chromium","durationMs":1231,"errorCount":0}
1
+ {"type":"compile_start","ts":"2026-07-15T12:11:58.446Z","command":"start","browser":"chromium"}
2
+ {"type":"compile_success","ts":"2026-07-15T12:11:59.515Z","command":"start","browser":"chromium","durationMs":1195,"errorCount":0}
3
+ {"type":"compile_start","ts":"2026-07-15T12:12:05.701Z","command":"start","browser":"chromium"}
4
+ {"type":"compile_success","ts":"2026-07-15T12:12:06.781Z","command":"start","browser":"chromium","durationMs":1203,"errorCount":0}
5
+ {"type":"compile_start","ts":"2026-07-15T12:14:27.452Z","command":"start","browser":"chromium"}
6
+ {"type":"compile_success","ts":"2026-07-15T12:14:28.544Z","command":"start","browser":"chromium","durationMs":1217,"errorCount":0}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "chromium",
5
- "runId": "mrjgdmtw-sdfusmp0",
6
- "startedAt": "2026-07-13T16:45:00.500Z",
5
+ "runId": "mrm1lejh-1rr5q8gk",
6
+ "startedAt": "2026-07-15T12:14:27.293Z",
7
7
  "distPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-devtools/dist/chromium",
8
8
  "manifestPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-devtools/src/manifest.json",
9
9
  "port": null,
10
10
  "controlPort": null,
11
11
  "status": "ready",
12
- "pid": 8300,
13
- "ts": "2026-07-13T16:45:01.764Z",
14
- "compiledAt": "2026-07-13T16:45:01.764Z",
12
+ "pid": 8332,
13
+ "ts": "2026-07-15T12:14:28.545Z",
14
+ "compiledAt": "2026-07-15T12:14:28.544Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-13T16:42:34.518Z","command":"start","browser":"edge"}
2
- {"type":"compile_success","ts":"2026-07-13T16:42:35.611Z","command":"start","browser":"edge","durationMs":1219,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-13T16:42:41.779Z","command":"start","browser":"edge"}
4
- {"type":"compile_success","ts":"2026-07-13T16:42:42.863Z","command":"start","browser":"edge","durationMs":1208,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-13T16:45:06.136Z","command":"start","browser":"edge"}
6
- {"type":"compile_success","ts":"2026-07-13T16:45:07.270Z","command":"start","browser":"edge","durationMs":1267,"errorCount":0}
1
+ {"type":"compile_start","ts":"2026-07-15T12:12:03.903Z","command":"start","browser":"edge"}
2
+ {"type":"compile_success","ts":"2026-07-15T12:12:04.999Z","command":"start","browser":"edge","durationMs":1220,"errorCount":0}
3
+ {"type":"compile_start","ts":"2026-07-15T12:12:11.369Z","command":"start","browser":"edge"}
4
+ {"type":"compile_success","ts":"2026-07-15T12:12:12.557Z","command":"start","browser":"edge","durationMs":1319,"errorCount":0}
5
+ {"type":"compile_start","ts":"2026-07-15T12:14:32.890Z","command":"start","browser":"edge"}
6
+ {"type":"compile_success","ts":"2026-07-15T12:14:34.005Z","command":"start","browser":"edge","durationMs":1240,"errorCount":0}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "edge",
5
- "runId": "mrjgdr1p-abulkp65",
6
- "startedAt": "2026-07-13T16:45:05.965Z",
5
+ "runId": "mrm1liqi-kxa06i5y",
6
+ "startedAt": "2026-07-15T12:14:32.730Z",
7
7
  "distPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-devtools/dist/edge",
8
8
  "manifestPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-devtools/src/manifest.json",
9
9
  "port": null,
10
10
  "controlPort": null,
11
11
  "status": "ready",
12
- "pid": 8448,
13
- "ts": "2026-07-13T16:45:07.270Z",
14
- "compiledAt": "2026-07-13T16:45:07.270Z",
12
+ "pid": 8477,
13
+ "ts": "2026-07-15T12:14:34.005Z",
14
+ "compiledAt": "2026-07-15T12:14:34.005Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-13T16:42:32.698Z","command":"start","browser":"firefox"}
2
- {"type":"compile_success","ts":"2026-07-13T16:42:33.791Z","command":"start","browser":"firefox","durationMs":1218,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-13T16:42:39.970Z","command":"start","browser":"firefox"}
4
- {"type":"compile_success","ts":"2026-07-13T16:42:41.063Z","command":"start","browser":"firefox","durationMs":1217,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-13T16:45:04.334Z","command":"start","browser":"firefox"}
6
- {"type":"compile_success","ts":"2026-07-13T16:45:05.393Z","command":"start","browser":"firefox","durationMs":1183,"errorCount":0}
1
+ {"type":"compile_start","ts":"2026-07-15T12:12:02.024Z","command":"start","browser":"firefox"}
2
+ {"type":"compile_success","ts":"2026-07-15T12:12:03.166Z","command":"start","browser":"firefox","durationMs":1270,"errorCount":0}
3
+ {"type":"compile_start","ts":"2026-07-15T12:12:09.420Z","command":"start","browser":"firefox"}
4
+ {"type":"compile_success","ts":"2026-07-15T12:12:10.626Z","command":"start","browser":"firefox","durationMs":1337,"errorCount":0}
5
+ {"type":"compile_start","ts":"2026-07-15T12:14:31.045Z","command":"start","browser":"firefox"}
6
+ {"type":"compile_success","ts":"2026-07-15T12:14:32.173Z","command":"start","browser":"firefox","durationMs":1251,"errorCount":0}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "firefox",
5
- "runId": "mrjgdpo1-9dvz1x73",
6
- "startedAt": "2026-07-13T16:45:04.177Z",
5
+ "runId": "mrm1lhbe-2iwtnofy",
6
+ "startedAt": "2026-07-15T12:14:30.890Z",
7
7
  "distPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-devtools/dist/firefox",
8
8
  "manifestPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-devtools/src/manifest.json",
9
9
  "port": null,
10
10
  "controlPort": null,
11
11
  "status": "ready",
12
- "pid": 8400,
13
- "ts": "2026-07-13T16:45:05.393Z",
14
- "compiledAt": "2026-07-13T16:45:05.393Z",
12
+ "pid": 8428,
13
+ "ts": "2026-07-15T12:14:32.174Z",
14
+ "compiledAt": "2026-07-15T12:14:32.173Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-13T16:42:44.027Z","command":"start","browser":"chrome"}
2
- {"type":"compile_success","ts":"2026-07-13T16:42:44.072Z","command":"start","browser":"chrome","durationMs":53,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-13T16:42:46.465Z","command":"start","browser":"chrome"}
4
- {"type":"compile_success","ts":"2026-07-13T16:42:46.519Z","command":"start","browser":"chrome","durationMs":64,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-13T16:45:08.461Z","command":"start","browser":"chrome"}
6
- {"type":"compile_success","ts":"2026-07-13T16:45:08.507Z","command":"start","browser":"chrome","durationMs":54,"errorCount":0}
1
+ {"type":"compile_start","ts":"2026-07-15T12:12:13.710Z","command":"start","browser":"chrome"}
2
+ {"type":"compile_success","ts":"2026-07-15T12:12:13.759Z","command":"start","browser":"chrome","durationMs":56,"errorCount":0}
3
+ {"type":"compile_start","ts":"2026-07-15T12:12:16.051Z","command":"start","browser":"chrome"}
4
+ {"type":"compile_success","ts":"2026-07-15T12:12:16.093Z","command":"start","browser":"chrome","durationMs":49,"errorCount":0}
5
+ {"type":"compile_start","ts":"2026-07-15T12:14:35.190Z","command":"start","browser":"chrome"}
6
+ {"type":"compile_success","ts":"2026-07-15T12:14:35.233Z","command":"start","browser":"chrome","durationMs":50,"errorCount":0}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "chrome",
5
- "runId": "mrjgdsy7-zdz9b47j",
6
- "startedAt": "2026-07-13T16:45:08.431Z",
5
+ "runId": "mrm1lkm2-cnur5vu8",
6
+ "startedAt": "2026-07-15T12:14:35.162Z",
7
7
  "distPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-theme/dist/chrome",
8
8
  "manifestPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-theme/manifest.json",
9
9
  "port": null,
10
10
  "controlPort": null,
11
11
  "status": "ready",
12
- "pid": 8536,
13
- "ts": "2026-07-13T16:45:08.507Z",
14
- "compiledAt": "2026-07-13T16:45:08.507Z",
12
+ "pid": 8567,
13
+ "ts": "2026-07-15T12:14:35.233Z",
14
+ "compiledAt": "2026-07-15T12:14:35.233Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-13T16:42:43.431Z","command":"start","browser":"chromium"}
2
- {"type":"compile_success","ts":"2026-07-13T16:42:43.479Z","command":"start","browser":"chromium","durationMs":55,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-13T16:42:45.807Z","command":"start","browser":"chromium"}
4
- {"type":"compile_success","ts":"2026-07-13T16:42:45.855Z","command":"start","browser":"chromium","durationMs":56,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-13T16:45:07.860Z","command":"start","browser":"chromium"}
6
- {"type":"compile_success","ts":"2026-07-13T16:45:07.907Z","command":"start","browser":"chromium","durationMs":54,"errorCount":0}
1
+ {"type":"compile_start","ts":"2026-07-15T12:12:13.126Z","command":"start","browser":"chromium"}
2
+ {"type":"compile_success","ts":"2026-07-15T12:12:13.174Z","command":"start","browser":"chromium","durationMs":54,"errorCount":0}
3
+ {"type":"compile_start","ts":"2026-07-15T12:12:15.475Z","command":"start","browser":"chromium"}
4
+ {"type":"compile_success","ts":"2026-07-15T12:12:15.517Z","command":"start","browser":"chromium","durationMs":48,"errorCount":0}
5
+ {"type":"compile_start","ts":"2026-07-15T12:14:34.597Z","command":"start","browser":"chromium"}
6
+ {"type":"compile_success","ts":"2026-07-15T12:14:34.646Z","command":"start","browser":"chromium","durationMs":59,"errorCount":0}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "chromium",
5
- "runId": "mrjgdshi-u8jmlb4l",
6
- "startedAt": "2026-07-13T16:45:07.831Z",
5
+ "runId": "mrm1lk5e-tmiodyd9",
6
+ "startedAt": "2026-07-15T12:14:34.562Z",
7
7
  "distPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-theme/dist/chromium",
8
8
  "manifestPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-theme/manifest.json",
9
9
  "port": null,
10
10
  "controlPort": null,
11
11
  "status": "ready",
12
- "pid": 8496,
13
- "ts": "2026-07-13T16:45:07.907Z",
14
- "compiledAt": "2026-07-13T16:45:07.907Z",
12
+ "pid": 8527,
13
+ "ts": "2026-07-15T12:14:34.646Z",
14
+ "compiledAt": "2026-07-15T12:14:34.646Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-13T16:42:45.192Z","command":"start","browser":"edge"}
2
- {"type":"compile_success","ts":"2026-07-13T16:42:45.236Z","command":"start","browser":"edge","durationMs":51,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-13T16:42:47.763Z","command":"start","browser":"edge"}
4
- {"type":"compile_success","ts":"2026-07-13T16:42:47.808Z","command":"start","browser":"edge","durationMs":55,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-13T16:45:09.645Z","command":"start","browser":"edge"}
6
- {"type":"compile_success","ts":"2026-07-13T16:45:09.691Z","command":"start","browser":"edge","durationMs":52,"errorCount":0}
1
+ {"type":"compile_start","ts":"2026-07-15T12:12:14.880Z","command":"start","browser":"edge"}
2
+ {"type":"compile_success","ts":"2026-07-15T12:12:14.924Z","command":"start","browser":"edge","durationMs":50,"errorCount":0}
3
+ {"type":"compile_start","ts":"2026-07-15T12:12:17.219Z","command":"start","browser":"edge"}
4
+ {"type":"compile_success","ts":"2026-07-15T12:12:17.262Z","command":"start","browser":"edge","durationMs":50,"errorCount":0}
5
+ {"type":"compile_start","ts":"2026-07-15T12:14:36.358Z","command":"start","browser":"edge"}
6
+ {"type":"compile_success","ts":"2026-07-15T12:14:36.405Z","command":"start","browser":"edge","durationMs":53,"errorCount":0}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "edge",
5
- "runId": "mrjgdtv5-gog966ti",
6
- "startedAt": "2026-07-13T16:45:09.617Z",
5
+ "runId": "mrm1llii-p8q4rwa9",
6
+ "startedAt": "2026-07-15T12:14:36.330Z",
7
7
  "distPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-theme/dist/edge",
8
8
  "manifestPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-theme/manifest.json",
9
9
  "port": null,
10
10
  "controlPort": null,
11
11
  "status": "ready",
12
- "pid": 8617,
13
- "ts": "2026-07-13T16:45:09.691Z",
14
- "compiledAt": "2026-07-13T16:45:09.691Z",
12
+ "pid": 8647,
13
+ "ts": "2026-07-15T12:14:36.405Z",
14
+ "compiledAt": "2026-07-15T12:14:36.405Z",
15
15
  "errors": []
16
16
  }
@@ -1,8 +1,8 @@
1
- {"type":"compile_start","ts":"2026-07-13T16:42:44.604Z","command":"start","browser":"firefox"}
2
- {"type":"compile_success","ts":"2026-07-13T16:42:44.645Z","command":"start","browser":"firefox","durationMs":48,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-13T16:42:47.095Z","command":"start","browser":"firefox"}
4
- {"type":"compile_success","ts":"2026-07-13T16:42:47.143Z","command":"start","browser":"firefox","durationMs":56,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-13T16:43:15.796Z","command":"start","browser":"firefox"}
6
- {"type":"compile_success","ts":"2026-07-13T16:43:15.843Z","command":"start","browser":"firefox","durationMs":58,"errorCount":0}
7
- {"type":"compile_start","ts":"2026-07-13T16:45:09.056Z","command":"start","browser":"firefox"}
8
- {"type":"compile_success","ts":"2026-07-13T16:45:09.099Z","command":"start","browser":"firefox","durationMs":53,"errorCount":0}
1
+ {"type":"compile_start","ts":"2026-07-15T12:12:14.293Z","command":"start","browser":"firefox"}
2
+ {"type":"compile_success","ts":"2026-07-15T12:12:14.340Z","command":"start","browser":"firefox","durationMs":54,"errorCount":0}
3
+ {"type":"compile_start","ts":"2026-07-15T12:12:16.631Z","command":"start","browser":"firefox"}
4
+ {"type":"compile_success","ts":"2026-07-15T12:12:16.675Z","command":"start","browser":"firefox","durationMs":51,"errorCount":0}
5
+ {"type":"compile_start","ts":"2026-07-15T12:12:44.924Z","command":"start","browser":"firefox"}
6
+ {"type":"compile_success","ts":"2026-07-15T12:12:44.971Z","command":"start","browser":"firefox","durationMs":58,"errorCount":0}
7
+ {"type":"compile_start","ts":"2026-07-15T12:14:35.774Z","command":"start","browser":"firefox"}
8
+ {"type":"compile_success","ts":"2026-07-15T12:14:35.817Z","command":"start","browser":"firefox","durationMs":51,"errorCount":0}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "firefox",
5
- "runId": "mrjgdtel-8m7osv9k",
6
- "startedAt": "2026-07-13T16:45:09.021Z",
5
+ "runId": "mrm1ll29-dr7h3x9a",
6
+ "startedAt": "2026-07-15T12:14:35.745Z",
7
7
  "distPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-theme/dist/firefox",
8
8
  "manifestPath": "/home/runner/work/extension.js/extension.js/extensions/extension-js-theme/manifest.json",
9
9
  "port": null,
10
10
  "controlPort": null,
11
11
  "status": "ready",
12
- "pid": 8577,
13
- "ts": "2026-07-13T16:45:09.099Z",
14
- "compiledAt": "2026-07-13T16:45:09.099Z",
12
+ "pid": 8607,
13
+ "ts": "2026-07-15T12:14:35.817Z",
14
+ "compiledAt": "2026-07-15T12:14:35.817Z",
15
15
  "errors": []
16
16
  }
package/package.json CHANGED
@@ -34,7 +34,7 @@
34
34
  "runtime"
35
35
  ],
36
36
  "name": "extension-develop",
37
- "version": "4.0.9",
37
+ "version": "4.0.10",
38
38
  "description": "Develop, build, preview, and package Extension.js projects.",
39
39
  "author": {
40
40
  "name": "Cezar Augusto",