adnbn 0.10.0 → 0.12.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/README.md +3 -0
- package/dist/cli/builders/locale/LocaleBuilder.js +2 -11
- package/dist/cli/builders/locale/LocaleBuilder.js.map +1 -1
- package/dist/cli/builders/locale/index.js +1 -1
- package/dist/cli/builders/locale/index.js.map +1 -1
- package/dist/cli/builders/manifest/ManifestBase.js +17 -7
- package/dist/cli/builders/manifest/ManifestBase.js.map +1 -1
- package/dist/cli/builders/manifest/ManifestV2.js +1 -1
- package/dist/cli/builders/manifest/ManifestV3.js +12 -5
- package/dist/cli/builders/manifest/ManifestV3.js.map +1 -1
- package/dist/cli/builders/manifest/utils/data-collection-permissions.d.ts +15 -0
- package/dist/cli/builders/manifest/utils/data-collection-permissions.js +26 -0
- package/dist/cli/builders/manifest/utils/data-collection-permissions.js.map +1 -0
- package/dist/cli/builders/manifest/utils/host-patterns.d.ts +1 -0
- package/dist/cli/builders/manifest/utils/host-patterns.js +40 -0
- package/dist/cli/builders/manifest/utils/host-patterns.js.map +1 -0
- package/dist/cli/builders/manifest/utils/index.d.ts +4 -0
- package/dist/cli/builders/manifest/utils/index.js +19 -0
- package/dist/cli/builders/manifest/utils/index.js.map +1 -0
- package/dist/cli/builders/manifest/utils/permissions.d.ts +14 -0
- package/dist/cli/builders/manifest/utils/permissions.js +34 -0
- package/dist/cli/builders/manifest/utils/permissions.js.map +1 -0
- package/dist/cli/builders/manifest/utils/web-accessible-resources.d.ts +2 -0
- package/dist/cli/builders/manifest/utils/web-accessible-resources.js +92 -0
- package/dist/cli/builders/manifest/utils/web-accessible-resources.js.map +1 -0
- package/dist/cli/bundler/index.d.ts +1 -0
- package/dist/cli/bundler/index.js +1 -0
- package/dist/cli/bundler/index.js.map +1 -1
- package/dist/cli/bundler/layers.d.ts +5 -0
- package/dist/cli/bundler/layers.js +12 -0
- package/dist/cli/bundler/layers.js.map +1 -0
- package/dist/cli/bundler/plugins/build-assets-map/BuildAssetsMapPlugin.d.ts +14 -0
- package/dist/cli/bundler/plugins/build-assets-map/BuildAssetsMapPlugin.js +524 -0
- package/dist/cli/bundler/plugins/build-assets-map/BuildAssetsMapPlugin.js.map +1 -0
- package/dist/cli/bundler/plugins/build-assets-map/index.d.ts +2 -0
- package/dist/cli/bundler/plugins/build-assets-map/index.js +5 -0
- package/dist/cli/bundler/plugins/build-assets-map/index.js.map +1 -0
- package/dist/cli/bundler/plugins/build-assets-map/usage.d.ts +9 -0
- package/dist/cli/bundler/plugins/build-assets-map/usage.js +31 -0
- package/dist/cli/bundler/plugins/build-assets-map/usage.js.map +1 -0
- package/dist/cli/bundler/plugins/chunk-loader/ChunkLoaderPlugin.d.ts +9 -0
- package/dist/cli/bundler/plugins/chunk-loader/ChunkLoaderPlugin.js +43 -0
- package/dist/cli/bundler/plugins/chunk-loader/ChunkLoaderPlugin.js.map +1 -0
- package/dist/cli/bundler/plugins/chunk-loader/index.d.ts +1 -0
- package/dist/cli/bundler/plugins/chunk-loader/index.js +5 -0
- package/dist/cli/bundler/plugins/chunk-loader/index.js.map +1 -0
- package/dist/cli/bundler/plugins/chunk-loader/templates/runtime.template.d.ts +2 -0
- package/dist/cli/bundler/plugins/chunk-loader/templates.d.ts +7 -0
- package/dist/cli/bundler/plugins/chunk-loader/templates.js +30 -0
- package/dist/cli/bundler/plugins/{EntrypointPlugin.d.ts → entrypoint/EntrypointPlugin.d.ts} +7 -2
- package/dist/cli/bundler/plugins/{EntrypointPlugin.js → entrypoint/EntrypointPlugin.js} +46 -26
- package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js.map +1 -0
- package/dist/cli/bundler/plugins/entrypoint/index.d.ts +1 -0
- package/dist/cli/bundler/plugins/entrypoint/index.js +7 -0
- package/dist/cli/bundler/plugins/entrypoint/index.js.map +1 -0
- package/dist/cli/bundler/plugins/{GenerateJsonPlugin.d.ts → generate-json/GenerateJsonPlugin.d.ts} +1 -0
- package/dist/cli/bundler/plugins/generate-json/GenerateJsonPlugin.js +73 -0
- package/dist/cli/bundler/plugins/generate-json/GenerateJsonPlugin.js.map +1 -0
- package/dist/cli/bundler/plugins/generate-json/index.d.ts +1 -0
- package/dist/cli/bundler/plugins/generate-json/index.js +5 -0
- package/dist/cli/bundler/plugins/generate-json/index.js.map +1 -0
- package/dist/cli/bundler/plugins/generate-module/GenerateModulePlugin.d.ts +23 -0
- package/dist/cli/bundler/plugins/generate-module/GenerateModulePlugin.js +88 -0
- package/dist/cli/bundler/plugins/generate-module/GenerateModulePlugin.js.map +1 -0
- package/dist/cli/bundler/plugins/generate-module/index.d.ts +1 -0
- package/dist/cli/bundler/plugins/generate-module/index.js +7 -0
- package/dist/cli/bundler/plugins/generate-module/index.js.map +1 -0
- package/dist/cli/bundler/plugins/index.d.ts +11 -5
- package/dist/cli/bundler/plugins/index.js +28 -10
- package/dist/cli/bundler/plugins/index.js.map +1 -1
- package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.d.ts +21 -0
- package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.js +174 -0
- package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.js.map +1 -0
- package/dist/cli/bundler/plugins/isolated-styles/chunks.d.ts +3 -0
- package/dist/cli/bundler/plugins/isolated-styles/chunks.js +32 -0
- package/dist/cli/bundler/plugins/isolated-styles/chunks.js.map +1 -0
- package/dist/cli/bundler/plugins/isolated-styles/index.d.ts +1 -0
- package/dist/cli/bundler/plugins/isolated-styles/index.js +5 -0
- package/dist/cli/bundler/plugins/isolated-styles/index.js.map +1 -0
- package/dist/cli/bundler/plugins/isolated-styles/templates/css-loader.template.d.ts +1 -0
- package/dist/cli/bundler/plugins/isolated-styles/templates/runtime.template.d.ts +7 -0
- package/dist/cli/bundler/plugins/isolated-styles/templates.d.ts +18 -0
- package/dist/cli/bundler/plugins/isolated-styles/templates.js +174 -0
- package/dist/cli/bundler/plugins/manifest/ManifestPlugin.d.ts +10 -0
- package/dist/cli/bundler/plugins/manifest/ManifestPlugin.js +54 -0
- package/dist/cli/bundler/plugins/manifest/ManifestPlugin.js.map +1 -0
- package/dist/cli/bundler/plugins/manifest/index.d.ts +1 -0
- package/dist/cli/bundler/plugins/manifest/index.js +6 -0
- package/dist/cli/bundler/plugins/manifest/index.js.map +1 -0
- package/dist/cli/bundler/plugins/replace/ReplacePlugin.js.map +1 -0
- package/dist/cli/bundler/plugins/replace/index.d.ts +1 -0
- package/dist/cli/bundler/plugins/replace/index.js +5 -0
- package/dist/cli/bundler/plugins/replace/index.js.map +1 -0
- package/dist/cli/bundler/plugins/resource-access/ResourceAccessPlugin.d.ts +19 -0
- package/dist/cli/bundler/plugins/resource-access/ResourceAccessPlugin.js +20 -0
- package/dist/cli/bundler/plugins/resource-access/ResourceAccessPlugin.js.map +1 -0
- package/dist/cli/bundler/plugins/resource-access/index.d.ts +1 -0
- package/dist/cli/bundler/plugins/resource-access/index.js +5 -0
- package/dist/cli/bundler/plugins/resource-access/index.js.map +1 -0
- package/dist/cli/bundler/plugins/resource-access/utils.d.ts +8 -0
- package/dist/cli/bundler/plugins/resource-access/utils.js +42 -0
- package/dist/cli/bundler/plugins/resource-access/utils.js.map +1 -0
- package/dist/cli/bundler/plugins/types.d.ts +8 -0
- package/dist/cli/bundler/plugins/types.js +1 -0
- package/dist/cli/bundler/plugins/types.js.map +1 -0
- package/dist/cli/bundler/plugins/utils/compilation-assets.d.ts +4 -0
- package/dist/cli/bundler/plugins/utils/compilation-assets.js +12 -0
- package/dist/cli/bundler/plugins/utils/compilation-assets.js.map +1 -0
- package/dist/cli/bundler/plugins/utils/index.d.ts +5 -0
- package/dist/cli/bundler/plugins/utils/index.js +14 -0
- package/dist/cli/bundler/plugins/utils/index.js.map +1 -0
- package/dist/cli/bundler/plugins/utils/manifest-hooks.d.ts +13 -0
- package/dist/cli/bundler/plugins/utils/manifest-hooks.js +17 -0
- package/dist/cli/bundler/plugins/utils/manifest-hooks.js.map +1 -0
- package/dist/cli/bundler/plugins/utils/runtime-module.d.ts +3 -0
- package/dist/cli/bundler/plugins/utils/runtime-module.js +11 -0
- package/dist/cli/bundler/plugins/utils/runtime-module.js.map +1 -0
- package/dist/cli/bundler/plugins/utils/runtime-template.d.ts +1 -0
- package/dist/cli/bundler/plugins/utils/runtime-template.js +18 -0
- package/dist/cli/bundler/plugins/utils/runtime-template.js.map +1 -0
- package/dist/cli/bundler/plugins/utils/watch-compilation.d.ts +3 -0
- package/dist/cli/bundler/plugins/utils/watch-compilation.js +18 -0
- package/dist/cli/bundler/plugins/utils/watch-compilation.js.map +1 -0
- package/dist/cli/bundler/plugins/watch/WatchPlugin.js +16 -0
- package/dist/cli/bundler/plugins/watch/WatchPlugin.js.map +1 -0
- package/dist/cli/bundler/plugins/watch/index.d.ts +1 -0
- package/dist/cli/bundler/plugins/watch/index.js +5 -0
- package/dist/cli/bundler/plugins/watch/index.js.map +1 -0
- package/dist/cli/bundler/utils/app-filename.d.ts +2 -0
- package/dist/cli/bundler/utils/app-filename.js +19 -0
- package/dist/cli/bundler/utils/app-filename.js.map +1 -0
- package/dist/cli/bundler/utils/assets.d.ts +3 -0
- package/dist/cli/bundler/utils/assets.js +162 -0
- package/dist/cli/bundler/utils/assets.js.map +1 -0
- package/dist/cli/bundler/utils/chunk-filename.d.ts +6 -0
- package/dist/cli/bundler/utils/chunk-filename.js +93 -0
- package/dist/cli/bundler/utils/chunk-filename.js.map +1 -0
- package/dist/cli/bundler/utils/index.d.ts +2 -1
- package/dist/cli/bundler/utils/index.js +2 -1
- package/dist/cli/bundler/utils/index.js.map +1 -1
- package/dist/cli/entrypoint/file/ExpressionFile.d.ts +4 -1
- package/dist/cli/entrypoint/file/ExpressionFile.js +11 -0
- package/dist/cli/entrypoint/file/ExpressionFile.js.map +1 -1
- package/dist/cli/entrypoint/file/OptionFile.d.ts +4 -2
- package/dist/cli/entrypoint/file/OptionFile.js +35 -31
- package/dist/cli/entrypoint/file/OptionFile.js.map +1 -1
- package/dist/cli/entrypoint/file/SourceFile.d.ts +18 -7
- package/dist/cli/entrypoint/file/SourceFile.js +260 -156
- package/dist/cli/entrypoint/file/SourceFile.js.map +1 -1
- package/dist/cli/entrypoint/file/index.d.ts +2 -0
- package/dist/cli/entrypoint/file/index.js +2 -0
- package/dist/cli/entrypoint/file/index.js.map +1 -1
- package/dist/cli/entrypoint/file/injectors/core.js +22 -1
- package/dist/cli/entrypoint/file/injectors/core.js.map +1 -1
- package/dist/cli/entrypoint/file/parsers/ExportParser.d.ts +14 -0
- package/dist/cli/entrypoint/file/parsers/ExportParser.js +71 -0
- package/dist/cli/entrypoint/file/parsers/ExportParser.js.map +1 -0
- package/dist/cli/entrypoint/file/parsers/NodeFinder.d.ts +2 -0
- package/dist/cli/entrypoint/file/parsers/NodeFinder.js +9 -0
- package/dist/cli/entrypoint/file/parsers/NodeFinder.js.map +1 -1
- package/dist/cli/entrypoint/file/parsers/ObjectParser.js +5 -1
- package/dist/cli/entrypoint/file/parsers/ObjectParser.js.map +1 -1
- package/dist/cli/entrypoint/file/parsers/index.d.ts +1 -0
- package/dist/cli/entrypoint/file/parsers/index.js +2 -0
- package/dist/cli/entrypoint/file/parsers/index.js.map +1 -1
- package/dist/cli/entrypoint/file/parsers/types.d.ts +16 -0
- package/dist/cli/entrypoint/file/parsers/types.js +13 -0
- package/dist/cli/entrypoint/file/parsers/types.js.map +1 -1
- package/dist/cli/entrypoint/file/resolvers/ImportResolver.d.ts +1 -0
- package/dist/cli/entrypoint/file/resolvers/ImportResolver.js +3 -0
- package/dist/cli/entrypoint/file/resolvers/ImportResolver.js.map +1 -1
- package/dist/cli/entrypoint/file/types.d.ts +26 -1
- package/dist/cli/entrypoint/finder/AbstractEntrypointFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/ContentFinder.d.ts +1 -1
- package/dist/cli/entrypoint/parser/AbstractParser.d.ts +3 -2
- package/dist/cli/entrypoint/parser/AbstractParser.js +6 -3
- package/dist/cli/entrypoint/parser/AbstractParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/CommandParser.js +1 -1
- package/dist/cli/entrypoint/parser/CommandParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/ContentParser.d.ts +7 -3
- package/dist/cli/entrypoint/parser/ContentParser.js +42 -6
- package/dist/cli/entrypoint/parser/ContentParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/RelayParser.d.ts +21 -2
- package/dist/cli/entrypoint/parser/RelayParser.js +5 -1
- package/dist/cli/entrypoint/parser/RelayParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/utils/content/default-render.d.ts +3 -0
- package/dist/cli/entrypoint/parser/utils/content/default-render.js +21 -0
- package/dist/cli/entrypoint/parser/utils/content/default-render.js.map +1 -0
- package/dist/cli/plugins/asset.js +9 -4
- package/dist/cli/plugins/asset.js.map +1 -1
- package/dist/cli/plugins/background/index.js +1 -1
- package/dist/cli/plugins/background/index.js.map +1 -1
- package/dist/cli/plugins/content/Content.d.ts +2 -2
- package/dist/cli/plugins/content/Content.js +3 -2
- package/dist/cli/plugins/content/Content.js.map +1 -1
- package/dist/cli/plugins/content/ContentDriver.d.ts +1 -1
- package/dist/cli/plugins/content/ContentManager.d.ts +8 -5
- package/dist/cli/plugins/content/ContentManager.js +79 -28
- package/dist/cli/plugins/content/ContentManager.js.map +1 -1
- package/dist/cli/plugins/content/ContentName.d.ts +2 -2
- package/dist/cli/plugins/content/ContentName.js +8 -7
- package/dist/cli/plugins/content/ContentName.js.map +1 -1
- package/dist/cli/plugins/content/Relay.d.ts +2 -2
- package/dist/cli/plugins/content/Relay.js +3 -2
- package/dist/cli/plugins/content/Relay.js.map +1 -1
- package/dist/cli/plugins/content/RelayDriver.d.ts +1 -1
- package/dist/cli/plugins/content/RelayDriver.js +1 -1
- package/dist/cli/plugins/content/bundler.d.ts +7 -0
- package/dist/cli/plugins/content/bundler.js +47 -0
- package/dist/cli/plugins/content/bundler.js.map +1 -0
- package/dist/cli/plugins/content/index.js +121 -62
- package/dist/cli/plugins/content/index.js.map +1 -1
- package/dist/cli/plugins/content/relay-module.d.ts +3 -0
- package/dist/cli/plugins/content/relay-module.js +11 -0
- package/dist/cli/plugins/content/relay-module.js.map +1 -0
- package/dist/cli/plugins/content/types.d.ts +2 -2
- package/dist/cli/plugins/content/utils.d.ts +3 -1
- package/dist/cli/plugins/content/utils.js +8 -1
- package/dist/cli/plugins/content/utils.js.map +1 -1
- package/dist/cli/plugins/icon/declaration/IconDeclaration.d.ts +1 -1
- package/dist/cli/plugins/icon/declaration/IconDeclaration.js +6 -6
- package/dist/cli/plugins/icon/declaration/IconDeclaration.js.map +1 -1
- package/dist/cli/plugins/icon/declaration/icon.d.ts +3 -5
- package/dist/cli/plugins/icon/icon-module.d.ts +2 -0
- package/dist/cli/plugins/icon/icon-module.js +11 -0
- package/dist/cli/plugins/icon/icon-module.js.map +1 -0
- package/dist/cli/plugins/icon/index.js +5 -3
- package/dist/cli/plugins/icon/index.js.map +1 -1
- package/dist/cli/plugins/index.d.ts +1 -1
- package/dist/cli/plugins/index.js +1 -1
- package/dist/cli/plugins/locale/Locale.d.ts +9 -2
- package/dist/cli/plugins/locale/Locale.js +37 -5
- package/dist/cli/plugins/locale/Locale.js.map +1 -1
- package/dist/cli/plugins/locale/declaration/locale.d.ts +1 -1
- package/dist/cli/plugins/locale/index.js +57 -22
- package/dist/cli/plugins/locale/index.js.map +1 -1
- package/dist/cli/plugins/locale/locale-module.d.ts +4 -0
- package/dist/cli/plugins/locale/locale-module.js +16 -0
- package/dist/cli/plugins/locale/locale-module.js.map +1 -0
- package/dist/cli/plugins/offscreen/Offscreen.d.ts +2 -3
- package/dist/cli/plugins/offscreen/Offscreen.js.map +1 -1
- package/dist/cli/plugins/offscreen/index.js +5 -4
- package/dist/cli/plugins/offscreen/index.js.map +1 -1
- package/dist/cli/plugins/offscreen/offscreen-module.d.ts +3 -0
- package/dist/cli/plugins/offscreen/offscreen-module.js +11 -0
- package/dist/cli/plugins/offscreen/offscreen-module.js.map +1 -0
- package/dist/cli/plugins/output/index.d.ts +2 -0
- package/dist/cli/plugins/output/index.js +60 -0
- package/dist/cli/plugins/output/index.js.map +1 -0
- package/dist/cli/plugins/output/runtime.d.ts +26 -0
- package/dist/cli/plugins/output/runtime.js +19 -0
- package/dist/cli/plugins/output/runtime.js.map +1 -0
- package/dist/cli/plugins/page/declaration/PageDeclaration.js +4 -4
- package/dist/cli/plugins/page/declaration/PageDeclaration.js.map +1 -1
- package/dist/cli/plugins/page/declaration/page.d.ts +3 -3
- package/dist/cli/plugins/page/index.js +14 -10
- package/dist/cli/plugins/page/index.js.map +1 -1
- package/dist/cli/plugins/page/page-module.d.ts +2 -0
- package/dist/cli/plugins/page/page-module.js +11 -0
- package/dist/cli/plugins/page/page-module.js.map +1 -0
- package/dist/cli/plugins/popup/Popup.d.ts +1 -1
- package/dist/cli/plugins/popup/Popup.js +2 -2
- package/dist/cli/plugins/popup/Popup.js.map +1 -1
- package/dist/cli/plugins/popup/declaration/PopupDeclaration.d.ts +1 -1
- package/dist/cli/plugins/popup/declaration/PopupDeclaration.js +6 -6
- package/dist/cli/plugins/popup/declaration/PopupDeclaration.js.map +1 -1
- package/dist/cli/plugins/popup/declaration/popup.d.ts +3 -3
- package/dist/cli/plugins/popup/index.js +6 -5
- package/dist/cli/plugins/popup/index.js.map +1 -1
- package/dist/cli/plugins/popup/popup-module.d.ts +3 -0
- package/dist/cli/plugins/popup/popup-module.js +11 -0
- package/dist/cli/plugins/popup/popup-module.js.map +1 -0
- package/dist/cli/plugins/sandbox/Sandbox.d.ts +1 -2
- package/dist/cli/plugins/sandbox/Sandbox.js.map +1 -1
- package/dist/cli/plugins/sandbox/index.js +5 -4
- package/dist/cli/plugins/sandbox/index.js.map +1 -1
- package/dist/cli/plugins/sandbox/sandbox-module.d.ts +3 -0
- package/dist/cli/plugins/sandbox/sandbox-module.js +11 -0
- package/dist/cli/plugins/sandbox/sandbox-module.js.map +1 -0
- package/dist/cli/plugins/sidebar/Sidebar.d.ts +1 -1
- package/dist/cli/plugins/sidebar/Sidebar.js +2 -2
- package/dist/cli/plugins/sidebar/Sidebar.js.map +1 -1
- package/dist/cli/plugins/sidebar/declaration/SidebarDeclaration.d.ts +1 -1
- package/dist/cli/plugins/sidebar/declaration/SidebarDeclaration.js +6 -6
- package/dist/cli/plugins/sidebar/declaration/SidebarDeclaration.js.map +1 -1
- package/dist/cli/plugins/sidebar/declaration/sidebar.d.ts +3 -3
- package/dist/cli/plugins/sidebar/index.js +6 -5
- package/dist/cli/plugins/sidebar/index.js.map +1 -1
- package/dist/cli/plugins/sidebar/sidebar-module.d.ts +3 -0
- package/dist/cli/plugins/sidebar/sidebar-module.js +11 -0
- package/dist/cli/plugins/sidebar/sidebar-module.js.map +1 -0
- package/dist/cli/plugins/style/index.d.ts +2 -1
- package/dist/cli/plugins/style/index.js +52 -25
- package/dist/cli/plugins/style/index.js.map +1 -1
- package/dist/cli/plugins/style/types.d.ts +5 -0
- package/dist/cli/plugins/style/types.js +1 -0
- package/dist/cli/plugins/style/types.js.map +1 -0
- package/dist/cli/raw.d.ts +4 -0
- package/dist/cli/resolvers/bundler.js +9 -7
- package/dist/cli/resolvers/bundler.js.map +1 -1
- package/dist/cli/resolvers/config.js +2 -1
- package/dist/cli/resolvers/config.js.map +1 -1
- package/dist/cli/virtual/index.d.ts +2 -2
- package/dist/cli/virtual/index.js +11 -8
- package/dist/cli/virtual/virtual.d.ts +14 -11
- package/dist/content/index.d.ts +3 -0
- package/dist/content/index.js +8 -0
- package/dist/content/index.js.map +1 -0
- package/dist/entry/content/adapters/react/Builder.d.ts +5 -6
- package/dist/entry/content/adapters/react/Builder.js +8 -21
- package/dist/entry/content/adapters/react/Builder.js.map +1 -1
- package/dist/entry/content/adapters/react/Node.d.ts +6 -12
- package/dist/entry/content/adapters/react/Node.js +9 -25
- package/dist/entry/content/adapters/react/Node.js.map +1 -1
- package/dist/entry/content/adapters/react/index.d.ts +2 -1
- package/dist/entry/content/adapters/react/index.js +3 -1
- package/dist/entry/content/adapters/react/index.js.map +1 -1
- package/dist/entry/content/adapters/react/resolvers/definition.d.ts +2 -0
- package/dist/entry/content/adapters/react/resolvers/definition.js +12 -0
- package/dist/entry/content/adapters/react/resolvers/definition.js.map +1 -0
- package/dist/entry/content/adapters/react/resolvers/render.d.ts +2 -2
- package/dist/entry/content/adapters/react/resolvers/render.js +4 -6
- package/dist/entry/content/adapters/react/resolvers/render.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/Builder.d.ts +5 -5
- package/dist/entry/content/adapters/vanilla/Builder.js +9 -15
- package/dist/entry/content/adapters/vanilla/Builder.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/Node.d.ts +5 -10
- package/dist/entry/content/adapters/vanilla/Node.js +11 -34
- package/dist/entry/content/adapters/vanilla/Node.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/index.d.ts +2 -1
- package/dist/entry/content/adapters/vanilla/index.js +3 -1
- package/dist/entry/content/adapters/vanilla/index.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/resolvers/definition.d.ts +2 -0
- package/dist/entry/content/adapters/vanilla/resolvers/definition.js +9 -0
- package/dist/entry/content/adapters/vanilla/resolvers/definition.js.map +1 -0
- package/dist/entry/content/adapters/vanilla/resolvers/render.d.ts +3 -0
- package/dist/entry/content/adapters/vanilla/resolvers/render.js +15 -0
- package/dist/entry/content/adapters/vanilla/resolvers/render.js.map +1 -0
- package/dist/entry/content/index.d.ts +5 -1
- package/dist/entry/content/index.js +8 -1
- package/dist/entry/content/index.js.map +1 -1
- package/dist/entry/content/lifecycle/Builder.d.ts +26 -0
- package/dist/entry/content/lifecycle/Builder.js +212 -0
- package/dist/entry/content/lifecycle/Builder.js.map +1 -0
- package/dist/entry/content/lifecycle/IsolationSetup.d.ts +16 -0
- package/dist/entry/content/lifecycle/IsolationSetup.js +37 -0
- package/dist/entry/content/lifecycle/IsolationSetup.js.map +1 -0
- package/dist/entry/content/lifecycle/MountBuilder.d.ts +8 -0
- package/dist/entry/content/lifecycle/MountBuilder.js +57 -0
- package/dist/entry/content/lifecycle/MountBuilder.js.map +1 -0
- package/dist/entry/content/{core → lifecycle/context}/Context.d.ts +5 -2
- package/dist/entry/content/lifecycle/context/Context.js +73 -0
- package/dist/entry/content/lifecycle/context/Context.js.map +1 -0
- package/dist/entry/content/{core → lifecycle/context}/EventEmitter.d.ts +2 -2
- package/dist/entry/content/{core → lifecycle/context}/EventEmitter.js +3 -3
- package/dist/entry/content/lifecycle/context/EventEmitter.js.map +1 -0
- package/dist/entry/content/lifecycle/context/ManagedContext.d.ts +5 -0
- package/dist/entry/content/{core → lifecycle/context}/ManagedContext.js +2 -2
- package/dist/entry/content/lifecycle/context/ManagedContext.js.map +1 -0
- package/dist/entry/content/lifecycle/context/index.d.ts +3 -0
- package/dist/entry/content/lifecycle/context/index.js +9 -0
- package/dist/entry/content/lifecycle/context/index.js.map +1 -0
- package/dist/entry/content/{core → lifecycle/markers}/AbstractMarker.d.ts +2 -2
- package/dist/entry/content/{core → lifecycle/markers}/AbstractMarker.js +3 -3
- package/dist/entry/content/lifecycle/markers/AbstractMarker.js.map +1 -0
- package/dist/entry/content/{core → lifecycle/markers}/AttributeMarker.d.ts +2 -2
- package/dist/entry/content/{core → lifecycle/markers}/AttributeMarker.js +2 -2
- package/dist/entry/content/lifecycle/markers/AttributeMarker.js.map +1 -0
- package/dist/entry/content/{core → lifecycle/markers}/WeakMarker.d.ts +2 -2
- package/dist/entry/content/{core → lifecycle/markers}/WeakMarker.js +2 -2
- package/dist/entry/content/lifecycle/markers/WeakMarker.js.map +1 -0
- package/dist/entry/content/lifecycle/markers/index.d.ts +3 -0
- package/dist/entry/content/lifecycle/markers/index.js +9 -0
- package/dist/entry/content/lifecycle/markers/index.js.map +1 -0
- package/dist/entry/content/{core → lifecycle/nodes}/EventNode.d.ts +5 -2
- package/dist/entry/content/{core → lifecycle/nodes}/EventNode.js +14 -2
- package/dist/entry/content/lifecycle/nodes/EventNode.js.map +1 -0
- package/dist/entry/content/lifecycle/nodes/FrameNode.d.ts +29 -0
- package/dist/entry/content/lifecycle/nodes/FrameNode.js +187 -0
- package/dist/entry/content/lifecycle/nodes/FrameNode.js.map +1 -0
- package/dist/entry/content/{core → lifecycle/nodes}/MarkerNode.d.ts +4 -2
- package/dist/entry/content/{core → lifecycle/nodes}/MarkerNode.js +8 -2
- package/dist/entry/content/lifecycle/nodes/MarkerNode.js.map +1 -0
- package/dist/entry/content/{core → lifecycle/nodes}/MountNode.d.ts +4 -2
- package/dist/entry/content/{core → lifecycle/nodes}/MountNode.js +8 -2
- package/dist/entry/content/lifecycle/nodes/MountNode.js.map +1 -0
- package/dist/entry/content/{core → lifecycle/nodes}/Node.d.ts +3 -2
- package/dist/entry/content/{core → lifecycle/nodes}/Node.js +5 -2
- package/dist/entry/content/lifecycle/nodes/Node.js.map +1 -0
- package/dist/entry/content/lifecycle/nodes/RenderNode.d.ts +19 -0
- package/dist/entry/content/lifecycle/nodes/RenderNode.js +75 -0
- package/dist/entry/content/lifecycle/nodes/RenderNode.js.map +1 -0
- package/dist/entry/content/lifecycle/nodes/ShadowNode.d.ts +21 -0
- package/dist/entry/content/lifecycle/nodes/ShadowNode.js +121 -0
- package/dist/entry/content/lifecycle/nodes/ShadowNode.js.map +1 -0
- package/dist/entry/content/lifecycle/nodes/index.d.ts +7 -0
- package/dist/entry/content/lifecycle/nodes/index.js +17 -0
- package/dist/entry/content/lifecycle/nodes/index.js.map +1 -0
- package/dist/entry/content/lifecycle/nodes/isolated-styles.d.ts +2 -0
- package/dist/entry/content/lifecycle/nodes/isolated-styles.js +14 -0
- package/dist/entry/content/lifecycle/nodes/isolated-styles.js.map +1 -0
- package/dist/entry/content/resolvers/anchor.d.ts +2 -0
- package/dist/entry/content/{core/resolvers → resolvers}/anchor.js +2 -2
- package/dist/entry/content/resolvers/anchor.js.map +1 -0
- package/dist/entry/content/resolvers/container.d.ts +2 -0
- package/dist/entry/content/{core/resolvers → resolvers}/container.js +2 -2
- package/dist/entry/content/resolvers/container.js.map +1 -0
- package/dist/entry/content/resolvers/definition.d.ts +5 -0
- package/dist/entry/content/resolvers/definition.js +24 -0
- package/dist/entry/content/resolvers/definition.js.map +1 -0
- package/dist/entry/content/{core/resolvers → resolvers}/index.d.ts +1 -1
- package/dist/entry/content/{core/resolvers → resolvers}/index.js +1 -1
- package/dist/entry/content/resolvers/index.js.map +1 -0
- package/dist/entry/content/resolvers/mount.d.ts +2 -0
- package/dist/entry/content/{core/resolvers → resolvers}/mount.js +3 -3
- package/dist/entry/content/resolvers/mount.js.map +1 -0
- package/dist/entry/content/resolvers/target.d.ts +3 -0
- package/dist/entry/content/resolvers/target.js +34 -0
- package/dist/entry/content/resolvers/target.js.map +1 -0
- package/dist/entry/content/resolvers/watch.d.ts +6 -0
- package/dist/entry/content/{core/resolvers → resolvers}/watch.js +15 -11
- package/dist/entry/content/resolvers/watch.js.map +1 -0
- package/dist/entry/relay/Builder.d.ts +8 -8
- package/dist/entry/relay/Builder.js +32 -19
- package/dist/entry/relay/Builder.js.map +1 -1
- package/dist/entry/relay/TransportBuilder.d.ts +3 -2
- package/dist/entry/relay/TransportBuilder.js +3 -3
- package/dist/entry/relay/TransportBuilder.js.map +1 -1
- package/dist/entry/relay/index.d.ts +5 -2
- package/dist/entry/relay/index.js +8 -2
- package/dist/entry/relay/index.js.map +1 -1
- package/dist/entry/relay/resolvers/definition.d.ts +4 -0
- package/dist/entry/relay/resolvers/definition.js +16 -0
- package/dist/entry/relay/resolvers/definition.js.map +1 -0
- package/dist/locale/adapters/react/ReactLocale.d.ts +18 -0
- package/dist/locale/adapters/react/ReactLocale.js +41 -0
- package/dist/locale/adapters/react/ReactLocale.js.map +1 -0
- package/dist/locale/adapters/react/hooks/use-locale-attributes.d.ts +7 -0
- package/dist/locale/adapters/react/hooks/use-locale-attributes.js +30 -0
- package/dist/locale/adapters/react/hooks/use-locale-attributes.js.map +1 -0
- package/dist/locale/adapters/react/hooks/use-locale.d.ts +3 -0
- package/dist/locale/adapters/react/hooks/use-locale.js +17 -0
- package/dist/locale/adapters/react/hooks/use-locale.js.map +1 -0
- package/dist/locale/adapters/react/hooks/use-native-locale.d.ts +3 -0
- package/dist/locale/adapters/react/hooks/use-native-locale.js +10 -0
- package/dist/locale/adapters/react/hooks/use-native-locale.js.map +1 -0
- package/dist/locale/adapters/react/index.d.ts +4 -2
- package/dist/locale/adapters/react/index.js +6 -4
- package/dist/locale/adapters/react/index.js.map +1 -1
- package/dist/locale/adapters/react/types.d.ts +22 -0
- package/dist/locale/adapters/react/types.js +1 -0
- package/dist/locale/adapters/react/types.js.map +1 -0
- package/dist/locale/helpers.d.ts +4 -5
- package/dist/locale/helpers.js +1 -1
- package/dist/locale/helpers.js.map +1 -1
- package/dist/locale/index.d.ts +2 -1
- package/dist/locale/index.js +1 -0
- package/dist/locale/index.js.map +1 -1
- package/dist/locale/providers/AbstractLocale.d.ts +4 -4
- package/dist/locale/providers/AbstractLocale.js +13 -94
- package/dist/locale/providers/AbstractLocale.js.map +1 -1
- package/dist/locale/providers/CustomLocale.d.ts +3 -3
- package/dist/locale/providers/CustomLocale.js +6 -5
- package/dist/locale/providers/CustomLocale.js.map +1 -1
- package/dist/locale/providers/DynamicLocale.d.ts +18 -11
- package/dist/locale/providers/DynamicLocale.js +60 -47
- package/dist/locale/providers/DynamicLocale.js.map +1 -1
- package/dist/locale/providers/NativeLocale.d.ts +4 -7
- package/dist/locale/providers/NativeLocale.js +5 -14
- package/dist/locale/providers/NativeLocale.js.map +1 -1
- package/dist/locale/providers/ObservableLocale.d.ts +35 -0
- package/dist/locale/providers/ObservableLocale.js +179 -0
- package/dist/locale/providers/ObservableLocale.js.map +1 -0
- package/dist/locale/providers/index.d.ts +2 -1
- package/dist/locale/providers/index.js +3 -1
- package/dist/locale/providers/index.js.map +1 -1
- package/dist/locale/storage/LocaleStorage.d.ts +11 -0
- package/dist/locale/storage/LocaleStorage.js +40 -0
- package/dist/locale/storage/LocaleStorage.js.map +1 -0
- package/dist/locale/storage/index.d.ts +1 -0
- package/dist/locale/storage/index.js +5 -0
- package/dist/locale/storage/index.js.map +1 -0
- package/dist/main/content.d.ts +4 -6
- package/dist/main/content.js +3 -16
- package/dist/main/content.js.map +1 -1
- package/dist/main/entrypoint.d.ts +4 -0
- package/dist/main/entrypoint.js +20 -0
- package/dist/main/entrypoint.js.map +1 -0
- package/dist/main/icon.d.ts +2 -3
- package/dist/main/icon.js +2 -1
- package/dist/main/icon.js.map +1 -1
- package/dist/main/index.d.ts +1 -0
- package/dist/main/index.js +1 -0
- package/dist/main/index.js.map +1 -1
- package/dist/main/offscreen.d.ts +2 -5
- package/dist/main/offscreen.js +5 -2
- package/dist/main/offscreen.js.map +1 -1
- package/dist/main/page.d.ts +2 -4
- package/dist/main/page.js +2 -1
- package/dist/main/page.js.map +1 -1
- package/dist/main/popup.d.ts +2 -5
- package/dist/main/popup.js +3 -3
- package/dist/main/popup.js.map +1 -1
- package/dist/main/relay.d.ts +3 -3
- package/dist/main/relay.js +2 -1
- package/dist/main/relay.js.map +1 -1
- package/dist/main/sandbox.d.ts +1 -4
- package/dist/main/sandbox.js +2 -1
- package/dist/main/sandbox.js.map +1 -1
- package/dist/main/service.d.ts +1 -2
- package/dist/main/service.js.map +1 -1
- package/dist/main/sidebar.d.ts +2 -5
- package/dist/main/sidebar.js +3 -3
- package/dist/main/sidebar.js.map +1 -1
- package/dist/message/index.d.ts +2 -4
- package/dist/message/index.js.map +1 -1
- package/dist/offscreen/index.d.ts +2 -6
- package/dist/offscreen/index.js.map +1 -1
- package/dist/relay/RelayPermission.js +1 -1
- package/dist/relay/index.d.ts +2 -5
- package/dist/relay/index.js.map +1 -1
- package/dist/sandbox/index.d.ts +1 -5
- package/dist/sandbox/index.js.map +1 -1
- package/dist/service/index.d.ts +2 -6
- package/dist/service/index.js.map +1 -1
- package/dist/shared/content/index.d.ts +1 -0
- package/dist/shared/content/index.js +6 -0
- package/dist/shared/content/index.js.map +1 -0
- package/dist/shared/content/isolation.d.ts +4 -0
- package/dist/shared/content/isolation.js +63 -0
- package/dist/shared/content/isolation.js.map +1 -0
- package/dist/shared/locale/index.d.ts +5 -0
- package/dist/shared/locale/index.js +21 -0
- package/dist/shared/locale/index.js.map +1 -0
- package/dist/shared/locale/keys.d.ts +5 -0
- package/dist/shared/locale/keys.js +33 -0
- package/dist/shared/locale/keys.js.map +1 -0
- package/dist/shared/locale/language.d.ts +4 -0
- package/dist/shared/locale/language.js +23 -0
- package/dist/shared/locale/language.js.map +1 -0
- package/dist/shared/locale/messages.d.ts +3 -0
- package/dist/shared/locale/messages.js +9 -0
- package/dist/shared/locale/messages.js.map +1 -0
- package/dist/shared/locale/plural.d.ts +2 -0
- package/dist/shared/locale/plural.js +81 -0
- package/dist/shared/locale/plural.js.map +1 -0
- package/dist/shared/locale/substitutions.d.ts +10 -0
- package/dist/shared/locale/substitutions.js +32 -0
- package/dist/shared/locale/substitutions.js.map +1 -0
- package/dist/types/background.d.ts +1 -1
- package/dist/types/background.js.map +1 -1
- package/dist/types/command.d.ts +1 -1
- package/dist/types/command.js.map +1 -1
- package/dist/types/content/adapters/index.d.ts +2 -0
- package/dist/types/content/adapters/index.js +1 -0
- package/dist/types/content/adapters/index.js.map +1 -0
- package/dist/types/content/adapters/react.d.ts +4 -0
- package/dist/types/content/adapters/react.js +1 -0
- package/dist/types/content/adapters/react.js.map +1 -0
- package/dist/types/content/adapters/vanilla.d.ts +1 -0
- package/dist/types/content/adapters/vanilla.js +1 -0
- package/dist/types/content/adapters/vanilla.js.map +1 -0
- package/dist/types/content/boundary.d.ts +17 -0
- package/dist/types/content/boundary.js +1 -0
- package/dist/types/content/boundary.js.map +1 -0
- package/dist/types/{content.d.ts → content/common.d.ts} +119 -59
- package/dist/types/{content.js → content/common.js} +23 -2
- package/dist/types/content/common.js.map +1 -0
- package/dist/types/content/definition.d.ts +61 -0
- package/dist/types/content/definition.js +1 -0
- package/dist/types/content/definition.js.map +1 -0
- package/dist/types/content/index.d.ts +7 -0
- package/dist/types/content/index.js +2 -0
- package/dist/types/content/index.js.map +1 -0
- package/dist/types/content/prepare.d.ts +9 -0
- package/dist/types/content/prepare.js +1 -0
- package/dist/types/content/prepare.js.map +1 -0
- package/dist/types/content/render.d.ts +6 -0
- package/dist/types/content/render.js +1 -0
- package/dist/types/content/render.js.map +1 -0
- package/dist/types/content/target.d.ts +13 -0
- package/dist/types/content/target.js +1 -0
- package/dist/types/content/target.js.map +1 -0
- package/dist/types/entrypoint.d.ts +20 -0
- package/dist/types/entrypoint.js +4 -0
- package/dist/types/entrypoint.js.map +1 -1
- package/dist/types/icon.d.ts +8 -0
- package/dist/types/icon.js.map +1 -1
- package/dist/types/language.d.ts +57 -0
- package/dist/types/language.js +62 -0
- package/dist/types/language.js.map +1 -0
- package/dist/types/locale.d.ts +34 -63
- package/dist/types/locale.js +62 -119
- package/dist/types/locale.js.map +1 -1
- package/dist/types/manifest.d.ts +11 -8
- package/dist/types/manifest.js.map +1 -1
- package/dist/types/message.d.ts +7 -0
- package/dist/types/message.js.map +1 -1
- package/dist/types/offscreen.d.ts +14 -1
- package/dist/types/offscreen.js.map +1 -1
- package/dist/types/page.d.ts +8 -0
- package/dist/types/popup.d.ts +9 -0
- package/dist/types/relay.d.ts +15 -7
- package/dist/types/relay.js.map +1 -1
- package/dist/types/sandbox.d.ts +12 -0
- package/dist/types/sandbox.js.map +1 -1
- package/dist/types/service.d.ts +10 -1
- package/dist/types/service.js.map +1 -1
- package/dist/types/sidebar.d.ts +9 -0
- package/dist/types/sidebar.js.map +1 -1
- package/dist/types/transport.d.ts +4 -0
- package/dist/virtual/icon.d.ts +2 -0
- package/dist/virtual/icon.js +5 -0
- package/dist/virtual/icon.js.map +1 -0
- package/dist/virtual/locale.d.ts +7 -0
- package/dist/virtual/locale.js +13 -0
- package/dist/virtual/locale.js.map +1 -0
- package/dist/virtual/modules.d.ts +41 -0
- package/dist/virtual/offscreen.d.ts +3 -0
- package/dist/virtual/offscreen.js +5 -0
- package/dist/virtual/offscreen.js.map +1 -0
- package/dist/virtual/page.d.ts +2 -0
- package/dist/virtual/page.js +5 -0
- package/dist/virtual/page.js.map +1 -0
- package/dist/virtual/popup.d.ts +3 -0
- package/dist/virtual/popup.js +5 -0
- package/dist/virtual/popup.js.map +1 -0
- package/dist/virtual/relay.d.ts +3 -0
- package/dist/virtual/relay.js +5 -0
- package/dist/virtual/relay.js.map +1 -0
- package/dist/virtual/runtime.d.ts +8 -0
- package/dist/virtual/runtime.js +9 -0
- package/dist/virtual/runtime.js.map +1 -0
- package/dist/virtual/sandbox.d.ts +3 -0
- package/dist/virtual/sandbox.js +5 -0
- package/dist/virtual/sandbox.js.map +1 -0
- package/dist/virtual/sidebar.d.ts +3 -0
- package/dist/virtual/sidebar.js +5 -0
- package/dist/virtual/sidebar.js.map +1 -0
- package/package.json +53 -23
- package/scripts/clean-dist.js +7 -0
- package/scripts/copy-dts.js +11 -1
- package/scripts/merge-coverage.mjs +12 -0
- package/scripts/pre-commit.mjs +22 -0
- package/scripts/test-inventory.mjs +38 -0
- package/scripts/test-run.mjs +25 -0
- package/types/client.d.ts +15 -0
- package/dist/cli/builders/manifest/utils.d.ts +0 -32
- package/dist/cli/builders/manifest/utils.js +0 -209
- package/dist/cli/builders/manifest/utils.js.map +0 -1
- package/dist/cli/bundler/plugins/EntrypointPlugin.js.map +0 -1
- package/dist/cli/bundler/plugins/GenerateJsonPlugin.js +0 -40
- package/dist/cli/bundler/plugins/GenerateJsonPlugin.js.map +0 -1
- package/dist/cli/bundler/plugins/ManifestPlugin.d.ts +0 -10
- package/dist/cli/bundler/plugins/ManifestPlugin.js +0 -78
- package/dist/cli/bundler/plugins/ManifestPlugin.js.map +0 -1
- package/dist/cli/bundler/plugins/ReplacePlugin.js.map +0 -1
- package/dist/cli/bundler/plugins/WatchPlugin.js +0 -21
- package/dist/cli/bundler/plugins/WatchPlugin.js.map +0 -1
- package/dist/cli/bundler/utils/output.d.ts +0 -2
- package/dist/cli/bundler/utils/output.js +0 -15
- package/dist/cli/bundler/utils/output.js.map +0 -1
- package/dist/cli/entrypoint/finder/tests/fixtures/options/discovery/account.options.d.ts +0 -1
- package/dist/cli/entrypoint/finder/tests/fixtures/options/discovery/advanced.options/index.d.ts +0 -1
- package/dist/cli/plugins/output.d.ts +0 -2
- package/dist/cli/plugins/output.js +0 -32
- package/dist/cli/plugins/output.js.map +0 -1
- package/dist/entry/content/adapters/react/resolvers/index.d.ts +0 -1
- package/dist/entry/content/adapters/react/resolvers/index.js +0 -2
- package/dist/entry/content/adapters/react/resolvers/index.js.map +0 -1
- package/dist/entry/content/core/AbstractMarker.js.map +0 -1
- package/dist/entry/content/core/AttributeMarker.js.map +0 -1
- package/dist/entry/content/core/Builder.d.ts +0 -27
- package/dist/entry/content/core/Builder.js +0 -124
- package/dist/entry/content/core/Builder.js.map +0 -1
- package/dist/entry/content/core/Context.js +0 -43
- package/dist/entry/content/core/Context.js.map +0 -1
- package/dist/entry/content/core/EventEmitter.js.map +0 -1
- package/dist/entry/content/core/EventNode.js.map +0 -1
- package/dist/entry/content/core/ManagedContext.d.ts +0 -5
- package/dist/entry/content/core/ManagedContext.js.map +0 -1
- package/dist/entry/content/core/MarkerNode.js.map +0 -1
- package/dist/entry/content/core/MountBuilder.d.ts +0 -10
- package/dist/entry/content/core/MountBuilder.js +0 -40
- package/dist/entry/content/core/MountBuilder.js.map +0 -1
- package/dist/entry/content/core/MountNode.js.map +0 -1
- package/dist/entry/content/core/Node.js.map +0 -1
- package/dist/entry/content/core/WeakMarker.js.map +0 -1
- package/dist/entry/content/core/resolvers/anchor.d.ts +0 -2
- package/dist/entry/content/core/resolvers/anchor.js.map +0 -1
- package/dist/entry/content/core/resolvers/container.d.ts +0 -2
- package/dist/entry/content/core/resolvers/container.js.map +0 -1
- package/dist/entry/content/core/resolvers/definition.d.ts +0 -3
- package/dist/entry/content/core/resolvers/definition.js +0 -12
- package/dist/entry/content/core/resolvers/definition.js.map +0 -1
- package/dist/entry/content/core/resolvers/index.js.map +0 -1
- package/dist/entry/content/core/resolvers/mount.d.ts +0 -2
- package/dist/entry/content/core/resolvers/mount.js.map +0 -1
- package/dist/entry/content/core/resolvers/render.d.ts +0 -3
- package/dist/entry/content/core/resolvers/render.js +0 -18
- package/dist/entry/content/core/resolvers/render.js.map +0 -1
- package/dist/entry/content/core/resolvers/watch.d.ts +0 -4
- package/dist/entry/content/core/resolvers/watch.js.map +0 -1
- package/dist/locale/adapters/react/LocaleProvider.d.ts +0 -7
- package/dist/locale/adapters/react/LocaleProvider.js +0 -58
- package/dist/locale/adapters/react/LocaleProvider.js.map +0 -1
- package/dist/locale/adapters/react/context.d.ts +0 -14
- package/dist/locale/adapters/react/context.js +0 -25
- package/dist/locale/adapters/react/context.js.map +0 -1
- package/dist/locale/utils.d.ts +0 -11
- package/dist/locale/utils.js +0 -67
- package/dist/locale/utils.js.map +0 -1
- package/dist/types/content.js.map +0 -1
- /package/dist/cli/bundler/plugins/{ReplacePlugin.d.ts → replace/ReplacePlugin.d.ts} +0 -0
- /package/dist/cli/bundler/plugins/{ReplacePlugin.js → replace/ReplacePlugin.js} +0 -0
- /package/dist/cli/bundler/plugins/{WatchPlugin.d.ts → watch/WatchPlugin.d.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import AbstractMarker from "./AbstractMarker.js";
|
|
2
|
-
import { ContentScriptAnchor, ContentScriptMarkerValue } from "
|
|
3
|
-
export default class extends AbstractMarker {
|
|
2
|
+
import { ContentScriptAnchor, ContentScriptMarkerValue } from "../../../../types/content/index.js";
|
|
3
|
+
export default class WeakMarker extends AbstractMarker {
|
|
4
4
|
private readonly map;
|
|
5
5
|
constructor(anchor?: ContentScriptAnchor);
|
|
6
6
|
mark(element: Element, value: ContentScriptMarkerValue): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import AbstractMarker from "./AbstractMarker.js";
|
|
2
|
-
class
|
|
2
|
+
class WeakMarker extends AbstractMarker {
|
|
3
3
|
map = /* @__PURE__ */ new WeakMap();
|
|
4
4
|
constructor(anchor) {
|
|
5
5
|
super(anchor);
|
|
@@ -27,6 +27,6 @@ class WeakMarker_default extends AbstractMarker {
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
export {
|
|
30
|
-
|
|
30
|
+
WeakMarker as default
|
|
31
31
|
};
|
|
32
32
|
//# sourceMappingURL=WeakMarker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/entry/content/lifecycle/markers/WeakMarker.ts"],"sourcesContent":["import AbstractMarker from \"./AbstractMarker\";\n\nimport {ContentScriptAnchor, ContentScriptMarkerValue} from \"@typing/content\";\n\nexport default class WeakMarker extends AbstractMarker {\n private readonly map: WeakMap<Element, ContentScriptMarkerValue> = new WeakMap();\n\n constructor(anchor?: ContentScriptAnchor) {\n super(anchor);\n }\n\n public mark(element: Element, value: ContentScriptMarkerValue): boolean {\n this.map.set(element, value);\n\n return true;\n }\n\n public unmark(element: Element): boolean {\n if (this.map.has(element)) {\n this.map.delete(element);\n\n return true;\n }\n\n return false;\n }\n\n public value(element: Element): ContentScriptMarkerValue | undefined {\n return this.map.get(element);\n }\n\n public isMarked(element: Element): boolean {\n return this.map.has(element);\n }\n\n protected queryAnchor(anchor: string, marked: boolean = false): Element[] {\n const elements = super.queryAnchor(anchor, marked);\n\n return elements.filter(element => this.isMarked(element) === marked);\n }\n}\n"],"mappings":"AAAA,OAAO,oBAAoB;AAI3B,MAAO,mBAAiC,eAAe;AAAA,EAClC,MAAkD,oBAAI,QAAQ;AAAA,EAE/E,YAAY,QAA8B;AACtC,UAAM,MAAM;AAAA,EAChB;AAAA,EAEO,KAAK,SAAkB,OAA0C;AACpE,SAAK,IAAI,IAAI,SAAS,KAAK;AAE3B,WAAO;AAAA,EACX;AAAA,EAEO,OAAO,SAA2B;AACrC,QAAI,KAAK,IAAI,IAAI,OAAO,GAAG;AACvB,WAAK,IAAI,OAAO,OAAO;AAEvB,aAAO;AAAA,IACX;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,MAAM,SAAwD;AACjE,WAAO,KAAK,IAAI,IAAI,OAAO;AAAA,EAC/B;AAAA,EAEO,SAAS,SAA2B;AACvC,WAAO,KAAK,IAAI,IAAI,OAAO;AAAA,EAC/B;AAAA,EAEU,YAAY,QAAgB,SAAkB,OAAkB;AACtE,UAAM,WAAW,MAAM,YAAY,QAAQ,MAAM;AAEjD,WAAO,SAAS,OAAO,aAAW,KAAK,SAAS,OAAO,MAAM,MAAM;AAAA,EACvE;AACJ;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { default as default2 } from "./AbstractMarker.js";
|
|
2
|
+
import { default as default3 } from "./AttributeMarker.js";
|
|
3
|
+
import { default as default4 } from "./WeakMarker.js";
|
|
4
|
+
export {
|
|
5
|
+
default2 as AbstractMarker,
|
|
6
|
+
default3 as AttributeMarker,
|
|
7
|
+
default4 as WeakMarker
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/entry/content/lifecycle/markers/index.ts"],"sourcesContent":["export {default as AbstractMarker} from \"./AbstractMarker\";\nexport {default as AttributeMarker} from \"./AttributeMarker\";\nexport {default as WeakMarker} from \"./WeakMarker\";\n"],"mappings":"AAAA,SAAmB,WAAXA,gBAAgC;AACxC,SAAmB,WAAXA,gBAAiC;AACzC,SAAmB,WAAXA,gBAA4B;","names":["default"]}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import { ContentScriptEventEmitter, ContentScriptNode } from "
|
|
2
|
-
export default class implements ContentScriptNode {
|
|
1
|
+
import { ContentScriptBoundary, ContentScriptEventEmitter, ContentScriptNode } from "../../../../types/content/index.js";
|
|
2
|
+
export default class EventNode implements ContentScriptNode {
|
|
3
3
|
protected readonly node: ContentScriptNode;
|
|
4
4
|
protected readonly emitter: ContentScriptEventEmitter;
|
|
5
|
+
private generation;
|
|
5
6
|
constructor(node: ContentScriptNode, emitter: ContentScriptEventEmitter);
|
|
6
7
|
get anchor(): Element;
|
|
7
8
|
get container(): Element | undefined;
|
|
9
|
+
get target(): Element | undefined;
|
|
10
|
+
get boundary(): ContentScriptBoundary;
|
|
8
11
|
mount(): boolean;
|
|
9
12
|
unmount(): boolean;
|
|
10
13
|
}
|
|
@@ -1,24 +1,36 @@
|
|
|
1
|
-
class
|
|
1
|
+
class EventNode {
|
|
2
2
|
constructor(node, emitter) {
|
|
3
3
|
this.node = node;
|
|
4
4
|
this.emitter = emitter;
|
|
5
5
|
}
|
|
6
6
|
node;
|
|
7
7
|
emitter;
|
|
8
|
+
generation = 0;
|
|
8
9
|
get anchor() {
|
|
9
10
|
return this.node.anchor;
|
|
10
11
|
}
|
|
11
12
|
get container() {
|
|
12
13
|
return this.node.container;
|
|
13
14
|
}
|
|
15
|
+
get target() {
|
|
16
|
+
return this.node.target;
|
|
17
|
+
}
|
|
18
|
+
get boundary() {
|
|
19
|
+
return this.node.boundary;
|
|
20
|
+
}
|
|
14
21
|
mount() {
|
|
22
|
+
const generation = this.generation;
|
|
15
23
|
const result = this.node.mount();
|
|
24
|
+
if (generation !== this.generation) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
16
27
|
if (result === true) {
|
|
17
28
|
this.emitter.emitMount(this.node);
|
|
18
29
|
}
|
|
19
30
|
return !!result;
|
|
20
31
|
}
|
|
21
32
|
unmount() {
|
|
33
|
+
this.generation++;
|
|
22
34
|
const result = this.node.unmount();
|
|
23
35
|
if (result === true) {
|
|
24
36
|
this.emitter.emitUnmount(this.node);
|
|
@@ -27,6 +39,6 @@ class EventNode_default {
|
|
|
27
39
|
}
|
|
28
40
|
}
|
|
29
41
|
export {
|
|
30
|
-
|
|
42
|
+
EventNode as default
|
|
31
43
|
};
|
|
32
44
|
//# sourceMappingURL=EventNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/entry/content/lifecycle/nodes/EventNode.ts"],"sourcesContent":["import {ContentScriptBoundary, ContentScriptEventEmitter, ContentScriptNode} from \"@typing/content\";\n\nexport default class EventNode implements ContentScriptNode {\n private generation = 0;\n\n constructor(\n protected readonly node: ContentScriptNode,\n protected readonly emitter: ContentScriptEventEmitter\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.node.target;\n }\n\n public get boundary(): ContentScriptBoundary {\n return this.node.boundary;\n }\n\n public mount(): boolean {\n const generation = this.generation;\n const result = this.node.mount();\n\n if (generation !== this.generation) {\n return false;\n }\n\n if (result === true) {\n this.emitter.emitMount(this.node);\n }\n\n return !!result;\n }\n\n public unmount(): boolean {\n this.generation++;\n\n const result = this.node.unmount();\n\n if (result === true) {\n this.emitter.emitUnmount(this.node);\n }\n\n return !!result;\n }\n}\n"],"mappings":"AAEA,MAAO,UAAqD;AAAA,EAGxD,YACuB,MACA,SACrB;AAFqB;AACA;AAAA,EACpB;AAAA,EAFoB;AAAA,EACA;AAAA,EAJf,aAAa;AAAA,EAOrB,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,KAAK;AAAA,EACrB;AAAA,EAEA,IAAW,WAAkC;AACzC,WAAO,KAAK,KAAK;AAAA,EACrB;AAAA,EAEO,QAAiB;AACpB,UAAM,aAAa,KAAK;AACxB,UAAM,SAAS,KAAK,KAAK,MAAM;AAE/B,QAAI,eAAe,KAAK,YAAY;AAChC,aAAO;AAAA,IACX;AAEA,QAAI,WAAW,MAAM;AACjB,WAAK,QAAQ,UAAU,KAAK,IAAI;AAAA,IACpC;AAEA,WAAO,CAAC,CAAC;AAAA,EACb;AAAA,EAEO,UAAmB;AACtB,SAAK;AAEL,UAAM,SAAS,KAAK,KAAK,QAAQ;AAEjC,QAAI,WAAW,MAAM;AACjB,WAAK,QAAQ,YAAY,KAAK,IAAI;AAAA,IACtC;AAEA,WAAO,CAAC,CAAC;AAAA,EACb;AACJ;","names":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ContentScriptIsolationFrameOptions, ContentScriptNode } from "../../../../types/content/index.js";
|
|
2
|
+
import type IsolationSetup from "../IsolationSetup.js";
|
|
3
|
+
/** Owns the child document but never moves the content script's JavaScript into it. */
|
|
4
|
+
export default class FrameNode<Data = unknown> implements ContentScriptNode {
|
|
5
|
+
private readonly node;
|
|
6
|
+
private readonly options;
|
|
7
|
+
private readonly recover;
|
|
8
|
+
private readonly isolation;
|
|
9
|
+
private frame?;
|
|
10
|
+
private head?;
|
|
11
|
+
private _target?;
|
|
12
|
+
private runtime?;
|
|
13
|
+
private generation;
|
|
14
|
+
private queued;
|
|
15
|
+
private cleanupBoundary?;
|
|
16
|
+
private mounting;
|
|
17
|
+
private unmounting;
|
|
18
|
+
constructor(node: ContentScriptNode, options: ContentScriptIsolationFrameOptions | undefined, recover: () => void, isolation: IsolationSetup<Data, "iframe">);
|
|
19
|
+
get anchor(): Element;
|
|
20
|
+
get container(): Element | undefined;
|
|
21
|
+
get target(): Element | undefined;
|
|
22
|
+
get boundary(): HTMLIFrameElement | undefined;
|
|
23
|
+
private readonly onLoad;
|
|
24
|
+
private intact;
|
|
25
|
+
mount(): boolean;
|
|
26
|
+
private mountNode;
|
|
27
|
+
unmount(): boolean;
|
|
28
|
+
private releaseStyles;
|
|
29
|
+
}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { getPageUrl } from "./../../../../main/page.js";
|
|
2
|
+
import { ContentScriptIsolation } from "./../../../../types/content/index.js";
|
|
3
|
+
import { getContentScriptStylesRuntime } from "./isolated-styles.js";
|
|
4
|
+
import { isContentScriptFrameNavigation } from "./../../../../shared/content/index.js";
|
|
5
|
+
class FrameNode {
|
|
6
|
+
constructor(node, options = { type: ContentScriptIsolation.Iframe }, recover, isolation) {
|
|
7
|
+
this.node = node;
|
|
8
|
+
this.options = options;
|
|
9
|
+
this.recover = recover;
|
|
10
|
+
this.isolation = isolation;
|
|
11
|
+
}
|
|
12
|
+
node;
|
|
13
|
+
options;
|
|
14
|
+
recover;
|
|
15
|
+
isolation;
|
|
16
|
+
frame;
|
|
17
|
+
head;
|
|
18
|
+
_target;
|
|
19
|
+
runtime;
|
|
20
|
+
generation = 0;
|
|
21
|
+
queued = false;
|
|
22
|
+
cleanupBoundary;
|
|
23
|
+
mounting = false;
|
|
24
|
+
unmounting = false;
|
|
25
|
+
get anchor() {
|
|
26
|
+
return this.node.anchor;
|
|
27
|
+
}
|
|
28
|
+
get container() {
|
|
29
|
+
return this.node.container;
|
|
30
|
+
}
|
|
31
|
+
get target() {
|
|
32
|
+
return this._target;
|
|
33
|
+
}
|
|
34
|
+
get boundary() {
|
|
35
|
+
return this.frame;
|
|
36
|
+
}
|
|
37
|
+
onLoad = () => {
|
|
38
|
+
if (!this.frame || this.queued || this.intact()) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
const generation = this.generation;
|
|
42
|
+
this.queued = true;
|
|
43
|
+
queueMicrotask(() => {
|
|
44
|
+
var _a;
|
|
45
|
+
if (generation !== this.generation) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
this.queued = false;
|
|
49
|
+
if (((_a = this.container) == null ? void 0 : _a.isConnected) && this.anchor.isConnected) {
|
|
50
|
+
try {
|
|
51
|
+
this.recover();
|
|
52
|
+
} catch (error) {
|
|
53
|
+
console.error("Restoring content iframe failed", error);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
intact() {
|
|
59
|
+
var _a, _b;
|
|
60
|
+
const doc = (_a = this.frame) == null ? void 0 : _a.contentDocument;
|
|
61
|
+
return !!doc && ((_b = this._target) == null ? void 0 : _b.ownerDocument) === doc && this._target.isConnected && this.head === doc.head;
|
|
62
|
+
}
|
|
63
|
+
mount() {
|
|
64
|
+
if (this.mounting || this.unmounting) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
this.mounting = true;
|
|
68
|
+
try {
|
|
69
|
+
return this.mountNode();
|
|
70
|
+
} finally {
|
|
71
|
+
this.mounting = false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
mountNode() {
|
|
75
|
+
const mounted = !!this.node.mount();
|
|
76
|
+
if (!this.container) {
|
|
77
|
+
return mounted;
|
|
78
|
+
}
|
|
79
|
+
if (!isContentScriptFrameNavigation(this.options) && !this.container.isConnected) {
|
|
80
|
+
throw new Error(
|
|
81
|
+
"Content iframe container is not connected to the document; mount must attach the container before returning"
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
let created = false;
|
|
85
|
+
if (!this.frame) {
|
|
86
|
+
const frame2 = this.container.ownerDocument.createElement("iframe");
|
|
87
|
+
this.frame = frame2;
|
|
88
|
+
const generation2 = this.generation;
|
|
89
|
+
try {
|
|
90
|
+
const cleanup = this.isolation.setup(frame2);
|
|
91
|
+
if (generation2 !== this.generation || this.frame !== frame2) {
|
|
92
|
+
cleanup == null ? void 0 : cleanup();
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
this.cleanupBoundary = cleanup || void 0;
|
|
96
|
+
if (isContentScriptFrameNavigation(this.options)) {
|
|
97
|
+
frame2.src = this.options.page !== void 0 ? getPageUrl(this.options.page) : this.options.src;
|
|
98
|
+
} else {
|
|
99
|
+
frame2.addEventListener("load", this.onLoad);
|
|
100
|
+
}
|
|
101
|
+
this.container.append(frame2);
|
|
102
|
+
if (generation2 !== this.generation || this.frame !== frame2) {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
created = true;
|
|
106
|
+
} catch (error) {
|
|
107
|
+
if (generation2 === this.generation && this.frame === frame2) {
|
|
108
|
+
this.unmount();
|
|
109
|
+
}
|
|
110
|
+
throw error;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (isContentScriptFrameNavigation(this.options) || this.intact()) {
|
|
114
|
+
return mounted || created;
|
|
115
|
+
}
|
|
116
|
+
const doc = this.frame.contentDocument;
|
|
117
|
+
if (!(doc == null ? void 0 : doc.head) || !doc.body) {
|
|
118
|
+
throw new Error(
|
|
119
|
+
"Content iframe has no accessible document; only an empty same-origin iframe can render UI"
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
const recovering = this.head !== void 0;
|
|
123
|
+
this.releaseStyles();
|
|
124
|
+
const frame = this.frame;
|
|
125
|
+
const generation = this.generation;
|
|
126
|
+
try {
|
|
127
|
+
const target = this.isolation.createTarget(frame, doc);
|
|
128
|
+
if (generation !== this.generation || this.frame !== frame || frame.contentDocument !== doc) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
doc.body.append(target);
|
|
132
|
+
this._target = target;
|
|
133
|
+
this.head = doc.head;
|
|
134
|
+
this.runtime = getContentScriptStylesRuntime();
|
|
135
|
+
this.runtime.add(doc.head, null, recovering);
|
|
136
|
+
} catch (error) {
|
|
137
|
+
if (generation === this.generation && this.frame === frame) {
|
|
138
|
+
this.unmount();
|
|
139
|
+
}
|
|
140
|
+
throw error;
|
|
141
|
+
}
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
unmount() {
|
|
145
|
+
var _a;
|
|
146
|
+
if (this.unmounting) {
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
this.unmounting = true;
|
|
150
|
+
this.generation++;
|
|
151
|
+
this.queued = false;
|
|
152
|
+
this._target = void 0;
|
|
153
|
+
const cleanup = this.cleanupBoundary;
|
|
154
|
+
this.cleanupBoundary = void 0;
|
|
155
|
+
let removed = false;
|
|
156
|
+
try {
|
|
157
|
+
try {
|
|
158
|
+
cleanup == null ? void 0 : cleanup();
|
|
159
|
+
} finally {
|
|
160
|
+
try {
|
|
161
|
+
(_a = this.frame) == null ? void 0 : _a.removeEventListener("load", this.onLoad);
|
|
162
|
+
this.releaseStyles();
|
|
163
|
+
} finally {
|
|
164
|
+
this.frame = void 0;
|
|
165
|
+
removed = !!this.node.unmount();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return removed;
|
|
169
|
+
} finally {
|
|
170
|
+
this.unmounting = false;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
releaseStyles() {
|
|
174
|
+
const head = this.head;
|
|
175
|
+
const runtime = this.runtime;
|
|
176
|
+
this.head = void 0;
|
|
177
|
+
this.runtime = void 0;
|
|
178
|
+
this._target = void 0;
|
|
179
|
+
if (head) {
|
|
180
|
+
runtime == null ? void 0 : runtime.delete(head);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
export {
|
|
185
|
+
FrameNode as default
|
|
186
|
+
};
|
|
187
|
+
//# sourceMappingURL=FrameNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/entry/content/lifecycle/nodes/FrameNode.ts"],"sourcesContent":["import {getPageUrl} from \"@main/page\";\n\nimport type {\n ContentScriptBoundaryCleanup,\n ContentScriptIsolationFrameOptions,\n ContentScriptNode,\n ContentScriptStylesRuntime,\n} from \"@typing/content\";\nimport {ContentScriptIsolation} from \"@typing/content\";\n\nimport type IsolationSetup from \"../IsolationSetup\";\n\nimport {getContentScriptStylesRuntime} from \"./isolated-styles\";\n\nimport {isContentScriptFrameNavigation} from \"@shared/content\";\n\n/** Owns the child document but never moves the content script's JavaScript into it. */\nexport default class FrameNode<Data = unknown> implements ContentScriptNode {\n private frame?: HTMLIFrameElement;\n private head?: HTMLHeadElement;\n private _target?: Element;\n\n private runtime?: ContentScriptStylesRuntime;\n\n private generation = 0;\n private queued = false;\n\n private cleanupBoundary?: ContentScriptBoundaryCleanup;\n\n private mounting = false;\n private unmounting = false;\n\n public constructor(\n private readonly node: ContentScriptNode,\n private readonly options: ContentScriptIsolationFrameOptions = {type: ContentScriptIsolation.Iframe},\n private readonly recover: () => void,\n private readonly isolation: IsolationSetup<Data, \"iframe\">\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(): HTMLIFrameElement | undefined {\n return this.frame;\n }\n\n private readonly onLoad = (): void => {\n if (!this.frame || this.queued || this.intact()) {\n return;\n }\n\n const generation = this.generation;\n\n this.queued = true;\n\n queueMicrotask(() => {\n if (generation !== this.generation) {\n return;\n }\n\n this.queued = false;\n\n if (this.container?.isConnected && this.anchor.isConnected) {\n try {\n this.recover();\n } catch (error) {\n console.error(\"Restoring content iframe failed\", error);\n }\n }\n });\n };\n\n private intact(): boolean {\n const doc = this.frame?.contentDocument;\n\n return !!doc && this._target?.ownerDocument === doc && this._target.isConnected && this.head === doc.head;\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) {\n return mounted;\n }\n\n if (!isContentScriptFrameNavigation(this.options) && !this.container.isConnected) {\n throw new Error(\n \"Content iframe container is not connected to the document; mount must attach the container before returning\"\n );\n }\n\n let created = false;\n\n if (!this.frame) {\n const frame = this.container.ownerDocument.createElement(\"iframe\");\n\n this.frame = frame;\n const generation = this.generation;\n\n try {\n const cleanup = this.isolation.setup(frame);\n\n if (generation !== this.generation || this.frame !== frame) {\n cleanup?.();\n\n return false;\n }\n\n this.cleanupBoundary = cleanup || undefined;\n\n if (isContentScriptFrameNavigation(this.options)) {\n frame.src = this.options.page !== undefined ? getPageUrl(this.options.page) : this.options.src!;\n } else {\n frame.addEventListener(\"load\", this.onLoad);\n }\n\n this.container.append(frame);\n\n if (generation !== this.generation || this.frame !== frame) {\n return false;\n }\n\n created = true;\n } catch (error) {\n if (generation === this.generation && this.frame === frame) {\n this.unmount();\n }\n\n throw error;\n }\n }\n\n if (isContentScriptFrameNavigation(this.options) || this.intact()) {\n return mounted || created;\n }\n\n const doc = this.frame.contentDocument;\n\n if (!doc?.head || !doc.body) {\n throw new Error(\n \"Content iframe has no accessible document; only an empty same-origin iframe can render UI\"\n );\n }\n\n const recovering = this.head !== undefined;\n\n this.releaseStyles();\n\n const frame = this.frame;\n const generation = this.generation;\n\n try {\n const target = this.isolation.createTarget(frame, doc);\n\n if (generation !== this.generation || this.frame !== frame || frame.contentDocument !== doc) {\n return false;\n }\n\n doc.body.append(target);\n\n this._target = target;\n this.head = doc.head;\n this.runtime = getContentScriptStylesRuntime();\n this.runtime.add(doc.head, null, recovering);\n } catch (error) {\n if (generation === this.generation && this.frame === frame) {\n this.unmount();\n }\n\n throw error;\n }\n\n return true;\n }\n\n public unmount(): boolean {\n if (this.unmounting) {\n return false;\n }\n\n this.unmounting = true;\n this.generation++;\n this.queued = false;\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 this.frame?.removeEventListener(\"load\", this.onLoad);\n this.releaseStyles();\n } finally {\n this.frame = undefined;\n removed = !!this.node.unmount();\n }\n }\n\n return removed;\n } finally {\n this.unmounting = false;\n }\n }\n\n private releaseStyles(): void {\n const head = this.head;\n const runtime = this.runtime;\n\n this.head = undefined;\n this.runtime = undefined;\n this._target = undefined;\n\n if (head) {\n runtime?.delete(head);\n }\n }\n}\n"],"mappings":"AAAA,SAAQ,kBAAiB;AAQzB,SAAQ,8BAA6B;AAIrC,SAAQ,qCAAoC;AAE5C,SAAQ,sCAAqC;AAG7C,MAAO,UAAqE;AAAA,EAejE,YACc,MACA,UAA8C,EAAC,MAAM,uBAAuB,OAAM,GAClF,SACA,WACnB;AAJmB;AACA;AACA;AACA;AAAA,EAClB;AAAA,EAJkB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAlBb;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EAEA,aAAa;AAAA,EACb,SAAS;AAAA,EAET;AAAA,EAEA,WAAW;AAAA,EACX,aAAa;AAAA,EASrB,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,WAA0C;AACjD,WAAO,KAAK;AAAA,EAChB;AAAA,EAEiB,SAAS,MAAY;AAClC,QAAI,CAAC,KAAK,SAAS,KAAK,UAAU,KAAK,OAAO,GAAG;AAC7C;AAAA,IACJ;AAEA,UAAM,aAAa,KAAK;AAExB,SAAK,SAAS;AAEd,mBAAe,MAAM;AAhE7B;AAiEY,UAAI,eAAe,KAAK,YAAY;AAChC;AAAA,MACJ;AAEA,WAAK,SAAS;AAEd,YAAI,UAAK,cAAL,mBAAgB,gBAAe,KAAK,OAAO,aAAa;AACxD,YAAI;AACA,eAAK,QAAQ;AAAA,QACjB,SAAS,OAAO;AACZ,kBAAQ,MAAM,mCAAmC,KAAK;AAAA,QAC1D;AAAA,MACJ;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEQ,SAAkB;AAjF9B;AAkFQ,UAAM,OAAM,UAAK,UAAL,mBAAY;AAExB,WAAO,CAAC,CAAC,SAAO,UAAK,YAAL,mBAAc,mBAAkB,OAAO,KAAK,QAAQ,eAAe,KAAK,SAAS,IAAI;AAAA,EACzG;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,WAAW;AACjB,aAAO;AAAA,IACX;AAEA,QAAI,CAAC,+BAA+B,KAAK,OAAO,KAAK,CAAC,KAAK,UAAU,aAAa;AAC9E,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,QAAI,UAAU;AAEd,QAAI,CAAC,KAAK,OAAO;AACb,YAAMA,SAAQ,KAAK,UAAU,cAAc,cAAc,QAAQ;AAEjE,WAAK,QAAQA;AACb,YAAMC,cAAa,KAAK;AAExB,UAAI;AACA,cAAM,UAAU,KAAK,UAAU,MAAMD,MAAK;AAE1C,YAAIC,gBAAe,KAAK,cAAc,KAAK,UAAUD,QAAO;AACxD;AAEA,iBAAO;AAAA,QACX;AAEA,aAAK,kBAAkB,WAAW;AAElC,YAAI,+BAA+B,KAAK,OAAO,GAAG;AAC9C,UAAAA,OAAM,MAAM,KAAK,QAAQ,SAAS,SAAY,WAAW,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ;AAAA,QAC/F,OAAO;AACH,UAAAA,OAAM,iBAAiB,QAAQ,KAAK,MAAM;AAAA,QAC9C;AAEA,aAAK,UAAU,OAAOA,MAAK;AAE3B,YAAIC,gBAAe,KAAK,cAAc,KAAK,UAAUD,QAAO;AACxD,iBAAO;AAAA,QACX;AAEA,kBAAU;AAAA,MACd,SAAS,OAAO;AACZ,YAAIC,gBAAe,KAAK,cAAc,KAAK,UAAUD,QAAO;AACxD,eAAK,QAAQ;AAAA,QACjB;AAEA,cAAM;AAAA,MACV;AAAA,IACJ;AAEA,QAAI,+BAA+B,KAAK,OAAO,KAAK,KAAK,OAAO,GAAG;AAC/D,aAAO,WAAW;AAAA,IACtB;AAEA,UAAM,MAAM,KAAK,MAAM;AAEvB,QAAI,EAAC,2BAAK,SAAQ,CAAC,IAAI,MAAM;AACzB,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,aAAa,KAAK,SAAS;AAEjC,SAAK,cAAc;AAEnB,UAAM,QAAQ,KAAK;AACnB,UAAM,aAAa,KAAK;AAExB,QAAI;AACA,YAAM,SAAS,KAAK,UAAU,aAAa,OAAO,GAAG;AAErD,UAAI,eAAe,KAAK,cAAc,KAAK,UAAU,SAAS,MAAM,oBAAoB,KAAK;AACzF,eAAO;AAAA,MACX;AAEA,UAAI,KAAK,OAAO,MAAM;AAEtB,WAAK,UAAU;AACf,WAAK,OAAO,IAAI;AAChB,WAAK,UAAU,8BAA8B;AAC7C,WAAK,QAAQ,IAAI,IAAI,MAAM,MAAM,UAAU;AAAA,IAC/C,SAAS,OAAO;AACZ,UAAI,eAAe,KAAK,cAAc,KAAK,UAAU,OAAO;AACxD,aAAK,QAAQ;AAAA,MACjB;AAEA,YAAM;AAAA,IACV;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,UAAmB;AAtM9B;AAuMQ,QAAI,KAAK,YAAY;AACjB,aAAO;AAAA,IACX;AAEA,SAAK,aAAa;AAClB,SAAK;AACL,SAAK,SAAS;AACd,SAAK,UAAU;AAEf,UAAM,UAAU,KAAK;AAErB,SAAK,kBAAkB;AAEvB,QAAI,UAAU;AAEd,QAAI;AACA,UAAI;AACA;AAAA,MACJ,UAAE;AACE,YAAI;AACA,qBAAK,UAAL,mBAAY,oBAAoB,QAAQ,KAAK;AAC7C,eAAK,cAAc;AAAA,QACvB,UAAE;AACE,eAAK,QAAQ;AACb,oBAAU,CAAC,CAAC,KAAK,KAAK,QAAQ;AAAA,QAClC;AAAA,MACJ;AAEA,aAAO;AAAA,IACX,UAAE;AACE,WAAK,aAAa;AAAA,IACtB;AAAA,EACJ;AAAA,EAEQ,gBAAsB;AAC1B,UAAM,OAAO,KAAK;AAClB,UAAM,UAAU,KAAK;AAErB,SAAK,OAAO;AACZ,SAAK,UAAU;AACf,SAAK,UAAU;AAEf,QAAI,MAAM;AACN,yCAAS,OAAO;AAAA,IACpB;AAAA,EACJ;AACJ;","names":["frame","generation"]}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { ContentScriptMarkerContract, ContentScriptNode } from "
|
|
2
|
-
export default class implements ContentScriptNode {
|
|
1
|
+
import { ContentScriptBoundary, ContentScriptMarkerContract, ContentScriptNode } from "../../../../types/content/index.js";
|
|
2
|
+
export default class MarkerNode implements ContentScriptNode {
|
|
3
3
|
protected readonly node: ContentScriptNode;
|
|
4
4
|
protected readonly marker: ContentScriptMarkerContract;
|
|
5
5
|
constructor(node: ContentScriptNode, marker: ContentScriptMarkerContract);
|
|
6
6
|
get anchor(): Element;
|
|
7
7
|
get container(): Element | undefined;
|
|
8
|
+
get target(): Element | undefined;
|
|
9
|
+
get boundary(): ContentScriptBoundary;
|
|
8
10
|
mount(): boolean | undefined | void;
|
|
9
11
|
unmount(): boolean | undefined | void;
|
|
10
12
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
class
|
|
1
|
+
class MarkerNode {
|
|
2
2
|
constructor(node, marker) {
|
|
3
3
|
this.node = node;
|
|
4
4
|
this.marker = marker;
|
|
@@ -11,6 +11,12 @@ class MarkerNode_default {
|
|
|
11
11
|
get container() {
|
|
12
12
|
return this.node.container;
|
|
13
13
|
}
|
|
14
|
+
get target() {
|
|
15
|
+
return this.node.target;
|
|
16
|
+
}
|
|
17
|
+
get boundary() {
|
|
18
|
+
return this.node.boundary;
|
|
19
|
+
}
|
|
14
20
|
mount() {
|
|
15
21
|
this.marker.mount(this.anchor);
|
|
16
22
|
return this.node.mount();
|
|
@@ -21,6 +27,6 @@ class MarkerNode_default {
|
|
|
21
27
|
}
|
|
22
28
|
}
|
|
23
29
|
export {
|
|
24
|
-
|
|
30
|
+
MarkerNode as default
|
|
25
31
|
};
|
|
26
32
|
//# sourceMappingURL=MarkerNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/entry/content/lifecycle/nodes/MarkerNode.ts"],"sourcesContent":["import {ContentScriptBoundary, ContentScriptMarkerContract, ContentScriptNode} from \"@typing/content\";\n\nexport default class MarkerNode implements ContentScriptNode {\n constructor(\n protected readonly node: ContentScriptNode,\n protected readonly marker: ContentScriptMarkerContract\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.node.target;\n }\n\n public get boundary(): ContentScriptBoundary {\n return this.node.boundary;\n }\n\n public mount(): boolean | undefined | void {\n this.marker.mount(this.anchor);\n\n return this.node.mount();\n }\n\n public unmount(): boolean | undefined | void {\n this.marker.unmount(this.anchor);\n\n return this.node.unmount();\n }\n}\n"],"mappings":"AAEA,MAAO,WAAsD;AAAA,EACzD,YACuB,MACA,QACrB;AAFqB;AACA;AAAA,EACpB;AAAA,EAFoB;AAAA,EACA;AAAA,EAGvB,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,KAAK;AAAA,EACrB;AAAA,EAEA,IAAW,WAAkC;AACzC,WAAO,KAAK,KAAK;AAAA,EACrB;AAAA,EAEO,QAAoC;AACvC,SAAK,OAAO,MAAM,KAAK,MAAM;AAE7B,WAAO,KAAK,KAAK,MAAM;AAAA,EAC3B;AAAA,EAEO,UAAsC;AACzC,SAAK,OAAO,QAAQ,KAAK,MAAM;AAE/B,WAAO,KAAK,KAAK,QAAQ;AAAA,EAC7B;AACJ;","names":[]}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { ContentScriptMountFunction, ContentScriptNode } from "
|
|
2
|
-
export default class implements ContentScriptNode {
|
|
1
|
+
import { ContentScriptBoundary, ContentScriptMountFunction, ContentScriptNode } from "../../../../types/content/index.js";
|
|
2
|
+
export default class MountNode implements ContentScriptNode {
|
|
3
3
|
protected node: ContentScriptNode;
|
|
4
4
|
protected mounter?: ContentScriptMountFunction | undefined;
|
|
5
5
|
private unmounting?;
|
|
6
6
|
constructor(node: ContentScriptNode, mounter?: ContentScriptMountFunction | undefined);
|
|
7
7
|
get anchor(): Element;
|
|
8
8
|
get container(): Element | undefined;
|
|
9
|
+
get target(): Element | undefined;
|
|
10
|
+
get boundary(): ContentScriptBoundary;
|
|
9
11
|
mount(): boolean;
|
|
10
12
|
unmount(): boolean;
|
|
11
13
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
class
|
|
1
|
+
class MountNode {
|
|
2
2
|
constructor(node, mounter) {
|
|
3
3
|
this.node = node;
|
|
4
4
|
this.mounter = mounter;
|
|
@@ -12,6 +12,12 @@ class MountNode_default {
|
|
|
12
12
|
get container() {
|
|
13
13
|
return this.node.container;
|
|
14
14
|
}
|
|
15
|
+
get target() {
|
|
16
|
+
return this.node.target;
|
|
17
|
+
}
|
|
18
|
+
get boundary() {
|
|
19
|
+
return this.node.boundary;
|
|
20
|
+
}
|
|
15
21
|
mount() {
|
|
16
22
|
this.node.mount();
|
|
17
23
|
if (!this.container || this.container.isConnected) {
|
|
@@ -34,6 +40,6 @@ class MountNode_default {
|
|
|
34
40
|
}
|
|
35
41
|
}
|
|
36
42
|
export {
|
|
37
|
-
|
|
43
|
+
MountNode as default
|
|
38
44
|
};
|
|
39
45
|
//# sourceMappingURL=MountNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/entry/content/lifecycle/nodes/MountNode.ts"],"sourcesContent":["import {ContentScriptBoundary, ContentScriptMountFunction, ContentScriptNode} from \"@typing/content\";\n\nexport default class MountNode implements ContentScriptNode {\n private unmounting?: () => void;\n\n constructor(\n protected node: ContentScriptNode,\n protected mounter?: ContentScriptMountFunction\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.node.target;\n }\n\n public get boundary(): ContentScriptBoundary {\n return this.node.boundary;\n }\n\n public mount(): boolean {\n this.node.mount();\n\n if (!this.container || this.container.isConnected) {\n return false;\n }\n\n if (this.mounter) {\n const unmounting = this.mounter(this.anchor, this.container);\n\n if (unmounting) {\n this.unmounting = unmounting;\n }\n\n return true;\n }\n\n return false;\n }\n\n public unmount(): boolean {\n this.unmounting?.();\n this.unmounting = undefined;\n\n return !!this.node.unmount();\n }\n}\n"],"mappings":"AAEA,MAAO,UAAqD;AAAA,EAGxD,YACc,MACA,SACZ;AAFY;AACA;AAAA,EACX;AAAA,EAFW;AAAA,EACA;AAAA,EAJN;AAAA,EAOR,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,KAAK;AAAA,EACrB;AAAA,EAEA,IAAW,WAAkC;AACzC,WAAO,KAAK,KAAK;AAAA,EACrB;AAAA,EAEO,QAAiB;AACpB,SAAK,KAAK,MAAM;AAEhB,QAAI,CAAC,KAAK,aAAa,KAAK,UAAU,aAAa;AAC/C,aAAO;AAAA,IACX;AAEA,QAAI,KAAK,SAAS;AACd,YAAM,aAAa,KAAK,QAAQ,KAAK,QAAQ,KAAK,SAAS;AAE3D,UAAI,YAAY;AACZ,aAAK,aAAa;AAAA,MACtB;AAEA,aAAO;AAAA,IACX;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,UAAmB;AA9C9B;AA+CQ,eAAK,eAAL;AACA,SAAK,aAAa;AAElB,WAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;AAAA,EAC/B;AACJ;","names":[]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { ContentScriptNode } from "
|
|
2
|
-
export default class implements ContentScriptNode {
|
|
1
|
+
import { ContentScriptNode } from "../../../../types/content/index.js";
|
|
2
|
+
export default class Node implements ContentScriptNode {
|
|
3
3
|
readonly anchor: Element;
|
|
4
4
|
container?: Element | undefined;
|
|
5
5
|
private readonly _container?;
|
|
6
6
|
constructor(anchor: Element, container?: Element | undefined);
|
|
7
|
+
get target(): Element | undefined;
|
|
7
8
|
mount(): boolean;
|
|
8
9
|
unmount(): boolean;
|
|
9
10
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
class
|
|
1
|
+
class Node {
|
|
2
2
|
constructor(anchor, container) {
|
|
3
3
|
this.anchor = anchor;
|
|
4
4
|
this.container = container;
|
|
@@ -9,6 +9,9 @@ class Node_default {
|
|
|
9
9
|
anchor;
|
|
10
10
|
container;
|
|
11
11
|
_container;
|
|
12
|
+
get target() {
|
|
13
|
+
return this.container;
|
|
14
|
+
}
|
|
12
15
|
mount() {
|
|
13
16
|
if (!this.container && this._container) {
|
|
14
17
|
this.container = this._container.cloneNode(false);
|
|
@@ -26,6 +29,6 @@ class Node_default {
|
|
|
26
29
|
}
|
|
27
30
|
}
|
|
28
31
|
export {
|
|
29
|
-
|
|
32
|
+
Node as default
|
|
30
33
|
};
|
|
31
34
|
//# sourceMappingURL=Node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/entry/content/lifecycle/nodes/Node.ts"],"sourcesContent":["import {ContentScriptNode} from \"@typing/content\";\n\nexport default class Node implements ContentScriptNode {\n private readonly _container?: Element;\n\n constructor(\n public readonly anchor: Element,\n public container?: Element\n ) {\n if (this.container) {\n this._container = this.container.cloneNode(false) as Element;\n }\n }\n\n public get target(): Element | undefined {\n return this.container;\n }\n\n public mount(): boolean {\n if (!this.container && this._container) {\n this.container = this._container.cloneNode(false) as Element;\n\n return true;\n }\n\n return false;\n }\n\n public unmount(): boolean {\n if (this.container) {\n this.container.remove();\n this.container = undefined;\n\n return true;\n }\n\n return false;\n }\n}\n"],"mappings":"AAEA,MAAO,KAAgD;AAAA,EAGnD,YACoB,QACT,WACT;AAFkB;AACT;AAEP,QAAI,KAAK,WAAW;AAChB,WAAK,aAAa,KAAK,UAAU,UAAU,KAAK;AAAA,IACpD;AAAA,EACJ;AAAA,EANoB;AAAA,EACT;AAAA,EAJM;AAAA,EAWjB,IAAW,SAA8B;AACrC,WAAO,KAAK;AAAA,EAChB;AAAA,EAEO,QAAiB;AACpB,QAAI,CAAC,KAAK,aAAa,KAAK,YAAY;AACpC,WAAK,YAAY,KAAK,WAAW,UAAU,KAAK;AAEhD,aAAO;AAAA,IACX;AAEA,WAAO;AAAA,EACX;AAAA,EAEO,UAAmB;AACtB,QAAI,KAAK,WAAW;AAChB,WAAK,UAAU,OAAO;AACtB,WAAK,YAAY;AAEjB,aAAO;AAAA,IACX;AAEA,WAAO;AAAA,EACX;AACJ;","names":[]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ContentScriptBoundary, ContentScriptNode, ContentScriptProps, ContentScriptRenderHandler, ContentScriptRenderValue } from "../../../../types/content/index.js";
|
|
2
|
+
/** Runs the adapter only after mounting DOM, and invalidates work when its target is replaced. */
|
|
3
|
+
export default abstract class RenderNode<Data = unknown> implements ContentScriptNode {
|
|
4
|
+
protected readonly node: ContentScriptNode;
|
|
5
|
+
private readonly resolve;
|
|
6
|
+
private readonly props;
|
|
7
|
+
private generation;
|
|
8
|
+
private renderedTarget?;
|
|
9
|
+
private empty;
|
|
10
|
+
constructor(node: ContentScriptNode, resolve: ContentScriptRenderHandler<Data>, props: () => ContentScriptProps<Data>);
|
|
11
|
+
get anchor(): Element;
|
|
12
|
+
get container(): Element | undefined;
|
|
13
|
+
get target(): Element | undefined;
|
|
14
|
+
get boundary(): ContentScriptBoundary;
|
|
15
|
+
protected abstract render(value: ContentScriptRenderValue<Data> | undefined, target: Element): boolean;
|
|
16
|
+
protected abstract clear(): void;
|
|
17
|
+
mount(): boolean;
|
|
18
|
+
unmount(): boolean;
|
|
19
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
class RenderNode {
|
|
2
|
+
constructor(node, resolve, props) {
|
|
3
|
+
this.node = node;
|
|
4
|
+
this.resolve = resolve;
|
|
5
|
+
this.props = props;
|
|
6
|
+
}
|
|
7
|
+
node;
|
|
8
|
+
resolve;
|
|
9
|
+
props;
|
|
10
|
+
generation = 0;
|
|
11
|
+
renderedTarget;
|
|
12
|
+
empty = false;
|
|
13
|
+
get anchor() {
|
|
14
|
+
return this.node.anchor;
|
|
15
|
+
}
|
|
16
|
+
get container() {
|
|
17
|
+
return this.node.container;
|
|
18
|
+
}
|
|
19
|
+
get target() {
|
|
20
|
+
return this.node.target;
|
|
21
|
+
}
|
|
22
|
+
get boundary() {
|
|
23
|
+
return this.node.boundary;
|
|
24
|
+
}
|
|
25
|
+
mount() {
|
|
26
|
+
var _a;
|
|
27
|
+
if (this.empty || !this.anchor.isConnected) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
this.node.mount();
|
|
31
|
+
const target = this.target;
|
|
32
|
+
if (!target) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
if (target === this.renderedTarget) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
this.clear();
|
|
39
|
+
const generation = ++this.generation;
|
|
40
|
+
this.renderedTarget = target;
|
|
41
|
+
const replacedAnchor = !this.anchor.isConnected;
|
|
42
|
+
try {
|
|
43
|
+
const value = this.resolve(this.props());
|
|
44
|
+
if (generation !== this.generation || target !== this.target) {
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
if (!this.anchor.isConnected && !(replacedAnchor && ((_a = this.container) == null ? void 0 : _a.isConnected))) {
|
|
48
|
+
this.unmount();
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
if (!this.render(value, target)) {
|
|
52
|
+
this.empty = true;
|
|
53
|
+
this.node.unmount();
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return true;
|
|
57
|
+
} catch (error) {
|
|
58
|
+
if (generation !== this.generation) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
this.unmount();
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
unmount() {
|
|
66
|
+
this.generation++;
|
|
67
|
+
this.renderedTarget = void 0;
|
|
68
|
+
this.clear();
|
|
69
|
+
return !!this.node.unmount();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
export {
|
|
73
|
+
RenderNode as default
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=RenderNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/entry/content/lifecycle/nodes/RenderNode.ts"],"sourcesContent":["import type {\n ContentScriptBoundary,\n ContentScriptNode,\n ContentScriptProps,\n ContentScriptRenderHandler,\n ContentScriptRenderValue,\n} from \"@typing/content\";\n\n/** Runs the adapter only after mounting DOM, and invalidates work when its target is replaced. */\nexport default abstract class RenderNode<Data = unknown> implements ContentScriptNode {\n private generation = 0;\n private renderedTarget?: Element;\n private empty = false;\n\n constructor(\n protected readonly node: ContentScriptNode,\n private readonly resolve: ContentScriptRenderHandler<Data>,\n private readonly props: () => ContentScriptProps<Data>\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.node.target;\n }\n\n public get boundary(): ContentScriptBoundary {\n return this.node.boundary;\n }\n\n protected abstract render(value: ContentScriptRenderValue<Data> | undefined, target: Element): boolean;\n\n protected abstract clear(): void;\n\n public mount(): boolean {\n if (this.empty || !this.anchor.isConnected) {\n return false;\n }\n\n this.node.mount();\n\n const target = this.target;\n\n if (!target) {\n return false;\n }\n\n if (target === this.renderedTarget) {\n return false;\n }\n\n this.clear();\n\n const generation = ++this.generation;\n\n this.renderedTarget = target;\n const replacedAnchor = !this.anchor.isConnected;\n\n try {\n const value = this.resolve(this.props());\n\n if (generation !== this.generation || target !== this.target) {\n return false;\n }\n\n // A synchronous custom mount (including append: Replace) can deliberately replace its anchor.\n if (!this.anchor.isConnected && !(replacedAnchor && this.container?.isConnected)) {\n this.unmount();\n\n return false;\n }\n\n if (!this.render(value, target)) {\n this.empty = true;\n this.node.unmount();\n\n return false;\n }\n\n return true;\n } catch (error) {\n if (generation !== this.generation) {\n return false;\n }\n\n this.unmount();\n\n throw error;\n }\n }\n\n public unmount(): boolean {\n this.generation++;\n this.renderedTarget = undefined;\n\n this.clear();\n\n return !!this.node.unmount();\n }\n}\n"],"mappings":"AASA,MAAO,WAA+E;AAAA,EAKlF,YACuB,MACF,SACA,OACnB;AAHqB;AACF;AACA;AAAA,EAClB;AAAA,EAHoB;AAAA,EACF;AAAA,EACA;AAAA,EAPb,aAAa;AAAA,EACb;AAAA,EACA,QAAQ;AAAA,EAQhB,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,KAAK;AAAA,EACrB;AAAA,EAEA,IAAW,WAAkC;AACzC,WAAO,KAAK,KAAK;AAAA,EACrB;AAAA,EAMO,QAAiB;AAxC5B;AAyCQ,QAAI,KAAK,SAAS,CAAC,KAAK,OAAO,aAAa;AACxC,aAAO;AAAA,IACX;AAEA,SAAK,KAAK,MAAM;AAEhB,UAAM,SAAS,KAAK;AAEpB,QAAI,CAAC,QAAQ;AACT,aAAO;AAAA,IACX;AAEA,QAAI,WAAW,KAAK,gBAAgB;AAChC,aAAO;AAAA,IACX;AAEA,SAAK,MAAM;AAEX,UAAM,aAAa,EAAE,KAAK;AAE1B,SAAK,iBAAiB;AACtB,UAAM,iBAAiB,CAAC,KAAK,OAAO;AAEpC,QAAI;AACA,YAAM,QAAQ,KAAK,QAAQ,KAAK,MAAM,CAAC;AAEvC,UAAI,eAAe,KAAK,cAAc,WAAW,KAAK,QAAQ;AAC1D,eAAO;AAAA,MACX;AAGA,UAAI,CAAC,KAAK,OAAO,eAAe,EAAE,oBAAkB,UAAK,cAAL,mBAAgB,eAAc;AAC9E,aAAK,QAAQ;AAEb,eAAO;AAAA,MACX;AAEA,UAAI,CAAC,KAAK,OAAO,OAAO,MAAM,GAAG;AAC7B,aAAK,QAAQ;AACb,aAAK,KAAK,QAAQ;AAElB,eAAO;AAAA,MACX;AAEA,aAAO;AAAA,IACX,SAAS,OAAO;AACZ,UAAI,eAAe,KAAK,YAAY;AAChC,eAAO;AAAA,MACX;AAEA,WAAK,QAAQ;AAEb,YAAM;AAAA,IACV;AAAA,EACJ;AAAA,EAEO,UAAmB;AACtB,SAAK;AACL,SAAK,iBAAiB;AAEtB,SAAK,MAAM;AAEX,WAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;AAAA,EAC/B;AACJ;","names":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type IsolationSetup from "../IsolationSetup.js";
|
|
2
|
+
import { type ContentScriptShadowOptions, type ContentScriptNode } from "../../../../types/content/index.js";
|
|
3
|
+
export default class ShadowNode<Data = unknown> implements ContentScriptNode {
|
|
4
|
+
protected readonly node: ContentScriptNode;
|
|
5
|
+
private readonly options;
|
|
6
|
+
private readonly isolation;
|
|
7
|
+
private root?;
|
|
8
|
+
private _target?;
|
|
9
|
+
private runtime?;
|
|
10
|
+
private cleanupBoundary?;
|
|
11
|
+
private mounting;
|
|
12
|
+
private unmounting;
|
|
13
|
+
constructor(node: ContentScriptNode, options: ContentScriptShadowOptions | undefined, isolation: IsolationSetup<Data, "shadow">);
|
|
14
|
+
get anchor(): Element;
|
|
15
|
+
get container(): Element | undefined;
|
|
16
|
+
get target(): Element | undefined;
|
|
17
|
+
get boundary(): ShadowRoot | undefined;
|
|
18
|
+
mount(): boolean;
|
|
19
|
+
private mountNode;
|
|
20
|
+
unmount(): boolean;
|
|
21
|
+
}
|