adnbn 0.12.0 → 0.14.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/manifest/ManifestBase.d.ts +4 -1
- package/dist/cli/builders/manifest/ManifestBase.js +14 -0
- package/dist/cli/builders/manifest/ManifestBase.js.map +1 -1
- package/dist/cli/bundler/layers.d.ts +3 -3
- package/dist/cli/bundler/layers.js +6 -7
- package/dist/cli/bundler/layers.js.map +1 -1
- package/dist/cli/bundler/plugins/build-assets-map/BuildAssetsMapPlugin.js +42 -14
- package/dist/cli/bundler/plugins/build-assets-map/BuildAssetsMapPlugin.js.map +1 -1
- package/dist/cli/bundler/plugins/build-assets-map/normalize.d.ts +3 -0
- package/dist/cli/bundler/plugins/build-assets-map/normalize.js +24 -0
- package/dist/cli/bundler/plugins/build-assets-map/normalize.js.map +1 -0
- package/dist/cli/bundler/plugins/build-assets-map/templates/runtime.template.d.ts +2 -0
- package/dist/cli/bundler/plugins/build-assets-map/templates.d.ts +9 -0
- package/dist/cli/bundler/plugins/build-assets-map/templates.js +32 -0
- package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js +11 -0
- package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js.map +1 -1
- package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.d.ts +1 -1
- package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.js +38 -13
- package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.js.map +1 -1
- package/dist/cli/bundler/plugins/isolated-styles/chunks.d.ts +5 -1
- package/dist/cli/bundler/plugins/isolated-styles/chunks.js +17 -16
- package/dist/cli/bundler/plugins/isolated-styles/chunks.js.map +1 -1
- package/dist/cli/bundler/plugins/isolated-styles/split-chunks.d.ts +4 -0
- package/dist/cli/bundler/plugins/isolated-styles/split-chunks.js +51 -0
- package/dist/cli/bundler/plugins/isolated-styles/split-chunks.js.map +1 -0
- package/dist/cli/bundler/plugins/isolated-styles/templates.js +36 -6
- 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/plugins/content/bundler.d.ts +0 -3
- package/dist/cli/plugins/content/bundler.js +4 -20
- package/dist/cli/plugins/content/bundler.js.map +1 -1
- package/dist/cli/plugins/content/index.js +2 -3
- package/dist/cli/plugins/content/index.js.map +1 -1
- package/dist/cli/plugins/index.d.ts +1 -0
- package/dist/cli/plugins/index.js +22 -20
- package/dist/cli/plugins/index.js.map +1 -1
- package/dist/cli/plugins/locale/Locale.js +5 -2
- package/dist/cli/plugins/locale/Locale.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.d.ts +1 -2
- package/dist/cli/plugins/style/index.js +19 -30
- package/dist/cli/plugins/style/index.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/config.js +3 -2
- package/dist/cli/resolvers/config.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.d.ts +4 -2
- package/dist/entry/content/adapters/react/Builder.js +13 -5
- package/dist/entry/content/adapters/react/Builder.js.map +1 -1
- package/dist/entry/content/adapters/react/Node.js +13 -8
- package/dist/entry/content/adapters/react/Node.js.map +1 -1
- package/dist/entry/content/adapters/react/definition.d.ts +2 -0
- package/dist/entry/content/adapters/react/definition.js +13 -0
- package/dist/entry/content/adapters/react/definition.js.map +1 -0
- package/dist/entry/content/adapters/react/index.d.ts +1 -1
- package/dist/entry/content/adapters/react/index.js +1 -1
- package/dist/entry/content/adapters/react/index.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/Builder.d.ts +4 -2
- package/dist/entry/content/adapters/vanilla/Builder.js +14 -5
- 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.d.ts +2 -0
- package/dist/entry/content/adapters/vanilla/definition.js +9 -0
- package/dist/entry/content/adapters/vanilla/definition.js.map +1 -0
- package/dist/entry/content/adapters/vanilla/index.d.ts +1 -1
- package/dist/entry/content/adapters/vanilla/index.js +1 -1
- package/dist/entry/content/adapters/vanilla/index.js.map +1 -1
- package/dist/entry/content/lifecycle/Builder.d.ts +10 -4
- package/dist/entry/content/lifecycle/Builder.js +107 -69
- package/dist/entry/content/lifecycle/Builder.js.map +1 -1
- package/dist/entry/content/lifecycle/MountBuilder.d.ts +6 -3
- package/dist/entry/content/lifecycle/MountBuilder.js +32 -16
- package/dist/entry/content/lifecycle/MountBuilder.js.map +1 -1
- package/dist/entry/content/lifecycle/context/ContainerRegistry.d.ts +7 -0
- package/dist/entry/content/lifecycle/context/ContainerRegistry.js +45 -0
- package/dist/entry/content/lifecycle/context/ContainerRegistry.js.map +1 -0
- package/dist/entry/content/lifecycle/context/Context.d.ts +6 -3
- package/dist/entry/content/lifecycle/context/Context.js +21 -6
- package/dist/entry/content/lifecycle/context/Context.js.map +1 -1
- package/dist/entry/content/lifecycle/context/ManagedContext.d.ts +4 -1
- package/dist/entry/content/lifecycle/context/ManagedContext.js +7 -0
- package/dist/entry/content/lifecycle/context/ManagedContext.js.map +1 -1
- package/dist/entry/content/lifecycle/context/index.d.ts +1 -0
- package/dist/entry/content/lifecycle/context/index.js +6 -4
- package/dist/entry/content/lifecycle/context/index.js.map +1 -1
- package/dist/entry/content/lifecycle/markers/AttributeMarker.js +3 -1
- package/dist/entry/content/lifecycle/markers/AttributeMarker.js.map +1 -1
- package/dist/entry/content/lifecycle/nodes/EventNode.d.ts +4 -2
- package/dist/entry/content/lifecycle/nodes/EventNode.js +7 -2
- package/dist/entry/content/lifecycle/nodes/EventNode.js.map +1 -1
- package/dist/entry/content/lifecycle/nodes/FrameNode.d.ts +2 -1
- package/dist/entry/content/lifecycle/nodes/FrameNode.js +3 -0
- package/dist/entry/content/lifecycle/nodes/FrameNode.js.map +1 -1
- package/dist/entry/content/lifecycle/nodes/MarkerNode.d.ts +1 -1
- package/dist/entry/content/lifecycle/nodes/MarkerNode.js.map +1 -1
- package/dist/entry/content/lifecycle/nodes/MountNode.d.ts +7 -3
- package/dist/entry/content/lifecycle/nodes/MountNode.js +47 -12
- package/dist/entry/content/lifecycle/nodes/MountNode.js.map +1 -1
- package/dist/entry/content/lifecycle/nodes/Node.d.ts +1 -1
- package/dist/entry/content/lifecycle/nodes/Node.js.map +1 -1
- package/dist/entry/content/lifecycle/nodes/RenderNode.d.ts +13 -4
- package/dist/entry/content/lifecycle/nodes/RenderNode.js +71 -6
- package/dist/entry/content/lifecycle/nodes/RenderNode.js.map +1 -1
- package/dist/entry/content/lifecycle/nodes/ShadowNode.d.ts +2 -1
- package/dist/entry/content/lifecycle/nodes/ShadowNode.js +3 -0
- package/dist/entry/content/lifecycle/nodes/ShadowNode.js.map +1 -1
- package/dist/entry/content/lifecycle/types.d.ts +28 -0
- package/dist/entry/content/resolvers/watch.d.ts +1 -1
- package/dist/entry/content/resolvers/watch.js +29 -14
- package/dist/entry/content/resolvers/watch.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/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/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/view.d.ts +1 -1
- package/dist/shared/locale/index.d.ts +1 -1
- package/dist/shared/locale/index.js +3 -1
- package/dist/shared/locale/index.js.map +1 -1
- package/dist/shared/locale/messages.d.ts +4 -0
- package/dist/shared/locale/messages.js +12 -0
- package/dist/shared/locale/messages.js.map +1 -1
- package/dist/types/background.d.ts +2 -8
- package/dist/types/background.js.map +1 -1
- package/dist/types/content/common.d.ts +8 -0
- package/dist/types/content/common.js.map +1 -1
- package/dist/types/content/definition.d.ts +5 -0
- 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/locale.d.ts +3 -0
- package/dist/types/locale.js.map +1 -1
- package/dist/types/manifest.d.ts +20 -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 +3 -2
- package/dist/types/sandbox.d.ts +2 -2
- package/dist/types/sandbox.js.map +1 -1
- package/dist/types/sidebar.d.ts +3 -2
- 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 +1 -3
- package/types/client.d.ts +3 -3
- package/dist/cli/plugins/style/types.d.ts +0 -5
- 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/react/resolvers/definition.d.ts +0 -2
- package/dist/entry/content/adapters/react/resolvers/definition.js +0 -12
- package/dist/entry/content/adapters/react/resolvers/definition.js.map +0 -1
- package/dist/entry/content/adapters/react/resolvers/render.d.ts +0 -2
- package/dist/entry/content/adapters/react/resolvers/render.js +0 -9
- package/dist/entry/content/adapters/react/resolvers/render.js.map +0 -1
- package/dist/entry/content/adapters/vanilla/resolvers/definition.d.ts +0 -2
- package/dist/entry/content/adapters/vanilla/resolvers/definition.js +0 -9
- package/dist/entry/content/adapters/vanilla/resolvers/definition.js.map +0 -1
- package/dist/entry/content/adapters/vanilla/resolvers/render.d.ts +0 -3
- package/dist/entry/content/adapters/vanilla/resolvers/render.js +0 -15
- package/dist/entry/content/adapters/vanilla/resolvers/render.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/types/view.js +0 -1
- /package/dist/cli/virtual/{transport.d.ts → service.d.ts} +0 -0
- /package/dist/{cli/plugins/style → entry/content/lifecycle}/types.js +0 -0
- /package/dist/{cli/plugins/style → entry/content/lifecycle}/types.js.map +0 -0
- /package/dist/entry/view/{core/resolvers → resolvers}/container.js +0 -0
- /package/dist/{types/view.js.map → main/permissions.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/entry/content/lifecycle/nodes/ShadowNode.ts"],"sourcesContent":["import type IsolationSetup from \"../IsolationSetup\";\n\nimport {getContentScriptStylesRuntime} from \"./isolated-styles\";\n\nimport {\n ContentScriptShadowMode,\n type ContentScriptShadowOptions,\n type ContentScriptStylesRuntime,\n type
|
|
1
|
+
{"version":3,"sources":["../../../../../src/entry/content/lifecycle/nodes/ShadowNode.ts"],"sourcesContent":["import type IsolationSetup from \"../IsolationSetup\";\n\nimport {getContentScriptStylesRuntime} from \"./isolated-styles\";\n\nimport {\n ContentScriptNode,\n ContentScriptShadowMode,\n type ContentScriptShadowOptions,\n type ContentScriptStylesRuntime,\n type ContentScriptBoundaryCleanup,\n} from \"@typing/content\";\n\nexport default class ShadowNode<Data = unknown> implements ContentScriptNode {\n private root?: ShadowRoot;\n\n private _target?: Element;\n\n private runtime?: ContentScriptStylesRuntime;\n private cleanupBoundary?: ContentScriptBoundaryCleanup;\n\n private mounting = false;\n private unmounting = false;\n\n public constructor(\n protected readonly node: ContentScriptNode,\n private readonly options: ContentScriptShadowOptions = {},\n private readonly isolation: IsolationSetup<Data, \"shadow\">\n ) {}\n\n public get anchor(): Element {\n return this.node.anchor;\n }\n\n public get container(): Element | undefined {\n return this.node.container;\n }\n\n public get target(): Element | undefined {\n return this._target;\n }\n\n public get boundary(): ShadowRoot | undefined {\n return this.root;\n }\n\n public ready(): Promise<void> {\n return this.root && this.runtime ? this.runtime.ready(this.root) : Promise.resolve();\n }\n\n public mount(): boolean {\n if (this.mounting || this.unmounting) {\n return false;\n }\n\n this.mounting = true;\n\n try {\n return this.mountNode();\n } finally {\n this.mounting = false;\n }\n }\n\n private mountNode(): boolean {\n const mounted = !!this.node.mount();\n\n if (!this.container || this.root) {\n return mounted;\n }\n\n if (!(\"attachShadow\" in this.container) || typeof this.container.attachShadow !== \"function\") {\n throw new Error(\"Content script container does not support Shadow DOM\");\n }\n\n if (this.container.shadowRoot) {\n throw new Error(\"Content script container already has an open ShadowRoot\");\n }\n\n let root: ShadowRoot;\n\n try {\n root = this.container.attachShadow({mode: this.options.mode ?? ContentScriptShadowMode.Open});\n } catch (cause) {\n // A pre-existing closed root is not observable through container.shadowRoot.\n throw new Error(\n \"Cannot attach ShadowRoot: the content script container may already have a root or not support Shadow DOM\",\n {cause}\n );\n }\n\n this.root = root;\n\n try {\n const cleanup = this.isolation.setup(root);\n\n if (this.root !== root) {\n cleanup?.();\n\n return false;\n }\n\n this.cleanupBoundary = cleanup || undefined;\n const target = this.isolation.createTarget(root, this.container.ownerDocument);\n\n if (this.root !== root) {\n return false;\n }\n\n root.appendChild(target);\n\n this._target = target;\n this.runtime = getContentScriptStylesRuntime();\n this.runtime.add(root, target);\n } catch (error) {\n if (this.root === root) {\n this.unmount();\n }\n\n throw error;\n }\n\n return mounted;\n }\n\n public unmount(): boolean {\n if (this.unmounting) {\n return false;\n }\n\n this.unmounting = true;\n this._target = undefined;\n\n const cleanup = this.cleanupBoundary;\n\n this.cleanupBoundary = undefined;\n\n let removed = false;\n\n try {\n try {\n cleanup?.();\n } finally {\n try {\n if (this.root) {\n this.runtime?.delete(this.root);\n }\n } finally {\n this.root = undefined;\n this._target = undefined;\n this.runtime = undefined;\n removed = !!this.node.unmount();\n }\n }\n\n return removed;\n } finally {\n this.unmounting = false;\n }\n }\n}\n"],"mappings":"AAEA,SAAQ,qCAAoC;AAE5C;AAAA,EAEI;AAAA,OAIG;AAEP,MAAO,WAAsE;AAAA,EAWlE,YACgB,MACF,UAAsC,CAAC,GACvC,WACnB;AAHqB;AACF;AACA;AAAA,EAClB;AAAA,EAHoB;AAAA,EACF;AAAA,EACA;AAAA,EAbb;AAAA,EAEA;AAAA,EAEA;AAAA,EACA;AAAA,EAEA,WAAW;AAAA,EACX,aAAa;AAAA,EAQrB,IAAW,SAAkB;AACzB,WAAO,KAAK,KAAK;AAAA,EACrB;AAAA,EAEA,IAAW,YAAiC;AACxC,WAAO,KAAK,KAAK;AAAA,EACrB;AAAA,EAEA,IAAW,SAA8B;AACrC,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAW,WAAmC;AAC1C,WAAO,KAAK;AAAA,EAChB;AAAA,EAEO,QAAuB;AAC1B,WAAO,KAAK,QAAQ,KAAK,UAAU,KAAK,QAAQ,MAAM,KAAK,IAAI,IAAI,QAAQ,QAAQ;AAAA,EACvF;AAAA,EAEO,QAAiB;AACpB,QAAI,KAAK,YAAY,KAAK,YAAY;AAClC,aAAO;AAAA,IACX;AAEA,SAAK,WAAW;AAEhB,QAAI;AACA,aAAO,KAAK,UAAU;AAAA,IAC1B,UAAE;AACE,WAAK,WAAW;AAAA,IACpB;AAAA,EACJ;AAAA,EAEQ,YAAqB;AACzB,UAAM,UAAU,CAAC,CAAC,KAAK,KAAK,MAAM;AAElC,QAAI,CAAC,KAAK,aAAa,KAAK,MAAM;AAC9B,aAAO;AAAA,IACX;AAEA,QAAI,EAAE,kBAAkB,KAAK,cAAc,OAAO,KAAK,UAAU,iBAAiB,YAAY;AAC1F,YAAM,IAAI,MAAM,sDAAsD;AAAA,IAC1E;AAEA,QAAI,KAAK,UAAU,YAAY;AAC3B,YAAM,IAAI,MAAM,yDAAyD;AAAA,IAC7E;AAEA,QAAI;AAEJ,QAAI;AACA,aAAO,KAAK,UAAU,aAAa,EAAC,MAAM,KAAK,QAAQ,QAAQ,wBAAwB,KAAI,CAAC;AAAA,IAChG,SAAS,OAAO;AAEZ,YAAM,IAAI;AAAA,QACN;AAAA,QACA,EAAC,MAAK;AAAA,MACV;AAAA,IACJ;AAEA,SAAK,OAAO;AAEZ,QAAI;AACA,YAAM,UAAU,KAAK,UAAU,MAAM,IAAI;AAEzC,UAAI,KAAK,SAAS,MAAM;AACpB;AAEA,eAAO;AAAA,MACX;AAEA,WAAK,kBAAkB,WAAW;AAClC,YAAM,SAAS,KAAK,UAAU,aAAa,MAAM,KAAK,UAAU,aAAa;AAE7E,UAAI,KAAK,SAAS,MAAM;AACpB,eAAO;AAAA,MACX;AAEA,WAAK,YAAY,MAAM;AAEvB,WAAK,UAAU;AACf,WAAK,UAAU,8BAA8B;AAC7C,WAAK,QAAQ,IAAI,MAAM,MAAM;AAAA,IACjC,SAAS,OAAO;AACZ,UAAI,KAAK,SAAS,MAAM;AACpB,aAAK,QAAQ;AAAA,MACjB;AAEA,YAAM;AAAA,IACV;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,UAAmB;AA5H9B;AA6HQ,QAAI,KAAK,YAAY;AACjB,aAAO;AAAA,IACX;AAEA,SAAK,aAAa;AAClB,SAAK,UAAU;AAEf,UAAM,UAAU,KAAK;AAErB,SAAK,kBAAkB;AAEvB,QAAI,UAAU;AAEd,QAAI;AACA,UAAI;AACA;AAAA,MACJ,UAAE;AACE,YAAI;AACA,cAAI,KAAK,MAAM;AACX,uBAAK,YAAL,mBAAc,OAAO,KAAK;AAAA,UAC9B;AAAA,QACJ,UAAE;AACE,eAAK,OAAO;AACZ,eAAK,UAAU;AACf,eAAK,UAAU;AACf,oBAAU,CAAC,CAAC,KAAK,KAAK,QAAQ;AAAA,QAClC;AAAA,MACJ;AAEA,aAAO;AAAA,IACX,UAAE;AACE,WAAK,aAAa;AAAA,IACtB;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ContentScriptNode } from "../../../types/content/index.js";
|
|
2
|
+
/** One owner drains discovery requests for a single builder generation. */
|
|
3
|
+
export interface ContentScriptCycle {
|
|
4
|
+
generation: number;
|
|
5
|
+
pending: boolean;
|
|
6
|
+
promise: Promise<void>;
|
|
7
|
+
}
|
|
8
|
+
/** One completion callback for the event decorator paired with this renderer. */
|
|
9
|
+
export interface ContentScriptMountNotifier {
|
|
10
|
+
setMountHandler(handler: () => void): void;
|
|
11
|
+
}
|
|
12
|
+
export interface ContentScriptRenderLifecycle extends ContentScriptMountNotifier {
|
|
13
|
+
/** The owning lifecycle handles deferred renderer failures without throwing. */
|
|
14
|
+
setErrorHandler(handler: (error: unknown) => void): void;
|
|
15
|
+
}
|
|
16
|
+
/** Internal composition result; only renderers supply their own completion signal. */
|
|
17
|
+
export interface ContentScriptNodeAssembly {
|
|
18
|
+
node: ContentScriptNode;
|
|
19
|
+
renderer?: ContentScriptRenderLifecycle;
|
|
20
|
+
}
|
|
21
|
+
export interface ContentScriptRenderOptions {
|
|
22
|
+
ready?: () => Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
/** The isolation stage supplies a node and optional readiness for its render target. */
|
|
25
|
+
export interface ContentScriptIsolationAssembly {
|
|
26
|
+
node: ContentScriptNode;
|
|
27
|
+
ready?: () => Promise<void>;
|
|
28
|
+
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ContentScriptWatchStrategy } from "../../../types/content/index.js";
|
|
2
|
-
/**
|
|
2
|
+
/** Batch DOM mutations in a fixed window. Calling the returned strategy starts observing. */
|
|
3
3
|
export declare const createMutationObserverStrategy: (options?: MutationObserverInit) => ContentScriptWatchStrategy;
|
|
4
4
|
/** Observe DOM mutations while waiting for the first content nodes. */
|
|
5
5
|
export declare const createAwaitFirstStrategy: (options?: MutationObserverInit) => ContentScriptWatchStrategy;
|
|
@@ -1,19 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
const createMutationObserverStrategy = (options) => (update, context) => {
|
|
2
|
+
let timer;
|
|
3
|
+
const observer = new MutationObserver((records) => {
|
|
4
|
+
if (timer !== void 0 || !records.some((record) => !context.owns(record.target))) {
|
|
5
|
+
return;
|
|
6
|
+
}
|
|
7
|
+
timer = setTimeout(() => {
|
|
8
|
+
timer = void 0;
|
|
9
|
+
void update();
|
|
10
|
+
}, 200);
|
|
11
|
+
});
|
|
8
12
|
observer.observe(document.body ?? document.documentElement ?? document, {
|
|
9
13
|
childList: true,
|
|
10
14
|
subtree: true,
|
|
11
|
-
attributes: true,
|
|
12
|
-
characterData: true,
|
|
13
15
|
...options
|
|
14
16
|
});
|
|
15
17
|
return () => {
|
|
16
|
-
|
|
18
|
+
clearTimeout(timer);
|
|
19
|
+
timer = void 0;
|
|
17
20
|
observer.disconnect();
|
|
18
21
|
};
|
|
19
22
|
};
|
|
@@ -24,16 +27,28 @@ const createAwaitFirstStrategy = (options) => (update, context) => {
|
|
|
24
27
|
...options
|
|
25
28
|
});
|
|
26
29
|
let unwatch;
|
|
30
|
+
let pending;
|
|
27
31
|
const clear = () => {
|
|
28
32
|
unwatch && unwatch();
|
|
29
33
|
unwatch = void 0;
|
|
34
|
+
pending = void 0;
|
|
30
35
|
};
|
|
31
36
|
if (context.nodes.size === 0) {
|
|
32
|
-
unwatch = resolver(
|
|
33
|
-
|
|
34
|
-
if (
|
|
35
|
-
|
|
37
|
+
unwatch = resolver(() => {
|
|
38
|
+
const completion = Promise.resolve(update());
|
|
39
|
+
if (completion === pending) {
|
|
40
|
+
return completion;
|
|
36
41
|
}
|
|
42
|
+
pending = completion;
|
|
43
|
+
return completion.then(() => {
|
|
44
|
+
if (context.nodes.size > 0) {
|
|
45
|
+
clear();
|
|
46
|
+
}
|
|
47
|
+
}).finally(() => {
|
|
48
|
+
if (pending === completion) {
|
|
49
|
+
pending = void 0;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
37
52
|
}, context);
|
|
38
53
|
}
|
|
39
54
|
return () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/entry/content/resolvers/watch.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../../src/entry/content/resolvers/watch.ts"],"sourcesContent":["import type {ContentScriptWatchStrategy} from \"@typing/content\";\n\n/** Batch DOM mutations in a fixed window. Calling the returned strategy starts observing. */\n// prettier-ignore\nexport const createMutationObserverStrategy =\n (options?: MutationObserverInit): ContentScriptWatchStrategy =>\n (update, context) => {\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n const observer = new MutationObserver(records => {\n if (timer !== undefined || !records.some(record => !context.owns(record.target))) {\n return;\n }\n\n timer = setTimeout(() => {\n timer = undefined;\n void update();\n }, 200);\n });\n\n observer.observe(document.body ?? document.documentElement ?? document, {\n childList: true,\n subtree: true,\n ...options,\n });\n\n return () => {\n clearTimeout(timer);\n timer = undefined;\n observer.disconnect();\n };\n };\n\n/** Observe DOM mutations while waiting for the first content nodes. */\n// prettier-ignore\nexport const createAwaitFirstStrategy =\n (options?: MutationObserverInit): ContentScriptWatchStrategy =>\n (update, context) => {\n const resolver = createMutationObserverStrategy({\n attributes: false,\n characterData: false,\n ...options,\n });\n\n let unwatch: { (): void } | undefined;\n let pending: Promise<void> | undefined;\n\n const clear = () => {\n unwatch && unwatch();\n unwatch = undefined;\n pending = undefined;\n };\n\n if (context.nodes.size === 0) {\n unwatch = resolver(() => {\n const completion = Promise.resolve(update());\n\n if (completion === pending) {\n return completion;\n }\n\n pending = completion;\n\n return completion.then(() => {\n if (context.nodes.size > 0) {\n clear();\n }\n }).finally(() => {\n if (pending === completion) {\n pending = undefined;\n }\n });\n }, context);\n }\n\n return () => {\n clear();\n };\n };\n\n// prettier-ignore\nexport const withLocationTracking =\n (strategy: ContentScriptWatchStrategy): ContentScriptWatchStrategy =>\n (update, context) => {\n let currentUrl = location.href;\n\n const interval = setInterval(() => {\n if (currentUrl !== location.href) {\n currentUrl = location.href;\n\n try {\n context.mount();\n } catch (error) {\n console.error(\"Content script mount on location change failed\", error);\n }\n }\n }, 300);\n\n const unwatch = strategy(update, context);\n\n return () => {\n clearInterval(interval);\n unwatch();\n };\n };\n"],"mappings":"AAIO,MAAM,iCACT,CAAC,YACG,CAAC,QAAQ,YAAY;AACjB,MAAI;AAEJ,QAAM,WAAW,IAAI,iBAAiB,aAAW;AAC7C,QAAI,UAAU,UAAa,CAAC,QAAQ,KAAK,YAAU,CAAC,QAAQ,KAAK,OAAO,MAAM,CAAC,GAAG;AAC9E;AAAA,IACJ;AAEA,YAAQ,WAAW,MAAM;AACrB,cAAQ;AACR,WAAK,OAAO;AAAA,IAChB,GAAG,GAAG;AAAA,EACV,CAAC;AAED,WAAS,QAAQ,SAAS,QAAQ,SAAS,mBAAmB,UAAU;AAAA,IACpE,WAAW;AAAA,IACX,SAAS;AAAA,IACT,GAAG;AAAA,EACP,CAAC;AAED,SAAO,MAAM;AACT,iBAAa,KAAK;AAClB,YAAQ;AACR,aAAS,WAAW;AAAA,EACxB;AACJ;AAID,MAAM,2BACT,CAAC,YACG,CAAC,QAAQ,YAAY;AACjB,QAAM,WAAW,+BAA+B;AAAA,IAC5C,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,GAAG;AAAA,EACP,CAAC;AAED,MAAI;AACJ,MAAI;AAEJ,QAAM,QAAQ,MAAM;AAChB,eAAW,QAAQ;AACnB,cAAU;AACV,cAAU;AAAA,EACd;AAEA,MAAI,QAAQ,MAAM,SAAS,GAAG;AAC1B,cAAU,SAAS,MAAM;AACrB,YAAM,aAAa,QAAQ,QAAQ,OAAO,CAAC;AAE3C,UAAI,eAAe,SAAS;AACxB,eAAO;AAAA,MACX;AAEA,gBAAU;AAEV,aAAO,WAAW,KAAK,MAAM;AACzB,YAAI,QAAQ,MAAM,OAAO,GAAG;AACxB,gBAAM;AAAA,QACV;AAAA,MACJ,CAAC,EAAE,QAAQ,MAAM;AACb,YAAI,YAAY,YAAY;AACxB,oBAAU;AAAA,QACd;AAAA,MACJ,CAAC;AAAA,IACL,GAAG,OAAO;AAAA,EACd;AAEA,SAAO,MAAM;AACT,UAAM;AAAA,EACV;AACJ;AAGD,MAAM,uBACT,CAAC,aACG,CAAC,QAAQ,YAAY;AACjB,MAAI,aAAa,SAAS;AAE1B,QAAM,WAAW,YAAY,MAAM;AAC/B,QAAI,eAAe,SAAS,MAAM;AAC9B,mBAAa,SAAS;AAEtB,UAAI;AACA,gBAAQ,MAAM;AAAA,MAClB,SAAS,OAAO;AACZ,gBAAQ,MAAM,kDAAkD,KAAK;AAAA,MACzE;AAAA,IACJ;AAAA,EACJ,GAAG,GAAG;AAEN,QAAM,UAAU,SAAS,QAAQ,OAAO;AAExC,SAAO,MAAM;AACT,kBAAc,QAAQ;AACtB,YAAQ;AAAA,EACZ;AACJ;","names":[]}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ReactNode } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* React-only render values: elements (including fragments), portals, bigints and iterables of nodes.
|
|
4
|
+
* Text, numbers and DOM elements are framework-independent and belong to `isDomRenderValue()`.
|
|
5
|
+
*/
|
|
6
|
+
export declare const isReactRenderValue: (value: unknown) => value is ReactNode;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { isValidElement } from "react";
|
|
2
|
+
const ReactPortalType = /* @__PURE__ */ Symbol.for("react.portal");
|
|
3
|
+
const isReactRenderValue = (value) => {
|
|
4
|
+
if (isValidElement(value) || typeof value === "bigint") {
|
|
5
|
+
return true;
|
|
6
|
+
}
|
|
7
|
+
if (typeof value !== "object" || value === null) {
|
|
8
|
+
return false;
|
|
9
|
+
}
|
|
10
|
+
const node = value;
|
|
11
|
+
return node.$$typeof === ReactPortalType || typeof node[Symbol.iterator] === "function";
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
isReactRenderValue
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=react.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/core/react.ts"],"sourcesContent":["import {isValidElement, type ReactNode} from \"react\";\n\nconst ReactPortalType = Symbol.for(\"react.portal\");\n\n/**\n * React-only render values: elements (including fragments), portals, bigints and iterables of nodes.\n * Text, numbers and DOM elements are framework-independent and belong to `isDomRenderValue()`.\n */\nexport const isReactRenderValue = (value: unknown): value is ReactNode => {\n if (isValidElement(value) || typeof value === \"bigint\") {\n return true;\n }\n\n if (typeof value !== \"object\" || value === null) {\n return false;\n }\n\n const node = value as {$$typeof?: unknown; [Symbol.iterator]?: unknown};\n\n // A portal is a plain object that isValidElement() does not recognize; an iterable needs a callable iterator.\n return node.$$typeof === ReactPortalType || typeof node[Symbol.iterator] === \"function\";\n};\n"],"mappings":"AAAA,SAAQ,sBAAqC;AAE7C,MAAM,kBAAkB,uBAAO,IAAI,cAAc;AAM1C,MAAM,qBAAqB,CAAC,UAAuC;AACtE,MAAI,eAAe,KAAK,KAAK,OAAO,UAAU,UAAU;AACpD,WAAO;AAAA,EACX;AAEA,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC7C,WAAO;AAAA,EACX;AAEA,QAAM,OAAO;AAGb,SAAO,KAAK,aAAa,mBAAmB,OAAO,KAAK,OAAO,QAAQ,MAAM;AACjF;","names":[]}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Render values that every adapter supports without a UI framework. */
|
|
2
|
+
export type DomRenderValue = string | number | Element;
|
|
3
|
+
export declare const isDomRenderValue: (value: unknown) => value is DomRenderValue;
|
|
4
|
+
/** Text is always inserted as text, never parsed as HTML; markup comes from elements or a UI framework. */
|
|
5
|
+
export declare const renderDomValue: (target: Element, value: DomRenderValue) => void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const isDomRenderValue = (value) => {
|
|
2
|
+
return typeof value === "string" && value.length > 0 || typeof value === "number" || // Compare the node type, not instanceof Element: an element may come from another realm, such as an iframe.
|
|
3
|
+
typeof value === "object" && value !== null && value.nodeType === Node.ELEMENT_NODE;
|
|
4
|
+
};
|
|
5
|
+
const renderDomValue = (target, value) => {
|
|
6
|
+
if (typeof value === "object") {
|
|
7
|
+
target.appendChild(value);
|
|
8
|
+
} else {
|
|
9
|
+
target.textContent = String(value);
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
isDomRenderValue,
|
|
14
|
+
renderDomValue
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/core/render.ts"],"sourcesContent":["/** Render values that every adapter supports without a UI framework. */\nexport type DomRenderValue = string | number | Element;\n\nexport const isDomRenderValue = (value: unknown): value is DomRenderValue => {\n return (\n (typeof value === \"string\" && value.length > 0) ||\n typeof value === \"number\" ||\n // Compare the node type, not instanceof Element: an element may come from another realm, such as an iframe.\n (typeof value === \"object\" && value !== null && (value as Node).nodeType === Node.ELEMENT_NODE)\n );\n};\n\n/** Text is always inserted as text, never parsed as HTML; markup comes from elements or a UI framework. */\nexport const renderDomValue = (target: Element, value: DomRenderValue): void => {\n if (typeof value === \"object\") {\n target.appendChild(value);\n } else {\n target.textContent = String(value);\n }\n};\n"],"mappings":"AAGO,MAAM,mBAAmB,CAAC,UAA4C;AACzE,SACK,OAAO,UAAU,YAAY,MAAM,SAAS,KAC7C,OAAO,UAAU;AAAA,EAEhB,OAAO,UAAU,YAAY,UAAU,QAAS,MAAe,aAAa,KAAK;AAE1F;AAGO,MAAM,iBAAiB,CAAC,QAAiB,UAAgC;AAC5E,MAAI,OAAO,UAAU,UAAU;AAC3B,WAAO,YAAY,KAAK;AAAA,EAC5B,OAAO;AACH,WAAO,cAAc,OAAO,KAAK;AAAA,EACrC;AACJ;","names":[]}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
+
import EntrypointBuilder from "../core/Builder.js";
|
|
1
2
|
import TransportBuilder from "./TransportBuilder.js";
|
|
2
|
-
import
|
|
3
|
-
import { OffscreenUnresolvedDefinition } from "../../types/offscreen.js";
|
|
3
|
+
import { OffscreenEntrypointOptions, OffscreenUnresolvedDefinition } from "../../types/offscreen.js";
|
|
4
4
|
import { TransportType } from "../../types/transport.js";
|
|
5
|
-
import { ViewBuilder } from "../../types/view.js";
|
|
6
|
-
export default class<T extends TransportType = TransportType> extends
|
|
5
|
+
import { ViewBuilder, ViewBuilderConstructor } from "../../types/view/index.js";
|
|
6
|
+
export default class Builder<T extends TransportType = TransportType> extends EntrypointBuilder {
|
|
7
7
|
protected readonly _transport: TransportBuilder<T>;
|
|
8
|
-
protected _view
|
|
9
|
-
constructor(definition: OffscreenUnresolvedDefinition<T>);
|
|
10
|
-
view(view: ViewBuilder): this;
|
|
8
|
+
protected readonly _view: ViewBuilder;
|
|
9
|
+
constructor(definition: OffscreenUnresolvedDefinition<T>, viewBuilder: ViewBuilderConstructor<OffscreenEntrypointOptions>);
|
|
11
10
|
build(): Promise<void>;
|
|
12
11
|
destroy(): Promise<void>;
|
|
13
12
|
private ready;
|
|
@@ -1,29 +1,28 @@
|
|
|
1
|
+
import EntrypointBuilder from "./../../entry/core/Builder.js";
|
|
1
2
|
import TransportBuilder from "./TransportBuilder.js";
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
OffscreenBridgeReadyMessageType,
|
|
5
|
+
OffscreenGlobalAccess
|
|
6
|
+
} from "./../../types/offscreen.js";
|
|
7
|
+
class Builder extends EntrypointBuilder {
|
|
5
8
|
_transport;
|
|
6
9
|
_view;
|
|
7
|
-
constructor(definition) {
|
|
10
|
+
constructor(definition, viewBuilder) {
|
|
8
11
|
super();
|
|
9
12
|
this._transport = new TransportBuilder(definition);
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
this._view = view;
|
|
13
|
-
return this;
|
|
13
|
+
const { init, main, name, ...viewOptions } = definition;
|
|
14
|
+
this._view = new viewBuilder(viewOptions);
|
|
14
15
|
}
|
|
15
16
|
async build() {
|
|
16
|
-
var _a;
|
|
17
17
|
await this.destroy();
|
|
18
18
|
globalThis[OffscreenGlobalAccess] = true;
|
|
19
19
|
await this._transport.build();
|
|
20
|
-
await
|
|
20
|
+
await this._view.build();
|
|
21
21
|
this.ready();
|
|
22
22
|
}
|
|
23
23
|
async destroy() {
|
|
24
|
-
var _a;
|
|
25
24
|
await this._transport.destroy();
|
|
26
|
-
await
|
|
25
|
+
await this._view.destroy();
|
|
27
26
|
}
|
|
28
27
|
ready() {
|
|
29
28
|
if (window.parent === window) {
|
|
@@ -33,6 +32,6 @@ class Builder_default extends Builder {
|
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
34
|
export {
|
|
36
|
-
|
|
35
|
+
Builder as default
|
|
37
36
|
};
|
|
38
37
|
//# sourceMappingURL=Builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/offscreen/Builder.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/offscreen/Builder.ts"],"sourcesContent":["import EntrypointBuilder from \"@entry/core/Builder\";\n\nimport TransportBuilder from \"./TransportBuilder\";\n\nimport {\n OffscreenBridgeReadyMessageType,\n OffscreenEntrypointOptions,\n OffscreenGlobalAccess,\n OffscreenUnresolvedDefinition,\n} from \"@typing/offscreen\";\nimport {TransportType} from \"@typing/transport\";\nimport {ViewBuilder, ViewBuilderConstructor} from \"@typing/view\";\n\nexport default class Builder<T extends TransportType = TransportType> extends EntrypointBuilder {\n protected readonly _transport: TransportBuilder<T>;\n\n protected readonly _view: ViewBuilder;\n\n constructor(\n definition: OffscreenUnresolvedDefinition<T>,\n viewBuilder: ViewBuilderConstructor<OffscreenEntrypointOptions>\n ) {\n super();\n\n this._transport = new TransportBuilder(definition);\n\n const {init, main, name, ...viewOptions} = definition;\n\n this._view = new viewBuilder(viewOptions);\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n globalThis[OffscreenGlobalAccess] = true;\n\n await this._transport.build();\n await this._view.build();\n\n this.ready();\n }\n\n public async destroy(): Promise<void> {\n await this._transport.destroy();\n await this._view.destroy();\n }\n\n private ready(): void {\n if (window.parent === window) {\n return;\n }\n\n window.parent.postMessage({type: OffscreenBridgeReadyMessageType}, location.origin);\n }\n}\n"],"mappings":"AAAA,OAAO,uBAAuB;AAE9B,OAAO,sBAAsB;AAE7B;AAAA,EACI;AAAA,EAEA;AAAA,OAEG;AAIP,MAAO,gBAAuE,kBAAkB;AAAA,EACzE;AAAA,EAEA;AAAA,EAEnB,YACI,YACA,aACF;AACE,UAAM;AAEN,SAAK,aAAa,IAAI,iBAAiB,UAAU;AAEjD,UAAM,EAAC,MAAM,MAAM,MAAM,GAAG,YAAW,IAAI;AAE3C,SAAK,QAAQ,IAAI,YAAY,WAAW;AAAA,EAC5C;AAAA,EAEA,MAAa,QAAuB;AAChC,UAAM,KAAK,QAAQ;AAEnB,eAAW,qBAAqB,IAAI;AAEpC,UAAM,KAAK,WAAW,MAAM;AAC5B,UAAM,KAAK,MAAM,MAAM;AAEvB,SAAK,MAAM;AAAA,EACf;AAAA,EAEA,MAAa,UAAyB;AAClC,UAAM,KAAK,WAAW,QAAQ;AAC9B,UAAM,KAAK,MAAM,QAAQ;AAAA,EAC7B;AAAA,EAEQ,QAAc;AAClB,QAAI,OAAO,WAAW,QAAQ;AAC1B;AAAA,IACJ;AAEA,WAAO,OAAO,YAAY,EAAC,MAAM,gCAA+B,GAAG,SAAS,MAAM;AAAA,EACtF;AACJ;","names":[]}
|
|
@@ -2,7 +2,7 @@ import AbstractBuilder from "../transport/AbstractBuilder.js";
|
|
|
2
2
|
import { RegisterOffscreen } from "../../offscreen/providers/index.js";
|
|
3
3
|
import { OffscreenOptions, OffscreenUnresolvedDefinition } from "../../types/offscreen.js";
|
|
4
4
|
import { TransportName, TransportType } from "../../types/transport.js";
|
|
5
|
-
export default class<T extends TransportType = TransportType> extends AbstractBuilder<OffscreenOptions, T> {
|
|
5
|
+
export default class TransportBuilder<T extends TransportType = TransportType> extends AbstractBuilder<OffscreenOptions, T> {
|
|
6
6
|
constructor(definition: OffscreenUnresolvedDefinition<T>);
|
|
7
7
|
protected transport(): RegisterOffscreen<TransportName, T, [OffscreenOptions]>;
|
|
8
8
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import AbstractBuilder from "./../../entry/transport/AbstractBuilder.js";
|
|
2
2
|
import { RegisterOffscreen } from "./../../offscreen/providers/index.js";
|
|
3
|
-
class
|
|
3
|
+
class TransportBuilder extends AbstractBuilder {
|
|
4
4
|
constructor(definition) {
|
|
5
|
-
|
|
5
|
+
const { render, container, ...options } = definition;
|
|
6
|
+
super(options);
|
|
6
7
|
}
|
|
7
8
|
transport() {
|
|
8
9
|
const { name, init } = this.definition;
|
|
@@ -10,6 +11,6 @@ class TransportBuilder_default extends AbstractBuilder {
|
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
export {
|
|
13
|
-
|
|
14
|
+
TransportBuilder as default
|
|
14
15
|
};
|
|
15
16
|
//# sourceMappingURL=TransportBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/offscreen/TransportBuilder.ts"],"sourcesContent":["import AbstractBuilder from \"@entry/transport/AbstractBuilder\";\n\nimport {RegisterOffscreen} from \"@offscreen/providers\";\n\nimport {OffscreenOptions, OffscreenUnresolvedDefinition} from \"@typing/offscreen\";\nimport {TransportName, TransportType} from \"@typing/transport\";\n\nexport default class<T extends TransportType = TransportType> extends AbstractBuilder
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/offscreen/TransportBuilder.ts"],"sourcesContent":["import AbstractBuilder from \"@entry/transport/AbstractBuilder\";\n\nimport {RegisterOffscreen} from \"@offscreen/providers\";\n\nimport {OffscreenOptions, OffscreenUnresolvedDefinition} from \"@typing/offscreen\";\nimport {TransportName, TransportType} from \"@typing/transport\";\n\nexport default class TransportBuilder<T extends TransportType = TransportType> extends AbstractBuilder<\n OffscreenOptions,\n T\n> {\n constructor(definition: OffscreenUnresolvedDefinition<T>) {\n // The view owns rendering; init and main receive only the offscreen options.\n const {render, container, ...options} = definition;\n\n super(options);\n }\n\n protected transport(): RegisterOffscreen<TransportName, T, [OffscreenOptions]> {\n const {name, init} = this.definition;\n\n return new RegisterOffscreen(name, init);\n }\n}\n"],"mappings":"AAAA,OAAO,qBAAqB;AAE5B,SAAQ,yBAAwB;AAKhC,MAAO,yBAAgF,gBAGrF;AAAA,EACE,YAAY,YAA8C;AAEtD,UAAM,EAAC,QAAQ,WAAW,GAAG,QAAO,IAAI;AAExC,UAAM,OAAO;AAAA,EACjB;AAAA,EAEU,YAAqE;AAC3E,UAAM,EAAC,MAAM,KAAI,IAAI,KAAK;AAE1B,WAAO,IAAI,kBAAkB,MAAM,IAAI;AAAA,EAC3C;AACJ;","names":[]}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import Builder from "./Builder.js";
|
|
2
|
+
import type { OffscreenEntrypointOptions, OffscreenUnresolvedDefinition } from "../../types/offscreen.js";
|
|
3
|
+
import type { TransportType } from "../../types/transport.js";
|
|
4
|
+
import type { ViewBuilderConstructor } from "../../types/view/index.js";
|
|
2
5
|
export { Builder };
|
|
3
|
-
|
|
4
|
-
export default
|
|
6
|
+
export { resolveDefinition } from "./resolvers/definition.js";
|
|
7
|
+
export default function offscreen<T extends TransportType>(definition: OffscreenUnresolvedDefinition<T>, viewBuilder: ViewBuilderConstructor<OffscreenEntrypointOptions>): void;
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import Builder from "./Builder.js";
|
|
2
|
-
|
|
2
|
+
import { resolveDefinition } from "./resolvers/definition.js";
|
|
3
|
+
function offscreen(definition, viewBuilder) {
|
|
4
|
+
new Builder(definition, viewBuilder).build().catch((error) => {
|
|
5
|
+
console.error("Failed to build offscreen: ", error);
|
|
6
|
+
});
|
|
7
|
+
}
|
|
3
8
|
export {
|
|
4
9
|
Builder,
|
|
5
|
-
|
|
10
|
+
offscreen as default,
|
|
11
|
+
resolveDefinition
|
|
6
12
|
};
|
|
7
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/offscreen/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport {Builder};\n\nexport default Builder.
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/offscreen/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nimport type {OffscreenEntrypointOptions, OffscreenUnresolvedDefinition} from \"@typing/offscreen\";\nimport type {TransportType} from \"@typing/transport\";\nimport type {ViewBuilderConstructor} from \"@typing/view\";\n\nexport {Builder};\nexport {resolveDefinition} from \"./resolvers/definition\";\n\nexport default function offscreen<T extends TransportType>(\n definition: OffscreenUnresolvedDefinition<T>,\n viewBuilder: ViewBuilderConstructor<OffscreenEntrypointOptions>\n): void {\n new Builder(definition, viewBuilder).build().catch(error => {\n console.error(\"Failed to build offscreen: \", error);\n });\n}\n"],"mappings":"AAAA,OAAO,aAAa;AAOpB,SAAQ,yBAAwB;AAEjB,SAAR,UACH,YACA,aACI;AACJ,MAAI,QAAQ,YAAY,WAAW,EAAE,MAAM,EAAE,MAAM,WAAS;AACxD,YAAQ,MAAM,+BAA+B,KAAK;AAAA,EACtD,CAAC;AACL;","names":[]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { OffscreenUnresolvedDefinition } from "../../../types/offscreen.js";
|
|
2
|
+
import type { TransportType } from "../../../types/transport.js";
|
|
3
|
+
/** A default function is the offscreen transport init; the view renders only an explicit render. */
|
|
4
|
+
export declare const resolveDefinition: <T extends TransportType = TransportType>(module: object, name: string) => OffscreenUnresolvedDefinition<T>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/entry/offscreen/resolvers/definition.ts"],"sourcesContent":["import {mergeDefinition} from \"@entry/transport/resolvers/definition\";\n\nimport type {OffscreenUnresolvedDefinition} from \"@typing/offscreen\";\nimport type {TransportType} from \"@typing/transport\";\n\n/** A default function is the offscreen transport init; the view renders only an explicit render. */\nexport const resolveDefinition = <T extends TransportType = TransportType>(\n module: object,\n name: string\n): OffscreenUnresolvedDefinition<T> => {\n return mergeDefinition(module, name) as OffscreenUnresolvedDefinition<T>;\n};\n"],"mappings":"AAAA,SAAQ,uBAAsB;AAMvB,MAAM,oBAAoB,CAC7B,QACA,SACmC;AACnC,SAAO,gBAAgB,QAAQ,IAAI;AACvC;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/relay/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nimport type {RelayUnresolvedDefinition} from \"@typing/relay\";\nimport type {TransportType} from \"@typing/transport\";\nimport type {ContentScriptIsolation} from \"@typing/content\";\n\nexport {Builder};\nexport {resolveDefinition} from \"./resolvers/definition\";\nexport type {RelayUnresolvedDefinition} from \"@typing/relay\";\n\nexport default function relay<\n T extends TransportType,\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n>(\n definition: RelayUnresolvedDefinition<T, Data, Isolation>,\n contentBuilder: ConstructorParameters<typeof Builder<T, Data, NoInfer<Isolation>>>[1]\n): void {\n new Builder(definition, contentBuilder).build().catch(error => {\n console.error(\"Failed to build relay: \", error);\n });\n}\n"],"mappings":"AAAA,OAAO,aAAa;AAOpB,SAAQ,yBAAwB;
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/relay/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nimport type {RelayUnresolvedDefinition} from \"@typing/relay\";\nimport type {TransportType} from \"@typing/transport\";\nimport type {ContentScriptIsolation} from \"@typing/content\";\n\nexport {Builder};\nexport {resolveDefinition} from \"./resolvers/definition\";\n\nexport type {RelayUnresolvedDefinition} from \"@typing/relay\";\n\nexport default function relay<\n T extends TransportType,\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n>(\n definition: RelayUnresolvedDefinition<T, Data, Isolation>,\n contentBuilder: ConstructorParameters<typeof Builder<T, Data, NoInfer<Isolation>>>[1]\n): void {\n new Builder(definition, contentBuilder).build().catch(error => {\n console.error(\"Failed to build relay: \", error);\n });\n}\n"],"mappings":"AAAA,OAAO,aAAa;AAOpB,SAAQ,yBAAwB;AAIjB,SAAR,MAKH,YACA,gBACI;AACJ,MAAI,QAAQ,YAAY,cAAc,EAAE,MAAM,EAAE,MAAM,WAAS;AAC3D,YAAQ,MAAM,2BAA2B,KAAK;AAAA,EAClD,CAAC;AACL;","names":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { RelayUnresolvedDefinition } from "../../../types/relay.js";
|
|
2
2
|
import type { TransportType } from "../../../types/transport.js";
|
|
3
|
-
/**
|
|
3
|
+
/** A default function is Relay's transport init, never a content render. */
|
|
4
4
|
export declare const resolveDefinition: <T extends TransportType = TransportType>(module: object, name: string) => RelayUnresolvedDefinition<T>;
|
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { mergeDefinition } from "./../../../entry/transport/resolvers/definition.js";
|
|
2
2
|
const resolveDefinition = (module, name) => {
|
|
3
|
-
|
|
4
|
-
let definition = otherDefinition;
|
|
5
|
-
if (isValidTransportDefinition(defaultDefinition)) {
|
|
6
|
-
definition = { ...definition, ...defaultDefinition };
|
|
7
|
-
} else if (isValidTransportInitFunction(defaultDefinition)) {
|
|
8
|
-
definition = { ...definition, init: defaultDefinition };
|
|
9
|
-
}
|
|
10
|
-
const { init, main, name: _name, ...options } = definition;
|
|
11
|
-
return { name, init, main, ...options };
|
|
3
|
+
return mergeDefinition(module, name);
|
|
12
4
|
};
|
|
13
5
|
export {
|
|
14
6
|
resolveDefinition
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/entry/relay/resolvers/definition.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../../src/entry/relay/resolvers/definition.ts"],"sourcesContent":["import {mergeDefinition} from \"@entry/transport/resolvers/definition\";\n\nimport type {RelayUnresolvedDefinition} from \"@typing/relay\";\nimport type {TransportType} from \"@typing/transport\";\n\n/** A default function is Relay's transport init, never a content render. */\nexport const resolveDefinition = <T extends TransportType = TransportType>(\n module: object,\n name: string\n): RelayUnresolvedDefinition<T> => {\n return mergeDefinition(module, name) as RelayUnresolvedDefinition<T>;\n};\n"],"mappings":"AAAA,SAAQ,uBAAsB;AAMvB,MAAM,oBAAoB,CAC7B,QACA,SAC+B;AAC/B,SAAO,gBAAgB,QAAQ,IAAI;AACvC;","names":[]}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
+
import EntrypointBuilder from "../core/Builder.js";
|
|
1
2
|
import TransportBuilder from "./TransportBuilder.js";
|
|
2
|
-
import
|
|
3
|
-
import { SandboxUnresolvedDefinition } from "../../types/sandbox.js";
|
|
3
|
+
import { SandboxEntrypointOptions, SandboxUnresolvedDefinition } from "../../types/sandbox.js";
|
|
4
4
|
import { TransportType } from "../../types/transport.js";
|
|
5
|
-
import { ViewBuilder } from "../../types/view.js";
|
|
6
|
-
export default class<T extends TransportType = TransportType> extends
|
|
5
|
+
import { ViewBuilder, ViewBuilderConstructor } from "../../types/view/index.js";
|
|
6
|
+
export default class Builder<T extends TransportType = TransportType> extends EntrypointBuilder {
|
|
7
7
|
protected readonly _transport: TransportBuilder<T>;
|
|
8
|
-
protected _view
|
|
8
|
+
protected readonly _view: ViewBuilder;
|
|
9
9
|
private readonly name;
|
|
10
|
-
constructor(definition: SandboxUnresolvedDefinition<T>);
|
|
11
|
-
view(view: ViewBuilder): this;
|
|
10
|
+
constructor(definition: SandboxUnresolvedDefinition<T>, viewBuilder: ViewBuilderConstructor<SandboxEntrypointOptions>);
|
|
12
11
|
build(): Promise<void>;
|
|
13
12
|
destroy(): Promise<void>;
|
|
14
13
|
private ready;
|
|
@@ -1,35 +1,31 @@
|
|
|
1
|
+
import EntrypointBuilder from "./../../entry/core/Builder.js";
|
|
1
2
|
import TransportBuilder from "./TransportBuilder.js";
|
|
2
|
-
import Builder from "../core/Builder.js";
|
|
3
3
|
import { sandboxChannel } from "./../../sandbox/utils.js";
|
|
4
4
|
import {
|
|
5
5
|
SandboxGlobalAccess,
|
|
6
6
|
SandboxReadyMessageType
|
|
7
7
|
} from "./../../types/sandbox.js";
|
|
8
|
-
class
|
|
8
|
+
class Builder extends EntrypointBuilder {
|
|
9
9
|
_transport;
|
|
10
10
|
_view;
|
|
11
11
|
name;
|
|
12
|
-
constructor(definition) {
|
|
12
|
+
constructor(definition, viewBuilder) {
|
|
13
13
|
super();
|
|
14
14
|
this.name = definition.name;
|
|
15
15
|
this._transport = new TransportBuilder(definition);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this._view = view;
|
|
19
|
-
return this;
|
|
16
|
+
const { init, main, name, ...viewOptions } = definition;
|
|
17
|
+
this._view = new viewBuilder(viewOptions);
|
|
20
18
|
}
|
|
21
19
|
async build() {
|
|
22
|
-
var _a;
|
|
23
20
|
await this.destroy();
|
|
24
21
|
globalThis[SandboxGlobalAccess] = true;
|
|
25
22
|
await this._transport.build();
|
|
26
|
-
await
|
|
23
|
+
await this._view.build();
|
|
27
24
|
this.ready();
|
|
28
25
|
}
|
|
29
26
|
async destroy() {
|
|
30
|
-
var _a;
|
|
31
27
|
await this._transport.destroy();
|
|
32
|
-
await
|
|
28
|
+
await this._view.destroy();
|
|
33
29
|
}
|
|
34
30
|
ready() {
|
|
35
31
|
if (window.parent === window) {
|
|
@@ -46,6 +42,6 @@ class Builder_default extends Builder {
|
|
|
46
42
|
}
|
|
47
43
|
}
|
|
48
44
|
export {
|
|
49
|
-
|
|
45
|
+
Builder as default
|
|
50
46
|
};
|
|
51
47
|
//# sourceMappingURL=Builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/sandbox/Builder.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/sandbox/Builder.ts"],"sourcesContent":["import EntrypointBuilder from \"@entry/core/Builder\";\n\nimport TransportBuilder from \"./TransportBuilder\";\n\nimport {sandboxChannel} from \"@sandbox/utils\";\n\nimport {\n SandboxEntrypointOptions,\n SandboxGlobalAccess,\n SandboxReadyMessage,\n SandboxReadyMessageType,\n SandboxUnresolvedDefinition,\n} from \"@typing/sandbox\";\nimport {TransportType} from \"@typing/transport\";\nimport {ViewBuilder, ViewBuilderConstructor} from \"@typing/view\";\n\nexport default class Builder<T extends TransportType = TransportType> extends EntrypointBuilder {\n protected readonly _transport: TransportBuilder<T>;\n\n protected readonly _view: ViewBuilder;\n\n private readonly name: string;\n\n constructor(\n definition: SandboxUnresolvedDefinition<T>,\n viewBuilder: ViewBuilderConstructor<SandboxEntrypointOptions>\n ) {\n super();\n\n this.name = definition.name!;\n this._transport = new TransportBuilder(definition);\n\n const {init, main, name, ...viewOptions} = definition;\n\n this._view = new viewBuilder(viewOptions);\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n globalThis[SandboxGlobalAccess] = true;\n\n await this._transport.build();\n await this._view.build();\n\n this.ready();\n }\n\n public async destroy(): Promise<void> {\n await this._transport.destroy();\n await this._view.destroy();\n }\n\n private ready(): void {\n if (window.parent === window) {\n return;\n }\n\n window.parent.postMessage(\n {\n type: SandboxReadyMessageType,\n channel: sandboxChannel(this.name),\n name: this.name,\n } satisfies SandboxReadyMessage,\n \"*\"\n );\n }\n}\n"],"mappings":"AAAA,OAAO,uBAAuB;AAE9B,OAAO,sBAAsB;AAE7B,SAAQ,sBAAqB;AAE7B;AAAA,EAEI;AAAA,EAEA;AAAA,OAEG;AAIP,MAAO,gBAAuE,kBAAkB;AAAA,EACzE;AAAA,EAEA;AAAA,EAEF;AAAA,EAEjB,YACI,YACA,aACF;AACE,UAAM;AAEN,SAAK,OAAO,WAAW;AACvB,SAAK,aAAa,IAAI,iBAAiB,UAAU;AAEjD,UAAM,EAAC,MAAM,MAAM,MAAM,GAAG,YAAW,IAAI;AAE3C,SAAK,QAAQ,IAAI,YAAY,WAAW;AAAA,EAC5C;AAAA,EAEA,MAAa,QAAuB;AAChC,UAAM,KAAK,QAAQ;AAEnB,eAAW,mBAAmB,IAAI;AAElC,UAAM,KAAK,WAAW,MAAM;AAC5B,UAAM,KAAK,MAAM,MAAM;AAEvB,SAAK,MAAM;AAAA,EACf;AAAA,EAEA,MAAa,UAAyB;AAClC,UAAM,KAAK,WAAW,QAAQ;AAC9B,UAAM,KAAK,MAAM,QAAQ;AAAA,EAC7B;AAAA,EAEQ,QAAc;AAClB,QAAI,OAAO,WAAW,QAAQ;AAC1B;AAAA,IACJ;AAEA,WAAO,OAAO;AAAA,MACV;AAAA,QACI,MAAM;AAAA,QACN,SAAS,eAAe,KAAK,IAAI;AAAA,QACjC,MAAM,KAAK;AAAA,MACf;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -2,7 +2,7 @@ import AbstractBuilder from "../transport/AbstractBuilder.js";
|
|
|
2
2
|
import { RegisterSandbox } from "../../sandbox/providers/index.js";
|
|
3
3
|
import type { SandboxOptions, SandboxUnresolvedDefinition } from "../../types/sandbox.js";
|
|
4
4
|
import type { TransportName, TransportType } from "../../types/transport.js";
|
|
5
|
-
export default class<T extends TransportType = TransportType> extends AbstractBuilder<SandboxOptions, T> {
|
|
5
|
+
export default class TransportBuilder<T extends TransportType = TransportType> extends AbstractBuilder<SandboxOptions, T> {
|
|
6
6
|
constructor(definition: SandboxUnresolvedDefinition<T>);
|
|
7
7
|
protected transport(): RegisterSandbox<TransportName, T, [SandboxOptions]>;
|
|
8
8
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import AbstractBuilder from "./../../entry/transport/AbstractBuilder.js";
|
|
2
2
|
import { RegisterSandbox } from "./../../sandbox/providers/index.js";
|
|
3
|
-
class
|
|
3
|
+
class TransportBuilder extends AbstractBuilder {
|
|
4
4
|
constructor(definition) {
|
|
5
|
-
|
|
5
|
+
const { render, container, ...options } = definition;
|
|
6
|
+
super(options);
|
|
6
7
|
}
|
|
7
8
|
transport() {
|
|
8
9
|
const { name, init } = this.definition;
|
|
@@ -10,6 +11,6 @@ class TransportBuilder_default extends AbstractBuilder {
|
|
|
10
11
|
}
|
|
11
12
|
}
|
|
12
13
|
export {
|
|
13
|
-
|
|
14
|
+
TransportBuilder as default
|
|
14
15
|
};
|
|
15
16
|
//# sourceMappingURL=TransportBuilder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/sandbox/TransportBuilder.ts"],"sourcesContent":["import AbstractBuilder from \"@entry/transport/AbstractBuilder\";\n\nimport {RegisterSandbox} from \"@sandbox/providers\";\n\nimport type {SandboxOptions, SandboxUnresolvedDefinition} from \"@typing/sandbox\";\nimport type {TransportName, TransportType} from \"@typing/transport\";\n\nexport default class<T extends TransportType = TransportType> extends AbstractBuilder
|
|
1
|
+
{"version":3,"sources":["../../../src/entry/sandbox/TransportBuilder.ts"],"sourcesContent":["import AbstractBuilder from \"@entry/transport/AbstractBuilder\";\n\nimport {RegisterSandbox} from \"@sandbox/providers\";\n\nimport type {SandboxOptions, SandboxUnresolvedDefinition} from \"@typing/sandbox\";\nimport type {TransportName, TransportType} from \"@typing/transport\";\n\nexport default class TransportBuilder<T extends TransportType = TransportType> extends AbstractBuilder<\n SandboxOptions,\n T\n> {\n constructor(definition: SandboxUnresolvedDefinition<T>) {\n // The view owns rendering; init and main receive only the sandbox options.\n const {render, container, ...options} = definition;\n\n super(options);\n }\n\n protected transport(): RegisterSandbox<TransportName, T, [SandboxOptions]> {\n const {name, init} = this.definition;\n\n return new RegisterSandbox(name, init);\n }\n}\n"],"mappings":"AAAA,OAAO,qBAAqB;AAE5B,SAAQ,uBAAsB;AAK9B,MAAO,yBAAgF,gBAGrF;AAAA,EACE,YAAY,YAA4C;AAEpD,UAAM,EAAC,QAAQ,WAAW,GAAG,QAAO,IAAI;AAExC,UAAM,OAAO;AAAA,EACjB;AAAA,EAEU,YAAiE;AACvE,UAAM,EAAC,MAAM,KAAI,IAAI,KAAK;AAE1B,WAAO,IAAI,gBAAgB,MAAM,IAAI;AAAA,EACzC;AACJ;","names":[]}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import Builder from "./Builder.js";
|
|
2
|
+
import type { SandboxEntrypointOptions, SandboxUnresolvedDefinition } from "../../types/sandbox.js";
|
|
3
|
+
import type { TransportType } from "../../types/transport.js";
|
|
4
|
+
import type { ViewBuilderConstructor } from "../../types/view/index.js";
|
|
5
|
+
export { Builder };
|
|
6
|
+
export { resolveDefinition } from "./resolvers/definition.js";
|
|
7
|
+
export default function sandbox<T extends TransportType>(definition: SandboxUnresolvedDefinition<T>, viewBuilder: ViewBuilderConstructor<SandboxEntrypointOptions>): void;
|