extension-install 4.0.30 → 4.0.33

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.
@@ -1,2 +1,8 @@
1
1
  export type InstallBrowserTarget = 'chrome' | 'chromium' | 'edge' | 'firefox';
2
+ export declare const BROWSER_ALIASES: Record<string, InstallBrowserTarget>;
3
+ export declare class BrowserNotInstallableError extends Error {
4
+ readonly code: 'BROWSER_NOT_INSTALLABLE';
5
+ constructor(message: string);
6
+ }
7
+ export declare function isBrowserNotInstallableError(error: unknown): error is BrowserNotInstallableError;
2
8
  export declare function normalizeBrowserName(input: string): InstallBrowserTarget;
package/dist/module.cjs CHANGED
@@ -37,11 +37,24 @@ var __webpack_require__ = {};
37
37
  var __webpack_exports__ = {};
38
38
  __webpack_require__.r(__webpack_exports__);
39
39
  __webpack_require__.d(__webpack_exports__, {
40
+ BrowserNotInstallableError: ()=>BrowserNotInstallableError,
40
41
  extensionInstall: ()=>extensionInstall,
41
42
  extensionUninstall: ()=>extensionUninstall,
42
43
  getManagedBrowserInstallDir: ()=>getManagedBrowserInstallDir,
43
- getManagedBrowsersCacheRoot: ()=>getManagedBrowsersCacheRoot
44
+ getManagedBrowsersCacheRoot: ()=>getManagedBrowsersCacheRoot,
45
+ isBrowserNotInstallableError: ()=>isBrowserNotInstallableError,
46
+ normalizeBrowserName: ()=>normalizeBrowserName
44
47
  });
48
+ function _define_property(obj, key, value) {
49
+ if (key in obj) Object.defineProperty(obj, key, {
50
+ value: value,
51
+ enumerable: true,
52
+ configurable: true,
53
+ writable: true
54
+ });
55
+ else obj[key] = value;
56
+ return obj;
57
+ }
45
58
  const BROWSER_ALIASES = {
46
59
  chrome: 'chrome',
47
60
  chromium: 'chromium',
@@ -51,12 +64,21 @@ const BROWSER_ALIASES = {
51
64
  'gecko-based': 'firefox',
52
65
  'firefox-based': 'firefox'
53
66
  };
67
+ class BrowserNotInstallableError extends Error {
68
+ constructor(message){
69
+ super(message), _define_property(this, "code", 'BROWSER_NOT_INSTALLABLE');
70
+ this.name = 'BrowserNotInstallableError';
71
+ }
72
+ }
73
+ function isBrowserNotInstallableError(error) {
74
+ return Boolean(error && 'object' == typeof error && ('BrowserNotInstallableError' === error.name || 'BROWSER_NOT_INSTALLABLE' === error.code));
75
+ }
54
76
  function normalizeBrowserName(input) {
55
77
  const value = String(input || '').trim().toLowerCase();
56
78
  const resolved = BROWSER_ALIASES[value];
57
79
  if (resolved) return resolved;
58
- if ('safari' === value || 'webkit-based' === value) throw new Error("There is no Safari binary to install. Safari ships with macOS. Safari builds need the full Xcode app instead (Mac App Store), then run `extension build --browser safari`.");
59
- throw new Error(`Unsupported browser "${value}". Supported values: ${Object.keys(BROWSER_ALIASES).join(', ')}`);
80
+ if ('safari' === value || 'webkit-based' === value || value.includes('webkit') || value.includes('safari')) throw new BrowserNotInstallableError("There is no Safari binary to install. Safari ships with macOS. Safari builds need the full Xcode app instead (Mac App Store), then run `extension build --browser safari`.");
81
+ throw new BrowserNotInstallableError(`${value} cannot be installed by Extension.js. This CLI never downloads it; it is located from the system when present. Managed installs cover: ${Object.keys(BROWSER_ALIASES).join(', ')}.`);
60
82
  }
61
83
  const external_node_fs_namespaceObject = require("node:fs");
62
84
  var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
@@ -359,9 +381,8 @@ async function extensionUninstall({ browser, all }) {
359
381
  'chromium',
360
382
  'edge',
361
383
  'firefox'
362
- ] : [
363
- normalizeBrowserName(String(browser || ''))
364
- ];
384
+ ] : String(browser || '').split(',').map((part)=>part.trim()).filter(Boolean).map((name)=>normalizeBrowserName(name));
385
+ if (!all && 0 === targets.length) throw new Error(uninstallRequiresTarget());
365
386
  console.log(uninstallingBrowsers(cacheRoot, targets));
366
387
  for (const target of targets){
367
388
  const result = removeBrowserDir(target);
@@ -369,15 +390,21 @@ async function extensionUninstall({ browser, all }) {
369
390
  else console.log(uninstallNoop(target, result.path));
370
391
  }
371
392
  }
393
+ exports.BrowserNotInstallableError = __webpack_exports__.BrowserNotInstallableError;
372
394
  exports.extensionInstall = __webpack_exports__.extensionInstall;
373
395
  exports.extensionUninstall = __webpack_exports__.extensionUninstall;
374
396
  exports.getManagedBrowserInstallDir = __webpack_exports__.getManagedBrowserInstallDir;
375
397
  exports.getManagedBrowsersCacheRoot = __webpack_exports__.getManagedBrowsersCacheRoot;
398
+ exports.isBrowserNotInstallableError = __webpack_exports__.isBrowserNotInstallableError;
399
+ exports.normalizeBrowserName = __webpack_exports__.normalizeBrowserName;
376
400
  for(var __rspack_i in __webpack_exports__)if (-1 === [
401
+ "BrowserNotInstallableError",
377
402
  "extensionInstall",
378
403
  "extensionUninstall",
379
404
  "getManagedBrowserInstallDir",
380
- "getManagedBrowsersCacheRoot"
405
+ "getManagedBrowsersCacheRoot",
406
+ "isBrowserNotInstallableError",
407
+ "normalizeBrowserName"
381
408
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
382
409
  Object.defineProperty(exports, '__esModule', {
383
410
  value: true
package/dist/module.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import { BrowserNotInstallableError, type InstallBrowserTarget, isBrowserNotInstallableError, normalizeBrowserName } from './lib/browser-target';
2
+ export { BrowserNotInstallableError, isBrowserNotInstallableError, normalizeBrowserName };
3
+ export type { InstallBrowserTarget };
1
4
  export interface InstallOptions {
2
5
  browser: string;
3
6
  }
package/package.json CHANGED
@@ -23,7 +23,7 @@
23
23
  "dist"
24
24
  ],
25
25
  "name": "extension-install",
26
- "version": "4.0.30",
26
+ "version": "4.0.33",
27
27
  "description": "Managed browser installer/uninstaller for Extension.js",
28
28
  "author": {
29
29
  "name": "Cezar Augusto",