extension 3.0.0-next.48 → 3.0.0-next.49
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/cli.js +31 -38
- package/dist/utils.d.ts +1 -0
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -23,7 +23,7 @@ var __webpack_require__ = {};
|
|
|
23
23
|
})();
|
|
24
24
|
var __webpack_exports__ = {};
|
|
25
25
|
const external_commander_namespaceObject = require("commander");
|
|
26
|
-
var package_namespaceObject = JSON.parse('{"license":"MIT","repository":{"type":"git","url":"git+https://github.com/extension-js/extension.js.git","directory":"programs/cli"},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.js"}},"main":"./dist/cli.js","types":"./dist/cli.d.ts","typesVersions":{"*":{"types":["./types/index.d.ts"],"types/*":["./types/*"]}},"files":["dist","types"],"bin":{"extension":"./dist/cli.js"},"name":"extension","version":"3.0.0-next.
|
|
26
|
+
var package_namespaceObject = JSON.parse('{"license":"MIT","repository":{"type":"git","url":"git+https://github.com/extension-js/extension.js.git","directory":"programs/cli"},"engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.js","require":"./dist/cli.js"}},"main":"./dist/cli.js","types":"./dist/cli.d.ts","typesVersions":{"*":{"types":["./types/index.d.ts"],"types/*":["./types/*"]}},"files":["dist","types"],"bin":{"extension":"./dist/cli.js"},"name":"extension","version":"3.0.0-next.49","description":"Create cross-browser extensions with no build configuration.","homepage":"https://extension.js.org/","author":{"name":"Cezar Augusto","email":"boss@cezaraugusto.net","url":"https://cezaraugusto.com"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"scripts":{"prepare":"rslib build >/dev/null 2>&1 || true","postinstall":"rslib build >/dev/null 2>&1 || true","compile":"rslib build","watch":"rslib build --watch","test":"vitest run"},"keywords":["zero-config","build","develop","browser","extension","chrome extension","edge extension","firefox extension","safari extension","web","react","typescript","webextension","browser-extension","chrome-extension","firefox-addon","edge-extension","safari-web-extension","manifest-v3","mv3","cross-browser","content-script","background-script","devtools","create-extension","scaffold","starter-template","boilerplate","cli"],"dependencies":{"commander":"^12.1.0","extension-create":"^2.2.0","pintor":"0.3.0","semver":"^7.6.3","update-check":"^1.5.4"},"devDependencies":{"@rslib/core":"^0.6.9","@types/chrome":"^0.0.287","@types/node":"^22.10.1","@types/react":"^19.0.1","@types/react-dom":"^19.0.1","@types/webextension-polyfill":"0.12.3","@types/mock-fs":"^4.13.4","@types/semver":"^7.5.8","mock-fs":"^5.4.1","webextension-polyfill":"^0.12.0","tsconfig":"*","typescript":"5.7.2","vitest":"^3.2.4"}}');
|
|
27
27
|
const external_update_check_namespaceObject = require("update-check");
|
|
28
28
|
var external_update_check_default = /*#__PURE__*/ __webpack_require__.n(external_update_check_namespaceObject);
|
|
29
29
|
const external_pintor_namespaceObject = require("pintor");
|
|
@@ -503,6 +503,27 @@ if (!telemetryDisabled) {
|
|
|
503
503
|
const external_extension_create_namespaceObject = require("extension-create");
|
|
504
504
|
const external_node_child_process_namespaceObject = require("node:child_process");
|
|
505
505
|
const external_node_url_namespaceObject = require("node:url");
|
|
506
|
+
function resolveModuleEntry(modulePath, pkgJson) {
|
|
507
|
+
const exportsField = pkgJson.exports;
|
|
508
|
+
let main = pkgJson.main;
|
|
509
|
+
if (!main && 'string' == typeof exportsField) main = exportsField;
|
|
510
|
+
if (!main && exportsField && 'object' == typeof exportsField) {
|
|
511
|
+
const dotExport = exportsField['.'];
|
|
512
|
+
if ('string' == typeof dotExport) main = dotExport;
|
|
513
|
+
else if (dotExport && 'object' == typeof dotExport) main = dotExport.import || dotExport.require || dotExport.default || dotExport.node;
|
|
514
|
+
if (!main) {
|
|
515
|
+
const maybe = exportsField.import || exportsField.require || exportsField.default || exportsField.node;
|
|
516
|
+
if ('string' == typeof maybe) main = maybe;
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
if (main) return (0, external_node_url_namespaceObject.pathToFileURL)(external_node_path_default().join(modulePath, main)).href;
|
|
520
|
+
const candidates = [
|
|
521
|
+
external_node_path_default().join(modulePath, 'dist', 'module.js'),
|
|
522
|
+
external_node_path_default().join(modulePath, 'dist', 'index.js'),
|
|
523
|
+
external_node_path_default().join(modulePath, 'index.js')
|
|
524
|
+
];
|
|
525
|
+
for (const candidate of candidates)if (external_node_fs_default().existsSync(candidate)) return (0, external_node_url_namespaceObject.pathToFileURL)(candidate).href;
|
|
526
|
+
}
|
|
506
527
|
function parseOptionalBoolean(value) {
|
|
507
528
|
if (void 0 === value) return true;
|
|
508
529
|
const normalized = String(value).trim().toLowerCase();
|
|
@@ -547,13 +568,9 @@ async function requireOrDlx(moduleName, versionHint) {
|
|
|
547
568
|
});
|
|
548
569
|
} catch {}
|
|
549
570
|
try {
|
|
550
|
-
var _pkgJson_exports_, _pkgJson_exports, _pkgJson_exports_1, _pkgJson_exports1;
|
|
551
571
|
const pkgJson = JSON.parse(external_node_fs_default().readFileSync(external_node_path_default().join(modulePath, 'package.json'), 'utf8'));
|
|
552
|
-
const
|
|
553
|
-
if (
|
|
554
|
-
const resolved = (0, external_node_url_namespaceObject.pathToFileURL)(external_node_path_default().join(modulePath, main)).href;
|
|
555
|
-
return await import(resolved);
|
|
556
|
-
}
|
|
572
|
+
const entry = resolveModuleEntry(modulePath, pkgJson);
|
|
573
|
+
if (entry) return await import(entry);
|
|
557
574
|
} catch {}
|
|
558
575
|
if ('pnpm' === prefer) try {
|
|
559
576
|
external_node_fs_default().writeFileSync(external_node_path_default().join(cacheDir, 'package.json'), JSON.stringify({
|
|
@@ -632,15 +649,11 @@ async function requireOrDlx(moduleName, versionHint) {
|
|
|
632
649
|
}
|
|
633
650
|
if (0 !== status) throw new Error(`Failed to install ${spec}`);
|
|
634
651
|
try {
|
|
635
|
-
var _pkgJson_exports_2, _pkgJson_exports2, _pkgJson_exports_3, _pkgJson_exports3;
|
|
636
652
|
const pkgJson = JSON.parse(external_node_fs_default().readFileSync(external_node_path_default().join(modulePath, 'package.json'), 'utf8'));
|
|
637
|
-
const
|
|
638
|
-
if (
|
|
639
|
-
const resolved = (0, external_node_url_namespaceObject.pathToFileURL)(external_node_path_default().join(modulePath, main)).href;
|
|
640
|
-
return await import(resolved);
|
|
641
|
-
}
|
|
653
|
+
const entry = resolveModuleEntry(modulePath, pkgJson);
|
|
654
|
+
if (entry) return await import(entry);
|
|
642
655
|
} catch {}
|
|
643
|
-
|
|
656
|
+
throw new Error(`Failed to resolve entry point for ${moduleName} (${spec}) at ${modulePath}. This likely means the installed "extension-develop" version is incompatible with this CLI.`);
|
|
644
657
|
}
|
|
645
658
|
const vendors = (browser)=>{
|
|
646
659
|
const value = browser ?? 'chromium';
|
|
@@ -723,13 +736,8 @@ function registerDevCommand(program, telemetry) {
|
|
|
723
736
|
devOptions.watchSource = true;
|
|
724
737
|
}
|
|
725
738
|
const versionExact = String(package_namespaceObject.version);
|
|
726
|
-
const major = String(package_namespaceObject.version).split('.')[0] || '2';
|
|
727
739
|
let extensionDev;
|
|
728
|
-
|
|
729
|
-
({ extensionDev } = await requireOrDlx('extension-develop', versionExact));
|
|
730
|
-
} catch {
|
|
731
|
-
({ extensionDev } = await requireOrDlx('extension-develop', major));
|
|
732
|
-
}
|
|
740
|
+
({ extensionDev } = await requireOrDlx('extension-develop', versionExact));
|
|
733
741
|
for (const vendor of list){
|
|
734
742
|
var _devOptions_polyfill1;
|
|
735
743
|
const vendorStart = Date.now();
|
|
@@ -806,13 +814,8 @@ function registerStartCommand(program, telemetry) {
|
|
|
806
814
|
console.error(unsupportedBrowserFlag(invalid, supported));
|
|
807
815
|
});
|
|
808
816
|
const versionExact = String(package_namespaceObject.version);
|
|
809
|
-
const major = versionExact.split('.')[0] || '2';
|
|
810
817
|
let extensionStart;
|
|
811
|
-
|
|
812
|
-
({ extensionStart } = await requireOrDlx('extension-develop', versionExact));
|
|
813
|
-
} catch {
|
|
814
|
-
({ extensionStart } = await requireOrDlx('extension-develop', major));
|
|
815
|
-
}
|
|
818
|
+
({ extensionStart } = await requireOrDlx('extension-develop', versionExact));
|
|
816
819
|
for (const vendor of list){
|
|
817
820
|
const vendorStart = Date.now();
|
|
818
821
|
telemetry.track('cli_vendor_start', {
|
|
@@ -889,13 +892,8 @@ function registerPreviewCommand(program, telemetry) {
|
|
|
889
892
|
if (isRemote) process.env.EXTJS_LIGHT = '1';
|
|
890
893
|
}
|
|
891
894
|
const versionExact = String(package_namespaceObject.version);
|
|
892
|
-
const major = versionExact.split('.')[0] || '2';
|
|
893
895
|
let extensionPreview;
|
|
894
|
-
|
|
895
|
-
({ extensionPreview } = await requireOrDlx('extension-develop', versionExact));
|
|
896
|
-
} catch {
|
|
897
|
-
({ extensionPreview } = await requireOrDlx('extension-develop', major));
|
|
898
|
-
}
|
|
896
|
+
({ extensionPreview } = await requireOrDlx('extension-develop', versionExact));
|
|
899
897
|
for (const vendor of list){
|
|
900
898
|
const vendorStart = Date.now();
|
|
901
899
|
telemetry.track('cli_vendor_start', {
|
|
@@ -971,13 +969,8 @@ function registerBuildCommand(program, telemetry) {
|
|
|
971
969
|
console.error(unsupportedBrowserFlag(invalid, supported));
|
|
972
970
|
});
|
|
973
971
|
const versionExact = String(package_namespaceObject.version);
|
|
974
|
-
const major = versionExact.split('.')[0] || '2';
|
|
975
972
|
let extensionBuild;
|
|
976
|
-
|
|
977
|
-
({ extensionBuild } = await requireOrDlx('extension-develop', versionExact));
|
|
978
|
-
} catch {
|
|
979
|
-
({ extensionBuild } = await requireOrDlx('extension-develop', major));
|
|
980
|
-
}
|
|
973
|
+
({ extensionBuild } = await requireOrDlx('extension-develop', versionExact));
|
|
981
974
|
for (const vendor of list){
|
|
982
975
|
const vendorStart = Date.now();
|
|
983
976
|
telemetry.track('cli_vendor_start', {
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare function resolveModuleEntry(modulePath: string, pkgJson: any): string | undefined;
|
|
1
2
|
export type Browser = 'chrome' | 'edge' | 'firefox' | 'chromium' | 'chromium-based' | 'gecko-based' | 'firefox-based';
|
|
2
3
|
export declare function parseOptionalBoolean(value?: string): boolean;
|
|
3
4
|
export declare function requireOrDlx(moduleName: string, versionHint?: string): Promise<any>;
|
package/package.json
CHANGED
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"extension": "./dist/cli.js"
|
|
36
36
|
},
|
|
37
37
|
"name": "extension",
|
|
38
|
-
"version": "3.0.0-next.
|
|
38
|
+
"version": "3.0.0-next.49",
|
|
39
39
|
"description": "Create cross-browser extensions with no build configuration.",
|
|
40
40
|
"homepage": "https://extension.js.org/",
|
|
41
41
|
"author": {
|