extension-develop 4.0.8 → 4.0.9

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.
@@ -491,6 +491,9 @@ class BridgeBroker {
491
491
  case 'result':
492
492
  if ('producer' === this.roles.get(conn)) this.onResult(frame);
493
493
  return;
494
+ case 'reload-ack':
495
+ if ('producer' === this.roles.get(conn) && this.pendingReload?.reloadType === frame.reloadType) this.pendingReload = void 0;
496
+ return;
494
497
  default:
495
498
  return;
496
499
  }
@@ -516,7 +519,7 @@ class BridgeBroker {
516
519
  conn.send(frame);
517
520
  notified++;
518
521
  } catch {}
519
- this.pendingReload = 0 === notified ? frame : void 0;
522
+ this.pendingReload = 0 === notified || "content-scripts" === frame.reloadType ? frame : void 0;
520
523
  return notified;
521
524
  }
522
525
  pingProducers() {
@@ -2220,12 +2220,14 @@ async function buildCssRules(projectPath, mode, usage, opts) {
2220
2220
  test: /\.(sass|scss)$/,
2221
2221
  exclude: /\.module\.(sass|scss)$/,
2222
2222
  type: nonModuleType,
2223
- loader: null
2223
+ loader: null,
2224
+ missingTool: 'sass'
2224
2225
  },
2225
2226
  {
2226
2227
  test: /\.module\.(sass|scss)$/,
2227
2228
  type: 'css/module',
2228
- loader: null
2229
+ loader: null,
2230
+ missingTool: 'sass'
2229
2231
  }
2230
2232
  ],
2231
2233
  ...useLess ? [
@@ -2245,16 +2247,18 @@ async function buildCssRules(projectPath, mode, usage, opts) {
2245
2247
  test: /\.less$/,
2246
2248
  exclude: /\.module\.less$/,
2247
2249
  type: nonModuleType,
2248
- loader: null
2250
+ loader: null,
2251
+ missingTool: 'less'
2249
2252
  },
2250
2253
  {
2251
2254
  test: /\.module\.less$/,
2252
2255
  type: 'css/module',
2253
- loader: null
2256
+ loader: null,
2257
+ missingTool: 'less'
2254
2258
  }
2255
2259
  ]
2256
2260
  ];
2257
- return Promise.all(fileTypes.map(async ({ test, exclude, type, loader })=>{
2261
+ return Promise.all(fileTypes.map(async ({ test, exclude, type, loader, missingTool })=>{
2258
2262
  const use = loader ? await commonStyleLoaders(projectPath, {
2259
2263
  mode: mode,
2260
2264
  loader,
@@ -2264,6 +2268,9 @@ async function buildCssRules(projectPath, mode, usage, opts) {
2264
2268
  }) : await commonStyleLoaders(projectPath, {
2265
2269
  mode: mode
2266
2270
  });
2271
+ if (missingTool) use.push({
2272
+ loader: resolveDevelopDistFile('preprocessor-passthrough-loader')
2273
+ });
2267
2274
  return {
2268
2275
  test,
2269
2276
  exclude,
@@ -8006,6 +8013,16 @@ const BRIDGE_PRODUCER_SOURCE = `;(function () {
8006
8013
  return;
8007
8014
  }
8008
8015
 
8016
+ // Delivery ack for the broker: proves this SW's message pump actually
8017
+ // processed the frame — a successful socket WRITE proves nothing when
8018
+ // the worker is wedged-but-connected (bug 27). The broker latches a
8019
+ // content-scripts reload until this ack and replays it to the next
8020
+ // producer hello, so an edit that landed on a dead pump still converges.
8021
+ // Sent on receipt (not after reinjection): the scripting-unavailable
8022
+ // fallback restarts the whole extension, and an unacked latch would
8023
+ // replay into the fresh SW and restart it a second time.
8024
+ send({type: "reload-ack", reloadType: kind, label: label});
8025
+
8009
8026
  announceReloadInTabs(announced);
8010
8027
  performDevReload(kind, function () {
8011
8028
  // Only the content-scripts path confirms from here (reinjection ran to
@@ -10792,6 +10809,7 @@ function webpackConfig(projectStructure, devOptions) {
10792
10809
  hints: false
10793
10810
  },
10794
10811
  optimization: {
10812
+ emitOnErrors: false,
10795
10813
  minimize: 'production' === devOptions.mode,
10796
10814
  sideEffects: true,
10797
10815
  usedExports: 'global',
package/dist/101.mjs CHANGED
@@ -416,6 +416,13 @@ function buildCommandFailed(error) {
416
416
  })();
417
417
  return `${getLoggingPrefix('error')} Build failed.\n${pintor.red(fmt.truncate(message, 1200))}`;
418
418
  }
419
+ function devCommandFailed(error) {
420
+ const message = (()=>{
421
+ if (error instanceof Error && error.message) return error.message;
422
+ return String(error || 'Unknown error');
423
+ })();
424
+ return `${getLoggingPrefix('error')} Dev mode failed.\n${pintor.red(fmt.truncate(message, 1200))}`;
425
+ }
419
426
  function managedDependencyConflict(duplicates, userPackageJsonPath) {
420
427
  const list = duplicates.map((d)=>`- ${pintor.yellow(d)}`).join('\n');
421
428
  return `${getLoggingPrefix('error')} Your project declares dependencies that are managed by ${pintor.blue('Extension.js')} and referenced in ${pintor.underline('extension.config.js')}\n${pintor.red('This can cause version conflicts and break the development/build process.')}\n\n${pintor.gray('Managed dependencies (remove these from your package.json):')}\n${list}\n\n${pintor.gray('PATH')} ${pintor.underline(userPackageJsonPath)}\nIf you need a different version, open an issue so we can consider bundling it safely.\nOperation aborted.`;
@@ -677,7 +684,7 @@ async function config_loader_isUsingExperimentalConfig(projectPath) {
677
684
  }
678
685
  return false;
679
686
  }
680
- var package_namespaceObject = /*#__PURE__*/ JSON.parse('{"rE":"4.0.8","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.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"}}');
681
688
  function asAbsolute(p) {
682
689
  return __rspack_external_path.isAbsolute(p) ? p : __rspack_external_path.resolve(p);
683
690
  }
@@ -1574,6 +1581,15 @@ function sanitize(obj) {
1574
1581
  function nowISO() {
1575
1582
  return new Date().toISOString();
1576
1583
  }
1584
+ const MAX_CONTRACT_ERRORS = 10;
1585
+ const ANSI_PATTERN = /\u001b\[[0-9;]*m/g;
1586
+ function formatStatsErrors(errors) {
1587
+ if (!Array.isArray(errors)) return [];
1588
+ return errors.slice(0, MAX_CONTRACT_ERRORS).map((error)=>{
1589
+ const message = error && 'object' == typeof error ? String(error.message ?? '') : String(error ?? '');
1590
+ return message.replace(ANSI_PATTERN, '').trim();
1591
+ }).filter(Boolean);
1592
+ }
1577
1593
  function createRunId() {
1578
1594
  return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
1579
1595
  }
@@ -1715,17 +1731,20 @@ class PlaywrightPlugin {
1715
1731
  });
1716
1732
  const errorsCount = Array.isArray(errorsJson?.errors) ? errorsJson.errors.length : 0;
1717
1733
  if (hasErrors) {
1734
+ const errorMessages = formatStatsErrors(errorsJson?.errors);
1735
+ const contractErrors = errorMessages.length ? errorMessages : [
1736
+ `errors: ${String(errorsCount || 1)}`
1737
+ ];
1718
1738
  this.writer.appendEvent({
1719
1739
  type: 'compile_error',
1720
1740
  ts: nowISO(),
1721
1741
  command: this.command,
1722
1742
  browser: this.browser,
1723
1743
  durationMs: Number.isFinite(durationMs) ? durationMs : void 0,
1724
- errorCount: Number.isFinite(errorsCount) ? errorsCount : 1
1744
+ errorCount: Number.isFinite(errorsCount) ? errorsCount : 1,
1745
+ errors: contractErrors
1725
1746
  });
1726
- this.writer.writeError('compile_error', 'Compilation failed', [
1727
- `errors: ${String(errorsCount || 1)}`
1728
- ]);
1747
+ this.writer.writeError('compile_error', 'Compilation failed', contractErrors);
1729
1748
  return;
1730
1749
  }
1731
1750
  this.writer.appendEvent({
@@ -2120,4 +2139,4 @@ async function extensionPreview(pathOrRemoteUrl, previewOptions, browserLauncher
2120
2139
  await browserLauncher(resolvedOpts);
2121
2140
  metadata.writeReady();
2122
2141
  }
2123
- export { PlaywrightPlugin, asAbsolute, assertNoManagedDependencyConflicts, authorInstallNotice, autoExitForceKill, autoExitModeEnabled, autoExitTriggered, browserRunnerDisabled, buildCommandFailed, buildSuccess, buildSuccessWithWarnings, buildWarningsDetails, buildWebpack, bundlerFatalError, bundlerRecompiling, computeExtensionsToLoad, constants_isGeckoBasedBrowser, createPlaywrightMetadataWriter, debugBrowser, debugContextPath, debugDirs, debugExtensionsToLoad, debugOutputPath, devServerStartTimeout, downloadingText, extensionJsRunnerError, extensionPreview, failedToDownloadOrExtractZIPFileError, getDirs, getDistPath, getProjectStructure, getSpecialFoldersDataForCompiler, getSpecialFoldersDataForProjectRoot, invalidRemoteZip, isChromiumBasedBrowser, loadBrowserConfig, loadCommandConfig, loadCustomConfig, localZipNotFound, manifestInvalidJson, messages_ready, needsInstall, noCompanionExtensionsResolved, noEntrypointsDetected, normalizeBrowser, notAZipArchive, package_namespaceObject, packagingDistributionFiles, packagingSourceFiles, portInUse, projectInstallFallbackToNpm, projectInstallScriptsDisabled, resolveCompanionExtensionDirs, resolveCompanionExtensionsConfig, sanitize, spacerLine, toPosixPath, treeWithDistFilesbrowser, treeWithSourceAndDistFiles, treeWithSourceFiles, unpackagedSuccessfully, unpackagingExtension, writingTypeDefinitions, writingTypeDefinitionsError };
2142
+ export { PlaywrightPlugin, asAbsolute, assertNoManagedDependencyConflicts, authorInstallNotice, autoExitForceKill, autoExitModeEnabled, autoExitTriggered, browserRunnerDisabled, buildCommandFailed, buildSuccess, buildSuccessWithWarnings, buildWarningsDetails, buildWebpack, bundlerFatalError, bundlerRecompiling, computeExtensionsToLoad, constants_isGeckoBasedBrowser, createPlaywrightMetadataWriter, debugBrowser, debugContextPath, debugDirs, debugExtensionsToLoad, debugOutputPath, devCommandFailed, devServerStartTimeout, downloadingText, extensionJsRunnerError, extensionPreview, failedToDownloadOrExtractZIPFileError, getDirs, getDistPath, getProjectStructure, getSpecialFoldersDataForCompiler, getSpecialFoldersDataForProjectRoot, invalidRemoteZip, isChromiumBasedBrowser, loadBrowserConfig, loadCommandConfig, loadCustomConfig, localZipNotFound, manifestInvalidJson, messages_ready, needsInstall, noCompanionExtensionsResolved, noEntrypointsDetected, normalizeBrowser, notAZipArchive, package_namespaceObject, packagingDistributionFiles, packagingSourceFiles, portInUse, projectInstallFallbackToNpm, projectInstallScriptsDisabled, resolveCompanionExtensionDirs, resolveCompanionExtensionsConfig, sanitize, spacerLine, toPosixPath, treeWithDistFilesbrowser, treeWithSourceAndDistFiles, treeWithSourceFiles, unpackagedSuccessfully, unpackagingExtension, writingTypeDefinitions, writingTypeDefinitionsError };
package/dist/839.mjs CHANGED
@@ -4,7 +4,7 @@ import { execFileSync, spawn, spawnSync as external_child_process_spawnSync } fr
4
4
  import { buildExecEnv, detectPackageManagerFromLockfile } from "prefers-yarn";
5
5
  import pintor from "pintor";
6
6
  import { EventEmitter } from "node:events";
7
- import { package_namespaceObject, buildSuccessWithWarnings, buildWarningsDetails, loadCommandConfig, needsInstall, getDirs, buildCommandFailed, getSpecialFoldersDataForProjectRoot, writingTypeDefinitions, sanitize, projectInstallFallbackToNpm, buildWebpack, assertNoManagedDependencyConflicts, debugDirs, debugBrowser, normalizeBrowser, debugOutputPath, loadCustomConfig, buildSuccess, writingTypeDefinitionsError, getDistPath, loadBrowserConfig, projectInstallScriptsDisabled, authorInstallNotice, getProjectStructure, resolveCompanionExtensionsConfig } from "./101.mjs";
7
+ import { package_namespaceObject, buildSuccessWithWarnings, buildWarningsDetails, loadCommandConfig, needsInstall, getDirs, buildCommandFailed, getSpecialFoldersDataForProjectRoot, writingTypeDefinitions, sanitize, projectInstallFallbackToNpm, buildWebpack, assertNoManagedDependencyConflicts, debugDirs, debugBrowser, normalizeBrowser, debugOutputPath, loadCustomConfig, buildSuccess, devCommandFailed, writingTypeDefinitionsError, getDistPath, loadBrowserConfig, projectInstallScriptsDisabled, authorInstallNotice, getProjectStructure, resolveCompanionExtensionsConfig } from "./101.mjs";
8
8
  import { stripBom, parseJsonSafe } from "./23.mjs";
9
9
  import { hasProjectDependency, findNearestProjectManifestDirSync } from "./80.mjs";
10
10
  import { getCanonicalContentScriptEntryName } from "./291.mjs";
@@ -1759,7 +1759,8 @@ async function extensionDev(pathOrRemoteUrl, devOptions) {
1759
1759
  });
1760
1760
  return emitter;
1761
1761
  } catch (error) {
1762
- console.error(error);
1762
+ if ('true' === process.env.EXTENSION_AUTHOR_MODE) console.error(error);
1763
+ else console.error(devCommandFailed(error));
1763
1764
  process.exit(1);
1764
1765
  }
1765
1766
  }
package/dist/845.mjs CHANGED
@@ -43,6 +43,14 @@ function cssParseErrorShippedVerbatim(resourcePath, error) {
43
43
  'PostCSS/Tailwind processing was NOT applied to this file. Fix the CSS to re-enable it.'
44
44
  ].join('\n');
45
45
  }
46
+ function preprocessorShippedUncompiled(resourcePath, tool) {
47
+ const pkg = 'sass' === tool ? 'sass' : 'less';
48
+ return [
49
+ `${pintor.yellow('⏵⏵⏵')} ${pintor.underline(resourcePath)} shipped UNCOMPILED — ${pintor.brightBlue(`"${pkg}"`)} is not installed in this project.`,
50
+ `The raw ${'sass' === tool ? 'Sass/SCSS' : 'Less'} source was copied as-is into the output .css, which browsers will treat as broken CSS (unstyled surfaces).`,
51
+ `Install it to compile this file, for example: ${pintor.gray(`npm install --save-dev ${pkg}`)}`
52
+ ].join('\n');
53
+ }
46
54
  function deadCssUrlRef(issuerPath, request) {
47
55
  return [
48
56
  `Missing file in ${pintor.underline(issuerPath)}.`,
@@ -52,4 +60,4 @@ function deadCssUrlRef(issuerPath, request) {
52
60
  `${pintor.red('NOT FOUND')} ${pintor.underline(request)}`
53
61
  ].join('\n');
54
62
  }
55
- export { cssConfigsDetected, cssIntegrationsEnabled, cssParseErrorShippedVerbatim, deadCssUrlRef, isUsingIntegration, missingSassDependency, postCssPluginNotResolved };
63
+ export { cssConfigsDetected, cssIntegrationsEnabled, cssParseErrorShippedVerbatim, deadCssUrlRef, isUsingIntegration, missingSassDependency, postCssPluginNotResolved, preprocessorShippedUncompiled };
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-12T19:42:54.910Z","command":"start","browser":"chrome"}
2
- {"type":"compile_success","ts":"2026-07-12T19:42:56.130Z","command":"start","browser":"chrome","durationMs":1345,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-12T19:43:02.757Z","command":"start","browser":"chrome"}
4
- {"type":"compile_success","ts":"2026-07-12T19:43:03.964Z","command":"start","browser":"chrome","durationMs":1334,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-12T19:45:41.111Z","command":"start","browser":"chrome"}
6
- {"type":"compile_success","ts":"2026-07-12T19:45:42.340Z","command":"start","browser":"chrome","durationMs":1357,"errorCount":0}
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}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "chrome",
5
- "runId": "mri7e4ph-hu8j9898",
6
- "startedAt": "2026-07-12T19:45:40.949Z",
5
+ "runId": "mrjgdo8w-811yb1ev",
6
+ "startedAt": "2026-07-13T16:45:02.336Z",
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": 8339,
13
- "ts": "2026-07-12T19:45:42.340Z",
14
- "compiledAt": "2026-07-12T19:45:42.340Z",
12
+ "pid": 8352,
13
+ "ts": "2026-07-13T16:45:03.622Z",
14
+ "compiledAt": "2026-07-13T16:45:03.622Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-12T19:42:52.934Z","command":"start","browser":"chromium"}
2
- {"type":"compile_success","ts":"2026-07-12T19:42:54.149Z","command":"start","browser":"chromium","durationMs":1345,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-12T19:43:00.807Z","command":"start","browser":"chromium"}
4
- {"type":"compile_success","ts":"2026-07-12T19:43:01.997Z","command":"start","browser":"chromium","durationMs":1316,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-12T19:45:39.132Z","command":"start","browser":"chromium"}
6
- {"type":"compile_success","ts":"2026-07-12T19:45:40.359Z","command":"start","browser":"chromium","durationMs":1356,"errorCount":0}
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}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "chromium",
5
- "runId": "mri7e36d-up1lq288",
6
- "startedAt": "2026-07-12T19:45:38.965Z",
5
+ "runId": "mrjgdmtw-sdfusmp0",
6
+ "startedAt": "2026-07-13T16:45:00.500Z",
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": 8291,
13
- "ts": "2026-07-12T19:45:40.359Z",
14
- "compiledAt": "2026-07-12T19:45:40.359Z",
12
+ "pid": 8300,
13
+ "ts": "2026-07-13T16:45:01.764Z",
14
+ "compiledAt": "2026-07-13T16:45:01.764Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-12T19:42:58.828Z","command":"start","browser":"edge"}
2
- {"type":"compile_success","ts":"2026-07-12T19:43:00.032Z","command":"start","browser":"edge","durationMs":1332,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-12T19:43:06.675Z","command":"start","browser":"edge"}
4
- {"type":"compile_success","ts":"2026-07-12T19:43:07.865Z","command":"start","browser":"edge","durationMs":1320,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-12T19:45:45.063Z","command":"start","browser":"edge"}
6
- {"type":"compile_success","ts":"2026-07-12T19:45:46.293Z","command":"start","browser":"edge","durationMs":1359,"errorCount":0}
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}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "edge",
5
- "runId": "mri7e7r8-axc2pqm3",
6
- "startedAt": "2026-07-12T19:45:44.900Z",
5
+ "runId": "mrjgdr1p-abulkp65",
6
+ "startedAt": "2026-07-13T16:45:05.965Z",
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": 8436,
13
- "ts": "2026-07-12T19:45:46.293Z",
14
- "compiledAt": "2026-07-12T19:45:46.293Z",
12
+ "pid": 8448,
13
+ "ts": "2026-07-13T16:45:07.270Z",
14
+ "compiledAt": "2026-07-13T16:45:07.270Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-12T19:42:56.880Z","command":"start","browser":"firefox"}
2
- {"type":"compile_success","ts":"2026-07-12T19:42:58.066Z","command":"start","browser":"firefox","durationMs":1315,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-12T19:43:04.730Z","command":"start","browser":"firefox"}
4
- {"type":"compile_success","ts":"2026-07-12T19:43:05.918Z","command":"start","browser":"firefox","durationMs":1314,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-12T19:45:43.097Z","command":"start","browser":"firefox"}
6
- {"type":"compile_success","ts":"2026-07-12T19:45:44.295Z","command":"start","browser":"firefox","durationMs":1324,"errorCount":0}
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}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "firefox",
5
- "runId": "mri7e68o-2cxzln1z",
6
- "startedAt": "2026-07-12T19:45:42.936Z",
5
+ "runId": "mrjgdpo1-9dvz1x73",
6
+ "startedAt": "2026-07-13T16:45:04.177Z",
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": 8388,
13
- "ts": "2026-07-12T19:45:44.295Z",
14
- "compiledAt": "2026-07-12T19:45:44.295Z",
12
+ "pid": 8400,
13
+ "ts": "2026-07-13T16:45:05.393Z",
14
+ "compiledAt": "2026-07-13T16:45:05.393Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-12T19:43:09.101Z","command":"start","browser":"chrome"}
2
- {"type":"compile_success","ts":"2026-07-12T19:43:09.148Z","command":"start","browser":"chrome","durationMs":56,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-12T19:43:11.639Z","command":"start","browser":"chrome"}
4
- {"type":"compile_success","ts":"2026-07-12T19:43:11.689Z","command":"start","browser":"chrome","durationMs":60,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-12T19:45:47.529Z","command":"start","browser":"chrome"}
6
- {"type":"compile_success","ts":"2026-07-12T19:45:47.575Z","command":"start","browser":"chrome","durationMs":54,"errorCount":0}
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}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "chrome",
5
- "runId": "mri7e9rc-3ca2gjf6",
6
- "startedAt": "2026-07-12T19:45:47.496Z",
5
+ "runId": "mrjgdsy7-zdz9b47j",
6
+ "startedAt": "2026-07-13T16:45:08.431Z",
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": 8524,
13
- "ts": "2026-07-12T19:45:47.575Z",
14
- "compiledAt": "2026-07-12T19:45:47.575Z",
12
+ "pid": 8536,
13
+ "ts": "2026-07-13T16:45:08.507Z",
14
+ "compiledAt": "2026-07-13T16:45:08.507Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-12T19:43:08.474Z","command":"start","browser":"chromium"}
2
- {"type":"compile_success","ts":"2026-07-12T19:43:08.520Z","command":"start","browser":"chromium","durationMs":54,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-12T19:43:10.999Z","command":"start","browser":"chromium"}
4
- {"type":"compile_success","ts":"2026-07-12T19:43:11.047Z","command":"start","browser":"chromium","durationMs":55,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-12T19:45:46.905Z","command":"start","browser":"chromium"}
6
- {"type":"compile_success","ts":"2026-07-12T19:45:46.951Z","command":"start","browser":"chromium","durationMs":54,"errorCount":0}
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}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "chromium",
5
- "runId": "mri7e9a1-ufcp4rs5",
6
- "startedAt": "2026-07-12T19:45:46.873Z",
5
+ "runId": "mrjgdshi-u8jmlb4l",
6
+ "startedAt": "2026-07-13T16:45:07.831Z",
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": 8484,
13
- "ts": "2026-07-12T19:45:46.951Z",
14
- "compiledAt": "2026-07-12T19:45:46.951Z",
12
+ "pid": 8496,
13
+ "ts": "2026-07-13T16:45:07.907Z",
14
+ "compiledAt": "2026-07-13T16:45:07.907Z",
15
15
  "errors": []
16
16
  }
@@ -1,6 +1,6 @@
1
- {"type":"compile_start","ts":"2026-07-12T19:43:10.372Z","command":"start","browser":"edge"}
2
- {"type":"compile_success","ts":"2026-07-12T19:43:10.419Z","command":"start","browser":"edge","durationMs":56,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-12T19:43:12.889Z","command":"start","browser":"edge"}
4
- {"type":"compile_success","ts":"2026-07-12T19:43:12.935Z","command":"start","browser":"edge","durationMs":54,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-12T19:45:48.779Z","command":"start","browser":"edge"}
6
- {"type":"compile_success","ts":"2026-07-12T19:45:48.824Z","command":"start","browser":"edge","durationMs":54,"errorCount":0}
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}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "edge",
5
- "runId": "mri7eapz-3n0b7ax2",
6
- "startedAt": "2026-07-12T19:45:48.743Z",
5
+ "runId": "mrjgdtv5-gog966ti",
6
+ "startedAt": "2026-07-13T16:45:09.617Z",
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": 8606,
13
- "ts": "2026-07-12T19:45:48.824Z",
14
- "compiledAt": "2026-07-12T19:45:48.824Z",
12
+ "pid": 8617,
13
+ "ts": "2026-07-13T16:45:09.691Z",
14
+ "compiledAt": "2026-07-13T16:45:09.691Z",
15
15
  "errors": []
16
16
  }
@@ -1,8 +1,8 @@
1
- {"type":"compile_start","ts":"2026-07-12T19:43:09.717Z","command":"start","browser":"firefox"}
2
- {"type":"compile_success","ts":"2026-07-12T19:43:09.774Z","command":"start","browser":"firefox","durationMs":64,"errorCount":0}
3
- {"type":"compile_start","ts":"2026-07-12T19:43:12.269Z","command":"start","browser":"firefox"}
4
- {"type":"compile_success","ts":"2026-07-12T19:43:12.317Z","command":"start","browser":"firefox","durationMs":54,"errorCount":0}
5
- {"type":"compile_start","ts":"2026-07-12T19:43:42.386Z","command":"start","browser":"firefox"}
6
- {"type":"compile_success","ts":"2026-07-12T19:43:42.469Z","command":"start","browser":"firefox","durationMs":91,"errorCount":0}
7
- {"type":"compile_start","ts":"2026-07-12T19:45:48.154Z","command":"start","browser":"firefox"}
8
- {"type":"compile_success","ts":"2026-07-12T19:45:48.201Z","command":"start","browser":"firefox","durationMs":55,"errorCount":0}
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}
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "command": "start",
4
4
  "browser": "firefox",
5
- "runId": "mri7ea8o-id24nra8",
6
- "startedAt": "2026-07-12T19:45:48.121Z",
5
+ "runId": "mrjgdtel-8m7osv9k",
6
+ "startedAt": "2026-07-13T16:45:09.021Z",
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": 8566,
13
- "ts": "2026-07-12T19:45:48.201Z",
14
- "compiledAt": "2026-07-12T19:45:48.201Z",
12
+ "pid": 8577,
13
+ "ts": "2026-07-13T16:45:09.099Z",
14
+ "compiledAt": "2026-07-13T16:45:09.099Z",
15
15
  "errors": []
16
16
  }
@@ -0,0 +1,10 @@
1
+ import { createRequire as __extjsCreateRequire } from "node:module"; const require = __extjsCreateRequire(import.meta.url);
2
+ import { preprocessorShippedUncompiled } from "./845.mjs";
3
+ import * as __rspack_external_path from "path";
4
+ function preprocessorPassthroughLoader(source) {
5
+ const ext = __rspack_external_path.extname(this.resourcePath || '').toLowerCase();
6
+ const tool = '.less' === ext ? 'less' : 'sass';
7
+ this.emitWarning(new Error(preprocessorShippedUncompiled(this.resourcePath, tool)));
8
+ return source;
9
+ }
10
+ export default preprocessorPassthroughLoader;
package/package.json CHANGED
@@ -34,7 +34,7 @@
34
34
  "runtime"
35
35
  ],
36
36
  "name": "extension-develop",
37
- "version": "4.0.8",
37
+ "version": "4.0.9",
38
38
  "description": "Develop, build, preview, and package Extension.js projects.",
39
39
  "author": {
40
40
  "name": "Cezar Augusto",