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
@@ -0,0 +1,48 @@
1
+ import { HtmlRspackPlugin } from "@rspack/core";
2
+ import HtmlRspackTagsPlugin from "html-rspack-tags-plugin";
3
+ import Override from "./Override.js";
4
+ import { definePlugin } from "./../../../main/plugin.js";
5
+ import { EntrypointPlugin } from "./../../../cli/bundler/index.js";
6
+ import { virtualViewModule } from "./../../../cli/virtual/index.js";
7
+ import { Command } from "./../../../types/app.js";
8
+ import { EntrypointType } from "./../../../types/entrypoint.js";
9
+ var override_default = definePlugin(() => {
10
+ let override;
11
+ return {
12
+ name: "adnbn:override",
13
+ startup: ({ config }) => {
14
+ override = new Override(config);
15
+ },
16
+ newtab: () => override.files(EntrypointType.Newtab),
17
+ bookmarks: () => override.files(EntrypointType.Bookmarks),
18
+ history: () => override.files(EntrypointType.History),
19
+ bundler: async ({ config }) => {
20
+ const view = await override.view();
21
+ if (!view) {
22
+ if (config.debug) {
23
+ console.info("Override entry not found");
24
+ }
25
+ return {};
26
+ }
27
+ const plugin = EntrypointPlugin.from(await view.entries()).virtual(virtualViewModule);
28
+ if (config.command === Command.Watch) {
29
+ plugin.watch(async () => {
30
+ var _a;
31
+ return ((_a = await override.clear().view()) == null ? void 0 : _a.entries()) ?? /* @__PURE__ */ new Map();
32
+ });
33
+ }
34
+ const htmlPlugins = (await view.html()).map((options) => new HtmlRspackPlugin(options));
35
+ const tagsPlugins = (await view.tags()).map((options) => new HtmlRspackTagsPlugin(options));
36
+ return {
37
+ plugins: [plugin, ...htmlPlugins, ...tagsPlugins]
38
+ };
39
+ },
40
+ manifest: async ({ manifest }) => {
41
+ manifest.setOverride(await override.manifest()).appendCsp(await override.csp()).appendPermissions(await override.permissions()).appendOptionalPermissions(await override.optionalPermissions()).appendHostPermissions(await override.hostPermissions()).appendOptionalHostPermissions(await override.optionalHostPermissions());
42
+ }
43
+ };
44
+ });
45
+ export {
46
+ override_default as default
47
+ };
48
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/cli/plugins/override/index.ts"],"sourcesContent":["import {Configuration as RspackConfig, HtmlRspackPlugin} from \"@rspack/core\";\nimport HtmlRspackTagsPlugin from \"html-rspack-tags-plugin\";\n\nimport Override from \"./Override\";\n\nimport {definePlugin} from \"@main/plugin\";\nimport {EntrypointPlugin} from \"@cli/bundler\";\nimport {virtualViewModule} from \"@cli/virtual/index.js\";\n\nimport {Command} from \"@typing/app\";\nimport {EntrypointType} from \"@typing/entrypoint\";\n\nexport default definePlugin(() => {\n let override: Override;\n\n return {\n name: \"adnbn:override\",\n startup: ({config}) => {\n override = new Override(config);\n },\n newtab: () => override.files(EntrypointType.Newtab),\n bookmarks: () => override.files(EntrypointType.Bookmarks),\n history: () => override.files(EntrypointType.History),\n bundler: async ({config}) => {\n const view = await override.view();\n\n if (!view) {\n if (config.debug) {\n console.info(\"Override entry not found\");\n }\n\n return {};\n }\n\n const plugin = EntrypointPlugin.from(await view.entries()).virtual(virtualViewModule);\n\n if (config.command === Command.Watch) {\n plugin.watch(async () => (await override.clear().view())?.entries() ?? new Map());\n }\n\n const htmlPlugins = (await view.html()).map(options => new HtmlRspackPlugin(options));\n const tagsPlugins = (await view.tags()).map(options => new HtmlRspackTagsPlugin(options));\n\n return {\n plugins: [plugin, ...htmlPlugins, ...tagsPlugins],\n } satisfies RspackConfig;\n },\n manifest: async ({manifest}) => {\n manifest\n .setOverride(await override.manifest())\n .appendCsp(await override.csp())\n .appendPermissions(await override.permissions())\n .appendOptionalPermissions(await override.optionalPermissions())\n .appendHostPermissions(await override.hostPermissions())\n .appendOptionalHostPermissions(await override.optionalHostPermissions());\n },\n };\n});\n"],"mappings":"AAAA,SAAuC,wBAAuB;AAC9D,OAAO,0BAA0B;AAEjC,OAAO,cAAc;AAErB,SAAQ,oBAAmB;AAC3B,SAAQ,wBAAuB;AAC/B,SAAQ,yBAAwB;AAEhC,SAAQ,eAAc;AACtB,SAAQ,sBAAqB;AAE7B,IAAO,mBAAQ,aAAa,MAAM;AAC9B,MAAI;AAEJ,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS,CAAC,EAAC,OAAM,MAAM;AACnB,iBAAW,IAAI,SAAS,MAAM;AAAA,IAClC;AAAA,IACA,QAAQ,MAAM,SAAS,MAAM,eAAe,MAAM;AAAA,IAClD,WAAW,MAAM,SAAS,MAAM,eAAe,SAAS;AAAA,IACxD,SAAS,MAAM,SAAS,MAAM,eAAe,OAAO;AAAA,IACpD,SAAS,OAAO,EAAC,OAAM,MAAM;AACzB,YAAM,OAAO,MAAM,SAAS,KAAK;AAEjC,UAAI,CAAC,MAAM;AACP,YAAI,OAAO,OAAO;AACd,kBAAQ,KAAK,0BAA0B;AAAA,QAC3C;AAEA,eAAO,CAAC;AAAA,MACZ;AAEA,YAAM,SAAS,iBAAiB,KAAK,MAAM,KAAK,QAAQ,CAAC,EAAE,QAAQ,iBAAiB;AAEpF,UAAI,OAAO,YAAY,QAAQ,OAAO;AAClC,eAAO,MAAM,YAAS;AArCtC;AAqC0C,8BAAM,SAAS,MAAM,EAAE,KAAK,MAA5B,mBAAgC,cAAa,oBAAI,IAAI;AAAA,SAAC;AAAA,MACpF;AAEA,YAAM,eAAe,MAAM,KAAK,KAAK,GAAG,IAAI,aAAW,IAAI,iBAAiB,OAAO,CAAC;AACpF,YAAM,eAAe,MAAM,KAAK,KAAK,GAAG,IAAI,aAAW,IAAI,qBAAqB,OAAO,CAAC;AAExF,aAAO;AAAA,QACH,SAAS,CAAC,QAAQ,GAAG,aAAa,GAAG,WAAW;AAAA,MACpD;AAAA,IACJ;AAAA,IACA,UAAU,OAAO,EAAC,SAAQ,MAAM;AAC5B,eACK,YAAY,MAAM,SAAS,SAAS,CAAC,EACrC,UAAU,MAAM,SAAS,IAAI,CAAC,EAC9B,kBAAkB,MAAM,SAAS,YAAY,CAAC,EAC9C,0BAA0B,MAAM,SAAS,oBAAoB,CAAC,EAC9D,sBAAsB,MAAM,SAAS,gBAAgB,CAAC,EACtD,8BAA8B,MAAM,SAAS,wBAAwB,CAAC;AAAA,IAC/E;AAAA,EACJ;AACJ,CAAC;","names":[]}
@@ -48,7 +48,7 @@ var popup_default = definePlugin(() => {
48
48
  };
49
49
  },
50
50
  manifest: async ({ manifest }) => {
51
- manifest.setPopup(await popup.manifest()).appendCsp(await popup.csp());
51
+ manifest.setPopup(await popup.manifest()).appendCsp(await popup.csp()).appendPermissions(await popup.permissions()).appendOptionalPermissions(await popup.optionalPermissions()).appendHostPermissions(await popup.hostPermissions()).appendOptionalHostPermissions(await popup.optionalHostPermissions());
52
52
  }
53
53
  };
54
54
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/plugins/popup/index.ts"],"sourcesContent":["import {Configuration as RspackConfig, HtmlRspackPlugin, Plugins} from \"@rspack/core\";\nimport HtmlRspackTagsPlugin from \"html-rspack-tags-plugin\";\n\nimport {definePlugin} from \"@main/plugin\";\n\nimport {EntrypointPlugin, GenerateModulePlugin} from \"@cli/bundler\";\nimport {virtualViewModule} from \"@cli/virtual/index.js\";\n\nimport Popup, {PopupNameToManifest} from \"./Popup\";\nimport {createPopupModule, PopupModuleName} from \"./popup-module\";\n\nimport {PopupDeclaration} from \"./declaration\";\n\nimport {Command} from \"@typing/app\";\n\nexport default definePlugin(() => {\n let popup: Popup;\n let declaration: PopupDeclaration;\n\n return {\n name: \"adnbn:popup\",\n startup: ({config}) => {\n popup = new Popup(config);\n declaration = new PopupDeclaration(config);\n },\n popup: () => popup.files(),\n bundler: async ({config}) => {\n declaration.setAlias(await popup.getAlias()).build();\n\n const plugins: Plugins = [];\n\n let alias: PopupNameToManifest = {};\n\n if (await popup.empty()) {\n if (config.debug) {\n console.info(\"Popup entries not found\");\n }\n } else {\n alias = await popup.manifestByAlias();\n\n // prettier-ignore\n const plugin = EntrypointPlugin.from(await popup.view().entries())\n .virtual(file => virtualViewModule(file));\n\n if (config.command === Command.Watch) {\n plugin.watch(async () => {\n declaration.setAlias(await popup.clear().getAlias()).build();\n\n return popup.view().entries();\n });\n }\n\n const htmlPlugins = (await popup.view().html()).map(options => new HtmlRspackPlugin(options));\n const tagsPlugins = (await popup.view().tags()).map(options => new HtmlRspackTagsPlugin(options));\n\n plugins.push(plugin, ...htmlPlugins, ...tagsPlugins);\n }\n\n return {\n plugins: [\n new GenerateModulePlugin({\n [PopupModuleName]: createPopupModule(alias),\n }),\n ...plugins,\n ],\n } as RspackConfig;\n },\n manifest: async ({manifest}) => {\n manifest.setPopup(await popup.manifest()).appendCsp(await popup.csp());\n },\n };\n});\n"],"mappings":"AAAA,SAAuC,wBAAgC;AACvE,OAAO,0BAA0B;AAEjC,SAAQ,oBAAmB;AAE3B,SAAQ,kBAAkB,4BAA2B;AACrD,SAAQ,yBAAwB;AAEhC,OAAO,WAAkC;AACzC,SAAQ,mBAAmB,uBAAsB;AAEjD,SAAQ,wBAAuB;AAE/B,SAAQ,eAAc;AAEtB,IAAO,gBAAQ,aAAa,MAAM;AAC9B,MAAI;AACJ,MAAI;AAEJ,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS,CAAC,EAAC,OAAM,MAAM;AACnB,cAAQ,IAAI,MAAM,MAAM;AACxB,oBAAc,IAAI,iBAAiB,MAAM;AAAA,IAC7C;AAAA,IACA,OAAO,MAAM,MAAM,MAAM;AAAA,IACzB,SAAS,OAAO,EAAC,OAAM,MAAM;AACzB,kBAAY,SAAS,MAAM,MAAM,SAAS,CAAC,EAAE,MAAM;AAEnD,YAAM,UAAmB,CAAC;AAE1B,UAAI,QAA6B,CAAC;AAElC,UAAI,MAAM,MAAM,MAAM,GAAG;AACrB,YAAI,OAAO,OAAO;AACd,kBAAQ,KAAK,yBAAyB;AAAA,QAC1C;AAAA,MACJ,OAAO;AACH,gBAAQ,MAAM,MAAM,gBAAgB;AAGpC,cAAM,SAAS,iBAAiB,KAAK,MAAM,MAAM,KAAK,EAAE,QAAQ,CAAC,EAC5D,QAAQ,UAAQ,kBAAkB,IAAI,CAAC;AAE5C,YAAI,OAAO,YAAY,QAAQ,OAAO;AAClC,iBAAO,MAAM,YAAY;AACrB,wBAAY,SAAS,MAAM,MAAM,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;AAE3D,mBAAO,MAAM,KAAK,EAAE,QAAQ;AAAA,UAChC,CAAC;AAAA,QACL;AAEA,cAAM,eAAe,MAAM,MAAM,KAAK,EAAE,KAAK,GAAG,IAAI,aAAW,IAAI,iBAAiB,OAAO,CAAC;AAC5F,cAAM,eAAe,MAAM,MAAM,KAAK,EAAE,KAAK,GAAG,IAAI,aAAW,IAAI,qBAAqB,OAAO,CAAC;AAEhG,gBAAQ,KAAK,QAAQ,GAAG,aAAa,GAAG,WAAW;AAAA,MACvD;AAEA,aAAO;AAAA,QACH,SAAS;AAAA,UACL,IAAI,qBAAqB;AAAA,YACrB,CAAC,eAAe,GAAG,kBAAkB,KAAK;AAAA,UAC9C,CAAC;AAAA,UACD,GAAG;AAAA,QACP;AAAA,MACJ;AAAA,IACJ;AAAA,IACA,UAAU,OAAO,EAAC,SAAQ,MAAM;AAC5B,eAAS,SAAS,MAAM,MAAM,SAAS,CAAC,EAAE,UAAU,MAAM,MAAM,IAAI,CAAC;AAAA,IACzE;AAAA,EACJ;AACJ,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../../../src/cli/plugins/popup/index.ts"],"sourcesContent":["import {Configuration as RspackConfig, HtmlRspackPlugin, Plugins} from \"@rspack/core\";\nimport HtmlRspackTagsPlugin from \"html-rspack-tags-plugin\";\n\nimport {definePlugin} from \"@main/plugin\";\n\nimport {EntrypointPlugin, GenerateModulePlugin} from \"@cli/bundler\";\nimport {virtualViewModule} from \"@cli/virtual/index.js\";\n\nimport Popup, {PopupNameToManifest} from \"./Popup\";\nimport {createPopupModule, PopupModuleName} from \"./popup-module\";\n\nimport {PopupDeclaration} from \"./declaration\";\n\nimport {Command} from \"@typing/app\";\n\nexport default definePlugin(() => {\n let popup: Popup;\n let declaration: PopupDeclaration;\n\n return {\n name: \"adnbn:popup\",\n startup: ({config}) => {\n popup = new Popup(config);\n declaration = new PopupDeclaration(config);\n },\n popup: () => popup.files(),\n bundler: async ({config}) => {\n declaration.setAlias(await popup.getAlias()).build();\n\n const plugins: Plugins = [];\n\n let alias: PopupNameToManifest = {};\n\n if (await popup.empty()) {\n if (config.debug) {\n console.info(\"Popup entries not found\");\n }\n } else {\n alias = await popup.manifestByAlias();\n\n // prettier-ignore\n const plugin = EntrypointPlugin.from(await popup.view().entries())\n .virtual(file => virtualViewModule(file));\n\n if (config.command === Command.Watch) {\n plugin.watch(async () => {\n declaration.setAlias(await popup.clear().getAlias()).build();\n\n return popup.view().entries();\n });\n }\n\n const htmlPlugins = (await popup.view().html()).map(options => new HtmlRspackPlugin(options));\n const tagsPlugins = (await popup.view().tags()).map(options => new HtmlRspackTagsPlugin(options));\n\n plugins.push(plugin, ...htmlPlugins, ...tagsPlugins);\n }\n\n return {\n plugins: [\n new GenerateModulePlugin({\n [PopupModuleName]: createPopupModule(alias),\n }),\n ...plugins,\n ],\n } as RspackConfig;\n },\n manifest: async ({manifest}) => {\n // Every built popup can be switched to at runtime, so all of them contribute their permissions.\n manifest\n .setPopup(await popup.manifest())\n .appendCsp(await popup.csp())\n .appendPermissions(await popup.permissions())\n .appendOptionalPermissions(await popup.optionalPermissions())\n .appendHostPermissions(await popup.hostPermissions())\n .appendOptionalHostPermissions(await popup.optionalHostPermissions());\n },\n };\n});\n"],"mappings":"AAAA,SAAuC,wBAAgC;AACvE,OAAO,0BAA0B;AAEjC,SAAQ,oBAAmB;AAE3B,SAAQ,kBAAkB,4BAA2B;AACrD,SAAQ,yBAAwB;AAEhC,OAAO,WAAkC;AACzC,SAAQ,mBAAmB,uBAAsB;AAEjD,SAAQ,wBAAuB;AAE/B,SAAQ,eAAc;AAEtB,IAAO,gBAAQ,aAAa,MAAM;AAC9B,MAAI;AACJ,MAAI;AAEJ,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS,CAAC,EAAC,OAAM,MAAM;AACnB,cAAQ,IAAI,MAAM,MAAM;AACxB,oBAAc,IAAI,iBAAiB,MAAM;AAAA,IAC7C;AAAA,IACA,OAAO,MAAM,MAAM,MAAM;AAAA,IACzB,SAAS,OAAO,EAAC,OAAM,MAAM;AACzB,kBAAY,SAAS,MAAM,MAAM,SAAS,CAAC,EAAE,MAAM;AAEnD,YAAM,UAAmB,CAAC;AAE1B,UAAI,QAA6B,CAAC;AAElC,UAAI,MAAM,MAAM,MAAM,GAAG;AACrB,YAAI,OAAO,OAAO;AACd,kBAAQ,KAAK,yBAAyB;AAAA,QAC1C;AAAA,MACJ,OAAO;AACH,gBAAQ,MAAM,MAAM,gBAAgB;AAGpC,cAAM,SAAS,iBAAiB,KAAK,MAAM,MAAM,KAAK,EAAE,QAAQ,CAAC,EAC5D,QAAQ,UAAQ,kBAAkB,IAAI,CAAC;AAE5C,YAAI,OAAO,YAAY,QAAQ,OAAO;AAClC,iBAAO,MAAM,YAAY;AACrB,wBAAY,SAAS,MAAM,MAAM,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;AAE3D,mBAAO,MAAM,KAAK,EAAE,QAAQ;AAAA,UAChC,CAAC;AAAA,QACL;AAEA,cAAM,eAAe,MAAM,MAAM,KAAK,EAAE,KAAK,GAAG,IAAI,aAAW,IAAI,iBAAiB,OAAO,CAAC;AAC5F,cAAM,eAAe,MAAM,MAAM,KAAK,EAAE,KAAK,GAAG,IAAI,aAAW,IAAI,qBAAqB,OAAO,CAAC;AAEhG,gBAAQ,KAAK,QAAQ,GAAG,aAAa,GAAG,WAAW;AAAA,MACvD;AAEA,aAAO;AAAA,QACH,SAAS;AAAA,UACL,IAAI,qBAAqB;AAAA,YACrB,CAAC,eAAe,GAAG,kBAAkB,KAAK;AAAA,UAC9C,CAAC;AAAA,UACD,GAAG;AAAA,QACP;AAAA,MACJ;AAAA,IACJ;AAAA,IACA,UAAU,OAAO,EAAC,SAAQ,MAAM;AAE5B,eACK,SAAS,MAAM,MAAM,SAAS,CAAC,EAC/B,UAAU,MAAM,MAAM,IAAI,CAAC,EAC3B,kBAAkB,MAAM,MAAM,YAAY,CAAC,EAC3C,0BAA0B,MAAM,MAAM,oBAAoB,CAAC,EAC3D,sBAAsB,MAAM,MAAM,gBAAgB,CAAC,EACnD,8BAA8B,MAAM,MAAM,wBAAwB,CAAC;AAAA,IAC5E;AAAA,EACJ;AACJ,CAAC;","names":[]}
@@ -62,8 +62,7 @@ var sidebar_default = definePlugin(() => {
62
62
  if (!sidebarAvailable) {
63
63
  return;
64
64
  }
65
- manifest.setSidebar(await sidebar.manifest());
66
- manifest.appendCsp(await sidebar.csp());
65
+ manifest.setSidebar(await sidebar.manifest()).appendCsp(await sidebar.csp()).appendPermissions(await sidebar.permissions()).appendOptionalPermissions(await sidebar.optionalPermissions()).appendHostPermissions(await sidebar.hostPermissions()).appendOptionalHostPermissions(await sidebar.optionalHostPermissions());
67
66
  if (await sidebar.exists() && !SidebarAlternativeBrowsers.has(config.browser)) {
68
67
  manifest.addPermission("sidePanel");
69
68
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/plugins/sidebar/index.ts"],"sourcesContent":["import {Configuration as RspackConfig, HtmlRspackPlugin, Plugins} from \"@rspack/core\";\nimport HtmlRspackTagsPlugin from \"html-rspack-tags-plugin\";\n\nimport {definePlugin} from \"@main/plugin\";\n\nimport {EntrypointPlugin, GenerateModulePlugin} from \"@cli/bundler\";\nimport {virtualViewModule} from \"@cli/virtual/index.js\";\n\nimport Sidebar, {SidebarNameToManifest} from \"./Sidebar\";\nimport {createSidebarModule, SidebarModuleName} from \"./sidebar-module\";\n\nimport {SidebarDeclaration} from \"./declaration\";\n\nimport {Command} from \"@typing/app\";\nimport {SidebarAlternativeBrowsers} from \"@typing/sidebar\";\n\nexport default definePlugin(() => {\n let sidebar: Sidebar;\n let declaration: SidebarDeclaration;\n\n let sidebarAvailable: boolean = false;\n\n return {\n name: \"adnbn:sidebar\",\n startup: ({config}) => {\n sidebar = new Sidebar(config);\n declaration = new SidebarDeclaration(config);\n\n sidebarAvailable = SidebarAlternativeBrowsers.has(config.browser) || config.manifestVersion !== 2;\n },\n sidebar: () => sidebar.files(),\n bundler: async ({config}) => {\n declaration.setAlias(await sidebar.getAlias()).build();\n\n let build: boolean = true;\n\n if (await sidebar.empty()) {\n if (config.debug) {\n console.info(\"Sidebar entries not found\");\n }\n\n build = false;\n } else if (!sidebarAvailable) {\n if (config.debug) {\n console.warn(\"Sidebar not supported for manifest version 2\");\n }\n\n build = false;\n }\n\n const plugins: Plugins = [];\n\n let alias: SidebarNameToManifest = {};\n\n if (build) {\n alias = await sidebar.manifestByAlias();\n\n // prettier-ignore\n const plugin = EntrypointPlugin.from(await sidebar.view().entries())\n .virtual(file => virtualViewModule(file));\n\n if (config.command === Command.Watch) {\n plugin.watch(async () => {\n declaration.setAlias(await sidebar.clear().getAlias()).build();\n\n return sidebar.view().entries();\n });\n }\n\n const htmlPlugins = (await sidebar.view().html()).map(options => new HtmlRspackPlugin(options));\n const tagsPlugins = (await sidebar.view().tags()).map(options => new HtmlRspackTagsPlugin(options));\n\n plugins.push(plugin, ...htmlPlugins, ...tagsPlugins);\n }\n\n return {\n plugins: [\n new GenerateModulePlugin({\n [SidebarModuleName]: createSidebarModule(alias),\n }),\n ...plugins,\n ],\n } as RspackConfig;\n },\n manifest: async ({manifest, config}) => {\n if (!sidebarAvailable) {\n return;\n }\n\n manifest.setSidebar(await sidebar.manifest());\n manifest.appendCsp(await sidebar.csp());\n\n if ((await sidebar.exists()) && !SidebarAlternativeBrowsers.has(config.browser)) {\n manifest.addPermission(\"sidePanel\");\n }\n },\n };\n});\n"],"mappings":"AAAA,SAAuC,wBAAgC;AACvE,OAAO,0BAA0B;AAEjC,SAAQ,oBAAmB;AAE3B,SAAQ,kBAAkB,4BAA2B;AACrD,SAAQ,yBAAwB;AAEhC,OAAO,aAAsC;AAC7C,SAAQ,qBAAqB,yBAAwB;AAErD,SAAQ,0BAAyB;AAEjC,SAAQ,eAAc;AACtB,SAAQ,kCAAiC;AAEzC,IAAO,kBAAQ,aAAa,MAAM;AAC9B,MAAI;AACJ,MAAI;AAEJ,MAAI,mBAA4B;AAEhC,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS,CAAC,EAAC,OAAM,MAAM;AACnB,gBAAU,IAAI,QAAQ,MAAM;AAC5B,oBAAc,IAAI,mBAAmB,MAAM;AAE3C,yBAAmB,2BAA2B,IAAI,OAAO,OAAO,KAAK,OAAO,oBAAoB;AAAA,IACpG;AAAA,IACA,SAAS,MAAM,QAAQ,MAAM;AAAA,IAC7B,SAAS,OAAO,EAAC,OAAM,MAAM;AACzB,kBAAY,SAAS,MAAM,QAAQ,SAAS,CAAC,EAAE,MAAM;AAErD,UAAI,QAAiB;AAErB,UAAI,MAAM,QAAQ,MAAM,GAAG;AACvB,YAAI,OAAO,OAAO;AACd,kBAAQ,KAAK,2BAA2B;AAAA,QAC5C;AAEA,gBAAQ;AAAA,MACZ,WAAW,CAAC,kBAAkB;AAC1B,YAAI,OAAO,OAAO;AACd,kBAAQ,KAAK,8CAA8C;AAAA,QAC/D;AAEA,gBAAQ;AAAA,MACZ;AAEA,YAAM,UAAmB,CAAC;AAE1B,UAAI,QAA+B,CAAC;AAEpC,UAAI,OAAO;AACP,gBAAQ,MAAM,QAAQ,gBAAgB;AAGtC,cAAM,SAAS,iBAAiB,KAAK,MAAM,QAAQ,KAAK,EAAE,QAAQ,CAAC,EAC9D,QAAQ,UAAQ,kBAAkB,IAAI,CAAC;AAE5C,YAAI,OAAO,YAAY,QAAQ,OAAO;AAClC,iBAAO,MAAM,YAAY;AACrB,wBAAY,SAAS,MAAM,QAAQ,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;AAE7D,mBAAO,QAAQ,KAAK,EAAE,QAAQ;AAAA,UAClC,CAAC;AAAA,QACL;AAEA,cAAM,eAAe,MAAM,QAAQ,KAAK,EAAE,KAAK,GAAG,IAAI,aAAW,IAAI,iBAAiB,OAAO,CAAC;AAC9F,cAAM,eAAe,MAAM,QAAQ,KAAK,EAAE,KAAK,GAAG,IAAI,aAAW,IAAI,qBAAqB,OAAO,CAAC;AAElG,gBAAQ,KAAK,QAAQ,GAAG,aAAa,GAAG,WAAW;AAAA,MACvD;AAEA,aAAO;AAAA,QACH,SAAS;AAAA,UACL,IAAI,qBAAqB;AAAA,YACrB,CAAC,iBAAiB,GAAG,oBAAoB,KAAK;AAAA,UAClD,CAAC;AAAA,UACD,GAAG;AAAA,QACP;AAAA,MACJ;AAAA,IACJ;AAAA,IACA,UAAU,OAAO,EAAC,UAAU,OAAM,MAAM;AACpC,UAAI,CAAC,kBAAkB;AACnB;AAAA,MACJ;AAEA,eAAS,WAAW,MAAM,QAAQ,SAAS,CAAC;AAC5C,eAAS,UAAU,MAAM,QAAQ,IAAI,CAAC;AAEtC,UAAK,MAAM,QAAQ,OAAO,KAAM,CAAC,2BAA2B,IAAI,OAAO,OAAO,GAAG;AAC7E,iBAAS,cAAc,WAAW;AAAA,MACtC;AAAA,IACJ;AAAA,EACJ;AACJ,CAAC;","names":[]}
1
+ {"version":3,"sources":["../../../../src/cli/plugins/sidebar/index.ts"],"sourcesContent":["import {Configuration as RspackConfig, HtmlRspackPlugin, Plugins} from \"@rspack/core\";\nimport HtmlRspackTagsPlugin from \"html-rspack-tags-plugin\";\n\nimport {definePlugin} from \"@main/plugin\";\n\nimport {EntrypointPlugin, GenerateModulePlugin} from \"@cli/bundler\";\nimport {virtualViewModule} from \"@cli/virtual/index.js\";\n\nimport Sidebar, {SidebarNameToManifest} from \"./Sidebar\";\nimport {createSidebarModule, SidebarModuleName} from \"./sidebar-module\";\n\nimport {SidebarDeclaration} from \"./declaration\";\n\nimport {Command} from \"@typing/app\";\nimport {SidebarAlternativeBrowsers} from \"@typing/sidebar\";\n\nexport default definePlugin(() => {\n let sidebar: Sidebar;\n let declaration: SidebarDeclaration;\n\n let sidebarAvailable: boolean = false;\n\n return {\n name: \"adnbn:sidebar\",\n startup: ({config}) => {\n sidebar = new Sidebar(config);\n declaration = new SidebarDeclaration(config);\n\n sidebarAvailable = SidebarAlternativeBrowsers.has(config.browser) || config.manifestVersion !== 2;\n },\n sidebar: () => sidebar.files(),\n bundler: async ({config}) => {\n declaration.setAlias(await sidebar.getAlias()).build();\n\n let build: boolean = true;\n\n if (await sidebar.empty()) {\n if (config.debug) {\n console.info(\"Sidebar entries not found\");\n }\n\n build = false;\n } else if (!sidebarAvailable) {\n if (config.debug) {\n console.warn(\"Sidebar not supported for manifest version 2\");\n }\n\n build = false;\n }\n\n const plugins: Plugins = [];\n\n let alias: SidebarNameToManifest = {};\n\n if (build) {\n alias = await sidebar.manifestByAlias();\n\n // prettier-ignore\n const plugin = EntrypointPlugin.from(await sidebar.view().entries())\n .virtual(file => virtualViewModule(file));\n\n if (config.command === Command.Watch) {\n plugin.watch(async () => {\n declaration.setAlias(await sidebar.clear().getAlias()).build();\n\n return sidebar.view().entries();\n });\n }\n\n const htmlPlugins = (await sidebar.view().html()).map(options => new HtmlRspackPlugin(options));\n const tagsPlugins = (await sidebar.view().tags()).map(options => new HtmlRspackTagsPlugin(options));\n\n plugins.push(plugin, ...htmlPlugins, ...tagsPlugins);\n }\n\n return {\n plugins: [\n new GenerateModulePlugin({\n [SidebarModuleName]: createSidebarModule(alias),\n }),\n ...plugins,\n ],\n } as RspackConfig;\n },\n manifest: async ({manifest, config}) => {\n if (!sidebarAvailable) {\n return;\n }\n\n // Every built sidebar can be switched to at runtime, so all of them contribute their permissions.\n manifest\n .setSidebar(await sidebar.manifest())\n .appendCsp(await sidebar.csp())\n .appendPermissions(await sidebar.permissions())\n .appendOptionalPermissions(await sidebar.optionalPermissions())\n .appendHostPermissions(await sidebar.hostPermissions())\n .appendOptionalHostPermissions(await sidebar.optionalHostPermissions());\n\n if ((await sidebar.exists()) && !SidebarAlternativeBrowsers.has(config.browser)) {\n manifest.addPermission(\"sidePanel\");\n }\n },\n };\n});\n"],"mappings":"AAAA,SAAuC,wBAAgC;AACvE,OAAO,0BAA0B;AAEjC,SAAQ,oBAAmB;AAE3B,SAAQ,kBAAkB,4BAA2B;AACrD,SAAQ,yBAAwB;AAEhC,OAAO,aAAsC;AAC7C,SAAQ,qBAAqB,yBAAwB;AAErD,SAAQ,0BAAyB;AAEjC,SAAQ,eAAc;AACtB,SAAQ,kCAAiC;AAEzC,IAAO,kBAAQ,aAAa,MAAM;AAC9B,MAAI;AACJ,MAAI;AAEJ,MAAI,mBAA4B;AAEhC,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS,CAAC,EAAC,OAAM,MAAM;AACnB,gBAAU,IAAI,QAAQ,MAAM;AAC5B,oBAAc,IAAI,mBAAmB,MAAM;AAE3C,yBAAmB,2BAA2B,IAAI,OAAO,OAAO,KAAK,OAAO,oBAAoB;AAAA,IACpG;AAAA,IACA,SAAS,MAAM,QAAQ,MAAM;AAAA,IAC7B,SAAS,OAAO,EAAC,OAAM,MAAM;AACzB,kBAAY,SAAS,MAAM,QAAQ,SAAS,CAAC,EAAE,MAAM;AAErD,UAAI,QAAiB;AAErB,UAAI,MAAM,QAAQ,MAAM,GAAG;AACvB,YAAI,OAAO,OAAO;AACd,kBAAQ,KAAK,2BAA2B;AAAA,QAC5C;AAEA,gBAAQ;AAAA,MACZ,WAAW,CAAC,kBAAkB;AAC1B,YAAI,OAAO,OAAO;AACd,kBAAQ,KAAK,8CAA8C;AAAA,QAC/D;AAEA,gBAAQ;AAAA,MACZ;AAEA,YAAM,UAAmB,CAAC;AAE1B,UAAI,QAA+B,CAAC;AAEpC,UAAI,OAAO;AACP,gBAAQ,MAAM,QAAQ,gBAAgB;AAGtC,cAAM,SAAS,iBAAiB,KAAK,MAAM,QAAQ,KAAK,EAAE,QAAQ,CAAC,EAC9D,QAAQ,UAAQ,kBAAkB,IAAI,CAAC;AAE5C,YAAI,OAAO,YAAY,QAAQ,OAAO;AAClC,iBAAO,MAAM,YAAY;AACrB,wBAAY,SAAS,MAAM,QAAQ,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;AAE7D,mBAAO,QAAQ,KAAK,EAAE,QAAQ;AAAA,UAClC,CAAC;AAAA,QACL;AAEA,cAAM,eAAe,MAAM,QAAQ,KAAK,EAAE,KAAK,GAAG,IAAI,aAAW,IAAI,iBAAiB,OAAO,CAAC;AAC9F,cAAM,eAAe,MAAM,QAAQ,KAAK,EAAE,KAAK,GAAG,IAAI,aAAW,IAAI,qBAAqB,OAAO,CAAC;AAElG,gBAAQ,KAAK,QAAQ,GAAG,aAAa,GAAG,WAAW;AAAA,MACvD;AAEA,aAAO;AAAA,QACH,SAAS;AAAA,UACL,IAAI,qBAAqB;AAAA,YACrB,CAAC,iBAAiB,GAAG,oBAAoB,KAAK;AAAA,UAClD,CAAC;AAAA,UACD,GAAG;AAAA,QACP;AAAA,MACJ;AAAA,IACJ;AAAA,IACA,UAAU,OAAO,EAAC,UAAU,OAAM,MAAM;AACpC,UAAI,CAAC,kBAAkB;AACnB;AAAA,MACJ;AAGA,eACK,WAAW,MAAM,QAAQ,SAAS,CAAC,EACnC,UAAU,MAAM,QAAQ,IAAI,CAAC,EAC7B,kBAAkB,MAAM,QAAQ,YAAY,CAAC,EAC7C,0BAA0B,MAAM,QAAQ,oBAAoB,CAAC,EAC7D,sBAAsB,MAAM,QAAQ,gBAAgB,CAAC,EACrD,8BAA8B,MAAM,QAAQ,wBAAwB,CAAC;AAE1E,UAAK,MAAM,QAAQ,OAAO,KAAM,CAAC,2BAA2B,IAAI,OAAO,OAAO,GAAG;AAC7E,iBAAS,cAAc,WAAW;AAAA,MACtC;AAAA,IACJ;AAAA,EACJ;AACJ,CAAC;","names":[]}
@@ -1,3 +1,2 @@
1
- import type { StylePluginOptions } from "./types.js";
2
- declare const _default: import("../../../main/plugin.js").PluginDefinition<[(StylePluginOptions | undefined)?]>;
1
+ declare const _default: import("../../../main/plugin.js").PluginDefinition<[]>;
3
2
  export default _default;
@@ -3,13 +3,13 @@ import path from "path";
3
3
  import fs from "fs";
4
4
  import { CssExtractRspackPlugin } from "@rspack/core";
5
5
  import { mergeStyleSources } from "./utils.js";
6
- import { IsolatedStylesLayer } from "./../../../cli/bundler/layers.js";
6
+ import { DocumentStylesLayer, DefaultStylesLayer } from "./../../../cli/bundler/layers.js";
7
7
  import { definePlugin } from "./../../../main/plugin.js";
8
8
  import { appFilenameResolver } from "./../../../cli/bundler/index.js";
9
9
  import { getAppSourcePath, getResolvePath, getSharedPath } from "./../../../cli/resolvers/path.js";
10
10
  import { toPosix } from "./../../../cli/utils/path.js";
11
- const IsolatedAsIsLoaderIdent = "adnbn-isolated-asis";
12
- const IsolatedModulesLoaderIdent = "adnbn-isolated-modules";
11
+ const DefaultAsIsLoaderIdent = "adnbn-default-asis";
12
+ const DefaultModulesLoaderIdent = "adnbn-default-modules";
13
13
  const styleMergerLoader = (config) => (sharedStyle, sharedPath) => {
14
14
  const sharedDir = getResolvePath(getSharedPath(config));
15
15
  if (sharedPath.startsWith(sharedDir)) {
@@ -32,7 +32,7 @@ const styleMergerLoader = (config) => (sharedStyle, sharedPath) => {
32
32
  }
33
33
  }
34
34
  };
35
- var style_default = definePlugin(({ isolationIssuerLayer } = {}) => {
35
+ var style_default = definePlugin(() => {
36
36
  return {
37
37
  name: "adnbn:styles",
38
38
  bundler: ({ config }) => {
@@ -51,19 +51,19 @@ var style_default = definePlugin(({ isolationIssuerLayer } = {}) => {
51
51
  }
52
52
  return rules;
53
53
  };
54
- const createStyleRules = (isolated = false) => [
54
+ const createStyleRules = (defaultStyles = false) => [
55
55
  {
56
56
  resourceQuery: /[?&]asis(?:[=&]|$)/,
57
57
  use: createSassRuleSet({
58
58
  loader: "css-loader",
59
- ...isolated ? { ident: IsolatedAsIsLoaderIdent } : {},
59
+ ...defaultStyles ? { ident: DefaultAsIsLoaderIdent } : {},
60
60
  options: { esModule: true, modules: false }
61
61
  })
62
62
  },
63
63
  {
64
64
  use: createSassRuleSet({
65
65
  loader: "css-loader",
66
- ...isolated ? { ident: IsolatedModulesLoaderIdent } : {},
66
+ ...defaultStyles ? { ident: DefaultModulesLoaderIdent } : {},
67
67
  options: {
68
68
  esModule: true,
69
69
  modules: {
@@ -86,35 +86,24 @@ var style_default = definePlugin(({ isolationIssuerLayer } = {}) => {
86
86
  chunkFilename: filename
87
87
  })
88
88
  ],
89
- optimization: {
90
- splitChunks: {
91
- cacheGroups: {
92
- adnbnIsolatedStyles: {
93
- type: "css/mini-extract",
94
- layer: IsolatedStylesLayer,
95
- chunks: "all",
96
- enforce: true,
97
- name: false,
98
- priority: 100
99
- }
100
- }
101
- }
102
- },
103
89
  module: {
104
90
  rules: [
105
91
  {
106
92
  test: /\.(scss|css)$/,
107
93
  type: "javascript/auto",
108
94
  oneOf: [
109
- ...isolationIssuerLayer === void 0 ? [] : [
110
- {
111
- issuerLayer: isolationIssuerLayer,
112
- resourceQuery: /[?&]isolation(?:[=&]|$)/,
113
- layer: IsolatedStylesLayer,
114
- oneOf: createStyleRules(true)
115
- }
116
- ],
117
- { oneOf: createStyleRules() }
95
+ {
96
+ resourceQuery: /[?&]unisolated(?:[=&]|$)/,
97
+ layer: DocumentStylesLayer,
98
+ oneOf: createStyleRules()
99
+ },
100
+ {
101
+ // Nested CSS imports preserve an explicit document destination.
102
+ issuerLayer: DocumentStylesLayer,
103
+ layer: DocumentStylesLayer,
104
+ oneOf: createStyleRules()
105
+ },
106
+ { layer: DefaultStylesLayer, oneOf: createStyleRules(true) }
118
107
  ]
119
108
  }
120
109
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/plugins/style/index.ts"],"sourcesContent":["import _ from \"lodash\";\nimport path from \"path\";\nimport fs from \"fs\";\nimport {Configuration as RspackConfig, CssExtractRspackPlugin, RuleSetUse, RuleSetUseItem} from \"@rspack/core\";\n\nimport {mergeStyleSources} from \"./utils\";\nimport type {StylePluginOptions} from \"./types\";\nimport {IsolatedStylesLayer} from \"@cli/bundler/layers\";\n\nimport {definePlugin} from \"@main/plugin\";\n\nimport {appFilenameResolver} from \"@cli/bundler\";\nimport {getAppSourcePath, getResolvePath, getSharedPath} from \"@cli/resolvers/path\";\nimport {toPosix} from \"@cli/utils/path\";\n\nimport {ReadonlyConfig} from \"@typing/config\";\n\n// CssExtract also identifies dependencies by loader request, not just by layer.\n// Keep isolated requests distinct from ordinary CSS and from each other's options.\nconst IsolatedAsIsLoaderIdent = \"adnbn-isolated-asis\";\nconst IsolatedModulesLoaderIdent = \"adnbn-isolated-modules\";\n\n// prettier-ignore\nconst styleMergerLoader =\n (config: ReadonlyConfig) =>\n (sharedStyle: string, sharedPath: string): string | void => {\n const sharedDir = getResolvePath(getSharedPath(config));\n\n if (sharedPath.startsWith(sharedDir)) {\n const relativePath = path.relative(sharedDir, sharedPath);\n\n const appDir = getResolvePath(getAppSourcePath(config));\n const appPath = getResolvePath(path.join(appDir, relativePath));\n\n if (fs.existsSync(appPath)) {\n let appStyle = fs.readFileSync(appPath, \"utf8\");\n\n appStyle = appStyle.replace(/url\\((['\"]?)(.*?)\\1\\)/g, (match, quote, filePath) => {\n if (\n filePath.startsWith(\"/\") ||\n filePath.startsWith(\"http\") ||\n filePath.startsWith(\"data:\")\n ) {\n return match;\n }\n\n const cssDir = path.dirname(appPath);\n const assetAbs = path.resolve(cssDir, filePath);\n\n const sharedFileDir = path.dirname(sharedPath);\n\n const relativeToSharedFile = path.relative(sharedFileDir, assetAbs);\n\n return `url(\"${toPosix(relativeToSharedFile)}\")`;\n });\n\n return mergeStyleSources(sharedStyle, appStyle);\n }\n }\n };\n\nexport default definePlugin(({isolationIssuerLayer}: StylePluginOptions = {}) => {\n return {\n name: \"adnbn:styles\",\n bundler: ({config}) => {\n const {app, cssDir, cssFilename, cssIdentName, mergeStyles} = config;\n\n const filename = appFilenameResolver(app, cssFilename, cssDir);\n const kebabApp = _.kebabCase(app);\n\n const createSassRuleSet = (rule: RuleSetUseItem): RuleSetUse => {\n const rules: RuleSetUse = [CssExtractRspackPlugin.loader, rule, \"sass-loader\"];\n\n if (mergeStyles) {\n rules.push({\n loader: \"source-modifier-loader\",\n options: {\n modify: styleMergerLoader(config),\n },\n });\n }\n\n return rules;\n };\n\n const createStyleRules = (isolated = false) => [\n {\n resourceQuery: /[?&]asis(?:[=&]|$)/,\n use: createSassRuleSet({\n loader: \"css-loader\",\n ...(isolated ? {ident: IsolatedAsIsLoaderIdent} : {}),\n options: {esModule: true, modules: false},\n }),\n },\n {\n use: createSassRuleSet({\n loader: \"css-loader\",\n ...(isolated ? {ident: IsolatedModulesLoaderIdent} : {}),\n options: {\n esModule: true,\n modules: {\n exportLocalsConvention: \"as-is\",\n namedExport: false,\n localIdentName: cssIdentName.replaceAll(\"[app]\", kebabApp),\n localIdentHashSalt: kebabApp,\n },\n },\n }),\n },\n ];\n\n return {\n resolve: {\n extensions: [\".css\", \".scss\"],\n },\n plugins: [\n new CssExtractRspackPlugin({\n filename,\n chunkFilename: filename,\n }),\n ],\n optimization: {\n splitChunks: {\n cacheGroups: {\n adnbnIsolatedStyles: {\n type: \"css/mini-extract\",\n layer: IsolatedStylesLayer,\n chunks: \"all\",\n enforce: true,\n name: false,\n priority: 100,\n },\n },\n },\n },\n module: {\n rules: [\n {\n test: /\\.(scss|css)$/,\n type: \"javascript/auto\",\n oneOf: [\n ...(isolationIssuerLayer === undefined\n ? []\n : [\n {\n issuerLayer: isolationIssuerLayer,\n resourceQuery: /[?&]isolation(?:[=&]|$)/,\n layer: IsolatedStylesLayer,\n oneOf: createStyleRules(true),\n },\n ]),\n {oneOf: createStyleRules()},\n ],\n },\n ],\n },\n } satisfies RspackConfig;\n },\n };\n});\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/cli/plugins/style/index.ts"],"sourcesContent":["import _ from \"lodash\";\nimport path from \"path\";\nimport fs from \"fs\";\nimport {Configuration as RspackConfig, CssExtractRspackPlugin, RuleSetUse, RuleSetUseItem} from \"@rspack/core\";\n\nimport {mergeStyleSources} from \"./utils\";\nimport {DocumentStylesLayer, DefaultStylesLayer} from \"@cli/bundler/layers\";\n\nimport {definePlugin} from \"@main/plugin\";\n\nimport {appFilenameResolver} from \"@cli/bundler\";\nimport {getAppSourcePath, getResolvePath, getSharedPath} from \"@cli/resolvers/path\";\nimport {toPosix} from \"@cli/utils/path\";\n\nimport {ReadonlyConfig} from \"@typing/config\";\n\n// CssExtract also identifies dependencies by loader request, not just by layer.\n// Keep default and document styles distinct even when their contents are identical.\nconst DefaultAsIsLoaderIdent = \"adnbn-default-asis\";\nconst DefaultModulesLoaderIdent = \"adnbn-default-modules\";\n\n// prettier-ignore\nconst styleMergerLoader =\n (config: ReadonlyConfig) =>\n (sharedStyle: string, sharedPath: string): string | void => {\n const sharedDir = getResolvePath(getSharedPath(config));\n\n if (sharedPath.startsWith(sharedDir)) {\n const relativePath = path.relative(sharedDir, sharedPath);\n\n const appDir = getResolvePath(getAppSourcePath(config));\n const appPath = getResolvePath(path.join(appDir, relativePath));\n\n if (fs.existsSync(appPath)) {\n let appStyle = fs.readFileSync(appPath, \"utf8\");\n\n appStyle = appStyle.replace(/url\\((['\"]?)(.*?)\\1\\)/g, (match, quote, filePath) => {\n if (\n filePath.startsWith(\"/\") ||\n filePath.startsWith(\"http\") ||\n filePath.startsWith(\"data:\")\n ) {\n return match;\n }\n\n const cssDir = path.dirname(appPath);\n const assetAbs = path.resolve(cssDir, filePath);\n\n const sharedFileDir = path.dirname(sharedPath);\n\n const relativeToSharedFile = path.relative(sharedFileDir, assetAbs);\n\n return `url(\"${toPosix(relativeToSharedFile)}\")`;\n });\n\n return mergeStyleSources(sharedStyle, appStyle);\n }\n }\n };\n\nexport default definePlugin(() => {\n return {\n name: \"adnbn:styles\",\n bundler: ({config}) => {\n const {app, cssDir, cssFilename, cssIdentName, mergeStyles} = config;\n\n const filename = appFilenameResolver(app, cssFilename, cssDir);\n const kebabApp = _.kebabCase(app);\n\n const createSassRuleSet = (rule: RuleSetUseItem): RuleSetUse => {\n const rules: RuleSetUse = [CssExtractRspackPlugin.loader, rule, \"sass-loader\"];\n\n if (mergeStyles) {\n rules.push({\n loader: \"source-modifier-loader\",\n options: {\n modify: styleMergerLoader(config),\n },\n });\n }\n\n return rules;\n };\n\n const createStyleRules = (defaultStyles = false) => [\n {\n resourceQuery: /[?&]asis(?:[=&]|$)/,\n use: createSassRuleSet({\n loader: \"css-loader\",\n ...(defaultStyles ? {ident: DefaultAsIsLoaderIdent} : {}),\n options: {esModule: true, modules: false},\n }),\n },\n {\n use: createSassRuleSet({\n loader: \"css-loader\",\n ...(defaultStyles ? {ident: DefaultModulesLoaderIdent} : {}),\n options: {\n esModule: true,\n modules: {\n exportLocalsConvention: \"as-is\",\n namedExport: false,\n localIdentName: cssIdentName.replaceAll(\"[app]\", kebabApp),\n localIdentHashSalt: kebabApp,\n },\n },\n }),\n },\n ];\n\n return {\n resolve: {\n extensions: [\".css\", \".scss\"],\n },\n plugins: [\n new CssExtractRspackPlugin({\n filename,\n chunkFilename: filename,\n }),\n ],\n module: {\n rules: [\n {\n test: /\\.(scss|css)$/,\n type: \"javascript/auto\",\n oneOf: [\n {\n resourceQuery: /[?&]unisolated(?:[=&]|$)/,\n layer: DocumentStylesLayer,\n oneOf: createStyleRules(),\n },\n {\n // Nested CSS imports preserve an explicit document destination.\n issuerLayer: DocumentStylesLayer,\n layer: DocumentStylesLayer,\n oneOf: createStyleRules(),\n },\n {layer: DefaultStylesLayer, oneOf: createStyleRules(true)},\n ],\n },\n ],\n },\n } satisfies RspackConfig;\n },\n };\n});\n"],"mappings":"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","names":[]}
@@ -2,7 +2,7 @@ import type { HtmlRspackPluginOptions } from "@rspack/core";
2
2
  import type { Options as HtmlRspackTagsPluginOptions } from "html-rspack-tags-plugin";
3
3
  import { AbstractViewFinder } from "../../entrypoint/index.js";
4
4
  import { EntrypointEntries } from "../../../types/entrypoint.js";
5
- import { ViewEntrypointOptions } from "../../../types/view.js";
5
+ import { ViewEntrypointOptions } from "../../../types/view/index.js";
6
6
  import { ReadonlyConfig } from "../../../types/config.js";
7
7
  export default class<O extends ViewEntrypointOptions> {
8
8
  protected readonly config: ReadonlyConfig;
@@ -1,5 +1,6 @@
1
1
  import path from "path";
2
2
  import _ from "lodash";
3
+ import { HtmlOptionKeys } from "./../../../cli/entrypoint/index.js";
3
4
  class View_default {
4
5
  constructor(config, finder) {
5
6
  this.config = config;
@@ -33,16 +34,7 @@ class View_default {
33
34
  const tags = [];
34
35
  const views = await this.finder.views();
35
36
  for (const { filename, options } of views.values()) {
36
- const {
37
- as,
38
- title,
39
- template,
40
- excludeApp,
41
- includeApp,
42
- excludeBrowser,
43
- includeBrowser,
44
- ...tagOptions
45
- } = options;
37
+ const tagOptions = _.pick(options, HtmlOptionKeys);
46
38
  if (!_.isEmpty(tagOptions)) {
47
39
  tags.push({
48
40
  ...tagOptions,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/plugins/view/View.ts"],"sourcesContent":["import path from \"path\";\nimport _ from \"lodash\";\n\nimport type {HtmlRspackPluginOptions} from \"@rspack/core\";\nimport type {Options as HtmlRspackTagsPluginOptions} from \"html-rspack-tags-plugin\";\n\nimport {AbstractViewFinder} from \"@cli/entrypoint/index.js\";\n\nimport {EntrypointEntries} from \"@typing/entrypoint\";\nimport {ViewEntrypointOptions} from \"@typing/view\";\nimport {ReadonlyConfig} from \"@typing/config\";\n\nexport default class<O extends ViewEntrypointOptions> {\n public constructor(\n protected readonly config: ReadonlyConfig,\n protected readonly finder: AbstractViewFinder<O>\n ) {}\n\n public async entries(): Promise<EntrypointEntries> {\n const entries: EntrypointEntries = new Map();\n\n for (const [name, page] of await this.finder.views()) {\n entries.set(name, new Set([page.file]));\n }\n\n return entries;\n }\n\n public async html(): Promise<HtmlRspackPluginOptions[]> {\n const html: HtmlRspackPluginOptions[] = [];\n\n for (const [name, {file, filename, options}] of await this.finder.views()) {\n const {template, title} = options;\n\n html.push({\n filename,\n title: title || _.startCase(this.config.app),\n template: template ? path.resolve(path.dirname(file.file), template) : undefined,\n chunks: [name],\n inject: \"body\",\n minify: true,\n });\n }\n\n return html;\n }\n\n public async tags(): Promise<HtmlRspackTagsPluginOptions[]> {\n const tags: HtmlRspackTagsPluginOptions[] = [];\n\n const views = await this.finder.views();\n\n for (const {filename, options} of views.values()) {\n // prettier-ignore\n const {\n as,\n title,\n template,\n excludeApp,\n includeApp,\n excludeBrowser,\n includeBrowser,\n ...tagOptions\n } = options;\n\n if (!_.isEmpty(tagOptions)) {\n tags.push({\n ...tagOptions,\n files: [filename],\n });\n }\n }\n\n return tags;\n }\n}\n"],"mappings":"AAAA,OAAO,UAAU;AACjB,OAAO,OAAO;AAWd,MAAO,aAA+C;AAAA,EAC3C,YACgB,QACA,QACrB;AAFqB;AACA;AAAA,EACpB;AAAA,EAFoB;AAAA,EACA;AAAA,EAGvB,MAAa,UAAsC;AAC/C,UAAM,UAA6B,oBAAI,IAAI;AAE3C,eAAW,CAAC,MAAM,IAAI,KAAK,MAAM,KAAK,OAAO,MAAM,GAAG;AAClD,cAAQ,IAAI,MAAM,oBAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AAAA,IAC1C;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,MAAa,OAA2C;AACpD,UAAM,OAAkC,CAAC;AAEzC,eAAW,CAAC,MAAM,EAAC,MAAM,UAAU,QAAO,CAAC,KAAK,MAAM,KAAK,OAAO,MAAM,GAAG;AACvE,YAAM,EAAC,UAAU,MAAK,IAAI;AAE1B,WAAK,KAAK;AAAA,QACN;AAAA,QACA,OAAO,SAAS,EAAE,UAAU,KAAK,OAAO,GAAG;AAAA,QAC3C,UAAU,WAAW,KAAK,QAAQ,KAAK,QAAQ,KAAK,IAAI,GAAG,QAAQ,IAAI;AAAA,QACvE,QAAQ,CAAC,IAAI;AAAA,QACb,QAAQ;AAAA,QACR,QAAQ;AAAA,MACZ,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,MAAa,OAA+C;AACxD,UAAM,OAAsC,CAAC;AAE7C,UAAM,QAAQ,MAAM,KAAK,OAAO,MAAM;AAEtC,eAAW,EAAC,UAAU,QAAO,KAAK,MAAM,OAAO,GAAG;AAE9C,YAAM;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MACP,IAAI;AAEJ,UAAI,CAAC,EAAE,QAAQ,UAAU,GAAG;AACxB,aAAK,KAAK;AAAA,UACN,GAAG;AAAA,UACH,OAAO,CAAC,QAAQ;AAAA,QACpB,CAAC;AAAA,MACL;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/cli/plugins/view/View.ts"],"sourcesContent":["import path from \"path\";\nimport _ from \"lodash\";\n\nimport type {HtmlRspackPluginOptions} from \"@rspack/core\";\nimport type {Options as HtmlRspackTagsPluginOptions} from \"html-rspack-tags-plugin\";\n\nimport {AbstractViewFinder, HtmlOptionKeys} from \"@cli/entrypoint/index.js\";\n\nimport {EntrypointEntries} from \"@typing/entrypoint\";\nimport {ViewEntrypointOptions} from \"@typing/view\";\nimport {ReadonlyConfig} from \"@typing/config\";\n\nexport default class<O extends ViewEntrypointOptions> {\n public constructor(\n protected readonly config: ReadonlyConfig,\n protected readonly finder: AbstractViewFinder<O>\n ) {}\n\n public async entries(): Promise<EntrypointEntries> {\n const entries: EntrypointEntries = new Map();\n\n for (const [name, page] of await this.finder.views()) {\n entries.set(name, new Set([page.file]));\n }\n\n return entries;\n }\n\n public async html(): Promise<HtmlRspackPluginOptions[]> {\n const html: HtmlRspackPluginOptions[] = [];\n\n for (const [name, {file, filename, options}] of await this.finder.views()) {\n const {template, title} = options;\n\n html.push({\n filename,\n title: title || _.startCase(this.config.app),\n template: template ? path.resolve(path.dirname(file.file), template) : undefined,\n chunks: [name],\n inject: \"body\",\n minify: true,\n });\n }\n\n return html;\n }\n\n public async tags(): Promise<HtmlRspackTagsPluginOptions[]> {\n const tags: HtmlRspackTagsPluginOptions[] = [];\n\n const views = await this.finder.views();\n\n for (const {filename, options} of views.values()) {\n // Only HTML options reach the tags plugin; view, build and manifest options stay out of it.\n const tagOptions = _.pick(options, HtmlOptionKeys);\n\n if (!_.isEmpty(tagOptions)) {\n tags.push({\n ...tagOptions,\n files: [filename],\n });\n }\n }\n\n return tags;\n }\n}\n"],"mappings":"AAAA,OAAO,UAAU;AACjB,OAAO,OAAO;AAKd,SAA4B,sBAAqB;AAMjD,MAAO,aAA+C;AAAA,EAC3C,YACgB,QACA,QACrB;AAFqB;AACA;AAAA,EACpB;AAAA,EAFoB;AAAA,EACA;AAAA,EAGvB,MAAa,UAAsC;AAC/C,UAAM,UAA6B,oBAAI,IAAI;AAE3C,eAAW,CAAC,MAAM,IAAI,KAAK,MAAM,KAAK,OAAO,MAAM,GAAG;AAClD,cAAQ,IAAI,MAAM,oBAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;AAAA,IAC1C;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,MAAa,OAA2C;AACpD,UAAM,OAAkC,CAAC;AAEzC,eAAW,CAAC,MAAM,EAAC,MAAM,UAAU,QAAO,CAAC,KAAK,MAAM,KAAK,OAAO,MAAM,GAAG;AACvE,YAAM,EAAC,UAAU,MAAK,IAAI;AAE1B,WAAK,KAAK;AAAA,QACN;AAAA,QACA,OAAO,SAAS,EAAE,UAAU,KAAK,OAAO,GAAG;AAAA,QAC3C,UAAU,WAAW,KAAK,QAAQ,KAAK,QAAQ,KAAK,IAAI,GAAG,QAAQ,IAAI;AAAA,QACvE,QAAQ,CAAC,IAAI;AAAA,QACb,QAAQ;AAAA,QACR,QAAQ;AAAA,MACZ,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,EACX;AAAA,EAEA,MAAa,OAA+C;AACxD,UAAM,OAAsC,CAAC;AAE7C,UAAM,QAAQ,MAAM,KAAK,OAAO,MAAM;AAEtC,eAAW,EAAC,UAAU,QAAO,KAAK,MAAM,OAAO,GAAG;AAE9C,YAAM,aAAa,EAAE,KAAK,SAAS,cAAc;AAEjD,UAAI,CAAC,EAAE,QAAQ,UAAU,GAAG;AACxB,aAAK,KAAK;AAAA,UACN,GAAG;AAAA,UACH,OAAO,CAAC,QAAQ;AAAA,QACpB,CAAC;AAAA,MACL;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AACJ;","names":[]}
@@ -6,7 +6,16 @@ var view_default = definePlugin(() => {
6
6
  return {
7
7
  name: "adnbn:view",
8
8
  bundler: ({ config }) => {
9
- const entryTypeFilter = onlyViaTopLevelEntry(["page", "popup", "sidebar", "offscreen", "options"]);
9
+ const entryTypeFilter = onlyViaTopLevelEntry([
10
+ "page",
11
+ "popup",
12
+ "sidebar",
13
+ "offscreen",
14
+ "options",
15
+ "newtab",
16
+ "bookmarks",
17
+ "history"
18
+ ]);
10
19
  return {
11
20
  optimization: {
12
21
  splitChunks: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/cli/plugins/view/index.ts"],"sourcesContent":["import {NormalModule} from \"@rspack/core\";\n\nimport {definePlugin} from \"@main/plugin\";\n\nimport {onlyViaTopLevelEntry} from \"@cli/bundler\";\nimport {getResolvePath, getSourcePath} from \"@cli/resolvers/path\";\n\nexport {default as View} from \"./View\";\n\nexport default definePlugin(() => {\n return {\n name: \"adnbn:view\",\n bundler: ({config}) => {\n const entryTypeFilter = onlyViaTopLevelEntry([\"page\", \"popup\", \"sidebar\", \"offscreen\", \"options\"]);\n\n return {\n optimization: {\n splitChunks: {\n cacheGroups: {\n adnbnView: {\n minChunks: 2,\n minSize: 0,\n name: \"common.view\",\n test: (module, context) => {\n const nm = module as NormalModule;\n\n if (!nm.resource) {\n return false;\n }\n\n if (nm.resource.startsWith(getResolvePath(getSourcePath(config)))) {\n return false;\n }\n\n return entryTypeFilter(module, context);\n },\n enforce: false,\n reuseExistingChunk: true,\n priority: 50,\n },\n },\n },\n },\n };\n },\n };\n});\n"],"mappings":"AAEA,SAAQ,oBAAmB;AAE3B,SAAQ,4BAA2B;AACnC,SAAQ,gBAAgB,qBAAoB;AAE5C,SAAmB,WAAXA,gBAAsB;AAE9B,IAAO,eAAQ,aAAa,MAAM;AAC9B,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS,CAAC,EAAC,OAAM,MAAM;AACnB,YAAM,kBAAkB,qBAAqB,CAAC,QAAQ,SAAS,WAAW,aAAa,SAAS,CAAC;AAEjG,aAAO;AAAA,QACH,cAAc;AAAA,UACV,aAAa;AAAA,YACT,aAAa;AAAA,cACT,WAAW;AAAA,gBACP,WAAW;AAAA,gBACX,SAAS;AAAA,gBACT,MAAM;AAAA,gBACN,MAAM,CAAC,QAAQ,YAAY;AACvB,wBAAM,KAAK;AAEX,sBAAI,CAAC,GAAG,UAAU;AACd,2BAAO;AAAA,kBACX;AAEA,sBAAI,GAAG,SAAS,WAAW,eAAe,cAAc,MAAM,CAAC,CAAC,GAAG;AAC/D,2BAAO;AAAA,kBACX;AAEA,yBAAO,gBAAgB,QAAQ,OAAO;AAAA,gBAC1C;AAAA,gBACA,SAAS;AAAA,gBACT,oBAAoB;AAAA,gBACpB,UAAU;AAAA,cACd;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ,CAAC;","names":["default"]}
1
+ {"version":3,"sources":["../../../../src/cli/plugins/view/index.ts"],"sourcesContent":["import {NormalModule} from \"@rspack/core\";\n\nimport {definePlugin} from \"@main/plugin\";\n\nimport {onlyViaTopLevelEntry} from \"@cli/bundler\";\nimport {getResolvePath, getSourcePath} from \"@cli/resolvers/path\";\n\nexport {default as View} from \"./View\";\n\nexport default definePlugin(() => {\n return {\n name: \"adnbn:view\",\n bundler: ({config}) => {\n const entryTypeFilter = onlyViaTopLevelEntry([\n \"page\",\n \"popup\",\n \"sidebar\",\n \"offscreen\",\n \"options\",\n \"newtab\",\n \"bookmarks\",\n \"history\",\n ]);\n\n return {\n optimization: {\n splitChunks: {\n cacheGroups: {\n adnbnView: {\n minChunks: 2,\n minSize: 0,\n name: \"common.view\",\n test: (module, context) => {\n const nm = module as NormalModule;\n\n if (!nm.resource) {\n return false;\n }\n\n if (nm.resource.startsWith(getResolvePath(getSourcePath(config)))) {\n return false;\n }\n\n return entryTypeFilter(module, context);\n },\n enforce: false,\n reuseExistingChunk: true,\n priority: 50,\n },\n },\n },\n },\n };\n },\n };\n});\n"],"mappings":"AAEA,SAAQ,oBAAmB;AAE3B,SAAQ,4BAA2B;AACnC,SAAQ,gBAAgB,qBAAoB;AAE5C,SAAmB,WAAXA,gBAAsB;AAE9B,IAAO,eAAQ,aAAa,MAAM;AAC9B,SAAO;AAAA,IACH,MAAM;AAAA,IACN,SAAS,CAAC,EAAC,OAAM,MAAM;AACnB,YAAM,kBAAkB,qBAAqB;AAAA,QACzC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ,CAAC;AAED,aAAO;AAAA,QACH,cAAc;AAAA,UACV,aAAa;AAAA,YACT,aAAa;AAAA,cACT,WAAW;AAAA,gBACP,WAAW;AAAA,gBACX,SAAS;AAAA,gBACT,MAAM;AAAA,gBACN,MAAM,CAAC,QAAQ,YAAY;AACvB,wBAAM,KAAK;AAEX,sBAAI,CAAC,GAAG,UAAU;AACd,2BAAO;AAAA,kBACX;AAEA,sBAAI,GAAG,SAAS,WAAW,eAAe,cAAc,MAAM,CAAC,CAAC,GAAG;AAC/D,2BAAO;AAAA,kBACX;AAEA,yBAAO,gBAAgB,QAAQ,OAAO;AAAA,gBAC1C;AAAA,gBACA,SAAS;AAAA,gBACT,oBAAoB;AAAA,gBACpB,UAAU;AAAA,cACd;AAAA,YACJ;AAAA,UACJ;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ,CAAC;","names":["default"]}
@@ -17,6 +17,7 @@ import {
17
17
  pluginOptimization,
18
18
  pluginOptions,
19
19
  pluginOutput,
20
+ pluginOverride,
20
21
  pluginPage,
21
22
  pluginPopup,
22
23
  pluginPublic,
@@ -29,7 +30,6 @@ import {
29
30
  pluginView
30
31
  } from "../plugins/index.js";
31
32
  import { fromRootPath, getAppPath, getAppSourcePath, getConfigFile } from "../resolvers/path.js";
32
- import { isContentLayer } from "./../../cli/bundler/layers.js";
33
33
  import { Command, Mode, Workspace } from "./../../types/app.js";
34
34
  import { Browser } from "./../../types/browser.js";
35
35
  import { Language, LanguageCodes } from "./../../types/locale.js";
@@ -303,12 +303,13 @@ var config_default = async (config) => {
303
303
  pluginReact(),
304
304
  pluginIcon(),
305
305
  pluginAsset(),
306
- pluginStyle({ isolationIssuerLayer: isContentLayer }),
306
+ pluginStyle(),
307
307
  pluginLocale(),
308
308
  pluginMeta(),
309
309
  pluginContent(),
310
310
  pluginBackground(),
311
311
  pluginOptions(),
312
+ pluginOverride(),
312
313
  pluginPopup(),
313
314
  pluginPublic(),
314
315
  pluginSidebar(),
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/resolvers/config.ts"],"sourcesContent":["import {existsSync} from \"fs\";\nimport dotenv, {type DotenvParseOutput} from \"dotenv\";\nimport {loadConfig} from \"c12\";\nimport _ from \"lodash\";\n\nimport {\n pluginAsset,\n pluginBackground,\n pluginBundler,\n pluginContent,\n pluginDotenv,\n pluginHtml,\n pluginIcon,\n pluginLocale,\n pluginMeta,\n pluginOffscreen,\n pluginManifest,\n pluginOptimization,\n pluginOptions,\n pluginOutput,\n pluginPage,\n pluginPopup,\n pluginPublic,\n pluginReact,\n pluginSandbox,\n pluginSidebar,\n pluginStyle,\n pluginTypescript,\n pluginVersion,\n pluginView,\n} from \"../plugins\";\n\nimport {fromRootPath, getAppPath, getAppSourcePath, getConfigFile} from \"../resolvers/path\";\nimport {isContentLayer} from \"@cli/bundler/layers\";\n\nimport type {Config, OptionalConfig, ReadonlyConfig, UserConfig} from \"@typing/config\";\nimport {Command, Mode, Workspace} from \"@typing/app\";\nimport {Browser} from \"@typing/browser\";\nimport {Plugin} from \"@typing/plugin\";\nimport {ManifestVersion} from \"@typing/manifest\";\nimport {Language, LanguageCodes} from \"@typing/locale\";\nimport {DefaultIconGroupName} from \"@typing/icon\";\n\nconst resolveLanguage = (lang?: `${Language}` | Language): Language => {\n if (!lang) {\n return Language.English;\n }\n\n if (LanguageCodes.has(lang)) {\n return lang as Language;\n }\n\n throw new Error(`Invalid language \"${lang}\" provided by config`);\n};\n\nconst resolveWorkspace = (workspace?: Workspace | `${Workspace}`): Workspace => {\n if (!workspace) {\n return Workspace.Single;\n }\n\n if (Object.values(Workspace).includes(workspace as Workspace)) {\n return workspace as Workspace;\n }\n\n throw new Error(`Invalid workspace \"${workspace}\" provided by config`);\n};\n\nconst resolveSharedDir = (workspace: Workspace, sharedDir: string): string => {\n return workspace === Workspace.Multi ? sharedDir : \".\";\n};\n\nconst getUserConfig = async (config: ReadonlyConfig): Promise<UserConfig> => {\n const configFilePath = getConfigFile(config);\n\n if (existsSync(configFilePath)) {\n const {config: userConfig} = await loadConfig<UserConfig>({\n configFile: configFilePath,\n dotenv: true,\n });\n\n if (config.debug) {\n console.log(\"Loaded user config:\", configFilePath);\n }\n\n return userConfig || {};\n } else if (config.debug) {\n console.warn(\"Config file not found:\", configFilePath);\n }\n\n return {};\n};\n\nconst validateConfig = (config: ReadonlyConfig): ReadonlyConfig => {\n const {\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n htmlDir,\n publicDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n } = config;\n\n if (\n [\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n htmlDir,\n publicDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n ]\n .filter(dir => _.isString(dir))\n .some(dir => dir.includes(\"..\"))\n ) {\n throw new Error('Directory paths cannot contain relative paths (\"..\") for security reasons.');\n }\n\n if (appsDir === sharedDir) {\n throw new Error(\"Apps directory (appsDir) and shared directory (sharedDir) cannot be the same.\");\n }\n\n if (srcDir === outDir) {\n throw new Error(\"Source directory (srcDir) and destination directory (outputDir) cannot be the same.\");\n }\n\n if (srcDir === \".\") {\n throw new Error('Source directory cannot be the root directory (\".\") for security reasons.');\n }\n\n if (publicDir === \".\" || [srcDir, outDir, appSrcDir].includes(publicDir)) {\n throw new Error(\n 'Public directory cannot be the root directory (\".\") or intersect with other root directories for security reasons.'\n );\n }\n\n return config;\n};\n\nconst updateLocalDotenv = (config: ReadonlyConfig): DotenvParseOutput => {\n const {mode, app, browser, manifestVersion} = config;\n\n const localVars: DotenvParseOutput = {\n APP: app,\n BROWSER: browser,\n MODE: mode,\n MANIFEST_VERSION: String(manifestVersion),\n };\n\n Object.assign(process.env, localVars);\n\n return localVars;\n};\n\nconst loadDotenv = (config: ReadonlyConfig): DotenvParseOutput => {\n const {mode, browser, debug} = config;\n\n const preset = [\n `.env.${mode}.${browser}.local`,\n `.env.${mode}.${browser}`,\n `.env.${browser}.local`,\n `.env.${browser}`,\n `.env.${mode}.local`,\n `.env.${mode}`,\n `.env.local`,\n `.env`,\n ];\n\n const appSourcePaths = preset.map(file => getAppSourcePath(config, file));\n const appPaths = preset.map(file => getAppPath(config, file));\n const rootPaths = preset.map(file => fromRootPath(config, file));\n\n const paths = [...appSourcePaths, ...appPaths, ...rootPaths];\n\n const {parsed: fileVars = {}} = dotenv.config({path: paths, quiet: !debug});\n\n return {...fileVars, ...updateLocalDotenv(config)};\n};\n\nexport default async (config: OptionalConfig): Promise<Config> => {\n let {\n command = Command.Build,\n debug = false,\n configFile = \"adnbn.config.ts\",\n browser = Browser.Chrome,\n app = \"myapp\",\n name = app,\n description,\n shortName,\n version = \"VERSION\",\n minimumVersion = \"MINIMUM_VERSION\",\n author = undefined,\n homepage = \"HOMEPAGE\",\n icon = DefaultIconGroupName,\n lang = Language.English,\n incognito,\n specific,\n workspace = Workspace.Single,\n rootDir = \".\",\n outDir = \"dist\",\n srcDir = \"src\",\n sharedDir = \"shared\",\n appsDir = \"apps\",\n appSrcDir = \".\",\n localeDir = \"locales\",\n iconSrcDir = \"icons\",\n iconOutDir = \"icons\",\n jsDir = \"js\",\n cssDir = \"css\",\n assetsDir = \"assets\",\n publicDir = \"public\",\n htmlDir = \".\",\n html = [],\n bundler = {},\n env = {},\n manifest,\n manifestVersion = (new Set<Browser>([Browser.Safari]).has(browser) ? 2 : 3) as ManifestVersion,\n mode = Mode.Development,\n analyze = false,\n plugins = [],\n mergeBackground = false,\n mergeCommands = false,\n mergeContentScripts = false,\n concatContentScripts = true,\n mergeStyles = true,\n mergeIcons = false,\n mergeLocales = true,\n mergePages = false,\n mergePopup = false,\n mergePublic = false,\n multiplePopup = false,\n mergeSidebar = false,\n multipleSidebar = false,\n mergeRelay = false,\n mergeService = false,\n mergeOffscreen = false,\n mergeSandbox = false,\n commonChunks = true,\n artifactName = \"[name]-[browser]-[mv]\",\n assetsFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:4][ext]\"\n : \"[name]-[contenthash:4][ext]\",\n jsFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:5].js\"\n : \"[name].js\",\n cssFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:5].css\"\n : \"[name].css\",\n cssIdentName = mode === Mode.Production && command === Command.Build && !debug\n ? \"[app]-[hash:base64:5]\"\n : \"[local]-[hash:base64:5]\",\n } = config;\n\n let resolvedConfig: Config = {\n command,\n debug,\n mode,\n browser,\n app,\n name,\n description,\n shortName,\n version,\n minimumVersion,\n author,\n homepage,\n lang: resolveLanguage(lang),\n icon,\n incognito,\n specific,\n manifest,\n manifestVersion,\n workspace: resolveWorkspace(workspace),\n rootDir,\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n publicDir,\n htmlDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n html,\n bundler,\n env,\n plugins,\n analyze,\n configFile,\n mergeBackground,\n mergeCommands,\n mergeContentScripts,\n concatContentScripts,\n mergeStyles,\n mergeIcons,\n mergeLocales,\n mergePages,\n mergePopup,\n mergePublic,\n multiplePopup,\n mergeSidebar,\n multipleSidebar,\n mergeRelay,\n mergeService,\n mergeOffscreen,\n mergeSandbox,\n commonChunks,\n artifactName,\n assetsFilename,\n jsFilename,\n cssFilename,\n cssIdentName,\n };\n\n let vars = loadDotenv(resolvedConfig);\n\n const {\n plugins: userPlugins = [],\n lang: userLang,\n workspace: userWorkspace,\n ...userConfig\n } = await getUserConfig(resolvedConfig);\n\n resolvedConfig = {\n ...resolvedConfig,\n ...userConfig,\n lang: resolveLanguage(userLang ?? resolvedConfig.lang),\n workspace: resolveWorkspace(userWorkspace ?? resolvedConfig.workspace),\n };\n\n resolvedConfig.sharedDir = resolveSharedDir(resolvedConfig.workspace, resolvedConfig.sharedDir);\n\n resolvedConfig = validateConfig(resolvedConfig);\n\n vars = {...vars, ...loadDotenv(resolvedConfig)};\n\n /**\n * IMPORTANT: the order of plugins matters. Early plugins prepare the environment and artifacts for the following ones\n * (e.g., environment variables/output/transpilation/assets → page/version generation → bundling).\n * Reordering may result in missing artifacts, incorrect configuration, or build failures.\n */\n const corePlugins: Plugin[] = [\n pluginDotenv(vars),\n pluginOutput(),\n pluginOptimization(),\n pluginTypescript(),\n pluginReact(),\n pluginIcon(),\n pluginAsset(),\n pluginStyle({isolationIssuerLayer: isContentLayer}),\n pluginLocale(),\n pluginMeta(),\n pluginContent(),\n pluginBackground(),\n pluginOptions(),\n pluginPopup(),\n pluginPublic(),\n pluginSidebar(),\n pluginOffscreen(),\n pluginSandbox(),\n pluginPage(),\n pluginView(),\n pluginHtml(),\n pluginVersion(),\n pluginBundler(),\n pluginManifest(),\n ];\n\n return {\n ...resolvedConfig,\n plugins: [...plugins, ...userPlugins, ...corePlugins],\n };\n};\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/cli/resolvers/config.ts"],"sourcesContent":["import {existsSync} from \"fs\";\nimport dotenv, {type DotenvParseOutput} from \"dotenv\";\nimport {loadConfig} from \"c12\";\nimport _ from \"lodash\";\n\nimport {\n pluginAsset,\n pluginBackground,\n pluginBundler,\n pluginContent,\n pluginDotenv,\n pluginHtml,\n pluginIcon,\n pluginLocale,\n pluginMeta,\n pluginOffscreen,\n pluginManifest,\n pluginOptimization,\n pluginOptions,\n pluginOutput,\n pluginOverride,\n pluginPage,\n pluginPopup,\n pluginPublic,\n pluginReact,\n pluginSandbox,\n pluginSidebar,\n pluginStyle,\n pluginTypescript,\n pluginVersion,\n pluginView,\n} from \"../plugins\";\n\nimport {fromRootPath, getAppPath, getAppSourcePath, getConfigFile} from \"../resolvers/path\";\n\nimport type {Config, OptionalConfig, ReadonlyConfig, UserConfig} from \"@typing/config\";\nimport {Command, Mode, Workspace} from \"@typing/app\";\nimport {Browser} from \"@typing/browser\";\nimport {Plugin} from \"@typing/plugin\";\nimport {ManifestVersion} from \"@typing/manifest\";\nimport {Language, LanguageCodes} from \"@typing/locale\";\nimport {DefaultIconGroupName} from \"@typing/icon\";\n\nconst resolveLanguage = (lang?: `${Language}` | Language): Language => {\n if (!lang) {\n return Language.English;\n }\n\n if (LanguageCodes.has(lang)) {\n return lang as Language;\n }\n\n throw new Error(`Invalid language \"${lang}\" provided by config`);\n};\n\nconst resolveWorkspace = (workspace?: Workspace | `${Workspace}`): Workspace => {\n if (!workspace) {\n return Workspace.Single;\n }\n\n if (Object.values(Workspace).includes(workspace as Workspace)) {\n return workspace as Workspace;\n }\n\n throw new Error(`Invalid workspace \"${workspace}\" provided by config`);\n};\n\nconst resolveSharedDir = (workspace: Workspace, sharedDir: string): string => {\n return workspace === Workspace.Multi ? sharedDir : \".\";\n};\n\nconst getUserConfig = async (config: ReadonlyConfig): Promise<UserConfig> => {\n const configFilePath = getConfigFile(config);\n\n if (existsSync(configFilePath)) {\n const {config: userConfig} = await loadConfig<UserConfig>({\n configFile: configFilePath,\n dotenv: true,\n });\n\n if (config.debug) {\n console.log(\"Loaded user config:\", configFilePath);\n }\n\n return userConfig || {};\n } else if (config.debug) {\n console.warn(\"Config file not found:\", configFilePath);\n }\n\n return {};\n};\n\nconst validateConfig = (config: ReadonlyConfig): ReadonlyConfig => {\n const {\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n htmlDir,\n publicDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n } = config;\n\n if (\n [\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n htmlDir,\n publicDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n ]\n .filter(dir => _.isString(dir))\n .some(dir => dir.includes(\"..\"))\n ) {\n throw new Error('Directory paths cannot contain relative paths (\"..\") for security reasons.');\n }\n\n if (appsDir === sharedDir) {\n throw new Error(\"Apps directory (appsDir) and shared directory (sharedDir) cannot be the same.\");\n }\n\n if (srcDir === outDir) {\n throw new Error(\"Source directory (srcDir) and destination directory (outputDir) cannot be the same.\");\n }\n\n if (srcDir === \".\") {\n throw new Error('Source directory cannot be the root directory (\".\") for security reasons.');\n }\n\n if (publicDir === \".\" || [srcDir, outDir, appSrcDir].includes(publicDir)) {\n throw new Error(\n 'Public directory cannot be the root directory (\".\") or intersect with other root directories for security reasons.'\n );\n }\n\n return config;\n};\n\nconst updateLocalDotenv = (config: ReadonlyConfig): DotenvParseOutput => {\n const {mode, app, browser, manifestVersion} = config;\n\n const localVars: DotenvParseOutput = {\n APP: app,\n BROWSER: browser,\n MODE: mode,\n MANIFEST_VERSION: String(manifestVersion),\n };\n\n Object.assign(process.env, localVars);\n\n return localVars;\n};\n\nconst loadDotenv = (config: ReadonlyConfig): DotenvParseOutput => {\n const {mode, browser, debug} = config;\n\n const preset = [\n `.env.${mode}.${browser}.local`,\n `.env.${mode}.${browser}`,\n `.env.${browser}.local`,\n `.env.${browser}`,\n `.env.${mode}.local`,\n `.env.${mode}`,\n `.env.local`,\n `.env`,\n ];\n\n const appSourcePaths = preset.map(file => getAppSourcePath(config, file));\n const appPaths = preset.map(file => getAppPath(config, file));\n const rootPaths = preset.map(file => fromRootPath(config, file));\n\n const paths = [...appSourcePaths, ...appPaths, ...rootPaths];\n\n const {parsed: fileVars = {}} = dotenv.config({path: paths, quiet: !debug});\n\n return {...fileVars, ...updateLocalDotenv(config)};\n};\n\nexport default async (config: OptionalConfig): Promise<Config> => {\n let {\n command = Command.Build,\n debug = false,\n configFile = \"adnbn.config.ts\",\n browser = Browser.Chrome,\n app = \"myapp\",\n name = app,\n description,\n shortName,\n version = \"VERSION\",\n minimumVersion = \"MINIMUM_VERSION\",\n author = undefined,\n homepage = \"HOMEPAGE\",\n icon = DefaultIconGroupName,\n lang = Language.English,\n incognito,\n specific,\n workspace = Workspace.Single,\n rootDir = \".\",\n outDir = \"dist\",\n srcDir = \"src\",\n sharedDir = \"shared\",\n appsDir = \"apps\",\n appSrcDir = \".\",\n localeDir = \"locales\",\n iconSrcDir = \"icons\",\n iconOutDir = \"icons\",\n jsDir = \"js\",\n cssDir = \"css\",\n assetsDir = \"assets\",\n publicDir = \"public\",\n htmlDir = \".\",\n html = [],\n bundler = {},\n env = {},\n manifest,\n manifestVersion = (new Set<Browser>([Browser.Safari]).has(browser) ? 2 : 3) as ManifestVersion,\n mode = Mode.Development,\n analyze = false,\n plugins = [],\n mergeBackground = false,\n mergeCommands = false,\n mergeContentScripts = false,\n concatContentScripts = true,\n mergeStyles = true,\n mergeIcons = false,\n mergeLocales = true,\n mergePages = false,\n mergePopup = false,\n mergePublic = false,\n multiplePopup = false,\n mergeSidebar = false,\n multipleSidebar = false,\n mergeRelay = false,\n mergeService = false,\n mergeOffscreen = false,\n mergeSandbox = false,\n commonChunks = true,\n artifactName = \"[name]-[browser]-[mv]\",\n assetsFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:4][ext]\"\n : \"[name]-[contenthash:4][ext]\",\n jsFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:5].js\"\n : \"[name].js\",\n cssFilename = mode === Mode.Production && command === Command.Build && !debug\n ? \"[contenthash:5].css\"\n : \"[name].css\",\n cssIdentName = mode === Mode.Production && command === Command.Build && !debug\n ? \"[app]-[hash:base64:5]\"\n : \"[local]-[hash:base64:5]\",\n } = config;\n\n let resolvedConfig: Config = {\n command,\n debug,\n mode,\n browser,\n app,\n name,\n description,\n shortName,\n version,\n minimumVersion,\n author,\n homepage,\n lang: resolveLanguage(lang),\n icon,\n incognito,\n specific,\n manifest,\n manifestVersion,\n workspace: resolveWorkspace(workspace),\n rootDir,\n outDir,\n srcDir,\n sharedDir,\n appsDir,\n appSrcDir,\n jsDir,\n cssDir,\n assetsDir,\n publicDir,\n htmlDir,\n localeDir,\n iconSrcDir,\n iconOutDir,\n html,\n bundler,\n env,\n plugins,\n analyze,\n configFile,\n mergeBackground,\n mergeCommands,\n mergeContentScripts,\n concatContentScripts,\n mergeStyles,\n mergeIcons,\n mergeLocales,\n mergePages,\n mergePopup,\n mergePublic,\n multiplePopup,\n mergeSidebar,\n multipleSidebar,\n mergeRelay,\n mergeService,\n mergeOffscreen,\n mergeSandbox,\n commonChunks,\n artifactName,\n assetsFilename,\n jsFilename,\n cssFilename,\n cssIdentName,\n };\n\n let vars = loadDotenv(resolvedConfig);\n\n const {\n plugins: userPlugins = [],\n lang: userLang,\n workspace: userWorkspace,\n ...userConfig\n } = await getUserConfig(resolvedConfig);\n\n resolvedConfig = {\n ...resolvedConfig,\n ...userConfig,\n lang: resolveLanguage(userLang ?? resolvedConfig.lang),\n workspace: resolveWorkspace(userWorkspace ?? resolvedConfig.workspace),\n };\n\n resolvedConfig.sharedDir = resolveSharedDir(resolvedConfig.workspace, resolvedConfig.sharedDir);\n\n resolvedConfig = validateConfig(resolvedConfig);\n\n vars = {...vars, ...loadDotenv(resolvedConfig)};\n\n /**\n * IMPORTANT: the order of plugins matters. Early plugins prepare the environment and artifacts for the following ones\n * (e.g., environment variables/output/transpilation/assets → page/version generation → bundling).\n * Reordering may result in missing artifacts, incorrect configuration, or build failures.\n */\n const corePlugins: Plugin[] = [\n pluginDotenv(vars),\n pluginOutput(),\n pluginOptimization(),\n pluginTypescript(),\n pluginReact(),\n pluginIcon(),\n pluginAsset(),\n pluginStyle(),\n pluginLocale(),\n pluginMeta(),\n pluginContent(),\n pluginBackground(),\n pluginOptions(),\n pluginOverride(),\n pluginPopup(),\n pluginPublic(),\n pluginSidebar(),\n pluginOffscreen(),\n pluginSandbox(),\n pluginPage(),\n pluginView(),\n pluginHtml(),\n pluginVersion(),\n pluginBundler(),\n pluginManifest(),\n ];\n\n return {\n ...resolvedConfig,\n plugins: [...plugins, ...userPlugins, ...corePlugins],\n };\n};\n"],"mappings":"AAAA,SAAQ,kBAAiB;AACzB,OAAO,YAAsC;AAC7C,SAAQ,kBAAiB;AACzB,OAAO,OAAO;AAEd;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAEP,SAAQ,cAAc,YAAY,kBAAkB,qBAAoB;AAGxE,SAAQ,SAAS,MAAM,iBAAgB;AACvC,SAAQ,eAAc;AAGtB,SAAQ,UAAU,qBAAoB;AACtC,SAAQ,4BAA2B;AAEnC,MAAM,kBAAkB,CAAC,SAA8C;AACnE,MAAI,CAAC,MAAM;AACP,WAAO,SAAS;AAAA,EACpB;AAEA,MAAI,cAAc,IAAI,IAAI,GAAG;AACzB,WAAO;AAAA,EACX;AAEA,QAAM,IAAI,MAAM,qBAAqB,IAAI,sBAAsB;AACnE;AAEA,MAAM,mBAAmB,CAAC,cAAsD;AAC5E,MAAI,CAAC,WAAW;AACZ,WAAO,UAAU;AAAA,EACrB;AAEA,MAAI,OAAO,OAAO,SAAS,EAAE,SAAS,SAAsB,GAAG;AAC3D,WAAO;AAAA,EACX;AAEA,QAAM,IAAI,MAAM,sBAAsB,SAAS,sBAAsB;AACzE;AAEA,MAAM,mBAAmB,CAAC,WAAsB,cAA8B;AAC1E,SAAO,cAAc,UAAU,QAAQ,YAAY;AACvD;AAEA,MAAM,gBAAgB,OAAO,WAAgD;AACzE,QAAM,iBAAiB,cAAc,MAAM;AAE3C,MAAI,WAAW,cAAc,GAAG;AAC5B,UAAM,EAAC,QAAQ,WAAU,IAAI,MAAM,WAAuB;AAAA,MACtD,YAAY;AAAA,MACZ,QAAQ;AAAA,IACZ,CAAC;AAED,QAAI,OAAO,OAAO;AACd,cAAQ,IAAI,uBAAuB,cAAc;AAAA,IACrD;AAEA,WAAO,cAAc,CAAC;AAAA,EAC1B,WAAW,OAAO,OAAO;AACrB,YAAQ,KAAK,0BAA0B,cAAc;AAAA,EACzD;AAEA,SAAO,CAAC;AACZ;AAEA,MAAM,iBAAiB,CAAC,WAA2C;AAC/D,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,IAAI;AAEJ,MACI;AAAA,IACI;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,EACK,OAAO,SAAO,EAAE,SAAS,GAAG,CAAC,EAC7B,KAAK,SAAO,IAAI,SAAS,IAAI,CAAC,GACrC;AACE,UAAM,IAAI,MAAM,4EAA4E;AAAA,EAChG;AAEA,MAAI,YAAY,WAAW;AACvB,UAAM,IAAI,MAAM,+EAA+E;AAAA,EACnG;AAEA,MAAI,WAAW,QAAQ;AACnB,UAAM,IAAI,MAAM,qFAAqF;AAAA,EACzG;AAEA,MAAI,WAAW,KAAK;AAChB,UAAM,IAAI,MAAM,2EAA2E;AAAA,EAC/F;AAEA,MAAI,cAAc,OAAO,CAAC,QAAQ,QAAQ,SAAS,EAAE,SAAS,SAAS,GAAG;AACtE,UAAM,IAAI;AAAA,MACN;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;AAEA,MAAM,oBAAoB,CAAC,WAA8C;AACrE,QAAM,EAAC,MAAM,KAAK,SAAS,gBAAe,IAAI;AAE9C,QAAM,YAA+B;AAAA,IACjC,KAAK;AAAA,IACL,SAAS;AAAA,IACT,MAAM;AAAA,IACN,kBAAkB,OAAO,eAAe;AAAA,EAC5C;AAEA,SAAO,OAAO,QAAQ,KAAK,SAAS;AAEpC,SAAO;AACX;AAEA,MAAM,aAAa,CAAC,WAA8C;AAC9D,QAAM,EAAC,MAAM,SAAS,MAAK,IAAI;AAE/B,QAAM,SAAS;AAAA,IACX,QAAQ,IAAI,IAAI,OAAO;AAAA,IACvB,QAAQ,IAAI,IAAI,OAAO;AAAA,IACvB,QAAQ,OAAO;AAAA,IACf,QAAQ,OAAO;AAAA,IACf,QAAQ,IAAI;AAAA,IACZ,QAAQ,IAAI;AAAA,IACZ;AAAA,IACA;AAAA,EACJ;AAEA,QAAM,iBAAiB,OAAO,IAAI,UAAQ,iBAAiB,QAAQ,IAAI,CAAC;AACxE,QAAM,WAAW,OAAO,IAAI,UAAQ,WAAW,QAAQ,IAAI,CAAC;AAC5D,QAAM,YAAY,OAAO,IAAI,UAAQ,aAAa,QAAQ,IAAI,CAAC;AAE/D,QAAM,QAAQ,CAAC,GAAG,gBAAgB,GAAG,UAAU,GAAG,SAAS;AAE3D,QAAM,EAAC,QAAQ,WAAW,CAAC,EAAC,IAAI,OAAO,OAAO,EAAC,MAAM,OAAO,OAAO,CAAC,MAAK,CAAC;AAE1E,SAAO,EAAC,GAAG,UAAU,GAAG,kBAAkB,MAAM,EAAC;AACrD;AAEA,IAAO,iBAAQ,OAAO,WAA4C;AAC9D,MAAI;AAAA,IACA,UAAU,QAAQ;AAAA,IAClB,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,UAAU,QAAQ;AAAA,IAClB,MAAM;AAAA,IACN,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,WAAW;AAAA,IACX,OAAO;AAAA,IACP,OAAO,SAAS;AAAA,IAChB;AAAA,IACA;AAAA,IACA,YAAY,UAAU;AAAA,IACtB,UAAU;AAAA,IACV,SAAS;AAAA,IACT,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO,CAAC;AAAA,IACR,UAAU,CAAC;AAAA,IACX,MAAM,CAAC;AAAA,IACP;AAAA,IACA,mBAAmB,oBAAI,IAAa,CAAC,QAAQ,MAAM,CAAC,GAAE,IAAI,OAAO,IAAI,IAAI;AAAA,IACzE,OAAO,KAAK;AAAA,IACZ,UAAU;AAAA,IACV,UAAU,CAAC;AAAA,IACX,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,IAChB,sBAAsB;AAAA,IACtB,uBAAuB;AAAA,IACvB,cAAc;AAAA,IACd,aAAa;AAAA,IACb,eAAe;AAAA,IACf,aAAa;AAAA,IACb,aAAa;AAAA,IACb,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,eAAe;AAAA,IACf,kBAAkB;AAAA,IAClB,aAAa;AAAA,IACb,eAAe;AAAA,IACf,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf,eAAe;AAAA,IACf,eAAe;AAAA,IACf,iBAAiB,SAAS,KAAK,cAAc,YAAY,QAAQ,SAAS,CAAC,QACrE,yBACA;AAAA,IACN,aAAa,SAAS,KAAK,cAAc,YAAY,QAAQ,SAAS,CAAC,QACjE,uBACA;AAAA,IACN,cAAc,SAAS,KAAK,cAAc,YAAY,QAAQ,SAAS,CAAC,QAClE,wBACA;AAAA,IACN,eAAe,SAAS,KAAK,cAAc,YAAY,QAAQ,SAAS,CAAC,QACnE,0BACA;AAAA,EACV,IAAI;AAEJ,MAAI,iBAAyB;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM,gBAAgB,IAAI;AAAA,IAC1B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,iBAAiB,SAAS;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAEA,MAAI,OAAO,WAAW,cAAc;AAEpC,QAAM;AAAA,IACF,SAAS,cAAc,CAAC;AAAA,IACxB,MAAM;AAAA,IACN,WAAW;AAAA,IACX,GAAG;AAAA,EACP,IAAI,MAAM,cAAc,cAAc;AAEtC,mBAAiB;AAAA,IACb,GAAG;AAAA,IACH,GAAG;AAAA,IACH,MAAM,gBAAgB,YAAY,eAAe,IAAI;AAAA,IACrD,WAAW,iBAAiB,iBAAiB,eAAe,SAAS;AAAA,EACzE;AAEA,iBAAe,YAAY,iBAAiB,eAAe,WAAW,eAAe,SAAS;AAE9F,mBAAiB,eAAe,cAAc;AAE9C,SAAO,EAAC,GAAG,MAAM,GAAG,WAAW,cAAc,EAAC;AAO9C,QAAM,cAAwB;AAAA,IAC1B,aAAa,IAAI;AAAA,IACjB,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,IACjB,YAAY;AAAA,IACZ,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,WAAW;AAAA,IACX,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,cAAc;AAAA,IACd,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,WAAW;AAAA,IACX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,cAAc;AAAA,IACd,cAAc;AAAA,IACd,eAAe;AAAA,EACnB;AAEA,SAAO;AAAA,IACH,GAAG;AAAA,IACH,SAAS,CAAC,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW;AAAA,EACxD;AACJ;","names":[]}
@@ -1,17 +1,14 @@
1
1
  // raw-loader:/home/runner/work/addon-bone/addon-bone/src/cli/virtual/background.ts?raw
2
- var background_default = 'import type {BackgroundDefinition} from "adnbn";\nimport background, {isValidBackgroundDefinition, isValidBackgroundMainHandler} from "adnbn/entry/background";\n\nimport * as module from "virtual:background-entrypoint";\n\ntry {\n const {default: defaultDefinition, ...otherDefinition} = module;\n\n let definition: BackgroundDefinition = otherDefinition;\n\n if (isValidBackgroundDefinition(defaultDefinition)) {\n definition = {...definition, ...defaultDefinition};\n } else if (isValidBackgroundMainHandler(defaultDefinition)) {\n definition = {...definition, main: defaultDefinition};\n }\n\n const {main, ...options} = definition;\n\n background({main, ...options});\n} catch (e) {\n console.error("The background crashed on startup:", e);\n}\n';
2
+ var background_default = 'import background, {resolveDefinition} from "adnbn/entry/background";\n\nimport * as module from "virtual:background-entrypoint";\n\ntry {\n background(resolveDefinition(module));\n} catch (e) {\n console.error("The background crashed on startup:", e);\n}\n';
3
3
 
4
4
  // raw-loader:/home/runner/work/addon-bone/addon-bone/src/cli/virtual/command.ts?raw
5
- var command_default = 'import type {CommandUnresolvedDefinition} from "adnbn";\nimport command, {isValidCommandDefinition, isValidCommandExecuteFunction} from "adnbn/entry/command";\n\nimport * as module from "virtual:command-entrypoint";\n\ntry {\n const commandName = "virtual:command-name";\n\n const {default: defaultDefinition, ...otherDefinition} = module;\n\n let definition: CommandUnresolvedDefinition = otherDefinition;\n\n if (isValidCommandDefinition(defaultDefinition)) {\n definition = {...definition, ...defaultDefinition};\n } else if (isValidCommandExecuteFunction(defaultDefinition)) {\n definition = {...definition, execute: defaultDefinition};\n }\n\n const {execute, name = commandName, ...options} = definition;\n\n command({\n name,\n execute,\n ...options,\n });\n} catch (e) {\n console.error("The command crashed on startup:", e);\n}\n';
5
+ var command_default = 'import command, {resolveDefinition} from "adnbn/entry/command";\n\nimport * as module from "virtual:command-entrypoint";\n\ntry {\n command(resolveDefinition(module, "virtual:command-name"));\n} catch (e) {\n console.error("The command crashed on startup:", e);\n}\n';
6
6
 
7
7
  // raw-loader:/home/runner/work/addon-bone/addon-bone/src/cli/virtual/content.ts?raw
8
8
  var content_default = 'import contentScript, {resolveDefinition} from "virtual:content-builder";\n\nimport * as module from "virtual:content-entrypoint";\n\ntry {\n contentScript(resolveDefinition(module));\n} catch (e) {\n console.error("The content script crashed on startup:", e);\n}\n';
9
9
 
10
- // raw-loader:/home/runner/work/addon-bone/addon-bone/src/cli/virtual/transport.ts?raw
11
- var transport_default = 'import type {TransportOptions, TransportType, TransportUnresolvedDefinition} from "adnbn/transport";\nimport {isValidTransportDefinition, isValidTransportInitFunction} from "adnbn/entry/transport";\n\n//@ts-ignore\nimport transport from "adnbn/entry/:entry";\n\nimport * as module from "virtual:transport-entrypoint";\n\ntry {\n const transportName = "virtual:transport-name";\n\n const {default: defaultDefinition, ...otherDefinition} = module;\n\n let definition: TransportUnresolvedDefinition<TransportOptions, TransportType> = otherDefinition;\n\n if (isValidTransportDefinition(defaultDefinition)) {\n definition = {...definition, ...defaultDefinition};\n } else if (isValidTransportInitFunction(defaultDefinition)) {\n definition = {...definition, init: defaultDefinition};\n }\n\n const {init, name, ...options} = definition;\n\n transport({name: transportName, init, ...options});\n} catch (e) {\n console.error("The :entry crashed on startup:", e);\n}\n';
12
-
13
10
  // raw-loader:/home/runner/work/addon-bone/addon-bone/src/cli/virtual/offscreen.ts?raw
14
- var offscreen_default = 'import type {OffscreenUnresolvedDefinition} from "adnbn";\nimport type {TransportType} from "adnbn/transport";\nimport {isValidTransportDefinition, isValidTransportInitFunction} from "adnbn/entry/transport";\nimport {Builder as OffscreenBuilder} from "adnbn/entry/offscreen";\n\nimport {Builder as ViewBuilder} from "virtual:view-framework";\n\nimport * as module from "virtual:offscreen-entrypoint";\n\ntry {\n const offscreenName = "virtual:offscreen-name";\n\n const {default: defaultDefinition, ...otherDefinition} = module;\n\n let definition: OffscreenUnresolvedDefinition<TransportType> = otherDefinition;\n\n if (isValidTransportDefinition(defaultDefinition)) {\n definition = {...definition, ...defaultDefinition};\n } else if (isValidTransportInitFunction(defaultDefinition)) {\n definition = {...definition, init: defaultDefinition};\n }\n\n const {init, main, name, ...options} = definition;\n\n new OffscreenBuilder({\n name: offscreenName,\n init,\n main,\n ...options,\n })\n .view(new ViewBuilder(options))\n .build()\n .catch(e => {\n console.error("Failed to build offscreen: ", e);\n });\n} catch (e) {\n console.error("The offscreen crashed on startup:", e);\n}\n';
11
+ var offscreen_default = 'import offscreen, {resolveDefinition} from "adnbn/entry/offscreen";\n\nimport {Builder as ViewBuilder} from "virtual:view-builder";\n\nimport * as module from "virtual:offscreen-entrypoint";\n\ntry {\n offscreen(resolveDefinition(module, "virtual:offscreen-name"), ViewBuilder);\n} catch (e) {\n console.error("The offscreen crashed on startup:", e);\n}\n';
15
12
 
16
13
  // raw-loader:/home/runner/work/addon-bone/addon-bone/src/cli/virtual/offscreen.background.ts?raw
17
14
  var offscreen_background_default = 'import {OffscreenBackground} from "adnbn/offscreen";\n\ntry {\n new OffscreenBackground().build();\n} catch (e) {\n console.error("Failed to build offscreen layer on background:", e);\n}\n';
@@ -20,10 +17,13 @@ var offscreen_background_default = 'import {OffscreenBackground} from "adnbn/off
20
17
  var relay_default = 'import relay, {resolveDefinition} from "adnbn/entry/relay";\n\nimport {Builder as ContentBuilder} from "virtual:content-builder";\n\nimport * as module from "virtual:relay-entrypoint";\n\ntry {\n relay(resolveDefinition(module, "virtual:relay-name"), ContentBuilder);\n} catch (error) {\n console.error("The relay crashed on startup:", error);\n}\n';
21
18
 
22
19
  // raw-loader:/home/runner/work/addon-bone/addon-bone/src/cli/virtual/sandbox.ts?raw
23
- var sandbox_default = 'import type {SandboxUnresolvedDefinition} from "adnbn";\nimport type {TransportType} from "adnbn/transport";\nimport {isValidTransportDefinition, isValidTransportInitFunction} from "adnbn/entry/transport";\nimport {Builder as SandboxBuilder} from "adnbn/entry/sandbox";\n\nimport {Builder as ViewBuilder} from "virtual:view-framework";\n\nimport * as module from "virtual:sandbox-entrypoint";\n\ntry {\n const sandboxName = "virtual:sandbox-name";\n\n const {default: defaultDefinition, ...otherDefinition} = module;\n\n let definition: SandboxUnresolvedDefinition<TransportType> = otherDefinition;\n\n if (isValidTransportDefinition(defaultDefinition)) {\n definition = {...definition, ...defaultDefinition};\n } else if (isValidTransportInitFunction(defaultDefinition)) {\n definition = {...definition, init: defaultDefinition};\n }\n\n const {init, main, name, ...options} = definition;\n\n new SandboxBuilder({\n name: sandboxName,\n init,\n main,\n ...options,\n })\n .view(new ViewBuilder(options))\n .build()\n .catch(e => {\n console.error("Failed to build sandbox: ", e);\n });\n} catch (e) {\n console.error("The sandbox crashed on startup:", e);\n}\n';
20
+ var sandbox_default = 'import sandbox, {resolveDefinition} from "adnbn/entry/sandbox";\n\nimport {Builder as ViewBuilder} from "virtual:view-builder";\n\nimport * as module from "virtual:sandbox-entrypoint";\n\ntry {\n sandbox(resolveDefinition(module, "virtual:sandbox-name"), ViewBuilder);\n} catch (e) {\n console.error("The sandbox crashed on startup:", e);\n}\n';
21
+
22
+ // raw-loader:/home/runner/work/addon-bone/addon-bone/src/cli/virtual/service.ts?raw
23
+ var service_default = 'import service, {resolveDefinition} from "adnbn/entry/service";\n\nimport * as module from "virtual:service-entrypoint";\n\ntry {\n service(resolveDefinition(module, "virtual:service-name"));\n} catch (e) {\n console.error("The service crashed on startup:", e);\n}\n';
24
24
 
25
25
  // raw-loader:/home/runner/work/addon-bone/addon-bone/src/cli/virtual/view.ts?raw
26
- var view_default = 'import type {ViewDefinition, ViewOptions} from "adnbn";\nimport {isViewDefinition, isValidViewDefinitionRenderValue} from "adnbn/entry/view";\n\nimport view from "virtual:view-framework";\n\nimport * as module from "virtual:view-entrypoint";\n\ntry {\n const {default: defaultDefinition, ...otherDefinition} = module;\n\n let definition: ViewDefinition<ViewOptions> = otherDefinition;\n\n if (isViewDefinition(defaultDefinition)) {\n definition = {...definition, ...defaultDefinition};\n } else if (isValidViewDefinitionRenderValue(defaultDefinition)) {\n definition = {...definition, render: defaultDefinition};\n }\n\n view(definition);\n} catch (e) {\n console.error("The view crashed on startup:", e);\n}\n';
26
+ var view_default = 'import view, {resolveDefinition} from "virtual:view-builder";\n\nimport * as module from "virtual:view-entrypoint";\n\ntry {\n view(resolveDefinition(module));\n} catch (e) {\n console.error("The view crashed on startup:", e);\n}\n';
27
27
 
28
28
  // src/cli/virtual/index.ts
29
29
  import { inferEntrypointFramework } from "../entrypoint/index.js";
@@ -32,15 +32,12 @@ import { inferEntrypointFramework } from "../entrypoint/index.js";
32
32
  var PackageName = "adnbn";
33
33
 
34
34
  // src/cli/virtual/index.ts
35
- var templates = { background: background_default, command: command_default, content: content_default, offscreen: offscreen_default, relay: relay_default, sandbox: sandbox_default, view: view_default, transport: transport_default };
35
+ var templates = { background: background_default, command: command_default, content: content_default, offscreen: offscreen_default, relay: relay_default, sandbox: sandbox_default, service: service_default, view: view_default };
36
36
  var getEntryFramework = (file, entry) => {
37
37
  return `${PackageName}/entry/${entry}/${inferEntrypointFramework(file)}`;
38
38
  };
39
39
  var getVirtualModule = (file, template) => {
40
- return templates[template].replaceAll("//@ts-ignore", "").replace(`virtual:${template}-entrypoint`, file.import);
41
- };
42
- var getTransportModule = (file, name, layer) => {
43
- return getVirtualModule(file, "transport").replace("virtual:transport-name", name).replaceAll(":entry", layer);
40
+ return templates[template].replace(`virtual:${template}-entrypoint`, file.import);
44
41
  };
45
42
  var virtualBackgroundModule = (file) => {
46
43
  return getVirtualModule(file, "background");
@@ -52,7 +49,7 @@ var virtualContentScriptModule = (file, navigation = false) => {
52
49
  return getVirtualModule(file, "content").replace(`virtual:content-builder`, navigation ? `${PackageName}/entry/content` : getEntryFramework(file, "content"));
53
50
  };
54
51
  var virtualOffscreenModule = (file, name) => {
55
- return getVirtualModule(file, "offscreen").replace("virtual:offscreen-name", name).replace(`virtual:view-framework`, getEntryFramework(file, "view"));
52
+ return getVirtualModule(file, "offscreen").replace("virtual:offscreen-name", name).replace(`virtual:view-builder`, getEntryFramework(file, "view"));
56
53
  };
57
54
  var virtualOffscreenBackgroundModule = () => {
58
55
  return offscreen_background_default;
@@ -64,13 +61,13 @@ var virtualRelayModule = (file, name, navigation = false) => {
64
61
  );
65
62
  };
66
63
  var virtualSandboxModule = (file, name) => {
67
- return getVirtualModule(file, "sandbox").replace("virtual:sandbox-name", name).replace(`virtual:view-framework`, getEntryFramework(file, "view"));
64
+ return getVirtualModule(file, "sandbox").replace("virtual:sandbox-name", name).replace(`virtual:view-builder`, getEntryFramework(file, "view"));
68
65
  };
69
66
  var virtualServiceModule = (file, name) => {
70
- return getTransportModule(file, name, "service");
67
+ return getVirtualModule(file, "service").replace("virtual:service-name", name);
71
68
  };
72
69
  var virtualViewModule = (file) => {
73
- return getVirtualModule(file, "view").replace(`virtual:view-framework`, getEntryFramework(file, "view"));
70
+ return getVirtualModule(file, "view").replace(`virtual:view-builder`, getEntryFramework(file, "view"));
74
71
  };
75
72
  export {
76
73
  virtualBackgroundModule,