adnbn 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (400) hide show
  1. package/dist/cli/builders/manifest/ManifestBase.d.ts +4 -1
  2. package/dist/cli/builders/manifest/ManifestBase.js +14 -0
  3. package/dist/cli/builders/manifest/ManifestBase.js.map +1 -1
  4. package/dist/cli/bundler/layers.d.ts +3 -3
  5. package/dist/cli/bundler/layers.js +6 -7
  6. package/dist/cli/bundler/layers.js.map +1 -1
  7. package/dist/cli/bundler/plugins/build-assets-map/BuildAssetsMapPlugin.js +42 -14
  8. package/dist/cli/bundler/plugins/build-assets-map/BuildAssetsMapPlugin.js.map +1 -1
  9. package/dist/cli/bundler/plugins/build-assets-map/normalize.d.ts +3 -0
  10. package/dist/cli/bundler/plugins/build-assets-map/normalize.js +24 -0
  11. package/dist/cli/bundler/plugins/build-assets-map/normalize.js.map +1 -0
  12. package/dist/cli/bundler/plugins/build-assets-map/templates/runtime.template.d.ts +2 -0
  13. package/dist/cli/bundler/plugins/build-assets-map/templates.d.ts +9 -0
  14. package/dist/cli/bundler/plugins/build-assets-map/templates.js +32 -0
  15. package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js +11 -0
  16. package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js.map +1 -1
  17. package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.d.ts +1 -1
  18. package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.js +38 -13
  19. package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.js.map +1 -1
  20. package/dist/cli/bundler/plugins/isolated-styles/chunks.d.ts +5 -1
  21. package/dist/cli/bundler/plugins/isolated-styles/chunks.js +17 -16
  22. package/dist/cli/bundler/plugins/isolated-styles/chunks.js.map +1 -1
  23. package/dist/cli/bundler/plugins/isolated-styles/split-chunks.d.ts +4 -0
  24. package/dist/cli/bundler/plugins/isolated-styles/split-chunks.js +51 -0
  25. package/dist/cli/bundler/plugins/isolated-styles/split-chunks.js.map +1 -0
  26. package/dist/cli/bundler/plugins/isolated-styles/templates.js +36 -6
  27. package/dist/cli/entrypoint/finder/AbstractOverrideFinder.d.ts +15 -0
  28. package/dist/cli/entrypoint/finder/AbstractOverrideFinder.js +20 -0
  29. package/dist/cli/entrypoint/finder/AbstractOverrideFinder.js.map +1 -0
  30. package/dist/cli/entrypoint/finder/AbstractViewFinder.d.ts +6 -1
  31. package/dist/cli/entrypoint/finder/AbstractViewFinder.js +15 -0
  32. package/dist/cli/entrypoint/finder/AbstractViewFinder.js.map +1 -1
  33. package/dist/cli/entrypoint/finder/BookmarksFinder.d.ts +9 -0
  34. package/dist/cli/entrypoint/finder/BookmarksFinder.js +18 -0
  35. package/dist/cli/entrypoint/finder/BookmarksFinder.js.map +1 -0
  36. package/dist/cli/entrypoint/finder/CommandFinder.d.ts +4 -0
  37. package/dist/cli/entrypoint/finder/CommandFinder.js +20 -6
  38. package/dist/cli/entrypoint/finder/CommandFinder.js.map +1 -1
  39. package/dist/cli/entrypoint/finder/HistoryFinder.d.ts +9 -0
  40. package/dist/cli/entrypoint/finder/HistoryFinder.js +18 -0
  41. package/dist/cli/entrypoint/finder/HistoryFinder.js.map +1 -0
  42. package/dist/cli/entrypoint/finder/NewtabFinder.d.ts +9 -0
  43. package/dist/cli/entrypoint/finder/NewtabFinder.js +18 -0
  44. package/dist/cli/entrypoint/finder/NewtabFinder.js.map +1 -0
  45. package/dist/cli/entrypoint/finder/OptionsFinder.d.ts +2 -2
  46. package/dist/cli/entrypoint/finder/OptionsFinder.js +2 -2
  47. package/dist/cli/entrypoint/finder/OptionsFinder.js.map +1 -1
  48. package/dist/cli/entrypoint/finder/PageFinder.js +1 -1
  49. package/dist/cli/entrypoint/finder/PageFinder.js.map +1 -1
  50. package/dist/cli/entrypoint/finder/PopupFinder.d.ts +2 -2
  51. package/dist/cli/entrypoint/finder/PopupFinder.js +2 -2
  52. package/dist/cli/entrypoint/finder/PopupFinder.js.map +1 -1
  53. package/dist/cli/entrypoint/finder/SidebarFinder.d.ts +2 -2
  54. package/dist/cli/entrypoint/finder/SidebarFinder.js +2 -2
  55. package/dist/cli/entrypoint/finder/SidebarFinder.js.map +1 -1
  56. package/dist/cli/entrypoint/finder/ViewCspFinder.d.ts +2 -3
  57. package/dist/cli/entrypoint/finder/ViewCspFinder.js.map +1 -1
  58. package/dist/cli/entrypoint/finder/ViewPermissionsFinder.d.ts +22 -0
  59. package/dist/cli/entrypoint/finder/ViewPermissionsFinder.js +43 -0
  60. package/dist/cli/entrypoint/finder/ViewPermissionsFinder.js.map +1 -0
  61. package/dist/cli/entrypoint/finder/index.d.ts +5 -0
  62. package/dist/cli/entrypoint/finder/index.js +50 -40
  63. package/dist/cli/entrypoint/finder/index.js.map +1 -1
  64. package/dist/cli/entrypoint/name/NameGenerator.d.ts +2 -0
  65. package/dist/cli/entrypoint/name/NameGenerator.js +5 -1
  66. package/dist/cli/entrypoint/name/NameGenerator.js.map +1 -1
  67. package/dist/cli/entrypoint/parser/AbstractOverrideParser.d.ts +9 -0
  68. package/dist/cli/entrypoint/parser/AbstractOverrideParser.js +11 -0
  69. package/dist/cli/entrypoint/parser/AbstractOverrideParser.js.map +1 -0
  70. package/dist/cli/entrypoint/parser/BackgroundParser.js +3 -6
  71. package/dist/cli/entrypoint/parser/BackgroundParser.js.map +1 -1
  72. package/dist/cli/entrypoint/parser/BookmarksParser.d.ts +5 -0
  73. package/dist/cli/entrypoint/parser/BookmarksParser.js +10 -0
  74. package/dist/cli/entrypoint/parser/BookmarksParser.js.map +1 -0
  75. package/dist/cli/entrypoint/parser/HistoryParser.d.ts +5 -0
  76. package/dist/cli/entrypoint/parser/HistoryParser.js +10 -0
  77. package/dist/cli/entrypoint/parser/HistoryParser.js.map +1 -0
  78. package/dist/cli/entrypoint/parser/NewtabParser.d.ts +5 -0
  79. package/dist/cli/entrypoint/parser/NewtabParser.js +10 -0
  80. package/dist/cli/entrypoint/parser/NewtabParser.js.map +1 -0
  81. package/dist/cli/entrypoint/parser/OptionsParser.js +2 -1
  82. package/dist/cli/entrypoint/parser/OptionsParser.js.map +1 -1
  83. package/dist/cli/entrypoint/parser/PopupParser.js +2 -1
  84. package/dist/cli/entrypoint/parser/PopupParser.js.map +1 -1
  85. package/dist/cli/entrypoint/parser/SidebarParser.js +2 -1
  86. package/dist/cli/entrypoint/parser/SidebarParser.js.map +1 -1
  87. package/dist/cli/entrypoint/parser/ViewCspParser.d.ts +1 -1
  88. package/dist/cli/entrypoint/parser/ViewParser.d.ts +1 -1243
  89. package/dist/cli/entrypoint/parser/ViewParser.js +2 -72
  90. package/dist/cli/entrypoint/parser/ViewParser.js.map +1 -1
  91. package/dist/cli/entrypoint/parser/index.d.ts +4 -0
  92. package/dist/cli/entrypoint/parser/index.js +28 -20
  93. package/dist/cli/entrypoint/parser/index.js.map +1 -1
  94. package/dist/cli/entrypoint/parser/schemas/html.d.ts +903 -0
  95. package/dist/cli/entrypoint/parser/schemas/html.js +64 -0
  96. package/dist/cli/entrypoint/parser/schemas/html.js.map +1 -0
  97. package/dist/cli/entrypoint/parser/schemas/permissions.d.ts +23 -0
  98. package/dist/cli/entrypoint/parser/schemas/permissions.js +11 -0
  99. package/dist/cli/entrypoint/parser/schemas/permissions.js.map +1 -0
  100. package/dist/cli/plugins/content/bundler.d.ts +0 -3
  101. package/dist/cli/plugins/content/bundler.js +4 -20
  102. package/dist/cli/plugins/content/bundler.js.map +1 -1
  103. package/dist/cli/plugins/content/index.js +2 -3
  104. package/dist/cli/plugins/content/index.js.map +1 -1
  105. package/dist/cli/plugins/index.d.ts +1 -0
  106. package/dist/cli/plugins/index.js +22 -20
  107. package/dist/cli/plugins/index.js.map +1 -1
  108. package/dist/cli/plugins/locale/Locale.js +5 -2
  109. package/dist/cli/plugins/locale/Locale.js.map +1 -1
  110. package/dist/cli/plugins/options/index.js +1 -1
  111. package/dist/cli/plugins/options/index.js.map +1 -1
  112. package/dist/cli/plugins/override/Override.d.ts +31 -0
  113. package/dist/cli/plugins/override/Override.js +112 -0
  114. package/dist/cli/plugins/override/Override.js.map +1 -0
  115. package/dist/cli/plugins/override/index.d.ts +2 -0
  116. package/dist/cli/plugins/override/index.js +48 -0
  117. package/dist/cli/plugins/override/index.js.map +1 -0
  118. package/dist/cli/plugins/popup/index.js +1 -1
  119. package/dist/cli/plugins/popup/index.js.map +1 -1
  120. package/dist/cli/plugins/sidebar/index.js +1 -2
  121. package/dist/cli/plugins/sidebar/index.js.map +1 -1
  122. package/dist/cli/plugins/style/index.d.ts +1 -2
  123. package/dist/cli/plugins/style/index.js +19 -30
  124. package/dist/cli/plugins/style/index.js.map +1 -1
  125. package/dist/cli/plugins/view/View.d.ts +1 -1
  126. package/dist/cli/plugins/view/View.js +2 -10
  127. package/dist/cli/plugins/view/View.js.map +1 -1
  128. package/dist/cli/plugins/view/index.js +10 -1
  129. package/dist/cli/plugins/view/index.js.map +1 -1
  130. package/dist/cli/resolvers/config.js +3 -2
  131. package/dist/cli/resolvers/config.js.map +1 -1
  132. package/dist/cli/virtual/index.js +14 -17
  133. package/dist/cli/virtual/virtual.d.ts +7 -127
  134. package/dist/entry/background/Builder.js +1 -1
  135. package/dist/entry/background/Builder.js.map +1 -1
  136. package/dist/entry/background/index.d.ts +1 -1
  137. package/dist/entry/background/index.js +3 -2
  138. package/dist/entry/background/index.js.map +1 -1
  139. package/dist/entry/background/resolvers/definition.d.ts +5 -1
  140. package/dist/entry/background/resolvers/definition.js +15 -4
  141. package/dist/entry/background/resolvers/definition.js.map +1 -1
  142. package/dist/entry/command/Builder.js +1 -1
  143. package/dist/entry/command/Builder.js.map +1 -1
  144. package/dist/entry/command/index.d.ts +1 -1
  145. package/dist/entry/command/index.js +3 -2
  146. package/dist/entry/command/index.js.map +1 -1
  147. package/dist/entry/command/resolvers/definition.d.ts +6 -2
  148. package/dist/entry/command/resolvers/definition.js +14 -4
  149. package/dist/entry/command/resolvers/definition.js.map +1 -1
  150. package/dist/entry/content/adapters/react/Builder.d.ts +4 -2
  151. package/dist/entry/content/adapters/react/Builder.js +13 -5
  152. package/dist/entry/content/adapters/react/Builder.js.map +1 -1
  153. package/dist/entry/content/adapters/react/Node.js +13 -8
  154. package/dist/entry/content/adapters/react/Node.js.map +1 -1
  155. package/dist/entry/content/adapters/react/definition.d.ts +2 -0
  156. package/dist/entry/content/adapters/react/definition.js +13 -0
  157. package/dist/entry/content/adapters/react/definition.js.map +1 -0
  158. package/dist/entry/content/adapters/react/index.d.ts +1 -1
  159. package/dist/entry/content/adapters/react/index.js +1 -1
  160. package/dist/entry/content/adapters/react/index.js.map +1 -1
  161. package/dist/entry/content/adapters/vanilla/Builder.d.ts +4 -2
  162. package/dist/entry/content/adapters/vanilla/Builder.js +14 -5
  163. package/dist/entry/content/adapters/vanilla/Builder.js.map +1 -1
  164. package/dist/entry/content/adapters/vanilla/Node.js +3 -5
  165. package/dist/entry/content/adapters/vanilla/Node.js.map +1 -1
  166. package/dist/entry/content/adapters/vanilla/definition.d.ts +2 -0
  167. package/dist/entry/content/adapters/vanilla/definition.js +9 -0
  168. package/dist/entry/content/adapters/vanilla/definition.js.map +1 -0
  169. package/dist/entry/content/adapters/vanilla/index.d.ts +1 -1
  170. package/dist/entry/content/adapters/vanilla/index.js +1 -1
  171. package/dist/entry/content/adapters/vanilla/index.js.map +1 -1
  172. package/dist/entry/content/lifecycle/Builder.d.ts +10 -4
  173. package/dist/entry/content/lifecycle/Builder.js +107 -69
  174. package/dist/entry/content/lifecycle/Builder.js.map +1 -1
  175. package/dist/entry/content/lifecycle/MountBuilder.d.ts +6 -3
  176. package/dist/entry/content/lifecycle/MountBuilder.js +32 -16
  177. package/dist/entry/content/lifecycle/MountBuilder.js.map +1 -1
  178. package/dist/entry/content/lifecycle/context/ContainerRegistry.d.ts +7 -0
  179. package/dist/entry/content/lifecycle/context/ContainerRegistry.js +45 -0
  180. package/dist/entry/content/lifecycle/context/ContainerRegistry.js.map +1 -0
  181. package/dist/entry/content/lifecycle/context/Context.d.ts +6 -3
  182. package/dist/entry/content/lifecycle/context/Context.js +21 -6
  183. package/dist/entry/content/lifecycle/context/Context.js.map +1 -1
  184. package/dist/entry/content/lifecycle/context/ManagedContext.d.ts +4 -1
  185. package/dist/entry/content/lifecycle/context/ManagedContext.js +7 -0
  186. package/dist/entry/content/lifecycle/context/ManagedContext.js.map +1 -1
  187. package/dist/entry/content/lifecycle/context/index.d.ts +1 -0
  188. package/dist/entry/content/lifecycle/context/index.js +6 -4
  189. package/dist/entry/content/lifecycle/context/index.js.map +1 -1
  190. package/dist/entry/content/lifecycle/markers/AttributeMarker.js +3 -1
  191. package/dist/entry/content/lifecycle/markers/AttributeMarker.js.map +1 -1
  192. package/dist/entry/content/lifecycle/nodes/EventNode.d.ts +4 -2
  193. package/dist/entry/content/lifecycle/nodes/EventNode.js +7 -2
  194. package/dist/entry/content/lifecycle/nodes/EventNode.js.map +1 -1
  195. package/dist/entry/content/lifecycle/nodes/FrameNode.d.ts +2 -1
  196. package/dist/entry/content/lifecycle/nodes/FrameNode.js +3 -0
  197. package/dist/entry/content/lifecycle/nodes/FrameNode.js.map +1 -1
  198. package/dist/entry/content/lifecycle/nodes/MarkerNode.d.ts +1 -1
  199. package/dist/entry/content/lifecycle/nodes/MarkerNode.js.map +1 -1
  200. package/dist/entry/content/lifecycle/nodes/MountNode.d.ts +7 -3
  201. package/dist/entry/content/lifecycle/nodes/MountNode.js +47 -12
  202. package/dist/entry/content/lifecycle/nodes/MountNode.js.map +1 -1
  203. package/dist/entry/content/lifecycle/nodes/Node.d.ts +1 -1
  204. package/dist/entry/content/lifecycle/nodes/Node.js.map +1 -1
  205. package/dist/entry/content/lifecycle/nodes/RenderNode.d.ts +13 -4
  206. package/dist/entry/content/lifecycle/nodes/RenderNode.js +71 -6
  207. package/dist/entry/content/lifecycle/nodes/RenderNode.js.map +1 -1
  208. package/dist/entry/content/lifecycle/nodes/ShadowNode.d.ts +2 -1
  209. package/dist/entry/content/lifecycle/nodes/ShadowNode.js +3 -0
  210. package/dist/entry/content/lifecycle/nodes/ShadowNode.js.map +1 -1
  211. package/dist/entry/content/lifecycle/types.d.ts +28 -0
  212. package/dist/entry/content/resolvers/watch.d.ts +1 -1
  213. package/dist/entry/content/resolvers/watch.js +29 -14
  214. package/dist/entry/content/resolvers/watch.js.map +1 -1
  215. package/dist/entry/core/react.d.ts +6 -0
  216. package/dist/entry/core/react.js +16 -0
  217. package/dist/entry/core/react.js.map +1 -0
  218. package/dist/entry/core/render.d.ts +5 -0
  219. package/dist/entry/core/render.js +16 -0
  220. package/dist/entry/core/render.js.map +1 -0
  221. package/dist/entry/offscreen/Builder.d.ts +6 -7
  222. package/dist/entry/offscreen/Builder.js +12 -13
  223. package/dist/entry/offscreen/Builder.js.map +1 -1
  224. package/dist/entry/offscreen/TransportBuilder.d.ts +1 -1
  225. package/dist/entry/offscreen/TransportBuilder.js +4 -3
  226. package/dist/entry/offscreen/TransportBuilder.js.map +1 -1
  227. package/dist/entry/offscreen/index.d.ts +5 -2
  228. package/dist/entry/offscreen/index.js +8 -2
  229. package/dist/entry/offscreen/index.js.map +1 -1
  230. package/dist/entry/offscreen/resolvers/definition.d.ts +4 -0
  231. package/dist/entry/offscreen/resolvers/definition.js +8 -0
  232. package/dist/entry/offscreen/resolvers/definition.js.map +1 -0
  233. package/dist/entry/relay/index.js.map +1 -1
  234. package/dist/entry/relay/resolvers/definition.d.ts +1 -1
  235. package/dist/entry/relay/resolvers/definition.js +2 -10
  236. package/dist/entry/relay/resolvers/definition.js.map +1 -1
  237. package/dist/entry/sandbox/Builder.d.ts +6 -7
  238. package/dist/entry/sandbox/Builder.js +8 -12
  239. package/dist/entry/sandbox/Builder.js.map +1 -1
  240. package/dist/entry/sandbox/TransportBuilder.d.ts +1 -1
  241. package/dist/entry/sandbox/TransportBuilder.js +4 -3
  242. package/dist/entry/sandbox/TransportBuilder.js.map +1 -1
  243. package/dist/entry/sandbox/index.d.ts +7 -2
  244. package/dist/entry/sandbox/index.js +10 -4
  245. package/dist/entry/sandbox/index.js.map +1 -1
  246. package/dist/entry/sandbox/resolvers/definition.d.ts +4 -0
  247. package/dist/entry/sandbox/resolvers/definition.js +8 -0
  248. package/dist/entry/sandbox/resolvers/definition.js.map +1 -0
  249. package/dist/entry/service/index.d.ts +1 -0
  250. package/dist/entry/service/index.js +3 -1
  251. package/dist/entry/service/index.js.map +1 -1
  252. package/dist/entry/service/resolvers/definition.d.ts +3 -0
  253. package/dist/entry/service/resolvers/definition.js +8 -0
  254. package/dist/entry/service/resolvers/definition.js.map +1 -0
  255. package/dist/entry/transport/AbstractBuilder.js +1 -1
  256. package/dist/entry/transport/AbstractBuilder.js.map +1 -1
  257. package/dist/entry/transport/resolvers/definition.d.ts +7 -5
  258. package/dist/entry/transport/resolvers/definition.js +15 -4
  259. package/dist/entry/transport/resolvers/definition.js.map +1 -1
  260. package/dist/entry/view/{core/Builder.d.ts → Builder.d.ts} +9 -4
  261. package/dist/entry/view/Builder.js +62 -0
  262. package/dist/entry/view/Builder.js.map +1 -0
  263. package/dist/entry/view/adapters/react/Builder.d.ts +6 -7
  264. package/dist/entry/view/adapters/react/Builder.js +20 -23
  265. package/dist/entry/view/adapters/react/Builder.js.map +1 -1
  266. package/dist/entry/view/adapters/react/definition.d.ts +2 -0
  267. package/dist/entry/view/adapters/react/definition.js +13 -0
  268. package/dist/entry/view/adapters/react/definition.js.map +1 -0
  269. package/dist/entry/view/adapters/react/index.d.ts +2 -1
  270. package/dist/entry/view/adapters/react/index.js +3 -1
  271. package/dist/entry/view/adapters/react/index.js.map +1 -1
  272. package/dist/entry/view/adapters/vanilla/Builder.d.ts +5 -6
  273. package/dist/entry/view/adapters/vanilla/Builder.js +14 -25
  274. package/dist/entry/view/adapters/vanilla/Builder.js.map +1 -1
  275. package/dist/entry/view/adapters/vanilla/definition.d.ts +2 -0
  276. package/dist/entry/view/adapters/vanilla/definition.js +9 -0
  277. package/dist/entry/view/adapters/vanilla/definition.js.map +1 -0
  278. package/dist/entry/view/adapters/vanilla/index.d.ts +2 -1
  279. package/dist/entry/view/adapters/vanilla/index.js +3 -1
  280. package/dist/entry/view/adapters/vanilla/index.js.map +1 -1
  281. package/dist/entry/view/{core/resolvers → resolvers}/container.d.ts +1 -1
  282. package/dist/entry/view/resolvers/container.js.map +1 -0
  283. package/dist/entry/view/resolvers/definition.d.ts +3 -0
  284. package/dist/entry/view/resolvers/definition.js +18 -0
  285. package/dist/entry/view/resolvers/definition.js.map +1 -0
  286. package/dist/main/index.d.ts +2 -0
  287. package/dist/main/index.js +2 -0
  288. package/dist/main/index.js.map +1 -1
  289. package/dist/main/override.d.ts +5 -0
  290. package/dist/main/override.js +15 -0
  291. package/dist/main/override.js.map +1 -0
  292. package/dist/main/permissions.d.ts +1 -0
  293. package/dist/main/permissions.js +1 -0
  294. package/dist/main/view.d.ts +1 -1
  295. package/dist/shared/locale/index.d.ts +1 -1
  296. package/dist/shared/locale/index.js +3 -1
  297. package/dist/shared/locale/index.js.map +1 -1
  298. package/dist/shared/locale/messages.d.ts +4 -0
  299. package/dist/shared/locale/messages.js +12 -0
  300. package/dist/shared/locale/messages.js.map +1 -1
  301. package/dist/types/background.d.ts +2 -8
  302. package/dist/types/background.js.map +1 -1
  303. package/dist/types/content/common.d.ts +8 -0
  304. package/dist/types/content/common.js.map +1 -1
  305. package/dist/types/content/definition.d.ts +5 -0
  306. package/dist/types/entrypoint.d.ts +5 -1
  307. package/dist/types/entrypoint.js +3 -0
  308. package/dist/types/entrypoint.js.map +1 -1
  309. package/dist/types/locale.d.ts +3 -0
  310. package/dist/types/locale.js.map +1 -1
  311. package/dist/types/manifest.d.ts +20 -2
  312. package/dist/types/manifest.js.map +1 -1
  313. package/dist/types/offscreen.d.ts +2 -2
  314. package/dist/types/offscreen.js.map +1 -1
  315. package/dist/types/options.d.ts +3 -2
  316. package/dist/types/override.d.ts +22 -0
  317. package/dist/types/override.js +1 -0
  318. package/dist/types/override.js.map +1 -0
  319. package/dist/types/page.d.ts +1 -1
  320. package/dist/types/permissions.d.ts +39 -0
  321. package/dist/types/permissions.js +1 -0
  322. package/dist/types/permissions.js.map +1 -0
  323. package/dist/types/plugin.d.ts +4 -1
  324. package/dist/types/popup.d.ts +3 -2
  325. package/dist/types/sandbox.d.ts +2 -2
  326. package/dist/types/sandbox.js.map +1 -1
  327. package/dist/types/sidebar.d.ts +3 -2
  328. package/dist/types/sidebar.js.map +1 -1
  329. package/dist/types/view/adapters/index.d.ts +2 -0
  330. package/dist/types/view/adapters/index.js +1 -0
  331. package/dist/types/view/adapters/index.js.map +1 -0
  332. package/dist/types/view/adapters/react.d.ts +4 -0
  333. package/dist/types/view/adapters/react.js +1 -0
  334. package/dist/types/view/adapters/react.js.map +1 -0
  335. package/dist/types/view/adapters/vanilla.d.ts +1 -0
  336. package/dist/types/view/adapters/vanilla.js +1 -0
  337. package/dist/types/view/adapters/vanilla.js.map +1 -0
  338. package/dist/types/{view.d.ts → view/common.d.ts} +2 -14
  339. package/dist/types/view/common.js +1 -0
  340. package/dist/types/view/common.js.map +1 -0
  341. package/dist/types/view/definition.d.ts +15 -0
  342. package/dist/types/view/definition.js +1 -0
  343. package/dist/types/view/definition.js.map +1 -0
  344. package/dist/types/view/index.d.ts +4 -0
  345. package/dist/types/view/index.js +1 -0
  346. package/dist/types/view/index.js.map +1 -0
  347. package/dist/types/view/render.d.ts +7 -0
  348. package/dist/types/view/render.js +1 -0
  349. package/dist/types/view/render.js.map +1 -0
  350. package/package.json +1 -3
  351. package/types/client.d.ts +3 -3
  352. package/dist/cli/plugins/style/types.d.ts +0 -5
  353. package/dist/entry/background/resolvers/index.d.ts +0 -1
  354. package/dist/entry/background/resolvers/index.js +0 -2
  355. package/dist/entry/background/resolvers/index.js.map +0 -1
  356. package/dist/entry/command/resolvers/index.d.ts +0 -1
  357. package/dist/entry/command/resolvers/index.js +0 -2
  358. package/dist/entry/command/resolvers/index.js.map +0 -1
  359. package/dist/entry/content/adapters/react/resolvers/definition.d.ts +0 -2
  360. package/dist/entry/content/adapters/react/resolvers/definition.js +0 -12
  361. package/dist/entry/content/adapters/react/resolvers/definition.js.map +0 -1
  362. package/dist/entry/content/adapters/react/resolvers/render.d.ts +0 -2
  363. package/dist/entry/content/adapters/react/resolvers/render.js +0 -9
  364. package/dist/entry/content/adapters/react/resolvers/render.js.map +0 -1
  365. package/dist/entry/content/adapters/vanilla/resolvers/definition.d.ts +0 -2
  366. package/dist/entry/content/adapters/vanilla/resolvers/definition.js +0 -9
  367. package/dist/entry/content/adapters/vanilla/resolvers/definition.js.map +0 -1
  368. package/dist/entry/content/adapters/vanilla/resolvers/render.d.ts +0 -3
  369. package/dist/entry/content/adapters/vanilla/resolvers/render.js +0 -15
  370. package/dist/entry/content/adapters/vanilla/resolvers/render.js.map +0 -1
  371. package/dist/entry/content/resolvers/index.d.ts +0 -6
  372. package/dist/entry/content/resolvers/index.js +0 -7
  373. package/dist/entry/content/resolvers/index.js.map +0 -1
  374. package/dist/entry/transport/index.d.ts +0 -1
  375. package/dist/entry/transport/index.js +0 -2
  376. package/dist/entry/transport/index.js.map +0 -1
  377. package/dist/entry/transport/resolvers/index.d.ts +0 -1
  378. package/dist/entry/transport/resolvers/index.js +0 -2
  379. package/dist/entry/transport/resolvers/index.js.map +0 -1
  380. package/dist/entry/view/adapters/react/resolvers/render.d.ts +0 -2
  381. package/dist/entry/view/adapters/react/resolvers/render.js +0 -11
  382. package/dist/entry/view/adapters/react/resolvers/render.js.map +0 -1
  383. package/dist/entry/view/core/Builder.js +0 -35
  384. package/dist/entry/view/core/Builder.js.map +0 -1
  385. package/dist/entry/view/core/resolvers/container.js.map +0 -1
  386. package/dist/entry/view/core/resolvers/definition.d.ts +0 -3
  387. package/dist/entry/view/core/resolvers/definition.js +0 -12
  388. package/dist/entry/view/core/resolvers/definition.js.map +0 -1
  389. package/dist/entry/view/core/resolvers/render.d.ts +0 -3
  390. package/dist/entry/view/core/resolvers/render.js +0 -18
  391. package/dist/entry/view/core/resolvers/render.js.map +0 -1
  392. package/dist/entry/view/index.d.ts +0 -1
  393. package/dist/entry/view/index.js +0 -2
  394. package/dist/entry/view/index.js.map +0 -1
  395. package/dist/types/view.js +0 -1
  396. /package/dist/cli/virtual/{transport.d.ts → service.d.ts} +0 -0
  397. /package/dist/{cli/plugins/style → entry/content/lifecycle}/types.js +0 -0
  398. /package/dist/{cli/plugins/style → entry/content/lifecycle}/types.js.map +0 -0
  399. /package/dist/entry/view/{core/resolvers → resolvers}/container.js +0 -0
  400. /package/dist/{types/view.js.map → main/permissions.js.map} +0 -0
@@ -1,34 +1,6 @@
1
- declare module "virtual:background-entrypoint" {
2
- type BackgroundDefinition = import("../../types/background.js").BackgroundDefinition;
3
-
4
- interface ModuleType extends BackgroundDefinition {
5
- default: BackgroundDefinition | BackgroundDefinition["main"] | undefined;
6
- }
7
-
8
- const module: ModuleType;
9
- export = module;
10
- }
11
-
12
- declare module "virtual:command-entrypoint" {
13
- type CommandDefinition = import("../../types/command.js").CommandDefinition;
14
-
15
- interface ModuleType extends CommandDefinition {
16
- default: CommandDefinition | CommandDefinition["execute"] | undefined;
17
- }
18
-
19
- const module: ModuleType;
20
- export = module;
21
- }
22
-
23
- declare module "virtual:content-entrypoint" {
24
- type ContentScriptDefinition = import("../../types/content/index.js").ContentScriptDefinition;
25
-
26
- interface ModuleType {
27
- [name: string]: unknown;
28
- default: ContentScriptDefinition | ContentScriptDefinition["render"] | undefined;
29
- }
30
-
31
- const module: ModuleType;
1
+ /** Generated modules import the entrypoint as a namespace and pass it to their runtime resolveDefinition(). */
2
+ declare module "virtual:*-entrypoint" {
3
+ const module: {readonly [name: string]: unknown};
32
4
  export = module;
33
5
  }
34
6
 
@@ -47,85 +19,11 @@ declare module "virtual:content-builder" {
47
19
  export default content;
48
20
  }
49
21
 
50
- declare module "virtual:offscreen-entrypoint" {
51
- type OffscreenDefinition = import("../../types/offscreen.js").OffscreenDefinition<
52
- import("../../types/transport.js").TransportType
53
- >;
54
-
55
- interface ModuleType extends OffscreenDefinition {
56
- default: OffscreenDefinition | OffscreenDefinition["init"] | undefined;
57
- }
58
-
59
- const module: ModuleType;
60
- export = module;
61
- }
62
-
63
- declare module "virtual:relay-entrypoint" {
64
- type RelayDefinition = import("../../types/relay.js").RelayDefinition<import("../../types/transport.js").TransportType>;
65
-
66
- export const {
67
- init,
68
- main,
69
- name,
70
- method,
71
- isolation,
72
- allFrames,
73
- matches,
74
- excludeMatches,
75
- includeGlobs,
76
- excludeGlobs,
77
- runAt,
78
- world,
79
- matchAboutBlank,
80
- matchOriginAsFallback,
81
- declarative,
82
- marker,
83
- anchor,
84
- mount,
85
- prepare,
86
- render,
87
- container,
88
- boundary,
89
- target,
90
- watch,
91
- includeBrowser,
92
- excludeBrowser,
93
- includeApp,
94
- excludeApp,
95
- mode,
96
- manifestVersion,
97
- debug,
98
- }: Partial<RelayDefinition>;
99
-
100
- const definition: RelayDefinition | RelayDefinition["init"] | undefined;
101
- export default definition;
102
- }
22
+ declare module "virtual:view-builder" {
23
+ export const resolveDefinition: (
24
+ module: object
25
+ ) => import("../../types/view/index.js").ViewDefinition<import("../../types/view/index.js").ViewConfig>;
103
26
 
104
- declare module "virtual:sandbox-entrypoint" {
105
- type SandboxDefinition = import("../../types/sandbox.js").SandboxDefinition<any>;
106
-
107
- interface ModuleType extends SandboxDefinition {
108
- default: SandboxDefinition | SandboxDefinition["init"] | undefined;
109
- }
110
-
111
- const module: ModuleType;
112
- export = module;
113
- }
114
-
115
- declare module "virtual:view-entrypoint" {
116
- import {ViewOptions} from "../../types/view.js";
117
-
118
- type ViewDefinition = import("../../types/view.js").ViewDefinition<ViewOptions>;
119
-
120
- interface ModuleType extends ViewDefinition {
121
- default: ViewDefinition | ViewDefinition["render"] | undefined;
122
- }
123
-
124
- const module: ModuleType;
125
- export = module;
126
- }
127
-
128
- declare module "virtual:view-framework" {
129
27
  export const Builder:
130
28
  | typeof import("../../entry/view/adapters/vanilla/index.js").Builder
131
29
  | typeof import("../../entry/view/adapters/react/index.js").Builder;
@@ -135,21 +33,3 @@ declare module "virtual:view-framework" {
135
33
  | typeof import("../../entry/view/adapters/react/index.js").default;
136
34
  export default view;
137
35
  }
138
-
139
- declare module "virtual:transport-entrypoint" {
140
- type TransportDefinition = import("../../types/transport.js").TransportDefinition<any, any>;
141
-
142
- interface ModuleType extends TransportDefinition {
143
- default: TransportDefinition | TransportDefinition["init"] | undefined;
144
- }
145
-
146
- const module: ModuleType;
147
- export = module;
148
- }
149
-
150
- declare module "adnbn/entry/:entry" {
151
- import type {TransportUnresolvedDefinition, TransportOptions, TransportType} from "../../types/transport.js";
152
-
153
- const transport: (definition: TransportUnresolvedDefinition<TransportOptions, TransportType>) => void;
154
- export default transport;
155
- }
@@ -1,5 +1,5 @@
1
1
  import Builder from "./../../entry/core/Builder.js";
2
- import { isValidBackgroundMainHandler } from "./resolvers/index.js";
2
+ import { isValidBackgroundMainHandler } from "./resolvers/definition.js";
3
3
  class Builder_default extends Builder {
4
4
  constructor(definition) {
5
5
  super();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/entry/background/Builder.ts"],"sourcesContent":["import Builder from \"@entry/core/Builder\";\n\nimport {isValidBackgroundMainHandler} from \"./resolvers\";\n\nimport {BackgroundBuilder, BackgroundDefinition} from \"@typing/background\";\n\nexport default class extends Builder implements BackgroundBuilder {\n constructor(private readonly definition: BackgroundDefinition) {\n super();\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n const {main, ...options} = this.definition;\n\n if (isValidBackgroundMainHandler(main)) {\n await main(options);\n }\n }\n\n public async destroy(): Promise<void> {\n // Nothing to do\n }\n}\n"],"mappings":"AAAA,OAAO,aAAa;AAEpB,SAAQ,oCAAmC;AAI3C,MAAO,wBAAsB,QAAqC;AAAA,EAC9D,YAA6B,YAAkC;AAC3D,UAAM;AADmB;AAAA,EAE7B;AAAA,EAF6B;AAAA,EAI7B,MAAa,QAAuB;AAChC,UAAM,KAAK,QAAQ;AAEnB,UAAM,EAAC,MAAM,GAAG,QAAO,IAAI,KAAK;AAEhC,QAAI,6BAA6B,IAAI,GAAG;AACpC,YAAM,KAAK,OAAO;AAAA,IACtB;AAAA,EACJ;AAAA,EAEA,MAAa,UAAyB;AAAA,EAEtC;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/entry/background/Builder.ts"],"sourcesContent":["import Builder from \"@entry/core/Builder\";\n\nimport {isValidBackgroundMainHandler} from \"./resolvers/definition\";\n\nimport {BackgroundBuilder, BackgroundDefinition} from \"@typing/background\";\n\nexport default class extends Builder implements BackgroundBuilder {\n constructor(private readonly definition: BackgroundDefinition) {\n super();\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n const {main, ...options} = this.definition;\n\n if (isValidBackgroundMainHandler(main)) {\n await main(options);\n }\n }\n\n public async destroy(): Promise<void> {\n // Nothing to do\n }\n}\n"],"mappings":"AAAA,OAAO,aAAa;AAEpB,SAAQ,oCAAmC;AAI3C,MAAO,wBAAsB,QAAqC;AAAA,EAC9D,YAA6B,YAAkC;AAC3D,UAAM;AADmB;AAAA,EAE7B;AAAA,EAF6B;AAAA,EAI7B,MAAa,QAAuB;AAChC,UAAM,KAAK,QAAQ;AAEnB,UAAM,EAAC,MAAM,GAAG,QAAO,IAAI,KAAK;AAEhC,QAAI,6BAA6B,IAAI,GAAG;AACpC,YAAM,KAAK,OAAO;AAAA,IACtB;AAAA,EACJ;AAAA,EAEA,MAAa,UAAyB;AAAA,EAEtC;AACJ;","names":[]}
@@ -1,3 +1,3 @@
1
- export * from "./resolvers/index.js";
1
+ export { resolveDefinition } from "./resolvers/definition.js";
2
2
  declare const _default: (definition: import("../../index.js").BackgroundDefinition) => void;
3
3
  export default _default;
@@ -1,7 +1,8 @@
1
1
  import Builder from "./Builder.js";
2
- export * from "./resolvers/index.js";
2
+ import { resolveDefinition } from "./resolvers/definition.js";
3
3
  var background_default = Builder.resolver();
4
4
  export {
5
- background_default as default
5
+ background_default as default,
6
+ resolveDefinition
6
7
  };
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/entry/background/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport * from \"./resolvers\";\n\nexport default Builder.resolver();\n"],"mappings":"AAAA,OAAO,aAAa;AAEpB,cAAc;AAEd,IAAO,qBAAQ,QAAQ,SAAS;","names":[]}
1
+ {"version":3,"sources":["../../../src/entry/background/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport {resolveDefinition} from \"./resolvers/definition\";\n\nexport default Builder.resolver();\n"],"mappings":"AAAA,OAAO,aAAa;AAEpB,SAAQ,yBAAwB;AAEhC,IAAO,qBAAQ,QAAQ,SAAS;","names":[]}
@@ -1,3 +1,7 @@
1
1
  import { BackgroundDefinition, BackgroundMainHandler } from "../../../types/background.js";
2
- export declare const isValidBackgroundDefinition: (definition: any) => definition is BackgroundDefinition;
3
2
  export declare const isValidBackgroundMainHandler: (main: unknown) => main is BackgroundMainHandler;
3
+ /**
4
+ * Merge background exports without executing main: default options override named exports,
5
+ * and a default function is the main handler. Any other default value is ignored.
6
+ */
7
+ export declare const resolveDefinition: (module: object) => BackgroundDefinition;
@@ -1,11 +1,22 @@
1
- const isValidBackgroundDefinition = (definition) => {
2
- return definition && typeof definition === "object" && definition.constructor === Object;
1
+ const isDefinitionObject = (value) => {
2
+ return value !== null && typeof value === "object" && value.constructor === Object;
3
3
  };
4
4
  const isValidBackgroundMainHandler = (main) => {
5
5
  return typeof main === "function";
6
6
  };
7
+ const resolveDefinition = (module) => {
8
+ const { default: defaultDefinition, ...namedDefinition } = module;
9
+ const definition = namedDefinition;
10
+ if (isDefinitionObject(defaultDefinition)) {
11
+ return { ...definition, ...defaultDefinition };
12
+ }
13
+ if (isValidBackgroundMainHandler(defaultDefinition)) {
14
+ return { ...definition, main: defaultDefinition };
15
+ }
16
+ return definition;
17
+ };
7
18
  export {
8
- isValidBackgroundDefinition,
9
- isValidBackgroundMainHandler
19
+ isValidBackgroundMainHandler,
20
+ resolveDefinition
10
21
  };
11
22
  //# sourceMappingURL=definition.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/entry/background/resolvers/definition.ts"],"sourcesContent":["import {BackgroundDefinition, BackgroundMainHandler} from \"@typing/background\";\n\nexport const isValidBackgroundDefinition = (definition: any): definition is BackgroundDefinition => {\n return definition && typeof definition === \"object\" && definition.constructor === Object;\n};\n\nexport const isValidBackgroundMainHandler = (main: unknown): main is BackgroundMainHandler => {\n return typeof main === \"function\";\n};\n"],"mappings":"AAEO,MAAM,8BAA8B,CAAC,eAAwD;AAChG,SAAO,cAAc,OAAO,eAAe,YAAY,WAAW,gBAAgB;AACtF;AAEO,MAAM,+BAA+B,CAAC,SAAiD;AAC1F,SAAO,OAAO,SAAS;AAC3B;","names":[]}
1
+ {"version":3,"sources":["../../../../src/entry/background/resolvers/definition.ts"],"sourcesContent":["import {BackgroundDefinition, BackgroundMainHandler} from \"@typing/background\";\n\nconst isDefinitionObject = (value: unknown): value is BackgroundDefinition => {\n return value !== null && typeof value === \"object\" && value.constructor === Object;\n};\n\nexport const isValidBackgroundMainHandler = (main: unknown): main is BackgroundMainHandler => {\n return typeof main === \"function\";\n};\n\n/**\n * Merge background exports without executing main: default options override named exports,\n * and a default function is the main handler. Any other default value is ignored.\n */\nexport const resolveDefinition = (module: object): BackgroundDefinition => {\n const {default: defaultDefinition, ...namedDefinition} = module as Record<string, unknown>;\n const definition = namedDefinition as BackgroundDefinition;\n\n if (isDefinitionObject(defaultDefinition)) {\n return {...definition, ...defaultDefinition};\n }\n\n if (isValidBackgroundMainHandler(defaultDefinition)) {\n return {...definition, main: defaultDefinition};\n }\n\n return definition;\n};\n"],"mappings":"AAEA,MAAM,qBAAqB,CAAC,UAAkD;AAC1E,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,gBAAgB;AAChF;AAEO,MAAM,+BAA+B,CAAC,SAAiD;AAC1F,SAAO,OAAO,SAAS;AAC3B;AAMO,MAAM,oBAAoB,CAAC,WAAyC;AACvE,QAAM,EAAC,SAAS,mBAAmB,GAAG,gBAAe,IAAI;AACzD,QAAM,aAAa;AAEnB,MAAI,mBAAmB,iBAAiB,GAAG;AACvC,WAAO,EAAC,GAAG,YAAY,GAAG,kBAAiB;AAAA,EAC/C;AAEA,MAAI,6BAA6B,iBAAiB,GAAG;AACjD,WAAO,EAAC,GAAG,YAAY,MAAM,kBAAiB;AAAA,EAClD;AAEA,SAAO;AACX;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import { onActionClicked, onSpecificCommand } from "@addon-core/browser";
2
2
  import Builder from "./../../entry/core/Builder.js";
3
- import { isValidCommandExecuteFunction, isValidCommandName } from "./resolvers/index.js";
3
+ import { isValidCommandExecuteFunction, isValidCommandName } from "./resolvers/definition.js";
4
4
  import {
5
5
  CommandExecuteActionName
6
6
  } from "./../../types/command.js";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/entry/command/Builder.ts"],"sourcesContent":["import {onActionClicked, onSpecificCommand} from \"@addon-core/browser\";\n\nimport Builder from \"@entry/core/Builder\";\n\nimport {isValidCommandExecuteFunction, isValidCommandName} from \"./resolvers\";\n\nimport {\n CommandBuilder,\n CommandExecuteActionName,\n CommandResolvedDefinition,\n CommandUnresolvedDefinition,\n} from \"@typing/command\";\n\ntype Tab = chrome.tabs.Tab;\n\nexport default class extends Builder implements CommandBuilder {\n protected readonly definition: CommandResolvedDefinition;\n\n protected unsubscribe?: () => void;\n\n public constructor(definition: CommandUnresolvedDefinition) {\n super();\n\n const {name, execute} = definition;\n\n if (!isValidCommandExecuteFunction(execute)) {\n throw new Error(\"The command entrypoint must export a execute function\");\n }\n\n if (!isValidCommandName(name)) {\n throw new Error(\"The command entrypoint must export a name string\");\n }\n\n this.definition = {\n ...definition,\n name,\n execute,\n };\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n const {name} = this.definition;\n\n if (name == CommandExecuteActionName) {\n this.unsubscribe = onActionClicked(tab => {\n this.handle(tab);\n });\n\n return;\n }\n\n this.unsubscribe = onSpecificCommand(name, tab => {\n this.handle(tab);\n });\n }\n\n public async destroy(): Promise<void> {\n this.unsubscribe?.();\n }\n\n protected handle(tab?: Tab): void {\n const {name, execute, ...options} = this.definition;\n\n try {\n Promise.resolve(execute(tab, {name, ...options})).catch(e => {\n console.error(\"The command execute async function crashed:\", e);\n });\n } catch (e) {\n console.error(\"The command execute function crashed:\", e);\n }\n }\n}\n"],"mappings":"AAAA,SAAQ,iBAAiB,yBAAwB;AAEjD,OAAO,aAAa;AAEpB,SAAQ,+BAA+B,0BAAyB;AAEhE;AAAA,EAEI;AAAA,OAGG;AAIP,MAAO,wBAAsB,QAAkC;AAAA,EACxC;AAAA,EAET;AAAA,EAEH,YAAY,YAAyC;AACxD,UAAM;AAEN,UAAM,EAAC,MAAM,QAAO,IAAI;AAExB,QAAI,CAAC,8BAA8B,OAAO,GAAG;AACzC,YAAM,IAAI,MAAM,uDAAuD;AAAA,IAC3E;AAEA,QAAI,CAAC,mBAAmB,IAAI,GAAG;AAC3B,YAAM,IAAI,MAAM,kDAAkD;AAAA,IACtE;AAEA,SAAK,aAAa;AAAA,MACd,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAa,QAAuB;AAChC,UAAM,KAAK,QAAQ;AAEnB,UAAM,EAAC,KAAI,IAAI,KAAK;AAEpB,QAAI,QAAQ,0BAA0B;AAClC,WAAK,cAAc,gBAAgB,SAAO;AACtC,aAAK,OAAO,GAAG;AAAA,MACnB,CAAC;AAED;AAAA,IACJ;AAEA,SAAK,cAAc,kBAAkB,MAAM,SAAO;AAC9C,WAAK,OAAO,GAAG;AAAA,IACnB,CAAC;AAAA,EACL;AAAA,EAEA,MAAa,UAAyB;AA1D1C;AA2DQ,eAAK,gBAAL;AAAA,EACJ;AAAA,EAEU,OAAO,KAAiB;AAC9B,UAAM,EAAC,MAAM,SAAS,GAAG,QAAO,IAAI,KAAK;AAEzC,QAAI;AACA,cAAQ,QAAQ,QAAQ,KAAK,EAAC,MAAM,GAAG,QAAO,CAAC,CAAC,EAAE,MAAM,OAAK;AACzD,gBAAQ,MAAM,+CAA+C,CAAC;AAAA,MAClE,CAAC;AAAA,IACL,SAAS,GAAG;AACR,cAAQ,MAAM,yCAAyC,CAAC;AAAA,IAC5D;AAAA,EACJ;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/entry/command/Builder.ts"],"sourcesContent":["import {onActionClicked, onSpecificCommand} from \"@addon-core/browser\";\n\nimport Builder from \"@entry/core/Builder\";\n\nimport {isValidCommandExecuteFunction, isValidCommandName} from \"./resolvers/definition\";\n\nimport {\n CommandBuilder,\n CommandExecuteActionName,\n CommandResolvedDefinition,\n CommandUnresolvedDefinition,\n} from \"@typing/command\";\n\ntype Tab = chrome.tabs.Tab;\n\nexport default class extends Builder implements CommandBuilder {\n protected readonly definition: CommandResolvedDefinition;\n\n protected unsubscribe?: () => void;\n\n public constructor(definition: CommandUnresolvedDefinition) {\n super();\n\n const {name, execute} = definition;\n\n if (!isValidCommandExecuteFunction(execute)) {\n throw new Error(\"The command entrypoint must export a execute function\");\n }\n\n if (!isValidCommandName(name)) {\n throw new Error(\"The command entrypoint must export a name string\");\n }\n\n this.definition = {\n ...definition,\n name,\n execute,\n };\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n const {name} = this.definition;\n\n if (name == CommandExecuteActionName) {\n this.unsubscribe = onActionClicked(tab => {\n this.handle(tab);\n });\n\n return;\n }\n\n this.unsubscribe = onSpecificCommand(name, tab => {\n this.handle(tab);\n });\n }\n\n public async destroy(): Promise<void> {\n this.unsubscribe?.();\n }\n\n protected handle(tab?: Tab): void {\n const {name, execute, ...options} = this.definition;\n\n try {\n Promise.resolve(execute(tab, {name, ...options})).catch(e => {\n console.error(\"The command execute async function crashed:\", e);\n });\n } catch (e) {\n console.error(\"The command execute function crashed:\", e);\n }\n }\n}\n"],"mappings":"AAAA,SAAQ,iBAAiB,yBAAwB;AAEjD,OAAO,aAAa;AAEpB,SAAQ,+BAA+B,0BAAyB;AAEhE;AAAA,EAEI;AAAA,OAGG;AAIP,MAAO,wBAAsB,QAAkC;AAAA,EACxC;AAAA,EAET;AAAA,EAEH,YAAY,YAAyC;AACxD,UAAM;AAEN,UAAM,EAAC,MAAM,QAAO,IAAI;AAExB,QAAI,CAAC,8BAA8B,OAAO,GAAG;AACzC,YAAM,IAAI,MAAM,uDAAuD;AAAA,IAC3E;AAEA,QAAI,CAAC,mBAAmB,IAAI,GAAG;AAC3B,YAAM,IAAI,MAAM,kDAAkD;AAAA,IACtE;AAEA,SAAK,aAAa;AAAA,MACd,GAAG;AAAA,MACH;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAa,QAAuB;AAChC,UAAM,KAAK,QAAQ;AAEnB,UAAM,EAAC,KAAI,IAAI,KAAK;AAEpB,QAAI,QAAQ,0BAA0B;AAClC,WAAK,cAAc,gBAAgB,SAAO;AACtC,aAAK,OAAO,GAAG;AAAA,MACnB,CAAC;AAED;AAAA,IACJ;AAEA,SAAK,cAAc,kBAAkB,MAAM,SAAO;AAC9C,WAAK,OAAO,GAAG;AAAA,IACnB,CAAC;AAAA,EACL;AAAA,EAEA,MAAa,UAAyB;AA1D1C;AA2DQ,eAAK,gBAAL;AAAA,EACJ;AAAA,EAEU,OAAO,KAAiB;AAC9B,UAAM,EAAC,MAAM,SAAS,GAAG,QAAO,IAAI,KAAK;AAEzC,QAAI;AACA,cAAQ,QAAQ,QAAQ,KAAK,EAAC,MAAM,GAAG,QAAO,CAAC,CAAC,EAAE,MAAM,OAAK;AACzD,gBAAQ,MAAM,+CAA+C,CAAC;AAAA,MAClE,CAAC;AAAA,IACL,SAAS,GAAG;AACR,cAAQ,MAAM,yCAAyC,CAAC;AAAA,IAC5D;AAAA,EACJ;AACJ;","names":[]}
@@ -1,3 +1,3 @@
1
- export * from "./resolvers/index.js";
1
+ export { resolveDefinition } from "./resolvers/definition.js";
2
2
  declare const _default: (definition: Partial<import("../../index.js").CommandDefinition>) => void;
3
3
  export default _default;
@@ -1,7 +1,8 @@
1
1
  import Builder from "./Builder.js";
2
- export * from "./resolvers/index.js";
2
+ import { resolveDefinition } from "./resolvers/definition.js";
3
3
  var command_default = Builder.resolver();
4
4
  export {
5
- command_default as default
5
+ command_default as default,
6
+ resolveDefinition
6
7
  };
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/entry/command/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport * from \"./resolvers\";\n\nexport default Builder.resolver();\n"],"mappings":"AAAA,OAAO,aAAa;AAEpB,cAAc;AAEd,IAAO,kBAAQ,QAAQ,SAAS;","names":[]}
1
+ {"version":3,"sources":["../../../src/entry/command/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport {resolveDefinition} from \"./resolvers/definition\";\n\nexport default Builder.resolver();\n"],"mappings":"AAAA,OAAO,aAAa;AAEpB,SAAQ,yBAAwB;AAEhC,IAAO,kBAAQ,QAAQ,SAAS;","names":[]}
@@ -1,4 +1,8 @@
1
- import { CommandDefinition, CommandExecute } from "../../../types/command.js";
2
- export declare const isValidCommandDefinition: (definition: any) => definition is CommandDefinition;
1
+ import { CommandExecute, CommandUnresolvedDefinition } from "../../../types/command.js";
3
2
  export declare const isValidCommandExecuteFunction: (execute: any) => execute is CommandExecute;
4
3
  export declare const isValidCommandName: (name: any) => name is string;
4
+ /**
5
+ * Merge command exports without executing them: default options override named exports,
6
+ * and a default function is the execute handler. The build supplies the authoritative name.
7
+ */
8
+ export declare const resolveDefinition: (module: object, name: string) => CommandUnresolvedDefinition;
@@ -1,5 +1,5 @@
1
- const isValidCommandDefinition = (definition) => {
2
- return definition && typeof definition === "object" && definition.constructor === Object;
1
+ const isDefinitionObject = (value) => {
2
+ return value !== null && typeof value === "object" && value.constructor === Object;
3
3
  };
4
4
  const isValidCommandExecuteFunction = (execute) => {
5
5
  return execute && typeof execute === "function";
@@ -7,9 +7,19 @@ const isValidCommandExecuteFunction = (execute) => {
7
7
  const isValidCommandName = (name) => {
8
8
  return name && typeof name === "string" && name.trim().length > 0;
9
9
  };
10
+ const resolveDefinition = (module, name) => {
11
+ const { default: defaultDefinition, ...namedDefinition } = module;
12
+ let definition = namedDefinition;
13
+ if (isDefinitionObject(defaultDefinition)) {
14
+ definition = { ...definition, ...defaultDefinition };
15
+ } else if (isValidCommandExecuteFunction(defaultDefinition)) {
16
+ definition = { ...definition, execute: defaultDefinition };
17
+ }
18
+ return { ...definition, name };
19
+ };
10
20
  export {
11
- isValidCommandDefinition,
12
21
  isValidCommandExecuteFunction,
13
- isValidCommandName
22
+ isValidCommandName,
23
+ resolveDefinition
14
24
  };
15
25
  //# sourceMappingURL=definition.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/entry/command/resolvers/definition.ts"],"sourcesContent":["import {CommandDefinition, CommandExecute} from \"@typing/command\";\n\nexport const isValidCommandDefinition = (definition: any): definition is CommandDefinition => {\n return definition && typeof definition === \"object\" && definition.constructor === Object;\n};\n\nexport const isValidCommandExecuteFunction = (execute: any): execute is CommandExecute => {\n return execute && typeof execute === \"function\";\n};\n\nexport const isValidCommandName = (name: any): name is string => {\n return name && typeof name === \"string\" && name.trim().length > 0;\n};\n"],"mappings":"AAEO,MAAM,2BAA2B,CAAC,eAAqD;AAC1F,SAAO,cAAc,OAAO,eAAe,YAAY,WAAW,gBAAgB;AACtF;AAEO,MAAM,gCAAgC,CAAC,YAA4C;AACtF,SAAO,WAAW,OAAO,YAAY;AACzC;AAEO,MAAM,qBAAqB,CAAC,SAA8B;AAC7D,SAAO,QAAQ,OAAO,SAAS,YAAY,KAAK,KAAK,EAAE,SAAS;AACpE;","names":[]}
1
+ {"version":3,"sources":["../../../../src/entry/command/resolvers/definition.ts"],"sourcesContent":["import {CommandDefinition, CommandExecute, CommandUnresolvedDefinition} from \"@typing/command\";\n\nconst isDefinitionObject = (value: unknown): value is CommandDefinition => {\n return value !== null && typeof value === \"object\" && value.constructor === Object;\n};\n\nexport const isValidCommandExecuteFunction = (execute: any): execute is CommandExecute => {\n return execute && typeof execute === \"function\";\n};\n\nexport const isValidCommandName = (name: any): name is string => {\n return name && typeof name === \"string\" && name.trim().length > 0;\n};\n\n/**\n * Merge command exports without executing them: default options override named exports,\n * and a default function is the execute handler. The build supplies the authoritative name.\n */\nexport const resolveDefinition = (module: object, name: string): CommandUnresolvedDefinition => {\n const {default: defaultDefinition, ...namedDefinition} = module as Record<string, unknown>;\n\n let definition = namedDefinition as CommandUnresolvedDefinition;\n\n if (isDefinitionObject(defaultDefinition)) {\n definition = {...definition, ...defaultDefinition};\n } else if (isValidCommandExecuteFunction(defaultDefinition)) {\n definition = {...definition, execute: defaultDefinition};\n }\n\n return {...definition, name};\n};\n"],"mappings":"AAEA,MAAM,qBAAqB,CAAC,UAA+C;AACvE,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,MAAM,gBAAgB;AAChF;AAEO,MAAM,gCAAgC,CAAC,YAA4C;AACtF,SAAO,WAAW,OAAO,YAAY;AACzC;AAEO,MAAM,qBAAqB,CAAC,SAA8B;AAC7D,SAAO,QAAQ,OAAO,SAAS,YAAY,KAAK,KAAK,EAAE,SAAS;AACpE;AAMO,MAAM,oBAAoB,CAAC,QAAgB,SAA8C;AAC5F,QAAM,EAAC,SAAS,mBAAmB,GAAG,gBAAe,IAAI;AAEzD,MAAI,aAAa;AAEjB,MAAI,mBAAmB,iBAAiB,GAAG;AACvC,iBAAa,EAAC,GAAG,YAAY,GAAG,kBAAiB;AAAA,EACrD,WAAW,8BAA8B,iBAAiB,GAAG;AACzD,iBAAa,EAAC,GAAG,YAAY,SAAS,kBAAiB;AAAA,EAC3D;AAEA,SAAO,EAAC,GAAG,YAAY,KAAI;AAC/B;","names":[]}
@@ -1,6 +1,8 @@
1
+ import ReactNode from "./Node.js";
1
2
  import MountBuilder from "../../lifecycle/MountBuilder.js";
3
+ import type { ContentScriptRenderOptions } from "../../lifecycle/types.js";
2
4
  import type { ContentScriptNode, ContentScriptIsolation, ContentScriptProps, ContentScriptRenderHandler, ContentScriptRenderValue } from "../../../../types/content/index.js";
3
5
  export default class Builder<Data = unknown, Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`> extends MountBuilder<Data, Isolation> {
4
- protected resolveRender(render?: ContentScriptRenderValue<Data> | ContentScriptRenderHandler<Data>): ContentScriptRenderHandler<Data> | undefined;
5
- protected createRenderer(node: ContentScriptNode, render: ContentScriptRenderHandler<Data>, props: () => ContentScriptProps<Data>): ContentScriptNode;
6
+ protected resolveRender(render?: ContentScriptRenderValue<Data> | ContentScriptRenderHandler<Data>): true | ContentScriptRenderHandler<Data> | undefined;
7
+ protected createRenderer(node: ContentScriptNode, render: ContentScriptRenderHandler<Data>, props: () => ContentScriptProps<Data>, options: ContentScriptRenderOptions): ReactNode<Data>;
6
8
  }
@@ -1,12 +1,20 @@
1
+ import { createElement } from "react";
2
+ import { isDomRenderValue } from "./../../../../entry/core/render.js";
3
+ import { isReactRenderValue } from "./../../../../entry/core/react.js";
4
+ import ReactNode from "./Node.js";
1
5
  import MountBuilder from "../../lifecycle/MountBuilder.js";
2
- import RenderNode from "./Node.js";
3
- import { createRenderResolver } from "./resolvers/render.js";
4
6
  class Builder extends MountBuilder {
5
7
  resolveRender(render) {
6
- return render === void 0 ? void 0 : createRenderResolver(render);
8
+ if (render === true || render === void 0) {
9
+ return render;
10
+ }
11
+ return (props) => {
12
+ const value = typeof render === "function" ? createElement(render, props) : render;
13
+ return isDomRenderValue(value) || isReactRenderValue(value) ? value : void 0;
14
+ };
7
15
  }
8
- createRenderer(node, render, props) {
9
- return new RenderNode(node, render, props);
16
+ createRenderer(node, render, props, options) {
17
+ return new ReactNode(node, render, props, options);
10
18
  }
11
19
  }
12
20
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/entry/content/adapters/react/Builder.ts"],"sourcesContent":["import MountBuilder from \"../../lifecycle/MountBuilder\";\nimport RenderNode from \"./Node\";\nimport {createRenderResolver} from \"./resolvers/render\";\n\nimport type {\n ContentScriptNode,\n ContentScriptIsolation,\n ContentScriptProps,\n ContentScriptRenderHandler,\n ContentScriptRenderValue,\n} from \"@typing/content\";\n\nexport default class Builder<\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n> extends MountBuilder<Data, Isolation> {\n protected resolveRender(\n render?: ContentScriptRenderValue<Data> | ContentScriptRenderHandler<Data>\n ): ContentScriptRenderHandler<Data> | undefined {\n return render === undefined ? undefined : createRenderResolver(render);\n }\n\n protected createRenderer(\n node: ContentScriptNode,\n render: ContentScriptRenderHandler<Data>,\n props: () => ContentScriptProps<Data>\n ): ContentScriptNode {\n return new RenderNode(node, render, props);\n }\n}\n"],"mappings":"AAAA,OAAO,kBAAkB;AACzB,OAAO,gBAAgB;AACvB,SAAQ,4BAA2B;AAUnC,MAAO,gBAGG,aAA8B;AAAA,EAC1B,cACN,QAC4C;AAC5C,WAAO,WAAW,SAAY,SAAY,qBAAqB,MAAM;AAAA,EACzE;AAAA,EAEU,eACN,MACA,QACA,OACiB;AACjB,WAAO,IAAI,WAAW,MAAM,QAAQ,KAAK;AAAA,EAC7C;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/entry/content/adapters/react/Builder.ts"],"sourcesContent":["import {createElement} from \"react\";\n\nimport {isDomRenderValue} from \"@entry/core/render\";\nimport {isReactRenderValue} from \"@entry/core/react\";\n\nimport ReactNode from \"./Node\";\n\nimport MountBuilder from \"../../lifecycle/MountBuilder\";\nimport type {ContentScriptRenderOptions} from \"../../lifecycle/types\";\n\nimport type {\n ContentScriptNode,\n ContentScriptIsolation,\n ContentScriptProps,\n ContentScriptRenderHandler,\n ContentScriptRenderReactComponent,\n ContentScriptRenderValue,\n} from \"@typing/content\";\n\nexport default class Builder<\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n> extends MountBuilder<Data, Isolation> {\n protected resolveRender(\n render?: ContentScriptRenderValue<Data> | ContentScriptRenderHandler<Data>\n ): true | ContentScriptRenderHandler<Data> | undefined {\n if (render === true || render === undefined) {\n return render;\n }\n\n return props => {\n // Functions in React entrypoints are components; React owns their invocation and hooks.\n const value =\n typeof render === \"function\"\n ? createElement(render as ContentScriptRenderReactComponent<Data>, props)\n : render;\n\n return isDomRenderValue(value) || isReactRenderValue(value) ? value : undefined;\n };\n }\n\n protected createRenderer(\n node: ContentScriptNode,\n render: ContentScriptRenderHandler<Data>,\n props: () => ContentScriptProps<Data>,\n options: ContentScriptRenderOptions\n ): ReactNode<Data> {\n return new ReactNode(node, render, props, options);\n }\n}\n"],"mappings":"AAAA,SAAQ,qBAAoB;AAE5B,SAAQ,wBAAuB;AAC/B,SAAQ,0BAAyB;AAEjC,OAAO,eAAe;AAEtB,OAAO,kBAAkB;AAYzB,MAAO,gBAGG,aAA8B;AAAA,EAC1B,cACN,QACmD;AACnD,QAAI,WAAW,QAAQ,WAAW,QAAW;AACzC,aAAO;AAAA,IACX;AAEA,WAAO,WAAS;AAEZ,YAAM,QACF,OAAO,WAAW,aACZ,cAAc,QAAmD,KAAK,IACtE;AAEV,aAAO,iBAAiB,KAAK,KAAK,mBAAmB,KAAK,IAAI,QAAQ;AAAA,IAC1E;AAAA,EACJ;AAAA,EAEU,eACN,MACA,QACA,OACA,SACe;AACf,WAAO,IAAI,UAAU,MAAM,QAAQ,OAAO,OAAO;AAAA,EACrD;AACJ;","names":[]}
@@ -1,20 +1,25 @@
1
- import { isValidElement } from "react";
2
1
  import { createRoot } from "react-dom/client";
2
+ import { isDomRenderValue, renderDomValue } from "./../../../../entry/core/render.js";
3
+ import { isReactRenderValue } from "./../../../../entry/core/react.js";
3
4
  import { RenderNode } from "../../lifecycle/nodes/index.js";
4
5
  class Node extends RenderNode {
5
6
  root;
6
7
  render(value, target) {
7
- if (!isValidElement(value)) {
8
- return false;
8
+ if (isDomRenderValue(value)) {
9
+ renderDomValue(target, value);
10
+ return true;
9
11
  }
10
- this.root = createRoot(target);
11
- this.root.render(value);
12
- return true;
12
+ if (isReactRenderValue(value)) {
13
+ this.root = createRoot(target);
14
+ this.root.render(value);
15
+ return true;
16
+ }
17
+ return false;
13
18
  }
14
19
  clear() {
15
- var _a;
16
- (_a = this.root) == null ? void 0 : _a.unmount();
20
+ const root = this.root;
17
21
  this.root = void 0;
22
+ root == null ? void 0 : root.unmount();
18
23
  }
19
24
  }
20
25
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/entry/content/adapters/react/Node.ts"],"sourcesContent":["import {isValidElement} from \"react\";\nimport {createRoot, type Root} from \"react-dom/client\";\n\nimport {RenderNode} from \"../../lifecycle/nodes\";\n\nimport type {ContentScriptRenderValue} from \"@typing/content\";\n\nexport default class Node<Data = unknown> extends RenderNode<Data> {\n private root?: Root;\n\n protected render(value: ContentScriptRenderValue<Data> | undefined, target: Element): boolean {\n if (!isValidElement(value)) {\n return false;\n }\n\n this.root = createRoot(target);\n this.root.render(value);\n\n return true;\n }\n\n protected clear(): void {\n this.root?.unmount();\n this.root = undefined;\n }\n}\n"],"mappings":"AAAA,SAAQ,sBAAqB;AAC7B,SAAQ,kBAA4B;AAEpC,SAAQ,kBAAiB;AAIzB,MAAO,aAA2C,WAAiB;AAAA,EACvD;AAAA,EAEE,OAAO,OAAmD,QAA0B;AAC1F,QAAI,CAAC,eAAe,KAAK,GAAG;AACxB,aAAO;AAAA,IACX;AAEA,SAAK,OAAO,WAAW,MAAM;AAC7B,SAAK,KAAK,OAAO,KAAK;AAEtB,WAAO;AAAA,EACX;AAAA,EAEU,QAAc;AArB5B;AAsBQ,eAAK,SAAL,mBAAW;AACX,SAAK,OAAO;AAAA,EAChB;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/entry/content/adapters/react/Node.ts"],"sourcesContent":["import {createRoot, type Root} from \"react-dom/client\";\n\nimport {isDomRenderValue, renderDomValue} from \"@entry/core/render\";\nimport {isReactRenderValue} from \"@entry/core/react\";\n\nimport {RenderNode} from \"../../lifecycle/nodes\";\n\nimport type {ContentScriptRenderValue} from \"@typing/content\";\n\nexport default class Node<Data = unknown> extends RenderNode<Data> {\n private root?: Root;\n\n protected render(value: ContentScriptRenderValue<Data> | undefined, target: Element): boolean {\n // Text is also iterable, so framework-independent values are checked before React nodes.\n if (isDomRenderValue(value)) {\n renderDomValue(target, value);\n\n return true;\n }\n\n if (isReactRenderValue(value)) {\n this.root = createRoot(target);\n this.root.render(value);\n\n return true;\n }\n\n return false;\n }\n\n protected clear(): void {\n const root = this.root;\n this.root = undefined;\n root?.unmount();\n }\n}\n"],"mappings":"AAAA,SAAQ,kBAA4B;AAEpC,SAAQ,kBAAkB,sBAAqB;AAC/C,SAAQ,0BAAyB;AAEjC,SAAQ,kBAAiB;AAIzB,MAAO,aAA2C,WAAiB;AAAA,EACvD;AAAA,EAEE,OAAO,OAAmD,QAA0B;AAE1F,QAAI,iBAAiB,KAAK,GAAG;AACzB,qBAAe,QAAQ,KAAK;AAE5B,aAAO;AAAA,IACX;AAEA,QAAI,mBAAmB,KAAK,GAAG;AAC3B,WAAK,OAAO,WAAW,MAAM;AAC7B,WAAK,KAAK,OAAO,KAAK;AAEtB,aAAO;AAAA,IACX;AAEA,WAAO;AAAA,EACX;AAAA,EAEU,QAAc;AACpB,UAAM,OAAO,KAAK;AAClB,SAAK,OAAO;AACZ,iCAAM;AAAA,EACV;AACJ;","names":[]}
@@ -0,0 +1,2 @@
1
+ import type { ContentScriptDefinition } from "../../../../types/content/index.js";
2
+ export declare const resolveDefinition: (module: object) => ContentScriptDefinition;
@@ -0,0 +1,13 @@
1
+ import { isDomRenderValue } from "./../../../../entry/core/render.js";
2
+ import { isReactRenderValue } from "./../../../../entry/core/react.js";
3
+ import { mergeDefinition } from "../../resolvers/definition.js";
4
+ const resolveDefinition = (module) => {
5
+ return mergeDefinition(
6
+ module,
7
+ (value) => typeof value === "function" || isDomRenderValue(value) || isReactRenderValue(value)
8
+ );
9
+ };
10
+ export {
11
+ resolveDefinition
12
+ };
13
+ //# sourceMappingURL=definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/entry/content/adapters/react/definition.ts"],"sourcesContent":["import {isDomRenderValue} from \"@entry/core/render\";\nimport {isReactRenderValue} from \"@entry/core/react\";\n\nimport {mergeDefinition} from \"../../resolvers/definition\";\n\nimport type {ContentScriptDefinition} from \"@typing/content\";\n\nexport const resolveDefinition = (module: object): ContentScriptDefinition => {\n return mergeDefinition(\n module,\n value => typeof value === \"function\" || isDomRenderValue(value) || isReactRenderValue(value)\n );\n};\n"],"mappings":"AAAA,SAAQ,wBAAuB;AAC/B,SAAQ,0BAAyB;AAEjC,SAAQ,uBAAsB;AAIvB,MAAM,oBAAoB,CAAC,WAA4C;AAC1E,SAAO;AAAA,IACH;AAAA,IACA,WAAS,OAAO,UAAU,cAAc,iBAAiB,KAAK,KAAK,mBAAmB,KAAK;AAAA,EAC/F;AACJ;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import Builder from "./Builder.js";
2
2
  export { Builder };
3
- export { resolveDefinition } from "./resolvers/definition.js";
3
+ export { resolveDefinition } from "./definition.js";
4
4
  declare const _default: (definition: import("../../../../index.js").ContentScriptDefinition<unknown, "none" | "shadow" | "iframe">) => void;
5
5
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import Builder from "./Builder.js";
2
- import { resolveDefinition } from "./resolvers/definition.js";
2
+ import { resolveDefinition } from "./definition.js";
3
3
  var react_default = Builder.resolver();
4
4
  export {
5
5
  Builder,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/entry/content/adapters/react/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport {Builder};\nexport {resolveDefinition} from \"./resolvers/definition\";\n\nexport default Builder.resolver();\n"],"mappings":"AAAA,OAAO,aAAa;AAGpB,SAAQ,yBAAwB;AAEhC,IAAO,gBAAQ,QAAQ,SAAS;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/entry/content/adapters/react/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport {Builder};\nexport {resolveDefinition} from \"./definition\";\n\nexport default Builder.resolver();\n"],"mappings":"AAAA,OAAO,aAAa;AAGpB,SAAQ,yBAAwB;AAEhC,IAAO,gBAAQ,QAAQ,SAAS;","names":[]}
@@ -1,6 +1,8 @@
1
1
  import MountBuilder from "../../lifecycle/MountBuilder.js";
2
+ import VanillaNode from "./Node.js";
3
+ import type { ContentScriptRenderOptions } from "../../lifecycle/types.js";
2
4
  import type { ContentScriptNode, ContentScriptIsolation, ContentScriptProps, ContentScriptRenderHandler, ContentScriptRenderValue } from "../../../../types/content/index.js";
3
5
  export default class Builder<Data = unknown, Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`> extends MountBuilder<Data, Isolation> {
4
- protected resolveRender(render?: ContentScriptRenderValue<Data> | ContentScriptRenderHandler<Data>): ContentScriptRenderHandler<Data> | undefined;
5
- protected createRenderer(node: ContentScriptNode, render: ContentScriptRenderHandler<Data>, props: () => ContentScriptProps<Data>): ContentScriptNode;
6
+ protected resolveRender(render?: ContentScriptRenderValue<Data> | ContentScriptRenderHandler<Data>): true | ContentScriptRenderHandler<Data> | undefined;
7
+ protected createRenderer(node: ContentScriptNode, render: ContentScriptRenderHandler<Data>, props: () => ContentScriptProps<Data>, options: ContentScriptRenderOptions): VanillaNode<Data>;
6
8
  }
@@ -1,12 +1,21 @@
1
+ import { isDomRenderValue } from "./../../../../entry/core/render.js";
1
2
  import MountBuilder from "../../lifecycle/MountBuilder.js";
2
- import RenderNode from "./Node.js";
3
- import { createRenderResolver } from "./resolvers/render.js";
3
+ import VanillaNode from "./Node.js";
4
4
  class Builder extends MountBuilder {
5
5
  resolveRender(render) {
6
- return render === void 0 ? void 0 : createRenderResolver(render);
6
+ if (render === true || render === void 0) {
7
+ return render;
8
+ }
9
+ return (props) => {
10
+ const resolvedRender = typeof render === "function" ? render(props) : render;
11
+ if (!isDomRenderValue(resolvedRender)) {
12
+ return;
13
+ }
14
+ return resolvedRender;
15
+ };
7
16
  }
8
- createRenderer(node, render, props) {
9
- return new RenderNode(node, render, props);
17
+ createRenderer(node, render, props, options) {
18
+ return new VanillaNode(node, render, props, options);
10
19
  }
11
20
  }
12
21
  export {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/entry/content/adapters/vanilla/Builder.ts"],"sourcesContent":["import MountBuilder from \"../../lifecycle/MountBuilder\";\nimport RenderNode from \"./Node\";\nimport {createRenderResolver} from \"./resolvers/render\";\n\nimport type {\n ContentScriptNode,\n ContentScriptIsolation,\n ContentScriptProps,\n ContentScriptRenderHandler,\n ContentScriptRenderValue,\n} from \"@typing/content\";\n\nexport default class Builder<\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n> extends MountBuilder<Data, Isolation> {\n protected resolveRender(\n render?: ContentScriptRenderValue<Data> | ContentScriptRenderHandler<Data>\n ): ContentScriptRenderHandler<Data> | undefined {\n return render === undefined ? undefined : createRenderResolver(render);\n }\n\n protected createRenderer(\n node: ContentScriptNode,\n render: ContentScriptRenderHandler<Data>,\n props: () => ContentScriptProps<Data>\n ): ContentScriptNode {\n return new RenderNode(node, render, props);\n }\n}\n"],"mappings":"AAAA,OAAO,kBAAkB;AACzB,OAAO,gBAAgB;AACvB,SAAQ,4BAA2B;AAUnC,MAAO,gBAGG,aAA8B;AAAA,EAC1B,cACN,QAC4C;AAC5C,WAAO,WAAW,SAAY,SAAY,qBAAqB,MAAM;AAAA,EACzE;AAAA,EAEU,eACN,MACA,QACA,OACiB;AACjB,WAAO,IAAI,WAAW,MAAM,QAAQ,KAAK;AAAA,EAC7C;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/entry/content/adapters/vanilla/Builder.ts"],"sourcesContent":["import {isDomRenderValue} from \"@entry/core/render\";\n\nimport MountBuilder from \"../../lifecycle/MountBuilder\";\nimport VanillaNode from \"./Node\";\nimport type {ContentScriptRenderOptions} from \"../../lifecycle/types\";\n\nimport type {\n ContentScriptNode,\n ContentScriptIsolation,\n ContentScriptProps,\n ContentScriptRenderHandler,\n ContentScriptRenderValue,\n} from \"@typing/content\";\n\nexport default class Builder<\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n> extends MountBuilder<Data, Isolation> {\n protected resolveRender(\n render?: ContentScriptRenderValue<Data> | ContentScriptRenderHandler<Data>\n ): true | ContentScriptRenderHandler<Data> | undefined {\n if (render === true || render === undefined) {\n return render;\n }\n\n return props => {\n const resolvedRender = typeof render === \"function\" ? render(props) : render;\n\n if (!isDomRenderValue(resolvedRender)) {\n return;\n }\n\n return resolvedRender;\n };\n }\n\n protected createRenderer(\n node: ContentScriptNode,\n render: ContentScriptRenderHandler<Data>,\n props: () => ContentScriptProps<Data>,\n options: ContentScriptRenderOptions\n ): VanillaNode<Data> {\n return new VanillaNode(node, render, props, options);\n }\n}\n"],"mappings":"AAAA,SAAQ,wBAAuB;AAE/B,OAAO,kBAAkB;AACzB,OAAO,iBAAiB;AAWxB,MAAO,gBAGG,aAA8B;AAAA,EAC1B,cACN,QACmD;AACnD,QAAI,WAAW,QAAQ,WAAW,QAAW;AACzC,aAAO;AAAA,IACX;AAEA,WAAO,WAAS;AACZ,YAAM,iBAAiB,OAAO,WAAW,aAAa,OAAO,KAAK,IAAI;AAEtE,UAAI,CAAC,iBAAiB,cAAc,GAAG;AACnC;AAAA,MACJ;AAEA,aAAO;AAAA,IACX;AAAA,EACJ;AAAA,EAEU,eACN,MACA,QACA,OACA,SACiB;AACjB,WAAO,IAAI,YAAY,MAAM,QAAQ,OAAO,OAAO;AAAA,EACvD;AACJ;","names":[]}
@@ -1,13 +1,11 @@
1
+ import { isDomRenderValue, renderDomValue } from "./../../../../entry/core/render.js";
1
2
  import { RenderNode } from "../../lifecycle/nodes/index.js";
2
3
  class Node extends RenderNode {
3
4
  render(value, target) {
4
- if (value && typeof value === "object" && "nodeType" in value && value.nodeType === 1) {
5
- target.appendChild(value);
6
- } else if (typeof value === "string" || typeof value === "number") {
7
- target.textContent = String(value);
8
- } else {
5
+ if (!isDomRenderValue(value)) {
9
6
  return false;
10
7
  }
8
+ renderDomValue(target, value);
11
9
  return true;
12
10
  }
13
11
  clear() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/entry/content/adapters/vanilla/Node.ts"],"sourcesContent":["import {RenderNode} from \"../../lifecycle/nodes\";\nimport type {ContentScriptRenderValue} from \"@typing/content\";\n\nexport default class Node<Data = unknown> extends RenderNode<Data> {\n protected render(value: ContentScriptRenderValue<Data> | undefined, target: Element): boolean {\n if (value && typeof value === \"object\" && \"nodeType\" in value && value.nodeType === 1) {\n target.appendChild(value as Element);\n } else if (typeof value === \"string\" || typeof value === \"number\") {\n target.textContent = String(value);\n } else {\n return false;\n }\n\n return true;\n }\n\n protected clear(): void {}\n}\n"],"mappings":"AAAA,SAAQ,kBAAiB;AAGzB,MAAO,aAA2C,WAAiB;AAAA,EACrD,OAAO,OAAmD,QAA0B;AAC1F,QAAI,SAAS,OAAO,UAAU,YAAY,cAAc,SAAS,MAAM,aAAa,GAAG;AACnF,aAAO,YAAY,KAAgB;AAAA,IACvC,WAAW,OAAO,UAAU,YAAY,OAAO,UAAU,UAAU;AAC/D,aAAO,cAAc,OAAO,KAAK;AAAA,IACrC,OAAO;AACH,aAAO;AAAA,IACX;AAEA,WAAO;AAAA,EACX;AAAA,EAEU,QAAc;AAAA,EAAC;AAC7B;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/entry/content/adapters/vanilla/Node.ts"],"sourcesContent":["import {isDomRenderValue, renderDomValue} from \"@entry/core/render\";\n\nimport {RenderNode} from \"../../lifecycle/nodes\";\nimport type {ContentScriptRenderValue} from \"@typing/content\";\n\nexport default class Node<Data = unknown> extends RenderNode<Data> {\n protected render(value: ContentScriptRenderValue<Data> | undefined, target: Element): boolean {\n if (!isDomRenderValue(value)) {\n return false;\n }\n\n renderDomValue(target, value);\n\n return true;\n }\n\n protected clear(): void {}\n}\n"],"mappings":"AAAA,SAAQ,kBAAkB,sBAAqB;AAE/C,SAAQ,kBAAiB;AAGzB,MAAO,aAA2C,WAAiB;AAAA,EACrD,OAAO,OAAmD,QAA0B;AAC1F,QAAI,CAAC,iBAAiB,KAAK,GAAG;AAC1B,aAAO;AAAA,IACX;AAEA,mBAAe,QAAQ,KAAK;AAE5B,WAAO;AAAA,EACX;AAAA,EAEU,QAAc;AAAA,EAAC;AAC7B;","names":[]}
@@ -0,0 +1,2 @@
1
+ import type { ContentScriptDefinition } from "../../../../types/content/index.js";
2
+ export declare const resolveDefinition: (module: object) => ContentScriptDefinition;
@@ -0,0 +1,9 @@
1
+ import { isDomRenderValue } from "./../../../../entry/core/render.js";
2
+ import { mergeDefinition } from "../../resolvers/definition.js";
3
+ const resolveDefinition = (module) => {
4
+ return mergeDefinition(module, (value) => typeof value === "function" || isDomRenderValue(value));
5
+ };
6
+ export {
7
+ resolveDefinition
8
+ };
9
+ //# sourceMappingURL=definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/entry/content/adapters/vanilla/definition.ts"],"sourcesContent":["import {isDomRenderValue} from \"@entry/core/render\";\n\nimport {mergeDefinition} from \"../../resolvers/definition\";\n\nimport type {ContentScriptDefinition} from \"@typing/content\";\n\nexport const resolveDefinition = (module: object): ContentScriptDefinition => {\n return mergeDefinition(module, value => typeof value === \"function\" || isDomRenderValue(value));\n};\n"],"mappings":"AAAA,SAAQ,wBAAuB;AAE/B,SAAQ,uBAAsB;AAIvB,MAAM,oBAAoB,CAAC,WAA4C;AAC1E,SAAO,gBAAgB,QAAQ,WAAS,OAAO,UAAU,cAAc,iBAAiB,KAAK,CAAC;AAClG;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import Builder from "./Builder.js";
2
2
  export { Builder };
3
- export { resolveDefinition } from "./resolvers/definition.js";
3
+ export { resolveDefinition } from "./definition.js";
4
4
  declare const _default: (definition: import("../../../../index.js").ContentScriptDefinition<unknown, "none" | "shadow" | "iframe">) => void;
5
5
  export default _default;
@@ -1,5 +1,5 @@
1
1
  import Builder from "./Builder.js";
2
- import { resolveDefinition } from "./resolvers/definition.js";
2
+ import { resolveDefinition } from "./definition.js";
3
3
  var vanilla_default = Builder.resolver();
4
4
  export {
5
5
  Builder,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/entry/content/adapters/vanilla/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport {Builder};\nexport {resolveDefinition} from \"./resolvers/definition\";\n\nexport default Builder.resolver();\n"],"mappings":"AAAA,OAAO,aAAa;AAGpB,SAAQ,yBAAwB;AAEhC,IAAO,kBAAQ,QAAQ,SAAS;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/entry/content/adapters/vanilla/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport {Builder};\nexport {resolveDefinition} from \"./definition\";\n\nexport default Builder.resolver();\n"],"mappings":"AAAA,OAAO,aAAa;AAGpB,SAAQ,yBAAwB;AAEhC,IAAO,kBAAQ,QAAQ,SAAS;","names":[]}