adnbn 0.13.0 → 0.15.0
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/build.d.ts +7 -0
- package/dist/cli/builders/app/build.js +58 -0
- package/dist/cli/builders/app/build.js.map +1 -0
- package/dist/cli/builders/app/index.d.ts +6 -1
- package/dist/cli/builders/app/index.js +49 -14
- package/dist/cli/builders/app/index.js.map +1 -1
- package/dist/cli/builders/app/{command.d.ts → watch.d.ts} +0 -1
- package/dist/cli/builders/app/{command.js → watch.js} +1 -26
- package/dist/cli/builders/app/watch.js.map +1 -0
- package/dist/cli/builders/manifest/ManifestBase.d.ts +8 -1
- package/dist/cli/builders/manifest/ManifestBase.js +30 -0
- package/dist/cli/builders/manifest/ManifestBase.js.map +1 -1
- package/dist/cli/builders/manifest/ManifestV2.js +3 -15
- package/dist/cli/builders/manifest/ManifestV2.js.map +1 -1
- package/dist/cli/builders/manifest/ManifestV3.js +3 -15
- package/dist/cli/builders/manifest/ManifestV3.js.map +1 -1
- package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js +4 -0
- package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js.map +1 -1
- package/dist/cli/entrypoint/finder/AbstractOverrideFinder.d.ts +15 -0
- package/dist/cli/entrypoint/finder/AbstractOverrideFinder.js +20 -0
- package/dist/cli/entrypoint/finder/AbstractOverrideFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/AbstractViewFinder.d.ts +6 -1
- package/dist/cli/entrypoint/finder/AbstractViewFinder.js +15 -0
- package/dist/cli/entrypoint/finder/AbstractViewFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/BookmarksFinder.d.ts +9 -0
- package/dist/cli/entrypoint/finder/BookmarksFinder.js +18 -0
- package/dist/cli/entrypoint/finder/BookmarksFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/CommandFinder.d.ts +4 -0
- package/dist/cli/entrypoint/finder/CommandFinder.js +20 -6
- package/dist/cli/entrypoint/finder/CommandFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/HistoryFinder.d.ts +9 -0
- package/dist/cli/entrypoint/finder/HistoryFinder.js +18 -0
- package/dist/cli/entrypoint/finder/HistoryFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/NewtabFinder.d.ts +9 -0
- package/dist/cli/entrypoint/finder/NewtabFinder.js +18 -0
- package/dist/cli/entrypoint/finder/NewtabFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/OptionsFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/OptionsFinder.js +2 -2
- package/dist/cli/entrypoint/finder/OptionsFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/PageFinder.js +1 -1
- package/dist/cli/entrypoint/finder/PageFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/PopupFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/PopupFinder.js +2 -2
- package/dist/cli/entrypoint/finder/PopupFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/SidebarFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/SidebarFinder.js +2 -2
- package/dist/cli/entrypoint/finder/SidebarFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/ViewCspFinder.d.ts +2 -3
- package/dist/cli/entrypoint/finder/ViewCspFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/ViewPermissionsFinder.d.ts +22 -0
- package/dist/cli/entrypoint/finder/ViewPermissionsFinder.js +43 -0
- package/dist/cli/entrypoint/finder/ViewPermissionsFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/index.d.ts +5 -0
- package/dist/cli/entrypoint/finder/index.js +50 -40
- package/dist/cli/entrypoint/finder/index.js.map +1 -1
- package/dist/cli/entrypoint/name/NameGenerator.d.ts +2 -0
- package/dist/cli/entrypoint/name/NameGenerator.js +5 -1
- package/dist/cli/entrypoint/name/NameGenerator.js.map +1 -1
- package/dist/cli/entrypoint/parser/AbstractOverrideParser.d.ts +9 -0
- package/dist/cli/entrypoint/parser/AbstractOverrideParser.js +11 -0
- package/dist/cli/entrypoint/parser/AbstractOverrideParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/BackgroundParser.js +3 -6
- package/dist/cli/entrypoint/parser/BackgroundParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/BookmarksParser.d.ts +5 -0
- package/dist/cli/entrypoint/parser/BookmarksParser.js +10 -0
- package/dist/cli/entrypoint/parser/BookmarksParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/HistoryParser.d.ts +5 -0
- package/dist/cli/entrypoint/parser/HistoryParser.js +10 -0
- package/dist/cli/entrypoint/parser/HistoryParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/NewtabParser.d.ts +5 -0
- package/dist/cli/entrypoint/parser/NewtabParser.js +10 -0
- package/dist/cli/entrypoint/parser/NewtabParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/OptionsParser.js +2 -1
- package/dist/cli/entrypoint/parser/OptionsParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/PopupParser.js +2 -1
- package/dist/cli/entrypoint/parser/PopupParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/SidebarParser.js +2 -1
- package/dist/cli/entrypoint/parser/SidebarParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/ViewCspParser.d.ts +1 -1
- package/dist/cli/entrypoint/parser/ViewParser.d.ts +1 -1243
- package/dist/cli/entrypoint/parser/ViewParser.js +2 -72
- package/dist/cli/entrypoint/parser/ViewParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/index.d.ts +4 -0
- package/dist/cli/entrypoint/parser/index.js +28 -20
- package/dist/cli/entrypoint/parser/index.js.map +1 -1
- package/dist/cli/entrypoint/parser/schemas/html.d.ts +903 -0
- package/dist/cli/entrypoint/parser/schemas/html.js +64 -0
- package/dist/cli/entrypoint/parser/schemas/html.js.map +1 -0
- package/dist/cli/entrypoint/parser/schemas/permissions.d.ts +23 -0
- package/dist/cli/entrypoint/parser/schemas/permissions.js +11 -0
- package/dist/cli/entrypoint/parser/schemas/permissions.js.map +1 -0
- package/dist/cli/index.js +16 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/plugins/action.d.ts +2 -0
- package/dist/cli/plugins/action.js +13 -0
- package/dist/cli/plugins/action.js.map +1 -0
- package/dist/cli/plugins/index.d.ts +2 -0
- package/dist/cli/plugins/index.js +52 -48
- package/dist/cli/plugins/index.js.map +1 -1
- package/dist/cli/plugins/offscreen/index.js +2 -4
- package/dist/cli/plugins/offscreen/index.js.map +1 -1
- package/dist/cli/plugins/options/index.js +1 -1
- package/dist/cli/plugins/options/index.js.map +1 -1
- package/dist/cli/plugins/override/Override.d.ts +31 -0
- package/dist/cli/plugins/override/Override.js +112 -0
- package/dist/cli/plugins/override/Override.js.map +1 -0
- package/dist/cli/plugins/override/index.d.ts +2 -0
- package/dist/cli/plugins/override/index.js +48 -0
- package/dist/cli/plugins/override/index.js.map +1 -0
- package/dist/cli/plugins/popup/index.js +1 -1
- package/dist/cli/plugins/popup/index.js.map +1 -1
- package/dist/cli/plugins/sidebar/index.js +1 -2
- package/dist/cli/plugins/sidebar/index.js.map +1 -1
- package/dist/cli/plugins/style/index.js +34 -31
- package/dist/cli/plugins/style/index.js.map +1 -1
- package/dist/cli/plugins/style/rebase.d.ts +14 -0
- package/dist/cli/plugins/style/rebase.js +63 -0
- package/dist/cli/plugins/style/rebase.js.map +1 -0
- package/dist/cli/plugins/style/utils.d.ts +5 -1
- package/dist/cli/plugins/style/utils.js +21 -8
- package/dist/cli/plugins/style/utils.js.map +1 -1
- package/dist/cli/plugins/typescript/TypescriptConfig.js +2 -2
- package/dist/cli/plugins/typescript/TypescriptConfig.js.map +1 -1
- package/dist/cli/plugins/view/View.d.ts +1 -1
- package/dist/cli/plugins/view/View.js +2 -10
- package/dist/cli/plugins/view/View.js.map +1 -1
- package/dist/cli/plugins/view/index.js +10 -1
- package/dist/cli/plugins/view/index.js.map +1 -1
- package/dist/cli/resolvers/bundler.js +9 -1
- package/dist/cli/resolvers/bundler.js.map +1 -1
- package/dist/cli/resolvers/config.js +7 -1
- package/dist/cli/resolvers/config.js.map +1 -1
- package/dist/cli/utils/path.js +1 -1
- package/dist/cli/utils/path.js.map +1 -1
- package/dist/cli/virtual/index.js +14 -17
- package/dist/cli/virtual/virtual.d.ts +7 -127
- package/dist/entry/background/Builder.js +1 -1
- package/dist/entry/background/Builder.js.map +1 -1
- package/dist/entry/background/index.d.ts +1 -1
- package/dist/entry/background/index.js +3 -2
- package/dist/entry/background/index.js.map +1 -1
- package/dist/entry/background/resolvers/definition.d.ts +5 -1
- package/dist/entry/background/resolvers/definition.js +15 -4
- package/dist/entry/background/resolvers/definition.js.map +1 -1
- package/dist/entry/command/Builder.js +1 -1
- package/dist/entry/command/Builder.js.map +1 -1
- package/dist/entry/command/index.d.ts +1 -1
- package/dist/entry/command/index.js +3 -2
- package/dist/entry/command/index.js.map +1 -1
- package/dist/entry/command/resolvers/definition.d.ts +6 -2
- package/dist/entry/command/resolvers/definition.js +14 -4
- package/dist/entry/command/resolvers/definition.js.map +1 -1
- package/dist/entry/content/adapters/react/Builder.js +4 -2
- package/dist/entry/content/adapters/react/Builder.js.map +1 -1
- package/dist/entry/content/adapters/react/Node.js +11 -6
- package/dist/entry/content/adapters/react/Node.js.map +1 -1
- package/dist/entry/content/adapters/react/definition.js +3 -2
- package/dist/entry/content/adapters/react/definition.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/Builder.js +2 -2
- package/dist/entry/content/adapters/vanilla/Builder.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/Node.js +3 -5
- package/dist/entry/content/adapters/vanilla/Node.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/definition.js +2 -2
- package/dist/entry/content/adapters/vanilla/definition.js.map +1 -1
- package/dist/entry/content/lifecycle/Builder.js +5 -9
- package/dist/entry/content/lifecycle/Builder.js.map +1 -1
- package/dist/entry/core/react.d.ts +6 -0
- package/dist/entry/core/react.js +16 -0
- package/dist/entry/core/react.js.map +1 -0
- package/dist/entry/core/render.d.ts +5 -0
- package/dist/entry/core/render.js +16 -0
- package/dist/entry/core/render.js.map +1 -0
- package/dist/entry/offscreen/Builder.d.ts +6 -7
- package/dist/entry/offscreen/Builder.js +12 -13
- package/dist/entry/offscreen/Builder.js.map +1 -1
- package/dist/entry/offscreen/TransportBuilder.d.ts +1 -1
- package/dist/entry/offscreen/TransportBuilder.js +4 -3
- package/dist/entry/offscreen/TransportBuilder.js.map +1 -1
- package/dist/entry/offscreen/index.d.ts +5 -2
- package/dist/entry/offscreen/index.js +8 -2
- package/dist/entry/offscreen/index.js.map +1 -1
- package/dist/entry/offscreen/resolvers/definition.d.ts +4 -0
- package/dist/entry/offscreen/resolvers/definition.js +8 -0
- package/dist/entry/offscreen/resolvers/definition.js.map +1 -0
- package/dist/entry/relay/Builder.d.ts +4 -3
- package/dist/entry/relay/Builder.js.map +1 -1
- package/dist/entry/relay/index.d.ts +4 -3
- package/dist/entry/relay/index.js.map +1 -1
- package/dist/entry/relay/resolvers/definition.d.ts +1 -1
- package/dist/entry/relay/resolvers/definition.js +2 -10
- package/dist/entry/relay/resolvers/definition.js.map +1 -1
- package/dist/entry/sandbox/Builder.d.ts +6 -7
- package/dist/entry/sandbox/Builder.js +8 -12
- package/dist/entry/sandbox/Builder.js.map +1 -1
- package/dist/entry/sandbox/TransportBuilder.d.ts +1 -1
- package/dist/entry/sandbox/TransportBuilder.js +4 -3
- package/dist/entry/sandbox/TransportBuilder.js.map +1 -1
- package/dist/entry/sandbox/index.d.ts +7 -2
- package/dist/entry/sandbox/index.js +10 -4
- package/dist/entry/sandbox/index.js.map +1 -1
- package/dist/entry/sandbox/resolvers/definition.d.ts +4 -0
- package/dist/entry/sandbox/resolvers/definition.js +8 -0
- package/dist/entry/sandbox/resolvers/definition.js.map +1 -0
- package/dist/entry/service/index.d.ts +1 -0
- package/dist/entry/service/index.js +3 -1
- package/dist/entry/service/index.js.map +1 -1
- package/dist/entry/service/resolvers/definition.d.ts +3 -0
- package/dist/entry/service/resolvers/definition.js +8 -0
- package/dist/entry/service/resolvers/definition.js.map +1 -0
- package/dist/entry/transport/AbstractBuilder.js +1 -1
- package/dist/entry/transport/AbstractBuilder.js.map +1 -1
- package/dist/entry/transport/resolvers/definition.d.ts +7 -5
- package/dist/entry/transport/resolvers/definition.js +15 -4
- package/dist/entry/transport/resolvers/definition.js.map +1 -1
- package/dist/entry/view/{core/Builder.d.ts → Builder.d.ts} +9 -4
- package/dist/entry/view/Builder.js +62 -0
- package/dist/entry/view/Builder.js.map +1 -0
- package/dist/entry/view/adapters/react/Builder.d.ts +6 -7
- package/dist/entry/view/adapters/react/Builder.js +20 -23
- package/dist/entry/view/adapters/react/Builder.js.map +1 -1
- package/dist/entry/view/adapters/react/definition.d.ts +2 -0
- package/dist/entry/view/adapters/react/definition.js +13 -0
- package/dist/entry/view/adapters/react/definition.js.map +1 -0
- package/dist/entry/view/adapters/react/index.d.ts +2 -1
- package/dist/entry/view/adapters/react/index.js +3 -1
- package/dist/entry/view/adapters/react/index.js.map +1 -1
- package/dist/entry/view/adapters/vanilla/Builder.d.ts +5 -6
- package/dist/entry/view/adapters/vanilla/Builder.js +14 -25
- package/dist/entry/view/adapters/vanilla/Builder.js.map +1 -1
- package/dist/entry/view/adapters/vanilla/definition.d.ts +2 -0
- package/dist/entry/view/adapters/vanilla/definition.js +9 -0
- package/dist/entry/view/adapters/vanilla/definition.js.map +1 -0
- package/dist/entry/view/adapters/vanilla/index.d.ts +2 -1
- package/dist/entry/view/adapters/vanilla/index.js +3 -1
- package/dist/entry/view/adapters/vanilla/index.js.map +1 -1
- package/dist/entry/view/{core/resolvers → resolvers}/container.d.ts +1 -1
- package/dist/entry/view/resolvers/container.js.map +1 -0
- package/dist/entry/view/resolvers/definition.d.ts +3 -0
- package/dist/entry/view/resolvers/definition.js +18 -0
- package/dist/entry/view/resolvers/definition.js.map +1 -0
- package/dist/locale/adapters/react/hooks/use-locale.js +1 -1
- package/dist/locale/adapters/react/hooks/use-locale.js.map +1 -1
- package/dist/locale/adapters/react/hooks/use-native-locale.js +1 -1
- package/dist/locale/adapters/react/hooks/use-native-locale.js.map +1 -1
- package/dist/locale/index.d.ts +1 -0
- package/dist/locale/index.js +3 -1
- package/dist/locale/index.js.map +1 -1
- package/dist/locale/{providers → observers}/ObservableLocale.js +2 -2
- package/dist/locale/observers/ObservableLocale.js.map +1 -0
- package/dist/locale/observers/index.d.ts +1 -0
- package/dist/locale/observers/index.js +5 -0
- package/dist/locale/observers/index.js.map +1 -0
- package/dist/locale/providers/index.d.ts +0 -1
- package/dist/locale/providers/index.js +1 -3
- package/dist/locale/providers/index.js.map +1 -1
- package/dist/main/config.d.ts +1 -0
- package/dist/main/config.js.map +1 -1
- package/dist/main/index.d.ts +2 -0
- package/dist/main/index.js +2 -0
- package/dist/main/index.js.map +1 -1
- package/dist/main/override.d.ts +5 -0
- package/dist/main/override.js +15 -0
- package/dist/main/override.js.map +1 -0
- package/dist/main/permissions.d.ts +1 -0
- package/dist/main/permissions.js +1 -0
- package/dist/main/relay.d.ts +1 -0
- package/dist/main/relay.js +2 -0
- package/dist/main/relay.js.map +1 -1
- package/dist/main/view.d.ts +1 -1
- package/dist/message/adapters/react/index.d.ts +1 -1
- package/dist/message/adapters/react/index.js +1 -1
- package/dist/message/adapters/react/index.js.map +1 -1
- package/dist/message/adapters/react/{useMessageHandler.js → use-message-handler.js} +6 -4
- package/dist/message/adapters/react/use-message-handler.js.map +1 -0
- package/dist/message/handlers/MapHandler.js +2 -1
- package/dist/message/handlers/MapHandler.js.map +1 -1
- package/dist/message/handlers/SingleHandler.js +2 -1
- package/dist/message/handlers/SingleHandler.js.map +1 -1
- package/dist/message/providers/Message.js +1 -1
- package/dist/message/providers/Message.js.map +1 -1
- package/dist/relay/RelayPermission.js +8 -2
- package/dist/relay/RelayPermission.js.map +1 -1
- package/dist/relay/adapters/RelayScriptingAdapter.d.ts +1 -0
- package/dist/relay/adapters/RelayScriptingAdapter.js +30 -64
- package/dist/relay/adapters/RelayScriptingAdapter.js.map +1 -1
- package/dist/relay/adapters/invoke-relay.d.ts +3 -0
- package/dist/relay/adapters/invoke-relay.js +69 -0
- package/dist/relay/adapters/invoke-relay.js.map +1 -0
- package/dist/relay/adapters/scripting-response.d.ts +12 -0
- package/dist/relay/adapters/scripting-response.js +1 -0
- package/dist/relay/adapters/scripting-response.js.map +1 -0
- package/dist/relay/result.d.ts +3 -0
- package/dist/relay/result.js +7 -0
- package/dist/relay/result.js.map +1 -1
- package/dist/types/action.d.ts +8 -0
- package/dist/types/action.js +1 -0
- package/dist/types/action.js.map +1 -0
- package/dist/types/background.d.ts +2 -8
- package/dist/types/background.js.map +1 -1
- package/dist/types/config.d.ts +17 -1
- package/dist/types/content/definition.d.ts +2 -1
- package/dist/types/entrypoint.d.ts +5 -1
- package/dist/types/entrypoint.js +3 -0
- package/dist/types/entrypoint.js.map +1 -1
- package/dist/types/manifest.d.ts +23 -2
- package/dist/types/manifest.js.map +1 -1
- package/dist/types/offscreen.d.ts +2 -2
- package/dist/types/offscreen.js.map +1 -1
- package/dist/types/options.d.ts +3 -2
- package/dist/types/override.d.ts +22 -0
- package/dist/types/override.js +1 -0
- package/dist/types/override.js.map +1 -0
- package/dist/types/page.d.ts +1 -1
- package/dist/types/permissions.d.ts +39 -0
- package/dist/types/permissions.js +1 -0
- package/dist/types/permissions.js.map +1 -0
- package/dist/types/plugin.d.ts +4 -1
- package/dist/types/popup.d.ts +5 -3
- package/dist/types/sandbox.d.ts +2 -2
- package/dist/types/sandbox.js.map +1 -1
- package/dist/types/sidebar.d.ts +5 -3
- package/dist/types/sidebar.js.map +1 -1
- package/dist/types/view/adapters/index.d.ts +2 -0
- package/dist/types/view/adapters/index.js +1 -0
- package/dist/types/view/adapters/index.js.map +1 -0
- package/dist/types/view/adapters/react.d.ts +4 -0
- package/dist/types/view/adapters/react.js +1 -0
- package/dist/types/view/adapters/react.js.map +1 -0
- package/dist/types/view/adapters/vanilla.d.ts +1 -0
- package/dist/types/view/adapters/vanilla.js +1 -0
- package/dist/types/view/adapters/vanilla.js.map +1 -0
- package/dist/types/{view.d.ts → view/common.d.ts} +2 -14
- package/dist/types/view/common.js +1 -0
- package/dist/types/view/common.js.map +1 -0
- package/dist/types/view/definition.d.ts +15 -0
- package/dist/types/view/definition.js +1 -0
- package/dist/types/view/definition.js.map +1 -0
- package/dist/types/view/index.d.ts +4 -0
- package/dist/types/view/index.js +1 -0
- package/dist/types/view/index.js.map +1 -0
- package/dist/types/view/render.d.ts +7 -0
- package/dist/types/view/render.js +1 -0
- package/dist/types/view/render.js.map +1 -0
- package/package.json +18 -31
- package/dist/cli/builders/app/command.js.map +0 -1
- package/dist/entry/background/resolvers/index.d.ts +0 -1
- package/dist/entry/background/resolvers/index.js +0 -2
- package/dist/entry/background/resolvers/index.js.map +0 -1
- package/dist/entry/command/resolvers/index.d.ts +0 -1
- package/dist/entry/command/resolvers/index.js +0 -2
- package/dist/entry/command/resolvers/index.js.map +0 -1
- package/dist/entry/content/adapters/vanilla/utils.d.ts +0 -1
- package/dist/entry/content/adapters/vanilla/utils.js +0 -7
- package/dist/entry/content/adapters/vanilla/utils.js.map +0 -1
- package/dist/entry/content/resolvers/index.d.ts +0 -6
- package/dist/entry/content/resolvers/index.js +0 -7
- package/dist/entry/content/resolvers/index.js.map +0 -1
- package/dist/entry/transport/index.d.ts +0 -1
- package/dist/entry/transport/index.js +0 -2
- package/dist/entry/transport/index.js.map +0 -1
- package/dist/entry/transport/resolvers/index.d.ts +0 -1
- package/dist/entry/transport/resolvers/index.js +0 -2
- package/dist/entry/transport/resolvers/index.js.map +0 -1
- package/dist/entry/view/adapters/react/resolvers/render.d.ts +0 -2
- package/dist/entry/view/adapters/react/resolvers/render.js +0 -11
- package/dist/entry/view/adapters/react/resolvers/render.js.map +0 -1
- package/dist/entry/view/core/Builder.js +0 -35
- package/dist/entry/view/core/Builder.js.map +0 -1
- package/dist/entry/view/core/resolvers/container.js.map +0 -1
- package/dist/entry/view/core/resolvers/definition.d.ts +0 -3
- package/dist/entry/view/core/resolvers/definition.js +0 -12
- package/dist/entry/view/core/resolvers/definition.js.map +0 -1
- package/dist/entry/view/core/resolvers/render.d.ts +0 -3
- package/dist/entry/view/core/resolvers/render.js +0 -18
- package/dist/entry/view/core/resolvers/render.js.map +0 -1
- package/dist/entry/view/index.d.ts +0 -1
- package/dist/entry/view/index.js +0 -2
- package/dist/entry/view/index.js.map +0 -1
- package/dist/locale/providers/ObservableLocale.js.map +0 -1
- package/dist/message/adapters/react/useMessageHandler.js.map +0 -1
- package/dist/types/view.js +0 -1
- package/scripts/clean-dist.js +0 -7
- package/scripts/copy-dts.js +0 -29
- package/scripts/merge-coverage.mjs +0 -12
- package/scripts/pre-commit.mjs +0 -22
- package/scripts/test-inventory.mjs +0 -38
- package/scripts/test-run.mjs +0 -25
- /package/dist/cli/virtual/{transport.d.ts → service.d.ts} +0 -0
- /package/dist/entry/view/{core/resolvers → resolvers}/container.js +0 -0
- /package/dist/locale/{providers → observers}/ObservableLocale.d.ts +0 -0
- /package/dist/{types/view.js.map → main/permissions.js.map} +0 -0
- /package/dist/message/adapters/react/{useMessageHandler.d.ts → use-message-handler.d.ts} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Compiler, Stats } from "@rspack/core";
|
|
2
|
+
export declare class BuildError extends Error {
|
|
3
|
+
readonly stats: Stats | undefined;
|
|
4
|
+
constructor(message: string, stats: Stats | undefined, options?: ErrorOptions);
|
|
5
|
+
}
|
|
6
|
+
/** Owns a one-shot compiler; settles only after its close callback, including failed builds. */
|
|
7
|
+
export declare const build: (compiler: Compiler) => Promise<Stats>;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
class BuildError extends Error {
|
|
2
|
+
constructor(message, stats, options) {
|
|
3
|
+
super(message, options);
|
|
4
|
+
this.stats = stats;
|
|
5
|
+
this.name = "BuildError";
|
|
6
|
+
}
|
|
7
|
+
stats;
|
|
8
|
+
}
|
|
9
|
+
const build = async (compiler) => {
|
|
10
|
+
let stats;
|
|
11
|
+
let message = "Rspack compilation error";
|
|
12
|
+
const failures = [];
|
|
13
|
+
try {
|
|
14
|
+
await new Promise((resolve, reject) => {
|
|
15
|
+
compiler.run((error, result) => {
|
|
16
|
+
stats = result;
|
|
17
|
+
if (error) {
|
|
18
|
+
reject(error);
|
|
19
|
+
} else {
|
|
20
|
+
resolve();
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
if (!stats) {
|
|
25
|
+
throw new Error("Rspack completed without compilation statistics");
|
|
26
|
+
}
|
|
27
|
+
if (stats.hasErrors()) {
|
|
28
|
+
throw new Error("Rspack reported compilation errors");
|
|
29
|
+
}
|
|
30
|
+
} catch (error) {
|
|
31
|
+
failures.push(error);
|
|
32
|
+
}
|
|
33
|
+
try {
|
|
34
|
+
await new Promise((resolve, reject) => {
|
|
35
|
+
compiler.close((error) => {
|
|
36
|
+
if (error) {
|
|
37
|
+
reject(error);
|
|
38
|
+
} else {
|
|
39
|
+
resolve();
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
} catch (error) {
|
|
44
|
+
message = failures.length ? "Rspack compilation and close failed" : "Rspack close error";
|
|
45
|
+
failures.push(error);
|
|
46
|
+
}
|
|
47
|
+
if (failures.length) {
|
|
48
|
+
throw new BuildError(message, stats, {
|
|
49
|
+
cause: failures.length === 1 ? failures[0] : new AggregateError(failures, message)
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
return stats;
|
|
53
|
+
};
|
|
54
|
+
export {
|
|
55
|
+
BuildError,
|
|
56
|
+
build
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/builders/app/build.ts"],"sourcesContent":["import type {Compiler, Stats} from \"@rspack/core\";\n\nexport class BuildError extends Error {\n constructor(\n message: string,\n public readonly stats: Stats | undefined,\n options?: ErrorOptions\n ) {\n super(message, options);\n this.name = \"BuildError\";\n }\n}\n\n/** Owns a one-shot compiler; settles only after its close callback, including failed builds. */\nexport const build = async (compiler: Compiler): Promise<Stats> => {\n let stats: Stats | undefined;\n let message = \"Rspack compilation error\";\n const failures: unknown[] = [];\n\n try {\n await new Promise<void>((resolve, reject) => {\n compiler.run((error, result) => {\n stats = result;\n\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n\n if (!stats) {\n throw new Error(\"Rspack completed without compilation statistics\");\n }\n\n if (stats.hasErrors()) {\n throw new Error(\"Rspack reported compilation errors\");\n }\n } catch (error) {\n failures.push(error);\n }\n\n try {\n await new Promise<void>((resolve, reject) => {\n compiler.close(error => {\n if (error) {\n reject(error);\n } else {\n resolve();\n }\n });\n });\n } catch (error) {\n message = failures.length ? \"Rspack compilation and close failed\" : \"Rspack close error\";\n failures.push(error);\n }\n\n if (failures.length) {\n throw new BuildError(message, stats, {\n cause: failures.length === 1 ? failures[0] : new AggregateError(failures, message),\n });\n }\n\n return stats!;\n};\n"],"mappings":"AAEO,MAAM,mBAAmB,MAAM;AAAA,EAClC,YACI,SACgB,OAChB,SACF;AACE,UAAM,SAAS,OAAO;AAHN;AAIhB,SAAK,OAAO;AAAA,EAChB;AAAA,EALoB;AAMxB;AAGO,MAAM,QAAQ,OAAO,aAAuC;AAC/D,MAAI;AACJ,MAAI,UAAU;AACd,QAAM,WAAsB,CAAC;AAE7B,MAAI;AACA,UAAM,IAAI,QAAc,CAAC,SAAS,WAAW;AACzC,eAAS,IAAI,CAAC,OAAO,WAAW;AAC5B,gBAAQ;AAER,YAAI,OAAO;AACP,iBAAO,KAAK;AAAA,QAChB,OAAO;AACH,kBAAQ;AAAA,QACZ;AAAA,MACJ,CAAC;AAAA,IACL,CAAC;AAED,QAAI,CAAC,OAAO;AACR,YAAM,IAAI,MAAM,iDAAiD;AAAA,IACrE;AAEA,QAAI,MAAM,UAAU,GAAG;AACnB,YAAM,IAAI,MAAM,oCAAoC;AAAA,IACxD;AAAA,EACJ,SAAS,OAAO;AACZ,aAAS,KAAK,KAAK;AAAA,EACvB;AAEA,MAAI;AACA,UAAM,IAAI,QAAc,CAAC,SAAS,WAAW;AACzC,eAAS,MAAM,WAAS;AACpB,YAAI,OAAO;AACP,iBAAO,KAAK;AAAA,QAChB,OAAO;AACH,kBAAQ;AAAA,QACZ;AAAA,MACJ,CAAC;AAAA,IACL,CAAC;AAAA,EACL,SAAS,OAAO;AACZ,cAAU,SAAS,SAAS,wCAAwC;AACpE,aAAS,KAAK,KAAK;AAAA,EACvB;AAEA,MAAI,SAAS,QAAQ;AACjB,UAAM,IAAI,WAAW,SAAS,OAAO;AAAA,MACjC,OAAO,SAAS,WAAW,IAAI,SAAS,CAAC,IAAI,IAAI,eAAe,UAAU,OAAO;AAAA,IACrF,CAAC;AAAA,EACL;AAEA,SAAO;AACX;","names":[]}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import { type Stats } from "@rspack/core";
|
|
1
2
|
import { OptionalConfig } from "../../../types/config.js";
|
|
2
|
-
|
|
3
|
+
export { BuildError } from "./build.js";
|
|
4
|
+
export type AppBuildConfig = Omit<OptionalConfig, "command">;
|
|
5
|
+
/** Sequential one-shot builds only; user config and plugins temporarily share the host environment. */
|
|
6
|
+
export declare const buildApp: (config: AppBuildConfig) => Promise<Stats>;
|
|
7
|
+
declare const _default: (config: OptionalConfig) => Promise<Stats | undefined>;
|
|
3
8
|
export default _default;
|
|
@@ -1,30 +1,65 @@
|
|
|
1
|
+
import path from "node:path";
|
|
1
2
|
import { rspack } from "@rspack/core";
|
|
2
|
-
import { build
|
|
3
|
+
import { build } from "./build.js";
|
|
4
|
+
import { watch } from "./watch.js";
|
|
3
5
|
import configResolver from "./../../../cli/resolvers/config.js";
|
|
4
6
|
import bundlerResolver from "./../../../cli/resolvers/bundler.js";
|
|
5
7
|
import { processPluginHandler } from "./../../../cli/resolvers/plugin.js";
|
|
6
8
|
import { Command } from "./../../../types/app.js";
|
|
9
|
+
import { BuildError } from "./build.js";
|
|
7
10
|
const startup = async (config) => {
|
|
8
11
|
await Array.fromAsync(processPluginHandler(config.plugins, "startup", { config }));
|
|
9
12
|
};
|
|
13
|
+
let buildActive = false;
|
|
14
|
+
const createCompiler = async (config) => {
|
|
15
|
+
await startup(config);
|
|
16
|
+
const rspackConfig = await bundlerResolver(config);
|
|
17
|
+
return rspack(rspackConfig);
|
|
18
|
+
};
|
|
19
|
+
const buildApp = async (config) => {
|
|
20
|
+
if (buildActive) {
|
|
21
|
+
throw new Error("An app build is already running in this process; await it before starting another");
|
|
22
|
+
}
|
|
23
|
+
const configFile = config.configFile ?? "adnbn.config.ts";
|
|
24
|
+
if (![".ts", ".mts", ".cts"].includes(path.extname(configFile))) {
|
|
25
|
+
throw new Error(
|
|
26
|
+
"buildApp requires a TypeScript config (.ts, .mts or .cts); use the CLI for other config formats"
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
const environment = process.env;
|
|
30
|
+
const snapshot = { ...environment };
|
|
31
|
+
buildActive = true;
|
|
32
|
+
try {
|
|
33
|
+
const resolved = await configResolver({ ...config, command: Command.Build });
|
|
34
|
+
if (resolved.command !== Command.Build) {
|
|
35
|
+
throw new Error("buildApp only supports the build command");
|
|
36
|
+
}
|
|
37
|
+
return await build(await createCompiler(resolved));
|
|
38
|
+
} finally {
|
|
39
|
+
for (const key of Object.keys(environment)) {
|
|
40
|
+
if (!Object.hasOwn(snapshot, key)) {
|
|
41
|
+
delete environment[key];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
Object.assign(environment, snapshot);
|
|
45
|
+
process.env = environment;
|
|
46
|
+
buildActive = false;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
10
49
|
var app_default = async (config) => {
|
|
11
50
|
const resolverConfig = await configResolver(config);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
break;
|
|
19
|
-
case Command.Watch:
|
|
20
|
-
watch(compiler);
|
|
21
|
-
break;
|
|
22
|
-
default:
|
|
23
|
-
console.error("Unknown command");
|
|
24
|
-
process.exit(1);
|
|
51
|
+
if (resolverConfig.command !== Command.Build && resolverConfig.command !== Command.Watch) {
|
|
52
|
+
throw new Error("Unknown command");
|
|
53
|
+
}
|
|
54
|
+
const compiler = await createCompiler(resolverConfig);
|
|
55
|
+
if (resolverConfig.command === Command.Build) {
|
|
56
|
+
return await build(compiler);
|
|
25
57
|
}
|
|
58
|
+
watch(compiler);
|
|
26
59
|
};
|
|
27
60
|
export {
|
|
61
|
+
BuildError,
|
|
62
|
+
buildApp,
|
|
28
63
|
app_default as default
|
|
29
64
|
};
|
|
30
65
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cli/builders/app/index.ts"],"sourcesContent":["import {rspack} from \"@rspack/core\";\n\nimport {build
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/builders/app/index.ts"],"sourcesContent":["import path from \"node:path\";\n\nimport {rspack, type Compiler, type Stats} from \"@rspack/core\";\n\nimport {build} from \"./build\";\nimport {watch} from \"./watch\";\n\nimport configResolver from \"@cli/resolvers/config\";\nimport bundlerResolver from \"@cli/resolvers/bundler\";\nimport {processPluginHandler} from \"@cli/resolvers/plugin\";\n\nimport {OptionalConfig, ReadonlyConfig} from \"@typing/config\";\nimport {Command} from \"@typing/app\";\n\nexport {BuildError} from \"./build\";\n\nconst startup = async (config: ReadonlyConfig): Promise<void> => {\n await Array.fromAsync(processPluginHandler(config.plugins, \"startup\", {config}));\n};\n\nexport type AppBuildConfig = Omit<OptionalConfig, \"command\">;\n\nlet buildActive = false;\n\nconst createCompiler = async (config: ReadonlyConfig): Promise<Compiler> => {\n await startup(config);\n\n const rspackConfig = await bundlerResolver(config);\n\n return rspack(rspackConfig);\n};\n\n/** Sequential one-shot builds only; user config and plugins temporarily share the host environment. */\nexport const buildApp = async (config: AppBuildConfig): Promise<Stats> => {\n if (buildActive) {\n throw new Error(\"An app build is already running in this process; await it before starting another\");\n }\n\n const configFile = config.configFile ?? \"adnbn.config.ts\";\n\n if (![\".ts\", \".mts\", \".cts\"].includes(path.extname(configFile))) {\n throw new Error(\n \"buildApp requires a TypeScript config (.ts, .mts or .cts); use the CLI for other config formats\"\n );\n }\n\n const environment = process.env;\n const snapshot = {...environment};\n buildActive = true;\n\n try {\n const resolved = await configResolver({...config, command: Command.Build});\n\n if (resolved.command !== Command.Build) {\n throw new Error(\"buildApp only supports the build command\");\n }\n\n return await build(await createCompiler(resolved));\n } finally {\n for (const key of Object.keys(environment)) {\n if (!Object.hasOwn(snapshot, key)) {\n delete environment[key];\n }\n }\n\n Object.assign(environment, snapshot);\n process.env = environment;\n buildActive = false;\n }\n};\n\nexport default async (config: OptionalConfig): Promise<Stats | undefined> => {\n const resolverConfig = await configResolver(config);\n\n if (resolverConfig.command !== Command.Build && resolverConfig.command !== Command.Watch) {\n throw new Error(\"Unknown command\");\n }\n\n const compiler = await createCompiler(resolverConfig);\n\n if (resolverConfig.command === Command.Build) {\n return await build(compiler);\n }\n\n watch(compiler);\n};\n"],"mappings":"AAAA,OAAO,UAAU;AAEjB,SAAQ,cAAwC;AAEhD,SAAQ,aAAY;AACpB,SAAQ,aAAY;AAEpB,OAAO,oBAAoB;AAC3B,OAAO,qBAAqB;AAC5B,SAAQ,4BAA2B;AAGnC,SAAQ,eAAc;AAEtB,SAAQ,kBAAiB;AAEzB,MAAM,UAAU,OAAO,WAA0C;AAC7D,QAAM,MAAM,UAAU,qBAAqB,OAAO,SAAS,WAAW,EAAC,OAAM,CAAC,CAAC;AACnF;AAIA,IAAI,cAAc;AAElB,MAAM,iBAAiB,OAAO,WAA8C;AACxE,QAAM,QAAQ,MAAM;AAEpB,QAAM,eAAe,MAAM,gBAAgB,MAAM;AAEjD,SAAO,OAAO,YAAY;AAC9B;AAGO,MAAM,WAAW,OAAO,WAA2C;AACtE,MAAI,aAAa;AACb,UAAM,IAAI,MAAM,mFAAmF;AAAA,EACvG;AAEA,QAAM,aAAa,OAAO,cAAc;AAExC,MAAI,CAAC,CAAC,OAAO,QAAQ,MAAM,EAAE,SAAS,KAAK,QAAQ,UAAU,CAAC,GAAG;AAC7D,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,cAAc,QAAQ;AAC5B,QAAM,WAAW,EAAC,GAAG,YAAW;AAChC,gBAAc;AAEd,MAAI;AACA,UAAM,WAAW,MAAM,eAAe,EAAC,GAAG,QAAQ,SAAS,QAAQ,MAAK,CAAC;AAEzE,QAAI,SAAS,YAAY,QAAQ,OAAO;AACpC,YAAM,IAAI,MAAM,0CAA0C;AAAA,IAC9D;AAEA,WAAO,MAAM,MAAM,MAAM,eAAe,QAAQ,CAAC;AAAA,EACrD,UAAE;AACE,eAAW,OAAO,OAAO,KAAK,WAAW,GAAG;AACxC,UAAI,CAAC,OAAO,OAAO,UAAU,GAAG,GAAG;AAC/B,eAAO,YAAY,GAAG;AAAA,MAC1B;AAAA,IACJ;AAEA,WAAO,OAAO,aAAa,QAAQ;AACnC,YAAQ,MAAM;AACd,kBAAc;AAAA,EAClB;AACJ;AAEA,IAAO,cAAQ,OAAO,WAAuD;AACzE,QAAM,iBAAiB,MAAM,eAAe,MAAM;AAElD,MAAI,eAAe,YAAY,QAAQ,SAAS,eAAe,YAAY,QAAQ,OAAO;AACtF,UAAM,IAAI,MAAM,iBAAiB;AAAA,EACrC;AAEA,QAAM,WAAW,MAAM,eAAe,cAAc;AAEpD,MAAI,eAAe,YAAY,QAAQ,OAAO;AAC1C,WAAO,MAAM,MAAM,QAAQ;AAAA,EAC/B;AAEA,QAAM,QAAQ;AAClB;","names":[]}
|
|
@@ -1,27 +1,3 @@
|
|
|
1
|
-
const build = (compiler) => {
|
|
2
|
-
compiler.run((err, stats) => {
|
|
3
|
-
if (err) {
|
|
4
|
-
console.error("Rspack compilation error:", err);
|
|
5
|
-
process.exit(1);
|
|
6
|
-
}
|
|
7
|
-
if (stats == null ? void 0 : stats.hasErrors()) {
|
|
8
|
-
console.error(
|
|
9
|
-
stats.toString({
|
|
10
|
-
colors: true,
|
|
11
|
-
errors: true
|
|
12
|
-
})
|
|
13
|
-
);
|
|
14
|
-
process.exit(1);
|
|
15
|
-
}
|
|
16
|
-
console.log(stats == null ? void 0 : stats.toString({ colors: true }));
|
|
17
|
-
compiler.close((closeErr) => {
|
|
18
|
-
if (closeErr) {
|
|
19
|
-
console.error("Rspack close error:", closeErr);
|
|
20
|
-
process.exit(1);
|
|
21
|
-
}
|
|
22
|
-
});
|
|
23
|
-
});
|
|
24
|
-
};
|
|
25
1
|
const watch = (compiler) => {
|
|
26
2
|
const watching = compiler.watch(
|
|
27
3
|
{
|
|
@@ -53,7 +29,6 @@ const watch = (compiler) => {
|
|
|
53
29
|
});
|
|
54
30
|
};
|
|
55
31
|
export {
|
|
56
|
-
build,
|
|
57
32
|
watch
|
|
58
33
|
};
|
|
59
|
-
//# sourceMappingURL=
|
|
34
|
+
//# sourceMappingURL=watch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/builders/app/watch.ts"],"sourcesContent":["import {Compiler} from \"@rspack/core\";\n\nexport const watch = (compiler: Compiler) => {\n const watching = compiler.watch(\n {\n aggregateTimeout: 300,\n ignored: /node_modules/,\n },\n (err, stats) => {\n if (err) {\n console.error(\"Rspack watch error:\", err);\n process.exit(1);\n }\n\n if (stats?.hasErrors()) {\n console.error(\n stats.toString({\n colors: true,\n errors: true,\n })\n );\n\n return;\n }\n\n console.log(stats?.toString({colors: true}));\n }\n );\n\n process.on(\"SIGINT\", () => {\n watching.close(() => {\n console.log(\"Rspack watch mode stopped\");\n process.exit(0);\n });\n });\n};\n"],"mappings":"AAEO,MAAM,QAAQ,CAAC,aAAuB;AACzC,QAAM,WAAW,SAAS;AAAA,IACtB;AAAA,MACI,kBAAkB;AAAA,MAClB,SAAS;AAAA,IACb;AAAA,IACA,CAAC,KAAK,UAAU;AACZ,UAAI,KAAK;AACL,gBAAQ,MAAM,uBAAuB,GAAG;AACxC,gBAAQ,KAAK,CAAC;AAAA,MAClB;AAEA,UAAI,+BAAO,aAAa;AACpB,gBAAQ;AAAA,UACJ,MAAM,SAAS;AAAA,YACX,QAAQ;AAAA,YACR,QAAQ;AAAA,UACZ,CAAC;AAAA,QACL;AAEA;AAAA,MACJ;AAEA,cAAQ,IAAI,+BAAO,SAAS,EAAC,QAAQ,KAAI,EAAE;AAAA,IAC/C;AAAA,EACJ;AAEA,UAAQ,GAAG,UAAU,MAAM;AACvB,aAAS,MAAM,MAAM;AACjB,cAAQ,IAAI,2BAA2B;AACvC,cAAQ,KAAK,CAAC;AAAA,IAClB,CAAC;AAAA,EACL,CAAC;AACL;","names":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { type CspBuilder } from "../csp/index.js";
|
|
2
|
-
import { CoreManifest, Manifest, ManifestAccessibleResource, ManifestAccessibleResources, ManifestBackground, ManifestBuilder, ManifestCommands, ManifestContentScripts, ManifestDependencies, ManifestHostPermissions, ManifestIcons, ManifestIncognito, ManifestOptionalPermissions, ManifestOptions, ManifestPermissions, ManifestPopup, ManifestSandbox, ManifestSandboxes, ManifestSidebar, ManifestVersion, OptionalManifest } from "../../../types/manifest.js";
|
|
2
|
+
import { CoreManifest, Manifest, ManifestAction, ManifestAccessibleResource, ManifestAccessibleResources, ManifestBackground, ManifestBuilder, ManifestCommands, ManifestContentScripts, ManifestDependencies, ManifestHostPermissions, ManifestIcons, ManifestIncognito, ManifestOptionalPermissions, ManifestOptions, ManifestOverride, ManifestPermissions, ManifestPopup, ManifestSandbox, ManifestSandboxes, ManifestSidebar, ManifestVersion, OptionalManifest } from "../../../types/manifest.js";
|
|
3
3
|
import { CspConfig } from "../../../types/csp.js";
|
|
4
4
|
import { SandboxCspConfig } from "../../../types/sandbox.js";
|
|
5
5
|
import { Browser, BrowserSpecific } from "../../../types/browser.js";
|
|
6
6
|
import { Language } from "../../../types/locale.js";
|
|
7
|
+
import { ActionOptions } from "../../../types/action.js";
|
|
7
8
|
type ManifestPermission = chrome.runtime.ManifestPermission;
|
|
8
9
|
type ManifestOptionalPermission = chrome.runtime.ManifestOptionalPermission;
|
|
9
10
|
type CoreManifestIcons = chrome.runtime.ManifestIcons;
|
|
@@ -20,6 +21,7 @@ export default abstract class<T extends CoreManifest> implements ManifestBuilder
|
|
|
20
21
|
protected minimumVersion?: string;
|
|
21
22
|
protected version?: string;
|
|
22
23
|
protected icon?: string;
|
|
24
|
+
protected action?: ActionOptions;
|
|
23
25
|
protected incognito?: ManifestIncognito;
|
|
24
26
|
protected specific?: BrowserSpecific;
|
|
25
27
|
protected locale?: Language;
|
|
@@ -28,6 +30,7 @@ export default abstract class<T extends CoreManifest> implements ManifestBuilder
|
|
|
28
30
|
protected popup?: ManifestPopup;
|
|
29
31
|
protected sidebar?: ManifestSidebar;
|
|
30
32
|
protected options?: ManifestOptions;
|
|
33
|
+
protected urlOverride?: ManifestOverride;
|
|
31
34
|
protected sandboxes: ManifestSandboxes;
|
|
32
35
|
protected sandboxCsp: CspBuilder<SandboxCspConfig>;
|
|
33
36
|
protected csp: CspBuilder<CspConfig>;
|
|
@@ -73,8 +76,10 @@ export default abstract class<T extends CoreManifest> implements ManifestBuilder
|
|
|
73
76
|
setCommands(commands?: ManifestCommands): this;
|
|
74
77
|
setContentScripts(contentScripts?: ManifestContentScripts): this;
|
|
75
78
|
setPopup(popup?: ManifestPopup): this;
|
|
79
|
+
setAction(action?: ActionOptions): this;
|
|
76
80
|
setSidebar(sidebar?: ManifestSidebar): this;
|
|
77
81
|
setOptions(options?: ManifestOptions): this;
|
|
82
|
+
setOverride(override?: ManifestOverride): this;
|
|
78
83
|
addSandbox(sandbox: ManifestSandbox): this;
|
|
79
84
|
appendSandboxes(sandboxes: Iterable<ManifestSandbox>): this;
|
|
80
85
|
addSandboxCsp(csp: SandboxCspConfig): this;
|
|
@@ -117,10 +122,12 @@ export default abstract class<T extends CoreManifest> implements ManifestBuilder
|
|
|
117
122
|
protected buildContentScripts(): Partial<CoreManifest> | undefined;
|
|
118
123
|
protected buildSidebar(): Partial<CoreManifest> | undefined;
|
|
119
124
|
protected buildOptions(): Partial<CoreManifest>;
|
|
125
|
+
protected buildOverride(): Partial<CoreManifest>;
|
|
120
126
|
protected buildBrowserSpecificSettings(): Partial<Manifest> | undefined;
|
|
121
127
|
protected buildRaw(): Partial<Manifest> | undefined;
|
|
122
128
|
protected getSandboxes(): string[];
|
|
123
129
|
protected hasExecuteActionCommand(): boolean;
|
|
130
|
+
protected getAction(): ManifestAction | undefined;
|
|
124
131
|
protected getIconsByName(name?: string): CoreManifestIcons | undefined;
|
|
125
132
|
getWebAccessibleResources(): ManifestAccessibleResource[];
|
|
126
133
|
}
|
|
@@ -24,6 +24,7 @@ class ManifestBase_default {
|
|
|
24
24
|
minimumVersion;
|
|
25
25
|
version;
|
|
26
26
|
icon;
|
|
27
|
+
action;
|
|
27
28
|
incognito;
|
|
28
29
|
specific;
|
|
29
30
|
locale;
|
|
@@ -32,6 +33,7 @@ class ManifestBase_default {
|
|
|
32
33
|
popup;
|
|
33
34
|
sidebar;
|
|
34
35
|
options;
|
|
36
|
+
urlOverride;
|
|
35
37
|
sandboxes = /* @__PURE__ */ new Set();
|
|
36
38
|
sandboxCsp = new SandboxCsp();
|
|
37
39
|
csp = new Csp();
|
|
@@ -162,6 +164,10 @@ class ManifestBase_default {
|
|
|
162
164
|
this.popup = popup;
|
|
163
165
|
return this;
|
|
164
166
|
}
|
|
167
|
+
setAction(action) {
|
|
168
|
+
this.action = action;
|
|
169
|
+
return this;
|
|
170
|
+
}
|
|
165
171
|
setSidebar(sidebar) {
|
|
166
172
|
this.sidebar = sidebar;
|
|
167
173
|
return this;
|
|
@@ -170,6 +176,10 @@ class ManifestBase_default {
|
|
|
170
176
|
this.options = options;
|
|
171
177
|
return this;
|
|
172
178
|
}
|
|
179
|
+
setOverride(override) {
|
|
180
|
+
this.urlOverride = override;
|
|
181
|
+
return this;
|
|
182
|
+
}
|
|
173
183
|
addSandbox(sandbox) {
|
|
174
184
|
this.sandboxes.add(sandbox);
|
|
175
185
|
return this;
|
|
@@ -296,6 +306,7 @@ class ManifestBase_default {
|
|
|
296
306
|
this.buildAction(),
|
|
297
307
|
this.buildSidebar(),
|
|
298
308
|
this.buildOptions(),
|
|
309
|
+
this.buildOverride(),
|
|
299
310
|
this.buildContentScripts(),
|
|
300
311
|
this.buildPermissions(),
|
|
301
312
|
this.buildOptionalPermissions(),
|
|
@@ -480,6 +491,13 @@ class ManifestBase_default {
|
|
|
480
491
|
}
|
|
481
492
|
return _.pick(this.combinedRaws, ["options_ui", "options_page"]);
|
|
482
493
|
}
|
|
494
|
+
buildOverride() {
|
|
495
|
+
if (this.urlOverride) {
|
|
496
|
+
const { page, path } = this.urlOverride;
|
|
497
|
+
return { chrome_url_overrides: { [page]: path } };
|
|
498
|
+
}
|
|
499
|
+
return _.pick(this.combinedRaws, ["chrome_url_overrides"]);
|
|
500
|
+
}
|
|
483
501
|
buildBrowserSpecificSettings() {
|
|
484
502
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i;
|
|
485
503
|
const optionalSettings = this.combinedRaws.browser_specific_settings;
|
|
@@ -549,6 +567,7 @@ class ManifestBase_default {
|
|
|
549
567
|
sidebar,
|
|
550
568
|
options_ui,
|
|
551
569
|
options_page,
|
|
570
|
+
chrome_url_overrides,
|
|
552
571
|
content_scripts,
|
|
553
572
|
permissions,
|
|
554
573
|
optional_permissions,
|
|
@@ -579,6 +598,17 @@ class ManifestBase_default {
|
|
|
579
598
|
const inOptionalCommands = optionalCommands && Object.keys(optionalCommands).includes(CommandExecuteActionName);
|
|
580
599
|
return inInternalCommands || inOptionalCommands;
|
|
581
600
|
}
|
|
601
|
+
getAction() {
|
|
602
|
+
var _a, _b, _c, _d;
|
|
603
|
+
if (!this.action && !this.popup && !this.hasExecuteActionCommand()) {
|
|
604
|
+
return;
|
|
605
|
+
}
|
|
606
|
+
return {
|
|
607
|
+
default_title: ((_a = this.popup) == null ? void 0 : _a.title) ?? ((_b = this.action) == null ? void 0 : _b.title) ?? this.name,
|
|
608
|
+
default_icon: this.getIconsByName(((_c = this.popup) == null ? void 0 : _c.icon) ?? ((_d = this.action) == null ? void 0 : _d.icon) ?? this.icon),
|
|
609
|
+
...this.popup ? { default_popup: this.popup.path } : {}
|
|
610
|
+
};
|
|
611
|
+
}
|
|
582
612
|
getIconsByName(name) {
|
|
583
613
|
if (this.icons.size === 0) {
|
|
584
614
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cli/builders/manifest/ManifestBase.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport {Csp, type CspBuilder, SandboxCsp} from \"../csp\";\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 ManifestOptions,\n ManifestPermissions,\n ManifestPopup,\n ManifestSandbox,\n ManifestSandboxes,\n ManifestSidebar,\n ManifestVersion,\n OptionalManifest,\n} from \"@typing/manifest\";\nimport {CspConfig} from \"@typing/csp\";\nimport {SandboxCspConfig} from \"@typing/sandbox\";\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;\n protected author?: string;\n protected homepage?: string;\n protected shortName?: string;\n protected description?: string;\n protected minimumVersion?: string;\n protected version?: string;\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 options?: ManifestOptions;\n protected sandboxes: ManifestSandboxes = new Set();\n protected sandboxCsp: CspBuilder<SandboxCspConfig> = new SandboxCsp();\n protected csp: CspBuilder<CspConfig> = new Csp();\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 protected raws: Set<OptionalManifest> = new Set();\n protected mergedRaws?: OptionalManifest;\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 abstract buildSandbox(): Partial<T> | undefined;\n\n protected abstract buildCsp(): Partial<T> | undefined;\n\n protected get combinedRaws(): OptionalManifest {\n return (this.mergedRaws ??= Array.from(this.raws).reduce((result, raw) => {\n return _.mergeWith(result, raw, (objValue, srcValue) => {\n if (Array.isArray(objValue) && Array.isArray(srcValue)) {\n return objValue.concat(srcValue);\n }\n });\n }, {}));\n }\n\n protected get combinedPermissions(): ManifestPermissions {\n const result = new Set(this.permissions);\n\n if (this.combinedRaws.permissions) {\n for (const permission of this.combinedRaws.permissions) {\n result.add(permission);\n }\n }\n\n return result;\n }\n\n protected get combinedOptionalPermissions(): ManifestOptionalPermissions {\n const result = new Set(this.optionalPermissions);\n\n if (this.combinedRaws.optional_permissions) {\n for (const permission of this.combinedRaws.optional_permissions) {\n result.add(permission);\n }\n }\n\n return result;\n }\n\n protected get combinedHostPermissions(): ManifestHostPermissions {\n const result = new Set(this.hostPermissions);\n\n if (this.combinedRaws.host_permissions) {\n for (const permission of this.combinedRaws.host_permissions) {\n result.add(permission);\n }\n }\n\n return result;\n }\n\n protected get combinedOptionalHostPermissions(): ManifestHostPermissions {\n const result = new Set(this.optionalHostPermissions);\n if (this.combinedRaws.optional_host_permissions) {\n for (const permission of this.combinedRaws.optional_host_permissions) {\n result.add(permission);\n }\n }\n return result;\n }\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;\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 setOptions(options?: ManifestOptions): this {\n this.options = options;\n\n return this;\n }\n\n public addSandbox(sandbox: ManifestSandbox): this {\n this.sandboxes.add(sandbox);\n\n return this;\n }\n\n public appendSandboxes(sandboxes: Iterable<ManifestSandbox>): this {\n for (const sandbox of sandboxes) {\n this.addSandbox(sandbox);\n }\n\n return this;\n }\n\n public addSandboxCsp(csp: SandboxCspConfig): this {\n this.sandboxCsp.add(csp);\n\n return this;\n }\n\n public appendSandboxCsp(csps: Iterable<SandboxCspConfig>): this {\n for (const csp of csps) {\n this.addSandboxCsp(csp);\n }\n\n return this;\n }\n\n public addCsp(csp: CspConfig): this {\n this.csp.add(csp);\n\n return this;\n }\n\n public appendCsp(csps: Iterable<CspConfig>): this {\n for (const csp of csps) {\n this.addCsp(csp);\n }\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 setAccessibleResource(accessibleResources: ManifestAccessibleResources): this {\n this.accessibleResources = accessibleResources;\n\n return this;\n }\n\n public raw(manifest: OptionalManifest): this {\n this.raws.add(manifest);\n\n return this;\n }\n\n public build(): T {\n const manifest = this.merge<Manifest>(\n this.buildName(),\n this.buildShortName(),\n this.buildDescription(),\n this.buildVersion(),\n this.buildManifestVersion(),\n this.buildMinimumChromeVersion(),\n this.buildAuthor(),\n this.buildHomepageUrl(),\n this.buildIncognito(),\n this.buildLocale(),\n this.buildIcons(),\n this.buildBackground(),\n this.buildCommands(),\n this.buildAction(),\n this.buildSidebar(),\n this.buildOptions(),\n this.buildContentScripts(),\n this.buildPermissions(),\n this.buildOptionalPermissions(),\n this.buildHostPermissions(),\n this.buildOptionalHostPermissions(),\n this.buildWebAccessibleResources(),\n this.buildSandbox(),\n this.buildCsp(),\n this.buildBrowserSpecificSettings(),\n this.buildRaw()\n ) as T;\n\n return manifest;\n }\n\n public get(): T {\n return this.build();\n }\n\n private merge<T extends CoreManifest>(...sources: Array<Partial<T> | undefined>): T {\n sources = sources.filter(source => source !== undefined);\n\n if (sources.length === 0) {\n throw new ManifestError(\"No sources provided for manifest merging\");\n }\n\n const result = {} as T;\n\n for (const source of sources) {\n Object.assign(result, source);\n }\n\n return result;\n }\n\n protected buildName(): Partial<CoreManifest> {\n return {name: this.name || this.combinedRaws.name || \"__MSG_app_name__\"};\n }\n\n protected buildShortName(): Partial<CoreManifest> | undefined {\n const shortName = this.shortName || this.combinedRaws.short_name;\n return shortName ? {short_name: shortName} : undefined;\n }\n\n protected buildDescription(): Partial<CoreManifest> | undefined {\n const description = this.description || this.combinedRaws.description;\n return description ? {description} : undefined;\n }\n\n protected buildVersion(): Partial<CoreManifest> {\n return {version: this.version || this.combinedRaws.version || \"0.0.0\"};\n }\n\n protected buildManifestVersion(): Partial<CoreManifest> {\n return {manifest_version: this.getManifestVersion()};\n }\n\n protected buildMinimumChromeVersion(): Partial<CoreManifest> | undefined {\n const version = this.minimumVersion || this.combinedRaws.minimum_chrome_version;\n return version ? {minimum_chrome_version: version} : undefined;\n }\n\n protected buildAuthor(): Partial<CoreManifest> | undefined {\n const author = this.author || this.combinedRaws.author;\n return author ? {author} : undefined;\n }\n\n protected buildHomepageUrl(): Partial<CoreManifest> | undefined {\n const homepage = this.homepage || this.combinedRaws.homepage_url;\n return homepage ? {homepage_url: homepage} : undefined;\n }\n\n protected buildIncognito(): Partial<CoreManifest> | undefined {\n const incognito = this.incognito || this.combinedRaws.incognito;\n return incognito !== undefined ? {incognito} : undefined;\n }\n\n protected buildLocale(): Partial<CoreManifest> | undefined {\n const defaultLocale = this.locale || this.combinedRaws.default_locale;\n return defaultLocale ? {default_locale: defaultLocale} : undefined;\n }\n\n protected buildIcons(): Partial<CoreManifest> | undefined {\n const icons = {\n ...this.combinedRaws.icons,\n ...this.getIconsByName(this.icon),\n };\n return Object.keys(icons).length ? {icons} : undefined;\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 const internalCommands = Array.from(this.commands).reduce(\n (commands, command) => {\n return {\n ...commands,\n [command.name]: {\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 },\n {} as CoreManifest[\"commands\"]\n );\n\n const commands = _.merge(this.combinedRaws.commands, internalCommands);\n\n if (Object.keys(commands).length) return {commands};\n }\n\n protected buildContentScripts(): Partial<CoreManifest> | undefined {\n const contentScripts: ManifestV3[\"content_scripts\"] = [];\n\n if (this.combinedRaws.content_scripts) {\n contentScripts.push(...this.combinedRaws.content_scripts);\n }\n\n if (this.contentScripts.size > 0) {\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\n return contentScripts.length ? {content_scripts: contentScripts} : undefined;\n }\n\n protected buildSidebar(): Partial<CoreManifest> | undefined {\n if (!this.sidebar) {\n const sidebarAction = this.combinedRaws.sidebar_action;\n const sidePanel = this.combinedRaws.side_panel;\n\n if (SidebarAlternativeBrowsers.has(this.browser)) {\n if (sidebarAction) return {sidebar_action: sidebarAction};\n } else {\n if (sidePanel) return {side_panel: sidePanel};\n }\n\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 buildOptions(): Partial<CoreManifest> {\n if (this.options) {\n return {\n options_ui: {\n page: this.options.path,\n open_in_tab: this.options.openInTab ?? true,\n },\n };\n }\n\n return _.pick(this.combinedRaws, [\"options_ui\", \"options_page\"]);\n }\n\n protected buildBrowserSpecificSettings(): Partial<Manifest> | undefined {\n const optionalSettings = this.combinedRaws.browser_specific_settings;\n const {safari, gecko, geckoAndroid} = this.specific || {};\n\n if (this.browser === Browser.Firefox) {\n const id = gecko?.id || optionalSettings?.gecko?.id;\n const updateUrl = gecko?.updateUrl || optionalSettings?.gecko?.update_url;\n const geckoMinVersion = gecko?.strictMinVersion || optionalSettings?.gecko?.strict_min_version;\n const geckoMaxVersion = gecko?.strictMaxVersion || optionalSettings?.gecko?.strict_max_version;\n const dataCollectionPermissions = _.mergeWith(\n optionalSettings?.gecko?.data_collection_permissions,\n gecko?.dataCollectionPermissions,\n (objValue, srcValue) => {\n if (Array.isArray(objValue) && Array.isArray(srcValue)) {\n return objValue.concat(srcValue);\n }\n }\n );\n\n const androidMinVersion =\n geckoAndroid?.strictMinVersion || optionalSettings?.gecko_android?.strict_min_version;\n const androidMaxVersion =\n geckoAndroid?.strictMaxVersion || optionalSettings?.gecko_android?.strict_max_version;\n\n return {\n browser_specific_settings: {\n gecko: {\n id,\n update_url: updateUrl,\n strict_min_version: geckoMinVersion,\n strict_max_version: geckoMaxVersion,\n data_collection_permissions: normalizeDataCollectionPermissions(dataCollectionPermissions),\n },\n gecko_android:\n _.isEmpty(androidMinVersion) && _.isEmpty(androidMaxVersion)\n ? undefined\n : {\n strict_min_version: androidMinVersion,\n strict_max_version: androidMaxVersion,\n },\n },\n };\n } else if (this.browser === Browser.Safari) {\n const minVersion = safari?.strictMinVersion || optionalSettings?.safari?.strict_min_version;\n const maxVersion = safari?.strictMaxVersion || optionalSettings?.safari?.strict_max_version;\n\n if (_.isEmpty(minVersion) && _.isEmpty(maxVersion)) {\n return;\n }\n\n return {\n browser_specific_settings: {\n safari: {\n strict_min_version: minVersion,\n strict_max_version: maxVersion,\n },\n },\n };\n }\n }\n\n protected buildRaw(): Partial<Manifest> | undefined {\n const {\n name,\n short_name,\n description,\n version,\n minimum_chrome_version,\n author,\n homepage_url,\n incognito,\n default_locale,\n icons,\n background,\n commands,\n action,\n sidebar,\n options_ui,\n options_page,\n content_scripts,\n permissions,\n optional_permissions,\n host_permissions,\n optional_host_permissions,\n web_accessible_resources,\n sandbox,\n content_security_policy,\n browser_specific_settings,\n ...other\n } = this.combinedRaws;\n\n return other;\n }\n\n protected getSandboxes(): string[] {\n const sandboxes = new Set<string>();\n const rawSandbox = this.combinedRaws.sandbox as {pages?: string[]} | undefined;\n\n for (const sandbox of rawSandbox?.pages || []) {\n sandboxes.add(sandbox);\n }\n\n for (const sandbox of this.sandboxes) {\n sandboxes.add(sandbox);\n }\n\n return Array.from(sandboxes);\n }\n\n protected hasExecuteActionCommand(): boolean {\n const optionalCommands = this.combinedRaws.commands;\n\n const inInternalCommands =\n this.commands.size > 0 && Array.from(this.commands).some(({name}) => name === CommandExecuteActionName);\n const inOptionalCommands = optionalCommands && Object.keys(optionalCommands).includes(CommandExecuteActionName);\n return inInternalCommands || inOptionalCommands;\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 getWebAccessibleResources(): ManifestAccessibleResource[] {\n const resources: ManifestAccessibleResource[] = [...this.accessibleResources];\n\n for (const contentScript of this.contentScripts.values()) {\n const dependencies = this.dependencies.get(contentScript.entry);\n const assets = dependencies?.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 for (const resource of this.combinedRaws.web_accessible_resources || []) {\n if (typeof resource === \"string\") {\n // MV2 resource lists grant access to all sites and extensions.\n resources.push({resources: [resource], matches: [\"<all_urls>\"], extensionIds: [\"*\"]});\n } else {\n resources.push({\n resources: resource.resources,\n matches: resource.matches,\n extensionIds: resource.extension_ids,\n useDynamicUrl: resource.use_dynamic_url,\n });\n }\n }\n\n return mergeWebAccessibleResources(resources);\n }\n}\n"],"mappings":"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","names":["commands"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/cli/builders/manifest/ManifestBase.ts"],"sourcesContent":["import _ from \"lodash\";\n\nimport {Csp, type CspBuilder, SandboxCsp} from \"../csp\";\n\nimport {mergeWebAccessibleResources, normalizeDataCollectionPermissions} from \"./utils\";\n\nimport {\n CoreManifest,\n Manifest,\n ManifestAction,\n ManifestAccessibleResource,\n ManifestAccessibleResources,\n ManifestBackground,\n ManifestBuilder,\n ManifestCommands,\n ManifestContentScripts,\n ManifestDependencies,\n ManifestHostPermissions,\n ManifestIcons,\n ManifestIncognito,\n ManifestOptionalPermissions,\n ManifestOptions,\n ManifestOverride,\n ManifestPermissions,\n ManifestPopup,\n ManifestSandbox,\n ManifestSandboxes,\n ManifestSidebar,\n ManifestVersion,\n OptionalManifest,\n} from \"@typing/manifest\";\nimport {CspConfig} from \"@typing/csp\";\nimport {SandboxCspConfig} from \"@typing/sandbox\";\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\";\nimport {ActionOptions} from \"@typing/action\";\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;\n protected author?: string;\n protected homepage?: string;\n protected shortName?: string;\n protected description?: string;\n protected minimumVersion?: string;\n protected version?: string;\n protected icon?: string;\n protected action?: ActionOptions;\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 options?: ManifestOptions;\n protected urlOverride?: ManifestOverride;\n protected sandboxes: ManifestSandboxes = new Set();\n protected sandboxCsp: CspBuilder<SandboxCspConfig> = new SandboxCsp();\n protected csp: CspBuilder<CspConfig> = new Csp();\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 protected raws: Set<OptionalManifest> = new Set();\n protected mergedRaws?: OptionalManifest;\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 abstract buildSandbox(): Partial<T> | undefined;\n\n protected abstract buildCsp(): Partial<T> | undefined;\n\n protected get combinedRaws(): OptionalManifest {\n return (this.mergedRaws ??= Array.from(this.raws).reduce((result, raw) => {\n return _.mergeWith(result, raw, (objValue, srcValue) => {\n if (Array.isArray(objValue) && Array.isArray(srcValue)) {\n return objValue.concat(srcValue);\n }\n });\n }, {}));\n }\n\n protected get combinedPermissions(): ManifestPermissions {\n const result = new Set(this.permissions);\n\n if (this.combinedRaws.permissions) {\n for (const permission of this.combinedRaws.permissions) {\n result.add(permission);\n }\n }\n\n return result;\n }\n\n protected get combinedOptionalPermissions(): ManifestOptionalPermissions {\n const result = new Set(this.optionalPermissions);\n\n if (this.combinedRaws.optional_permissions) {\n for (const permission of this.combinedRaws.optional_permissions) {\n result.add(permission);\n }\n }\n\n return result;\n }\n\n protected get combinedHostPermissions(): ManifestHostPermissions {\n const result = new Set(this.hostPermissions);\n\n if (this.combinedRaws.host_permissions) {\n for (const permission of this.combinedRaws.host_permissions) {\n result.add(permission);\n }\n }\n\n return result;\n }\n\n protected get combinedOptionalHostPermissions(): ManifestHostPermissions {\n const result = new Set(this.optionalHostPermissions);\n if (this.combinedRaws.optional_host_permissions) {\n for (const permission of this.combinedRaws.optional_host_permissions) {\n result.add(permission);\n }\n }\n return result;\n }\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;\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 setAction(action?: ActionOptions): this {\n this.action = action;\n\n return this;\n }\n\n public setSidebar(sidebar?: ManifestSidebar): this {\n this.sidebar = sidebar;\n\n return this;\n }\n\n public setOptions(options?: ManifestOptions): this {\n this.options = options;\n\n return this;\n }\n\n public setOverride(override?: ManifestOverride): this {\n this.urlOverride = override;\n\n return this;\n }\n\n public addSandbox(sandbox: ManifestSandbox): this {\n this.sandboxes.add(sandbox);\n\n return this;\n }\n\n public appendSandboxes(sandboxes: Iterable<ManifestSandbox>): this {\n for (const sandbox of sandboxes) {\n this.addSandbox(sandbox);\n }\n\n return this;\n }\n\n public addSandboxCsp(csp: SandboxCspConfig): this {\n this.sandboxCsp.add(csp);\n\n return this;\n }\n\n public appendSandboxCsp(csps: Iterable<SandboxCspConfig>): this {\n for (const csp of csps) {\n this.addSandboxCsp(csp);\n }\n\n return this;\n }\n\n public addCsp(csp: CspConfig): this {\n this.csp.add(csp);\n\n return this;\n }\n\n public appendCsp(csps: Iterable<CspConfig>): this {\n for (const csp of csps) {\n this.addCsp(csp);\n }\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 setAccessibleResource(accessibleResources: ManifestAccessibleResources): this {\n this.accessibleResources = accessibleResources;\n\n return this;\n }\n\n public raw(manifest: OptionalManifest): this {\n this.raws.add(manifest);\n\n return this;\n }\n\n public build(): T {\n const manifest = this.merge<Manifest>(\n this.buildName(),\n this.buildShortName(),\n this.buildDescription(),\n this.buildVersion(),\n this.buildManifestVersion(),\n this.buildMinimumChromeVersion(),\n this.buildAuthor(),\n this.buildHomepageUrl(),\n this.buildIncognito(),\n this.buildLocale(),\n this.buildIcons(),\n this.buildBackground(),\n this.buildCommands(),\n this.buildAction(),\n this.buildSidebar(),\n this.buildOptions(),\n this.buildOverride(),\n this.buildContentScripts(),\n this.buildPermissions(),\n this.buildOptionalPermissions(),\n this.buildHostPermissions(),\n this.buildOptionalHostPermissions(),\n this.buildWebAccessibleResources(),\n this.buildSandbox(),\n this.buildCsp(),\n this.buildBrowserSpecificSettings(),\n this.buildRaw()\n ) as T;\n\n return manifest;\n }\n\n public get(): T {\n return this.build();\n }\n\n private merge<T extends CoreManifest>(...sources: Array<Partial<T> | undefined>): T {\n sources = sources.filter(source => source !== undefined);\n\n if (sources.length === 0) {\n throw new ManifestError(\"No sources provided for manifest merging\");\n }\n\n const result = {} as T;\n\n for (const source of sources) {\n Object.assign(result, source);\n }\n\n return result;\n }\n\n protected buildName(): Partial<CoreManifest> {\n return {name: this.name || this.combinedRaws.name || \"__MSG_app_name__\"};\n }\n\n protected buildShortName(): Partial<CoreManifest> | undefined {\n const shortName = this.shortName || this.combinedRaws.short_name;\n return shortName ? {short_name: shortName} : undefined;\n }\n\n protected buildDescription(): Partial<CoreManifest> | undefined {\n const description = this.description || this.combinedRaws.description;\n return description ? {description} : undefined;\n }\n\n protected buildVersion(): Partial<CoreManifest> {\n return {version: this.version || this.combinedRaws.version || \"0.0.0\"};\n }\n\n protected buildManifestVersion(): Partial<CoreManifest> {\n return {manifest_version: this.getManifestVersion()};\n }\n\n protected buildMinimumChromeVersion(): Partial<CoreManifest> | undefined {\n const version = this.minimumVersion || this.combinedRaws.minimum_chrome_version;\n return version ? {minimum_chrome_version: version} : undefined;\n }\n\n protected buildAuthor(): Partial<CoreManifest> | undefined {\n const author = this.author || this.combinedRaws.author;\n return author ? {author} : undefined;\n }\n\n protected buildHomepageUrl(): Partial<CoreManifest> | undefined {\n const homepage = this.homepage || this.combinedRaws.homepage_url;\n return homepage ? {homepage_url: homepage} : undefined;\n }\n\n protected buildIncognito(): Partial<CoreManifest> | undefined {\n const incognito = this.incognito || this.combinedRaws.incognito;\n return incognito !== undefined ? {incognito} : undefined;\n }\n\n protected buildLocale(): Partial<CoreManifest> | undefined {\n const defaultLocale = this.locale || this.combinedRaws.default_locale;\n return defaultLocale ? {default_locale: defaultLocale} : undefined;\n }\n\n protected buildIcons(): Partial<CoreManifest> | undefined {\n const icons = {\n ...this.combinedRaws.icons,\n ...this.getIconsByName(this.icon),\n };\n return Object.keys(icons).length ? {icons} : undefined;\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 const internalCommands = Array.from(this.commands).reduce(\n (commands, command) => {\n return {\n ...commands,\n [command.name]: {\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 },\n {} as CoreManifest[\"commands\"]\n );\n\n const commands = _.merge(this.combinedRaws.commands, internalCommands);\n\n if (Object.keys(commands).length) return {commands};\n }\n\n protected buildContentScripts(): Partial<CoreManifest> | undefined {\n const contentScripts: ManifestV3[\"content_scripts\"] = [];\n\n if (this.combinedRaws.content_scripts) {\n contentScripts.push(...this.combinedRaws.content_scripts);\n }\n\n if (this.contentScripts.size > 0) {\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\n return contentScripts.length ? {content_scripts: contentScripts} : undefined;\n }\n\n protected buildSidebar(): Partial<CoreManifest> | undefined {\n if (!this.sidebar) {\n const sidebarAction = this.combinedRaws.sidebar_action;\n const sidePanel = this.combinedRaws.side_panel;\n\n if (SidebarAlternativeBrowsers.has(this.browser)) {\n if (sidebarAction) return {sidebar_action: sidebarAction};\n } else {\n if (sidePanel) return {side_panel: sidePanel};\n }\n\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 buildOptions(): Partial<CoreManifest> {\n if (this.options) {\n return {\n options_ui: {\n page: this.options.path,\n open_in_tab: this.options.openInTab ?? true,\n },\n };\n }\n\n return _.pick(this.combinedRaws, [\"options_ui\", \"options_page\"]);\n }\n\n protected buildOverride(): Partial<CoreManifest> {\n if (this.urlOverride) {\n const {page, path} = this.urlOverride;\n\n return {chrome_url_overrides: {[page]: path}};\n }\n\n return _.pick(this.combinedRaws, [\"chrome_url_overrides\"]);\n }\n\n protected buildBrowserSpecificSettings(): Partial<Manifest> | undefined {\n const optionalSettings = this.combinedRaws.browser_specific_settings;\n const {safari, gecko, geckoAndroid} = this.specific || {};\n\n if (this.browser === Browser.Firefox) {\n const id = gecko?.id || optionalSettings?.gecko?.id;\n const updateUrl = gecko?.updateUrl || optionalSettings?.gecko?.update_url;\n const geckoMinVersion = gecko?.strictMinVersion || optionalSettings?.gecko?.strict_min_version;\n const geckoMaxVersion = gecko?.strictMaxVersion || optionalSettings?.gecko?.strict_max_version;\n const dataCollectionPermissions = _.mergeWith(\n optionalSettings?.gecko?.data_collection_permissions,\n gecko?.dataCollectionPermissions,\n (objValue, srcValue) => {\n if (Array.isArray(objValue) && Array.isArray(srcValue)) {\n return objValue.concat(srcValue);\n }\n }\n );\n\n const androidMinVersion =\n geckoAndroid?.strictMinVersion || optionalSettings?.gecko_android?.strict_min_version;\n const androidMaxVersion =\n geckoAndroid?.strictMaxVersion || optionalSettings?.gecko_android?.strict_max_version;\n\n return {\n browser_specific_settings: {\n gecko: {\n id,\n update_url: updateUrl,\n strict_min_version: geckoMinVersion,\n strict_max_version: geckoMaxVersion,\n data_collection_permissions: normalizeDataCollectionPermissions(dataCollectionPermissions),\n },\n gecko_android:\n _.isEmpty(androidMinVersion) && _.isEmpty(androidMaxVersion)\n ? undefined\n : {\n strict_min_version: androidMinVersion,\n strict_max_version: androidMaxVersion,\n },\n },\n };\n } else if (this.browser === Browser.Safari) {\n const minVersion = safari?.strictMinVersion || optionalSettings?.safari?.strict_min_version;\n const maxVersion = safari?.strictMaxVersion || optionalSettings?.safari?.strict_max_version;\n\n if (_.isEmpty(minVersion) && _.isEmpty(maxVersion)) {\n return;\n }\n\n return {\n browser_specific_settings: {\n safari: {\n strict_min_version: minVersion,\n strict_max_version: maxVersion,\n },\n },\n };\n }\n }\n\n protected buildRaw(): Partial<Manifest> | undefined {\n const {\n name,\n short_name,\n description,\n version,\n minimum_chrome_version,\n author,\n homepage_url,\n incognito,\n default_locale,\n icons,\n background,\n commands,\n action,\n sidebar,\n options_ui,\n options_page,\n chrome_url_overrides,\n content_scripts,\n permissions,\n optional_permissions,\n host_permissions,\n optional_host_permissions,\n web_accessible_resources,\n sandbox,\n content_security_policy,\n browser_specific_settings,\n ...other\n } = this.combinedRaws;\n\n return other;\n }\n\n protected getSandboxes(): string[] {\n const sandboxes = new Set<string>();\n const rawSandbox = this.combinedRaws.sandbox as {pages?: string[]} | undefined;\n\n for (const sandbox of rawSandbox?.pages || []) {\n sandboxes.add(sandbox);\n }\n\n for (const sandbox of this.sandboxes) {\n sandboxes.add(sandbox);\n }\n\n return Array.from(sandboxes);\n }\n\n protected hasExecuteActionCommand(): boolean {\n const optionalCommands = this.combinedRaws.commands;\n\n const inInternalCommands =\n this.commands.size > 0 && Array.from(this.commands).some(({name}) => name === CommandExecuteActionName);\n const inOptionalCommands = optionalCommands && Object.keys(optionalCommands).includes(CommandExecuteActionName);\n return inInternalCommands || inOptionalCommands;\n }\n\n protected getAction(): ManifestAction | undefined {\n if (!this.action && !this.popup && !this.hasExecuteActionCommand()) {\n return;\n }\n\n return {\n default_title: this.popup?.title ?? this.action?.title ?? this.name,\n default_icon: this.getIconsByName(this.popup?.icon ?? this.action?.icon ?? this.icon),\n ...(this.popup ? {default_popup: this.popup.path} : {}),\n };\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 getWebAccessibleResources(): ManifestAccessibleResource[] {\n const resources: ManifestAccessibleResource[] = [...this.accessibleResources];\n\n for (const contentScript of this.contentScripts.values()) {\n const dependencies = this.dependencies.get(contentScript.entry);\n const assets = dependencies?.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 for (const resource of this.combinedRaws.web_accessible_resources || []) {\n if (typeof resource === \"string\") {\n // MV2 resource lists grant access to all sites and extensions.\n resources.push({resources: [resource], matches: [\"<all_urls>\"], extensionIds: [\"*\"]});\n } else {\n resources.push({\n resources: resource.resources,\n matches: resource.matches,\n extensionIds: resource.extension_ids,\n useDynamicUrl: resource.use_dynamic_url,\n });\n }\n }\n\n return mergeWebAccessibleResources(resources);\n }\n}\n"],"mappings":"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","names":["commands"]}
|
|
@@ -10,21 +10,9 @@ class ManifestV2_default extends ManifestBase {
|
|
|
10
10
|
return 2;
|
|
11
11
|
}
|
|
12
12
|
buildAction() {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return {
|
|
16
|
-
browser_action: {
|
|
17
|
-
default_title: title || this.name,
|
|
18
|
-
default_popup: path,
|
|
19
|
-
default_icon: this.getIconsByName(icon)
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
} else if (this.hasExecuteActionCommand()) {
|
|
23
|
-
return {
|
|
24
|
-
browser_action: {
|
|
25
|
-
default_title: this.name
|
|
26
|
-
}
|
|
27
|
-
};
|
|
13
|
+
const action = this.getAction();
|
|
14
|
+
if (action) {
|
|
15
|
+
return { browser_action: action };
|
|
28
16
|
}
|
|
29
17
|
}
|
|
30
18
|
buildSidebar() {
|