adnbn 0.5.4 → 0.5.5
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/builders/app/index.d.ts +2 -2
- package/dist/cli/builders/locale/index.d.ts +2 -2
- package/dist/cli/builders/manifest/ManifestBase.d.ts +5 -4
- package/dist/cli/builders/manifest/ManifestBase.js +16 -9
- package/dist/cli/builders/manifest/ManifestBase.js.map +1 -1
- package/dist/cli/builders/manifest/ManifestV2.d.ts +1 -1
- package/dist/cli/builders/manifest/ManifestV3.d.ts +1 -1
- package/dist/cli/builders/manifest/index.d.ts +2 -2
- package/dist/cli/builders/manifest/utils.d.ts +19 -5
- package/dist/cli/builders/manifest/utils.js +23 -1
- package/dist/cli/builders/manifest/utils.js.map +1 -1
- package/dist/cli/bundler/index.d.ts +1 -1
- package/dist/cli/bundler/plugins/EntrypointPlugin.d.ts +1 -1
- package/dist/cli/bundler/plugins/ManifestPlugin.d.ts +1 -1
- package/dist/cli/bundler/plugins/index.d.ts +1 -1
- package/dist/cli/entrypoint/finder/AbstractAssetFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/AbstractEntrypointFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/AbstractFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/AbstractOptionsFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/AbstractPluginFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/AbstractTransportFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/AbstractViewFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/AssetPluginFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/BackgroundFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/CommandFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/ContentFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/IconFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/LocaleFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/OffscreenFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/OffscreenViewFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/PageFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/PluginFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/PopupFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/RelayFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/ServiceFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/SidebarFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/index.d.ts +2 -2
- package/dist/cli/entrypoint/index.d.ts +2 -2
- package/dist/cli/entrypoint/name/InlineNameGenerator.d.ts +1 -1
- package/dist/cli/entrypoint/name/NameGenerator.d.ts +1 -1
- package/dist/cli/entrypoint/name/index.d.ts +1 -1
- package/dist/cli/entrypoint/parser/AbstractParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/BackgroundParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/CommandParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/ContentParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/OffscreenParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/PageParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/PopupParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/RelayParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/ServiceParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/SidebarParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/ViewParser.d.ts +2 -2
- package/dist/cli/entrypoint/parser/index.d.ts +2 -2
- package/dist/cli/entrypoint/utils/framework.d.ts +1 -1
- package/dist/cli/entrypoint/utils/index.d.ts +1 -1
- package/dist/cli/plugins/asset.d.ts +2 -2
- package/dist/cli/plugins/background/Background.d.ts +2 -2
- package/dist/cli/plugins/background/BackgroundEntry.d.ts +2 -2
- package/dist/cli/plugins/background/BackgroundManifest.d.ts +2 -2
- package/dist/cli/plugins/background/Command.d.ts +2 -2
- package/dist/cli/plugins/background/Service.d.ts +2 -2
- package/dist/cli/plugins/background/ServiceDeclaration.d.ts +2 -2
- package/dist/cli/plugins/background/index.d.ts +2 -2
- package/dist/cli/plugins/bundler.d.ts +2 -2
- package/dist/cli/plugins/content/Content.d.ts +2 -2
- package/dist/cli/plugins/content/ContentDriver.d.ts +2 -2
- package/dist/cli/plugins/content/ContentManager.d.ts +2 -2
- package/dist/cli/plugins/content/ContentName.d.ts +2 -2
- package/dist/cli/plugins/content/Relay.d.ts +2 -2
- package/dist/cli/plugins/content/RelayDeclaration.d.ts +2 -2
- package/dist/cli/plugins/content/index.d.ts +2 -2
- package/dist/cli/plugins/content/types.d.ts +1 -1
- package/dist/cli/plugins/content/utils.d.ts +1 -1
- package/dist/cli/plugins/dotenv/index.d.ts +2 -2
- package/dist/cli/plugins/html.d.ts +2 -2
- package/dist/cli/plugins/icon/Icon.d.ts +2 -2
- package/dist/cli/plugins/icon/declaration/IconDeclaration.d.ts +2 -2
- package/dist/cli/plugins/icon/declaration/index.d.ts +2 -2
- package/dist/cli/plugins/icon/index.d.ts +2 -2
- package/dist/cli/plugins/index.d.ts +3 -3
- package/dist/cli/plugins/locale/Locale.d.ts +2 -2
- package/dist/cli/plugins/locale/declaration/LocaleDeclaration.d.ts +2 -2
- package/dist/cli/plugins/locale/declaration/index.d.ts +2 -2
- package/dist/cli/plugins/locale/index.d.ts +2 -2
- package/dist/cli/plugins/meta/AbstractMeta.d.ts +2 -2
- package/dist/cli/plugins/meta/Author.d.ts +2 -2
- package/dist/cli/plugins/meta/Homepage.d.ts +2 -2
- package/dist/cli/plugins/meta/Incognito.d.ts +2 -2
- package/dist/cli/plugins/meta/SpecificSettings.d.ts +2 -2
- package/dist/cli/plugins/meta/SpecificSettings.js +7 -1
- package/dist/cli/plugins/meta/SpecificSettings.js.map +1 -1
- package/dist/cli/plugins/meta/index.d.ts +2 -2
- package/dist/cli/plugins/meta/index.js +1 -1
- package/dist/cli/plugins/meta/index.js.map +1 -1
- package/dist/cli/plugins/offscreen/Offscreen.d.ts +2 -2
- package/dist/cli/plugins/offscreen/OffscreenDeclaration.d.ts +2 -2
- package/dist/cli/plugins/offscreen/index.d.ts +2 -2
- package/dist/cli/plugins/optimization.d.ts +2 -2
- package/dist/cli/plugins/output.d.ts +2 -2
- package/dist/cli/plugins/page/Page.d.ts +2 -2
- package/dist/cli/plugins/page/declaration/PageDeclaration.d.ts +2 -2
- package/dist/cli/plugins/page/declaration/index.d.ts +2 -2
- package/dist/cli/plugins/page/index.d.ts +2 -2
- package/dist/cli/plugins/popup/Popup.d.ts +2 -2
- package/dist/cli/plugins/popup/declaration/PopupDeclaration.d.ts +2 -2
- package/dist/cli/plugins/popup/declaration/index.d.ts +2 -2
- package/dist/cli/plugins/popup/index.d.ts +2 -2
- package/dist/cli/plugins/public.d.ts +2 -2
- package/dist/cli/plugins/react.d.ts +2 -2
- package/dist/cli/plugins/sidebar/Sidebar.d.ts +2 -2
- package/dist/cli/plugins/sidebar/declaration/SidebarDeclaration.d.ts +2 -2
- package/dist/cli/plugins/sidebar/declaration/index.d.ts +2 -2
- package/dist/cli/plugins/sidebar/index.d.ts +2 -2
- package/dist/cli/plugins/style.d.ts +2 -2
- package/dist/cli/plugins/typescript/FileBuilder.d.ts +2 -2
- package/dist/cli/plugins/typescript/TypescriptConfig.d.ts +2 -2
- package/dist/cli/plugins/typescript/declaration/index.d.ts +2 -2
- package/dist/cli/plugins/typescript/declaration/transport/TransportDeclaration.d.ts +2 -2
- package/dist/cli/plugins/typescript/declaration/transport/index.d.ts +2 -2
- package/dist/cli/plugins/typescript/declaration/vendor/VendorDeclaration.d.ts +2 -2
- package/dist/cli/plugins/typescript/declaration/vendor/index.d.ts +2 -2
- package/dist/cli/plugins/typescript/index.d.ts +2 -2
- package/dist/cli/plugins/version/AbstractVersion.d.ts +2 -2
- package/dist/cli/plugins/version/AddonVersion.d.ts +2 -2
- package/dist/cli/plugins/version/BrowserMinimumVersion.d.ts +2 -2
- package/dist/cli/plugins/version/index.d.ts +2 -2
- package/dist/cli/plugins/view/View.d.ts +2 -2
- package/dist/cli/plugins/view/index.d.ts +2 -2
- package/dist/cli/resolvers/bundler.d.ts +2 -2
- package/dist/cli/resolvers/config.d.ts +2 -2
- package/dist/cli/resolvers/path.d.ts +2 -2
- package/dist/cli/resolvers/plugin.d.ts +2 -2
- package/dist/{config-CMqSGthq.d.ts → config-BaSTGrd0.d.ts} +2 -2
- package/dist/entry/background/Builder.d.ts +1 -1
- package/dist/entry/background/index.d.ts +1 -1
- package/dist/entry/background/resolvers/definition.d.ts +1 -1
- package/dist/entry/background/resolvers/index.d.ts +1 -1
- package/dist/entry/command/Builder.d.ts +1 -1
- package/dist/entry/command/index.d.ts +1 -1
- package/dist/entry/command/resolvers/definition.d.ts +1 -1
- package/dist/entry/command/resolvers/index.d.ts +1 -1
- package/dist/entry/content/adapters/react/Builder.d.ts +1 -1
- package/dist/entry/content/adapters/react/Node.d.ts +1 -1
- package/dist/entry/content/adapters/react/index.d.ts +1 -1
- package/dist/entry/content/adapters/react/resolvers/index.d.ts +1 -1
- package/dist/entry/content/adapters/react/resolvers/render.d.ts +1 -1
- package/dist/entry/content/adapters/vanilla/Builder.d.ts +1 -1
- package/dist/entry/content/adapters/vanilla/Node.d.ts +1 -1
- package/dist/entry/content/adapters/vanilla/index.d.ts +1 -1
- package/dist/entry/content/core/AbstractMarker.d.ts +1 -1
- package/dist/entry/content/core/AttributeMarker.d.ts +1 -1
- package/dist/entry/content/core/Builder.d.ts +1 -1
- package/dist/entry/content/core/Context.d.ts +1 -1
- package/dist/entry/content/core/EventEmitter.d.ts +1 -1
- package/dist/entry/content/core/EventNode.d.ts +1 -1
- package/dist/entry/content/core/ManagedContext.d.ts +1 -1
- package/dist/entry/content/core/MarkerNode.d.ts +1 -1
- package/dist/entry/content/core/MountBuilder.d.ts +1 -1
- package/dist/entry/content/core/MountNode.d.ts +1 -1
- package/dist/entry/content/core/Node.d.ts +1 -1
- package/dist/entry/content/core/WeakMarker.d.ts +1 -1
- package/dist/entry/content/core/resolvers/anchor.d.ts +1 -1
- package/dist/entry/content/core/resolvers/container.d.ts +1 -1
- package/dist/entry/content/core/resolvers/definition.d.ts +1 -1
- package/dist/entry/content/core/resolvers/index.d.ts +1 -1
- package/dist/entry/content/core/resolvers/mount.d.ts +1 -1
- package/dist/entry/content/core/resolvers/render.d.ts +1 -1
- package/dist/entry/content/core/resolvers/watch.d.ts +1 -1
- package/dist/entry/content/index.d.ts +1 -1
- package/dist/entry/core/Builder.d.ts +1 -1
- package/dist/entry/offscreen/Builder.d.ts +1 -1
- package/dist/entry/offscreen/TransportBuilder.d.ts +1 -1
- package/dist/entry/offscreen/index.d.ts +1 -1
- package/dist/entry/relay/Builder.d.ts +1 -1
- package/dist/entry/relay/TransportBuilder.d.ts +1 -1
- package/dist/entry/relay/index.d.ts +1 -1
- package/dist/entry/service/Builder.d.ts +1 -1
- package/dist/entry/service/index.d.ts +1 -1
- package/dist/entry/transport/AbstractBuilder.d.ts +1 -1
- package/dist/entry/transport/index.d.ts +1 -1
- package/dist/entry/transport/resolvers/definition.d.ts +1 -1
- package/dist/entry/transport/resolvers/index.d.ts +1 -1
- package/dist/entry/view/adapters/react/Builder.d.ts +1 -1
- package/dist/entry/view/adapters/react/index.d.ts +1 -1
- package/dist/entry/view/adapters/react/resolvers/render.d.ts +1 -1
- package/dist/entry/view/adapters/vanilla/Builder.d.ts +1 -1
- package/dist/entry/view/adapters/vanilla/index.d.ts +1 -1
- package/dist/entry/view/core/Builder.d.ts +1 -1
- package/dist/entry/view/core/resolvers/container.d.ts +1 -1
- package/dist/entry/view/core/resolvers/definition.d.ts +2 -2
- package/dist/entry/view/core/resolvers/render.d.ts +1 -1
- package/dist/entry/view/index.d.ts +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/locale/utils.d.ts +1 -1
- package/dist/main/background.d.ts +2 -2
- package/dist/main/browser.d.ts +1 -1
- package/dist/main/browser.js +3 -2
- package/dist/main/browser.js.map +1 -1
- package/dist/main/command.d.ts +2 -2
- package/dist/main/config.d.ts +3 -3
- package/dist/main/content.d.ts +2 -2
- package/dist/main/env.d.ts +1 -1
- package/dist/main/index.d.ts +8 -8
- package/dist/main/manifest.d.ts +1 -1
- package/dist/main/offscreen.d.ts +1 -1
- package/dist/main/page.d.ts +1 -1
- package/dist/main/plugin.d.ts +3 -3
- package/dist/main/popup.d.ts +1 -1
- package/dist/main/relay.d.ts +1 -1
- package/dist/main/service.d.ts +1 -1
- package/dist/main/sidebar.d.ts +1 -1
- package/dist/main/view.d.ts +1 -1
- package/dist/{manifest-Ioznc9PX.d.ts → manifest-DKvERQ4d.d.ts} +12 -7
- package/dist/message/index.d.ts +1 -1
- package/dist/offscreen/OffscreenManager.d.ts +1 -1
- package/dist/offscreen/OffscreenMessage.d.ts +1 -1
- package/dist/offscreen/index.d.ts +1 -1
- package/dist/offscreen/providers/Offscreen.d.ts +1 -1
- package/dist/offscreen/providers/ProxyOffscreen.d.ts +1 -1
- package/dist/offscreen/providers/RegisterOffscreen.d.ts +1 -1
- package/dist/offscreen/providers/index.d.ts +1 -1
- package/dist/relay/RelayManager.d.ts +1 -1
- package/dist/relay/RelayMessage.d.ts +1 -1
- package/dist/relay/RelayPermission.d.ts +1 -1
- package/dist/relay/index.d.ts +1 -1
- package/dist/relay/providers/ProxyRelay.d.ts +1 -1
- package/dist/relay/providers/RegisterRelay.d.ts +1 -1
- package/dist/relay/providers/Relay.d.ts +1 -1
- package/dist/relay/providers/index.d.ts +1 -1
- package/dist/service/ServiceManager.d.ts +1 -1
- package/dist/service/ServiceMessage.d.ts +1 -1
- package/dist/service/index.d.ts +1 -1
- package/dist/service/providers/ProxyService.d.ts +1 -1
- package/dist/service/providers/RegisterService.d.ts +1 -1
- package/dist/service/providers/Service.d.ts +1 -1
- package/dist/service/providers/index.d.ts +1 -1
- package/dist/transport/BaseTransport.d.ts +1 -1
- package/dist/transport/ProxyTransport.d.ts +1 -1
- package/dist/transport/RegisterTransport.d.ts +1 -1
- package/dist/transport/TransportManager.d.ts +1 -1
- package/dist/transport/TransportMessage.d.ts +1 -1
- package/dist/transport/index.d.ts +1 -1
- package/dist/types/background.d.ts +1 -1
- package/dist/types/background.js.map +1 -1
- package/dist/types/browser.d.ts +25 -1
- package/dist/types/browser.js +16 -1
- package/dist/types/browser.js.map +1 -1
- package/dist/types/command.d.ts +1 -1
- package/dist/types/config.d.ts +2 -2
- package/dist/types/content.d.ts +1 -1
- package/dist/types/entrypoint.d.ts +1 -1
- package/dist/types/manifest.d.ts +1 -1
- package/dist/types/manifest.js.map +1 -1
- package/dist/types/offscreen.d.ts +1 -1
- package/dist/types/page.d.ts +1 -1
- package/dist/types/plugin.d.ts +2 -2
- package/dist/types/popup.d.ts +1 -1
- package/dist/types/relay.d.ts +1 -1
- package/dist/types/service.d.ts +1 -1
- package/dist/types/sidebar.d.ts +1 -1
- package/dist/types/transport.d.ts +1 -1
- package/dist/types/view.d.ts +1 -1
- package/package.json +3 -2
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { O as OptionalConfig } from '../../../config-
|
|
1
|
+
import { O as OptionalConfig } from '../../../config-BaSTGrd0.js';
|
|
2
2
|
import '@rspack/core';
|
|
3
3
|
import 'html-rspack-tags-plugin';
|
|
4
4
|
import '../../../types/app.js';
|
|
5
5
|
import '../../../types/browser.js';
|
|
6
|
-
import '../../../manifest-
|
|
6
|
+
import '../../../manifest-DKvERQ4d.js';
|
|
7
7
|
import 'react';
|
|
8
8
|
import 'utility-types';
|
|
9
9
|
import '../../../types/helpers.js';
|
|
@@ -3,12 +3,12 @@ export { default as LocaleValidator } from './LocaleValidator.js';
|
|
|
3
3
|
export { default as OperaLocaleValidator } from './OperaLocaleValidator.js';
|
|
4
4
|
export { default as FirefoxLocaleValidator } from './FirefoxLocaleValidator.js';
|
|
5
5
|
import { Language, LocaleBuilder } from '../../../types/locale.js';
|
|
6
|
-
import { R as ReadonlyConfig } from '../../../config-
|
|
6
|
+
import { R as ReadonlyConfig } from '../../../config-BaSTGrd0.js';
|
|
7
7
|
import '../../../types/browser.js';
|
|
8
8
|
import '@rspack/core';
|
|
9
9
|
import 'html-rspack-tags-plugin';
|
|
10
10
|
import '../../../types/app.js';
|
|
11
|
-
import '../../../manifest-
|
|
11
|
+
import '../../../manifest-DKvERQ4d.js';
|
|
12
12
|
import 'react';
|
|
13
13
|
import 'utility-types';
|
|
14
14
|
import '../../../types/helpers.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ae as CoreManifest, T as ManifestBuilder, U as ManifestIncognito, a7 as ManifestIcons, af as ManifestBackground, W as ManifestPopup, X as ManifestSidebar, ag as ManifestCommands, ah as ManifestContentScripts, ai as ManifestDependencies, aj as ManifestPermissions, ak as ManifestOptionalPermissions, al as ManifestHostPermissions, am as ManifestAccessibleResources, V as ManifestVersion, an as ManifestAccessibleResource, ao as Manifest } from '../../../manifest-
|
|
1
|
+
import { ae as CoreManifest, T as ManifestBuilder, U as ManifestIncognito, a7 as ManifestIcons, af as ManifestBackground, W as ManifestPopup, X as ManifestSidebar, ag as ManifestCommands, ah as ManifestContentScripts, ai as ManifestDependencies, aj as ManifestPermissions, ak as ManifestOptionalPermissions, al as ManifestHostPermissions, am as ManifestAccessibleResources, V as ManifestVersion, an as ManifestAccessibleResource, ao as Manifest } from '../../../manifest-DKvERQ4d.js';
|
|
2
2
|
import { Browser, BrowserSpecific } from '../../../types/browser.js';
|
|
3
3
|
import { Language } from '../../../types/locale.js';
|
|
4
4
|
import 'react';
|
|
@@ -6,8 +6,8 @@ import 'utility-types';
|
|
|
6
6
|
import '../../../types/app.js';
|
|
7
7
|
import '../../../types/helpers.js';
|
|
8
8
|
|
|
9
|
-
type ManifestPermission = chrome.runtime.
|
|
10
|
-
type ManifestOptionalPermission = chrome.runtime.
|
|
9
|
+
type ManifestPermission = chrome.runtime.ManifestPermission;
|
|
10
|
+
type ManifestOptionalPermission = chrome.runtime.ManifestOptionalPermission;
|
|
11
11
|
type CoreManifestIcons = chrome.runtime.ManifestIcons;
|
|
12
12
|
declare class ManifestError extends Error {
|
|
13
13
|
constructor(message: string);
|
|
@@ -55,6 +55,7 @@ declare abstract class export_default<T extends CoreManifest> implements Manifes
|
|
|
55
55
|
setLocale(lang?: Language): this;
|
|
56
56
|
setIncognito(incognito?: ManifestIncognito): this;
|
|
57
57
|
setSpecific(settings?: BrowserSpecific): this;
|
|
58
|
+
mergeSpecific(settings: BrowserSpecific): this;
|
|
58
59
|
setIcons(icons?: ManifestIcons): this;
|
|
59
60
|
setIcon(icon?: string): this;
|
|
60
61
|
setBackground(background?: ManifestBackground): this;
|
|
@@ -78,7 +79,7 @@ declare abstract class export_default<T extends CoreManifest> implements Manifes
|
|
|
78
79
|
addAccessibleResource(accessibleResource: ManifestAccessibleResource): this;
|
|
79
80
|
appendAccessibleResources(accessibleResources: ManifestAccessibleResources): this;
|
|
80
81
|
setManifestAccessibleResource(accessibleResources: ManifestAccessibleResources): this;
|
|
81
|
-
private
|
|
82
|
+
private merge;
|
|
82
83
|
build(): T;
|
|
83
84
|
protected buildIcons(): Partial<CoreManifest> | undefined;
|
|
84
85
|
protected buildBackground(): Partial<CoreManifest> | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _ from "lodash";
|
|
2
|
-
import { mergeWebAccessibleResources } from "./utils.js";
|
|
2
|
+
import { mergeWebAccessibleResources, normalizeDataCollectionPermissions } from "./utils.js";
|
|
3
3
|
import { Browser } from "./../../../types/browser.js";
|
|
4
4
|
import { CommandExecuteActionName } from "./../../../types/command.js";
|
|
5
5
|
import { DefaultIconGroupName } from "./../../../types/icon.js";
|
|
@@ -77,6 +77,14 @@ class ManifestBase_default {
|
|
|
77
77
|
this.specific = settings;
|
|
78
78
|
return this;
|
|
79
79
|
}
|
|
80
|
+
mergeSpecific(settings) {
|
|
81
|
+
this.specific = _.mergeWith({}, this.specific, settings, (objValue, srcValue) => {
|
|
82
|
+
if (_.isArray(objValue) && _.isArray(srcValue)) {
|
|
83
|
+
return _.union(objValue, srcValue);
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
80
88
|
setIcons(icons) {
|
|
81
89
|
this.icons = icons || /* @__PURE__ */ new Map();
|
|
82
90
|
return this;
|
|
@@ -179,7 +187,7 @@ class ManifestBase_default {
|
|
|
179
187
|
this.accessibleResources = accessibleResources;
|
|
180
188
|
return this;
|
|
181
189
|
}
|
|
182
|
-
|
|
190
|
+
merge(manifest, ...sources) {
|
|
183
191
|
sources = sources.filter((source) => source !== void 0);
|
|
184
192
|
if (sources.length === 0) {
|
|
185
193
|
return manifest;
|
|
@@ -202,7 +210,7 @@ class ManifestBase_default {
|
|
|
202
210
|
homepage_url: this.homepage,
|
|
203
211
|
incognito: this.incognito
|
|
204
212
|
};
|
|
205
|
-
manifest = this.
|
|
213
|
+
manifest = this.merge(
|
|
206
214
|
manifest,
|
|
207
215
|
this.buildLocale(),
|
|
208
216
|
this.buildIcons(),
|
|
@@ -325,18 +333,17 @@ class ManifestBase_default {
|
|
|
325
333
|
const settings = this.specific || {};
|
|
326
334
|
const { safari, gecko, geckoAndroid } = settings;
|
|
327
335
|
if (this.browser === Browser.Firefox) {
|
|
328
|
-
const emptyGecko = _.isEmpty(gecko == null ? void 0 : gecko.id) && _.isEmpty(gecko == null ? void 0 : gecko.strictMinVersion) && _.isEmpty(gecko == null ? void 0 : gecko.strictMaxVersion) && _.isEmpty(gecko == null ? void 0 : gecko.updateUrl);
|
|
329
336
|
const emptyGeckoAndroid = _.isEmpty(geckoAndroid == null ? void 0 : geckoAndroid.strictMinVersion) && _.isEmpty(geckoAndroid == null ? void 0 : geckoAndroid.strictMaxVersion);
|
|
330
|
-
if (emptyGecko && emptyGeckoAndroid) {
|
|
331
|
-
return;
|
|
332
|
-
}
|
|
333
337
|
return {
|
|
334
338
|
browser_specific_settings: {
|
|
335
|
-
gecko:
|
|
339
|
+
gecko: {
|
|
336
340
|
id: gecko == null ? void 0 : gecko.id,
|
|
337
341
|
strict_min_version: gecko == null ? void 0 : gecko.strictMinVersion,
|
|
338
342
|
strict_max_version: gecko == null ? void 0 : gecko.strictMaxVersion,
|
|
339
|
-
update_url: gecko == null ? void 0 : gecko.updateUrl
|
|
343
|
+
update_url: gecko == null ? void 0 : gecko.updateUrl,
|
|
344
|
+
data_collection_permissions: normalizeDataCollectionPermissions(
|
|
345
|
+
gecko == null ? void 0 : gecko.dataCollectionPermissions
|
|
346
|
+
)
|
|
340
347
|
},
|
|
341
348
|
gecko_android: emptyGeckoAndroid ? void 0 : {
|
|
342
349
|
strict_min_version: geckoAndroid == null ? void 0 : geckoAndroid.strictMinVersion,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cli/builders/manifest/ManifestBase.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport {mergeWebAccessibleResources} from \"./utils\";\n\nimport {\n CoreManifest,\n Manifest,\n ManifestAccessibleResource,\n ManifestAccessibleResources,\n ManifestBackground,\n ManifestBuilder,\n ManifestCommands,\n ManifestContentScripts,\n ManifestDependencies,\n ManifestHostPermissions,\n ManifestIcons,\n ManifestIncognito,\n ManifestOptionalPermissions,\n ManifestPermissions,\n ManifestPopup,\n ManifestSidebar,\n ManifestVersion,\n} from \"@typing/manifest\";\nimport {Browser, BrowserSpecific} from \"@typing/browser\";\nimport {Language} from \"@typing/locale\";\nimport {CommandExecuteActionName} from \"@typing/command\";\nimport {DefaultIconGroupName} from \"@typing/icon\";\nimport {SidebarAlternativeBrowsers} from \"@typing/sidebar\";\nimport {ContentScriptMatches} from \"@typing/content\";\n\ntype ManifestV3 = chrome.runtime.ManifestV3;\ntype ManifestPermission = chrome.runtime.ManifestPermissions;\ntype ManifestOptionalPermission = chrome.runtime.ManifestOptionalPermissions;\ntype CoreManifestIcons = chrome.runtime.ManifestIcons;\n\nexport class ManifestError extends Error {\n public constructor(message: string) {\n super(\"Manifest: \" + message);\n }\n}\n\nexport default abstract class<T extends CoreManifest> implements ManifestBuilder<T> {\n protected name: string = \"__MSG_app_name__\";\n protected author?: string;\n protected homepage?: string;\n protected shortName?: string;\n protected description?: string;\n protected minimumVersion?: string;\n protected version: string = \"0.0.0\";\n protected icon?: string;\n protected incognito?: ManifestIncognito;\n protected specific?: BrowserSpecific;\n protected locale?: Language;\n protected icons: ManifestIcons = new Map();\n protected background?: ManifestBackground;\n protected popup?: ManifestPopup;\n protected sidebar?: ManifestSidebar;\n protected commands: ManifestCommands = new Set();\n protected contentScripts: ManifestContentScripts = new Set();\n protected dependencies: ManifestDependencies = new Map();\n protected permissions: ManifestPermissions = new Set();\n protected optionalPermissions: ManifestOptionalPermissions = new Set();\n protected hostPermissions: ManifestHostPermissions = new Set();\n protected optionalHostPermissions: ManifestHostPermissions = new Set();\n protected accessibleResources: ManifestAccessibleResources = new Set();\n\n public abstract getManifestVersion(): ManifestVersion;\n\n protected abstract buildAction(): Partial<T> | undefined;\n\n protected abstract buildPermissions(): Partial<T> | undefined;\n\n protected abstract buildOptionalPermissions(): Partial<T> | undefined;\n\n protected abstract buildHostPermissions(): Partial<T> | undefined;\n\n protected abstract buildOptionalHostPermissions(): Partial<T> | undefined;\n\n protected abstract buildWebAccessibleResources(): Partial<T> | undefined;\n\n protected constructor(protected readonly browser: Browser = Browser.Chrome) {}\n\n public setAuthor(author?: string): this {\n this.author = author;\n\n return this;\n }\n\n public setHomepage(homepage?: string): this {\n this.homepage = homepage;\n\n return this;\n }\n\n public setName(name: string): this {\n this.name = name;\n\n return this;\n }\n\n public setShortName(shortName?: string): this {\n this.shortName = shortName;\n\n return this;\n }\n\n public setDescription(description?: string): this {\n this.description = description;\n\n return this;\n }\n\n public setVersion(version?: string): this {\n this.version = version || \"0.0.0\";\n\n return this;\n }\n\n public setMinimumVersion(minimumVersion?: string): this {\n this.minimumVersion = minimumVersion;\n\n return this;\n }\n\n public setLocale(lang?: Language): this {\n this.locale = lang;\n\n return this;\n }\n\n public setIncognito(incognito?: ManifestIncognito): this {\n this.incognito = incognito;\n\n return this;\n }\n\n public setSpecific(settings?: BrowserSpecific): this {\n this.specific = settings;\n\n return this;\n }\n\n public setIcons(icons?: ManifestIcons): this {\n this.icons = icons || new Map();\n\n return this;\n }\n\n public setIcon(icon?: string): this {\n this.icon = icon;\n\n return this;\n }\n\n public setBackground(background?: ManifestBackground): this {\n this.background = background;\n\n return this;\n }\n\n public setCommands(commands?: ManifestCommands): this {\n this.commands = commands || new Set();\n\n return this;\n }\n\n public setContentScripts(contentScripts?: ManifestContentScripts): this {\n this.contentScripts = contentScripts || new Set();\n\n return this;\n }\n\n public setPopup(popup?: ManifestPopup): this {\n this.popup = popup;\n\n return this;\n }\n\n public setSidebar(sidebar?: ManifestSidebar): this {\n this.sidebar = sidebar;\n\n return this;\n }\n\n public setDependencies(dependencies: ManifestDependencies): this {\n this.dependencies = dependencies;\n\n return this;\n }\n\n public addPermission(permission: ManifestPermission): this {\n this.permissions.add(permission);\n\n return this;\n }\n\n public setPermissions(permissions: ManifestPermissions): this {\n this.permissions = permissions;\n\n return this;\n }\n\n public appendPermissions(permissions: ManifestPermissions): this {\n for (const permission of permissions) {\n this.permissions.add(permission);\n }\n\n return this;\n }\n\n public addOptionalPermission(permission: ManifestOptionalPermission): this {\n this.optionalPermissions.add(permission);\n\n return this;\n }\n\n public setOptionalPermissions(permissions: ManifestOptionalPermissions): this {\n this.optionalPermissions = permissions;\n\n return this;\n }\n\n public appendOptionalPermissions(permissions: ManifestOptionalPermissions): this {\n for (const permission of permissions) {\n this.optionalPermissions.add(permission);\n }\n\n return this;\n }\n\n public addHostPermission(permission: string): this {\n this.hostPermissions.add(permission);\n\n return this;\n }\n\n public setHostPermissions(permissions: ManifestHostPermissions): this {\n this.hostPermissions = permissions;\n\n return this;\n }\n\n public appendHostPermissions(permissions: ManifestHostPermissions): this {\n for (const permission of permissions) {\n this.hostPermissions.add(permission);\n }\n\n return this;\n }\n\n public addOptionalHostPermission(permission: string): this {\n this.optionalHostPermissions.add(permission);\n\n return this;\n }\n\n public setOptionalHostPermissions(permissions: ManifestHostPermissions): this {\n this.optionalHostPermissions = permissions;\n\n return this;\n }\n\n public appendOptionalHostPermissions(permissions: ManifestHostPermissions): this {\n for (const permission of permissions) {\n this.optionalHostPermissions.add(permission);\n }\n\n return this;\n }\n\n public addAccessibleResource(accessibleResource: ManifestAccessibleResource): this {\n this.accessibleResources.add(accessibleResource);\n\n return this;\n }\n\n public appendAccessibleResources(accessibleResources: ManifestAccessibleResources): this {\n for (const accessibleResource of accessibleResources) {\n this.accessibleResources.add(accessibleResource);\n }\n\n return this;\n }\n\n public setManifestAccessibleResource(accessibleResources: ManifestAccessibleResources): this {\n this.accessibleResources = accessibleResources;\n\n return this;\n }\n\n private marge<T extends CoreManifest>(manifest: T, ...sources: Array<Partial<T> | undefined>): T {\n sources = sources.filter(source => source !== undefined);\n\n if (sources.length === 0) {\n return manifest;\n }\n\n const result = {...manifest};\n\n for (const source of sources) {\n Object.assign(result, source);\n }\n\n return result;\n }\n\n public build(): T {\n let manifest: Manifest = {\n name: this.name,\n short_name: this.shortName,\n description: this.description,\n version: this.version,\n manifest_version: this.getManifestVersion(),\n minimum_chrome_version: this.minimumVersion,\n author: this.author,\n homepage_url: this.homepage,\n incognito: this.incognito,\n };\n\n manifest = this.marge<Manifest>(\n manifest,\n this.buildLocale(),\n this.buildIcons(),\n this.buildBackground(),\n this.buildCommands(),\n this.buildAction(),\n this.buildSidebar(),\n this.buildContentScripts(),\n this.buildPermissions(),\n this.buildOptionalPermissions(),\n this.buildHostPermissions(),\n this.buildOptionalHostPermissions(),\n this.buildWebAccessibleResources(),\n this.buildBrowserSpecificSettings()\n );\n\n return manifest as T;\n }\n\n protected buildIcons(): Partial<CoreManifest> | undefined {\n if (this.icon) {\n return {icons: this.getIconsByName(this.icon)};\n }\n }\n\n protected buildBackground(): Partial<CoreManifest> | undefined {\n if (this.background) {\n const {entry, persistent} = this.background;\n\n const dependencies = this.dependencies.get(entry);\n\n if (!dependencies) {\n throw new ManifestError(`Background entry \"${entry}\" not found in dependencies`);\n }\n\n if (dependencies.js.size === 0) {\n throw new ManifestError(`Background entry \"${entry}\" has no dependencies`);\n }\n\n const scripts = Array.from(dependencies.js);\n\n return {background: {scripts, persistent: persistent || undefined}};\n }\n }\n\n protected buildCommands(): Partial<CoreManifest> | undefined {\n if (this.commands.size > 0) {\n const commands = Array.from(this.commands).reduce(\n (commands, command) => {\n const item = {\n suggested_key: {\n default: command?.defaultKey,\n windows: command?.windowsKey,\n mac: command?.macKey,\n chromeos: command?.chromeosKey,\n linux: command?.linuxKey,\n },\n description:\n command?.description ||\n (command.name === CommandExecuteActionName ? undefined : command.name),\n global: command?.global,\n };\n\n return {...commands, [command.name]: item};\n },\n {} as CoreManifest[\"commands\"]\n );\n\n return {commands};\n }\n }\n\n protected buildContentScripts(): Partial<CoreManifest> | undefined {\n if (this.contentScripts.size > 0) {\n const contentScripts: ManifestV3[\"content_scripts\"] = [];\n\n for (const script of this.contentScripts.values()) {\n const {\n entry,\n matches,\n excludeMatches,\n allFrames,\n runAt,\n excludeGlobs,\n includeGlobs,\n world,\n matchAboutBlank,\n matchOriginAsFallback,\n } = script;\n\n const dependencies = this.dependencies.get(entry);\n\n if (!dependencies) {\n throw new ManifestError(`Content script entry \"${entry}\" not found in dependencies`);\n }\n\n const js = Array.from(dependencies.js);\n const css = Array.from(dependencies.css);\n\n if (js.length === 0 && css.length === 0) {\n throw new ManifestError(`Content script and style entry \"${entry}\" not found in dependencies`);\n }\n\n contentScripts.push({\n matches,\n exclude_matches: excludeMatches,\n js: js.length > 0 ? js : undefined,\n css: css.length > 0 ? css : undefined,\n all_frames: allFrames,\n run_at: runAt,\n exclude_globs: excludeGlobs,\n include_globs: includeGlobs,\n match_about_blank: matchAboutBlank,\n //@ts-ignore\n match_origin_as_fallback: matchOriginAsFallback,\n world,\n });\n }\n\n return {content_scripts: contentScripts};\n }\n }\n\n protected buildSidebar(): Partial<CoreManifest> | undefined {\n if (!this.sidebar) {\n return;\n }\n\n const {path, icon, title} = this.sidebar;\n\n const commonProps = {\n open_at_install: this.browser === Browser.Firefox ? false : undefined,\n default_title: title || this.name,\n default_icon: this.getIconsByName(icon),\n };\n\n return SidebarAlternativeBrowsers.has(this.browser)\n ? {sidebar_action: {...commonProps, default_panel: path}}\n : {side_panel: {...commonProps, default_path: path}};\n }\n\n protected buildLocale(): Partial<CoreManifest> | undefined {\n if (this.locale) {\n return {default_locale: this.locale};\n }\n }\n\n protected buildBrowserSpecificSettings(): Partial<Manifest> | undefined {\n const settings = this.specific || {};\n const {safari, gecko, geckoAndroid} = settings;\n\n if (this.browser === Browser.Firefox) {\n const emptyGecko =\n _.isEmpty(gecko?.id) &&\n _.isEmpty(gecko?.strictMinVersion) &&\n _.isEmpty(gecko?.strictMaxVersion) &&\n _.isEmpty(gecko?.updateUrl);\n\n const emptyGeckoAndroid =\n _.isEmpty(geckoAndroid?.strictMinVersion) && _.isEmpty(geckoAndroid?.strictMaxVersion);\n\n if (emptyGecko && emptyGeckoAndroid) {\n return;\n }\n\n return {\n browser_specific_settings: {\n gecko: emptyGecko\n ? undefined\n : {\n id: gecko?.id,\n strict_min_version: gecko?.strictMinVersion,\n strict_max_version: gecko?.strictMaxVersion,\n update_url: gecko?.updateUrl,\n },\n gecko_android: emptyGeckoAndroid\n ? undefined\n : {\n strict_min_version: geckoAndroid?.strictMinVersion,\n strict_max_version: geckoAndroid?.strictMaxVersion,\n },\n },\n };\n } else if (this.browser === Browser.Safari) {\n if (_.isEmpty(safari?.strictMinVersion) && _.isEmpty(safari?.strictMaxVersion)) {\n return;\n }\n\n return {\n browser_specific_settings: {\n safari: {\n strict_min_version: safari?.strictMinVersion,\n strict_max_version: safari?.strictMaxVersion,\n },\n },\n };\n }\n }\n\n protected hasExecuteActionCommand(): boolean {\n return this.commands.size > 0 && Array.from(this.commands).some(({name}) => name === CommandExecuteActionName);\n }\n\n protected getIconsByName(name?: string): CoreManifestIcons | undefined {\n if (this.icons.size === 0) {\n return;\n }\n\n if (!name) {\n name = DefaultIconGroupName;\n }\n\n const icons = this.icons.get(name) || this.icons.get(DefaultIconGroupName) || this.icons.values().next().value;\n\n if (icons) {\n return Object.fromEntries(icons);\n }\n }\n\n public get(): T {\n return this.build();\n }\n\n public getWebAccessibleResources(): ManifestAccessibleResource[] {\n const resources: ManifestAccessibleResource[] = [...this.accessibleResources];\n\n for (const contentScript of this.contentScripts.values()) {\n const assets = this.dependencies.get(contentScript.entry)?.assets;\n\n if (assets && assets.size > 0) {\n resources.push({\n resources: Array.from(assets),\n matches: contentScript.matches || ContentScriptMatches,\n });\n }\n }\n\n return mergeWebAccessibleResources(resources);\n }\n}\n"],"mappings":"AAAA,OAAO,OAAO;AAEd,SAAQ,mCAAkC;AAqB1C,SAAQ,eAA+B;AAEvC,SAAQ,gCAA+B;AACvC,SAAQ,4BAA2B;AACnC,SAAQ,kCAAiC;AACzC,SAAQ,4BAA2B;AAO5B,MAAM,sBAAsB,MAAM;AAAA,EAC9B,YAAY,SAAiB;AAChC,UAAM,eAAe,OAAO;AAAA,EAChC;AACJ;AAEA,MAAO,qBAA6E;AAAA,EAuCtE,YAA+B,UAAmB,QAAQ,QAAQ;AAAnC;AAAA,EAAoC;AAAA,EAtCnE,OAAe;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAkB;AAAA,EAClB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAuB,oBAAI,IAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAA6B,oBAAI,IAAI;AAAA,EACrC,iBAAyC,oBAAI,IAAI;AAAA,EACjD,eAAqC,oBAAI,IAAI;AAAA,EAC7C,cAAmC,oBAAI,IAAI;AAAA,EAC3C,sBAAmD,oBAAI,IAAI;AAAA,EAC3D,kBAA2C,oBAAI,IAAI;AAAA,EACnD,0BAAmD,oBAAI,IAAI;AAAA,EAC3D,sBAAmD,oBAAI,IAAI;AAAA,EAkB9D,UAAU,QAAuB;AACpC,SAAK,SAAS;AAEd,WAAO;AAAA,EACX;AAAA,EAEO,YAAY,UAAyB;AACxC,SAAK,WAAW;AAEhB,WAAO;AAAA,EACX;AAAA,EAEO,QAAQ,MAAoB;AAC/B,SAAK,OAAO;AAEZ,WAAO;AAAA,EACX;AAAA,EAEO,aAAa,WAA0B;AAC1C,SAAK,YAAY;AAEjB,WAAO;AAAA,EACX;AAAA,EAEO,eAAe,aAA4B;AAC9C,SAAK,cAAc;AAEnB,WAAO;AAAA,EACX;AAAA,EAEO,WAAW,SAAwB;AACtC,SAAK,UAAU,WAAW;AAE1B,WAAO;AAAA,EACX;AAAA,EAEO,kBAAkB,gBAA+B;AACpD,SAAK,iBAAiB;AAEtB,WAAO;AAAA,EACX;AAAA,EAEO,UAAU,MAAuB;AACpC,SAAK,SAAS;AAEd,WAAO;AAAA,EACX;AAAA,EAEO,aAAa,WAAqC;AACrD,SAAK,YAAY;AAEjB,WAAO;AAAA,EACX;AAAA,EAEO,YAAY,UAAkC;AACjD,SAAK,WAAW;AAEhB,WAAO;AAAA,EACX;AAAA,EAEO,SAAS,OAA6B;AACzC,SAAK,QAAQ,SAAS,oBAAI,IAAI;AAE9B,WAAO;AAAA,EACX;AAAA,EAEO,QAAQ,MAAqB;AAChC,SAAK,OAAO;AAEZ,WAAO;AAAA,EACX;AAAA,EAEO,cAAc,YAAuC;AACxD,SAAK,aAAa;AAElB,WAAO;AAAA,EACX;AAAA,EAEO,YAAY,UAAmC;AAClD,SAAK,WAAW,YAAY,oBAAI,IAAI;AAEpC,WAAO;AAAA,EACX;AAAA,EAEO,kBAAkB,gBAA+C;AACpE,SAAK,iBAAiB,kBAAkB,oBAAI,IAAI;AAEhD,WAAO;AAAA,EACX;AAAA,EAEO,SAAS,OAA6B;AACzC,SAAK,QAAQ;AAEb,WAAO;AAAA,EACX;AAAA,EAEO,WAAW,SAAiC;AAC/C,SAAK,UAAU;AAEf,WAAO;AAAA,EACX;AAAA,EAEO,gBAAgB,cAA0C;AAC7D,SAAK,eAAe;AAEpB,WAAO;AAAA,EACX;AAAA,EAEO,cAAc,YAAsC;AACvD,SAAK,YAAY,IAAI,UAAU;AAE/B,WAAO;AAAA,EACX;AAAA,EAEO,eAAe,aAAwC;AAC1D,SAAK,cAAc;AAEnB,WAAO;AAAA,EACX;AAAA,EAEO,kBAAkB,aAAwC;AAC7D,eAAW,cAAc,aAAa;AAClC,WAAK,YAAY,IAAI,UAAU;AAAA,IACnC;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,sBAAsB,YAA8C;AACvE,SAAK,oBAAoB,IAAI,UAAU;AAEvC,WAAO;AAAA,EACX;AAAA,EAEO,uBAAuB,aAAgD;AAC1E,SAAK,sBAAsB;AAE3B,WAAO;AAAA,EACX;AAAA,EAEO,0BAA0B,aAAgD;AAC7E,eAAW,cAAc,aAAa;AAClC,WAAK,oBAAoB,IAAI,UAAU;AAAA,IAC3C;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,kBAAkB,YAA0B;AAC/C,SAAK,gBAAgB,IAAI,UAAU;AAEnC,WAAO;AAAA,EACX;AAAA,EAEO,mBAAmB,aAA4C;AAClE,SAAK,kBAAkB;AAEvB,WAAO;AAAA,EACX;AAAA,EAEO,sBAAsB,aAA4C;AACrE,eAAW,cAAc,aAAa;AAClC,WAAK,gBAAgB,IAAI,UAAU;AAAA,IACvC;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,0BAA0B,YAA0B;AACvD,SAAK,wBAAwB,IAAI,UAAU;AAE3C,WAAO;AAAA,EACX;AAAA,EAEO,2BAA2B,aAA4C;AAC1E,SAAK,0BAA0B;AAE/B,WAAO;AAAA,EACX;AAAA,EAEO,8BAA8B,aAA4C;AAC7E,eAAW,cAAc,aAAa;AAClC,WAAK,wBAAwB,IAAI,UAAU;AAAA,IAC/C;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,sBAAsB,oBAAsD;AAC/E,SAAK,oBAAoB,IAAI,kBAAkB;AAE/C,WAAO;AAAA,EACX;AAAA,EAEO,0BAA0B,qBAAwD;AACrF,eAAW,sBAAsB,qBAAqB;AAClD,WAAK,oBAAoB,IAAI,kBAAkB;AAAA,IACnD;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,8BAA8B,qBAAwD;AACzF,SAAK,sBAAsB;AAE3B,WAAO;AAAA,EACX;AAAA,EAEQ,MAA8B,aAAgB,SAA2C;AAC7F,cAAU,QAAQ,OAAO,YAAU,WAAW,MAAS;AAEvD,QAAI,QAAQ,WAAW,GAAG;AACtB,aAAO;AAAA,IACX;AAEA,UAAM,SAAS,EAAC,GAAG,SAAQ;AAE3B,eAAW,UAAU,SAAS;AAC1B,aAAO,OAAO,QAAQ,MAAM;AAAA,IAChC;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,QAAW;AACd,QAAI,WAAqB;AAAA,MACrB,MAAM,KAAK;AAAA,MACX,YAAY,KAAK;AAAA,MACjB,aAAa,KAAK;AAAA,MAClB,SAAS,KAAK;AAAA,MACd,kBAAkB,KAAK,mBAAmB;AAAA,MAC1C,wBAAwB,KAAK;AAAA,MAC7B,QAAQ,KAAK;AAAA,MACb,cAAc,KAAK;AAAA,MACnB,WAAW,KAAK;AAAA,IACpB;AAEA,eAAW,KAAK;AAAA,MACZ;AAAA,MACA,KAAK,YAAY;AAAA,MACjB,KAAK,WAAW;AAAA,MAChB,KAAK,gBAAgB;AAAA,MACrB,KAAK,cAAc;AAAA,MACnB,KAAK,YAAY;AAAA,MACjB,KAAK,aAAa;AAAA,MAClB,KAAK,oBAAoB;AAAA,MACzB,KAAK,iBAAiB;AAAA,MACtB,KAAK,yBAAyB;AAAA,MAC9B,KAAK,qBAAqB;AAAA,MAC1B,KAAK,6BAA6B;AAAA,MAClC,KAAK,4BAA4B;AAAA,MACjC,KAAK,6BAA6B;AAAA,IACtC;AAEA,WAAO;AAAA,EACX;AAAA,EAEU,aAAgD;AACtD,QAAI,KAAK,MAAM;AACX,aAAO,EAAC,OAAO,KAAK,eAAe,KAAK,IAAI,EAAC;AAAA,IACjD;AAAA,EACJ;AAAA,EAEU,kBAAqD;AAC3D,QAAI,KAAK,YAAY;AACjB,YAAM,EAAC,OAAO,WAAU,IAAI,KAAK;AAEjC,YAAM,eAAe,KAAK,aAAa,IAAI,KAAK;AAEhD,UAAI,CAAC,cAAc;AACf,cAAM,IAAI,cAAc,qBAAqB,KAAK,6BAA6B;AAAA,MACnF;AAEA,UAAI,aAAa,GAAG,SAAS,GAAG;AAC5B,cAAM,IAAI,cAAc,qBAAqB,KAAK,uBAAuB;AAAA,MAC7E;AAEA,YAAM,UAAU,MAAM,KAAK,aAAa,EAAE;AAE1C,aAAO,EAAC,YAAY,EAAC,SAAS,YAAY,cAAc,OAAS,EAAC;AAAA,IACtE;AAAA,EACJ;AAAA,EAEU,gBAAmD;AACzD,QAAI,KAAK,SAAS,OAAO,GAAG;AACxB,YAAM,WAAW,MAAM,KAAK,KAAK,QAAQ,EAAE;AAAA,QACvC,CAACA,WAAU,YAAY;AACnB,gBAAM,OAAO;AAAA,YACT,eAAe;AAAA,cACX,SAAS,mCAAS;AAAA,cAClB,SAAS,mCAAS;AAAA,cAClB,KAAK,mCAAS;AAAA,cACd,UAAU,mCAAS;AAAA,cACnB,OAAO,mCAAS;AAAA,YACpB;AAAA,YACA,cACI,mCAAS,iBACR,QAAQ,SAAS,2BAA2B,SAAY,QAAQ;AAAA,YACrE,QAAQ,mCAAS;AAAA,UACrB;AAEA,iBAAO,EAAC,GAAGA,WAAU,CAAC,QAAQ,IAAI,GAAG,KAAI;AAAA,QAC7C;AAAA,QACA,CAAC;AAAA,MACL;AAEA,aAAO,EAAC,SAAQ;AAAA,IACpB;AAAA,EACJ;AAAA,EAEU,sBAAyD;AAC/D,QAAI,KAAK,eAAe,OAAO,GAAG;AAC9B,YAAM,iBAAgD,CAAC;AAEvD,iBAAW,UAAU,KAAK,eAAe,OAAO,GAAG;AAC/C,cAAM;AAAA,UACF;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ,IAAI;AAEJ,cAAM,eAAe,KAAK,aAAa,IAAI,KAAK;AAEhD,YAAI,CAAC,cAAc;AACf,gBAAM,IAAI,cAAc,yBAAyB,KAAK,6BAA6B;AAAA,QACvF;AAEA,cAAM,KAAK,MAAM,KAAK,aAAa,EAAE;AACrC,cAAM,MAAM,MAAM,KAAK,aAAa,GAAG;AAEvC,YAAI,GAAG,WAAW,KAAK,IAAI,WAAW,GAAG;AACrC,gBAAM,IAAI,cAAc,mCAAmC,KAAK,6BAA6B;AAAA,QACjG;AAEA,uBAAe,KAAK;AAAA,UAChB;AAAA,UACA,iBAAiB;AAAA,UACjB,IAAI,GAAG,SAAS,IAAI,KAAK;AAAA,UACzB,KAAK,IAAI,SAAS,IAAI,MAAM;AAAA,UAC5B,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,eAAe;AAAA,UACf,eAAe;AAAA,UACf,mBAAmB;AAAA;AAAA,UAEnB,0BAA0B;AAAA,UAC1B;AAAA,QACJ,CAAC;AAAA,MACL;AAEA,aAAO,EAAC,iBAAiB,eAAc;AAAA,IAC3C;AAAA,EACJ;AAAA,EAEU,eAAkD;AACxD,QAAI,CAAC,KAAK,SAAS;AACf;AAAA,IACJ;AAEA,UAAM,EAAC,MAAM,MAAM,MAAK,IAAI,KAAK;AAEjC,UAAM,cAAc;AAAA,MAChB,iBAAiB,KAAK,YAAY,QAAQ,UAAU,QAAQ;AAAA,MAC5D,eAAe,SAAS,KAAK;AAAA,MAC7B,cAAc,KAAK,eAAe,IAAI;AAAA,IAC1C;AAEA,WAAO,2BAA2B,IAAI,KAAK,OAAO,IAC5C,EAAC,gBAAgB,EAAC,GAAG,aAAa,eAAe,KAAI,EAAC,IACtD,EAAC,YAAY,EAAC,GAAG,aAAa,cAAc,KAAI,EAAC;AAAA,EAC3D;AAAA,EAEU,cAAiD;AACvD,QAAI,KAAK,QAAQ;AACb,aAAO,EAAC,gBAAgB,KAAK,OAAM;AAAA,IACvC;AAAA,EACJ;AAAA,EAEU,+BAA8D;AACpE,UAAM,WAAW,KAAK,YAAY,CAAC;AACnC,UAAM,EAAC,QAAQ,OAAO,aAAY,IAAI;AAEtC,QAAI,KAAK,YAAY,QAAQ,SAAS;AAClC,YAAM,aACF,EAAE,QAAQ,+BAAO,EAAE,KACnB,EAAE,QAAQ,+BAAO,gBAAgB,KACjC,EAAE,QAAQ,+BAAO,gBAAgB,KACjC,EAAE,QAAQ,+BAAO,SAAS;AAE9B,YAAM,oBACF,EAAE,QAAQ,6CAAc,gBAAgB,KAAK,EAAE,QAAQ,6CAAc,gBAAgB;AAEzF,UAAI,cAAc,mBAAmB;AACjC;AAAA,MACJ;AAEA,aAAO;AAAA,QACH,2BAA2B;AAAA,UACvB,OAAO,aACD,SACA;AAAA,YACI,IAAI,+BAAO;AAAA,YACX,oBAAoB,+BAAO;AAAA,YAC3B,oBAAoB,+BAAO;AAAA,YAC3B,YAAY,+BAAO;AAAA,UACvB;AAAA,UACN,eAAe,oBACT,SACA;AAAA,YACI,oBAAoB,6CAAc;AAAA,YAClC,oBAAoB,6CAAc;AAAA,UACtC;AAAA,QACV;AAAA,MACJ;AAAA,IACJ,WAAW,KAAK,YAAY,QAAQ,QAAQ;AACxC,UAAI,EAAE,QAAQ,iCAAQ,gBAAgB,KAAK,EAAE,QAAQ,iCAAQ,gBAAgB,GAAG;AAC5E;AAAA,MACJ;AAEA,aAAO;AAAA,QACH,2BAA2B;AAAA,UACvB,QAAQ;AAAA,YACJ,oBAAoB,iCAAQ;AAAA,YAC5B,oBAAoB,iCAAQ;AAAA,UAChC;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA,EAEU,0BAAmC;AACzC,WAAO,KAAK,SAAS,OAAO,KAAK,MAAM,KAAK,KAAK,QAAQ,EAAE,KAAK,CAAC,EAAC,KAAI,MAAM,SAAS,wBAAwB;AAAA,EACjH;AAAA,EAEU,eAAe,MAA8C;AACnE,QAAI,KAAK,MAAM,SAAS,GAAG;AACvB;AAAA,IACJ;AAEA,QAAI,CAAC,MAAM;AACP,aAAO;AAAA,IACX;AAEA,UAAM,QAAQ,KAAK,MAAM,IAAI,IAAI,KAAK,KAAK,MAAM,IAAI,oBAAoB,KAAK,KAAK,MAAM,OAAO,EAAE,KAAK,EAAE;AAEzG,QAAI,OAAO;AACP,aAAO,OAAO,YAAY,KAAK;AAAA,IACnC;AAAA,EACJ;AAAA,EAEO,MAAS;AACZ,WAAO,KAAK,MAAM;AAAA,EACtB;AAAA,EAEO,4BAA0D;AA/hBrE;AAgiBQ,UAAM,YAA0C,CAAC,GAAG,KAAK,mBAAmB;AAE5E,eAAW,iBAAiB,KAAK,eAAe,OAAO,GAAG;AACtD,YAAM,UAAS,UAAK,aAAa,IAAI,cAAc,KAAK,MAAzC,mBAA4C;AAE3D,UAAI,UAAU,OAAO,OAAO,GAAG;AAC3B,kBAAU,KAAK;AAAA,UACX,WAAW,MAAM,KAAK,MAAM;AAAA,UAC5B,SAAS,cAAc,WAAW;AAAA,QACtC,CAAC;AAAA,MACL;AAAA,IACJ;AAEA,WAAO,4BAA4B,SAAS;AAAA,EAChD;AACJ;","names":["commands"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/builders/manifest/ManifestBase.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport {mergeWebAccessibleResources, normalizeDataCollectionPermissions} from \"./utils\";\n\nimport {\n CoreManifest,\n Manifest,\n ManifestAccessibleResource,\n ManifestAccessibleResources,\n ManifestBackground,\n ManifestBuilder,\n ManifestCommands,\n ManifestContentScripts,\n ManifestDependencies,\n ManifestHostPermissions,\n ManifestIcons,\n ManifestIncognito,\n ManifestOptionalPermissions,\n ManifestPermissions,\n ManifestPopup,\n ManifestSidebar,\n ManifestVersion,\n} from \"@typing/manifest\";\nimport {Browser, BrowserSpecific} from \"@typing/browser\";\nimport {Language} from \"@typing/locale\";\nimport {CommandExecuteActionName} from \"@typing/command\";\nimport {DefaultIconGroupName} from \"@typing/icon\";\nimport {SidebarAlternativeBrowsers} from \"@typing/sidebar\";\nimport {ContentScriptMatches} from \"@typing/content\";\n\ntype ManifestV3 = chrome.runtime.ManifestV3;\ntype ManifestPermission = chrome.runtime.ManifestPermission;\ntype ManifestOptionalPermission = chrome.runtime.ManifestOptionalPermission;\ntype CoreManifestIcons = chrome.runtime.ManifestIcons;\n\nexport class ManifestError extends Error {\n public constructor(message: string) {\n super(\"Manifest: \" + message);\n }\n}\n\nexport default abstract class<T extends CoreManifest> implements ManifestBuilder<T> {\n protected name: string = \"__MSG_app_name__\";\n protected author?: string;\n protected homepage?: string;\n protected shortName?: string;\n protected description?: string;\n protected minimumVersion?: string;\n protected version: string = \"0.0.0\";\n protected icon?: string;\n protected incognito?: ManifestIncognito;\n protected specific?: BrowserSpecific;\n protected locale?: Language;\n protected icons: ManifestIcons = new Map();\n protected background?: ManifestBackground;\n protected popup?: ManifestPopup;\n protected sidebar?: ManifestSidebar;\n protected commands: ManifestCommands = new Set();\n protected contentScripts: ManifestContentScripts = new Set();\n protected dependencies: ManifestDependencies = new Map();\n protected permissions: ManifestPermissions = new Set();\n protected optionalPermissions: ManifestOptionalPermissions = new Set();\n protected hostPermissions: ManifestHostPermissions = new Set();\n protected optionalHostPermissions: ManifestHostPermissions = new Set();\n protected accessibleResources: ManifestAccessibleResources = new Set();\n\n public abstract getManifestVersion(): ManifestVersion;\n\n protected abstract buildAction(): Partial<T> | undefined;\n\n protected abstract buildPermissions(): Partial<T> | undefined;\n\n protected abstract buildOptionalPermissions(): Partial<T> | undefined;\n\n protected abstract buildHostPermissions(): Partial<T> | undefined;\n\n protected abstract buildOptionalHostPermissions(): Partial<T> | undefined;\n\n protected abstract buildWebAccessibleResources(): Partial<T> | undefined;\n\n protected constructor(protected readonly browser: Browser = Browser.Chrome) {}\n\n public setAuthor(author?: string): this {\n this.author = author;\n\n return this;\n }\n\n public setHomepage(homepage?: string): this {\n this.homepage = homepage;\n\n return this;\n }\n\n public setName(name: string): this {\n this.name = name;\n\n return this;\n }\n\n public setShortName(shortName?: string): this {\n this.shortName = shortName;\n\n return this;\n }\n\n public setDescription(description?: string): this {\n this.description = description;\n\n return this;\n }\n\n public setVersion(version?: string): this {\n this.version = version || \"0.0.0\";\n\n return this;\n }\n\n public setMinimumVersion(minimumVersion?: string): this {\n this.minimumVersion = minimumVersion;\n\n return this;\n }\n\n public setLocale(lang?: Language): this {\n this.locale = lang;\n\n return this;\n }\n\n public setIncognito(incognito?: ManifestIncognito): this {\n this.incognito = incognito;\n\n return this;\n }\n\n public setSpecific(settings?: BrowserSpecific): this {\n this.specific = settings;\n\n return this;\n }\n\n public mergeSpecific(settings: BrowserSpecific): this {\n this.specific = _.mergeWith({}, this.specific, settings, (objValue, srcValue) => {\n if (_.isArray(objValue) && _.isArray(srcValue)) {\n return _.union(objValue, srcValue);\n }\n });\n\n return this;\n }\n\n public setIcons(icons?: ManifestIcons): this {\n this.icons = icons || new Map();\n\n return this;\n }\n\n public setIcon(icon?: string): this {\n this.icon = icon;\n\n return this;\n }\n\n public setBackground(background?: ManifestBackground): this {\n this.background = background;\n\n return this;\n }\n\n public setCommands(commands?: ManifestCommands): this {\n this.commands = commands || new Set();\n\n return this;\n }\n\n public setContentScripts(contentScripts?: ManifestContentScripts): this {\n this.contentScripts = contentScripts || new Set();\n\n return this;\n }\n\n public setPopup(popup?: ManifestPopup): this {\n this.popup = popup;\n\n return this;\n }\n\n public setSidebar(sidebar?: ManifestSidebar): this {\n this.sidebar = sidebar;\n\n return this;\n }\n\n public setDependencies(dependencies: ManifestDependencies): this {\n this.dependencies = dependencies;\n\n return this;\n }\n\n public addPermission(permission: ManifestPermission): this {\n this.permissions.add(permission);\n\n return this;\n }\n\n public setPermissions(permissions: ManifestPermissions): this {\n this.permissions = permissions;\n\n return this;\n }\n\n public appendPermissions(permissions: ManifestPermissions): this {\n for (const permission of permissions) {\n this.permissions.add(permission);\n }\n\n return this;\n }\n\n public addOptionalPermission(permission: ManifestOptionalPermission): this {\n this.optionalPermissions.add(permission);\n\n return this;\n }\n\n public setOptionalPermissions(permissions: ManifestOptionalPermissions): this {\n this.optionalPermissions = permissions;\n\n return this;\n }\n\n public appendOptionalPermissions(permissions: ManifestOptionalPermissions): this {\n for (const permission of permissions) {\n this.optionalPermissions.add(permission);\n }\n\n return this;\n }\n\n public addHostPermission(permission: string): this {\n this.hostPermissions.add(permission);\n\n return this;\n }\n\n public setHostPermissions(permissions: ManifestHostPermissions): this {\n this.hostPermissions = permissions;\n\n return this;\n }\n\n public appendHostPermissions(permissions: ManifestHostPermissions): this {\n for (const permission of permissions) {\n this.hostPermissions.add(permission);\n }\n\n return this;\n }\n\n public addOptionalHostPermission(permission: string): this {\n this.optionalHostPermissions.add(permission);\n\n return this;\n }\n\n public setOptionalHostPermissions(permissions: ManifestHostPermissions): this {\n this.optionalHostPermissions = permissions;\n\n return this;\n }\n\n public appendOptionalHostPermissions(permissions: ManifestHostPermissions): this {\n for (const permission of permissions) {\n this.optionalHostPermissions.add(permission);\n }\n\n return this;\n }\n\n public addAccessibleResource(accessibleResource: ManifestAccessibleResource): this {\n this.accessibleResources.add(accessibleResource);\n\n return this;\n }\n\n public appendAccessibleResources(accessibleResources: ManifestAccessibleResources): this {\n for (const accessibleResource of accessibleResources) {\n this.accessibleResources.add(accessibleResource);\n }\n\n return this;\n }\n\n public setManifestAccessibleResource(accessibleResources: ManifestAccessibleResources): this {\n this.accessibleResources = accessibleResources;\n\n return this;\n }\n\n private merge<T extends CoreManifest>(manifest: T, ...sources: Array<Partial<T> | undefined>): T {\n sources = sources.filter(source => source !== undefined);\n\n if (sources.length === 0) {\n return manifest;\n }\n\n const result = {...manifest};\n\n for (const source of sources) {\n Object.assign(result, source);\n }\n\n return result;\n }\n\n public build(): T {\n let manifest: Manifest = {\n name: this.name,\n short_name: this.shortName,\n description: this.description,\n version: this.version,\n manifest_version: this.getManifestVersion(),\n minimum_chrome_version: this.minimumVersion,\n author: this.author,\n homepage_url: this.homepage,\n incognito: this.incognito,\n };\n\n manifest = this.merge<Manifest>(\n manifest,\n this.buildLocale(),\n this.buildIcons(),\n this.buildBackground(),\n this.buildCommands(),\n this.buildAction(),\n this.buildSidebar(),\n this.buildContentScripts(),\n this.buildPermissions(),\n this.buildOptionalPermissions(),\n this.buildHostPermissions(),\n this.buildOptionalHostPermissions(),\n this.buildWebAccessibleResources(),\n this.buildBrowserSpecificSettings()\n );\n\n return manifest as T;\n }\n\n protected buildIcons(): Partial<CoreManifest> | undefined {\n if (this.icon) {\n return {icons: this.getIconsByName(this.icon)};\n }\n }\n\n protected buildBackground(): Partial<CoreManifest> | undefined {\n if (this.background) {\n const {entry, persistent} = this.background;\n\n const dependencies = this.dependencies.get(entry);\n\n if (!dependencies) {\n throw new ManifestError(`Background entry \"${entry}\" not found in dependencies`);\n }\n\n if (dependencies.js.size === 0) {\n throw new ManifestError(`Background entry \"${entry}\" has no dependencies`);\n }\n\n const scripts = Array.from(dependencies.js);\n\n return {background: {scripts, persistent: persistent || undefined}};\n }\n }\n\n protected buildCommands(): Partial<CoreManifest> | undefined {\n if (this.commands.size > 0) {\n const commands = Array.from(this.commands).reduce(\n (commands, command) => {\n const item = {\n suggested_key: {\n default: command?.defaultKey,\n windows: command?.windowsKey,\n mac: command?.macKey,\n chromeos: command?.chromeosKey,\n linux: command?.linuxKey,\n },\n description:\n command?.description ||\n (command.name === CommandExecuteActionName ? undefined : command.name),\n global: command?.global,\n };\n\n return {...commands, [command.name]: item};\n },\n {} as CoreManifest[\"commands\"]\n );\n\n return {commands};\n }\n }\n\n protected buildContentScripts(): Partial<CoreManifest> | undefined {\n if (this.contentScripts.size > 0) {\n const contentScripts: ManifestV3[\"content_scripts\"] = [];\n\n for (const script of this.contentScripts.values()) {\n const {\n entry,\n matches,\n excludeMatches,\n allFrames,\n runAt,\n excludeGlobs,\n includeGlobs,\n world,\n matchAboutBlank,\n matchOriginAsFallback,\n } = script;\n\n const dependencies = this.dependencies.get(entry);\n\n if (!dependencies) {\n throw new ManifestError(`Content script entry \"${entry}\" not found in dependencies`);\n }\n\n const js = Array.from(dependencies.js);\n const css = Array.from(dependencies.css);\n\n if (js.length === 0 && css.length === 0) {\n throw new ManifestError(`Content script and style entry \"${entry}\" not found in dependencies`);\n }\n\n contentScripts.push({\n matches,\n exclude_matches: excludeMatches,\n js: js.length > 0 ? js : undefined,\n css: css.length > 0 ? css : undefined,\n all_frames: allFrames,\n run_at: runAt,\n exclude_globs: excludeGlobs,\n include_globs: includeGlobs,\n match_about_blank: matchAboutBlank,\n //@ts-ignore\n match_origin_as_fallback: matchOriginAsFallback,\n world,\n });\n }\n\n return {content_scripts: contentScripts};\n }\n }\n\n protected buildSidebar(): Partial<CoreManifest> | undefined {\n if (!this.sidebar) {\n return;\n }\n\n const {path, icon, title} = this.sidebar;\n\n const commonProps = {\n open_at_install: this.browser === Browser.Firefox ? false : undefined,\n default_title: title || this.name,\n default_icon: this.getIconsByName(icon),\n };\n\n return SidebarAlternativeBrowsers.has(this.browser)\n ? {sidebar_action: {...commonProps, default_panel: path}}\n : {side_panel: {...commonProps, default_path: path}};\n }\n\n protected buildLocale(): Partial<CoreManifest> | undefined {\n if (this.locale) {\n return {default_locale: this.locale};\n }\n }\n\n protected buildBrowserSpecificSettings(): Partial<Manifest> | undefined {\n const settings = this.specific || {};\n const {safari, gecko, geckoAndroid} = settings;\n\n if (this.browser === Browser.Firefox) {\n const emptyGeckoAndroid =\n _.isEmpty(geckoAndroid?.strictMinVersion) && _.isEmpty(geckoAndroid?.strictMaxVersion);\n\n return {\n browser_specific_settings: {\n gecko: {\n id: gecko?.id,\n strict_min_version: gecko?.strictMinVersion,\n strict_max_version: gecko?.strictMaxVersion,\n update_url: gecko?.updateUrl,\n data_collection_permissions: normalizeDataCollectionPermissions(\n gecko?.dataCollectionPermissions\n ),\n },\n gecko_android: emptyGeckoAndroid\n ? undefined\n : {\n strict_min_version: geckoAndroid?.strictMinVersion,\n strict_max_version: geckoAndroid?.strictMaxVersion,\n },\n },\n };\n } else if (this.browser === Browser.Safari) {\n if (_.isEmpty(safari?.strictMinVersion) && _.isEmpty(safari?.strictMaxVersion)) {\n return;\n }\n\n return {\n browser_specific_settings: {\n safari: {\n strict_min_version: safari?.strictMinVersion,\n strict_max_version: safari?.strictMaxVersion,\n },\n },\n };\n }\n }\n\n protected hasExecuteActionCommand(): boolean {\n return this.commands.size > 0 && Array.from(this.commands).some(({name}) => name === CommandExecuteActionName);\n }\n\n protected getIconsByName(name?: string): CoreManifestIcons | undefined {\n if (this.icons.size === 0) {\n return;\n }\n\n if (!name) {\n name = DefaultIconGroupName;\n }\n\n const icons = this.icons.get(name) || this.icons.get(DefaultIconGroupName) || this.icons.values().next().value;\n\n if (icons) {\n return Object.fromEntries(icons);\n }\n }\n\n public get(): T {\n return this.build();\n }\n\n public getWebAccessibleResources(): ManifestAccessibleResource[] {\n const resources: ManifestAccessibleResource[] = [...this.accessibleResources];\n\n for (const contentScript of this.contentScripts.values()) {\n const assets = this.dependencies.get(contentScript.entry)?.assets;\n\n if (assets && assets.size > 0) {\n resources.push({\n resources: Array.from(assets),\n matches: contentScript.matches || ContentScriptMatches,\n });\n }\n }\n\n return mergeWebAccessibleResources(resources);\n }\n}\n"],"mappings":"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","names":["commands"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import export_default$1 from './ManifestBase.js';
|
|
2
|
-
import { V as ManifestVersion, ae as CoreManifest } from '../../../manifest-
|
|
2
|
+
import { V as ManifestVersion, ae as CoreManifest } from '../../../manifest-DKvERQ4d.js';
|
|
3
3
|
import { Browser } from '../../../types/browser.js';
|
|
4
4
|
import '../../../types/locale.js';
|
|
5
5
|
import 'react';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import export_default$1 from './ManifestBase.js';
|
|
2
|
-
import { V as ManifestVersion, ae as CoreManifest } from '../../../manifest-
|
|
2
|
+
import { V as ManifestVersion, ae as CoreManifest } from '../../../manifest-DKvERQ4d.js';
|
|
3
3
|
import { Browser } from '../../../types/browser.js';
|
|
4
4
|
import '../../../types/locale.js';
|
|
5
5
|
import 'react';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { T as ManifestBuilder } from '../../../manifest-
|
|
2
|
-
import { R as ReadonlyConfig } from '../../../config-
|
|
1
|
+
import { T as ManifestBuilder } from '../../../manifest-DKvERQ4d.js';
|
|
2
|
+
import { R as ReadonlyConfig } from '../../../config-BaSTGrd0.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'utility-types';
|
|
5
5
|
import '../../../types/app.js';
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DataCollectionPermissions } from '../../../types/browser.js';
|
|
2
|
+
import { an as ManifestAccessibleResource } from '../../../manifest-DKvERQ4d.js';
|
|
2
3
|
import 'react';
|
|
3
4
|
import 'utility-types';
|
|
4
5
|
import '../../../types/app.js';
|
|
5
|
-
import '../../../types/browser.js';
|
|
6
6
|
import '../../../types/helpers.js';
|
|
7
7
|
import '../../../types/locale.js';
|
|
8
8
|
|
|
9
|
-
type ManifestPermissions = chrome.runtime.
|
|
10
|
-
type ManifestOptionalPermissions = chrome.runtime.
|
|
9
|
+
type ManifestPermissions = chrome.runtime.ManifestPermission;
|
|
10
|
+
type ManifestOptionalPermissions = chrome.runtime.ManifestOptionalPermission;
|
|
11
11
|
type Permission = ManifestPermissions | ManifestOptionalPermissions;
|
|
12
12
|
/**
|
|
13
13
|
* Filters and adapts permissions for Manifest V2 compatibility.
|
|
@@ -19,5 +19,19 @@ declare const filterPermissionsForMV2: <T extends Permission>(permissions: Set<T
|
|
|
19
19
|
declare const filterPermissionsForMV3: <T extends Permission>(permissions: Set<T>) => Set<T>;
|
|
20
20
|
declare const filterHostPatterns: (patterns: Set<string>) => Set<string>;
|
|
21
21
|
declare const mergeWebAccessibleResources: (resources: ManifestAccessibleResource[]) => ManifestAccessibleResource[];
|
|
22
|
+
/**
|
|
23
|
+
* Normalizes data collection permissions for the manifest.
|
|
24
|
+
*
|
|
25
|
+
* - Removes duplicate permissions.
|
|
26
|
+
* - Filters out invalid permissions not present in DataCollectionPermission enum.
|
|
27
|
+
* - Sets "none" as default if required permissions are empty.
|
|
28
|
+
* - Removes "none" if real permissions are added to required.
|
|
29
|
+
* - Removes "none" from optional permissions.
|
|
30
|
+
* - Removes any permission from optional if it's already in required.
|
|
31
|
+
* - Sorts both required and optional permissions alphabetically.
|
|
32
|
+
*
|
|
33
|
+
* @param permissions - The permissions object to normalize.
|
|
34
|
+
*/
|
|
35
|
+
declare const normalizeDataCollectionPermissions: (permissions?: DataCollectionPermissions) => DataCollectionPermissions;
|
|
22
36
|
|
|
23
|
-
export { filterHostPatterns, filterPermissionsForMV2, filterPermissionsForMV3, mergeWebAccessibleResources };
|
|
37
|
+
export { filterHostPatterns, filterPermissionsForMV2, filterPermissionsForMV3, mergeWebAccessibleResources, normalizeDataCollectionPermissions };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import _ from "lodash";
|
|
2
|
+
import { DataCollectionPermission } from "./../../../types/browser.js";
|
|
2
3
|
import { ManifestMatchSchemes, ManifestSpecialSchemes } from "./../../../types/manifest.js";
|
|
3
4
|
const filterPermissionsForMV2 = (permissions) => {
|
|
4
5
|
const filteredPermissions = new Set(permissions);
|
|
@@ -166,10 +167,31 @@ const mergeWebAccessibleResources = (resources) => {
|
|
|
166
167
|
});
|
|
167
168
|
return result;
|
|
168
169
|
};
|
|
170
|
+
const normalizeDataCollectionPermissions = (permissions) => {
|
|
171
|
+
const validPermissions = Object.values(DataCollectionPermission);
|
|
172
|
+
let required = _.uniq((permissions == null ? void 0 : permissions.required) || []).filter(
|
|
173
|
+
(p) => p === "none" || validPermissions.includes(p)
|
|
174
|
+
);
|
|
175
|
+
let optional = _.uniq((permissions == null ? void 0 : permissions.optional) || []).filter(
|
|
176
|
+
(p) => p !== "none" && validPermissions.includes(p)
|
|
177
|
+
);
|
|
178
|
+
if (required.length === 0) {
|
|
179
|
+
required = ["none"];
|
|
180
|
+
}
|
|
181
|
+
if (required.length > 1 && required.includes("none")) {
|
|
182
|
+
required = _.without(required, "none");
|
|
183
|
+
}
|
|
184
|
+
optional = _.difference(optional, required);
|
|
185
|
+
return {
|
|
186
|
+
required: required.toSorted(),
|
|
187
|
+
optional: optional.length > 0 ? optional.toSorted() : void 0
|
|
188
|
+
};
|
|
189
|
+
};
|
|
169
190
|
export {
|
|
170
191
|
filterHostPatterns,
|
|
171
192
|
filterPermissionsForMV2,
|
|
172
193
|
filterPermissionsForMV3,
|
|
173
|
-
mergeWebAccessibleResources
|
|
194
|
+
mergeWebAccessibleResources,
|
|
195
|
+
normalizeDataCollectionPermissions
|
|
174
196
|
};
|
|
175
197
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cli/builders/manifest/utils.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport {ManifestAccessibleResource, ManifestMatchSchemes, ManifestSpecialSchemes} from \"@typing/manifest\";\n\ntype ManifestPermissions = chrome.runtime.ManifestPermissions;\ntype ManifestOptionalPermissions = chrome.runtime.ManifestOptionalPermissions;\n\ntype Permission = ManifestPermissions | ManifestOptionalPermissions;\n/**\n * Filters and adapts permissions for Manifest V2 compatibility.\n *\n * @param permissions - Set of permissions to filter\n * @returns New set of permissions adapted for Manifest V2\n */\nexport const filterPermissionsForMV2 = <T extends Permission>(permissions: Set<T>): Set<T> => {\n const filteredPermissions = new Set(permissions);\n\n /**\n * Manifest V3 introduced a new 'scripting' permission for working with the Chrome Scripting API,\n * but Manifest V2 uses the 'tabs' permission for executing scripts on web pages.\n * This function automatically replaces 'scripting' with 'tabs' to ensure backward compatibility.\n *\n * @example\n * ```typescript\n * const mv3Permissions = new Set(['scripting', 'storage', 'activeTab']);\n * const mv2Permissions = filterPermissionsForMV2(mv3Permissions);\n * // Result: Set(['tabs', 'storage', 'activeTab'])\n * ```\n */\n if (filteredPermissions.has(\"scripting\" as T)) {\n filteredPermissions.delete(\"scripting\" as T);\n filteredPermissions.add(\"tabs\" as T);\n }\n\n filteredPermissions.delete(\"offscreen\" as T);\n\n return filteredPermissions;\n};\n\nexport const filterPermissionsForMV3 = <T extends Permission>(permissions: Set<T>): Set<T> => {\n const filteredPermissions = new Set(permissions);\n\n /**\n * @permissions webRequestBlocking, webAuthenticationProxy, webRequestAuthProvider\n * @description These permissions were removed in Manifest V3 due to concerns related to security, performance, and transparency.\n * - `webRequestBlocking`: Allowed real-time interception and modification of network requests, which introduced latency and potential security risks. Replaced by the safer, declarative `declarativeNetRequest` API.\n * - `webAuthenticationProxy`: Provided proxy authentication control, but was rarely used and posed privacy risks.\n * - `webRequestAuthProvider`: Enabled handling of HTTP authentication (onAuthRequired), but was considered unsafe in the new MV3 architecture due to its ability to interfere with authentication flows.\n * @manifestV3 Removed. These APIs are no longer available in extensions using Manifest V3.\n */\n filteredPermissions.delete(\"webAuthenticationProxy\" as T);\n filteredPermissions.delete(\"webRequestAuthProvider\" as T);\n filteredPermissions.delete(\"webRequestBlocking\" as T);\n\n return filteredPermissions;\n};\n\nexport const filterHostPatterns = (patterns: Set<string>): Set<string> => {\n if (patterns.has(\"<all_urls>\")) {\n return new Set([\"<all_urls>\"]);\n }\n\n const result = new Set<string>();\n\n const activeWildcards = new Set<string>();\n\n if (patterns.has(\"*://*/*\")) {\n activeWildcards.add(\"*://*/*\");\n result.add(\"*://*/*\");\n }\n\n for (const scheme of ManifestMatchSchemes) {\n const wildcard = `${scheme}://*/*`;\n\n if (patterns.has(wildcard)) {\n if (scheme === \"http\" || scheme === \"https\") {\n if (!activeWildcards.has(\"*://*/*\")) {\n activeWildcards.add(wildcard);\n result.add(wildcard);\n }\n } else {\n activeWildcards.add(wildcard);\n result.add(wildcard);\n }\n }\n }\n\n const isCoveredByWildcard = (pattern: string): boolean => {\n const schemeIndex = pattern.indexOf(\"://\");\n if (schemeIndex === -1) return false;\n\n const scheme = pattern.substring(0, schemeIndex);\n\n if (ManifestSpecialSchemes.has(scheme)) {\n return false;\n }\n\n if (activeWildcards.has(\"*://*/*\") && (scheme === \"http\" || scheme === \"https\")) {\n return true;\n }\n\n return activeWildcards.has(`${scheme}://*/*`);\n };\n\n for (const pattern of patterns) {\n if (activeWildcards.has(pattern)) {\n continue;\n }\n\n if (!isCoveredByWildcard(pattern)) {\n result.add(pattern);\n }\n }\n\n return result;\n};\n\nexport const mergeWebAccessibleResources = (resources: ManifestAccessibleResource[]): ManifestAccessibleResource[] => {\n if (resources.length === 0) return [];\n\n const simplifiedMatches: ManifestAccessibleResource[] = resources.map(r => {\n const {resources, matches, extensionIds, useDynamicUrl} = r;\n return {\n resources,\n extensionIds,\n useDynamicUrl,\n matches: matches ? Array.from(filterHostPatterns(new Set(matches))) : matches,\n };\n });\n\n const normalize = (arr?: string[]) => Array.from(new Set(arr || [])).sort();\n\n const makeKey = (r: ManifestAccessibleResource, exclude: (keyof ManifestAccessibleResource)[]): string => {\n const obj: ManifestAccessibleResource = {\n resources: normalize(r.resources),\n matches: normalize(r.matches),\n extensionIds: normalize(r.extensionIds),\n useDynamicUrl: r.useDynamicUrl,\n };\n\n for (const field of exclude) {\n delete obj[field];\n }\n\n return JSON.stringify(obj);\n };\n\n const mergeTwo = (a: ManifestAccessibleResource, b: ManifestAccessibleResource): ManifestAccessibleResource => ({\n resources: normalize([...a.resources, ...b.resources]),\n matches: normalize([...(a.matches || []), ...(b.matches || [])]),\n extensionIds: normalize([...(a.extensionIds || []), ...(b.extensionIds || [])]),\n useDynamicUrl: a.useDynamicUrl,\n });\n\n const merge = (resources: ManifestAccessibleResource[], mergeBy: keyof ManifestAccessibleResource) => {\n const map = new Map<string, ManifestAccessibleResource>();\n let changed = false;\n for (const r of resources) {\n const key = makeKey(r, [mergeBy]);\n if (map.has(key)) {\n const merged = mergeTwo(map.get(key)!, r);\n map.set(key, merged);\n changed = true;\n } else {\n map.set(key, r);\n }\n }\n\n return {\n changed,\n result: Array.from(map.values()),\n };\n };\n\n let changed = true;\n\n let result: ManifestAccessibleResource[] = simplifiedMatches.map(r => ({\n resources: normalize(r.resources),\n matches: normalize(r.matches),\n extensionIds: normalize(r.extensionIds),\n useDynamicUrl: r.useDynamicUrl,\n }));\n\n while (changed) {\n changed = false;\n\n const mergeByResources = merge(result, \"resources\");\n const afterResources = mergeByResources.result;\n\n const mergeByMatches = merge(afterResources, \"matches\");\n const afterMatches = mergeByMatches.result;\n\n const mergeByExtensionIds = merge(afterMatches, \"extensionIds\");\n const afterExtensionIds = mergeByExtensionIds.result;\n\n changed = mergeByResources.changed || mergeByMatches.changed || mergeByExtensionIds.changed;\n result = afterExtensionIds;\n }\n\n for (const entry of result) {\n if (!entry.matches) continue;\n if (entry.matches.includes(\"<all_urls>\") || entry.matches.includes(\"*://*/*\")) {\n for (const other of result) {\n if (other === entry) continue;\n // збігаються усі крім resources → можна чистити resources\n if (\n _.isEqual(other.matches, entry.matches) ||\n other.useDynamicUrl !== entry.useDynamicUrl ||\n !_.isEqual(other.extensionIds, entry.extensionIds)\n ) {\n continue;\n }\n other.resources = other.resources.filter(r => !entry.resources.includes(r));\n }\n }\n }\n\n for (const entry of result) {\n if (!entry.matches) continue;\n for (const scheme of ManifestMatchSchemes) {\n if (entry.matches.includes(`${scheme}://*/*`)) {\n for (const other of result) {\n if (other === entry) continue;\n if (\n other.useDynamicUrl !== entry.useDynamicUrl ||\n !_.isEqual(other.extensionIds, entry.extensionIds)\n ) {\n continue;\n }\n if (other.matches?.some(m => m.startsWith(`${scheme}://`))) {\n other.resources = other.resources.filter(r => !entry.resources.includes(r));\n }\n }\n }\n }\n }\n\n result = result\n .filter(r => r.resources.length > 0)\n .map(r => {\n if (r.matches?.length === 0) delete r.matches;\n if (r.extensionIds?.length === 0) delete r.extensionIds;\n if (r.useDynamicUrl === undefined) delete r.useDynamicUrl;\n return r;\n });\n\n return result;\n};\n"],"mappings":"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","names":["resources","changed","_a"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/builders/manifest/utils.ts"],"sourcesContent":["import _ from \"lodash\";\nimport {DataCollectionPermission, DataCollectionPermissions} from \"@typing/browser\";\n\nimport {ManifestAccessibleResource, ManifestMatchSchemes, ManifestSpecialSchemes} from \"@typing/manifest\";\n\ntype ManifestPermissions = chrome.runtime.ManifestPermission;\ntype ManifestOptionalPermissions = chrome.runtime.ManifestOptionalPermission;\n\ntype Permission = ManifestPermissions | ManifestOptionalPermissions;\n/**\n * Filters and adapts permissions for Manifest V2 compatibility.\n *\n * @param permissions - Set of permissions to filter\n * @returns New set of permissions adapted for Manifest V2\n */\nexport const filterPermissionsForMV2 = <T extends Permission>(permissions: Set<T>): Set<T> => {\n const filteredPermissions = new Set(permissions);\n\n /**\n * Manifest V3 introduced a new 'scripting' permission for working with the Chrome Scripting API,\n * but Manifest V2 uses the 'tabs' permission for executing scripts on web pages.\n * This function automatically replaces 'scripting' with 'tabs' to ensure backward compatibility.\n *\n * @example\n * ```typescript\n * const mv3Permissions = new Set(['scripting', 'storage', 'activeTab']);\n * const mv2Permissions = filterPermissionsForMV2(mv3Permissions);\n * // Result: Set(['tabs', 'storage', 'activeTab'])\n * ```\n */\n if (filteredPermissions.has(\"scripting\" as T)) {\n filteredPermissions.delete(\"scripting\" as T);\n filteredPermissions.add(\"tabs\" as T);\n }\n\n filteredPermissions.delete(\"offscreen\" as T);\n\n return filteredPermissions;\n};\n\nexport const filterPermissionsForMV3 = <T extends Permission>(permissions: Set<T>): Set<T> => {\n const filteredPermissions = new Set(permissions);\n\n /**\n * @permissions webRequestBlocking, webAuthenticationProxy, webRequestAuthProvider\n * @description These permissions were removed in Manifest V3 due to concerns related to security, performance, and transparency.\n * - `webRequestBlocking`: Allowed real-time interception and modification of network requests, which introduced latency and potential security risks. Replaced by the safer, declarative `declarativeNetRequest` API.\n * - `webAuthenticationProxy`: Provided proxy authentication control, but was rarely used and posed privacy risks.\n * - `webRequestAuthProvider`: Enabled handling of HTTP authentication (onAuthRequired), but was considered unsafe in the new MV3 architecture due to its ability to interfere with authentication flows.\n * @manifestV3 Removed. These APIs are no longer available in extensions using Manifest V3.\n */\n filteredPermissions.delete(\"webAuthenticationProxy\" as T);\n filteredPermissions.delete(\"webRequestAuthProvider\" as T);\n filteredPermissions.delete(\"webRequestBlocking\" as T);\n\n return filteredPermissions;\n};\n\nexport const filterHostPatterns = (patterns: Set<string>): Set<string> => {\n if (patterns.has(\"<all_urls>\")) {\n return new Set([\"<all_urls>\"]);\n }\n\n const result = new Set<string>();\n\n const activeWildcards = new Set<string>();\n\n if (patterns.has(\"*://*/*\")) {\n activeWildcards.add(\"*://*/*\");\n result.add(\"*://*/*\");\n }\n\n for (const scheme of ManifestMatchSchemes) {\n const wildcard = `${scheme}://*/*`;\n\n if (patterns.has(wildcard)) {\n if (scheme === \"http\" || scheme === \"https\") {\n if (!activeWildcards.has(\"*://*/*\")) {\n activeWildcards.add(wildcard);\n result.add(wildcard);\n }\n } else {\n activeWildcards.add(wildcard);\n result.add(wildcard);\n }\n }\n }\n\n const isCoveredByWildcard = (pattern: string): boolean => {\n const schemeIndex = pattern.indexOf(\"://\");\n if (schemeIndex === -1) return false;\n\n const scheme = pattern.substring(0, schemeIndex);\n\n if (ManifestSpecialSchemes.has(scheme)) {\n return false;\n }\n\n if (activeWildcards.has(\"*://*/*\") && (scheme === \"http\" || scheme === \"https\")) {\n return true;\n }\n\n return activeWildcards.has(`${scheme}://*/*`);\n };\n\n for (const pattern of patterns) {\n if (activeWildcards.has(pattern)) {\n continue;\n }\n\n if (!isCoveredByWildcard(pattern)) {\n result.add(pattern);\n }\n }\n\n return result;\n};\n\nexport const mergeWebAccessibleResources = (resources: ManifestAccessibleResource[]): ManifestAccessibleResource[] => {\n if (resources.length === 0) return [];\n\n const simplifiedMatches: ManifestAccessibleResource[] = resources.map(r => {\n const {resources, matches, extensionIds, useDynamicUrl} = r;\n return {\n resources,\n extensionIds,\n useDynamicUrl,\n matches: matches ? Array.from(filterHostPatterns(new Set(matches))) : matches,\n };\n });\n\n const normalize = (arr?: string[]) => Array.from(new Set(arr || [])).sort();\n\n const makeKey = (r: ManifestAccessibleResource, exclude: (keyof ManifestAccessibleResource)[]): string => {\n const obj: ManifestAccessibleResource = {\n resources: normalize(r.resources),\n matches: normalize(r.matches),\n extensionIds: normalize(r.extensionIds),\n useDynamicUrl: r.useDynamicUrl,\n };\n\n for (const field of exclude) {\n delete obj[field];\n }\n\n return JSON.stringify(obj);\n };\n\n const mergeTwo = (a: ManifestAccessibleResource, b: ManifestAccessibleResource): ManifestAccessibleResource => ({\n resources: normalize([...a.resources, ...b.resources]),\n matches: normalize([...(a.matches || []), ...(b.matches || [])]),\n extensionIds: normalize([...(a.extensionIds || []), ...(b.extensionIds || [])]),\n useDynamicUrl: a.useDynamicUrl,\n });\n\n const merge = (resources: ManifestAccessibleResource[], mergeBy: keyof ManifestAccessibleResource) => {\n const map = new Map<string, ManifestAccessibleResource>();\n let changed = false;\n for (const r of resources) {\n const key = makeKey(r, [mergeBy]);\n if (map.has(key)) {\n const merged = mergeTwo(map.get(key)!, r);\n map.set(key, merged);\n changed = true;\n } else {\n map.set(key, r);\n }\n }\n\n return {\n changed,\n result: Array.from(map.values()),\n };\n };\n\n let changed = true;\n\n let result: ManifestAccessibleResource[] = simplifiedMatches.map(r => ({\n resources: normalize(r.resources),\n matches: normalize(r.matches),\n extensionIds: normalize(r.extensionIds),\n useDynamicUrl: r.useDynamicUrl,\n }));\n\n while (changed) {\n changed = false;\n\n const mergeByResources = merge(result, \"resources\");\n const afterResources = mergeByResources.result;\n\n const mergeByMatches = merge(afterResources, \"matches\");\n const afterMatches = mergeByMatches.result;\n\n const mergeByExtensionIds = merge(afterMatches, \"extensionIds\");\n const afterExtensionIds = mergeByExtensionIds.result;\n\n changed = mergeByResources.changed || mergeByMatches.changed || mergeByExtensionIds.changed;\n result = afterExtensionIds;\n }\n\n for (const entry of result) {\n if (!entry.matches) continue;\n if (entry.matches.includes(\"<all_urls>\") || entry.matches.includes(\"*://*/*\")) {\n for (const other of result) {\n if (other === entry) continue;\n // збігаються усі крім resources → можна чистити resources\n if (\n _.isEqual(other.matches, entry.matches) ||\n other.useDynamicUrl !== entry.useDynamicUrl ||\n !_.isEqual(other.extensionIds, entry.extensionIds)\n ) {\n continue;\n }\n other.resources = other.resources.filter(r => !entry.resources.includes(r));\n }\n }\n }\n\n for (const entry of result) {\n if (!entry.matches) continue;\n for (const scheme of ManifestMatchSchemes) {\n if (entry.matches.includes(`${scheme}://*/*`)) {\n for (const other of result) {\n if (other === entry) continue;\n if (\n other.useDynamicUrl !== entry.useDynamicUrl ||\n !_.isEqual(other.extensionIds, entry.extensionIds)\n ) {\n continue;\n }\n if (other.matches?.some(m => m.startsWith(`${scheme}://`))) {\n other.resources = other.resources.filter(r => !entry.resources.includes(r));\n }\n }\n }\n }\n }\n\n result = result\n .filter(r => r.resources.length > 0)\n .map(r => {\n if (r.matches?.length === 0) delete r.matches;\n if (r.extensionIds?.length === 0) delete r.extensionIds;\n if (r.useDynamicUrl === undefined) delete r.useDynamicUrl;\n return r;\n });\n\n return result;\n};\n\n/**\n * Normalizes data collection permissions for the manifest.\n *\n * - Removes duplicate permissions.\n * - Filters out invalid permissions not present in DataCollectionPermission enum.\n * - Sets \"none\" as default if required permissions are empty.\n * - Removes \"none\" if real permissions are added to required.\n * - Removes \"none\" from optional permissions.\n * - Removes any permission from optional if it's already in required.\n * - Sorts both required and optional permissions alphabetically.\n *\n * @param permissions - The permissions object to normalize.\n */\nexport const normalizeDataCollectionPermissions = (\n permissions?: DataCollectionPermissions\n): DataCollectionPermissions => {\n const validPermissions = Object.values(DataCollectionPermission) as string[];\n\n let required = _.uniq(permissions?.required || []).filter(\n p => (p as string) === \"none\" || validPermissions.includes(p as string)\n );\n\n let optional = _.uniq(permissions?.optional || []).filter(\n p => (p as string) !== \"none\" && validPermissions.includes(p as string)\n );\n\n if (required.length === 0) {\n required = [\"none\" as any];\n }\n\n if (required.length > 1 && required.includes(\"none\" as any)) {\n required = _.without(required, \"none\" as any);\n }\n\n optional = _.difference(optional, required);\n\n return {\n required: required.toSorted() as DataCollectionPermissions[\"required\"],\n optional: optional.length > 0 ? (optional.toSorted() as DataCollectionPermissions[\"optional\"]) : undefined,\n };\n};\n"],"mappings":"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","names":["resources","changed","_a"]}
|
|
@@ -7,7 +7,7 @@ export { isEntryModuleOrIssuer, onlyViaTopLevelEntry } from './utils/optimizatio
|
|
|
7
7
|
export { appFilenameResolver } from './utils/output.js';
|
|
8
8
|
import '@rspack/core';
|
|
9
9
|
import 'rspack-plugin-virtual-module';
|
|
10
|
-
import '../../manifest-
|
|
10
|
+
import '../../manifest-DKvERQ4d.js';
|
|
11
11
|
import 'react';
|
|
12
12
|
import 'utility-types';
|
|
13
13
|
import '../../types/app.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Compiler, EntryNormalized } from '@rspack/core';
|
|
2
2
|
import { RspackVirtualModulePlugin } from 'rspack-plugin-virtual-module';
|
|
3
|
-
import { Z as EntrypointFile, _ as EntrypointEntries } from '../../../manifest-
|
|
3
|
+
import { Z as EntrypointFile, _ as EntrypointEntries } from '../../../manifest-DKvERQ4d.js';
|
|
4
4
|
import 'react';
|
|
5
5
|
import 'utility-types';
|
|
6
6
|
import '../../../types/app.js';
|
|
@@ -5,7 +5,7 @@ export { default as ReplacePlugin } from './ReplacePlugin.js';
|
|
|
5
5
|
export { default as WatchPlugin } from './WatchPlugin.js';
|
|
6
6
|
import '@rspack/core';
|
|
7
7
|
import 'rspack-plugin-virtual-module';
|
|
8
|
-
import '../../../manifest-
|
|
8
|
+
import '../../../manifest-DKvERQ4d.js';
|
|
9
9
|
import 'react';
|
|
10
10
|
import 'utility-types';
|
|
11
11
|
import '../../../types/app.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import export_default$1 from './AbstractFinder.js';
|
|
2
|
-
import { Z as EntrypointFile } from '../../../manifest-
|
|
3
|
-
import '../../../config-
|
|
2
|
+
import { Z as EntrypointFile } from '../../../manifest-DKvERQ4d.js';
|
|
3
|
+
import '../../../config-BaSTGrd0.js';
|
|
4
4
|
import '@rspack/core';
|
|
5
5
|
import 'html-rspack-tags-plugin';
|
|
6
6
|
import '../../../types/app.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import export_default$1 from './AbstractOptionsFinder.js';
|
|
2
|
-
import { Y as EntrypointOptions, Z as EntrypointFile } from '../../../manifest-
|
|
3
|
-
import { R as ReadonlyConfig } from '../../../config-
|
|
2
|
+
import { Y as EntrypointOptions, Z as EntrypointFile } from '../../../manifest-DKvERQ4d.js';
|
|
3
|
+
import { R as ReadonlyConfig } from '../../../config-BaSTGrd0.js';
|
|
4
4
|
import './AbstractFinder.js';
|
|
5
5
|
import '@rspack/core';
|
|
6
6
|
import 'html-rspack-tags-plugin';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { R as ReadonlyConfig } from '../../../config-
|
|
2
|
-
import { $ as EntrypointFinder, Z as EntrypointFile } from '../../../manifest-
|
|
1
|
+
import { R as ReadonlyConfig } from '../../../config-BaSTGrd0.js';
|
|
2
|
+
import { $ as EntrypointFinder, Z as EntrypointFile } from '../../../manifest-DKvERQ4d.js';
|
|
3
3
|
import '@rspack/core';
|
|
4
4
|
import 'html-rspack-tags-plugin';
|
|
5
5
|
import '../../../types/app.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import export_default$1 from './AbstractFinder.js';
|
|
2
|
-
import { Y as EntrypointOptions, a0 as EntrypointOptionsFinder, a2 as EntrypointParser, Z as EntrypointFile, a3 as EntrypointType } from '../../../manifest-
|
|
3
|
-
import '../../../config-
|
|
2
|
+
import { Y as EntrypointOptions, a0 as EntrypointOptionsFinder, a2 as EntrypointParser, Z as EntrypointFile, a3 as EntrypointType } from '../../../manifest-DKvERQ4d.js';
|
|
3
|
+
import '../../../config-BaSTGrd0.js';
|
|
4
4
|
import '@rspack/core';
|
|
5
5
|
import 'html-rspack-tags-plugin';
|
|
6
6
|
import '../../../types/app.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import export_default$1 from './AbstractEntrypointFinder.js';
|
|
2
|
-
import { Y as EntrypointOptions, a0 as EntrypointOptionsFinder, Z as EntrypointFile } from '../../../manifest-
|
|
2
|
+
import { Y as EntrypointOptions, a0 as EntrypointOptionsFinder, Z as EntrypointFile } from '../../../manifest-DKvERQ4d.js';
|
|
3
3
|
import './AbstractOptionsFinder.js';
|
|
4
4
|
import './AbstractFinder.js';
|
|
5
|
-
import '../../../config-
|
|
5
|
+
import '../../../config-BaSTGrd0.js';
|
|
6
6
|
import '@rspack/core';
|
|
7
7
|
import 'html-rspack-tags-plugin';
|
|
8
8
|
import '../../../types/app.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import export_default$1 from './AbstractPluginFinder.js';
|
|
2
2
|
import export_default$2 from '../name/InlineNameGenerator.js';
|
|
3
|
-
import { Z as EntrypointFile } from '../../../manifest-
|
|
4
|
-
import { R as ReadonlyConfig } from '../../../config-
|
|
3
|
+
import { Z as EntrypointFile } from '../../../manifest-DKvERQ4d.js';
|
|
4
|
+
import { R as ReadonlyConfig } from '../../../config-BaSTGrd0.js';
|
|
5
5
|
import { TransportEntrypointOptions, TransportOptions } from '../../../types/transport.js';
|
|
6
6
|
import './AbstractEntrypointFinder.js';
|
|
7
7
|
import './AbstractOptionsFinder.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import export_default$1 from './AbstractPluginFinder.js';
|
|
2
|
-
import { R as ReadonlyConfig } from '../../../config-
|
|
2
|
+
import { R as ReadonlyConfig } from '../../../config-BaSTGrd0.js';
|
|
3
3
|
import { ViewEntrypointOptions } from '../../../types/view.js';
|
|
4
|
-
import { Z as EntrypointFile, a1 as EntrypointNameGenerator } from '../../../manifest-
|
|
4
|
+
import { Z as EntrypointFile, a1 as EntrypointNameGenerator } from '../../../manifest-DKvERQ4d.js';
|
|
5
5
|
import './AbstractEntrypointFinder.js';
|
|
6
6
|
import './AbstractOptionsFinder.js';
|
|
7
7
|
import './AbstractFinder.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import export_default$1 from './AbstractFinder.js';
|
|
2
2
|
import export_default$2 from './AbstractAssetFinder.js';
|
|
3
|
-
import { Z as EntrypointFile } from '../../../manifest-
|
|
4
|
-
import { d as PluginAssetKeys, R as ReadonlyConfig } from '../../../config-
|
|
3
|
+
import { Z as EntrypointFile } from '../../../manifest-DKvERQ4d.js';
|
|
4
|
+
import { d as PluginAssetKeys, R as ReadonlyConfig } from '../../../config-BaSTGrd0.js';
|
|
5
5
|
import '@rspack/core';
|
|
6
6
|
import 'html-rspack-tags-plugin';
|
|
7
7
|
import '../../../types/app.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import export_default$1 from './AbstractPluginFinder.js';
|
|
2
|
-
import { R as ReadonlyConfig } from '../../../config-
|
|
3
|
-
import { a4 as BackgroundEntrypointOptions, a3 as EntrypointType, a2 as EntrypointParser, a0 as EntrypointOptionsFinder } from '../../../manifest-
|
|
2
|
+
import { R as ReadonlyConfig } from '../../../config-BaSTGrd0.js';
|
|
3
|
+
import { a4 as BackgroundEntrypointOptions, a3 as EntrypointType, a2 as EntrypointParser, a0 as EntrypointOptionsFinder } from '../../../manifest-DKvERQ4d.js';
|
|
4
4
|
import './AbstractEntrypointFinder.js';
|
|
5
5
|
import './AbstractOptionsFinder.js';
|
|
6
6
|
import './AbstractFinder.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import export_default$1 from './AbstractPluginFinder.js';
|
|
2
2
|
import export_default$2 from '../name/InlineNameGenerator.js';
|
|
3
|
-
import { a5 as CommandEntrypointOptions, Z as EntrypointFile, a6 as CommandOptions, a3 as EntrypointType, a2 as EntrypointParser, a0 as EntrypointOptionsFinder } from '../../../manifest-
|
|
4
|
-
import { R as ReadonlyConfig } from '../../../config-
|
|
3
|
+
import { a5 as CommandEntrypointOptions, Z as EntrypointFile, a6 as CommandOptions, a3 as EntrypointType, a2 as EntrypointParser, a0 as EntrypointOptionsFinder } from '../../../manifest-DKvERQ4d.js';
|
|
4
|
+
import { R as ReadonlyConfig } from '../../../config-BaSTGrd0.js';
|
|
5
5
|
import './AbstractEntrypointFinder.js';
|
|
6
6
|
import './AbstractOptionsFinder.js';
|
|
7
7
|
import './AbstractFinder.js';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import export_default$1 from './AbstractPluginFinder.js';
|
|
2
|
-
import { R as ReadonlyConfig } from '../../../config-
|
|
3
|
-
import {
|
|
2
|
+
import { R as ReadonlyConfig } from '../../../config-BaSTGrd0.js';
|
|
3
|
+
import { t as ContentScriptEntrypointOptions, a3 as EntrypointType, a0 as EntrypointOptionsFinder, a2 as EntrypointParser } from '../../../manifest-DKvERQ4d.js';
|
|
4
4
|
import './AbstractEntrypointFinder.js';
|
|
5
5
|
import './AbstractOptionsFinder.js';
|
|
6
6
|
import './AbstractFinder.js';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import export_default$1 from './AbstractAssetFinder.js';
|
|
2
2
|
import export_default$2 from './AssetPluginFinder.js';
|
|
3
|
-
import { Z as EntrypointFile } from '../../../manifest-
|
|
4
|
-
import { R as ReadonlyConfig } from '../../../config-
|
|
3
|
+
import { Z as EntrypointFile } from '../../../manifest-DKvERQ4d.js';
|
|
4
|
+
import { R as ReadonlyConfig } from '../../../config-BaSTGrd0.js';
|
|
5
5
|
import './AbstractFinder.js';
|
|
6
6
|
import '@rspack/core';
|
|
7
7
|
import 'html-rspack-tags-plugin';
|