adnbn 0.11.0 → 0.13.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 (378) hide show
  1. package/README.md +3 -0
  2. package/dist/cli/builders/manifest/ManifestBase.js +1 -1
  3. package/dist/cli/bundler/index.d.ts +1 -0
  4. package/dist/cli/bundler/index.js +1 -0
  5. package/dist/cli/bundler/index.js.map +1 -1
  6. package/dist/cli/bundler/layers.d.ts +5 -0
  7. package/dist/cli/bundler/layers.js +11 -0
  8. package/dist/cli/bundler/layers.js.map +1 -0
  9. package/dist/cli/bundler/plugins/build-assets-map/BuildAssetsMapPlugin.js +44 -15
  10. package/dist/cli/bundler/plugins/build-assets-map/BuildAssetsMapPlugin.js.map +1 -1
  11. package/dist/cli/bundler/plugins/build-assets-map/index.d.ts +1 -2
  12. package/dist/cli/bundler/plugins/build-assets-map/index.js +0 -3
  13. package/dist/cli/bundler/plugins/build-assets-map/index.js.map +1 -1
  14. package/dist/cli/bundler/plugins/build-assets-map/normalize.d.ts +3 -0
  15. package/dist/cli/bundler/plugins/build-assets-map/normalize.js +24 -0
  16. package/dist/cli/bundler/plugins/build-assets-map/normalize.js.map +1 -0
  17. package/dist/cli/bundler/plugins/build-assets-map/templates/runtime.template.d.ts +2 -0
  18. package/dist/cli/bundler/plugins/build-assets-map/templates.d.ts +9 -0
  19. package/dist/cli/bundler/plugins/build-assets-map/templates.js +32 -0
  20. package/dist/cli/bundler/plugins/build-assets-map/usage.d.ts +3 -6
  21. package/dist/cli/bundler/plugins/build-assets-map/usage.js +6 -3
  22. package/dist/cli/bundler/plugins/build-assets-map/usage.js.map +1 -1
  23. package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js +11 -0
  24. package/dist/cli/bundler/plugins/entrypoint/EntrypointPlugin.js.map +1 -1
  25. package/dist/cli/bundler/plugins/index.d.ts +2 -2
  26. package/dist/cli/bundler/plugins/index.js +2 -6
  27. package/dist/cli/bundler/plugins/index.js.map +1 -1
  28. package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.d.ts +1 -1
  29. package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.js +38 -13
  30. package/dist/cli/bundler/plugins/isolated-styles/IsolatedStylesPlugin.js.map +1 -1
  31. package/dist/cli/bundler/plugins/isolated-styles/chunks.d.ts +7 -0
  32. package/dist/cli/bundler/plugins/isolated-styles/chunks.js +33 -0
  33. package/dist/cli/bundler/plugins/isolated-styles/chunks.js.map +1 -0
  34. package/dist/cli/bundler/plugins/isolated-styles/split-chunks.d.ts +4 -0
  35. package/dist/cli/bundler/plugins/isolated-styles/split-chunks.js +51 -0
  36. package/dist/cli/bundler/plugins/isolated-styles/split-chunks.js.map +1 -0
  37. package/dist/cli/bundler/plugins/isolated-styles/templates.js +36 -6
  38. package/dist/cli/bundler/plugins/manifest/ManifestPlugin.js +1 -2
  39. package/dist/cli/bundler/plugins/manifest/ManifestPlugin.js.map +1 -1
  40. package/dist/cli/bundler/plugins/types.d.ts +4 -0
  41. package/dist/cli/bundler/plugins/utils/compilation-assets.d.ts +4 -0
  42. package/dist/cli/bundler/plugins/utils/compilation-assets.js +12 -0
  43. package/dist/cli/bundler/plugins/utils/compilation-assets.js.map +1 -0
  44. package/dist/cli/bundler/plugins/utils/index.d.ts +2 -0
  45. package/dist/cli/bundler/plugins/utils/index.js +5 -0
  46. package/dist/cli/bundler/plugins/utils/index.js.map +1 -1
  47. package/dist/cli/bundler/plugins/utils/runtime-module.d.ts +3 -0
  48. package/dist/cli/bundler/plugins/utils/runtime-module.js +11 -0
  49. package/dist/cli/bundler/plugins/utils/runtime-module.js.map +1 -0
  50. package/dist/cli/bundler/utils/app-filename.d.ts +2 -0
  51. package/dist/cli/bundler/utils/app-filename.js +19 -0
  52. package/dist/cli/bundler/utils/app-filename.js.map +1 -0
  53. package/dist/cli/bundler/utils/assets.d.ts +3 -0
  54. package/dist/cli/bundler/utils/{output.js → assets.js} +22 -33
  55. package/dist/cli/bundler/utils/assets.js.map +1 -0
  56. package/dist/cli/bundler/utils/index.d.ts +2 -3
  57. package/dist/cli/bundler/utils/index.js +2 -3
  58. package/dist/cli/bundler/utils/index.js.map +1 -1
  59. package/dist/cli/entrypoint/file/injectors/core.js +1 -1
  60. package/dist/cli/entrypoint/finder/ContentFinder.d.ts +1 -1
  61. package/dist/cli/entrypoint/parser/ContentParser.d.ts +2 -2
  62. package/dist/cli/entrypoint/parser/ContentParser.js +6 -22
  63. package/dist/cli/entrypoint/parser/ContentParser.js.map +1 -1
  64. package/dist/cli/entrypoint/parser/RelayParser.js +1 -1
  65. package/dist/cli/entrypoint/parser/utils/content/default-render.d.ts +3 -0
  66. package/dist/cli/entrypoint/parser/utils/content/default-render.js +21 -0
  67. package/dist/cli/entrypoint/parser/utils/content/default-render.js.map +1 -0
  68. package/dist/cli/plugins/content/Content.d.ts +1 -1
  69. package/dist/cli/plugins/content/ContentDriver.d.ts +1 -1
  70. package/dist/cli/plugins/content/ContentManager.d.ts +1 -1
  71. package/dist/cli/plugins/content/ContentManager.js +1 -1
  72. package/dist/cli/plugins/content/ContentName.d.ts +1 -1
  73. package/dist/cli/plugins/content/ContentName.js +1 -1
  74. package/dist/cli/plugins/content/Relay.d.ts +1 -1
  75. package/dist/cli/plugins/content/RelayDriver.d.ts +1 -1
  76. package/dist/cli/plugins/content/RelayDriver.js +1 -1
  77. package/dist/cli/plugins/content/bundler.d.ts +1 -4
  78. package/dist/cli/plugins/content/bundler.js +5 -21
  79. package/dist/cli/plugins/content/bundler.js.map +1 -1
  80. package/dist/cli/plugins/content/index.js +4 -5
  81. package/dist/cli/plugins/content/index.js.map +1 -1
  82. package/dist/cli/plugins/content/types.d.ts +1 -1
  83. package/dist/cli/plugins/content/utils.d.ts +1 -1
  84. package/dist/cli/plugins/content/utils.js +1 -1
  85. package/dist/cli/plugins/index.d.ts +1 -1
  86. package/dist/cli/plugins/index.js +1 -1
  87. package/dist/cli/plugins/locale/Locale.js +5 -2
  88. package/dist/cli/plugins/locale/Locale.js.map +1 -1
  89. package/dist/cli/plugins/locale/index.js +2 -2
  90. package/dist/cli/plugins/locale/index.js.map +1 -1
  91. package/dist/cli/plugins/output/index.d.ts +2 -0
  92. package/dist/cli/plugins/{output.js → output/index.js} +11 -13
  93. package/dist/cli/plugins/output/index.js.map +1 -0
  94. package/dist/cli/plugins/output/runtime.d.ts +26 -0
  95. package/dist/cli/plugins/output/runtime.js +19 -0
  96. package/dist/cli/plugins/output/runtime.js.map +1 -0
  97. package/dist/cli/plugins/style/index.d.ts +1 -2
  98. package/dist/cli/plugins/style/index.js +19 -30
  99. package/dist/cli/plugins/style/index.js.map +1 -1
  100. package/dist/cli/resolvers/config.js +1 -2
  101. package/dist/cli/resolvers/config.js.map +1 -1
  102. package/dist/cli/virtual/index.js +4 -4
  103. package/dist/cli/virtual/virtual.d.ts +8 -3
  104. package/dist/content/index.d.ts +3 -0
  105. package/dist/content/index.js +8 -0
  106. package/dist/content/index.js.map +1 -0
  107. package/dist/entry/content/adapters/react/Builder.d.ts +7 -6
  108. package/dist/entry/content/adapters/react/Builder.js +12 -19
  109. package/dist/entry/content/adapters/react/Builder.js.map +1 -1
  110. package/dist/entry/content/adapters/react/Node.d.ts +6 -14
  111. package/dist/entry/content/adapters/react/Node.js +11 -35
  112. package/dist/entry/content/adapters/react/Node.js.map +1 -1
  113. package/dist/entry/content/adapters/react/definition.d.ts +2 -0
  114. package/dist/entry/content/adapters/react/definition.js +12 -0
  115. package/dist/entry/content/adapters/react/definition.js.map +1 -0
  116. package/dist/entry/content/adapters/react/index.d.ts +2 -1
  117. package/dist/entry/content/adapters/react/index.js +3 -1
  118. package/dist/entry/content/adapters/react/index.js.map +1 -1
  119. package/dist/entry/content/adapters/vanilla/Builder.d.ts +7 -5
  120. package/dist/entry/content/adapters/vanilla/Builder.js +17 -14
  121. package/dist/entry/content/adapters/vanilla/Builder.js.map +1 -1
  122. package/dist/entry/content/adapters/vanilla/Node.d.ts +5 -11
  123. package/dist/entry/content/adapters/vanilla/Node.js +11 -37
  124. package/dist/entry/content/adapters/vanilla/Node.js.map +1 -1
  125. package/dist/entry/content/adapters/vanilla/definition.d.ts +2 -0
  126. package/dist/entry/content/adapters/vanilla/definition.js +9 -0
  127. package/dist/entry/content/adapters/vanilla/definition.js.map +1 -0
  128. package/dist/entry/content/adapters/vanilla/index.d.ts +2 -1
  129. package/dist/entry/content/adapters/vanilla/index.js +3 -1
  130. package/dist/entry/content/adapters/vanilla/index.js.map +1 -1
  131. package/dist/entry/content/adapters/vanilla/utils.d.ts +1 -0
  132. package/dist/entry/content/adapters/vanilla/utils.js +7 -0
  133. package/dist/entry/content/adapters/vanilla/utils.js.map +1 -0
  134. package/dist/entry/content/index.d.ts +5 -1
  135. package/dist/entry/content/index.js +8 -1
  136. package/dist/entry/content/index.js.map +1 -1
  137. package/dist/entry/content/lifecycle/Builder.d.ts +32 -0
  138. package/dist/entry/content/lifecycle/Builder.js +254 -0
  139. package/dist/entry/content/lifecycle/Builder.js.map +1 -0
  140. package/dist/entry/content/lifecycle/IsolationSetup.d.ts +16 -0
  141. package/dist/entry/content/lifecycle/IsolationSetup.js +37 -0
  142. package/dist/entry/content/lifecycle/IsolationSetup.js.map +1 -0
  143. package/dist/entry/content/lifecycle/MountBuilder.d.ts +11 -0
  144. package/dist/entry/content/lifecycle/MountBuilder.js +73 -0
  145. package/dist/entry/content/lifecycle/MountBuilder.js.map +1 -0
  146. package/dist/entry/content/lifecycle/context/ContainerRegistry.d.ts +7 -0
  147. package/dist/entry/content/lifecycle/context/ContainerRegistry.js +45 -0
  148. package/dist/entry/content/lifecycle/context/ContainerRegistry.js.map +1 -0
  149. package/dist/entry/content/lifecycle/context/Context.d.ts +17 -0
  150. package/dist/entry/content/lifecycle/context/Context.js +88 -0
  151. package/dist/entry/content/lifecycle/context/Context.js.map +1 -0
  152. package/dist/entry/content/{core → lifecycle}/context/EventEmitter.d.ts +2 -2
  153. package/dist/entry/content/{core → lifecycle}/context/EventEmitter.js +3 -3
  154. package/dist/entry/content/lifecycle/context/EventEmitter.js.map +1 -0
  155. package/dist/entry/content/lifecycle/context/ManagedContext.d.ts +8 -0
  156. package/dist/entry/content/lifecycle/context/ManagedContext.js +19 -0
  157. package/dist/entry/content/lifecycle/context/ManagedContext.js.map +1 -0
  158. package/dist/entry/content/{core → lifecycle}/context/index.d.ts +1 -0
  159. package/dist/entry/content/lifecycle/context/index.js +11 -0
  160. package/dist/entry/content/lifecycle/context/index.js.map +1 -0
  161. package/dist/entry/content/{core → lifecycle}/markers/AbstractMarker.d.ts +2 -2
  162. package/dist/entry/content/{core → lifecycle}/markers/AbstractMarker.js +3 -3
  163. package/dist/entry/content/lifecycle/markers/AbstractMarker.js.map +1 -0
  164. package/dist/entry/content/{core → lifecycle}/markers/AttributeMarker.d.ts +2 -2
  165. package/dist/entry/content/{core → lifecycle}/markers/AttributeMarker.js +5 -3
  166. package/dist/entry/content/lifecycle/markers/AttributeMarker.js.map +1 -0
  167. package/dist/entry/content/{core → lifecycle}/markers/WeakMarker.d.ts +2 -2
  168. package/dist/entry/content/{core → lifecycle}/markers/WeakMarker.js +2 -2
  169. package/dist/entry/content/lifecycle/markers/WeakMarker.js.map +1 -0
  170. package/dist/entry/content/lifecycle/markers/index.js.map +1 -0
  171. package/dist/entry/content/lifecycle/nodes/EventNode.d.ts +15 -0
  172. package/dist/entry/content/lifecycle/nodes/EventNode.js +49 -0
  173. package/dist/entry/content/lifecycle/nodes/EventNode.js.map +1 -0
  174. package/dist/entry/content/lifecycle/nodes/FrameNode.d.ts +30 -0
  175. package/dist/entry/content/lifecycle/nodes/FrameNode.js +190 -0
  176. package/dist/entry/content/lifecycle/nodes/FrameNode.js.map +1 -0
  177. package/dist/entry/content/{core → lifecycle}/nodes/MarkerNode.d.ts +3 -2
  178. package/dist/entry/content/{core → lifecycle}/nodes/MarkerNode.js +5 -2
  179. package/dist/entry/content/lifecycle/nodes/MarkerNode.js.map +1 -0
  180. package/dist/entry/content/lifecycle/nodes/MountNode.d.ts +17 -0
  181. package/dist/entry/content/lifecycle/nodes/MountNode.js +80 -0
  182. package/dist/entry/content/lifecycle/nodes/MountNode.js.map +1 -0
  183. package/dist/entry/content/{core → lifecycle}/nodes/Node.d.ts +2 -2
  184. package/dist/entry/content/{core → lifecycle}/nodes/Node.js +2 -2
  185. package/dist/entry/content/lifecycle/nodes/Node.js.map +1 -0
  186. package/dist/entry/content/lifecycle/nodes/RenderNode.d.ts +28 -0
  187. package/dist/entry/content/lifecycle/nodes/RenderNode.js +140 -0
  188. package/dist/entry/content/lifecycle/nodes/RenderNode.js.map +1 -0
  189. package/dist/entry/content/lifecycle/nodes/ShadowNode.d.ts +22 -0
  190. package/dist/entry/content/lifecycle/nodes/ShadowNode.js +124 -0
  191. package/dist/entry/content/lifecycle/nodes/ShadowNode.js.map +1 -0
  192. package/dist/entry/content/{core → lifecycle}/nodes/index.d.ts +1 -0
  193. package/dist/entry/content/lifecycle/nodes/index.js +17 -0
  194. package/dist/entry/content/lifecycle/nodes/index.js.map +1 -0
  195. package/dist/entry/content/{core → lifecycle}/nodes/isolated-styles.d.ts +1 -1
  196. package/dist/entry/content/{core → lifecycle}/nodes/isolated-styles.js +2 -2
  197. package/dist/entry/content/lifecycle/nodes/isolated-styles.js.map +1 -0
  198. package/dist/entry/content/lifecycle/types.d.ts +28 -0
  199. package/dist/entry/content/resolvers/anchor.d.ts +2 -0
  200. package/dist/entry/content/{core/resolvers → resolvers}/anchor.js +2 -2
  201. package/dist/entry/content/resolvers/anchor.js.map +1 -0
  202. package/dist/entry/content/resolvers/container.d.ts +2 -0
  203. package/dist/entry/content/{core/resolvers → resolvers}/container.js +2 -2
  204. package/dist/entry/content/resolvers/container.js.map +1 -0
  205. package/dist/entry/content/resolvers/definition.d.ts +5 -0
  206. package/dist/entry/content/resolvers/definition.js +24 -0
  207. package/dist/entry/content/resolvers/definition.js.map +1 -0
  208. package/dist/entry/content/{core/resolvers → resolvers}/index.d.ts +1 -1
  209. package/dist/entry/content/{core/resolvers → resolvers}/index.js +1 -1
  210. package/dist/entry/content/resolvers/index.js.map +1 -0
  211. package/dist/entry/content/resolvers/mount.d.ts +2 -0
  212. package/dist/entry/content/{core/resolvers → resolvers}/mount.js +3 -3
  213. package/dist/entry/content/resolvers/mount.js.map +1 -0
  214. package/dist/entry/content/resolvers/target.d.ts +3 -0
  215. package/dist/entry/content/resolvers/target.js +34 -0
  216. package/dist/entry/content/resolvers/target.js.map +1 -0
  217. package/dist/entry/content/resolvers/watch.d.ts +6 -0
  218. package/dist/entry/content/resolvers/watch.js +81 -0
  219. package/dist/entry/content/resolvers/watch.js.map +1 -0
  220. package/dist/entry/relay/Builder.d.ts +8 -8
  221. package/dist/entry/relay/Builder.js +28 -19
  222. package/dist/entry/relay/Builder.js.map +1 -1
  223. package/dist/entry/relay/TransportBuilder.d.ts +3 -2
  224. package/dist/entry/relay/TransportBuilder.js +3 -3
  225. package/dist/entry/relay/TransportBuilder.js.map +1 -1
  226. package/dist/entry/relay/index.d.ts +5 -2
  227. package/dist/entry/relay/index.js +8 -2
  228. package/dist/entry/relay/index.js.map +1 -1
  229. package/dist/entry/relay/resolvers/definition.d.ts +4 -0
  230. package/dist/entry/relay/resolvers/definition.js +16 -0
  231. package/dist/entry/relay/resolvers/definition.js.map +1 -0
  232. package/dist/main/content.d.ts +4 -6
  233. package/dist/main/content.js +3 -16
  234. package/dist/main/content.js.map +1 -1
  235. package/dist/main/entrypoint.js +1 -1
  236. package/dist/main/entrypoint.js.map +1 -1
  237. package/dist/main/relay.d.ts +2 -1
  238. package/dist/main/relay.js.map +1 -1
  239. package/dist/relay/RelayPermission.js +1 -1
  240. package/dist/shared/content/isolation.d.ts +1 -1
  241. package/dist/shared/content/isolation.js +13 -20
  242. package/dist/shared/content/isolation.js.map +1 -1
  243. package/dist/shared/locale/index.d.ts +1 -1
  244. package/dist/shared/locale/index.js +3 -1
  245. package/dist/shared/locale/index.js.map +1 -1
  246. package/dist/shared/locale/messages.d.ts +4 -0
  247. package/dist/shared/locale/messages.js +12 -0
  248. package/dist/shared/locale/messages.js.map +1 -1
  249. package/dist/types/content/adapters/index.d.ts +2 -0
  250. package/dist/types/content/adapters/index.js +1 -0
  251. package/dist/types/content/adapters/index.js.map +1 -0
  252. package/dist/types/content/adapters/react.d.ts +4 -0
  253. package/dist/types/content/adapters/react.js +1 -0
  254. package/dist/types/content/adapters/react.js.map +1 -0
  255. package/dist/types/content/adapters/vanilla.d.ts +1 -0
  256. package/dist/types/content/adapters/vanilla.js +1 -0
  257. package/dist/types/content/adapters/vanilla.js.map +1 -0
  258. package/dist/types/content/boundary.d.ts +17 -0
  259. package/dist/types/content/boundary.js +1 -0
  260. package/dist/types/content/boundary.js.map +1 -0
  261. package/dist/types/{content.d.ts → content/common.d.ts} +32 -53
  262. package/dist/types/{content.js → content/common.js} +1 -1
  263. package/dist/types/content/common.js.map +1 -0
  264. package/dist/types/content/definition.d.ts +66 -0
  265. package/dist/types/content/definition.js +1 -0
  266. package/dist/types/content/definition.js.map +1 -0
  267. package/dist/types/content/index.d.ts +7 -0
  268. package/dist/types/content/index.js +2 -0
  269. package/dist/types/content/index.js.map +1 -0
  270. package/dist/types/content/prepare.d.ts +9 -0
  271. package/dist/types/content/prepare.js +1 -0
  272. package/dist/types/content/prepare.js.map +1 -0
  273. package/dist/types/content/render.d.ts +6 -0
  274. package/dist/types/content/render.js +1 -0
  275. package/dist/types/content/render.js.map +1 -0
  276. package/dist/types/content/target.d.ts +13 -0
  277. package/dist/types/content/target.js +1 -0
  278. package/dist/types/content/target.js.map +1 -0
  279. package/dist/types/locale.d.ts +3 -0
  280. package/dist/types/locale.js.map +1 -1
  281. package/dist/types/manifest.d.ts +1 -1
  282. package/dist/types/relay.d.ts +3 -4
  283. package/dist/types/relay.js.map +1 -1
  284. package/dist/virtual/modules.d.ts +4 -3
  285. package/dist/virtual/{entrypoint.d.ts → runtime.d.ts} +3 -0
  286. package/dist/virtual/runtime.js +9 -0
  287. package/dist/virtual/runtime.js.map +1 -0
  288. package/package.json +32 -25
  289. package/scripts/merge-coverage.mjs +12 -0
  290. package/scripts/pre-commit.mjs +22 -0
  291. package/scripts/test-inventory.mjs +38 -0
  292. package/scripts/test-run.mjs +25 -0
  293. package/types/client.d.ts +3 -3
  294. package/dist/cli/bundler/plugins/build-assets-map/entrypoint-module.d.ts +0 -13
  295. package/dist/cli/bundler/plugins/build-assets-map/entrypoint-module.js +0 -16
  296. package/dist/cli/bundler/plugins/build-assets-map/entrypoint-module.js.map +0 -1
  297. package/dist/cli/bundler/utils/layers.d.ts +0 -4
  298. package/dist/cli/bundler/utils/layers.js +0 -10
  299. package/dist/cli/bundler/utils/layers.js.map +0 -1
  300. package/dist/cli/bundler/utils/output.d.ts +0 -6
  301. package/dist/cli/bundler/utils/output.js.map +0 -1
  302. package/dist/cli/bundler/utils/styles.d.ts +0 -5
  303. package/dist/cli/bundler/utils/styles.js +0 -30
  304. package/dist/cli/bundler/utils/styles.js.map +0 -1
  305. package/dist/cli/plugins/output.d.ts +0 -2
  306. package/dist/cli/plugins/output.js.map +0 -1
  307. package/dist/cli/plugins/style/types.d.ts +0 -5
  308. package/dist/entry/content/adapters/react/resolvers/index.d.ts +0 -1
  309. package/dist/entry/content/adapters/react/resolvers/index.js +0 -2
  310. package/dist/entry/content/adapters/react/resolvers/index.js.map +0 -1
  311. package/dist/entry/content/adapters/react/resolvers/render.d.ts +0 -2
  312. package/dist/entry/content/adapters/react/resolvers/render.js +0 -11
  313. package/dist/entry/content/adapters/react/resolvers/render.js.map +0 -1
  314. package/dist/entry/content/core/Builder.d.ts +0 -26
  315. package/dist/entry/content/core/Builder.js +0 -128
  316. package/dist/entry/content/core/Builder.js.map +0 -1
  317. package/dist/entry/content/core/MountBuilder.d.ts +0 -10
  318. package/dist/entry/content/core/MountBuilder.js +0 -48
  319. package/dist/entry/content/core/MountBuilder.js.map +0 -1
  320. package/dist/entry/content/core/context/Context.d.ts +0 -12
  321. package/dist/entry/content/core/context/Context.js +0 -50
  322. package/dist/entry/content/core/context/Context.js.map +0 -1
  323. package/dist/entry/content/core/context/EventEmitter.js.map +0 -1
  324. package/dist/entry/content/core/context/ManagedContext.d.ts +0 -5
  325. package/dist/entry/content/core/context/ManagedContext.js +0 -12
  326. package/dist/entry/content/core/context/ManagedContext.js.map +0 -1
  327. package/dist/entry/content/core/context/index.js +0 -9
  328. package/dist/entry/content/core/context/index.js.map +0 -1
  329. package/dist/entry/content/core/markers/AbstractMarker.js.map +0 -1
  330. package/dist/entry/content/core/markers/AttributeMarker.js.map +0 -1
  331. package/dist/entry/content/core/markers/WeakMarker.js.map +0 -1
  332. package/dist/entry/content/core/markers/index.js.map +0 -1
  333. package/dist/entry/content/core/nodes/EventNode.d.ts +0 -11
  334. package/dist/entry/content/core/nodes/EventNode.js +0 -35
  335. package/dist/entry/content/core/nodes/EventNode.js.map +0 -1
  336. package/dist/entry/content/core/nodes/FrameNode.d.ts +0 -23
  337. package/dist/entry/content/core/nodes/FrameNode.js +0 -125
  338. package/dist/entry/content/core/nodes/FrameNode.js.map +0 -1
  339. package/dist/entry/content/core/nodes/MarkerNode.js.map +0 -1
  340. package/dist/entry/content/core/nodes/MountNode.d.ts +0 -12
  341. package/dist/entry/content/core/nodes/MountNode.js +0 -42
  342. package/dist/entry/content/core/nodes/MountNode.js.map +0 -1
  343. package/dist/entry/content/core/nodes/Node.js.map +0 -1
  344. package/dist/entry/content/core/nodes/ShadowNode.d.ts +0 -14
  345. package/dist/entry/content/core/nodes/ShadowNode.js +0 -67
  346. package/dist/entry/content/core/nodes/ShadowNode.js.map +0 -1
  347. package/dist/entry/content/core/nodes/index.js +0 -15
  348. package/dist/entry/content/core/nodes/index.js.map +0 -1
  349. package/dist/entry/content/core/nodes/isolated-styles.js.map +0 -1
  350. package/dist/entry/content/core/resolvers/anchor.d.ts +0 -2
  351. package/dist/entry/content/core/resolvers/anchor.js.map +0 -1
  352. package/dist/entry/content/core/resolvers/container.d.ts +0 -2
  353. package/dist/entry/content/core/resolvers/container.js.map +0 -1
  354. package/dist/entry/content/core/resolvers/definition.d.ts +0 -3
  355. package/dist/entry/content/core/resolvers/definition.js +0 -12
  356. package/dist/entry/content/core/resolvers/definition.js.map +0 -1
  357. package/dist/entry/content/core/resolvers/index.js.map +0 -1
  358. package/dist/entry/content/core/resolvers/mount.d.ts +0 -2
  359. package/dist/entry/content/core/resolvers/mount.js.map +0 -1
  360. package/dist/entry/content/core/resolvers/render.d.ts +0 -3
  361. package/dist/entry/content/core/resolvers/render.js +0 -18
  362. package/dist/entry/content/core/resolvers/render.js.map +0 -1
  363. package/dist/entry/content/core/resolvers/watch.d.ts +0 -4
  364. package/dist/entry/content/core/resolvers/watch.js +0 -62
  365. package/dist/entry/content/core/resolvers/watch.js.map +0 -1
  366. package/dist/entry/content/frame/Builder.d.ts +0 -7
  367. package/dist/entry/content/frame/Builder.js +0 -14
  368. package/dist/entry/content/frame/Builder.js.map +0 -1
  369. package/dist/entry/content/frame/index.d.ts +0 -4
  370. package/dist/entry/content/frame/index.js +0 -7
  371. package/dist/entry/content/frame/index.js.map +0 -1
  372. package/dist/types/content.js.map +0 -1
  373. package/dist/virtual/entrypoint.js +0 -7
  374. package/dist/virtual/entrypoint.js.map +0 -1
  375. /package/dist/entry/content/{core → lifecycle}/markers/index.d.ts +0 -0
  376. /package/dist/entry/content/{core → lifecycle}/markers/index.js +0 -0
  377. /package/dist/{cli/plugins/style → entry/content/lifecycle}/types.js +0 -0
  378. /package/dist/{cli/plugins/style → entry/content/lifecycle}/types.js.map +0 -0
@@ -2,6 +2,6 @@ export * from "./anchor.js";
2
2
  export * from "./container.js";
3
3
  export * from "./definition.js";
4
4
  export * from "./mount.js";
5
- export * from "./render.js";
5
+ export * from "./target.js";
6
6
  export * from "./watch.js";
7
7
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
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":[]}
@@ -0,0 +1,2 @@
1
+ import { ContentScriptAppend, ContentScriptMountFunction } from "../../../types/content/index.js";
2
+ export declare const createAppendMountHandler: (append?: ContentScriptAppend) => ContentScriptMountFunction;
@@ -1,5 +1,5 @@
1
- import { ContentScriptAppend } from "./../../../../types/content.js";
2
- const contentScriptMountAppendResolver = (append) => (anchor, container) => {
1
+ import { ContentScriptAppend } from "./../../../types/content/index.js";
2
+ const createAppendMountHandler = (append) => (anchor, container) => {
3
3
  var _a, _b;
4
4
  switch (append) {
5
5
  case ContentScriptAppend.Last:
@@ -22,6 +22,6 @@ const contentScriptMountAppendResolver = (append) => (anchor, container) => {
22
22
  }
23
23
  };
24
24
  export {
25
- contentScriptMountAppendResolver
25
+ createAppendMountHandler
26
26
  };
27
27
  //# sourceMappingURL=mount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/entry/content/resolvers/mount.ts"],"sourcesContent":["import {ContentScriptAppend, ContentScriptMountFunction} from \"@typing/content\";\n\n// prettier-ignore\nexport const createAppendMountHandler =\n (append?: ContentScriptAppend): ContentScriptMountFunction =>\n (anchor: Element, container: Element): void => {\n switch (append) {\n case ContentScriptAppend.Last:\n anchor.append(container);\n break;\n default:\n case undefined:\n case ContentScriptAppend.First:\n anchor.prepend(container);\n break;\n case ContentScriptAppend.Replace:\n anchor.replaceWith(container);\n break;\n case ContentScriptAppend.After:\n anchor.parentElement?.insertBefore(container, anchor.nextElementSibling);\n break;\n case ContentScriptAppend.Before:\n anchor.parentElement?.insertBefore(container, anchor);\n break;\n }\n };\n"],"mappings":"AAAA,SAAQ,2BAAsD;AAGvD,MAAM,2BACT,CAAC,WACG,CAAC,QAAiB,cAA6B;AALvD;AAMY,UAAQ,QAAQ;AAAA,IACZ,KAAK,oBAAoB;AACrB,aAAO,OAAO,SAAS;AACvB;AAAA,IACJ;AAAA,IACA,KAAK;AAAA,IACL,KAAK,oBAAoB;AACrB,aAAO,QAAQ,SAAS;AACxB;AAAA,IACJ,KAAK,oBAAoB;AACrB,aAAO,YAAY,SAAS;AAC5B;AAAA,IACJ,KAAK,oBAAoB;AACrB,mBAAO,kBAAP,mBAAsB,aAAa,WAAW,OAAO;AACrD;AAAA,IACJ,KAAK,oBAAoB;AACrB,mBAAO,kBAAP,mBAAsB,aAAa,WAAW;AAC9C;AAAA,EACR;AACJ;","names":[]}
@@ -0,0 +1,3 @@
1
+ import type { ContentScriptTarget, ContentScriptTargetCreator } from "../../../types/content/index.js";
2
+ /** Creates the renderer-owned element in the document supplied by the isolation node. */
3
+ export declare const createTargetResolver: <Data = unknown>(target?: ContentScriptTarget<Data>) => ContentScriptTargetCreator<Data>;
@@ -0,0 +1,34 @@
1
+ const createTargetResolver = (target) => (props) => {
2
+ var _a;
3
+ let element = typeof target === "function" ? target(props) : target ?? "div";
4
+ const { document, container, boundary } = props;
5
+ if (element && typeof element === "object" && "then" in element && typeof element.then === "function") {
6
+ throw new Error(
7
+ "Content script target factory must return synchronously; use prepare for asynchronous work"
8
+ );
9
+ }
10
+ if (typeof element === "string") {
11
+ element = document.createElement(element);
12
+ } else if (element && typeof element === "object" && "tagName" in element && !("nodeType" in element)) {
13
+ const { tagName, ...options } = element;
14
+ element = document.createElement(tagName);
15
+ Object.assign(element, options);
16
+ }
17
+ const ElementConstructor = ((_a = document.defaultView) == null ? void 0 : _a.Element) ?? Element;
18
+ if (!(element instanceof ElementConstructor)) {
19
+ throw new Error("The content script target must be a valid element");
20
+ }
21
+ if (element.ownerDocument !== document) {
22
+ throw new Error("The content script target must belong to the supplied document");
23
+ }
24
+ if (element.parentNode || element === container || element === boundary) {
25
+ throw new Error(
26
+ "The content script target must be a detached element distinct from its container and boundary"
27
+ );
28
+ }
29
+ return element;
30
+ };
31
+ export {
32
+ createTargetResolver
33
+ };
34
+ //# sourceMappingURL=target.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/entry/content/resolvers/target.ts"],"sourcesContent":["import type {ContentScriptTarget, ContentScriptTargetCreator} from \"@typing/content\";\n\n/** Creates the renderer-owned element in the document supplied by the isolation node. */\nexport const createTargetResolver =\n <Data = unknown>(target?: ContentScriptTarget<Data>): ContentScriptTargetCreator<Data> =>\n props => {\n let element = typeof target === \"function\" ? target(props) : (target ?? \"div\");\n const {document, container, boundary} = props;\n\n if (element && typeof element === \"object\" && \"then\" in element && typeof element.then === \"function\") {\n throw new Error(\n \"Content script target factory must return synchronously; use prepare for asynchronous work\"\n );\n }\n\n if (typeof element === \"string\") {\n element = document.createElement(element);\n } else if (element && typeof element === \"object\" && \"tagName\" in element && !(\"nodeType\" in element)) {\n const {tagName, ...options} = element;\n element = document.createElement(tagName);\n Object.assign(element, options);\n }\n\n const ElementConstructor = document.defaultView?.Element ?? Element;\n\n if (!(element instanceof ElementConstructor)) {\n throw new Error(\"The content script target must be a valid element\");\n }\n\n if (element.ownerDocument !== document) {\n throw new Error(\"The content script target must belong to the supplied document\");\n }\n\n if (element.parentNode || element === container || element === boundary) {\n throw new Error(\n \"The content script target must be a detached element distinct from its container and boundary\"\n );\n }\n\n return element;\n };\n"],"mappings":"AAGO,MAAM,uBACT,CAAiB,WACjB,WAAS;AALb;AAMQ,MAAI,UAAU,OAAO,WAAW,aAAa,OAAO,KAAK,IAAK,UAAU;AACxE,QAAM,EAAC,UAAU,WAAW,SAAQ,IAAI;AAExC,MAAI,WAAW,OAAO,YAAY,YAAY,UAAU,WAAW,OAAO,QAAQ,SAAS,YAAY;AACnG,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,MAAI,OAAO,YAAY,UAAU;AAC7B,cAAU,SAAS,cAAc,OAAO;AAAA,EAC5C,WAAW,WAAW,OAAO,YAAY,YAAY,aAAa,WAAW,EAAE,cAAc,UAAU;AACnG,UAAM,EAAC,SAAS,GAAG,QAAO,IAAI;AAC9B,cAAU,SAAS,cAAc,OAAO;AACxC,WAAO,OAAO,SAAS,OAAO;AAAA,EAClC;AAEA,QAAM,uBAAqB,cAAS,gBAAT,mBAAsB,YAAW;AAE5D,MAAI,EAAE,mBAAmB,qBAAqB;AAC1C,UAAM,IAAI,MAAM,mDAAmD;AAAA,EACvE;AAEA,MAAI,QAAQ,kBAAkB,UAAU;AACpC,UAAM,IAAI,MAAM,gEAAgE;AAAA,EACpF;AAEA,MAAI,QAAQ,cAAc,YAAY,aAAa,YAAY,UAAU;AACrE,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;","names":[]}
@@ -0,0 +1,6 @@
1
+ import type { ContentScriptWatchStrategy } from "../../../types/content/index.js";
2
+ /** Batch DOM mutations in a fixed window. Calling the returned strategy starts observing. */
3
+ export declare const createMutationObserverStrategy: (options?: MutationObserverInit) => ContentScriptWatchStrategy;
4
+ /** Observe DOM mutations while waiting for the first content nodes. */
5
+ export declare const createAwaitFirstStrategy: (options?: MutationObserverInit) => ContentScriptWatchStrategy;
6
+ export declare const withLocationTracking: (strategy: ContentScriptWatchStrategy) => ContentScriptWatchStrategy;
@@ -0,0 +1,81 @@
1
+ const createMutationObserverStrategy = (options) => (update, context) => {
2
+ let timer;
3
+ const observer = new MutationObserver((records) => {
4
+ if (timer !== void 0 || !records.some((record) => !context.owns(record.target))) {
5
+ return;
6
+ }
7
+ timer = setTimeout(() => {
8
+ timer = void 0;
9
+ void update();
10
+ }, 200);
11
+ });
12
+ observer.observe(document.body ?? document.documentElement ?? document, {
13
+ childList: true,
14
+ subtree: true,
15
+ ...options
16
+ });
17
+ return () => {
18
+ clearTimeout(timer);
19
+ timer = void 0;
20
+ observer.disconnect();
21
+ };
22
+ };
23
+ const createAwaitFirstStrategy = (options) => (update, context) => {
24
+ const resolver = createMutationObserverStrategy({
25
+ attributes: false,
26
+ characterData: false,
27
+ ...options
28
+ });
29
+ let unwatch;
30
+ let pending;
31
+ const clear = () => {
32
+ unwatch && unwatch();
33
+ unwatch = void 0;
34
+ pending = void 0;
35
+ };
36
+ if (context.nodes.size === 0) {
37
+ unwatch = resolver(() => {
38
+ const completion = Promise.resolve(update());
39
+ if (completion === pending) {
40
+ return completion;
41
+ }
42
+ pending = completion;
43
+ return completion.then(() => {
44
+ if (context.nodes.size > 0) {
45
+ clear();
46
+ }
47
+ }).finally(() => {
48
+ if (pending === completion) {
49
+ pending = void 0;
50
+ }
51
+ });
52
+ }, context);
53
+ }
54
+ return () => {
55
+ clear();
56
+ };
57
+ };
58
+ const withLocationTracking = (strategy) => (update, context) => {
59
+ let currentUrl = location.href;
60
+ const interval = setInterval(() => {
61
+ if (currentUrl !== location.href) {
62
+ currentUrl = location.href;
63
+ try {
64
+ context.mount();
65
+ } catch (error) {
66
+ console.error("Content script mount on location change failed", error);
67
+ }
68
+ }
69
+ }, 300);
70
+ const unwatch = strategy(update, context);
71
+ return () => {
72
+ clearInterval(interval);
73
+ unwatch();
74
+ };
75
+ };
76
+ export {
77
+ createAwaitFirstStrategy,
78
+ createMutationObserverStrategy,
79
+ withLocationTracking
80
+ };
81
+ //# sourceMappingURL=watch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/entry/content/resolvers/watch.ts"],"sourcesContent":["import type {ContentScriptWatchStrategy} from \"@typing/content\";\n\n/** Batch DOM mutations in a fixed window. Calling the returned strategy starts observing. */\n// prettier-ignore\nexport const createMutationObserverStrategy =\n (options?: MutationObserverInit): ContentScriptWatchStrategy =>\n (update, context) => {\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n const observer = new MutationObserver(records => {\n if (timer !== undefined || !records.some(record => !context.owns(record.target))) {\n return;\n }\n\n timer = setTimeout(() => {\n timer = undefined;\n void update();\n }, 200);\n });\n\n observer.observe(document.body ?? document.documentElement ?? document, {\n childList: true,\n subtree: true,\n ...options,\n });\n\n return () => {\n clearTimeout(timer);\n timer = undefined;\n observer.disconnect();\n };\n };\n\n/** Observe DOM mutations while waiting for the first content nodes. */\n// prettier-ignore\nexport const createAwaitFirstStrategy =\n (options?: MutationObserverInit): ContentScriptWatchStrategy =>\n (update, context) => {\n const resolver = createMutationObserverStrategy({\n attributes: false,\n characterData: false,\n ...options,\n });\n\n let unwatch: { (): void } | undefined;\n let pending: Promise<void> | undefined;\n\n const clear = () => {\n unwatch && unwatch();\n unwatch = undefined;\n pending = undefined;\n };\n\n if (context.nodes.size === 0) {\n unwatch = resolver(() => {\n const completion = Promise.resolve(update());\n\n if (completion === pending) {\n return completion;\n }\n\n pending = completion;\n\n return completion.then(() => {\n if (context.nodes.size > 0) {\n clear();\n }\n }).finally(() => {\n if (pending === completion) {\n pending = undefined;\n }\n });\n }, context);\n }\n\n return () => {\n clear();\n };\n };\n\n// prettier-ignore\nexport const withLocationTracking =\n (strategy: ContentScriptWatchStrategy): ContentScriptWatchStrategy =>\n (update, context) => {\n let currentUrl = location.href;\n\n const interval = setInterval(() => {\n if (currentUrl !== location.href) {\n currentUrl = location.href;\n\n try {\n context.mount();\n } catch (error) {\n console.error(\"Content script mount on location change failed\", error);\n }\n }\n }, 300);\n\n const unwatch = strategy(update, context);\n\n return () => {\n clearInterval(interval);\n unwatch();\n };\n };\n"],"mappings":"AAIO,MAAM,iCACT,CAAC,YACG,CAAC,QAAQ,YAAY;AACjB,MAAI;AAEJ,QAAM,WAAW,IAAI,iBAAiB,aAAW;AAC7C,QAAI,UAAU,UAAa,CAAC,QAAQ,KAAK,YAAU,CAAC,QAAQ,KAAK,OAAO,MAAM,CAAC,GAAG;AAC9E;AAAA,IACJ;AAEA,YAAQ,WAAW,MAAM;AACrB,cAAQ;AACR,WAAK,OAAO;AAAA,IAChB,GAAG,GAAG;AAAA,EACV,CAAC;AAED,WAAS,QAAQ,SAAS,QAAQ,SAAS,mBAAmB,UAAU;AAAA,IACpE,WAAW;AAAA,IACX,SAAS;AAAA,IACT,GAAG;AAAA,EACP,CAAC;AAED,SAAO,MAAM;AACT,iBAAa,KAAK;AAClB,YAAQ;AACR,aAAS,WAAW;AAAA,EACxB;AACJ;AAID,MAAM,2BACT,CAAC,YACG,CAAC,QAAQ,YAAY;AACjB,QAAM,WAAW,+BAA+B;AAAA,IAC5C,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,GAAG;AAAA,EACP,CAAC;AAED,MAAI;AACJ,MAAI;AAEJ,QAAM,QAAQ,MAAM;AAChB,eAAW,QAAQ;AACnB,cAAU;AACV,cAAU;AAAA,EACd;AAEA,MAAI,QAAQ,MAAM,SAAS,GAAG;AAC1B,cAAU,SAAS,MAAM;AACrB,YAAM,aAAa,QAAQ,QAAQ,OAAO,CAAC;AAE3C,UAAI,eAAe,SAAS;AACxB,eAAO;AAAA,MACX;AAEA,gBAAU;AAEV,aAAO,WAAW,KAAK,MAAM;AACzB,YAAI,QAAQ,MAAM,OAAO,GAAG;AACxB,gBAAM;AAAA,QACV;AAAA,MACJ,CAAC,EAAE,QAAQ,MAAM;AACb,YAAI,YAAY,YAAY;AACxB,oBAAU;AAAA,QACd;AAAA,MACJ,CAAC;AAAA,IACL,GAAG,OAAO;AAAA,EACd;AAEA,SAAO,MAAM;AACT,UAAM;AAAA,EACV;AACJ;AAGD,MAAM,uBACT,CAAC,aACG,CAAC,QAAQ,YAAY;AACjB,MAAI,aAAa,SAAS;AAE1B,QAAM,WAAW,YAAY,MAAM;AAC/B,QAAI,eAAe,SAAS,MAAM;AAC9B,mBAAa,SAAS;AAEtB,UAAI;AACA,gBAAQ,MAAM;AAAA,MAClB,SAAS,OAAO;AACZ,gBAAQ,MAAM,kDAAkD,KAAK;AAAA,MACzE;AAAA,IACJ;AAAA,EACJ,GAAG,GAAG;AAEN,QAAM,UAAU,SAAS,QAAQ,OAAO;AAExC,SAAO,MAAM;AACT,kBAAc,QAAQ;AACtB,YAAQ;AAAA,EACZ;AACJ;","names":[]}
@@ -1,14 +1,14 @@
1
1
  import TransportBuilder from "./TransportBuilder.js";
2
- import Builder from "../core/Builder.js";
2
+ import EntrypointBuilder from "../core/Builder.js";
3
3
  import { RelayUnresolvedDefinition } from "../../types/relay.js";
4
- import { ContentScriptBuilder } from "../../types/content.js";
4
+ import { ContentScriptBuilder, ContentScriptDefinition, ContentScriptIsolation } from "../../types/content/index.js";
5
5
  import { TransportType } from "../../types/transport.js";
6
- export default class<T extends TransportType> extends Builder {
7
- protected readonly definition: RelayUnresolvedDefinition<T>;
8
- protected readonly _transport: TransportBuilder<T>;
9
- protected _content?: ContentScriptBuilder;
10
- constructor(definition: RelayUnresolvedDefinition<T>);
11
- content(content: ContentScriptBuilder): this;
6
+ export default class Builder<T extends TransportType, Data = unknown, Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`> extends EntrypointBuilder {
7
+ protected readonly definition: RelayUnresolvedDefinition<T, Data, Isolation>;
8
+ private generation;
9
+ protected readonly _transport: TransportBuilder<T, Data, Isolation>;
10
+ protected readonly _content: ContentScriptBuilder;
11
+ constructor(definition: RelayUnresolvedDefinition<T, Data, Isolation>, contentBuilder: new (definition: ContentScriptDefinition<Data, NoInfer<Isolation>>) => ContentScriptBuilder);
12
12
  build(): Promise<void>;
13
13
  destroy(): Promise<void>;
14
14
  }
@@ -1,42 +1,51 @@
1
1
  import { resolveContentScriptIsolation } from "./../../shared/content/index.js";
2
2
  import TransportBuilder from "./TransportBuilder.js";
3
- import Builder from "../core/Builder.js";
4
- class Builder_default extends Builder {
5
- constructor(definition) {
3
+ import EntrypointBuilder from "../core/Builder.js";
4
+ class Builder extends EntrypointBuilder {
5
+ constructor(definition, contentBuilder) {
6
6
  super();
7
7
  this.definition = definition;
8
8
  this._transport = new TransportBuilder(definition);
9
+ const { init, main, name, method, allFrames, ...contentOptions } = definition;
10
+ this._content = new contentBuilder({
11
+ ...contentOptions,
12
+ ...allFrames === void 0 ? {} : { allFrames: allFrames !== false }
13
+ });
9
14
  }
10
15
  definition;
16
+ generation = 0;
11
17
  _transport;
12
18
  _content;
13
- content(content) {
14
- this._content = content;
15
- return this;
16
- }
17
19
  async build() {
18
- var _a;
19
- await this.destroy();
20
+ const destroying = this.destroy();
21
+ const generation = this.generation;
22
+ await destroying;
23
+ if (generation !== this.generation) {
24
+ return;
25
+ }
20
26
  await this._transport.build();
21
- await ((_a = this._content) == null ? void 0 : _a.build());
22
- const { main } = this.definition;
27
+ if (generation !== this.generation) {
28
+ return;
29
+ }
30
+ await this._content.build();
31
+ if (generation !== this.generation) {
32
+ return;
33
+ }
34
+ const { prepare, boundary, target, ...options } = this.definition;
35
+ const { main } = options;
23
36
  if (main) {
24
- if (!this._content) {
25
- throw new Error("Content script builder not set");
26
- }
27
37
  await main(this._transport.get(), this._content.getContext(), {
28
- ...this.definition,
38
+ ...options,
29
39
  isolation: resolveContentScriptIsolation(this.definition.isolation, "render" in this.definition)
30
40
  });
31
41
  }
32
42
  }
33
43
  async destroy() {
34
- var _a;
35
- await this._transport.destroy();
36
- await ((_a = this._content) == null ? void 0 : _a.destroy());
44
+ this.generation++;
45
+ await Promise.all([this._transport.destroy(), this._content.destroy()]);
37
46
  }
38
47
  }
39
48
  export {
40
- Builder_default as default
49
+ Builder as default
41
50
  };
42
51
  //# sourceMappingURL=Builder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/entry/relay/Builder.ts"],"sourcesContent":["import {resolveContentScriptIsolation} from \"@shared/content\";\n\nimport TransportBuilder from \"./TransportBuilder\";\n\nimport Builder from \"../core/Builder\";\n\nimport {RelayUnresolvedDefinition} from \"@typing/relay\";\nimport {ContentScriptBuilder} from \"@typing/content\";\nimport {TransportType} from \"@typing/transport\";\n\nexport default class<T extends TransportType> extends Builder {\n protected readonly _transport: TransportBuilder<T>;\n protected _content?: ContentScriptBuilder;\n\n constructor(protected readonly definition: RelayUnresolvedDefinition<T>) {\n super();\n\n this._transport = new TransportBuilder(definition);\n }\n\n public content(content: ContentScriptBuilder): this {\n this._content = content;\n\n return this;\n }\n\n public async build(): Promise<void> {\n await this.destroy();\n\n await this._transport.build();\n await this._content?.build();\n\n const {main} = this.definition;\n\n if (main) {\n if (!this._content) {\n throw new Error(\"Content script builder not set\");\n }\n\n await main(this._transport.get(), this._content.getContext(), {\n ...this.definition,\n isolation: resolveContentScriptIsolation(this.definition.isolation, \"render\" in this.definition),\n });\n }\n }\n\n public async destroy(): Promise<void> {\n await this._transport.destroy();\n await this._content?.destroy();\n }\n}\n"],"mappings":"AAAA,SAAQ,qCAAoC;AAE5C,OAAO,sBAAsB;AAE7B,OAAO,aAAa;AAMpB,MAAO,wBAA+C,QAAQ;AAAA,EAI1D,YAA+B,YAA0C;AACrE,UAAM;AADqB;AAG3B,SAAK,aAAa,IAAI,iBAAiB,UAAU;AAAA,EACrD;AAAA,EAJ+B;AAAA,EAHZ;AAAA,EACT;AAAA,EAQH,QAAQ,SAAqC;AAChD,SAAK,WAAW;AAEhB,WAAO;AAAA,EACX;AAAA,EAEA,MAAa,QAAuB;AA1BxC;AA2BQ,UAAM,KAAK,QAAQ;AAEnB,UAAM,KAAK,WAAW,MAAM;AAC5B,YAAM,UAAK,aAAL,mBAAe;AAErB,UAAM,EAAC,KAAI,IAAI,KAAK;AAEpB,QAAI,MAAM;AACN,UAAI,CAAC,KAAK,UAAU;AAChB,cAAM,IAAI,MAAM,gCAAgC;AAAA,MACpD;AAEA,YAAM,KAAK,KAAK,WAAW,IAAI,GAAG,KAAK,SAAS,WAAW,GAAG;AAAA,QAC1D,GAAG,KAAK;AAAA,QACR,WAAW,8BAA8B,KAAK,WAAW,WAAW,YAAY,KAAK,UAAU;AAAA,MACnG,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAEA,MAAa,UAAyB;AA9C1C;AA+CQ,UAAM,KAAK,WAAW,QAAQ;AAC9B,YAAM,UAAK,aAAL,mBAAe;AAAA,EACzB;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/entry/relay/Builder.ts"],"sourcesContent":["import {resolveContentScriptIsolation} from \"@shared/content\";\n\nimport TransportBuilder from \"./TransportBuilder\";\n\nimport EntrypointBuilder from \"../core/Builder\";\n\nimport {RelayUnresolvedDefinition} from \"@typing/relay\";\nimport {ContentScriptBuilder, ContentScriptDefinition, ContentScriptIsolation} from \"@typing/content\";\nimport {TransportType} from \"@typing/transport\";\n\nexport default class Builder<\n T extends TransportType,\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n> extends EntrypointBuilder {\n private generation = 0;\n\n protected readonly _transport: TransportBuilder<T, Data, Isolation>;\n protected readonly _content: ContentScriptBuilder;\n\n constructor(\n protected readonly definition: RelayUnresolvedDefinition<T, Data, Isolation>,\n contentBuilder: new (definition: ContentScriptDefinition<Data, NoInfer<Isolation>>) => ContentScriptBuilder\n ) {\n super();\n\n this._transport = new TransportBuilder(definition);\n\n const {init, main, name, method, allFrames, ...contentOptions} = definition;\n\n this._content = new contentBuilder({\n ...contentOptions,\n ...(allFrames === undefined ? {} : {allFrames: allFrames !== false}),\n } as ContentScriptDefinition<Data, Isolation>);\n }\n\n public async build(): Promise<void> {\n const destroying = this.destroy();\n const generation = this.generation;\n await destroying;\n\n if (generation !== this.generation) {\n return;\n }\n\n await this._transport.build();\n\n if (generation !== this.generation) {\n return;\n }\n\n await this._content.build();\n\n if (generation !== this.generation) {\n return;\n }\n\n const {prepare, boundary, target, ...options} = this.definition;\n const {main} = options;\n\n if (main) {\n await main(this._transport.get(), this._content.getContext(), {\n ...options,\n isolation: resolveContentScriptIsolation(this.definition.isolation, \"render\" in this.definition),\n });\n }\n }\n\n public async destroy(): Promise<void> {\n this.generation++;\n // Invalidate pending content work immediately; transport cleanup starts first.\n await Promise.all([this._transport.destroy(), this._content.destroy()]);\n }\n}\n"],"mappings":"AAAA,SAAQ,qCAAoC;AAE5C,OAAO,sBAAsB;AAE7B,OAAO,uBAAuB;AAM9B,MAAO,gBAIG,kBAAkB;AAAA,EAMxB,YACuB,YACnB,gBACF;AACE,UAAM;AAHa;AAKnB,SAAK,aAAa,IAAI,iBAAiB,UAAU;AAEjD,UAAM,EAAC,MAAM,MAAM,MAAM,QAAQ,WAAW,GAAG,eAAc,IAAI;AAEjE,SAAK,WAAW,IAAI,eAAe;AAAA,MAC/B,GAAG;AAAA,MACH,GAAI,cAAc,SAAY,CAAC,IAAI,EAAC,WAAW,cAAc,MAAK;AAAA,IACtE,CAA6C;AAAA,EACjD;AAAA,EAbuB;AAAA,EANf,aAAa;AAAA,EAEF;AAAA,EACA;AAAA,EAkBnB,MAAa,QAAuB;AAChC,UAAM,aAAa,KAAK,QAAQ;AAChC,UAAM,aAAa,KAAK;AACxB,UAAM;AAEN,QAAI,eAAe,KAAK,YAAY;AAChC;AAAA,IACJ;AAEA,UAAM,KAAK,WAAW,MAAM;AAE5B,QAAI,eAAe,KAAK,YAAY;AAChC;AAAA,IACJ;AAEA,UAAM,KAAK,SAAS,MAAM;AAE1B,QAAI,eAAe,KAAK,YAAY;AAChC;AAAA,IACJ;AAEA,UAAM,EAAC,SAAS,UAAU,QAAQ,GAAG,QAAO,IAAI,KAAK;AACrD,UAAM,EAAC,KAAI,IAAI;AAEf,QAAI,MAAM;AACN,YAAM,KAAK,KAAK,WAAW,IAAI,GAAG,KAAK,SAAS,WAAW,GAAG;AAAA,QAC1D,GAAG;AAAA,QACH,WAAW,8BAA8B,KAAK,WAAW,WAAW,YAAY,KAAK,UAAU;AAAA,MACnG,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAEA,MAAa,UAAyB;AAClC,SAAK;AAEL,UAAM,QAAQ,IAAI,CAAC,KAAK,WAAW,QAAQ,GAAG,KAAK,SAAS,QAAQ,CAAC,CAAC;AAAA,EAC1E;AACJ;","names":[]}
@@ -2,8 +2,9 @@ import AbstractBuilder from "../transport/AbstractBuilder.js";
2
2
  import { RegisterRelay } from "../../relay/providers/index.js";
3
3
  import { RelayOptions, RelayUnresolvedDefinition, RelayMethod } from "../../types/relay.js";
4
4
  import { TransportName, TransportType } from "../../types/transport.js";
5
- export default class<T extends TransportType = TransportType> extends AbstractBuilder<RelayOptions, T> {
5
+ import type { ContentScriptIsolation } from "../../types/content/index.js";
6
+ export default class TransportBuilder<T extends TransportType = TransportType, Data = unknown, Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`> extends AbstractBuilder<RelayOptions, T> {
6
7
  protected readonly method: RelayMethod;
7
- constructor(definition: RelayUnresolvedDefinition<T>);
8
+ constructor(definition: RelayUnresolvedDefinition<T, Data, Isolation>);
8
9
  protected transport(): RegisterRelay<TransportName, T, [RelayOptions]>;
9
10
  }
@@ -1,10 +1,10 @@
1
1
  import AbstractBuilder from "./../../entry/transport/AbstractBuilder.js";
2
2
  import { RegisterRelay } from "./../../relay/providers/index.js";
3
3
  import { RelayMethod } from "./../../types/relay.js";
4
- class TransportBuilder_default extends AbstractBuilder {
4
+ class TransportBuilder extends AbstractBuilder {
5
5
  method;
6
6
  constructor(definition) {
7
- const { main, method, ...options } = definition;
7
+ const { main, method, prepare, boundary, target, ...options } = definition;
8
8
  super(options);
9
9
  this.method = method || RelayMethod.Messaging;
10
10
  }
@@ -14,6 +14,6 @@ class TransportBuilder_default extends AbstractBuilder {
14
14
  }
15
15
  }
16
16
  export {
17
- TransportBuilder_default as default
17
+ TransportBuilder as default
18
18
  };
19
19
  //# sourceMappingURL=TransportBuilder.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/entry/relay/TransportBuilder.ts"],"sourcesContent":["import AbstractBuilder from \"@entry/transport/AbstractBuilder\";\n\nimport {RegisterRelay} from \"@relay/providers\";\n\nimport {RelayOptions, RelayUnresolvedDefinition, RelayMethod} from \"@typing/relay\";\nimport {TransportName, TransportType} from \"@typing/transport\";\n\nexport default class<T extends TransportType = TransportType> extends AbstractBuilder<RelayOptions, T> {\n protected readonly method: RelayMethod;\n\n constructor(definition: RelayUnresolvedDefinition<T>) {\n const {main, method, ...options} = definition;\n\n super(options);\n\n this.method = method || RelayMethod.Messaging;\n }\n\n protected transport(): RegisterRelay<TransportName, T, [RelayOptions]> {\n const {name, init} = this.definition;\n\n return new RegisterRelay(name, this.method, init);\n }\n}\n"],"mappings":"AAAA,OAAO,qBAAqB;AAE5B,SAAQ,qBAAoB;AAE5B,SAAiD,mBAAkB;AAGnE,MAAO,iCAA+D,gBAAiC;AAAA,EAChF;AAAA,EAEnB,YAAY,YAA0C;AAClD,UAAM,EAAC,MAAM,QAAQ,GAAG,QAAO,IAAI;AAEnC,UAAM,OAAO;AAEb,SAAK,SAAS,UAAU,YAAY;AAAA,EACxC;AAAA,EAEU,YAA6D;AACnE,UAAM,EAAC,MAAM,KAAI,IAAI,KAAK;AAE1B,WAAO,IAAI,cAAc,MAAM,KAAK,QAAQ,IAAI;AAAA,EACpD;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/entry/relay/TransportBuilder.ts"],"sourcesContent":["import AbstractBuilder from \"@entry/transport/AbstractBuilder\";\n\nimport {RegisterRelay} from \"@relay/providers\";\n\nimport {RelayOptions, RelayUnresolvedDefinition, RelayMethod} from \"@typing/relay\";\nimport {TransportName, TransportType} from \"@typing/transport\";\nimport type {ContentScriptIsolation} from \"@typing/content\";\n\nexport default class TransportBuilder<\n T extends TransportType = TransportType,\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n> extends AbstractBuilder<RelayOptions, T> {\n protected readonly method: RelayMethod;\n\n constructor(definition: RelayUnresolvedDefinition<T, Data, Isolation>) {\n const {main, method, prepare, boundary, target, ...options} = definition;\n\n super(options);\n\n this.method = method || RelayMethod.Messaging;\n }\n\n protected transport(): RegisterRelay<TransportName, T, [RelayOptions]> {\n const {name, init} = this.definition;\n\n return new RegisterRelay(name, this.method, init);\n }\n}\n"],"mappings":"AAAA,OAAO,qBAAqB;AAE5B,SAAQ,qBAAoB;AAE5B,SAAiD,mBAAkB;AAInE,MAAO,yBAIG,gBAAiC;AAAA,EACpB;AAAA,EAEnB,YAAY,YAA2D;AACnE,UAAM,EAAC,MAAM,QAAQ,SAAS,UAAU,QAAQ,GAAG,QAAO,IAAI;AAE9D,UAAM,OAAO;AAEb,SAAK,SAAS,UAAU,YAAY;AAAA,EACxC;AAAA,EAEU,YAA6D;AACnE,UAAM,EAAC,MAAM,KAAI,IAAI,KAAK;AAE1B,WAAO,IAAI,cAAc,MAAM,KAAK,QAAQ,IAAI;AAAA,EACpD;AACJ;","names":[]}
@@ -1,5 +1,8 @@
1
1
  import Builder from "./Builder.js";
2
+ import type { RelayUnresolvedDefinition } from "../../types/relay.js";
3
+ import type { TransportType } from "../../types/transport.js";
4
+ import type { ContentScriptIsolation } from "../../types/content/index.js";
2
5
  export { Builder };
6
+ export { resolveDefinition } from "./resolvers/definition.js";
3
7
  export type { RelayUnresolvedDefinition } from "../../types/relay.js";
4
- declare const _default: (definition: Partial<Omit<import("../../types/relay.js").RelayDefinition<import("../../transport/index.js").TransportType>, never>>) => void;
5
- export default _default;
8
+ export default function relay<T extends TransportType, Data = unknown, Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`>(definition: RelayUnresolvedDefinition<T, Data, Isolation>, contentBuilder: ConstructorParameters<typeof Builder<T, Data, NoInfer<Isolation>>>[1]): void;
@@ -1,7 +1,13 @@
1
1
  import Builder from "./Builder.js";
2
- var relay_default = Builder.resolver();
2
+ import { resolveDefinition } from "./resolvers/definition.js";
3
+ function relay(definition, contentBuilder) {
4
+ new Builder(definition, contentBuilder).build().catch((error) => {
5
+ console.error("Failed to build relay: ", error);
6
+ });
7
+ }
3
8
  export {
4
9
  Builder,
5
- relay_default as default
10
+ relay as default,
11
+ resolveDefinition
6
12
  };
7
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/entry/relay/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nexport {Builder};\nexport type {RelayUnresolvedDefinition} from \"@typing/relay\";\n\nexport default Builder.resolver();\n"],"mappings":"AAAA,OAAO,aAAa;AAKpB,IAAO,gBAAQ,QAAQ,SAAS;","names":[]}
1
+ {"version":3,"sources":["../../../src/entry/relay/index.ts"],"sourcesContent":["import Builder from \"./Builder\";\n\nimport type {RelayUnresolvedDefinition} from \"@typing/relay\";\nimport type {TransportType} from \"@typing/transport\";\nimport type {ContentScriptIsolation} from \"@typing/content\";\n\nexport {Builder};\nexport {resolveDefinition} from \"./resolvers/definition\";\n\nexport type {RelayUnresolvedDefinition} from \"@typing/relay\";\n\nexport default function relay<\n T extends TransportType,\n Data = unknown,\n Isolation extends `${ContentScriptIsolation}` = `${ContentScriptIsolation}`,\n>(\n definition: RelayUnresolvedDefinition<T, Data, Isolation>,\n contentBuilder: ConstructorParameters<typeof Builder<T, Data, NoInfer<Isolation>>>[1]\n): void {\n new Builder(definition, contentBuilder).build().catch(error => {\n console.error(\"Failed to build relay: \", error);\n });\n}\n"],"mappings":"AAAA,OAAO,aAAa;AAOpB,SAAQ,yBAAwB;AAIjB,SAAR,MAKH,YACA,gBACI;AACJ,MAAI,QAAQ,YAAY,cAAc,EAAE,MAAM,EAAE,MAAM,WAAS;AAC3D,YAAQ,MAAM,2BAA2B,KAAK;AAAA,EAClD,CAAC;AACL;","names":[]}
@@ -0,0 +1,4 @@
1
+ import type { RelayUnresolvedDefinition } from "../../../types/relay.js";
2
+ import type { TransportType } from "../../../types/transport.js";
3
+ /** Resolve Relay exports without executing init; the build supplies the authoritative name. */
4
+ export declare const resolveDefinition: <T extends TransportType = TransportType>(module: object, name: string) => RelayUnresolvedDefinition<T>;
@@ -0,0 +1,16 @@
1
+ import { isValidTransportDefinition, isValidTransportInitFunction } from "./../../../entry/transport/resolvers/definition.js";
2
+ const resolveDefinition = (module, name) => {
3
+ const { default: defaultDefinition, ...otherDefinition } = module;
4
+ let definition = otherDefinition;
5
+ if (isValidTransportDefinition(defaultDefinition)) {
6
+ definition = { ...definition, ...defaultDefinition };
7
+ } else if (isValidTransportInitFunction(defaultDefinition)) {
8
+ definition = { ...definition, init: defaultDefinition };
9
+ }
10
+ const { init, main, name: _name, ...options } = definition;
11
+ return { name, init, main, ...options };
12
+ };
13
+ export {
14
+ resolveDefinition
15
+ };
16
+ //# sourceMappingURL=definition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/entry/relay/resolvers/definition.ts"],"sourcesContent":["import {isValidTransportDefinition, isValidTransportInitFunction} from \"@entry/transport/resolvers/definition\";\n\nimport type {RelayOptions, RelayUnresolvedDefinition} from \"@typing/relay\";\nimport type {TransportType} from \"@typing/transport\";\n\n/** Resolve Relay exports without executing init; the build supplies the authoritative name. */\nexport const resolveDefinition = <T extends TransportType = TransportType>(\n module: object,\n name: string\n): RelayUnresolvedDefinition<T> => {\n const {default: defaultDefinition, ...otherDefinition} = module as Record<string, unknown>;\n\n let definition = otherDefinition as RelayUnresolvedDefinition<T>;\n\n if (isValidTransportDefinition<RelayOptions, T>(defaultDefinition)) {\n definition = {...definition, ...defaultDefinition};\n } else if (isValidTransportInitFunction<RelayOptions, T>(defaultDefinition)) {\n definition = {...definition, init: defaultDefinition};\n }\n\n const {init, main, name: _name, ...options} = definition;\n\n return {name, init, main, ...options};\n};\n"],"mappings":"AAAA,SAAQ,4BAA4B,oCAAmC;AAMhE,MAAM,oBAAoB,CAC7B,QACA,SAC+B;AAC/B,QAAM,EAAC,SAAS,mBAAmB,GAAG,gBAAe,IAAI;AAEzD,MAAI,aAAa;AAEjB,MAAI,2BAA4C,iBAAiB,GAAG;AAChE,iBAAa,EAAC,GAAG,YAAY,GAAG,kBAAiB;AAAA,EACrD,WAAW,6BAA8C,iBAAiB,GAAG;AACzE,iBAAa,EAAC,GAAG,YAAY,MAAM,kBAAiB;AAAA,EACxD;AAEA,QAAM,EAAC,MAAM,MAAM,MAAM,OAAO,GAAG,QAAO,IAAI;AAE9C,SAAO,EAAC,MAAM,MAAM,MAAM,GAAG,QAAO;AACxC;","names":[]}
@@ -1,6 +1,4 @@
1
- import { contentScriptMountAppendResolver, contentScriptAnchorResolver, contentScriptAwaitFirstResolver, contentScriptMutationObserverResolver, contentScriptRenderResolver, contentScriptContainerResolver } from "../entry/content/core/resolvers/index.js";
2
- import { ContentScriptAppendDefinition, ContentScriptDefinition } from "../types/content.js";
3
- export { contentScriptMountAppendResolver, contentScriptAnchorResolver, contentScriptAwaitFirstResolver, contentScriptMutationObserverResolver, contentScriptRenderResolver, contentScriptContainerResolver, };
4
- export * from "../types/content.js";
5
- export declare const defineContentScript: (options: ContentScriptDefinition) => ContentScriptDefinition;
6
- export declare const defineContentScriptAppend: (options: ContentScriptAppendDefinition) => ContentScriptDefinition;
1
+ import { ContentScriptAppendDefinition, ContentScriptDefinition, ContentScriptIsolation } from "../types/content/index.js";
2
+ export * from "../types/content/index.js";
3
+ export declare const defineContentScript: <Data = undefined, const Isolation extends `${ContentScriptIsolation}` = "none">(options: ContentScriptDefinition<Data, Isolation>) => ContentScriptDefinition<Data, Isolation>;
4
+ export declare const defineContentScriptAppend: <Data = undefined, const Isolation extends `${ContentScriptIsolation}` = "none">(options: ContentScriptAppendDefinition<Data, Isolation>) => ContentScriptDefinition<Data, Isolation>;
@@ -1,12 +1,5 @@
1
- import {
2
- contentScriptMountAppendResolver,
3
- contentScriptAnchorResolver,
4
- contentScriptAwaitFirstResolver,
5
- contentScriptMutationObserverResolver,
6
- contentScriptRenderResolver,
7
- contentScriptContainerResolver
8
- } from "./../entry/content/core/resolvers/index.js";
9
- export * from "./../types/content.js";
1
+ import { createAppendMountHandler } from "./../entry/content/resolvers/mount.js";
2
+ export * from "./../types/content/index.js";
10
3
  const defineContentScript = (options) => {
11
4
  return options;
12
5
  };
@@ -14,16 +7,10 @@ const defineContentScriptAppend = (options) => {
14
7
  const { append, ...definition } = options;
15
8
  return {
16
9
  ...definition,
17
- mount: contentScriptMountAppendResolver(append)
10
+ mount: createAppendMountHandler(append)
18
11
  };
19
12
  };
20
13
  export {
21
- contentScriptAnchorResolver,
22
- contentScriptAwaitFirstResolver,
23
- contentScriptContainerResolver,
24
- contentScriptMountAppendResolver,
25
- contentScriptMutationObserverResolver,
26
- contentScriptRenderResolver,
27
14
  defineContentScript,
28
15
  defineContentScriptAppend
29
16
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/main/content.ts"],"sourcesContent":["import {\n contentScriptMountAppendResolver,\n contentScriptAnchorResolver,\n contentScriptAwaitFirstResolver,\n contentScriptMutationObserverResolver,\n contentScriptRenderResolver,\n contentScriptContainerResolver,\n} from \"@entry/content/core/resolvers\";\n\nimport {ContentScriptAppendDefinition, ContentScriptDefinition} from \"@typing/content\";\n\nexport {\n contentScriptMountAppendResolver,\n contentScriptAnchorResolver,\n contentScriptAwaitFirstResolver,\n contentScriptMutationObserverResolver,\n contentScriptRenderResolver,\n contentScriptContainerResolver,\n};\n\nexport * from \"@typing/content\";\n\nexport const defineContentScript = (options: ContentScriptDefinition): ContentScriptDefinition => {\n return options;\n};\n\nexport const defineContentScriptAppend = (options: ContentScriptAppendDefinition): ContentScriptDefinition => {\n const {append, ...definition} = options;\n\n return {\n ...definition,\n mount: contentScriptMountAppendResolver(append),\n };\n};\n"],"mappings":"AAAA;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAaP,cAAc;AAEP,MAAM,sBAAsB,CAAC,YAA8D;AAC9F,SAAO;AACX;AAEO,MAAM,4BAA4B,CAAC,YAAoE;AAC1G,QAAM,EAAC,QAAQ,GAAG,WAAU,IAAI;AAEhC,SAAO;AAAA,IACH,GAAG;AAAA,IACH,OAAO,iCAAiC,MAAM;AAAA,EAClD;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../src/main/content.ts"],"sourcesContent":["import {createAppendMountHandler} from \"@entry/content/resolvers/mount\";\n\nimport {ContentScriptAppendDefinition, ContentScriptDefinition, ContentScriptIsolation} from \"@typing/content\";\n\nexport * from \"@typing/content\";\n\nexport const defineContentScript = <Data = undefined, const Isolation extends `${ContentScriptIsolation}` = \"none\">(\n options: ContentScriptDefinition<Data, Isolation>\n): ContentScriptDefinition<Data, Isolation> => {\n return options;\n};\n\nexport const defineContentScriptAppend = <\n Data = undefined,\n const Isolation extends `${ContentScriptIsolation}` = \"none\",\n>(\n options: ContentScriptAppendDefinition<Data, Isolation>\n): ContentScriptDefinition<Data, Isolation> => {\n const {append, ...definition} = options;\n\n return {\n ...definition,\n mount: createAppendMountHandler(append),\n } as ContentScriptDefinition<Data, Isolation>;\n};\n"],"mappings":"AAAA,SAAQ,gCAA+B;AAIvC,cAAc;AAEP,MAAM,sBAAsB,CAC/B,YAC2C;AAC3C,SAAO;AACX;AAEO,MAAM,4BAA4B,CAIrC,YAC2C;AAC3C,QAAM,EAAC,QAAQ,GAAG,WAAU,IAAI;AAEhC,SAAO;AAAA,IACH,GAAG;AAAA,IACH,OAAO,yBAAyB,MAAM;AAAA,EAC1C;AACJ;","names":[]}
@@ -1,4 +1,4 @@
1
- import { readAssets, readAssetsMap } from "#adnbn/entrypoint";
1
+ import { readAssets, readAssetsMap } from "#adnbn/runtime";
2
2
  const getEntrypointAssetsMap = () => {
3
3
  const assets = readAssetsMap();
4
4
  if (!assets) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/main/entrypoint.ts"],"sourcesContent":["import {readAssets, readAssetsMap} from \"#adnbn/entrypoint\";\n\nimport type {EntrypointAssets, EntrypointAssetsMap} from \"@typing/entrypoint\";\n\nexport type {\n EntrypointAssets,\n EntrypointAssetsFiles,\n EntrypointAssetsMap,\n EntrypointAssetsMapEntry,\n} from \"@typing/entrypoint\";\n\nexport const getEntrypointAssetsMap = (): EntrypointAssetsMap => {\n const assets = readAssetsMap();\n\n if (!assets) {\n throw new Error(\"getEntrypointAssetsMap() is available only in the background entrypoint\");\n }\n\n return assets;\n};\n\nexport const getEntrypointAssets = (): EntrypointAssets => {\n const assets = readAssets();\n\n if (!assets) {\n throw new Error(\"Current entrypoint assets are unavailable in this runtime\");\n }\n\n return assets;\n};\n"],"mappings":"AAAA,SAAQ,YAAY,qBAAoB;AAWjC,MAAM,yBAAyB,MAA2B;AAC7D,QAAM,SAAS,cAAc;AAE7B,MAAI,CAAC,QAAQ;AACT,UAAM,IAAI,MAAM,yEAAyE;AAAA,EAC7F;AAEA,SAAO;AACX;AAEO,MAAM,sBAAsB,MAAwB;AACvD,QAAM,SAAS,WAAW;AAE1B,MAAI,CAAC,QAAQ;AACT,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAC/E;AAEA,SAAO;AACX;","names":[]}
1
+ {"version":3,"sources":["../../src/main/entrypoint.ts"],"sourcesContent":["import {readAssets, readAssetsMap} from \"#adnbn/runtime\";\n\nimport type {EntrypointAssets, EntrypointAssetsMap} from \"@typing/entrypoint\";\n\nexport type {\n EntrypointAssets,\n EntrypointAssetsFiles,\n EntrypointAssetsMap,\n EntrypointAssetsMapEntry,\n} from \"@typing/entrypoint\";\n\nexport const getEntrypointAssetsMap = (): EntrypointAssetsMap => {\n const assets = readAssetsMap();\n\n if (!assets) {\n throw new Error(\"getEntrypointAssetsMap() is available only in the background entrypoint\");\n }\n\n return assets;\n};\n\nexport const getEntrypointAssets = (): EntrypointAssets => {\n const assets = readAssets();\n\n if (!assets) {\n throw new Error(\"Current entrypoint assets are unavailable in this runtime\");\n }\n\n return assets;\n};\n"],"mappings":"AAAA,SAAQ,YAAY,qBAAoB;AAWjC,MAAM,yBAAyB,MAA2B;AAC7D,QAAM,SAAS,cAAc;AAE7B,MAAI,CAAC,QAAQ;AACT,UAAM,IAAI,MAAM,yEAAyE;AAAA,EAC7F;AAEA,SAAO;AACX;AAEO,MAAM,sBAAsB,MAAwB;AACvD,QAAM,SAAS,WAAW;AAE1B,MAAI,CAAC,QAAQ;AACT,UAAM,IAAI,MAAM,2DAA2D;AAAA,EAC/E;AAEA,SAAO;AACX;","names":[]}
@@ -1,8 +1,9 @@
1
1
  import type { TransportType } from "../types/transport.js";
2
+ import type { ContentScriptIsolation } from "../types/content/index.js";
2
3
  import { RelayDefinition, RelayAllFrames, RelayFrameErrorKind, RelayMethod, type RelayBatchOptions, type RelayBatchProxyTarget, type RelayName, type RelayProxyTarget, type RelayScalarOptions } from "../types/relay.js";
3
4
  export { RelayAllFrames, RelayFrameErrorKind, RelayMethod };
4
5
  export { RelayDiscoveryError } from "../relay/discovery/RelayDiscovery.js";
5
6
  export type { RelayAllFramesOptions, RelayAnyFramesOptions, RelayBatchOptions, RelayBatchProxyTarget, RelayBatchRpcProxy, RelayCallOptions, RelayDocumentOptions, RelayDocumentsOptions, RelayExecutionOptions, RelayEveryFrameOptions, RelayFrameError, RelayFrameOptions, RelayFrameResult, RelayFramesOptions, RelayFramesResult, RelayNonEmptyReadonlyArray, RelayProxyTarget, RelayResultTarget, RelayScalarOptions, RelayTopFrameOptions, RelayDefinition, } from "../types/relay.js";
6
- export declare const defineRelay: <T extends TransportType>(options: RelayDefinition<T>) => RelayDefinition<T>;
7
+ export declare const defineRelay: <T extends TransportType, Data = undefined, const Isolation extends `${ContentScriptIsolation}` = "none">(options: RelayDefinition<T, Data, Isolation>) => RelayDefinition<T, Data, Isolation>;
7
8
  export declare function getRelay<N extends RelayName>(name: N, params: number | RelayScalarOptions): RelayProxyTarget<N>;
8
9
  export declare function getRelay<N extends RelayName>(name: N, params: RelayBatchOptions): RelayBatchProxyTarget<N>;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/main/relay.ts"],"sourcesContent":["import RelayPermission from \"@relay/RelayPermission\";\nimport {ProxyRelay, type ProxyRelayParams} from \"@relay/providers\";\nimport {options as relayOptions} from \"#adnbn/relay\";\n\nimport type {TransportType} from \"@typing/transport\";\nimport {\n RelayDefinition,\n RelayAllFrames,\n RelayFrameErrorKind,\n RelayMethod,\n RelayOptionsMap,\n type RelayBatchOptions,\n type RelayBatchProxyTarget,\n type RelayName,\n type RelayProxyTarget,\n type RelayScalarOptions,\n} from \"@typing/relay\";\n\nexport {RelayAllFrames, RelayFrameErrorKind, RelayMethod};\nexport {RelayDiscoveryError} from \"@relay/discovery/RelayDiscovery\";\nexport type {\n RelayAllFramesOptions,\n RelayAnyFramesOptions,\n RelayBatchOptions,\n RelayBatchProxyTarget,\n RelayBatchRpcProxy,\n RelayCallOptions,\n RelayDocumentOptions,\n RelayDocumentsOptions,\n RelayExecutionOptions,\n RelayEveryFrameOptions,\n RelayFrameError,\n RelayFrameOptions,\n RelayFrameResult,\n RelayFramesOptions,\n RelayFramesResult,\n RelayNonEmptyReadonlyArray,\n RelayProxyTarget,\n RelayResultTarget,\n RelayScalarOptions,\n RelayTopFrameOptions,\n RelayDefinition,\n} from \"@typing/relay\";\n\nexport const defineRelay = <T extends TransportType>(options: RelayDefinition<T>): RelayDefinition<T> => {\n return options;\n};\n\nconst getRelayOptionsMap = (): RelayOptionsMap => {\n const relays: RelayOptionsMap = new Map();\n\n try {\n Object.entries(relayOptions).forEach(([name, options]) => relays.set(name, options));\n } catch (e) {\n console.error(\"Failed getting relays: \", e);\n }\n\n return relays;\n};\n\nexport function getRelay<N extends RelayName>(name: N, params: number | RelayScalarOptions): RelayProxyTarget<N>;\n\nexport function getRelay<N extends RelayName>(name: N, params: RelayBatchOptions): RelayBatchProxyTarget<N>;\n\nexport function getRelay<N extends RelayName>(\n name: N,\n params: ProxyRelayParams\n): RelayProxyTarget<N> | RelayBatchProxyTarget<N> {\n const relays = getRelayOptionsMap();\n const options = relays.get(name);\n\n if (!options) {\n throw new Error(`Failed to get relay \"${name}\"`);\n }\n\n return new ProxyRelay(name, options, params, RelayPermission.getInstance(relays)).get() as\n | RelayProxyTarget<N>\n | RelayBatchProxyTarget<N>;\n}\n"],"mappings":"AAAA,OAAO,qBAAqB;AAC5B,SAAQ,kBAAwC;AAChD,SAAQ,WAAW,oBAAmB;AAGtC;AAAA,EAEI;AAAA,EACA;AAAA,EACA;AAAA,OAOG;AAGP,SAAQ,2BAA0B;AAyB3B,MAAM,cAAc,CAA0B,YAAoD;AACrG,SAAO;AACX;AAEA,MAAM,qBAAqB,MAAuB;AAC9C,QAAM,SAA0B,oBAAI,IAAI;AAExC,MAAI;AACA,WAAO,QAAQ,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,OAAO,MAAM,OAAO,IAAI,MAAM,OAAO,CAAC;AAAA,EACvF,SAAS,GAAG;AACR,YAAQ,MAAM,2BAA2B,CAAC;AAAA,EAC9C;AAEA,SAAO;AACX;AAMO,SAAS,SACZ,MACA,QAC8C;AAC9C,QAAM,SAAS,mBAAmB;AAClC,QAAM,UAAU,OAAO,IAAI,IAAI;AAE/B,MAAI,CAAC,SAAS;AACV,UAAM,IAAI,MAAM,wBAAwB,IAAI,GAAG;AAAA,EACnD;AAEA,SAAO,IAAI,WAAW,MAAM,SAAS,QAAQ,gBAAgB,YAAY,MAAM,CAAC,EAAE,IAAI;AAG1F;","names":[]}
1
+ {"version":3,"sources":["../../src/main/relay.ts"],"sourcesContent":["import RelayPermission from \"@relay/RelayPermission\";\nimport {ProxyRelay, type ProxyRelayParams} from \"@relay/providers\";\nimport {options as relayOptions} from \"#adnbn/relay\";\n\nimport type {TransportType} from \"@typing/transport\";\nimport type {ContentScriptIsolation} from \"@typing/content\";\n\nimport {\n RelayDefinition,\n RelayAllFrames,\n RelayFrameErrorKind,\n RelayMethod,\n RelayOptionsMap,\n type RelayBatchOptions,\n type RelayBatchProxyTarget,\n type RelayName,\n type RelayProxyTarget,\n type RelayScalarOptions,\n} from \"@typing/relay\";\n\nexport {RelayAllFrames, RelayFrameErrorKind, RelayMethod};\nexport {RelayDiscoveryError} from \"@relay/discovery/RelayDiscovery\";\n\nexport type {\n RelayAllFramesOptions,\n RelayAnyFramesOptions,\n RelayBatchOptions,\n RelayBatchProxyTarget,\n RelayBatchRpcProxy,\n RelayCallOptions,\n RelayDocumentOptions,\n RelayDocumentsOptions,\n RelayExecutionOptions,\n RelayEveryFrameOptions,\n RelayFrameError,\n RelayFrameOptions,\n RelayFrameResult,\n RelayFramesOptions,\n RelayFramesResult,\n RelayNonEmptyReadonlyArray,\n RelayProxyTarget,\n RelayResultTarget,\n RelayScalarOptions,\n RelayTopFrameOptions,\n RelayDefinition,\n} from \"@typing/relay\";\n\nexport const defineRelay = <\n T extends TransportType,\n Data = undefined,\n const Isolation extends `${ContentScriptIsolation}` = \"none\",\n>(\n options: RelayDefinition<T, Data, Isolation>\n): RelayDefinition<T, Data, Isolation> => {\n return options;\n};\n\nconst getRelayOptionsMap = (): RelayOptionsMap => {\n const relays: RelayOptionsMap = new Map();\n\n try {\n Object.entries(relayOptions).forEach(([name, options]) => relays.set(name, options));\n } catch (e) {\n console.error(\"Failed getting relays: \", e);\n }\n\n return relays;\n};\n\nexport function getRelay<N extends RelayName>(name: N, params: number | RelayScalarOptions): RelayProxyTarget<N>;\n\nexport function getRelay<N extends RelayName>(name: N, params: RelayBatchOptions): RelayBatchProxyTarget<N>;\n\nexport function getRelay<N extends RelayName>(\n name: N,\n params: ProxyRelayParams\n): RelayProxyTarget<N> | RelayBatchProxyTarget<N> {\n const relays = getRelayOptionsMap();\n const options = relays.get(name);\n\n if (!options) {\n throw new Error(`Failed to get relay \"${name}\"`);\n }\n\n return new ProxyRelay(name, options, params, RelayPermission.getInstance(relays)).get() as\n | RelayProxyTarget<N>\n | RelayBatchProxyTarget<N>;\n}\n"],"mappings":"AAAA,OAAO,qBAAqB;AAC5B,SAAQ,kBAAwC;AAChD,SAAQ,WAAW,oBAAmB;AAKtC;AAAA,EAEI;AAAA,EACA;AAAA,EACA;AAAA,OAOG;AAGP,SAAQ,2BAA0B;AA0B3B,MAAM,cAAc,CAKvB,YACsC;AACtC,SAAO;AACX;AAEA,MAAM,qBAAqB,MAAuB;AAC9C,QAAM,SAA0B,oBAAI,IAAI;AAExC,MAAI;AACA,WAAO,QAAQ,YAAY,EAAE,QAAQ,CAAC,CAAC,MAAM,OAAO,MAAM,OAAO,IAAI,MAAM,OAAO,CAAC;AAAA,EACvF,SAAS,GAAG;AACR,YAAQ,MAAM,2BAA2B,CAAC;AAAA,EAC9C;AAEA,SAAO;AACX;AAMO,SAAS,SACZ,MACA,QAC8C;AAC9C,QAAM,SAAS,mBAAmB;AAClC,QAAM,UAAU,OAAO,IAAI,IAAI;AAE/B,MAAI,CAAC,SAAS;AACV,UAAM,IAAI,MAAM,wBAAwB,IAAI,GAAG;AAAA,EACnD;AAEA,SAAO,IAAI,WAAW,MAAM,SAAS,QAAQ,gBAAgB,YAAY,MAAM,CAAC,EAAE,IAAI;AAG1F;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import { containsPermissions, onPermissionsAdded, onPermissionsRemoved, requestPermissions } from "@addon-core/browser";
2
2
  import { RelayMethod } from "./../types/relay.js";
3
- import { ContentScriptDeclarative } from "./../types/content.js";
3
+ import { ContentScriptDeclarative } from "./../types/content/index.js";
4
4
  const RelayPermissionGlobalKey = "adnbnRelayPermission";
5
5
  class RelayPermission {
6
6
  permissions = /* @__PURE__ */ new Map();
@@ -1,4 +1,4 @@
1
- import { type ContentScriptIsolationOptions, type ContentScriptIsolationFrameOptions, type ContentScriptFramePageOptions, type ContentScriptFrameSourceOptions } from "../../types/content.js";
1
+ import { type ContentScriptIsolationOptions, type ContentScriptIsolationFrameOptions, type ContentScriptFramePageOptions, type ContentScriptFrameSourceOptions } from "../../types/content/index.js";
2
2
  export declare const isContentScriptFrameNavigation: (isolation: unknown) => isolation is ContentScriptIsolationFrameOptions & (ContentScriptFramePageOptions | ContentScriptFrameSourceOptions);
3
3
  /** Pure normalization and structural validation, shared by CLI and runtime. */
4
4
  export declare const resolveContentScriptIsolation: (value: unknown, hasRender?: boolean) => ContentScriptIsolationOptions;