adnbn 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/builders/app/build.d.ts +7 -0
- package/dist/cli/builders/app/build.js +58 -0
- package/dist/cli/builders/app/build.js.map +1 -0
- package/dist/cli/builders/app/index.d.ts +6 -1
- package/dist/cli/builders/app/index.js +49 -14
- package/dist/cli/builders/app/index.js.map +1 -1
- package/dist/cli/builders/app/{command.d.ts → watch.d.ts} +0 -1
- package/dist/cli/builders/app/{command.js → watch.js} +1 -26
- package/dist/cli/builders/app/watch.js.map +1 -0
- package/dist/cli/builders/manifest/ManifestBase.d.ts +8 -1
- package/dist/cli/builders/manifest/ManifestBase.js +30 -0
- package/dist/cli/builders/manifest/ManifestBase.js.map +1 -1
- package/dist/cli/builders/manifest/ManifestV2.js +3 -15
- package/dist/cli/builders/manifest/ManifestV2.js.map +1 -1
- package/dist/cli/builders/manifest/ManifestV3.js +3 -15
- package/dist/cli/builders/manifest/ManifestV3.js.map +1 -1
- package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js +4 -0
- package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js.map +1 -1
- package/dist/cli/entrypoint/finder/AbstractOverrideFinder.d.ts +15 -0
- package/dist/cli/entrypoint/finder/AbstractOverrideFinder.js +20 -0
- package/dist/cli/entrypoint/finder/AbstractOverrideFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/AbstractViewFinder.d.ts +6 -1
- package/dist/cli/entrypoint/finder/AbstractViewFinder.js +15 -0
- package/dist/cli/entrypoint/finder/AbstractViewFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/BookmarksFinder.d.ts +9 -0
- package/dist/cli/entrypoint/finder/BookmarksFinder.js +18 -0
- package/dist/cli/entrypoint/finder/BookmarksFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/CommandFinder.d.ts +4 -0
- package/dist/cli/entrypoint/finder/CommandFinder.js +20 -6
- package/dist/cli/entrypoint/finder/CommandFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/HistoryFinder.d.ts +9 -0
- package/dist/cli/entrypoint/finder/HistoryFinder.js +18 -0
- package/dist/cli/entrypoint/finder/HistoryFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/NewtabFinder.d.ts +9 -0
- package/dist/cli/entrypoint/finder/NewtabFinder.js +18 -0
- package/dist/cli/entrypoint/finder/NewtabFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/OptionsFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/OptionsFinder.js +2 -2
- package/dist/cli/entrypoint/finder/OptionsFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/PageFinder.js +1 -1
- package/dist/cli/entrypoint/finder/PageFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/PopupFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/PopupFinder.js +2 -2
- package/dist/cli/entrypoint/finder/PopupFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/SidebarFinder.d.ts +2 -2
- package/dist/cli/entrypoint/finder/SidebarFinder.js +2 -2
- package/dist/cli/entrypoint/finder/SidebarFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/ViewCspFinder.d.ts +2 -3
- package/dist/cli/entrypoint/finder/ViewCspFinder.js.map +1 -1
- package/dist/cli/entrypoint/finder/ViewPermissionsFinder.d.ts +22 -0
- package/dist/cli/entrypoint/finder/ViewPermissionsFinder.js +43 -0
- package/dist/cli/entrypoint/finder/ViewPermissionsFinder.js.map +1 -0
- package/dist/cli/entrypoint/finder/index.d.ts +5 -0
- package/dist/cli/entrypoint/finder/index.js +50 -40
- package/dist/cli/entrypoint/finder/index.js.map +1 -1
- package/dist/cli/entrypoint/name/NameGenerator.d.ts +2 -0
- package/dist/cli/entrypoint/name/NameGenerator.js +5 -1
- package/dist/cli/entrypoint/name/NameGenerator.js.map +1 -1
- package/dist/cli/entrypoint/parser/AbstractOverrideParser.d.ts +9 -0
- package/dist/cli/entrypoint/parser/AbstractOverrideParser.js +11 -0
- package/dist/cli/entrypoint/parser/AbstractOverrideParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/BackgroundParser.js +3 -6
- package/dist/cli/entrypoint/parser/BackgroundParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/BookmarksParser.d.ts +5 -0
- package/dist/cli/entrypoint/parser/BookmarksParser.js +10 -0
- package/dist/cli/entrypoint/parser/BookmarksParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/HistoryParser.d.ts +5 -0
- package/dist/cli/entrypoint/parser/HistoryParser.js +10 -0
- package/dist/cli/entrypoint/parser/HistoryParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/NewtabParser.d.ts +5 -0
- package/dist/cli/entrypoint/parser/NewtabParser.js +10 -0
- package/dist/cli/entrypoint/parser/NewtabParser.js.map +1 -0
- package/dist/cli/entrypoint/parser/OptionsParser.js +2 -1
- package/dist/cli/entrypoint/parser/OptionsParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/PopupParser.js +2 -1
- package/dist/cli/entrypoint/parser/PopupParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/SidebarParser.js +2 -1
- package/dist/cli/entrypoint/parser/SidebarParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/ViewCspParser.d.ts +1 -1
- package/dist/cli/entrypoint/parser/ViewParser.d.ts +1 -1243
- package/dist/cli/entrypoint/parser/ViewParser.js +2 -72
- package/dist/cli/entrypoint/parser/ViewParser.js.map +1 -1
- package/dist/cli/entrypoint/parser/index.d.ts +4 -0
- package/dist/cli/entrypoint/parser/index.js +28 -20
- package/dist/cli/entrypoint/parser/index.js.map +1 -1
- package/dist/cli/entrypoint/parser/schemas/html.d.ts +903 -0
- package/dist/cli/entrypoint/parser/schemas/html.js +64 -0
- package/dist/cli/entrypoint/parser/schemas/html.js.map +1 -0
- package/dist/cli/entrypoint/parser/schemas/permissions.d.ts +23 -0
- package/dist/cli/entrypoint/parser/schemas/permissions.js +11 -0
- package/dist/cli/entrypoint/parser/schemas/permissions.js.map +1 -0
- package/dist/cli/index.js +16 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/plugins/action.d.ts +2 -0
- package/dist/cli/plugins/action.js +13 -0
- package/dist/cli/plugins/action.js.map +1 -0
- package/dist/cli/plugins/index.d.ts +2 -0
- package/dist/cli/plugins/index.js +52 -48
- package/dist/cli/plugins/index.js.map +1 -1
- package/dist/cli/plugins/offscreen/index.js +2 -4
- package/dist/cli/plugins/offscreen/index.js.map +1 -1
- package/dist/cli/plugins/options/index.js +1 -1
- package/dist/cli/plugins/options/index.js.map +1 -1
- package/dist/cli/plugins/override/Override.d.ts +31 -0
- package/dist/cli/plugins/override/Override.js +112 -0
- package/dist/cli/plugins/override/Override.js.map +1 -0
- package/dist/cli/plugins/override/index.d.ts +2 -0
- package/dist/cli/plugins/override/index.js +48 -0
- package/dist/cli/plugins/override/index.js.map +1 -0
- package/dist/cli/plugins/popup/index.js +1 -1
- package/dist/cli/plugins/popup/index.js.map +1 -1
- package/dist/cli/plugins/sidebar/index.js +1 -2
- package/dist/cli/plugins/sidebar/index.js.map +1 -1
- package/dist/cli/plugins/style/index.js +34 -31
- package/dist/cli/plugins/style/index.js.map +1 -1
- package/dist/cli/plugins/style/rebase.d.ts +14 -0
- package/dist/cli/plugins/style/rebase.js +63 -0
- package/dist/cli/plugins/style/rebase.js.map +1 -0
- package/dist/cli/plugins/style/utils.d.ts +5 -1
- package/dist/cli/plugins/style/utils.js +21 -8
- package/dist/cli/plugins/style/utils.js.map +1 -1
- package/dist/cli/plugins/typescript/TypescriptConfig.js +2 -2
- package/dist/cli/plugins/typescript/TypescriptConfig.js.map +1 -1
- package/dist/cli/plugins/view/View.d.ts +1 -1
- package/dist/cli/plugins/view/View.js +2 -10
- package/dist/cli/plugins/view/View.js.map +1 -1
- package/dist/cli/plugins/view/index.js +10 -1
- package/dist/cli/plugins/view/index.js.map +1 -1
- package/dist/cli/resolvers/bundler.js +9 -1
- package/dist/cli/resolvers/bundler.js.map +1 -1
- package/dist/cli/resolvers/config.js +7 -1
- package/dist/cli/resolvers/config.js.map +1 -1
- package/dist/cli/utils/path.js +1 -1
- package/dist/cli/utils/path.js.map +1 -1
- package/dist/cli/virtual/index.js +14 -17
- package/dist/cli/virtual/virtual.d.ts +7 -127
- package/dist/entry/background/Builder.js +1 -1
- package/dist/entry/background/Builder.js.map +1 -1
- package/dist/entry/background/index.d.ts +1 -1
- package/dist/entry/background/index.js +3 -2
- package/dist/entry/background/index.js.map +1 -1
- package/dist/entry/background/resolvers/definition.d.ts +5 -1
- package/dist/entry/background/resolvers/definition.js +15 -4
- package/dist/entry/background/resolvers/definition.js.map +1 -1
- package/dist/entry/command/Builder.js +1 -1
- package/dist/entry/command/Builder.js.map +1 -1
- package/dist/entry/command/index.d.ts +1 -1
- package/dist/entry/command/index.js +3 -2
- package/dist/entry/command/index.js.map +1 -1
- package/dist/entry/command/resolvers/definition.d.ts +6 -2
- package/dist/entry/command/resolvers/definition.js +14 -4
- package/dist/entry/command/resolvers/definition.js.map +1 -1
- package/dist/entry/content/adapters/react/Builder.js +4 -2
- package/dist/entry/content/adapters/react/Builder.js.map +1 -1
- package/dist/entry/content/adapters/react/Node.js +11 -6
- package/dist/entry/content/adapters/react/Node.js.map +1 -1
- package/dist/entry/content/adapters/react/definition.js +3 -2
- package/dist/entry/content/adapters/react/definition.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/Builder.js +2 -2
- package/dist/entry/content/adapters/vanilla/Builder.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/Node.js +3 -5
- package/dist/entry/content/adapters/vanilla/Node.js.map +1 -1
- package/dist/entry/content/adapters/vanilla/definition.js +2 -2
- package/dist/entry/content/adapters/vanilla/definition.js.map +1 -1
- package/dist/entry/content/lifecycle/Builder.js +5 -9
- package/dist/entry/content/lifecycle/Builder.js.map +1 -1
- package/dist/entry/core/react.d.ts +6 -0
- package/dist/entry/core/react.js +16 -0
- package/dist/entry/core/react.js.map +1 -0
- package/dist/entry/core/render.d.ts +5 -0
- package/dist/entry/core/render.js +16 -0
- package/dist/entry/core/render.js.map +1 -0
- package/dist/entry/offscreen/Builder.d.ts +6 -7
- package/dist/entry/offscreen/Builder.js +12 -13
- package/dist/entry/offscreen/Builder.js.map +1 -1
- package/dist/entry/offscreen/TransportBuilder.d.ts +1 -1
- package/dist/entry/offscreen/TransportBuilder.js +4 -3
- package/dist/entry/offscreen/TransportBuilder.js.map +1 -1
- package/dist/entry/offscreen/index.d.ts +5 -2
- package/dist/entry/offscreen/index.js +8 -2
- package/dist/entry/offscreen/index.js.map +1 -1
- package/dist/entry/offscreen/resolvers/definition.d.ts +4 -0
- package/dist/entry/offscreen/resolvers/definition.js +8 -0
- package/dist/entry/offscreen/resolvers/definition.js.map +1 -0
- package/dist/entry/relay/Builder.d.ts +4 -3
- package/dist/entry/relay/Builder.js.map +1 -1
- package/dist/entry/relay/index.d.ts +4 -3
- package/dist/entry/relay/index.js.map +1 -1
- package/dist/entry/relay/resolvers/definition.d.ts +1 -1
- package/dist/entry/relay/resolvers/definition.js +2 -10
- package/dist/entry/relay/resolvers/definition.js.map +1 -1
- package/dist/entry/sandbox/Builder.d.ts +6 -7
- package/dist/entry/sandbox/Builder.js +8 -12
- package/dist/entry/sandbox/Builder.js.map +1 -1
- package/dist/entry/sandbox/TransportBuilder.d.ts +1 -1
- package/dist/entry/sandbox/TransportBuilder.js +4 -3
- package/dist/entry/sandbox/TransportBuilder.js.map +1 -1
- package/dist/entry/sandbox/index.d.ts +7 -2
- package/dist/entry/sandbox/index.js +10 -4
- package/dist/entry/sandbox/index.js.map +1 -1
- package/dist/entry/sandbox/resolvers/definition.d.ts +4 -0
- package/dist/entry/sandbox/resolvers/definition.js +8 -0
- package/dist/entry/sandbox/resolvers/definition.js.map +1 -0
- package/dist/entry/service/index.d.ts +1 -0
- package/dist/entry/service/index.js +3 -1
- package/dist/entry/service/index.js.map +1 -1
- package/dist/entry/service/resolvers/definition.d.ts +3 -0
- package/dist/entry/service/resolvers/definition.js +8 -0
- package/dist/entry/service/resolvers/definition.js.map +1 -0
- package/dist/entry/transport/AbstractBuilder.js +1 -1
- package/dist/entry/transport/AbstractBuilder.js.map +1 -1
- package/dist/entry/transport/resolvers/definition.d.ts +7 -5
- package/dist/entry/transport/resolvers/definition.js +15 -4
- package/dist/entry/transport/resolvers/definition.js.map +1 -1
- package/dist/entry/view/{core/Builder.d.ts → Builder.d.ts} +9 -4
- package/dist/entry/view/Builder.js +62 -0
- package/dist/entry/view/Builder.js.map +1 -0
- package/dist/entry/view/adapters/react/Builder.d.ts +6 -7
- package/dist/entry/view/adapters/react/Builder.js +20 -23
- package/dist/entry/view/adapters/react/Builder.js.map +1 -1
- package/dist/entry/view/adapters/react/definition.d.ts +2 -0
- package/dist/entry/view/adapters/react/definition.js +13 -0
- package/dist/entry/view/adapters/react/definition.js.map +1 -0
- package/dist/entry/view/adapters/react/index.d.ts +2 -1
- package/dist/entry/view/adapters/react/index.js +3 -1
- package/dist/entry/view/adapters/react/index.js.map +1 -1
- package/dist/entry/view/adapters/vanilla/Builder.d.ts +5 -6
- package/dist/entry/view/adapters/vanilla/Builder.js +14 -25
- package/dist/entry/view/adapters/vanilla/Builder.js.map +1 -1
- package/dist/entry/view/adapters/vanilla/definition.d.ts +2 -0
- package/dist/entry/view/adapters/vanilla/definition.js +9 -0
- package/dist/entry/view/adapters/vanilla/definition.js.map +1 -0
- package/dist/entry/view/adapters/vanilla/index.d.ts +2 -1
- package/dist/entry/view/adapters/vanilla/index.js +3 -1
- package/dist/entry/view/adapters/vanilla/index.js.map +1 -1
- package/dist/entry/view/{core/resolvers → resolvers}/container.d.ts +1 -1
- package/dist/entry/view/resolvers/container.js.map +1 -0
- package/dist/entry/view/resolvers/definition.d.ts +3 -0
- package/dist/entry/view/resolvers/definition.js +18 -0
- package/dist/entry/view/resolvers/definition.js.map +1 -0
- package/dist/locale/adapters/react/hooks/use-locale.js +1 -1
- package/dist/locale/adapters/react/hooks/use-locale.js.map +1 -1
- package/dist/locale/adapters/react/hooks/use-native-locale.js +1 -1
- package/dist/locale/adapters/react/hooks/use-native-locale.js.map +1 -1
- package/dist/locale/index.d.ts +1 -0
- package/dist/locale/index.js +3 -1
- package/dist/locale/index.js.map +1 -1
- package/dist/locale/{providers → observers}/ObservableLocale.js +2 -2
- package/dist/locale/observers/ObservableLocale.js.map +1 -0
- package/dist/locale/observers/index.d.ts +1 -0
- package/dist/locale/observers/index.js +5 -0
- package/dist/locale/observers/index.js.map +1 -0
- package/dist/locale/providers/index.d.ts +0 -1
- package/dist/locale/providers/index.js +1 -3
- package/dist/locale/providers/index.js.map +1 -1
- package/dist/main/config.d.ts +1 -0
- package/dist/main/config.js.map +1 -1
- package/dist/main/index.d.ts +2 -0
- package/dist/main/index.js +2 -0
- package/dist/main/index.js.map +1 -1
- package/dist/main/override.d.ts +5 -0
- package/dist/main/override.js +15 -0
- package/dist/main/override.js.map +1 -0
- package/dist/main/permissions.d.ts +1 -0
- package/dist/main/permissions.js +1 -0
- package/dist/main/relay.d.ts +1 -0
- package/dist/main/relay.js +2 -0
- package/dist/main/relay.js.map +1 -1
- package/dist/main/view.d.ts +1 -1
- package/dist/message/adapters/react/index.d.ts +1 -1
- package/dist/message/adapters/react/index.js +1 -1
- package/dist/message/adapters/react/index.js.map +1 -1
- package/dist/message/adapters/react/{useMessageHandler.js → use-message-handler.js} +6 -4
- package/dist/message/adapters/react/use-message-handler.js.map +1 -0
- package/dist/message/handlers/MapHandler.js +2 -1
- package/dist/message/handlers/MapHandler.js.map +1 -1
- package/dist/message/handlers/SingleHandler.js +2 -1
- package/dist/message/handlers/SingleHandler.js.map +1 -1
- package/dist/message/providers/Message.js +1 -1
- package/dist/message/providers/Message.js.map +1 -1
- package/dist/relay/RelayPermission.js +8 -2
- package/dist/relay/RelayPermission.js.map +1 -1
- package/dist/relay/adapters/RelayScriptingAdapter.d.ts +1 -0
- package/dist/relay/adapters/RelayScriptingAdapter.js +30 -64
- package/dist/relay/adapters/RelayScriptingAdapter.js.map +1 -1
- package/dist/relay/adapters/invoke-relay.d.ts +3 -0
- package/dist/relay/adapters/invoke-relay.js +69 -0
- package/dist/relay/adapters/invoke-relay.js.map +1 -0
- package/dist/relay/adapters/scripting-response.d.ts +12 -0
- package/dist/relay/adapters/scripting-response.js +1 -0
- package/dist/relay/adapters/scripting-response.js.map +1 -0
- package/dist/relay/result.d.ts +3 -0
- package/dist/relay/result.js +7 -0
- package/dist/relay/result.js.map +1 -1
- package/dist/types/action.d.ts +8 -0
- package/dist/types/action.js +1 -0
- package/dist/types/action.js.map +1 -0
- package/dist/types/background.d.ts +2 -8
- package/dist/types/background.js.map +1 -1
- package/dist/types/config.d.ts +17 -1
- package/dist/types/content/definition.d.ts +2 -1
- package/dist/types/entrypoint.d.ts +5 -1
- package/dist/types/entrypoint.js +3 -0
- package/dist/types/entrypoint.js.map +1 -1
- package/dist/types/manifest.d.ts +23 -2
- package/dist/types/manifest.js.map +1 -1
- package/dist/types/offscreen.d.ts +2 -2
- package/dist/types/offscreen.js.map +1 -1
- package/dist/types/options.d.ts +3 -2
- package/dist/types/override.d.ts +22 -0
- package/dist/types/override.js +1 -0
- package/dist/types/override.js.map +1 -0
- package/dist/types/page.d.ts +1 -1
- package/dist/types/permissions.d.ts +39 -0
- package/dist/types/permissions.js +1 -0
- package/dist/types/permissions.js.map +1 -0
- package/dist/types/plugin.d.ts +4 -1
- package/dist/types/popup.d.ts +5 -3
- package/dist/types/sandbox.d.ts +2 -2
- package/dist/types/sandbox.js.map +1 -1
- package/dist/types/sidebar.d.ts +5 -3
- package/dist/types/sidebar.js.map +1 -1
- package/dist/types/view/adapters/index.d.ts +2 -0
- package/dist/types/view/adapters/index.js +1 -0
- package/dist/types/view/adapters/index.js.map +1 -0
- package/dist/types/view/adapters/react.d.ts +4 -0
- package/dist/types/view/adapters/react.js +1 -0
- package/dist/types/view/adapters/react.js.map +1 -0
- package/dist/types/view/adapters/vanilla.d.ts +1 -0
- package/dist/types/view/adapters/vanilla.js +1 -0
- package/dist/types/view/adapters/vanilla.js.map +1 -0
- package/dist/types/{view.d.ts → view/common.d.ts} +2 -14
- package/dist/types/view/common.js +1 -0
- package/dist/types/view/common.js.map +1 -0
- package/dist/types/view/definition.d.ts +15 -0
- package/dist/types/view/definition.js +1 -0
- package/dist/types/view/definition.js.map +1 -0
- package/dist/types/view/index.d.ts +4 -0
- package/dist/types/view/index.js +1 -0
- package/dist/types/view/index.js.map +1 -0
- package/dist/types/view/render.d.ts +7 -0
- package/dist/types/view/render.js +1 -0
- package/dist/types/view/render.js.map +1 -0
- package/package.json +18 -31
- package/dist/cli/builders/app/command.js.map +0 -1
- package/dist/entry/background/resolvers/index.d.ts +0 -1
- package/dist/entry/background/resolvers/index.js +0 -2
- package/dist/entry/background/resolvers/index.js.map +0 -1
- package/dist/entry/command/resolvers/index.d.ts +0 -1
- package/dist/entry/command/resolvers/index.js +0 -2
- package/dist/entry/command/resolvers/index.js.map +0 -1
- package/dist/entry/content/adapters/vanilla/utils.d.ts +0 -1
- package/dist/entry/content/adapters/vanilla/utils.js +0 -7
- package/dist/entry/content/adapters/vanilla/utils.js.map +0 -1
- package/dist/entry/content/resolvers/index.d.ts +0 -6
- package/dist/entry/content/resolvers/index.js +0 -7
- package/dist/entry/content/resolvers/index.js.map +0 -1
- package/dist/entry/transport/index.d.ts +0 -1
- package/dist/entry/transport/index.js +0 -2
- package/dist/entry/transport/index.js.map +0 -1
- package/dist/entry/transport/resolvers/index.d.ts +0 -1
- package/dist/entry/transport/resolvers/index.js +0 -2
- package/dist/entry/transport/resolvers/index.js.map +0 -1
- package/dist/entry/view/adapters/react/resolvers/render.d.ts +0 -2
- package/dist/entry/view/adapters/react/resolvers/render.js +0 -11
- package/dist/entry/view/adapters/react/resolvers/render.js.map +0 -1
- package/dist/entry/view/core/Builder.js +0 -35
- package/dist/entry/view/core/Builder.js.map +0 -1
- package/dist/entry/view/core/resolvers/container.js.map +0 -1
- package/dist/entry/view/core/resolvers/definition.d.ts +0 -3
- package/dist/entry/view/core/resolvers/definition.js +0 -12
- package/dist/entry/view/core/resolvers/definition.js.map +0 -1
- package/dist/entry/view/core/resolvers/render.d.ts +0 -3
- package/dist/entry/view/core/resolvers/render.js +0 -18
- package/dist/entry/view/core/resolvers/render.js.map +0 -1
- package/dist/entry/view/index.d.ts +0 -1
- package/dist/entry/view/index.js +0 -2
- package/dist/entry/view/index.js.map +0 -1
- package/dist/locale/providers/ObservableLocale.js.map +0 -1
- package/dist/message/adapters/react/useMessageHandler.js.map +0 -1
- package/dist/types/view.js +0 -1
- package/scripts/clean-dist.js +0 -7
- package/scripts/copy-dts.js +0 -29
- package/scripts/merge-coverage.mjs +0 -12
- package/scripts/pre-commit.mjs +0 -22
- package/scripts/test-inventory.mjs +0 -38
- package/scripts/test-run.mjs +0 -25
- /package/dist/cli/virtual/{transport.d.ts → service.d.ts} +0 -0
- /package/dist/entry/view/{core/resolvers → resolvers}/container.js +0 -0
- /package/dist/locale/{providers → observers}/ObservableLocale.d.ts +0 -0
- /package/dist/{types/view.js.map → main/permissions.js.map} +0 -0
- /package/dist/message/adapters/react/{useMessageHandler.d.ts → use-message-handler.d.ts} +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "adnbn",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.15.0",
|
|
5
5
|
"description": "Addon Bone - Cross-browser web extension framework with shared code base",
|
|
6
6
|
"homepage": "https://addonbone.com",
|
|
7
7
|
"author": "Anjey Tsibylskij (https://github.com/atldays)",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"module": "./dist/index.js",
|
|
32
32
|
"types": "./dist/index.d.ts",
|
|
33
33
|
"files": [
|
|
34
|
-
"bin",
|
|
34
|
+
"bin/adnbn.js",
|
|
35
35
|
"dist",
|
|
36
|
-
"scripts",
|
|
36
|
+
"scripts/check-node-version.js",
|
|
37
37
|
"types"
|
|
38
38
|
],
|
|
39
39
|
"engines": {
|
|
@@ -114,39 +114,28 @@
|
|
|
114
114
|
"prepublishOnly": "npm run build",
|
|
115
115
|
"build": "node ./scripts/clean-dist.js && tsup && tsc -p tsconfig.build.json && node ./scripts/copy-dts.js && tsc-alias -p tsconfig.build.json -f -fe .js",
|
|
116
116
|
"format": "prettier --write .",
|
|
117
|
-
"
|
|
118
|
-
"prepare:integration": "npm run build && tsx tests/integration/prepare.ts",
|
|
119
|
-
"typecheck:integration": "npm run build && tsx tests/integration/typecheck.ts --prepare",
|
|
120
|
-
"test:integration": "npm run build && node scripts/test-run.mjs --selectProjects build types chrome firefox",
|
|
121
|
-
"test:integration:build": "npm run test:build --",
|
|
117
|
+
"check": "tsx tests/check.ts",
|
|
122
118
|
"check:node-version": "node ./scripts/check-node-version.js",
|
|
119
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
120
|
+
"typecheck:fixtures": "npm run build && tsx tests/integration/typecheck.ts --prepare",
|
|
121
|
+
"fixtures:prepare": "npm run build && tsx tests/integration/prepare.ts",
|
|
123
122
|
"test": "npm run build && node scripts/test-run.mjs",
|
|
124
|
-
"test:ci": "npm run test -- --ci --coverage",
|
|
125
|
-
"test:ci:non-browser": "npm run test -- --ci --coverage --selectProjects unit-node unit-dom build types",
|
|
126
|
-
"test:watch": "node scripts/test-run.mjs --selectProjects unit-node unit-dom --watch",
|
|
127
|
-
"test:offscreen": "node scripts/test-run.mjs --testPathPatterns=Offscreen",
|
|
128
|
-
"test:chrome": "npm run build && node scripts/test-run.mjs --selectProjects chrome",
|
|
129
|
-
"test:firefox": "npm run build && node scripts/test-run.mjs --selectProjects firefox",
|
|
130
|
-
"test:message": "node scripts/test-run.mjs --testPathPatterns=src/message",
|
|
131
|
-
"test:service": "node scripts/test-run.mjs --testPathPatterns=Service",
|
|
132
|
-
"test:relay": "npm run test -- --testPathPatterns=Relay",
|
|
133
|
-
"test:locale": "npm run test -- --testPathPatterns=Locale",
|
|
134
|
-
"test:manifest": "node scripts/test-run.mjs --testPathPatterns=src/cli/builders/manifest",
|
|
135
|
-
"test:entrypoint": "node scripts/test-run.mjs --testPathPatterns=src/cli/entrypoint",
|
|
136
|
-
"test:plugins": "npm run test -- --testPathPatterns=src/cli/plugins",
|
|
137
|
-
"release": "release-it",
|
|
138
|
-
"release:preview": "release-it --no-github.release --no-npm.publish --no-git.tag --ci",
|
|
139
123
|
"test:unit": "node scripts/test-run.mjs --selectProjects unit-node unit-dom --verbose=false",
|
|
140
|
-
"test:
|
|
141
|
-
"test:
|
|
124
|
+
"test:watch": "node scripts/test-run.mjs --selectProjects unit-node unit-dom --watch",
|
|
125
|
+
"test:build": "npm run build && node scripts/test-run.mjs --selectProjects build --verbose=false",
|
|
126
|
+
"test:types": "npm run build && node scripts/test-run.mjs --selectProjects types --verbose=false",
|
|
127
|
+
"test:browser": "npm run build && node scripts/test-run.mjs --selectProjects chrome firefox --verbose=false",
|
|
128
|
+
"test:browser:chrome": "npm run build && node scripts/test-run.mjs --selectProjects chrome --verbose=false",
|
|
129
|
+
"test:browser:firefox": "npm run build && node scripts/test-run.mjs --selectProjects firefox --verbose=false",
|
|
142
130
|
"test:inventory": "node scripts/test-inventory.mjs",
|
|
143
|
-
"test:
|
|
144
|
-
"
|
|
131
|
+
"test:run": "node scripts/test-run.mjs",
|
|
132
|
+
"release": "release-it",
|
|
133
|
+
"release:preview": "release-it --release-version --dry-run --no-git.requireBranch --no-git.requireCleanWorkingDir --no-git.push --no-github.release --no-npm.publish --ci && release-it --changelog --dry-run --no-git.requireBranch --no-git.requireCleanWorkingDir --no-git.push --no-github.release --no-npm.publish --ci"
|
|
145
134
|
},
|
|
146
135
|
"dependencies": {
|
|
147
|
-
"@addon-core/browser": "^0.
|
|
136
|
+
"@addon-core/browser": "^0.9.0",
|
|
148
137
|
"@addon-core/inject-script": "^0.5.0",
|
|
149
|
-
"@addon-core/storage": "^0.
|
|
138
|
+
"@addon-core/storage": "^0.8.0",
|
|
150
139
|
"@rsdoctor/rspack-plugin": "^1.5.1",
|
|
151
140
|
"@rspack/cli": "^1.7.5",
|
|
152
141
|
"@rspack/core": "^1.7.5",
|
|
@@ -172,7 +161,6 @@
|
|
|
172
161
|
"sass": "^1.83.4",
|
|
173
162
|
"sass-loader": "^16.0.4",
|
|
174
163
|
"semver": "^7.7.3",
|
|
175
|
-
"source-modifier-loader": "^1.0.2",
|
|
176
164
|
"tsconfig-paths": "^4.2.0",
|
|
177
165
|
"type-fest": "^4.37.0",
|
|
178
166
|
"typescript": "^5.7.3",
|
|
@@ -212,7 +200,6 @@
|
|
|
212
200
|
"istanbul-reports": "^3.2.0",
|
|
213
201
|
"jest": "^30.2.0",
|
|
214
202
|
"jest-environment-jsdom": "^30.0.0",
|
|
215
|
-
"jest-webextension-mock": "^4.0.0",
|
|
216
203
|
"prettier": "^3.6.2",
|
|
217
204
|
"react": "^19.2.8",
|
|
218
205
|
"react-dom": "^19.2.8",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/cli/builders/app/command.ts"],"sourcesContent":["import {Compiler} from \"@rspack/core\";\n\nexport const build = (compiler: Compiler) => {\n compiler.run((err, stats) => {\n if (err) {\n console.error(\"Rspack compilation error:\", err);\n process.exit(1);\n }\n\n if (stats?.hasErrors()) {\n console.error(\n stats.toString({\n colors: true,\n errors: true,\n })\n );\n\n process.exit(1);\n }\n\n console.log(stats?.toString({colors: true}));\n\n compiler.close(closeErr => {\n if (closeErr) {\n console.error(\"Rspack close error:\", closeErr);\n process.exit(1);\n }\n });\n });\n};\n\nexport const watch = (compiler: Compiler) => {\n const watching = compiler.watch(\n {\n aggregateTimeout: 300,\n ignored: /node_modules/,\n },\n (err, stats) => {\n if (err) {\n console.error(\"Rspack watch error:\", err);\n process.exit(1);\n }\n\n if (stats?.hasErrors()) {\n console.error(\n stats.toString({\n colors: true,\n errors: true,\n })\n );\n\n return;\n }\n\n console.log(stats?.toString({colors: true}));\n }\n );\n\n process.on(\"SIGINT\", () => {\n watching.close(() => {\n console.log(\"Rspack watch mode stopped\");\n process.exit(0);\n });\n });\n};\n"],"mappings":"AAEO,MAAM,QAAQ,CAAC,aAAuB;AACzC,WAAS,IAAI,CAAC,KAAK,UAAU;AACzB,QAAI,KAAK;AACL,cAAQ,MAAM,6BAA6B,GAAG;AAC9C,cAAQ,KAAK,CAAC;AAAA,IAClB;AAEA,QAAI,+BAAO,aAAa;AACpB,cAAQ;AAAA,QACJ,MAAM,SAAS;AAAA,UACX,QAAQ;AAAA,UACR,QAAQ;AAAA,QACZ,CAAC;AAAA,MACL;AAEA,cAAQ,KAAK,CAAC;AAAA,IAClB;AAEA,YAAQ,IAAI,+BAAO,SAAS,EAAC,QAAQ,KAAI,EAAE;AAE3C,aAAS,MAAM,cAAY;AACvB,UAAI,UAAU;AACV,gBAAQ,MAAM,uBAAuB,QAAQ;AAC7C,gBAAQ,KAAK,CAAC;AAAA,MAClB;AAAA,IACJ,CAAC;AAAA,EACL,CAAC;AACL;AAEO,MAAM,QAAQ,CAAC,aAAuB;AACzC,QAAM,WAAW,SAAS;AAAA,IACtB;AAAA,MACI,kBAAkB;AAAA,MAClB,SAAS;AAAA,IACb;AAAA,IACA,CAAC,KAAK,UAAU;AACZ,UAAI,KAAK;AACL,gBAAQ,MAAM,uBAAuB,GAAG;AACxC,gBAAQ,KAAK,CAAC;AAAA,MAClB;AAEA,UAAI,+BAAO,aAAa;AACpB,gBAAQ;AAAA,UACJ,MAAM,SAAS;AAAA,YACX,QAAQ;AAAA,YACR,QAAQ;AAAA,UACZ,CAAC;AAAA,QACL;AAEA;AAAA,MACJ;AAEA,cAAQ,IAAI,+BAAO,SAAS,EAAC,QAAQ,KAAI,EAAE;AAAA,IAC/C;AAAA,EACJ;AAEA,UAAQ,GAAG,UAAU,MAAM;AACvB,aAAS,MAAM,MAAM;AACjB,cAAQ,IAAI,2BAA2B;AACvC,cAAQ,KAAK,CAAC;AAAA,IAClB,CAAC;AAAA,EACL,CAAC;AACL;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./definition.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/entry/background/resolvers/index.ts"],"sourcesContent":["export * from \"./definition\";\n"],"mappings":"AAAA,cAAc;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./definition.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/entry/command/resolvers/index.ts"],"sourcesContent":["export * from \"./definition\";\n"],"mappings":"AAAA,cAAc;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const isValidRenderValue: (value: unknown) => value is string | number | Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/entry/content/adapters/vanilla/utils.ts"],"sourcesContent":["export const isValidRenderValue = (value: unknown): value is string | number | Element => {\n return (typeof value === \"string\" && value.length > 0) || typeof value === \"number\" || value instanceof Element;\n};\n"],"mappings":"AAAO,MAAM,qBAAqB,CAAC,UAAuD;AACtF,SAAQ,OAAO,UAAU,YAAY,MAAM,SAAS,KAAM,OAAO,UAAU,YAAY,iBAAiB;AAC5G;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/entry/content/resolvers/index.ts"],"sourcesContent":["export * from \"./anchor\";\nexport * from \"./container\";\nexport * from \"./definition\";\nexport * from \"./mount\";\nexport * from \"./target\";\nexport * from \"./watch\";\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./resolvers/index.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/transport/index.ts"],"sourcesContent":["export * from \"./resolvers\";\n"],"mappings":"AAAA,cAAc;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./definition.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/entry/transport/resolvers/index.ts"],"sourcesContent":["export * from \"./definition\";\n"],"mappings":"AAAA,cAAc;","names":[]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { createElement, isValidElement } from "react";
|
|
2
|
-
const viewReactRenderResolver = (render) => async (props) => {
|
|
3
|
-
let resolvedRender = typeof render === "function" ? createElement(render, props) : render;
|
|
4
|
-
if (isValidElement(resolvedRender)) {
|
|
5
|
-
return resolvedRender;
|
|
6
|
-
}
|
|
7
|
-
};
|
|
8
|
-
export {
|
|
9
|
-
viewReactRenderResolver
|
|
10
|
-
};
|
|
11
|
-
//# sourceMappingURL=render.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../../src/entry/view/adapters/react/resolvers/render.ts"],"sourcesContent":["import {createElement, isValidElement} from \"react\";\n\nimport {ViewRenderHandler, ViewRenderValue, ViewConfig} from \"@typing/view\";\n\nexport const viewReactRenderResolver =\n <T extends ViewConfig>(render?: ViewRenderValue<T>): ViewRenderHandler<T> =>\n async (props): Promise<void | ViewRenderValue<T>> => {\n let resolvedRender = typeof render === \"function\" ? createElement(render, props) : render;\n\n if (isValidElement(resolvedRender)) {\n return resolvedRender;\n }\n };\n"],"mappings":"AAAA,SAAQ,eAAe,sBAAqB;AAIrC,MAAM,0BACT,CAAuB,WACvB,OAAO,UAA8C;AACjD,MAAI,iBAAiB,OAAO,WAAW,aAAa,cAAc,QAAQ,KAAK,IAAI;AAEnF,MAAI,eAAe,cAAc,GAAG;AAChC,WAAO;AAAA,EACX;AACJ;","names":[]}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import Builder from "./../../../entry/core/Builder.js";
|
|
2
|
-
import { viewContainerResolver } from "./resolvers/container.js";
|
|
3
|
-
import { viewRenderResolver } from "./resolvers/render.js";
|
|
4
|
-
class Builder_default extends Builder {
|
|
5
|
-
definition;
|
|
6
|
-
constructor(definition) {
|
|
7
|
-
super();
|
|
8
|
-
this.definition = {
|
|
9
|
-
...definition,
|
|
10
|
-
container: this.resolveContainer(definition.container),
|
|
11
|
-
render: this.resolveRender(definition.render)
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
resolveContainer(container) {
|
|
15
|
-
return viewContainerResolver(container);
|
|
16
|
-
}
|
|
17
|
-
resolveRender(render) {
|
|
18
|
-
return viewRenderResolver(render);
|
|
19
|
-
}
|
|
20
|
-
getProps() {
|
|
21
|
-
const { render, container, ...props } = this.definition;
|
|
22
|
-
return props;
|
|
23
|
-
}
|
|
24
|
-
async build() {
|
|
25
|
-
await this.destroy();
|
|
26
|
-
const { title } = this.definition;
|
|
27
|
-
if (title) {
|
|
28
|
-
document.title = title;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
export {
|
|
33
|
-
Builder_default as default
|
|
34
|
-
};
|
|
35
|
-
//# sourceMappingURL=Builder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/entry/view/core/Builder.ts"],"sourcesContent":["import Builder from \"@entry/core/Builder\";\n\nimport {viewContainerResolver} from \"./resolvers/container\";\nimport {viewRenderResolver} from \"./resolvers/render\";\n\nimport {\n ViewBuilder,\n ViewConfig,\n ViewContainerCreator,\n ViewContainerFactory,\n ViewContainerOptions,\n ViewContainerTag,\n ViewDefinition,\n ViewRenderHandler,\n ViewRenderValue,\n ViewResolvedDefinition,\n} from \"@typing/view\";\n\nexport default abstract class<T extends ViewConfig> extends Builder implements ViewBuilder {\n protected readonly definition: ViewResolvedDefinition<T>;\n\n protected constructor(definition: ViewDefinition<T>) {\n super();\n\n this.definition = {\n ...definition,\n container: this.resolveContainer(definition.container),\n render: this.resolveRender(definition.render),\n };\n }\n\n protected resolveContainer(\n container?: ViewContainerTag | ViewContainerOptions | ViewContainerFactory<T>\n ): ViewContainerCreator<T> {\n return viewContainerResolver<T>(container);\n }\n\n protected resolveRender(render?: ViewRenderValue<T> | ViewRenderHandler<T>): ViewRenderHandler<T> {\n return viewRenderResolver<T>(render);\n }\n\n protected getProps(): T {\n const {render, container, ...props} = this.definition;\n\n return props as T;\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n const {title} = this.definition;\n\n if (title) {\n document.title = title;\n }\n }\n}\n"],"mappings":"AAAA,OAAO,aAAa;AAEpB,SAAQ,6BAA4B;AACpC,SAAQ,0BAAyB;AAejC,MAAO,wBAAqD,QAA+B;AAAA,EACpE;AAAA,EAET,YAAY,YAA+B;AACjD,UAAM;AAEN,SAAK,aAAa;AAAA,MACd,GAAG;AAAA,MACH,WAAW,KAAK,iBAAiB,WAAW,SAAS;AAAA,MACrD,QAAQ,KAAK,cAAc,WAAW,MAAM;AAAA,IAChD;AAAA,EACJ;AAAA,EAEU,iBACN,WACuB;AACvB,WAAO,sBAAyB,SAAS;AAAA,EAC7C;AAAA,EAEU,cAAc,QAA0E;AAC9F,WAAO,mBAAsB,MAAM;AAAA,EACvC;AAAA,EAEU,WAAc;AACpB,UAAM,EAAC,QAAQ,WAAW,GAAG,MAAK,IAAI,KAAK;AAE3C,WAAO;AAAA,EACX;AAAA,EAEA,MAAa,QAAuB;AAChC,UAAM,KAAK,QAAQ;AAEnB,UAAM,EAAC,MAAK,IAAI,KAAK;AAErB,QAAI,OAAO;AACP,eAAS,QAAQ;AAAA,IACrB;AAAA,EACJ;AACJ;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/entry/view/core/resolvers/container.ts"],"sourcesContent":["import {\n ViewConfig,\n ViewContainerCreator,\n ViewContainerFactory,\n ViewContainerOptions,\n ViewContainerTag,\n} from \"@typing/view\";\n\nexport const viewContainerResolver =\n <T extends ViewConfig>(\n container?: ViewContainerTag | ViewContainerOptions | ViewContainerFactory<T>\n ): ViewContainerCreator<T> =>\n async (props: T): Promise<Element> => {\n let resolvedContainer = typeof container === \"function\" ? container(props) : container;\n\n if (resolvedContainer instanceof Promise) {\n resolvedContainer = await resolvedContainer;\n }\n\n if (resolvedContainer === undefined || typeof resolvedContainer === \"string\") {\n resolvedContainer = document.createElement(resolvedContainer || \"div\");\n } else if (typeof resolvedContainer === \"object\" && resolvedContainer.constructor === Object) {\n const {tagName = \"div\", ...options} = resolvedContainer as ViewContainerOptions;\n\n resolvedContainer = document.createElement(tagName);\n\n Object.assign(resolvedContainer, options);\n }\n\n if (!(resolvedContainer instanceof Element)) {\n throw new Error(\"The view container must be a valid element\");\n }\n\n return resolvedContainer;\n };\n"],"mappings":"AAQO,MAAM,wBACT,CACI,cAEJ,OAAO,UAA+B;AAClC,MAAI,oBAAoB,OAAO,cAAc,aAAa,UAAU,KAAK,IAAI;AAE7E,MAAI,6BAA6B,SAAS;AACtC,wBAAoB,MAAM;AAAA,EAC9B;AAEA,MAAI,sBAAsB,UAAa,OAAO,sBAAsB,UAAU;AAC1E,wBAAoB,SAAS,cAAc,qBAAqB,KAAK;AAAA,EACzE,WAAW,OAAO,sBAAsB,YAAY,kBAAkB,gBAAgB,QAAQ;AAC1F,UAAM,EAAC,UAAU,OAAO,GAAG,QAAO,IAAI;AAEtC,wBAAoB,SAAS,cAAc,OAAO;AAElD,WAAO,OAAO,mBAAmB,OAAO;AAAA,EAC5C;AAEA,MAAI,EAAE,6BAA6B,UAAU;AACzC,UAAM,IAAI,MAAM,4CAA4C;AAAA,EAChE;AAEA,SAAO;AACX;","names":[]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { ViewConfig, ViewDefinition, ViewRenderHandler, ViewRenderValue } from "../../../../types/view.js";
|
|
2
|
-
export declare const isViewDefinition: <T extends ViewConfig = ViewConfig>(definition: any) => definition is ViewDefinition<T>;
|
|
3
|
-
export declare const isValidViewDefinitionRenderValue: <T extends ViewConfig = ViewConfig>(definition: any) => definition is ViewRenderValue<T> | ViewRenderHandler<T>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { isValidViewRenderValue } from "../resolvers/render.js";
|
|
2
|
-
const isViewDefinition = (definition) => {
|
|
3
|
-
return definition && typeof definition === "object" && definition.constructor === Object && !("$$typeof" in definition);
|
|
4
|
-
};
|
|
5
|
-
const isValidViewDefinitionRenderValue = (definition) => {
|
|
6
|
-
return isValidViewRenderValue(definition) || typeof definition === "function" || typeof definition === "object" && definition.constructor === Object && "$$typeof" in definition;
|
|
7
|
-
};
|
|
8
|
-
export {
|
|
9
|
-
isValidViewDefinitionRenderValue,
|
|
10
|
-
isViewDefinition
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=definition.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/entry/view/core/resolvers/definition.ts"],"sourcesContent":["import {isValidViewRenderValue} from \"../resolvers/render\";\n\nimport {ViewConfig, ViewDefinition, ViewRenderHandler, ViewRenderValue} from \"@typing/view\";\n\nexport const isViewDefinition = <T extends ViewConfig = ViewConfig>(\n definition: any\n): definition is ViewDefinition<T> => {\n return (\n definition && typeof definition === \"object\" && definition.constructor === Object && !(\"$$typeof\" in definition)\n );\n};\n\nexport const isValidViewDefinitionRenderValue = <T extends ViewConfig = ViewConfig>(\n definition: any\n): definition is ViewRenderValue<T> | ViewRenderHandler<T> => {\n return (\n isValidViewRenderValue(definition) ||\n typeof definition === \"function\" ||\n (typeof definition === \"object\" && definition.constructor === Object && \"$$typeof\" in definition)\n );\n};\n"],"mappings":"AAAA,SAAQ,8BAA6B;AAI9B,MAAM,mBAAmB,CAC5B,eACkC;AAClC,SACI,cAAc,OAAO,eAAe,YAAY,WAAW,gBAAgB,UAAU,EAAE,cAAc;AAE7G;AAEO,MAAM,mCAAmC,CAC5C,eAC0D;AAC1D,SACI,uBAAuB,UAAU,KACjC,OAAO,eAAe,cACrB,OAAO,eAAe,YAAY,WAAW,gBAAgB,UAAU,cAAc;AAE9F;","names":[]}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { ViewConfig, ViewRenderHandler, ViewRenderValue } from "../../../../types/view.js";
|
|
2
|
-
export declare const isValidViewRenderValue: (value: unknown) => value is string | number | Element;
|
|
3
|
-
export declare const viewRenderResolver: <T extends ViewConfig>(render?: ViewRenderValue<T> | ViewRenderHandler<T>) => ViewRenderHandler<T>;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
const isValidViewRenderValue = (value) => {
|
|
2
|
-
return typeof value === "string" && value.length > 0 || typeof value === "number" || value instanceof Element;
|
|
3
|
-
};
|
|
4
|
-
const viewRenderResolver = (render) => async (props) => {
|
|
5
|
-
let resolvedRender = typeof render === "function" ? render(props) : render;
|
|
6
|
-
if (resolvedRender instanceof Promise) {
|
|
7
|
-
resolvedRender = await resolvedRender;
|
|
8
|
-
}
|
|
9
|
-
if (!isValidViewRenderValue(resolvedRender)) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
return resolvedRender;
|
|
13
|
-
};
|
|
14
|
-
export {
|
|
15
|
-
isValidViewRenderValue,
|
|
16
|
-
viewRenderResolver
|
|
17
|
-
};
|
|
18
|
-
//# sourceMappingURL=render.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/entry/view/core/resolvers/render.ts"],"sourcesContent":["import {ViewConfig, ViewRenderHandler, ViewRenderValue} from \"@typing/view\";\n\nexport const isValidViewRenderValue = (value: unknown): value is string | number | Element => {\n return (typeof value === \"string\" && value.length > 0) || typeof value === \"number\" || value instanceof Element;\n};\n\nexport const viewRenderResolver =\n <T extends ViewConfig>(render?: ViewRenderValue<T> | ViewRenderHandler<T>): ViewRenderHandler<T> =>\n async (props): Promise<void | ViewRenderValue<T>> => {\n let resolvedRender = typeof render === \"function\" ? render(props) : render;\n\n if (resolvedRender instanceof Promise) {\n resolvedRender = await resolvedRender;\n }\n\n if (!isValidViewRenderValue(resolvedRender)) {\n return;\n }\n\n return resolvedRender;\n };\n"],"mappings":"AAEO,MAAM,yBAAyB,CAAC,UAAuD;AAC1F,SAAQ,OAAO,UAAU,YAAY,MAAM,SAAS,KAAM,OAAO,UAAU,YAAY,iBAAiB;AAC5G;AAEO,MAAM,qBACT,CAAuB,WACvB,OAAO,UAA8C;AACjD,MAAI,iBAAiB,OAAO,WAAW,aAAa,OAAO,KAAK,IAAI;AAEpE,MAAI,0BAA0B,SAAS;AACnC,qBAAiB,MAAM;AAAA,EAC3B;AAEA,MAAI,CAAC,uBAAuB,cAAc,GAAG;AACzC;AAAA,EACJ;AAEA,SAAO;AACX;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./core/resolvers/definition.js";
|
package/dist/entry/view/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/entry/view/index.ts"],"sourcesContent":["export * from \"./core/resolvers/definition\";\n"],"mappings":"AAAA,cAAc;","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/locale/providers/ObservableLocale.ts"],"sourcesContent":["import DynamicLocale from \"./DynamicLocale\";\nimport CustomLocale from \"./CustomLocale\";\n\nimport {LocaleStorage} from \"../storage\";\n\nimport type {\n Language,\n LocaleDynamicProvider,\n LocaleNonPluralKeys,\n LocalePluralKeys,\n LocaleRegistry,\n LocaleSnapshot,\n LocaleStorageDriver,\n LocaleSubstitutionArgs,\n LocaleSubstitutionValue,\n} from \"@typing/locale\";\n\n/** Dynamic translations with shared instances and subscriptions independent of any UI framework. */\nexport default class ObservableLocale<T extends object = LocaleRegistry> implements LocaleDynamicProvider<T> {\n private static defaultInstance?: ObservableLocale;\n private static memoryInstance?: ObservableLocale;\n\n private static readonly drivers = new WeakMap<LocaleStorageDriver, ObservableLocale>();\n\n public static getInstance(storage?: LocaleStorageDriver | false): ObservableLocale {\n if (typeof storage === \"object\") {\n let instance = this.drivers.get(storage);\n\n if (!instance) {\n instance = new ObservableLocale(storage);\n this.drivers.set(storage, instance);\n }\n\n return instance;\n }\n\n if (storage === false) {\n return (this.memoryInstance ??= new ObservableLocale(false));\n }\n\n return (this.defaultInstance ??= new ObservableLocale());\n }\n\n private readonly locale = new DynamicLocale<T>(false);\n private readonly storage?: LocaleStorageDriver;\n private readonly listeners = new Set<() => void>();\n private readonly languages: ReadonlySet<Language>;\n private readonly languageNames: ReadonlyMap<Language, string>;\n private currentSnapshot: LocaleSnapshot<T>;\n private revision = 0;\n private writes: Promise<void> = Promise.resolve();\n private pendingWrites = 0;\n private unsubscribe?: () => void;\n\n constructor(storage?: LocaleStorageDriver | false) {\n this.storage = storage === false ? undefined : (storage ?? new LocaleStorage());\n this.languages = this.langs();\n this.languageNames = this.langNames();\n this.currentSnapshot = this.createSnapshot();\n }\n\n public lang(): Language {\n return this.locale.lang();\n }\n\n public langs(): ReadonlySet<Language> {\n return this.locale.langs();\n }\n\n public langNames(): ReadonlyMap<Language, string> {\n return this.locale.langNames();\n }\n\n public keys(): Set<keyof T> {\n return this.locale.keys();\n }\n\n public get<K extends keyof T & string>(key: K, substitutions?: Record<string, LocaleSubstitutionValue>): string {\n return this.locale.get(key, substitutions);\n }\n\n public trans<K extends LocaleNonPluralKeys<T>>(key: K, ...args: LocaleSubstitutionArgs<T, K>): string {\n return this.locale.trans(key, ...args);\n }\n\n public choice<K extends LocalePluralKeys<T>>(key: K, count: number, ...args: LocaleSubstitutionArgs<T, K>): string {\n return this.locale.choice(key, count, ...args);\n }\n\n public readonly snapshot = (): LocaleSnapshot<T> => this.currentSnapshot;\n\n public readonly subscribe = (listener: () => void): (() => void) => {\n // Each subscription owns its cleanup, even when the same callback is subscribed twice.\n const notify = () => listener();\n\n this.listeners.add(notify);\n\n try {\n this.connect();\n } catch (error) {\n this.listeners.delete(notify);\n throw error;\n }\n\n if (this.listeners.size === 1) {\n void this.refresh();\n }\n\n return () => {\n this.listeners.delete(notify);\n this.disconnect();\n };\n };\n\n public readonly change = async (lang: Language): Promise<Language> => {\n this.locale.select(lang);\n\n const storage = this.storage;\n\n if (!storage) {\n this.publish();\n return lang;\n }\n\n this.revision++;\n\n // Register persistence before notifying: a subscriber may select another language immediately.\n this.pendingWrites++;\n\n const saved = this.writes.then(() => storage.set(lang));\n\n this.writes = saved.catch(() => undefined);\n\n this.publish();\n\n let succeeded = false;\n\n try {\n await saved;\n succeeded = true;\n\n return lang;\n } finally {\n if (--this.pendingWrites === 0 && succeeded) {\n void this.refresh();\n }\n }\n };\n\n public async sync(): Promise<Language> {\n if (!this.storage) {\n throw new Error(\"Language is not saving in storage\");\n }\n\n if (this.pendingWrites) {\n return this.lang();\n }\n\n const revision = ++this.revision;\n const lang = await this.storage.get();\n\n if (revision !== this.revision || this.pendingWrites) {\n return this.lang();\n }\n\n if (lang === undefined) {\n return this.lang();\n }\n\n if (!this.langs().has(lang)) {\n console.warn(`Incorrect language code in storage - \"${lang}\"`);\n\n return this.lang();\n }\n\n this.locale.select(lang);\n\n this.publish();\n\n return this.lang();\n }\n\n private connect(): void {\n if (!this.storage || this.unsubscribe) {\n return;\n }\n\n this.unsubscribe = this.storage.watch(() => {\n void this.refresh();\n });\n }\n\n private disconnect(): void {\n if (this.listeners.size) {\n return;\n }\n\n this.revision++;\n\n this.unsubscribe?.();\n this.unsubscribe = undefined;\n }\n\n private async refresh(): Promise<void> {\n if (!this.storage || this.pendingWrites) {\n return;\n }\n\n try {\n await this.sync();\n } catch (error) {\n console.error(\"[ObservableLocale] Cannot synchronize language:\", error);\n }\n }\n\n private createSnapshot(): LocaleSnapshot<T> {\n const lang = this.lang();\n const langs = this.languages;\n const langNames = this.languageNames;\n\n const reader = new CustomLocale<T>(lang, this.locale.messages());\n\n return Object.freeze({\n lang: () => lang,\n langs: () => langs,\n langNames: () => langNames,\n get: reader.get.bind(reader),\n });\n }\n\n private publish(): void {\n if (this.currentSnapshot.lang() === this.lang()) {\n return;\n }\n\n this.currentSnapshot = this.createSnapshot();\n\n for (const listener of [...this.listeners]) {\n try {\n listener();\n } catch (error) {\n console.error(\"[ObservableLocale] Language subscriber failed:\", error);\n }\n }\n }\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/message/adapters/react/useMessageHandler.ts"],"sourcesContent":["import {useCallback, useEffect, useRef} from \"react\";\nimport {MessageDictionary, MessageTargetHandler, MessageType} from \"@typing/message\";\n\nimport {Message} from \"@message/providers\";\n\nexport default function useMessageHandler<K extends MessageType<T>, T extends MessageDictionary = MessageDictionary>(\n type: K,\n handler: MessageTargetHandler<T, K>\n): void {\n const messageRef = useRef<Message<T> | null>(null);\n\n if (!messageRef.current) {\n messageRef.current = Message.getInstance<T>();\n }\n\n const handlerRef = useRef(handler);\n handlerRef.current = handler;\n\n const stableWrapper = useCallback<MessageTargetHandler<T, K>>((data, sender) => {\n return handlerRef.current(data, sender);\n }, []);\n\n useEffect(() => {\n return messageRef.current!.watch(type, stableWrapper);\n }, [type, stableWrapper]);\n}\n"],"mappings":"AAAA,SAAQ,aAAa,WAAW,cAAa;AAG7C,SAAQ,eAAc;AAEP,SAAR,kBACH,MACA,SACI;AACJ,QAAM,aAAa,OAA0B,IAAI;AAEjD,MAAI,CAAC,WAAW,SAAS;AACrB,eAAW,UAAU,QAAQ,YAAe;AAAA,EAChD;AAEA,QAAM,aAAa,OAAO,OAAO;AACjC,aAAW,UAAU;AAErB,QAAM,gBAAgB,YAAwC,CAAC,MAAM,WAAW;AAC5E,WAAO,WAAW,QAAQ,MAAM,MAAM;AAAA,EAC1C,GAAG,CAAC,CAAC;AAEL,YAAU,MAAM;AACZ,WAAO,WAAW,QAAS,MAAM,MAAM,aAAa;AAAA,EACxD,GAAG,CAAC,MAAM,aAAa,CAAC;AAC5B;","names":[]}
|
package/dist/types/view.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=view.js.map
|
package/scripts/clean-dist.js
DELETED
package/scripts/copy-dts.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import {globby} from "globby";
|
|
2
|
-
import {cp, mkdir} from "fs/promises";
|
|
3
|
-
import {dirname, join, relative} from "path";
|
|
4
|
-
import {fileURLToPath} from "url";
|
|
5
|
-
|
|
6
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
7
|
-
const root = join(__dirname, "..");
|
|
8
|
-
const distRoot = join(root, "dist");
|
|
9
|
-
|
|
10
|
-
const files = await globby(
|
|
11
|
-
[
|
|
12
|
-
"src/**/*.d.ts",
|
|
13
|
-
"!src/**/tests/**/*",
|
|
14
|
-
"!src/**/__tests__/**/*",
|
|
15
|
-
"!src/**/__mocks__/**/*",
|
|
16
|
-
"!src/**/*.test.d.ts",
|
|
17
|
-
"!src/**/*.spec.d.ts",
|
|
18
|
-
],
|
|
19
|
-
{cwd: root, dot: true}
|
|
20
|
-
);
|
|
21
|
-
|
|
22
|
-
for (const file of files) {
|
|
23
|
-
const rel = relative("src", file);
|
|
24
|
-
const dest = join(distRoot, rel);
|
|
25
|
-
await mkdir(dirname(dest), {recursive: true});
|
|
26
|
-
await cp(join(root, file), dest, {force: true, recursive: false});
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
console.log(`DTS Copied ${files.length} .d.ts files to dist`);
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import {readFile} from "node:fs/promises";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import coverage from "istanbul-lib-coverage";
|
|
4
|
-
import report from "istanbul-lib-report";
|
|
5
|
-
import reports from "istanbul-reports";
|
|
6
|
-
|
|
7
|
-
const files = process.argv.slice(2);
|
|
8
|
-
if (files.length < 2) throw new Error("Pass the unit and build coverage-final.json files");
|
|
9
|
-
const map = coverage.createCoverageMap({});
|
|
10
|
-
for (const file of files) map.merge(JSON.parse(await readFile(file, "utf8")));
|
|
11
|
-
const context = report.createContext({dir: path.resolve("coverage/merged"), coverageMap: map});
|
|
12
|
-
for (const format of ["json", "lcov", "text-summary"]) reports.create(format).execute(context);
|
package/scripts/pre-commit.mjs
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import {execFileSync} from "node:child_process";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import * as prettier from "prettier";
|
|
4
|
-
|
|
5
|
-
const root = path.resolve(import.meta.dirname, "..");
|
|
6
|
-
const git = args => execFileSync("git", args, {cwd: root, encoding: "utf8"});
|
|
7
|
-
const changed = git(["diff", "--cached", "--name-only", "--diff-filter=ACMR", "-z"]).split("\0").filter(Boolean);
|
|
8
|
-
const unformatted = [];
|
|
9
|
-
|
|
10
|
-
for (const file of changed) {
|
|
11
|
-
const filepath = path.join(root, file);
|
|
12
|
-
const info = await prettier.getFileInfo(filepath, {ignorePath: path.join(root, ".prettierignore")});
|
|
13
|
-
if (info.ignored || !info.inferredParser) continue;
|
|
14
|
-
// Check the staged contents; never rewrite unstaged work or silently stage it.
|
|
15
|
-
const contents = git(["show", `:${file}`]);
|
|
16
|
-
if (!(await prettier.check(contents, {...(await prettier.resolveConfig(filepath)), filepath})))
|
|
17
|
-
unformatted.push(file);
|
|
18
|
-
}
|
|
19
|
-
if (unformatted.length) {
|
|
20
|
-
console.error(`Format and stage these files before committing:\n${unformatted.join("\n")}`);
|
|
21
|
-
process.exit(1);
|
|
22
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import assert from "node:assert/strict";
|
|
2
|
-
import {execFile} from "node:child_process";
|
|
3
|
-
import {existsSync} from "node:fs";
|
|
4
|
-
import path from "node:path";
|
|
5
|
-
import {promisify} from "node:util";
|
|
6
|
-
|
|
7
|
-
const execute = promisify(execFile);
|
|
8
|
-
const root = path.resolve(import.meta.dirname, "..");
|
|
9
|
-
const jest = path.join(root, "scripts/test-run.mjs");
|
|
10
|
-
const options = {cwd: root, maxBuffer: 10 * 1024 * 1024};
|
|
11
|
-
const {stdout: configuration} = await execute(process.execPath, [jest, "--showConfig"], options);
|
|
12
|
-
const projects = JSON.parse(configuration).configs.map(config => config.displayName.name);
|
|
13
|
-
const {stdout: tracked} = await execute(
|
|
14
|
-
"git",
|
|
15
|
-
["ls-files", "--cached", "--others", "--exclude-standard", "-z"],
|
|
16
|
-
options
|
|
17
|
-
);
|
|
18
|
-
const expected = new Set(
|
|
19
|
-
tracked.split("\0").filter(file => file.endsWith(".test.ts") && existsSync(path.join(root, file)))
|
|
20
|
-
);
|
|
21
|
-
const owners = new Map();
|
|
22
|
-
|
|
23
|
-
for (const project of projects) {
|
|
24
|
-
const {stdout} = await execute(
|
|
25
|
-
process.execPath,
|
|
26
|
-
[jest, "--selectProjects", project, "--listTests", "--json", "--runInBand"],
|
|
27
|
-
options
|
|
28
|
-
);
|
|
29
|
-
const files = JSON.parse(stdout);
|
|
30
|
-
console.info(`${project}: ${files.length} files`);
|
|
31
|
-
for (const filename of files) {
|
|
32
|
-
const file = path.relative(root, filename).split(path.sep).join("/");
|
|
33
|
-
assert(!owners.has(file), `${file} belongs to both ${owners.get(file)} and ${project}`);
|
|
34
|
-
owners.set(file, project);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
assert.deepEqual(new Set(owners.keys()), expected, "Every test file must belong to exactly one Jest project");
|
|
38
|
-
console.info(`${expected.size} test files, each in exactly one project`);
|
package/scripts/test-run.mjs
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import {spawn} from "node:child_process";
|
|
2
|
-
import {constants} from "node:os";
|
|
3
|
-
import path from "node:path";
|
|
4
|
-
|
|
5
|
-
const root = path.resolve(import.meta.dirname, "..");
|
|
6
|
-
// Keep the workaround scoped to the environment where this project reproduces nodejs/node#62393.
|
|
7
|
-
const flags = process.platform === "darwin" && process.arch === "arm64" ? ["--no-sparkplug"] : [];
|
|
8
|
-
const child = spawn(
|
|
9
|
-
process.execPath,
|
|
10
|
-
[...flags, path.join(root, "node_modules/jest/bin/jest.js"), ...process.argv.slice(2)],
|
|
11
|
-
{stdio: "inherit"}
|
|
12
|
-
);
|
|
13
|
-
|
|
14
|
-
const forward = signal => child.kill(signal);
|
|
15
|
-
const signals = ["SIGINT", "SIGTERM", "SIGHUP"];
|
|
16
|
-
for (const signal of signals) process.on(signal, forward);
|
|
17
|
-
child.once("error", error => {
|
|
18
|
-
console.error(error);
|
|
19
|
-
process.exitCode = 1;
|
|
20
|
-
});
|
|
21
|
-
child.once("close", (code, signal) => {
|
|
22
|
-
for (const signal of signals) process.off(signal, forward);
|
|
23
|
-
if (signal) console.error(`Jest terminated with ${signal}`);
|
|
24
|
-
process.exitCode = code ?? (signal ? 128 + constants.signals[signal] : 1);
|
|
25
|
-
});
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|