extension-develop 4.1.26 → 4.1.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/832~0.mjs CHANGED
@@ -18,7 +18,7 @@ import * as __rspack_external_node_fs_1b05aee1 from "node:fs";
18
18
  import * as __rspack_external_node_os_4f3c9d58 from "node:os";
19
19
  import * as __rspack_external_node_path_806ed179 from "node:path";
20
20
  import * as __rspack_external_node_vm_ef240610 from "node:vm";
21
- var package_namespaceObject = /*#__PURE__*/ JSON.parse('{"rE":"4.1.26","El":{"@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.26","acorn":"^8.16.0","browser-extension-manifest-fields":"^3.0.1","case-sensitive-paths-webpack-plugin":"^2.4.0","content-security-policy-parser":"^0.6.0","cross-spawn":"^7.0.6","dotenv":"^17.2.3","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":"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","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"}}');
21
+ var package_namespaceObject = /*#__PURE__*/ JSON.parse('{"rE":"4.1.27","El":{"@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.26","acorn":"^8.16.0","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":"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","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"}}');
22
22
  const preloadedEnvKeys = new Set();
23
23
  function getPreloadedEnvKeys() {
24
24
  return preloadedEnvKeys;
@@ -1592,6 +1592,11 @@ function devServerStartTimeout(ms) {
1592
1592
  `If nothing else prints, set ${pintor.blue('EXTENSION_VERBOSE=1')} to see more logs.`
1593
1593
  ].join('\n');
1594
1594
  }
1595
+ function manifestGoneDuringSession(manifestPath, projectDirGone) {
1596
+ const what = projectDirGone ? 'The project directory disappeared during the session.' : 'The manifest.json file disappeared during the session.';
1597
+ const where = projectDirGone ? __rspack_external_node_path_806ed179.dirname(manifestPath) : manifestPath;
1598
+ return `${getLoggingPrefix('error')} ${what}\n${pintor.gray('NOT FOUND')} ${pintor.underline(collapseHomeDir(where))}\nThe last good build stays loaded. Restore it to keep working, or stop and run ${pintor.blue('extension dev')} again with the right path.`;
1599
+ }
1595
1600
  function bundlerFatalError(error) {
1596
1601
  const text = error instanceof Error ? error.stack || error.message : String(error);
1597
1602
  return `${getLoggingPrefix('error')} The build failed to start.\n${pintor.red(text)}`;
@@ -1885,4 +1890,4 @@ async function extensionPreview(pathOrRemoteUrl, previewOptions, browserLauncher
1885
1890
  metadata.writeShutdown(`the ${metadataCommand} session ended`);
1886
1891
  });
1887
1892
  }
1888
- export { BUILD_COMMAND_DEFAULTS, DEV_COMMAND_DEFAULTS, PlaywrightPlugin, START_BUILD_DEFAULTS, assertNoManagedDependencyConflicts, autoExitForceKill, autoExitModeEnabled, autoExitTriggered, browserRunnerDisabled, bundlerFatalError, bundlerRecompiling, computeExtensionsToLoad, createPlaywrightMetadataWriter, devServerRestarting, devServerStartTimeout, emulatorViewerUrl, extensionJsRunnerError, extensionPreview, getPreloadedEnvKeys, getSessionRunId, getSpecialFoldersDataForCompiler, getSpecialFoldersDataForProjectRoot, loadBrowserConfig, loadCommandConfig, loadCustomConfig, loadProjectConfigDefaults, mergeOptionLayers, messages_ready, noEntrypointsDetected, package_namespaceObject, portInUse, publicFolderShadowed, publicMustBeAtProjectRoot, resolveCompanionExtensionDirs, resolveCompanionExtensionsConfig, runnerCleanupError, runnerUncaughtException, runnerUnhandledRejection, sanitize, serverRestartRequiredFromSpecialFolderMessageOnly, shouldWarnPortConflict, spacerLine, specialFolderChangeDetected, specialFoldersSetupSummary, stampReadyDistExtensionId, stampReadyKnownExtensionId, withDarkMode };
1893
+ export { BUILD_COMMAND_DEFAULTS, DEV_COMMAND_DEFAULTS, PlaywrightPlugin, START_BUILD_DEFAULTS, assertNoManagedDependencyConflicts, autoExitForceKill, autoExitModeEnabled, autoExitTriggered, browserRunnerDisabled, bundlerFatalError, bundlerRecompiling, computeExtensionsToLoad, createPlaywrightMetadataWriter, devServerRestarting, devServerStartTimeout, emulatorViewerUrl, extensionJsRunnerError, extensionPreview, getPreloadedEnvKeys, getSessionRunId, getSpecialFoldersDataForCompiler, getSpecialFoldersDataForProjectRoot, loadBrowserConfig, loadCommandConfig, loadCustomConfig, loadProjectConfigDefaults, manifestGoneDuringSession, mergeOptionLayers, messages_ready, noEntrypointsDetected, package_namespaceObject, portInUse, publicFolderShadowed, publicMustBeAtProjectRoot, resolveCompanionExtensionDirs, resolveCompanionExtensionsConfig, runnerCleanupError, runnerUncaughtException, runnerUnhandledRejection, sanitize, serverRestartRequiredFromSpecialFolderMessageOnly, shouldWarnPortConflict, spacerLine, specialFolderChangeDetected, specialFoldersSetupSummary, stampReadyDistExtensionId, stampReadyKnownExtensionId, withDarkMode };
package/dist/852~0.mjs CHANGED
@@ -79,9 +79,20 @@ function card(input = {}) {
79
79
  ...body
80
80
  ].join('\n');
81
81
  }
82
- function browserRowValue(browser, versionLine) {
82
+ const BRAND_SPELLINGS = {
83
+ librewolf: 'LibreWolf',
84
+ chromium: 'Chromium',
85
+ 'chromium-based': 'Chromium-based',
86
+ 'gecko-based': 'Gecko-based',
87
+ 'firefox-based': 'Firefox-based',
88
+ 'webkit-based': 'WebKit-based'
89
+ };
90
+ function browserDisplayName(browser) {
83
91
  const name = String(browser || '').trim() || 'unknown';
84
- const display = name.charAt(0).toUpperCase() + name.slice(1);
92
+ return BRAND_SPELLINGS[name] || name.charAt(0).toUpperCase() + name.slice(1);
93
+ }
94
+ function browserRowValue(browser, versionLine) {
95
+ const display = browserDisplayName(browser);
85
96
  const line = String(versionLine || '').trim();
86
97
  if (!line) return display;
87
98
  if (!/[a-zA-Z]/.test(line)) return `${display} ${line}`;
@@ -7,4 +7,4 @@ export declare function setupNoBrowserBannerOnFirstDone(opts: {
7
7
  readyPath: string;
8
8
  distPath?: string;
9
9
  }): void;
10
- export declare function setupCompilerDoneDiagnostics(compiler: Compiler, port?: number): void;
10
+ export declare function setupCompilerDoneDiagnostics(compiler: Compiler, port?: number, manifestPath?: string): void;
@@ -13,6 +13,7 @@ export declare function autoExitModeEnabled(ms: number): string;
13
13
  export declare function autoExitTriggered(ms: number): string;
14
14
  export declare function autoExitForceKill(ms: number): string;
15
15
  export declare function devServerStartTimeout(ms: number): string;
16
+ export declare function manifestGoneDuringSession(manifestPath: string, projectDirGone: boolean): string;
16
17
  export declare function bundlerFatalError(error: unknown): string;
17
18
  export declare function devServerRestarting(request: {
18
19
  reason: string;
@@ -26,6 +26,7 @@ export interface CardInput {
26
26
  }
27
27
  export declare const MAX_CARD_ROWS = 3;
28
28
  export declare function card(input?: CardInput): string;
29
+ export declare function browserDisplayName(browser: string): string;
29
30
  export declare function browserRowValue(browser: string, versionLine?: string): string;
30
31
  export declare function isCardKeyClaimed(key: string): boolean;
31
32
  export declare function claimCardKey(key: string): boolean;
@@ -15,7 +15,7 @@ import { utils_isUrl, getBaseNode, parseHtml, manifestJsonOutputTarget, getExtna
15
15
  import { prefix as messaging_prefix, isDebug } from "./852~0.mjs";
16
16
  import { GECKO_FAMILY_ALIASES, isEmulatorBrowser, isGeckoBasedBrowser, findNearestProjectManifestSync, readProjectDependencies, isChromiumBasedBrowser, CHROMIUM_FAMILY_ALIASES, stripBom, PROJECT_MANIFEST_FILENAMES, parseJsonSafe, isWebkitBasedBrowser } from "./474~0.mjs";
17
17
  import { maybeUsePreact, isUsingTypeScript, jsFrameworksIntegrationsEnabled, maybeUseReact, isUsingVue, classifyEntrySurface, ensureTypeScriptConfig, resolveDevelopInstallRoot, loadLoaderOptions, getUserTypeScriptConfigFile, svelteCompilerRuntimeMismatch, isUsingIntegration as messages_isUsingIntegration, maybeUseVue, maybeUseSolid, jsFrameworksHmrSummary, humanLine, ensureOptionalContractPackageResolved, jsFrameworksConfigsDetected, recordZipArtifact, hasDependency, resolveDevelopDistFile, isUsingJsxFramework, getJsxImportSource, swcParserForFile, isUsingReact, defaultSplitChunks } from "./840~0.mjs";
18
- import { bundlerFatalError, bundlerRecompiling, browserRunnerDisabled, PlaywrightPlugin, publicFolderShadowed, resolveCompanionExtensionDirs, specialFoldersSetupSummary, noEntrypointsDetected, serverRestartRequiredFromSpecialFolderMessageOnly, specialFolderChangeDetected, spacerLine, messages_ready, getPreloadedEnvKeys, publicMustBeAtProjectRoot, computeExtensionsToLoad, getSpecialFoldersDataForCompiler } from "./832~0.mjs";
18
+ import { manifestGoneDuringSession, bundlerFatalError, bundlerRecompiling, browserRunnerDisabled, PlaywrightPlugin, publicFolderShadowed, resolveCompanionExtensionDirs, specialFoldersSetupSummary, noEntrypointsDetected, serverRestartRequiredFromSpecialFolderMessageOnly, specialFolderChangeDetected, spacerLine, messages_ready, getPreloadedEnvKeys, publicMustBeAtProjectRoot, computeExtensionsToLoad, getSpecialFoldersDataForCompiler } from "./832~0.mjs";
19
19
  import { renderStatsBlocks, makeSanitizedConsole } from "./stats-handler~0.mjs";
20
20
  import { EXTENSIONJS_CONTENT_SCRIPT_LAYER, getCanonicalContentScriptEntryName, parseCanonicalContentScriptAsset, CONTENT_SCRIPT_CSS_PROBE_MARKER_PREFIX, createContentScriptCssProbeMarkerPattern, getCanonicalContentScriptJsAssetName, getCanonicalContentScriptCssAssetName, isCanonicalContentScriptAsset } from "./640~0.mjs";
21
21
  import { getURLDependencyMissing, findDroppedVendorKeys, isStaticThemeSource, workerStartedFromPageContext, importScriptsDependencyMissing, filterKeysForThisBrowser, findPrefixedManifestVersionKeys, injectedCompiledSourceLiteral, staticImportDependencyMissing, entrySplitAcrossInitialFiles, fetchedFileDependencyMissing, isStaticTheme, compiledSourceSpelling, injectedFileDependencyMissing, isValidManifestVersion, runtimeSetSurfaceDependencyMissing } from "./672~0.mjs";
@@ -218,9 +218,21 @@ function setupNoBrowserBannerOnFirstDone(opts) {
218
218
  humanLine(messages_ready('development', opts.browser));
219
219
  });
220
220
  }
221
- function setupCompilerDoneDiagnostics(compiler, port) {
221
+ function setupCompilerDoneDiagnostics(compiler, port, manifestPath) {
222
222
  let reportedNoEntries = false;
223
+ let manifestSeen = false;
224
+ let reportedManifestGone = false;
223
225
  compiler.hooks.done.tap('extension.js:done', (stats)=>{
226
+ const manifestExists = Boolean(manifestPath && __rspack_external_node_fs_1b05aee1.existsSync(manifestPath));
227
+ if (manifestExists) manifestSeen = true;
228
+ if (manifestPath && manifestSeen && !manifestExists) {
229
+ if (!reportedManifestGone) {
230
+ reportedManifestGone = true;
231
+ console.error(manifestGoneDuringSession(manifestPath, !__rspack_external_node_fs_1b05aee1.existsSync(__rspack_external_node_path_806ed179.dirname(manifestPath))));
232
+ }
233
+ return;
234
+ }
235
+ reportedManifestGone = false;
224
236
  try {
225
237
  if (stats?.hasErrors?.()) {
226
238
  const str = renderStatsBlocks(stats, {
@@ -1965,7 +1977,7 @@ class CompilationPlugin {
1965
1977
  manifestPath: this.manifestPath,
1966
1978
  browser: this.browser || 'chrome'
1967
1979
  }).apply(compiler);
1968
- if ('build' !== this.command && 'start' !== this.command) setupCompilerDoneDiagnostics(compiler, this.port);
1980
+ if ('build' !== this.command && 'start' !== this.command) setupCompilerDoneDiagnostics(compiler, this.port, this.manifestPath);
1969
1981
  }
1970
1982
  }
1971
1983
  let userMessageDelivered = false;
package/package.json CHANGED
@@ -43,7 +43,7 @@
43
43
  "runtime"
44
44
  ],
45
45
  "name": "extension-develop",
46
- "version": "4.1.26",
46
+ "version": "4.1.27",
47
47
  "description": "Develop, build, preview, and package Extension.js projects.",
48
48
  "author": {
49
49
  "name": "Cezar Augusto",
@@ -100,11 +100,11 @@
100
100
  "@rspack/plugin-react-refresh": "2.0.2",
101
101
  "@vue/compiler-sfc": "3.5.26",
102
102
  "acorn": "^8.16.0",
103
- "browser-extension-manifest-fields": "^3.0.1",
103
+ "browser-extension-manifest-fields": "^3.0.2",
104
104
  "case-sensitive-paths-webpack-plugin": "^2.4.0",
105
105
  "content-security-policy-parser": "^0.6.0",
106
106
  "cross-spawn": "^7.0.6",
107
- "dotenv": "^17.2.3",
107
+ "dotenv": "^18.0.0",
108
108
  "es-module-lexer": "^3.0.2",
109
109
  "extension-from-store": "^0.2.5",
110
110
  "fflate": "^0.8.3",