@ozdao/martyrs 0.2.526 → 0.2.527

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 (691) hide show
  1. package/dist/_virtual/dayjs.min.cjs +1 -1
  2. package/dist/_virtual/dayjs.min.js +1 -1
  3. package/dist/_virtual/index.cjs +4 -4
  4. package/dist/_virtual/index.js +4 -4
  5. package/dist/_virtual/index2.cjs +4 -4
  6. package/dist/_virtual/index2.js +4 -4
  7. package/dist/_virtual/weekOfYear.cjs +1 -1
  8. package/dist/_virtual/weekOfYear.js +1 -1
  9. package/dist/builder.cjs +618 -972
  10. package/dist/builder.js +619 -973
  11. package/dist/main-BNqX4N59.cjs +11 -0
  12. package/dist/{main-Bk4xq-K0.js → main-DFvn9trs.js} +1293 -1287
  13. package/dist/martyrs/src/components/Address/Address.vue.cjs +1 -1
  14. package/dist/martyrs/src/components/Address/Address.vue.js +1 -1
  15. package/dist/martyrs/src/components/Chips/{Chips.vue.cjs → Chips.vue2.cjs} +2 -2
  16. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -0
  17. package/dist/martyrs/src/components/Chips/{Chips.vue.js → Chips.vue2.js} +2 -2
  18. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -0
  19. package/dist/martyrs/src/components/EditImages/EditImages.vue2.cjs +1 -1
  20. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js +1 -1
  21. package/dist/martyrs/src/components/Feed/{Feed.vue.cjs → Feed.vue2.cjs} +2 -2
  22. package/dist/martyrs/src/components/Feed/Feed.vue2.cjs.map +1 -0
  23. package/dist/martyrs/src/components/Feed/{Feed.vue.js → Feed.vue2.js} +2 -2
  24. package/dist/martyrs/src/components/Feed/{Feed.vue.cjs.map → Feed.vue2.js.map} +1 -1
  25. package/dist/martyrs/src/components/Field/{Field.vue.cjs → Field.vue2.cjs} +2 -2
  26. package/dist/martyrs/src/components/Field/Field.vue2.cjs.map +1 -0
  27. package/dist/martyrs/src/components/Field/{Field.vue.js → Field.vue2.js} +2 -2
  28. package/dist/martyrs/src/components/Field/{Field.vue.cjs.map → Field.vue2.js.map} +1 -1
  29. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +1 -1
  30. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +1 -1
  31. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.cjs → BlockTags.vue2.cjs} +2 -2
  32. package/dist/martyrs/src/components/FieldTags/BlockTags.vue2.cjs.map +1 -0
  33. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.js → BlockTags.vue2.js} +2 -2
  34. package/dist/martyrs/src/components/FieldTags/{BlockTags.vue.cjs.map → BlockTags.vue2.js.map} +1 -1
  35. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.cjs +1 -1
  36. package/dist/martyrs/src/components/FieldTags/FieldTags.vue.js +1 -1
  37. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.cjs +1 -1
  38. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue.js +1 -1
  39. package/dist/martyrs/src/components/Map/Map.vue.cjs +1 -1
  40. package/dist/martyrs/src/components/Map/Map.vue.js +1 -1
  41. package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
  42. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
  43. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  44. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  45. package/dist/martyrs/src/components/Select/{Select.vue2.cjs → Select.vue.cjs} +2 -2
  46. package/dist/martyrs/src/components/Select/{Select.vue2.js.map → Select.vue.cjs.map} +1 -1
  47. package/dist/martyrs/src/components/Select/{Select.vue2.js → Select.vue.js} +2 -2
  48. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -0
  49. package/dist/martyrs/src/components/Tree/Tree.vue.cjs +1 -1
  50. package/dist/martyrs/src/components/Tree/Tree.vue.js +1 -1
  51. package/dist/martyrs/src/modules/auth/auth.client.cjs +32 -30
  52. package/dist/martyrs/src/modules/auth/auth.client.cjs.map +1 -1
  53. package/dist/martyrs/src/modules/auth/auth.client.js +30 -28
  54. package/dist/martyrs/src/modules/auth/auth.client.js.map +1 -1
  55. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.cjs +1 -1
  56. package/dist/martyrs/src/modules/auth/views/components/pages/EnterCode.vue.js +1 -1
  57. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  59. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  60. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  61. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +2 -2
  62. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +2 -2
  63. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
  64. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
  65. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -2
  66. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs.map +1 -1
  67. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -2
  68. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js.map +1 -1
  69. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -2
  70. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs.map +1 -1
  71. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -2
  72. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
  73. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  75. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  77. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  78. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  79. package/dist/martyrs/src/modules/auth/views/middlewares/ownership.validation.cjs +0 -1
  80. package/dist/martyrs/src/modules/auth/views/middlewares/ownership.validation.cjs.map +1 -1
  81. package/dist/martyrs/src/modules/auth/views/middlewares/ownership.validation.js +0 -1
  82. package/dist/martyrs/src/modules/auth/views/middlewares/ownership.validation.js.map +1 -1
  83. package/dist/martyrs/src/modules/auth/views/store/auth.cjs +2 -0
  84. package/dist/martyrs/src/modules/auth/views/store/auth.cjs.map +1 -1
  85. package/dist/martyrs/src/modules/auth/views/store/auth.js +2 -0
  86. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  87. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -2
  88. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.cjs.map +1 -1
  89. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +1 -2
  90. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  91. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs +0 -2
  92. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.cjs.map +1 -1
  93. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +0 -2
  94. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js.map +1 -1
  95. package/dist/martyrs/src/modules/chats/store/chat.store.js +1 -1
  96. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  97. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  98. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +2 -2
  99. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +2 -2
  100. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.cjs +1 -1
  101. package/dist/martyrs/src/modules/community/components/pages/Blog.vue.js +1 -1
  102. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +2 -4
  103. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs.map +1 -1
  104. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +2 -4
  105. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
  106. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +4 -4
  107. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +4 -4
  108. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.cjs +1 -1
  109. package/dist/martyrs/src/modules/community/components/pages/Posts.vue.js +1 -1
  110. package/dist/martyrs/src/modules/community/router/blogposts.cjs +4 -2
  111. package/dist/martyrs/src/modules/community/router/blogposts.cjs.map +1 -1
  112. package/dist/martyrs/src/modules/community/router/blogposts.js +4 -2
  113. package/dist/martyrs/src/modules/community/router/blogposts.js.map +1 -1
  114. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.cjs +1 -1
  115. package/dist/martyrs/src/modules/constructor/components/elements/Card.vue.js +1 -1
  116. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.cjs +1 -1
  117. package/dist/martyrs/src/modules/constructor/components/elements/Embed.vue.js +1 -1
  118. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -2
  119. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs.map +1 -1
  120. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -2
  121. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js.map +1 -1
  122. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  123. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  124. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +0 -1
  125. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs.map +1 -1
  126. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +0 -1
  127. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js.map +1 -1
  128. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +4 -5
  129. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs.map +1 -1
  130. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +4 -5
  131. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js.map +1 -1
  132. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -3
  133. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs.map +1 -1
  134. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -3
  135. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  136. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +4 -5
  137. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs.map +1 -1
  138. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +4 -5
  139. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  140. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
  141. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
  142. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
  143. package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
  144. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.cjs +1 -1
  145. package/dist/martyrs/src/modules/events/components/pages/EventsSearch.vue.js +1 -1
  146. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs +0 -1
  147. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.cjs.map +1 -1
  148. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js +0 -1
  149. package/dist/martyrs/src/modules/events/components/sections/FeaturedEvents.vue.js.map +1 -1
  150. package/dist/martyrs/src/modules/events/router/events.cjs +7 -7
  151. package/dist/martyrs/src/modules/events/router/events.cjs.map +1 -1
  152. package/dist/martyrs/src/modules/events/router/events.js +7 -7
  153. package/dist/martyrs/src/modules/events/router/events.js.map +1 -1
  154. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  155. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
  156. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +5 -6
  157. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs.map +1 -1
  158. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +5 -6
  159. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  160. package/dist/martyrs/src/modules/gallery/router/gallery.router.cjs +1 -1
  161. package/dist/martyrs/src/modules/gallery/router/gallery.router.cjs.map +1 -1
  162. package/dist/martyrs/src/modules/gallery/router/gallery.router.js +1 -1
  163. package/dist/martyrs/src/modules/gallery/router/gallery.router.js.map +1 -1
  164. package/dist/martyrs/src/modules/globals/globals.client.cjs +21 -38
  165. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  166. package/dist/martyrs/src/modules/globals/globals.client.js +26 -43
  167. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  168. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +1 -1
  169. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +1 -1
  170. package/dist/martyrs/src/modules/globals/views/classes/module-registry.cjs +156 -0
  171. package/dist/martyrs/src/modules/globals/views/classes/module-registry.cjs.map +1 -0
  172. package/dist/martyrs/src/modules/globals/views/classes/module-registry.js +156 -0
  173. package/dist/martyrs/src/modules/globals/views/classes/module-registry.js.map +1 -0
  174. package/dist/martyrs/src/modules/globals/views/classes/store.cjs +24 -7
  175. package/dist/martyrs/src/modules/globals/views/classes/store.cjs.map +1 -1
  176. package/dist/martyrs/src/modules/globals/views/classes/store.js +24 -7
  177. package/dist/martyrs/src/modules/globals/views/classes/store.js.map +1 -1
  178. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.cjs +1 -1
  179. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockMultiselect.vue.js +1 -1
  180. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.cjs +1 -1
  181. package/dist/martyrs/src/modules/globals/views/components/blocks/BlockSearch.vue.js +1 -1
  182. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +0 -2
  183. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
  184. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +0 -2
  185. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
  186. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs +2 -3
  187. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.cjs.map +1 -1
  188. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js +2 -3
  189. package/dist/martyrs/src/modules/globals/views/components/layouts/App.vue.js.map +1 -1
  190. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +5 -8
  191. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  192. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +5 -8
  193. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  194. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +2 -2
  195. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  196. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  197. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.cjs +1 -1
  198. package/dist/martyrs/src/modules/globals/views/components/sections/Filters.vue2.js +1 -1
  199. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs +44 -45
  200. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.cjs.map +1 -1
  201. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js +44 -45
  202. package/dist/martyrs/src/modules/globals/views/components/sections/Walkthrough.vue.js.map +1 -1
  203. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.cjs +4 -2
  204. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.cjs.map +1 -1
  205. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.js +5 -3
  206. package/dist/martyrs/src/modules/globals/views/plugins/alert.plugin.js.map +1 -1
  207. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.cjs +4 -2
  208. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.cjs.map +1 -1
  209. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.js +5 -3
  210. package/dist/martyrs/src/modules/globals/views/plugins/date-picker.plugin.js.map +1 -1
  211. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs +4 -2
  212. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs.map +1 -1
  213. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js +5 -3
  214. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js.map +1 -1
  215. package/dist/martyrs/src/modules/globals/views/store/globals.cjs +15 -8
  216. package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
  217. package/dist/martyrs/src/modules/globals/views/store/globals.js +15 -8
  218. package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
  219. package/dist/martyrs/src/modules/globals/views/utils/polyfills.cjs +26 -0
  220. package/dist/martyrs/src/modules/globals/views/utils/polyfills.cjs.map +1 -0
  221. package/dist/martyrs/src/modules/globals/views/utils/polyfills.js +26 -0
  222. package/dist/martyrs/src/modules/globals/views/utils/polyfills.js.map +1 -0
  223. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +28 -12
  224. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs.map +1 -1
  225. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +28 -12
  226. package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js.map +1 -1
  227. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs +2 -2
  228. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.cjs.map +1 -1
  229. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +2 -2
  230. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/icons/entities/IconTime.vue.cjs +2 -2
  232. package/dist/martyrs/src/modules/icons/entities/IconTime.vue.js +2 -2
  233. package/dist/martyrs/src/modules/icons/icons.client.cjs.map +1 -1
  234. package/dist/martyrs/src/modules/icons/icons.client.js.map +1 -1
  235. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +2 -2
  236. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  237. package/dist/martyrs/src/modules/icons/router/icons.router.cjs +0 -1
  238. package/dist/martyrs/src/modules/icons/router/icons.router.cjs.map +1 -1
  239. package/dist/martyrs/src/modules/icons/router/icons.router.js +0 -1
  240. package/dist/martyrs/src/modules/icons/router/icons.router.js.map +1 -1
  241. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +2 -2
  242. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
  243. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +2 -2
  244. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +2 -2
  245. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +3 -4
  246. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs.map +1 -1
  247. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +2 -3
  248. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  249. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
  250. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
  251. package/dist/martyrs/src/modules/inventory/inventory.client.cjs.map +1 -1
  252. package/dist/martyrs/src/modules/inventory/inventory.client.js.map +1 -1
  253. package/dist/martyrs/src/modules/inventory/router/inventory.router.cjs +2 -2
  254. package/dist/martyrs/src/modules/inventory/router/inventory.router.cjs.map +1 -1
  255. package/dist/martyrs/src/modules/inventory/router/inventory.router.js +2 -2
  256. package/dist/martyrs/src/modules/inventory/router/inventory.router.js.map +1 -1
  257. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs +5 -3
  258. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.cjs.map +1 -1
  259. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +5 -3
  260. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  261. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs +44 -30
  262. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.cjs.map +1 -1
  263. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +44 -30
  264. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  265. package/dist/martyrs/src/modules/marketplace/marketplace.client.cjs +2 -2
  266. package/dist/martyrs/src/modules/marketplace/marketplace.client.cjs.map +1 -1
  267. package/dist/martyrs/src/modules/marketplace/marketplace.client.js +2 -2
  268. package/dist/martyrs/src/modules/marketplace/marketplace.client.js.map +1 -1
  269. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +1 -1
  270. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +1 -1
  271. package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.cjs +1 -1
  272. package/dist/martyrs/src/modules/marketplace/views/components/pages/Catalog.vue.js +1 -1
  273. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
  274. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  275. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +2 -2
  276. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +2 -2
  277. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
  278. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
  279. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
  280. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  281. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +1 -1
  282. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +3 -3
  283. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.cjs +1 -1
  284. package/dist/martyrs/src/modules/music/components/pages/MusicHome.vue.js +1 -1
  285. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
  286. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  287. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +1 -2
  288. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs.map +1 -1
  289. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +3 -4
  290. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  291. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +1 -1
  292. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +3 -3
  293. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +0 -1
  294. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs.map +1 -1
  295. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +0 -1
  296. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js.map +1 -1
  297. package/dist/martyrs/src/modules/music/router/music.cjs +5 -22
  298. package/dist/martyrs/src/modules/music/router/music.cjs.map +1 -1
  299. package/dist/martyrs/src/modules/music/router/music.js +5 -22
  300. package/dist/martyrs/src/modules/music/router/music.js.map +1 -1
  301. package/dist/martyrs/src/modules/notifications/notifications.client.cjs +2 -2
  302. package/dist/martyrs/src/modules/notifications/notifications.client.js +2 -2
  303. package/dist/martyrs/src/modules/notifications/store/notifications.store.js +1 -1
  304. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +2 -2
  305. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.cjs.map +1 -1
  306. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  307. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs +0 -1
  308. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.cjs.map +1 -1
  309. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +0 -1
  310. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  311. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
  312. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  313. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +2 -2
  314. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +2 -2
  315. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +1 -1
  316. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +1 -1
  317. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.cjs +1 -1
  318. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +1 -1
  319. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.cjs +1 -1
  320. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +1 -1
  321. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -2
  322. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs.map +1 -1
  323. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +3 -4
  324. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  325. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -3
  326. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs.map +1 -1
  327. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -3
  328. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  329. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
  330. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
  331. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +3 -4
  332. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs.map +1 -1
  333. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +3 -4
  334. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js.map +1 -1
  335. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  336. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  337. package/dist/martyrs/src/modules/orders/router/orders.router.cjs +20 -9
  338. package/dist/martyrs/src/modules/orders/router/orders.router.cjs.map +1 -1
  339. package/dist/martyrs/src/modules/orders/router/orders.router.js +20 -9
  340. package/dist/martyrs/src/modules/orders/router/orders.router.js.map +1 -1
  341. package/dist/martyrs/src/modules/orders/store/shopcart.js +1 -1
  342. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs +36 -3
  343. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.cjs.map +1 -1
  344. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +36 -3
  345. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js.map +1 -1
  346. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  347. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +3 -3
  348. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +0 -1
  349. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs.map +1 -1
  350. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +0 -1
  351. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js.map +1 -1
  352. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.cjs +1 -1
  353. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +1 -1
  354. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.cjs +2 -2
  355. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +2 -2
  356. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.cjs +1 -1
  357. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  358. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs +36 -3
  359. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.cjs.map +1 -1
  360. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +36 -3
  361. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  362. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +45 -14
  363. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs.map +1 -1
  364. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +45 -14
  365. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  366. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +34 -11
  367. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  368. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +35 -12
  369. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  370. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -2
  371. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs.map +1 -1
  372. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -2
  373. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js.map +1 -1
  374. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +3 -4
  375. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs.map +1 -1
  376. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +3 -4
  377. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
  378. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
  379. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
  380. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  381. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  382. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +3 -3
  383. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +3 -3
  384. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -3
  385. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs.map +1 -1
  386. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -3
  387. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js.map +1 -1
  388. package/dist/martyrs/src/modules/organizations/organizations.client.cjs +1 -28
  389. package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
  390. package/dist/martyrs/src/modules/organizations/organizations.client.js +43 -70
  391. package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
  392. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -3
  393. package/dist/martyrs/src/modules/organizations/router/organizations.cjs.map +1 -1
  394. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -3
  395. package/dist/martyrs/src/modules/organizations/router/organizations.js.map +1 -1
  396. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  397. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  398. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  399. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  400. package/dist/martyrs/src/modules/pages/views/router/pages.backoffice.router.cjs +1 -1
  401. package/dist/martyrs/src/modules/pages/views/router/pages.backoffice.router.cjs.map +1 -1
  402. package/dist/martyrs/src/modules/pages/views/router/pages.backoffice.router.js +1 -1
  403. package/dist/martyrs/src/modules/pages/views/router/pages.backoffice.router.js.map +1 -1
  404. package/dist/martyrs/src/modules/pages/views/router/pages.router.cjs +1 -1
  405. package/dist/martyrs/src/modules/pages/views/router/pages.router.cjs.map +1 -1
  406. package/dist/martyrs/src/modules/pages/views/router/pages.router.js +1 -1
  407. package/dist/martyrs/src/modules/pages/views/router/pages.router.js.map +1 -1
  408. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +1 -1
  409. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +1 -1
  410. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +3 -2
  411. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
  412. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +3 -2
  413. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  414. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.cjs → THC.vue2.cjs} +2 -2
  415. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.cjs.map +1 -0
  416. package/dist/martyrs/src/modules/products/components/elements/{THC.vue.js → THC.vue2.js} +2 -2
  417. package/dist/martyrs/src/modules/products/components/elements/THC.vue2.js.map +1 -0
  418. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  419. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  420. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +4 -4
  421. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -4
  422. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +0 -2
  423. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  424. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +0 -2
  425. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  426. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
  427. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  428. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +2 -3
  429. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  430. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +2 -3
  431. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  432. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  433. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  434. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  435. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  436. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -2
  437. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs.map +1 -1
  438. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -2
  439. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js.map +1 -1
  440. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +1 -2
  441. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs.map +1 -1
  442. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -2
  443. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -1
  444. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +3 -3
  445. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +3 -3
  446. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs +0 -1
  447. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.cjs.map +1 -1
  448. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js +0 -1
  449. package/dist/martyrs/src/modules/products/components/sections/HeroRecommendation.vue.js.map +1 -1
  450. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  451. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  452. package/dist/martyrs/src/modules/products/router/products.router.cjs +15 -6
  453. package/dist/martyrs/src/modules/products/router/products.router.cjs.map +1 -1
  454. package/dist/martyrs/src/modules/products/router/products.router.js +15 -6
  455. package/dist/martyrs/src/modules/products/router/products.router.js.map +1 -1
  456. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
  457. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
  458. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +2 -3
  459. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs.map +1 -1
  460. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +2 -3
  461. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
  462. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  463. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  464. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  465. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  466. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +2 -2
  467. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +2 -2
  468. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  469. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  470. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  471. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  472. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  473. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  474. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.cjs +1 -1
  475. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +1 -1
  476. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  477. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  478. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.cjs +1 -1
  479. package/dist/martyrs/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +1 -1
  480. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +2 -2
  481. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +2 -2
  482. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.cjs +1 -1
  483. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js +1 -1
  484. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -6
  485. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs.map +1 -1
  486. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -6
  487. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js.map +1 -1
  488. package/dist/martyrs.cjs.js +1 -1
  489. package/dist/martyrs.css +1 -1
  490. package/dist/martyrs.es.js +1 -1
  491. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/definitions.cjs.map +1 -1
  492. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/definitions.js.map +1 -1
  493. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.cjs +1 -1
  494. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.cjs.map +1 -1
  495. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.js +1 -1
  496. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/index.js.map +1 -1
  497. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/web.cjs +1 -1
  498. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/web.cjs.map +1 -1
  499. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/web.js +1 -1
  500. package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/web.js.map +1 -1
  501. package/dist/node_modules/.pnpm/{@capacitor_core@7.2.0 → @capacitor_core@7.4.3}/node_modules/@capacitor/core/dist/index.cjs +2 -1
  502. package/dist/node_modules/.pnpm/@capacitor_core@7.4.3/node_modules/@capacitor/core/dist/index.cjs.map +1 -0
  503. package/dist/node_modules/.pnpm/{@capacitor_core@7.2.0 → @capacitor_core@7.4.3}/node_modules/@capacitor/core/dist/index.js +2 -1
  504. package/dist/node_modules/.pnpm/@capacitor_core@7.4.3/node_modules/@capacitor/core/dist/index.js.map +1 -0
  505. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/index.cjs +1 -1
  506. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/index.cjs.map +1 -1
  507. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/index.js +1 -1
  508. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/index.js.map +1 -1
  509. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/web.cjs +1 -1
  510. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/web.cjs.map +1 -1
  511. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/web.js +1 -1
  512. package/dist/node_modules/.pnpm/{@capacitor_device@7.0.1_@capacitor_core@7.2.0 → @capacitor_device@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/device/dist/esm/web.js.map +1 -1
  513. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/definitions.cjs.map +1 -1
  514. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/definitions.js.map +1 -1
  515. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/index.cjs +1 -1
  516. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/index.cjs.map +1 -1
  517. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/index.js +1 -1
  518. package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/index.js.map +1 -1
  519. package/dist/node_modules/.pnpm/{@capacitor_push-notifications@7.0.1_@capacitor_core@7.2.0 → @capacitor_push-notifications@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/push-notifications/dist/esm/index.cjs +1 -1
  520. package/dist/node_modules/.pnpm/{@capacitor_push-notifications@7.0.1_@capacitor_core@7.2.0 → @capacitor_push-notifications@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/push-notifications/dist/esm/index.cjs.map +1 -1
  521. package/dist/node_modules/.pnpm/{@capacitor_push-notifications@7.0.1_@capacitor_core@7.2.0 → @capacitor_push-notifications@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/push-notifications/dist/esm/index.js +1 -1
  522. package/dist/node_modules/.pnpm/{@capacitor_push-notifications@7.0.1_@capacitor_core@7.2.0 → @capacitor_push-notifications@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/push-notifications/dist/esm/index.js.map +1 -1
  523. package/dist/node_modules/.pnpm/{@googlemaps_js-api-loader@1.16.8 → @googlemaps_js-api-loader@1.16.10}/node_modules/@googlemaps/js-api-loader/dist/index.cjs +34 -26
  524. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.10/node_modules/@googlemaps/js-api-loader/dist/index.cjs.map +1 -0
  525. package/dist/node_modules/.pnpm/{@googlemaps_js-api-loader@1.16.8 → @googlemaps_js-api-loader@1.16.10}/node_modules/@googlemaps/js-api-loader/dist/index.js +34 -26
  526. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.10/node_modules/@googlemaps/js-api-loader/dist/index.js.map +1 -0
  527. package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.cjs.map +1 -1
  528. package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.js.map +1 -1
  529. package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.cjs.map +1 -1
  530. package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.js.map +1 -1
  531. package/dist/node_modules/.pnpm/{@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → @vue_server-renderer@3.5.21_vue@3.5.21_typescript@5.9.2_}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs +18 -13
  532. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.21_vue@3.5.21_typescript@5.9.2_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +1 -0
  533. package/dist/node_modules/.pnpm/{@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_ → @vue_server-renderer@3.5.21_vue@3.5.21_typescript@5.9.2_}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +19 -14
  534. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.21_vue@3.5.21_typescript@5.9.2_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
  535. package/dist/node_modules/.pnpm/{@vue_shared@3.5.13 → @vue_shared@3.5.21}/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +19 -2
  536. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -0
  537. package/dist/node_modules/.pnpm/{@vue_shared@3.5.13 → @vue_shared@3.5.21}/node_modules/@vue/shared/dist/shared.esm-bundler.js +19 -2
  538. package/dist/node_modules/.pnpm/@vue_shared@3.5.21/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
  539. package/dist/node_modules/.pnpm/{@vuepic_vue-datepicker@11.0.2_vue@3.5.13_typescript@5.8.3_ → @vuepic_vue-datepicker@11.0.2_vue@3.5.21_typescript@5.9.2_}/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.cjs.map +1 -1
  540. package/dist/node_modules/.pnpm/{@vuepic_vue-datepicker@11.0.2_vue@3.5.13_typescript@5.8.3_ → @vuepic_vue-datepicker@11.0.2_vue@3.5.21_typescript@5.9.2_}/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js +1 -1
  541. package/dist/node_modules/.pnpm/{@vuepic_vue-datepicker@11.0.2_vue@3.5.13_typescript@5.8.3_ → @vuepic_vue-datepicker@11.0.2_vue@3.5.21_typescript@5.9.2_}/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js.map +1 -1
  542. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.cjs +1 -1
  543. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.cjs.map +1 -1
  544. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.js +1 -1
  545. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/index.js.map +1 -1
  546. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.cjs +1 -1
  547. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.cjs.map +1 -1
  548. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.js +1 -1
  549. package/dist/node_modules/.pnpm/{capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.2.0 → capacitor-plugin-app-tracking-transparency@2.0.5_@capacitor_core@7.4.3}/node_modules/capacitor-plugin-app-tracking-transparency/dist/esm/web.js.map +1 -1
  550. package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/dayjs.min.cjs.map +1 -1
  551. package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/dayjs.min.js.map +1 -1
  552. package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/plugin/weekOfYear.cjs.map +1 -1
  553. package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/plugin/weekOfYear.js.map +1 -1
  554. package/dist/node_modules/.pnpm/{embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_ → embla-carousel-vue@8.6.0_vue@3.5.21_typescript@5.9.2_}/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs.map +1 -1
  555. package/dist/node_modules/.pnpm/{embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_ → embla-carousel-vue@8.6.0_vue@3.5.21_typescript@5.9.2_}/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.js.map +1 -1
  556. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.cjs.map +1 -0
  557. package/dist/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js.map +1 -0
  558. package/dist/node_modules/{lodash.merge → .pnpm/lodash.merge@4.6.2/node_modules/lodash.merge}/index.cjs +2 -2
  559. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.cjs.map +1 -0
  560. package/dist/node_modules/{lodash.merge → .pnpm/lodash.merge@4.6.2/node_modules/lodash.merge}/index.js +2 -2
  561. package/dist/node_modules/.pnpm/lodash.merge@4.6.2/node_modules/lodash.merge/index.js.map +1 -0
  562. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
  563. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  564. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
  565. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  566. package/dist/node_modules/.pnpm/{vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_ → vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_}/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs +304 -267
  567. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs.map +1 -0
  568. package/dist/node_modules/.pnpm/{vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_ → vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_}/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js +305 -268
  569. package/dist/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.6_vue@3.5.21_typescript@5.9.2_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +1 -0
  570. package/dist/rents.server.js +1 -1
  571. package/dist/style.css +110 -111
  572. package/dist/{web-BS-4Xl3x.js → web-cWW0_Tbe.js} +1 -1
  573. package/dist/{web-CjndIDjT.cjs → web-xomD1Wpp.cjs} +1 -1
  574. package/package.json +6 -1
  575. package/src/builder/builder.js +6 -13
  576. package/src/builder/modes/spa.prod.js +19 -14
  577. package/src/builder/modes/spa.rspack.dev.js +14 -23
  578. package/src/builder/modes/ssr.prod.js +33 -21
  579. package/src/builder/modes/ssr.rspack.dev.js +76 -34
  580. package/src/builder/rspack/rspack.config.base.js +12 -7
  581. package/src/builder/rspack/rspack.config.spa.client.js +1 -1
  582. package/src/builder/rspack/rspack.config.ssr.client.js +74 -10
  583. package/src/builder/rspack/rspack.config.ssr.server.js +2 -5
  584. package/src/builder/ssr/asset-resolver.js +148 -0
  585. package/src/builder/ssr/beasties-processor.js +107 -0
  586. package/src/builder/templates/page.js +20 -36
  587. package/src/modules/STYLES.MD +118 -0
  588. package/src/modules/auth/auth.client.js +25 -33
  589. package/src/modules/auth/views/store/auth.js +2 -0
  590. package/src/modules/community/router/blogposts.js +2 -2
  591. package/src/modules/events/router/events.js +7 -7
  592. package/src/modules/gallery/router/gallery.router.js +1 -1
  593. package/src/modules/globals/controllers/classes/abac/v2/abac-fields-fixed.js +9 -6
  594. package/src/modules/globals/globals.client.js +22 -53
  595. package/src/modules/globals/views/classes/module-registry.js +241 -0
  596. package/src/modules/globals/views/classes/store.js +30 -7
  597. package/src/modules/globals/views/components/layouts/Client.vue +6 -6
  598. package/src/modules/globals/views/components/sections/Walkthrough.vue +51 -48
  599. package/src/modules/globals/views/plugins/alert.plugin.js +6 -3
  600. package/src/modules/globals/views/plugins/date-picker.plugin.js +6 -2
  601. package/src/modules/globals/views/plugins/popup.auth.plugin.js +6 -2
  602. package/src/modules/globals/views/plugins/store-debugger/StoreDebugger.vue +5 -2
  603. package/src/modules/globals/views/plugins/store-debugger/store-debugger.plugin.js +6 -2
  604. package/src/modules/globals/views/store/globals.js +17 -10
  605. package/src/modules/globals/views/utils/polyfills.js +28 -0
  606. package/src/modules/globals/views/utils/vue-app-renderer.js +32 -14
  607. package/src/modules/icons/components/IconSearchPopup.vue +4 -4
  608. package/src/modules/icons/icons.client.js +1 -1
  609. package/src/modules/inventory/inventory.client.js +1 -1
  610. package/src/modules/inventory/router/inventory.router.js +2 -2
  611. package/src/modules/landing/components/sections/SectionEarn.vue +2 -2
  612. package/src/modules/landing/components/sections/SectionMobileApp.vue +18 -4
  613. package/src/modules/marketplace/marketplace.client.js +3 -3
  614. package/src/modules/music/router/music.js +3 -2
  615. package/src/modules/orders/components/blocks/CardOrderItem.vue +0 -1
  616. package/src/modules/orders/router/orders.router.js +6 -9
  617. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
  618. package/src/modules/organizations/components/pages/Department.vue +1 -2
  619. package/src/modules/organizations/components/pages/DepartmentEdit.vue +30 -28
  620. package/src/modules/organizations/components/pages/Members.vue +10 -8
  621. package/src/modules/organizations/components/pages/Organization.vue +7 -5
  622. package/src/modules/organizations/organizations.client.js +25 -73
  623. package/src/modules/organizations/policies/organizations.policies.js +1 -1
  624. package/src/modules/pages/views/router/pages.backoffice.router.js +1 -1
  625. package/src/modules/pages/views/router/pages.router.js +1 -1
  626. package/src/modules/products/components/sections/HeroRecommendation.vue +2 -3
  627. package/src/modules/products/router/products.router.js +6 -6
  628. package/src/styles/base/all.scss +154 -267
  629. package/src/styles/base/backgrounds.scss +1 -0
  630. package/src/styles/config.scss +163 -55
  631. package/src/styles/layout.scss +2 -0
  632. package/src/styles/theme.scss +3 -2
  633. package/src/styles/typography.scss +12 -12
  634. package/dist/main-4KvvKtzH.cjs +0 -11
  635. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +0 -1
  636. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +0 -1
  637. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +0 -1
  638. package/dist/martyrs/src/components/Field/Field.vue.js.map +0 -1
  639. package/dist/martyrs/src/components/FieldTags/BlockTags.vue.js.map +0 -1
  640. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
  641. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  642. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +0 -1
  643. package/dist/martyrs/src/modules/globals/views/plugins/store-debugger/StoreDebugger.vue.cjs +0 -2
  644. package/dist/martyrs/src/modules/globals/views/plugins/store-debugger/StoreDebugger.vue.cjs.map +0 -1
  645. package/dist/martyrs/src/modules/globals/views/plugins/store-debugger/StoreDebugger.vue.js +0 -2
  646. package/dist/martyrs/src/modules/globals/views/plugins/store-debugger/StoreDebugger.vue.js.map +0 -1
  647. package/dist/martyrs/src/modules/products/components/elements/THC.vue.cjs.map +0 -1
  648. package/dist/martyrs/src/modules/products/components/elements/THC.vue.js.map +0 -1
  649. package/dist/node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.cjs.map +0 -1
  650. package/dist/node_modules/.pnpm/@capacitor_core@7.2.0/node_modules/@capacitor/core/dist/index.js.map +0 -1
  651. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.cjs.map +0 -1
  652. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.js.map +0 -1
  653. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +0 -1
  654. package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
  655. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +0 -1
  656. package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
  657. package/dist/node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.cjs.map +0 -1
  658. package/dist/node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +0 -1
  659. package/dist/node_modules/fast-deep-equal/index.cjs.map +0 -1
  660. package/dist/node_modules/fast-deep-equal/index.js.map +0 -1
  661. package/dist/node_modules/lodash.merge/index.cjs.map +0 -1
  662. package/dist/node_modules/lodash.merge/index.js.map +0 -1
  663. package/src/builder/modes/spa.dev.js +0 -106
  664. package/src/builder/modes/ssr.dev.js +0 -184
  665. package/src/builder/ssr/ssr-transform-webpack-stats.js +0 -66
  666. package/src/builder/ssr/utils.js +0 -47
  667. package/src/builder/webpack/index.js +0 -13
  668. package/src/builder/webpack/webpack.config.api.js +0 -35
  669. package/src/builder/webpack/webpack.config.base.js +0 -142
  670. package/src/builder/webpack/webpack.config.spa.client.js +0 -68
  671. package/src/builder/webpack/webpack.config.ssr.client.js +0 -93
  672. package/src/builder/webpack/webpack.config.ssr.server.js +0 -59
  673. package/src/modules/core/classes/module-manager.js +0 -88
  674. /package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/definitions.cjs +0 -0
  675. /package/dist/node_modules/.pnpm/{@capacitor-mlkit_barcode-scanning@7.2.1_@capacitor_core@7.2.0 → @capacitor-mlkit_barcode-scanning@7.3.0_@capacitor_core@7.4.3}/node_modules/@capacitor-mlkit/barcode-scanning/dist/esm/definitions.js +0 -0
  676. /package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/definitions.cjs +0 -0
  677. /package/dist/node_modules/.pnpm/{@capacitor_keyboard@7.0.1_@capacitor_core@7.2.0 → @capacitor_keyboard@7.0.2_@capacitor_core@7.4.3}/node_modules/@capacitor/keyboard/dist/esm/definitions.js +0 -0
  678. /package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.cjs +0 -0
  679. /package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.-sixQ7xP.js +0 -0
  680. /package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.cjs +0 -0
  681. /package/dist/node_modules/.pnpm/{@unhead_vue@1.11.20_vue@3.5.13_typescript@5.8.3_ → @unhead_vue@1.11.20_vue@3.5.21_typescript@5.9.2_}/node_modules/@unhead/vue/dist/shared/vue.ziyDaVMR.js +0 -0
  682. /package/dist/node_modules/.pnpm/{@vuepic_vue-datepicker@11.0.2_vue@3.5.13_typescript@5.8.3_ → @vuepic_vue-datepicker@11.0.2_vue@3.5.21_typescript@5.9.2_}/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.cjs +0 -0
  683. /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/dayjs.min.cjs +0 -0
  684. /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/dayjs.min.js +0 -0
  685. /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/plugin/weekOfYear.cjs +0 -0
  686. /package/dist/node_modules/.pnpm/{dayjs@1.11.13 → dayjs@1.11.18}/node_modules/dayjs/plugin/weekOfYear.js +0 -0
  687. /package/dist/node_modules/.pnpm/{embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_ → embla-carousel-vue@8.6.0_vue@3.5.21_typescript@5.9.2_}/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs +0 -0
  688. /package/dist/node_modules/.pnpm/{embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_ → embla-carousel-vue@8.6.0_vue@3.5.21_typescript@5.9.2_}/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.js +0 -0
  689. /package/dist/node_modules/{fast-deep-equal → .pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal}/index.cjs +0 -0
  690. /package/dist/node_modules/{fast-deep-equal → .pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal}/index.js +0 -0
  691. /package/src/modules/core/classes/{event.js → event-bus.js} +0 -0
package/dist/builder.cjs CHANGED
@@ -24,13 +24,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
24
24
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
25
25
  const history = require("connect-history-api-fallback");
26
26
  const path = require("path");
27
- const webpack = require("webpack");
27
+ const chalk = require("chalk");
28
+ const core = require("@rspack/core");
28
29
  const devMiddleware = require("webpack-dev-middleware");
29
30
  const express = require("express");
30
31
  const fs = require("fs");
31
- const chalk = require("chalk");
32
- const core = require("@rspack/core");
33
32
  const Mustache = require("mustache");
33
+ const Beasties = require("beasties");
34
34
  const compression = require("compression");
35
35
  const vite = require("vite");
36
36
  const vueLoader = require("vue-loader");
@@ -45,11 +45,6 @@ const workboxRspackPlugin = require("@aaroon/workbox-rspack-plugin");
45
45
  const purgecssWebpackPlugin = require("purgecss-webpack-plugin");
46
46
  const rspackManifestPlugin = require("rspack-manifest-plugin");
47
47
  const nodeExternals = require("webpack-node-externals");
48
- const MiniCssExtractPlugin = require("mini-css-extract-plugin");
49
- const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
50
- const TerserPlugin = require("terser-webpack-plugin");
51
- const HtmlWebpackPlugin = require("html-webpack-plugin");
52
- const webpackManifestPlugin = require("webpack-manifest-plugin");
53
48
  const vue = require("@vitejs/plugin-vue");
54
49
  const dotenv = require("dotenv");
55
50
  const rollupPluginVisualizer = require("rollup-plugin-visualizer");
@@ -74,32 +69,21 @@ function _interopNamespaceDefault(e) {
74
69
  n.default = e;
75
70
  return Object.freeze(n);
76
71
  }
77
- const history__namespace = /* @__PURE__ */ _interopNamespaceDefault(history);
78
72
  const purgecss__namespace = /* @__PURE__ */ _interopNamespaceDefault(purgecss);
79
- function createSpaDevServer$1(projectRoot, { spaConfig: spaConfig2, apiConfig: apiConfig2 }) {
80
- const spaCompiler = webpack(spaConfig2);
81
- const serverCompiler = webpack(apiConfig2);
73
+ function createSpaDevServer(projectRoot, configs, createServer) {
74
+ const { spa, api } = configs;
75
+ const spaCompiler = core.rspack(spa);
76
+ const serverCompiler = core.rspack(api);
82
77
  const createDevRenderer = () => {
83
- const colors2 = {
84
- reset: "\x1B[0m",
85
- greenBright: "\x1B[92;1m",
86
- // яркий зеленый + жирный
87
- blueBright: "\x1B[94m",
88
- // яркий синий
89
- yellow: "\x1B[33m"
90
- // желтый
91
- };
92
- const progressPlugin = new webpack.ProgressPlugin((percentage, message, ...args) => {
93
- process.stdout.write(
94
- colors2.greenBright + `${(percentage * 100).toFixed(2)}% ` + colors2.reset + colors2.blueBright + message + colors2.reset + " " + args.map((arg) => colors2.yellow + arg + colors2.reset).join(" ")
95
- );
78
+ const progressPlugin = new core.ProgressPlugin((percentage, message, ...args) => {
96
79
  });
97
- spaConfig2.plugins.push(progressPlugin);
80
+ spa.plugins = spa.plugins || [];
81
+ spa.plugins.push(progressPlugin);
98
82
  };
99
83
  let serverInstance;
100
84
  let serverModule;
101
85
  const clientDevMiddleware = devMiddleware(spaCompiler, {
102
- publicPath: spaConfig2.output.publicPath,
86
+ publicPath: spa.output.publicPath,
103
87
  stats: false
104
88
  });
105
89
  const port = process.env.PORT || 8080;
@@ -108,7 +92,6 @@ function createSpaDevServer$1(projectRoot, { spaConfig: spaConfig2, apiConfig: a
108
92
  serverInstance.close();
109
93
  }
110
94
  if (!serverModule) {
111
- console.error("Серверный модуль еще не скомпилирован");
112
95
  return;
113
96
  }
114
97
  let { app, server, env } = await serverModule.createServer();
@@ -128,8 +111,6 @@ function createSpaDevServer$1(projectRoot, { spaConfig: spaConfig2, apiConfig: a
128
111
  serverInstance = server;
129
112
  try {
130
113
  await server.listen(port);
131
- console.log(`Server started at http://localhost:${port}
132
- `);
133
114
  } catch (err) {
134
115
  console.error(err);
135
116
  process.exit(1);
@@ -140,16 +121,15 @@ function createSpaDevServer$1(projectRoot, { spaConfig: spaConfig2, apiConfig: a
140
121
  console.error(err);
141
122
  return;
142
123
  }
143
- console.log(stats.toString(apiConfig2.stats));
144
124
  try {
145
- const { outputPath } = stats.toJson();
146
- const entryName = Object.keys(stats.toJson().entrypoints)[0];
147
- const assetName = stats.toJson().entrypoints[entryName].assets[0].name;
125
+ const statsJson = stats.toJson();
126
+ const { outputPath } = statsJson;
127
+ const entryName = Object.keys(statsJson.entrypoints)[0];
128
+ const assetName = statsJson.entrypoints[entryName].assets[0].name;
148
129
  serverModule = await import(`file://${path.resolve(outputPath, assetName)}?t=${Date.now()}`);
149
130
  if (typeof serverModule.createServer !== "function") {
150
131
  throw new Error("Экспорт createServer не найден");
151
132
  }
152
- console.log("Сервер скомпилирован, перезапуск...");
153
133
  await startServer();
154
134
  } catch (error) {
155
135
  console.error("Ошибка при загрузке серверного модуля:", error);
@@ -158,10 +138,18 @@ function createSpaDevServer$1(projectRoot, { spaConfig: spaConfig2, apiConfig: a
158
138
  createDevRenderer();
159
139
  return startServer;
160
140
  }
161
- function createSpaProdServer(projectRoot, config, createServer) {
141
+ function createSpaProdServer(projectRoot, configs, createServer) {
162
142
  const port = process.env.PORT || 8080;
143
+ let cachedIndexHtml = null;
163
144
  const startServer = async () => {
164
145
  let { app, server } = await createServer.createServer();
146
+ try {
147
+ cachedIndexHtml = fs.readFileSync(path.resolve(projectRoot, "builds/web/spa", "index.html"), "utf-8");
148
+ console.log("Index.html cached in memory");
149
+ } catch (err) {
150
+ console.error("Cannot read index.html:", err);
151
+ process.exit(1);
152
+ }
165
153
  app.use(express.static(path.resolve(projectRoot, "builds/web/spa")));
166
154
  app.use(
167
155
  history({
@@ -169,20 +157,10 @@ function createSpaProdServer(projectRoot, config, createServer) {
169
157
  })
170
158
  );
171
159
  app.get("*", (req, res) => {
172
- fs.readFile(path.resolve(projectRoot, "builds/web/spa", "index.html"), "utf-8", (err, content) => {
173
- if (err) {
174
- console.log('We cannot open "index.html" file.');
175
- res.writeHead(500, {
176
- "Content-Type": "text/plain; charset=utf-8"
177
- });
178
- res.end("Internal Server Error");
179
- return;
180
- }
181
- res.writeHead(200, {
182
- "Content-Type": "text/html; charset=utf-8"
183
- });
184
- res.end(content);
160
+ res.writeHead(200, {
161
+ "Content-Type": "text/html; charset=utf-8"
185
162
  });
163
+ res.end(cachedIndexHtml);
186
164
  });
187
165
  try {
188
166
  await server.listen(port);
@@ -195,130 +173,21 @@ function createSpaProdServer(projectRoot, config, createServer) {
195
173
  };
196
174
  return startServer;
197
175
  }
198
- function createSpaDevServer(projectRoot, { spaConfig: spaConfig2, apiConfig: apiConfig2 }) {
199
- const spaCompiler = core.rspack(spaConfig2);
200
- const serverCompiler = core.rspack(apiConfig2);
201
- const createDevRenderer = () => {
202
- const progressPlugin = new core.ProgressPlugin((percentage, message, ...args) => {
203
- console.log(
204
- chalk.greenBright(`${(percentage * 100).toFixed(2)}% `) + chalk.blueBright(message) + " " + args.map((arg) => chalk.yellow(arg)).join(" ")
205
- );
206
- });
207
- spaConfig2.plugins = spaConfig2.plugins || [];
208
- spaConfig2.plugins.push(progressPlugin);
209
- };
210
- let serverInstance;
211
- let serverModule;
212
- const clientDevMiddleware = devMiddleware(spaCompiler, {
213
- publicPath: spaConfig2.output.publicPath,
214
- stats: false
215
- });
216
- const port = process.env.PORT || 8080;
217
- const startServer = async () => {
218
- if (serverInstance) {
219
- serverInstance.close();
220
- }
221
- if (!serverModule) {
222
- console.error("Серверный модуль еще не скомпилирован");
223
- return;
224
- }
225
- let { app, server, env } = await serverModule.createServer();
226
- app.use(history__namespace());
227
- app.use(clientDevMiddleware);
228
- app.get("*", (req, res, next) => {
229
- const filename = path.join(spaCompiler.outputPath, "index.html");
230
- spaCompiler.outputFileSystem.readFile(filename, (err, result) => {
231
- if (err) {
232
- return next(err);
233
- }
234
- res.set("content-type", "text/html");
235
- res.send(result);
236
- res.end();
237
- });
238
- });
239
- serverInstance = server;
240
- try {
241
- await server.listen(port);
242
- console.log(`Server started at http://localhost:${port}
243
- `);
244
- } catch (err) {
245
- console.error(err);
246
- process.exit(1);
247
- }
248
- };
249
- serverCompiler.watch({}, async (err, stats) => {
250
- if (err) {
251
- console.error(err);
252
- return;
253
- }
254
- console.log(stats.toString(apiConfig2.stats));
255
- try {
256
- const { outputPath } = stats.toJson();
257
- const entryName = Object.keys(stats.toJson().entrypoints)[0];
258
- const assetName = stats.toJson().entrypoints[entryName].assets[0].name;
259
- serverModule = await import(`file://${path.resolve(outputPath, assetName)}?t=${Date.now()}`);
260
- if (typeof serverModule.createServer !== "function") {
261
- throw new Error("Экспорт createServer не найден");
262
- }
263
- console.log("Сервер скомпилирован, перезапуск...");
264
- await startServer();
265
- } catch (error) {
266
- console.error("Ошибка при загрузке серверного модуля:", error);
267
- }
268
- });
269
- createDevRenderer();
270
- return startServer;
271
- }
272
176
  const page = `
273
177
  <html {{{ meta.htmlAttrs }}}>
274
178
  <head {{{ meta.headAttrs }}}>
275
179
  {{{ meta.headTags }}}
276
- <meta charset="UTF-8">
277
-
278
- <!-- Facebook Domain Verification -->
279
- {{#facebookDomainVerification}}
280
- <meta name="facebook-domain-verification" content="{{facebookDomainVerification}}">
281
- {{/facebookDomainVerification}}
282
180
 
181
+ <meta charset="UTF-8">
283
182
  <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png">
284
183
  <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
285
184
  <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
286
- <link rel="manifest" href="/manifest.json">
287
185
  <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5">
288
186
  <meta name="msapplication-TileColor" content="#000000">
289
187
  <meta name="theme-color" content="#ffffff">
290
188
  <meta name="viewport" content="viewport-fit=cover, width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" />
291
- <!-- Facebook Pixel Code -->
292
- {{#facebookPixelId}}
293
- <script>
294
- !function(f,b,e,v,n,t,s)
295
- {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
296
- n.callMethod.apply(n,arguments):n.queue.push(arguments)};
297
- if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
298
- n.queue=[];t=b.createElement(e);t.async=!0;
299
- t.src=v;s=b.getElementsByTagName(e)[0];
300
- s.parentNode.insertBefore(t,s)}(window, document,'script',
301
- 'https://connect.facebook.net/en_US/fbevents.js');
302
- fbq('init', '{{facebookPixelId}}');
303
- fbq('track', 'PageView');
304
- </script>
305
- <noscript><img height="1" width="1" style="display:none"
306
- src="https://www.facebook.com/tr?id={{facebookPixelId}}&ev=PageView&noscript=1"
307
- /></noscript>
308
- {{/facebookPixelId}}
309
189
 
310
190
  {{{ head }}}
311
-
312
- <!-- Google Tag (gtag.js) -->
313
- {{#googleTagId}}
314
- <script async src="https://www.googletagmanager.com/gtag/js?id={{googleTagId}}"></script>
315
- <script>
316
- window.dataLayer = window.dataLayer || [];
317
- function gtag(){dataLayer.push(arguments);}
318
- gtag('js', new Date());
319
- gtag('config', '{{googleTagId}}');
320
- </script>
321
- {{/googleTagId}}
322
191
  </head>
323
192
 
324
193
  <body {{{ meta.bodyAttrs }}}>
@@ -333,6 +202,25 @@ const page = `
333
202
  </script>
334
203
 
335
204
  {{{ meta.body }}} {{{ body }}}
205
+
206
+ <script>
207
+ // Load PWA manifest after initial render
208
+ if ('requestIdleCallback' in window) {
209
+ requestIdleCallback(() => {
210
+ const link = document.createElement('link');
211
+ link.rel = 'manifest';
212
+ link.href = '/manifest.json';
213
+ document.head.appendChild(link);
214
+ });
215
+ } else {
216
+ setTimeout(() => {
217
+ const link = document.createElement('link');
218
+ link.rel = 'manifest';
219
+ link.href = '/manifest.json';
220
+ document.head.appendChild(link);
221
+ }, 0);
222
+ }
223
+ </script>
336
224
  </body>
337
225
  </html>
338
226
  `;
@@ -363,226 +251,194 @@ const createHtmlRenderer$1 = (onTemplateUpdate) => {
363
251
  return Mustache.render(page, data);
364
252
  };
365
253
  };
366
- const normalizeAssets = (assets) => {
367
- if (Array.isArray(assets)) return assets;
368
- if (typeof assets === "object") return Object.values(assets);
369
- return [assets];
370
- };
371
- const transformDevStats = (stats, outputFileSystem) => {
372
- const {
373
- assetsByChunkName: { main },
374
- outputPath,
375
- publicPath
376
- } = stats;
377
- const head = `
378
- <style>
379
- ${normalizeAssets(main).filter((path2) => path2.endsWith(".css")).map((path2) => outputFileSystem.readFileSync(path2.join(outputPath, path2))).join("\n")}
380
- </style>
381
- `;
382
- const body = normalizeAssets(main).filter((path2) => path2.endsWith(".js")).map((path2) => `<script src="${publicPath}${path2}"></script>`).join("\n");
383
- return { head, body };
384
- };
385
- const transformProdStats = ({ stats, publicPath }) => {
386
- const {
387
- assetsByChunkName: { main }
388
- } = stats;
389
- const head = normalizeAssets(main).filter((path2) => path2.endsWith(".css")).map((path2) => `<link rel="stylesheet" href="${publicPath}${path2}">`).join("\n");
390
- const body = normalizeAssets(main).filter((path2) => path2.endsWith(".js")).map((path2) => `<script src="${publicPath}${path2}"></script>`).join("\n");
391
- return { head, body };
392
- };
393
- function createSsrDevServer$1(projectRoot, { clientConfig: clientConfig2, apiConfig: apiConfig2, ssrConfig: ssrConfig2, createServer }) {
394
- const addHmrToClientConfig = (config) => {
395
- return config;
396
- };
397
- const clientConfigWithHmr = addHmrToClientConfig({ ...clientConfig2 });
398
- const clientCompiler = core.rspack(clientConfigWithHmr);
399
- const ssrCompiler = core.rspack(ssrConfig2);
400
- const createDevRenderer = () => {
401
- const createHotReloadingServerRenderer = (config) => {
402
- const progressPlugin = new core.ProgressPlugin((percentage, message, ...args) => {
403
- console.log(
404
- chalk.greenBright(`${(percentage * 100).toFixed(2)}% `) + chalk.blueBright(message) + " " + args.map((arg) => chalk.yellow(arg)).join(" ")
405
- );
406
- });
407
- config.plugins = config.plugins || [];
408
- config.plugins.push(progressPlugin);
409
- let renderApp2 = null;
410
- let setCompilationDone = null;
411
- let ssrCompilation = new Promise((resolve) => {
412
- setCompilationDone = resolve;
413
- });
414
- ssrCompiler.watch({ "info-verbosity": "none" }, async (error, stats) => {
415
- if (error) {
416
- console.error(chalk.red("Server critical error"));
417
- console.error(JSON.stringify(error, null, 2));
418
- throw error;
254
+ function createAssetResolver(statsJson) {
255
+ return {
256
+ collect(usedModules = [], options = {}) {
257
+ const initialFiles = /* @__PURE__ */ new Set();
258
+ const moduleFiles = /* @__PURE__ */ new Set();
259
+ const entrypointName = statsJson?.entrypoints?.app ? "app" : "main";
260
+ if (statsJson?.entrypoints?.[entrypointName]?.assets) {
261
+ for (const asset of statsJson.entrypoints[entrypointName].assets) {
262
+ const filename = typeof asset === "string" ? asset : asset.name;
263
+ if (filename) initialFiles.add(filename);
419
264
  }
420
- const jsonStats = stats.toJson();
421
- if (stats.hasErrors()) {
422
- console.error(chalk.red("Server compilation error"));
423
- jsonStats.errors.forEach((err) => {
424
- if (err.details) {
425
- console.error(err.details);
426
- } else if (typeof err === "object") {
427
- try {
428
- console.error(JSON.stringify(err, null, 2));
429
- } catch (e) {
430
- console.error(e);
431
- }
432
- } else {
433
- console.error(chalk.red(err.slice()));
265
+ }
266
+ if (usedModules.length > 0 && statsJson?.assetsByChunkName) {
267
+ for (const moduleName of usedModules) {
268
+ const chunkName = `module-${moduleName}`;
269
+ if (statsJson.assetsByChunkName[chunkName]) {
270
+ const assets = statsJson.assetsByChunkName[chunkName];
271
+ const assetList = Array.isArray(assets) ? assets : [assets];
272
+ for (const asset of assetList) {
273
+ moduleFiles.add(asset);
434
274
  }
435
- });
436
- return;
275
+ }
276
+ if (statsJson.assetsByChunkName[moduleName]) {
277
+ const assets = statsJson.assetsByChunkName[moduleName];
278
+ const assetList = Array.isArray(assets) ? assets : [assets];
279
+ for (const asset of assetList) {
280
+ moduleFiles.add(asset);
281
+ }
282
+ }
437
283
  }
438
- const { entrypoints, outputPath } = jsonStats;
439
- const { main: { assets: [mainChunkPath] } } = entrypoints;
440
- const mainModulePath = path.resolve(outputPath, mainChunkPath.name);
441
- const module2 = await import(mainModulePath);
442
- renderApp2 = module2.render;
443
- setCompilationDone();
284
+ } else if (usedModules.length > 0 && statsJson?.modules && statsJson?.chunks) {
285
+ const neededChunks = /* @__PURE__ */ new Set();
286
+ for (const module2 of statsJson.modules) {
287
+ const moduleId = module2.identifier || module2.id || module2.name;
288
+ if (!moduleId) continue;
289
+ const isUsed = usedModules.some(
290
+ (used) => moduleId.includes(used) || used.includes(moduleId)
291
+ );
292
+ if (isUsed && module2.chunks) {
293
+ for (const chunkId of module2.chunks) {
294
+ neededChunks.add(chunkId);
295
+ }
296
+ }
297
+ }
298
+ for (const chunk of statsJson.chunks) {
299
+ if (neededChunks.has(chunk.id)) {
300
+ for (const file of chunk.files || []) {
301
+ moduleFiles.add(file);
302
+ }
303
+ }
304
+ }
305
+ }
306
+ const initialJs = [];
307
+ const moduleJs = [];
308
+ const css = [];
309
+ for (const file of initialFiles) {
310
+ if (file.endsWith(".js")) initialJs.push(file);
311
+ if (file.endsWith(".css")) css.push(file);
312
+ }
313
+ initialJs.sort((a, b) => {
314
+ const getPriority = (file) => {
315
+ if (file.includes("runtime")) return 1;
316
+ if (file.includes("vue")) return 2;
317
+ if (file.includes("vendor")) return 3;
318
+ if (file.includes("main")) return 4;
319
+ return 5;
320
+ };
321
+ return getPriority(a) - getPriority(b);
444
322
  });
445
- return async (stuff) => {
446
- await ssrCompilation;
447
- return await renderApp2(stuff);
323
+ for (const file of moduleFiles) {
324
+ if (file.endsWith(".js") && !initialFiles.has(file)) {
325
+ moduleJs.push(file);
326
+ }
327
+ if (file.endsWith(".css") && !initialFiles.has(file)) {
328
+ css.push(file);
329
+ }
330
+ }
331
+ const publicPath = "/";
332
+ if (options.criticalCss) {
333
+ const result2 = {
334
+ head: [
335
+ // Modulepreload для ВСЕХ initial chunks для параллельной загрузки
336
+ ...initialJs.map((src) => `<link rel="modulepreload" href="${publicPath}${src}">`),
337
+ // Module chunks as modulepreload
338
+ ...moduleJs.map((src) => `<link rel="modulepreload" href="${publicPath}${src}">`),
339
+ // CSS файлы будут обработаны Beasties, поэтому добавляем их как обычные link теги
340
+ ...css.map((href) => `<link rel="stylesheet" href="${publicPath}${href}">`)
341
+ ].join("\n"),
342
+ // Script tags в body для выполнения после загрузки
343
+ body: initialJs.map((src) => `<script type="module" src="${publicPath}${src}"></script>`).join("\n")
344
+ };
345
+ return result2;
346
+ }
347
+ const result = {
348
+ head: [
349
+ // Modulepreload для ВСЕХ initial chunks для параллельной загрузки
350
+ ...initialJs.map((src) => `<link rel="modulepreload" href="${publicPath}${src}">`),
351
+ // Module chunks as modulepreload
352
+ ...moduleJs.map((src) => `<link rel="modulepreload" href="${publicPath}${src}">`),
353
+ ...css.map((href) => `<link rel="stylesheet" href="${publicPath}${href}">`)
354
+ ].join("\n"),
355
+ // Script tags в body для выполнения после загрузки
356
+ body: initialJs.map((src) => `<script type="module" src="${publicPath}${src}"></script>`).join("\n")
448
357
  };
449
- };
450
- const renderApp = createHotReloadingServerRenderer(ssrConfig2);
451
- const renderHtml2 = createHtmlRenderer$1();
452
- return async (stuff, stats) => {
453
- const { html, meta, state, statusCode } = await renderApp(stuff);
454
- const publicPath = clientConfigWithHmr.output.publicPath;
455
- const { head, body } = extractAssets(stats, publicPath);
456
- const initialState = JSON.stringify(state);
457
- const completeHtml = await renderHtml2({
458
- appHtml: html,
459
- meta,
460
- head,
461
- body,
462
- initialState
463
- });
464
- return { html: completeHtml, statusCode };
465
- };
466
- };
467
- let serverInstance;
468
- let rendererInstance;
469
- const port = process.env.PORT || 8080;
470
- const startServer = async () => {
471
- if (serverInstance) {
472
- serverInstance.close();
473
- }
474
- const { app, server } = await createServer.createServer();
475
- clientCompiler.devMiddleware(app, {
476
- publicPath: clientConfigWithHmr.output.publicPath,
477
- stats: false
478
- });
479
- clientCompiler.hotMiddleware(app);
480
- if (!rendererInstance) {
481
- rendererInstance = createDevRenderer();
482
- clientCompiler.hooks.done.tap("reload", (stats) => {
483
- });
358
+ return result;
484
359
  }
485
- app.use("/*", async (req, res) => {
360
+ };
361
+ }
362
+ function createBeastiesProcessor(projectRoot, options = {}) {
363
+ const cssPath = path.join(projectRoot, "builds/web/client");
364
+ console.log("[Beasties] Initializing with CSS path:", cssPath);
365
+ const beasties = new Beasties({
366
+ // ВАЖНО: указываем путь к директории с CSS файлами
367
+ path: cssPath,
368
+ // Публичный путь для резолва URL в link тегах
369
+ publicPath: "/",
370
+ // Обрабатывать внешние CSS файлы
371
+ external: true,
372
+ // Встроить ВСЕ используемые стили без ограничений
373
+ inlineThreshold: 0,
374
+ // Lazy-load остальные стили через swap
375
+ preload: "swap",
376
+ // НЕ УДАЛЯТЬ встроенные правила из внешних файлов (иначе ломается для последующих запросов)
377
+ pruneSource: false,
378
+ // Добавить noscript fallback для браузеров без JS
379
+ noscriptFallback: true,
380
+ // Минифицировать встроенные стили
381
+ compress: true,
382
+ // Встраивать критические keyframes
383
+ keyframes: "critical",
384
+ // Встраивать используемые шрифты
385
+ fonts: true,
386
+ // Уровень логирования для отладки
387
+ logLevel: process.env.NODE_ENV === "production" ? "warn" : "info",
388
+ // Дополнительные опции пользователя
389
+ ...options
390
+ });
391
+ return {
392
+ async processHtml(html, { url } = {}) {
486
393
  try {
487
- const stats = clientCompiler.getStats().toJson();
488
- const result = await rendererInstance(
489
- {
490
- url: req.originalUrl,
491
- cookies: req.cookies,
492
- languages: req.acceptsLanguages()
493
- },
494
- stats
495
- );
496
- res.status(result.statusCode).header("Content-Type", "text/html; charset=utf-8").send(result.html);
497
- } catch (err) {
498
- console.error(err);
499
- res.status(500).send("Internal Server Error");
394
+ console.log("[Beasties] Processing HTML for URL:", url);
395
+ const cssLinks = html.match(/<link[^>]*rel="stylesheet"[^>]*>/g);
396
+ console.log("[Beasties] Found CSS links:", cssLinks?.length || 0);
397
+ const processedHtml = await beasties.process(html);
398
+ const hasInlineStyles = processedHtml.includes("<style>");
399
+ const hasSwapLinks = processedHtml.includes(`onload="this.media='all'`);
400
+ console.log("[Beasties] Critical CSS inlined:", hasInlineStyles);
401
+ console.log("[Beasties] CSS lazy-loading enabled:", hasSwapLinks);
402
+ const inlineStyleMatch = processedHtml.match(/<style[^>]*>([\s\S]*?)<\/style>/);
403
+ if (inlineStyleMatch) {
404
+ const inlineSize = inlineStyleMatch[1].length;
405
+ console.log("[Beasties] Inline CSS size:", Math.round(inlineSize / 1024), "KB");
406
+ }
407
+ const optimizedHtml = removeDuplicateStyles(processedHtml);
408
+ return optimizedHtml;
409
+ } catch (error) {
410
+ console.error("[Beasties] Processing error:", error);
411
+ console.error("[Beasties] Error stack:", error.stack);
412
+ return html;
500
413
  }
501
- });
502
- serverInstance = server;
503
- try {
504
- await server.listen(port);
505
- console.log(`Server started at localhost:${port}
506
- `);
507
- } catch (err) {
508
- console.error(err);
509
- process.exit(1);
510
414
  }
511
415
  };
512
- return startServer;
513
416
  }
514
- function createSsrProdServer(projectRoot, { clientConfig: clientConfig2, apiConfig: apiConfig2 }, createServerPath) {
515
- const clientStats = JSON.parse(fs.readFileSync(path.join(projectRoot, "builds/web/client/stats.json"), "utf-8"));
516
- const serverManifest = JSON.parse(fs.readFileSync(path.join(projectRoot, "builds/web/server/manifest.json"), "utf-8"));
517
- const { createServer } = createServerPath;
518
- const startServer = async () => {
519
- const { app, server, env } = await createServer();
520
- app.use(
521
- clientConfig2.output.publicPath,
522
- express.static(path.resolve(projectRoot, "builds/web/client"), {
523
- maxAge: "1d"
524
- // Кэширование на 1 день
525
- })
526
- );
527
- const { render } = await import(path.join(
528
- apiConfig2.output.path,
529
- serverManifest["main.js"]
530
- ));
531
- const { head, body } = transformProdStats({
532
- stats: clientStats,
533
- publicPath: clientConfig2.output.publicPath
534
- });
535
- app.use("/*", async (req, res) => {
536
- const { html, meta, state, statusCode } = await render({
537
- url: req.originalUrl,
538
- cookies: req.cookies,
539
- languages: req.acceptsLanguages()
540
- });
541
- if (state.NotFound) {
542
- res.status(404);
543
- }
544
- const initialState = JSON.stringify(state);
545
- const completeHtml = await renderHtml({
546
- appHtml: html,
547
- meta,
548
- head,
549
- body,
550
- initialState
551
- });
552
- res.status(statusCode).header("Content-Type", "text/html; charset=utf-8").send(completeHtml);
553
- });
554
- return server;
555
- };
556
- const port = process.env.PORT || 8080;
557
- const start = async () => {
558
- const server = await startServer();
559
- try {
560
- server.listen(port, () => console.log(`Server running on port ${port}`));
561
- } catch (err) {
562
- console.error(err);
563
- process.exit(1);
417
+ function removeDuplicateStyles(html) {
418
+ const styleRegex = /<style[^>]*>([\s\S]*?)<\/style>/gi;
419
+ const styles = /* @__PURE__ */ new Set();
420
+ return html.replace(styleRegex, (match, content) => {
421
+ const trimmedContent = content.trim();
422
+ if (styles.has(trimmedContent)) {
423
+ return "";
564
424
  }
565
- };
566
- return start;
425
+ styles.add(trimmedContent);
426
+ return match;
427
+ });
567
428
  }
568
- function createSsrDevServer(projectRoot, { clientConfig: clientConfig2, apiConfig: apiConfig2, ssrConfig: ssrConfig2 }) {
569
- const clientCompiler = core.rspack(clientConfig2);
570
- const ssrCompiler = core.rspack(ssrConfig2);
571
- const serverCompiler = core.rspack(apiConfig2);
429
+ function createSsrDevServer(projectRoot, configs, createServer) {
430
+ const { client, api, ssr } = configs;
431
+ const clientCompiler = core.rspack(client);
432
+ const ssrCompiler = core.rspack(ssr);
433
+ const serverCompiler = core.rspack(api);
434
+ const beastiesProcessor = createBeastiesProcessor(projectRoot);
572
435
  const createDevRenderer = (onUpdate) => {
573
- const createHotReloadingServerRenderer = (config) => {
436
+ const createHotReloadingServerRenderer = () => {
574
437
  const progressPlugin = new core.ProgressPlugin((percentage, message, ...args) => {
575
- console.log(
576
- chalk.greenBright(`${(percentage * 100).toFixed(2)}% `) + chalk.blueBright(message) + " " + args.map((arg) => chalk.yellow(arg)).join(" ")
577
- );
578
438
  });
579
- config.plugins = config.plugins || [];
580
- config.plugins.push(progressPlugin);
439
+ ssr.plugins = ssr.plugins || [];
440
+ ssr.plugins.push(progressPlugin);
581
441
  let renderApp2 = null;
582
- let setCompilationDone = null;
583
- let ssrCompilation = new Promise((resolve) => {
584
- setCompilationDone = resolve;
585
- });
586
442
  ssrCompiler.watch(
587
443
  {
588
444
  "info-verbosity": "none"
@@ -613,30 +469,54 @@ function createSsrDevServer(projectRoot, { clientConfig: clientConfig2, apiConfi
613
469
  const { entrypoints, outputPath } = jsonStats;
614
470
  const { main: { assets: [mainChunkPath] } } = entrypoints;
615
471
  const mainModulePath = path.resolve(outputPath, mainChunkPath.name);
616
- const module2 = await import(mainModulePath);
472
+ const module2 = await import(`${mainModulePath}?t=${Date.now()}`);
617
473
  renderApp2 = module2.render;
618
- setCompilationDone();
619
474
  }
620
475
  );
621
476
  return async (stuff) => {
622
- await ssrCompilation;
477
+ if (!renderApp2) {
478
+ throw new Error("SSR module not compiled yet");
479
+ }
623
480
  const result = await renderApp2(stuff);
624
481
  return result;
625
482
  };
626
483
  };
627
- const renderApp = createHotReloadingServerRenderer(ssrConfig2);
484
+ const renderApp = createHotReloadingServerRenderer();
628
485
  const renderHtml2 = createHtmlRenderer$1(onUpdate);
629
486
  return async (stuff, { stats, outputFileSystem }) => {
630
- const { html, meta, state, statusCode } = await renderApp(stuff);
631
- const { head, body } = transformDevStats(stats.toJson(), outputFileSystem);
487
+ const ssrContext = {};
488
+ const { html, meta, state, statusCode, usedModules, loadedModules } = await renderApp({
489
+ ...stuff,
490
+ ssrContext
491
+ });
492
+ const modulesToLoad = loadedModules || usedModules || [];
493
+ let head = "";
494
+ let body = "";
495
+ if (cachedStatsJson) {
496
+ const resolver = createAssetResolver(cachedStatsJson);
497
+ const tags = resolver.collect(modulesToLoad);
498
+ head = tags.head;
499
+ body = tags.body;
500
+ } else if (stats && stats.toJson) {
501
+ const statsJson = stats.toJson();
502
+ const resolver = createAssetResolver(statsJson);
503
+ const tags = resolver.collect(modulesToLoad);
504
+ head = tags.head;
505
+ body = tags.body;
506
+ } else {
507
+ console.error("[DEBUG ssr.rspack.dev] No stats available!");
508
+ }
632
509
  const initialState = JSON.stringify(state);
633
- const completeHtml = await renderHtml2({
510
+ let completeHtml = await renderHtml2({
634
511
  appHtml: html,
635
512
  meta,
636
513
  head,
637
514
  body,
638
515
  initialState
639
516
  });
517
+ completeHtml = await beastiesProcessor.processHtml(completeHtml, {
518
+ url: stuff.url
519
+ });
640
520
  return { html: completeHtml, statusCode };
641
521
  };
642
522
  };
@@ -648,7 +528,6 @@ function createSsrDevServer(projectRoot, { clientConfig: clientConfig2, apiConfi
648
528
  console.error(err);
649
529
  return;
650
530
  }
651
- console.log(stats.toString(apiConfig2.stats));
652
531
  try {
653
532
  const { outputPath } = stats.toJson();
654
533
  const entryName = Object.keys(stats.toJson().entrypoints)[0];
@@ -657,19 +536,31 @@ function createSsrDevServer(projectRoot, { clientConfig: clientConfig2, apiConfi
657
536
  if (typeof serverModule.createServer !== "function") {
658
537
  throw new Error("Экспорт createServer не найден");
659
538
  }
660
- console.log("Сервер скомпилирован, перезапуск...");
661
539
  await startServer();
662
540
  } catch (error) {
663
541
  console.error("Ошибка при загрузке серверного модуля:", error);
664
542
  }
665
543
  });
544
+ let cachedStatsJson = null;
545
+ clientCompiler.hooks.done.tap("cache-stats", (stats) => {
546
+ cachedStatsJson = stats.toJson({
547
+ assets: true,
548
+ chunks: true,
549
+ modules: true,
550
+ entrypoints: true,
551
+ chunkModules: true
552
+ });
553
+ });
666
554
  const clientDevMiddleware = devMiddleware(clientCompiler, {
667
- publicPath: clientConfig2.output.publicPath,
555
+ publicPath: client.output.publicPath,
668
556
  serverSideRender: true,
669
- stats: "minimal",
670
- // или 'errors-only'
671
557
  stats: {
672
- children: true
558
+ children: true,
559
+ assets: true,
560
+ chunks: true,
561
+ modules: true,
562
+ entrypoints: true,
563
+ chunkModules: true
673
564
  }
674
565
  });
675
566
  const port = process.env.PORT || 8080;
@@ -706,8 +597,6 @@ function createSsrDevServer(projectRoot, { clientConfig: clientConfig2, apiConfi
706
597
  serverInstance = server;
707
598
  try {
708
599
  await server.listen(port);
709
- console.log(`Server started at localhost:${port}
710
- `);
711
600
  } catch (err) {
712
601
  console.error(err);
713
602
  process.exit(1);
@@ -892,39 +781,94 @@ const createSsrViteDevServer = function createSsrDevServer2(projectRoot, { clien
892
781
  };
893
782
  return startServer;
894
783
  };
895
- const baseConfig$2 = (projectRoot) => {
896
- return {
897
- context: projectRoot,
898
- resolve: {
899
- alias: {
900
- "@": path.resolve(projectRoot, "src"),
901
- "@martyrs": path.resolve(projectRoot, "martyrs"),
902
- "vue": path.resolve(projectRoot, "node_modules/vue"),
903
- "vue-router": path.resolve(projectRoot, "node_modules/vue-router"),
904
- "vue-i18n": path.resolve(projectRoot, "node_modules/vue-i18n")
784
+ function createSsrProdServer(projectRoot, configs, createServer) {
785
+ const statsJson = JSON.parse(fs.readFileSync(path.join(projectRoot, "builds/web/client/stats.json"), "utf-8"));
786
+ const serverManifest = JSON.parse(fs.readFileSync(path.join(projectRoot, "builds/web/server/manifest.json"), "utf-8"));
787
+ const resolver = createAssetResolver(statsJson);
788
+ const beastiesProcessor = createBeastiesProcessor(projectRoot);
789
+ const startServer = async () => {
790
+ const { app, server, env } = await createServer.createServer();
791
+ const { render } = await import(path.join(
792
+ path.resolve(projectRoot, "builds/web/server"),
793
+ serverManifest["main.js"]
794
+ ));
795
+ app.use("/*", async (req, res) => {
796
+ if (req.originalUrl.includes(".js")) {
797
+ console.log("[SSR] JS request caught in SSR handler:", req.originalUrl);
905
798
  }
906
- },
907
- module: {
908
- rules: [
909
- {
910
- test: /\.m?js$/,
911
- exclude: /node_modules\/(?!(vue-meta)\/).*/,
912
- use: {
913
- loader: "builtin:swc-loader",
914
- options: {
915
- jsc: {
916
- parser: {
917
- syntax: "ecmascript",
918
- jsx: false
919
- },
920
- target: "es2020"
921
- }
922
- }
923
- }
924
- },
925
- {
926
- test: /\.vue$/,
927
- loader: "vue-loader",
799
+ const ssrContext = {};
800
+ const { html, meta, state, statusCode, usedModules, loadedModules } = await render({
801
+ url: req.originalUrl,
802
+ cookies: req.cookies,
803
+ languages: req.acceptsLanguages(),
804
+ ssrContext
805
+ });
806
+ if (state.NotFound) {
807
+ res.status(404);
808
+ }
809
+ const initialState = JSON.stringify(state);
810
+ const modulesToLoad = loadedModules || usedModules || [];
811
+ const { head, body } = resolver.collect(modulesToLoad, { criticalCss: true });
812
+ let completeHtml = await renderHtml({
813
+ appHtml: html,
814
+ meta,
815
+ head,
816
+ body,
817
+ initialState
818
+ });
819
+ completeHtml = await beastiesProcessor.processHtml(completeHtml, {
820
+ url: req.originalUrl
821
+ });
822
+ res.status(statusCode).header("Content-Type", "text/html; charset=utf-8").send(completeHtml);
823
+ });
824
+ return server;
825
+ };
826
+ const port = process.env.PORT || 8080;
827
+ const start = async () => {
828
+ const server = await startServer();
829
+ try {
830
+ server.listen(port, () => {
831
+ });
832
+ } catch (err) {
833
+ console.error(err);
834
+ process.exit(1);
835
+ }
836
+ };
837
+ return start;
838
+ }
839
+ const baseConfig$1 = (projectRoot) => {
840
+ return {
841
+ context: projectRoot,
842
+ resolve: {
843
+ alias: {
844
+ "@": path.resolve(projectRoot, "src"),
845
+ "@martyrs": path.resolve(projectRoot, "martyrs"),
846
+ "vue": path.resolve(projectRoot, "node_modules/vue"),
847
+ "vue-router": path.resolve(projectRoot, "node_modules/vue-router"),
848
+ "vue-i18n": path.resolve(projectRoot, "node_modules/vue-i18n")
849
+ }
850
+ },
851
+ module: {
852
+ rules: [
853
+ {
854
+ test: /\.m?js$/,
855
+ exclude: /node_modules\/(?!(vue-meta)\/).*/,
856
+ use: {
857
+ loader: "builtin:swc-loader",
858
+ options: {
859
+ jsc: {
860
+ parser: {
861
+ syntax: "ecmascript",
862
+ jsx: false
863
+ },
864
+ target: "es2020"
865
+ }
866
+ }
867
+ }
868
+ },
869
+ {
870
+ test: /\.vue$/,
871
+ loader: "vue-loader",
928
872
  options: {
929
873
  experimentalInlineMatchResource: true,
930
874
  preprocessOptions: {
@@ -950,450 +894,18 @@ const baseConfig$2 = (projectRoot) => {
950
894
  return `<template${slotDirective}><${tag}${attrs}>${content2}</${tag}></template>`;
951
895
  }
952
896
  );
953
- return { code: rewritten };
954
- }
955
- }
956
- }
957
- }
958
- },
959
- {
960
- test: /\.(sa|sc|c)ss$/,
961
- use: [
962
- process.env.NODE_ENV !== "production" ? "vue-style-loader" : core.rspack.CssExtractRspackPlugin.loader,
963
- {
964
- loader: "css-loader",
965
- options: {
966
- sourceMap: true,
967
- url: {
968
- filter: (url, resourcePath) => {
969
- if (url.indexOf("/fonts/") == 0) {
970
- return false;
971
- }
972
- return true;
973
- }
974
- }
975
- }
976
- },
977
- {
978
- loader: "sass-loader",
979
- options: {
980
- sourceMap: true
981
- }
982
- }
983
- ],
984
- type: "javascript/auto"
985
- },
986
- {
987
- test: /\.(?:ico|gif|png|jpg|jpeg|mp4|webp|webm|svg|woff2?|eot|ttf|otf)$/i,
988
- type: "asset/resource"
989
- }
990
- ]
991
- },
992
- experiments: {
993
- css: false
994
- },
995
- plugins: [
996
- ...process.env.BUNDLE_ANALYZER ? [new rspackPlugin.RsdoctorRspackPlugin(), new webpackBundleAnalyzer.BundleAnalyzerPlugin()] : [],
997
- new vueLoader.VueLoaderPlugin(),
998
- ...process.env.NODE_ENV === "production" ? [new core.rspack.CssExtractRspackPlugin({
999
- filename: "[name].[contenthash].css",
1000
- chunkFilename: "[id].[contenthash].css",
1001
- ignoreOrder: true
1002
- })] : [],
1003
- new cleanWebpackPlugin.CleanWebpackPlugin(),
1004
- new Dotenv({
1005
- path: `.env.${process.env.NODE_ENV}`
1006
- // ...(process.env.MODE === "SPA" ? [{path: '.env.mobile'}] : []),
1007
- }),
1008
- new core.rspack.DefinePlugin({
1009
- __VUE_I18N_LEGACY_API__: false,
1010
- __VUE_OPTIONS_API__: true,
1011
- __VUE_PROD_DEVTOOLS_: false,
1012
- __VUE_PROD_DEVTOOLS__: true,
1013
- __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: true,
1014
- __VUE_I18N_FULL_INSTALL__: true,
1015
- __INTLIFY_PROD_DEVTOOLS__: false,
1016
- __MOBILE_APP__: process.env.MODE === "SPA" ? true : false
1017
- })
1018
- ],
1019
- infrastructureLogging: {
1020
- level: "verbose"
1021
- },
1022
- stats: {
1023
- // Минимальный вывод
1024
- preset: "minimal",
1025
- // Или более детальная настройка:
1026
- modules: false,
1027
- chunks: false,
1028
- chunkModules: false,
1029
- chunkOrigins: false,
1030
- entrypoints: false,
1031
- assets: false,
1032
- moduleTrace: false,
1033
- errorDetails: false,
1034
- // Показывать только ошибки и предупреждения
1035
- errors: true,
1036
- warnings: true,
1037
- // Цвета в терминале
1038
- colors: true
1039
- }
1040
- };
1041
- };
1042
- const clientConfig = (projectRoot) => {
1043
- const isProd2 = process.env.NODE_ENV === "production";
1044
- const config = {
1045
- mode: !isProd2 ? "development" : "production",
1046
- devtool: !isProd2 ? "inline-source-map" : "source-map",
1047
- entry: {
1048
- main: path.resolve(projectRoot, "src/client.js")
1049
- },
1050
- module: {
1051
- rules: []
1052
- },
1053
- output: {
1054
- filename: "[name].js",
1055
- chunkFilename: "[name].js",
1056
- path: path.resolve(projectRoot, "builds/web/client"),
1057
- publicPath: "/",
1058
- clean: true
1059
- },
1060
- plugins: [
1061
- // ...(!isProd ? [new rspack.HotModuleReplacementPlugin()] : []),
1062
- new webpackStatsPlugin.StatsWriterPlugin(),
1063
- new purgecssWebpackPlugin.PurgeCSSPlugin({
1064
- paths: glob.sync([
1065
- path.join(projectRoot, "src/**/*.vue"),
1066
- path.join(projectRoot, "src/**/*.js"),
1067
- path.join(projectRoot, "martyrs/src/**/*.vue"),
1068
- path.join(projectRoot, "martyrs/src/**/*.js"),
1069
- path.join(projectRoot, "/node_modules/@ozdao/martyrs/**/*.css"),
1070
- path.join(projectRoot, "/node_modules/@ozdao/martyrs/**/*.scss"),
1071
- path.join(projectRoot, "/node_modules/@ozdao/martyrs/src/**/*.vue"),
1072
- path.join(projectRoot, "/node_modules/@ozdao/martyrs/src/**/*.js"),
1073
- path.join(projectRoot, "/node_modules/@vuepic/vue-datepicker/**/*.js")
1074
- ]),
1075
- safelist: {
1076
- standard: ["safelisted", /^html/, /^:root/],
1077
- deep: [/^safelisted-deep-/, /^html/, /^:root/],
1078
- greedy: [/^data-v-/, /\[data-v-.*\]/, /\[data-v-[a-zA-Z0-9]*\]/]
1079
- },
1080
- rejected: true,
1081
- extractors: [
1082
- {
1083
- extractor: (content) => {
1084
- const normalClasses = content.match(/[A-Za-z0-9-_:\/]+/g) || [];
1085
- const scopedAttrs = content.match(/\[data-v-[a-zA-Z0-9]*\]/g) || [];
1086
- return [...normalClasses, ...scopedAttrs];
1087
- },
1088
- extensions: ["vue", "js", "css", "scss"]
1089
- }
1090
- ]
1091
- }),
1092
- // PWA PWA PWA PWA PWA
1093
- ...isProd2 ? [
1094
- new workboxRspackPlugin.InjectManifest({
1095
- swSrc: path.resolve(projectRoot, "../public/sw.js"),
1096
- swDest: "sw.js",
1097
- exclude: [
1098
- /\.html$/,
1099
- /\.map$/,
1100
- /\.js$/,
1101
- // Исключаем JS из прекэша для SSR
1102
- /\.css$/
1103
- // Исключаем CSS из прекэша для SSR
1104
- ],
1105
- include: [
1106
- /\.(png|jpg|jpeg|gif|webp|svg|ico)$/,
1107
- /\.(woff|woff2|ttf|eot|otf)$/,
1108
- /favicon/
1109
- ],
1110
- manifestTransforms: [
1111
- (manifestEntries) => {
1112
- const manifest = manifestEntries.filter((entry) => {
1113
- return !entry.url.match(/\.(html|map)$/) && entry.size < 5 * 1024 * 1024;
1114
- });
1115
- return { manifest };
1116
- }
1117
- ]
1118
- }),
1119
- new rspackManifestPlugin.RspackManifestPlugin({
1120
- fileName: "manifest.json",
1121
- seed: {
1122
- name: process.env.APP_NAME || "App by Martyrs Framework",
1123
- short_name: process.env.APP_SHORT_NAME || "App",
1124
- description: process.env.APP_DESCRIPTION || "Progressive Web App by Martyrs Framework",
1125
- theme_color: "#000000",
1126
- background_color: "#ffffff",
1127
- display: "standalone",
1128
- orientation: "portrait",
1129
- scope: "/",
1130
- start_url: "/",
1131
- icons: [
1132
- {
1133
- src: "/favicon/android-chrome-192x192.png",
1134
- sizes: "192x192",
1135
- type: "image/png"
1136
- },
1137
- {
1138
- src: "/favicon/android-chrome-512x512.png",
1139
- sizes: "512x512",
1140
- type: "image/png"
1141
- }
1142
- ]
1143
- },
1144
- generate: (seed) => seed
1145
- })
1146
- ] : []
1147
- ],
1148
- optimization: {
1149
- usedExports: true,
1150
- splitChunks: {
1151
- chunks: "async",
1152
- minSize: 0,
1153
- // minRemainingSize: 0,
1154
- minChunks: 1,
1155
- maxAsyncRequests: 30,
1156
- maxInitialRequests: 30
1157
- // enforceSizeThreshold: 50000,
1158
- },
1159
- minimize: isProd2,
1160
- minimizer: [
1161
- new core.rspack.SwcJsMinimizerRspackPlugin(),
1162
- new core.rspack.LightningCssMinimizerRspackPlugin()
1163
- ]
1164
- }
1165
- };
1166
- return webpackMerge.merge(baseConfig$2(projectRoot), config);
1167
- };
1168
- const ssrConfig = (projectRoot) => {
1169
- const isProd2 = process.env.NODE_ENV === "production";
1170
- const ssrConfig2 = {
1171
- target: ["node", "es2022"],
1172
- // Явно указываем современную версию Node.js с поддержкой ESM
1173
- mode: !isProd2 ? "development" : "production",
1174
- entry: {
1175
- main: path.resolve(projectRoot, "src/client.js")
1176
- },
1177
- output: {
1178
- filename: "main.js",
1179
- path: path.resolve(projectRoot, "builds/web/server"),
1180
- // Явно указываем формат чанков
1181
- chunkFormat: "module",
1182
- library: {
1183
- type: "module"
1184
- },
1185
- clean: true,
1186
- module: true,
1187
- environment: {
1188
- module: true
1189
- }
1190
- },
1191
- experiments: {
1192
- outputModule: true
1193
- },
1194
- module: {
1195
- rules: [
1196
- {
1197
- test: /\.css$/,
1198
- use: "null-loader"
1199
- }
1200
- ]
1201
- },
1202
- optimization: {
1203
- minimize: false
1204
- },
1205
- externals: [
1206
- nodeExternals({
1207
- allowlist: [
1208
- /^@ozdao*/,
1209
- /\.(css|sass|scss)$/,
1210
- /\.(vue)$/,
1211
- /\.(html)$/
1212
- ],
1213
- importType: "module"
1214
- })
1215
- ],
1216
- plugins: [
1217
- new core.rspack.optimize.LimitChunkCountPlugin({
1218
- maxChunks: 1
1219
- }),
1220
- ...isProd2 ? [new rspackManifestPlugin.RspackManifestPlugin({
1221
- fileName: "manifest.json"
1222
- })] : []
1223
- ]
1224
- };
1225
- return webpackMerge.merge(baseConfig$2(projectRoot), ssrConfig2);
1226
- };
1227
- const { rspack: rspack$1 } = core;
1228
- const isProd$1 = process.env.NODE_ENV === "production";
1229
- const spaConfig = (projectRoot) => {
1230
- const spaConfig2 = {
1231
- mode: !isProd$1 ? "development" : "production",
1232
- devtool: "source-map",
1233
- entry: {
1234
- main: path.resolve(projectRoot, "src/client.js")
1235
- },
1236
- output: {
1237
- filename: "main.js",
1238
- path: path.resolve(projectRoot, "builds/web/spa"),
1239
- clean: true
1240
- },
1241
- target: "web",
1242
- plugins: [
1243
- // ...(!isProd ? [new rspack.HotModuleReplacementPlugin()] : []),
1244
- new webpackStatsPlugin.StatsWriterPlugin(),
1245
- new rspack$1.optimize.LimitChunkCountPlugin({
1246
- maxChunks: 1
1247
- }),
1248
- new rspack$1.HtmlRspackPlugin({
1249
- templateContent: async () => {
1250
- const meta = {
1251
- htmlAttrs: 'lang="en"',
1252
- headAttrs: "",
1253
- bodyAttrs: "",
1254
- // head: '<meta name="description" content="Example">',
1255
- body: ""
1256
- };
1257
- const data = {
1258
- googleTagId: process.env.GOOGLE_TAG_ID,
1259
- googleMapApiKey: process.env.GOOGLE_MAPS_API_KEY,
1260
- meta
1261
- };
1262
- return Mustache.render(page, data);
1263
- },
1264
- filename: "index.html",
1265
- inject: "body"
1266
- })
1267
- // new rspack.CopyRspackPlugin({
1268
- // patterns: [
1269
- // { from: path.resolve(projectRoot, "../public/logo"), to: 'logo' },
1270
- // { from: path.resolve(projectRoot, "../public/walkthrough"), to: 'walkthrough' },
1271
- // { from: path.resolve(projectRoot, "../public/icons"), to: 'icons' }
1272
- // ]
1273
- // })
1274
- ],
1275
- optimization: {
1276
- minimizer: [new rspack$1.SwcJsMinimizerRspackPlugin(), , new rspack$1.LightningCssMinimizerRspackPlugin()]
1277
- }
1278
- };
1279
- return webpackMerge.merge(clientConfig(projectRoot), spaConfig2);
1280
- };
1281
- const { rspack } = core;
1282
- const apiConfig$2 = (projectRoot) => {
1283
- return {
1284
- target: "node",
1285
- mode: "development",
1286
- entry: [path.resolve(projectRoot, "src/server.js")],
1287
- output: {
1288
- filename: "server.js",
1289
- path: path.resolve(projectRoot, "builds/web/server"),
1290
- libraryTarget: "module",
1291
- chunkFormat: "module",
1292
- module: true,
1293
- clean: true
1294
- },
1295
- experiments: {
1296
- outputModule: true
1297
- },
1298
- resolve: {
1299
- alias: {
1300
- "@martyrs": path.resolve(projectRoot, "martyrs")
1301
- },
1302
- fallback: {
1303
- path: false
1304
- }
1305
- },
1306
- // Добавляем externalsType для ES modules
1307
- externalsType: "module",
1308
- externals: [
1309
- nodeExternals({
1310
- allowlist: [],
1311
- // Важно! Указываем importType для ES modules
1312
- importType: "module"
1313
- }),
1314
- // Для .node файлов тоже используем module
1315
- function({ context, request }, callback) {
1316
- if (/\.node$/.test(request)) {
1317
- return callback(null, `module ${request}`);
1318
- }
1319
- callback();
1320
- }
1321
- ],
1322
- plugins: [],
1323
- module: {
1324
- rules: [
1325
- {
1326
- test: /\.node$/,
1327
- loader: "node-loader"
1328
- }
1329
- ]
1330
- }
1331
- };
1332
- };
1333
- const rspackConfigs = {
1334
- baseConfig: baseConfig$2,
1335
- clientConfig,
1336
- apiConfig: apiConfig$2,
1337
- spaConfig,
1338
- ssrConfig
1339
- };
1340
- const baseConfig$1 = (projectRoot) => {
1341
- return {
1342
- resolve: {
1343
- alias: {
1344
- "@": path.resolve(projectRoot, "src"),
1345
- "@martyrs": path.resolve(projectRoot, "martyrs"),
1346
- vue: path.resolve(projectRoot, "node_modules/vue"),
1347
- "vue-router": path.resolve(projectRoot, "node_modules/vue-router"),
1348
- "vue-i18n": path.resolve(projectRoot, "node_modules/vue-i18n")
1349
- },
1350
- fallback: {
1351
- path: false
1352
- },
1353
- extensions: [".js", ".json", ".jsx", ".ts", ".tsx"]
1354
- },
1355
- module: {
1356
- rules: [
1357
- {
1358
- test: /\.m?js$/,
1359
- exclude: /node_modules\/(?!(vue-meta)\/).*/,
1360
- use: {
1361
- loader: "babel-loader",
1362
- options: {
1363
- configFile: path.resolve(projectRoot, "babel.config.js"),
1364
- // Добавляем опции для ESM
1365
- presets: [
1366
- ["@babel/preset-env", {
1367
- modules: false,
1368
- // Важно: отключаем преобразование в CommonJS
1369
- targets: {
1370
- node: "current"
1371
- }
1372
- }]
1373
- ],
1374
- plugins: [
1375
- // Заменяем @babel/plugin-transform-runtime на ESM совместимую версию
1376
- ["@babel/plugin-transform-runtime", {
1377
- useESModules: true,
1378
- // Важно: используем ESM версию хелперов
1379
- regenerator: true
1380
- }]
1381
- ]
897
+ return { code: rewritten };
898
+ }
899
+ }
1382
900
  }
1383
901
  }
1384
902
  },
1385
- {
1386
- test: /\.vue$/,
1387
- use: [
1388
- {
1389
- loader: "vue-loader"
1390
- }
1391
- ]
1392
- },
1393
903
  {
1394
904
  test: /\.(sa|sc|c)ss$/,
1395
905
  use: [
1396
- process.env.NODE_ENV !== "production" ? "vue-style-loader" : MiniCssExtractPlugin.loader,
906
+ // ВСЕГДА используем CssExtractRspackPlugin для SSR
907
+ // Это нужно чтобы Beasties мог найти CSS файлы
908
+ core.rspack.CssExtractRspackPlugin.loader,
1397
909
  {
1398
910
  loader: "css-loader",
1399
911
  options: {
@@ -1414,32 +926,33 @@ const baseConfig$1 = (projectRoot) => {
1414
926
  sourceMap: true
1415
927
  }
1416
928
  }
1417
- ]
929
+ ],
930
+ type: "javascript/auto"
1418
931
  },
1419
932
  {
1420
933
  test: /\.(?:ico|gif|png|jpg|jpeg|mp4|webp|webm|svg|woff2?|eot|ttf|otf)$/i,
1421
- use: {
1422
- loader: "url-loader",
1423
- options: {
1424
- emitFile: false
1425
- }
1426
- }
934
+ type: "asset/resource"
1427
935
  }
1428
936
  ]
1429
937
  },
938
+ experiments: {
939
+ css: false
940
+ },
1430
941
  plugins: [
1431
- ...process.env.BUNDLE_ANALYZER ? [new webpackBundleAnalyzer.BundleAnalyzerPlugin()] : [],
1432
- new MiniCssExtractPlugin({
1433
- filename: "[name].[contenthash].css",
1434
- chunkFilename: "[id].[contenthash].css",
942
+ ...process.env.BUNDLE_ANALYZER ? [new rspackPlugin.RsdoctorRspackPlugin(), new webpackBundleAnalyzer.BundleAnalyzerPlugin()] : [],
943
+ new vueLoader.VueLoaderPlugin(),
944
+ // Используем CssExtractRspackPlugin в обоих режимах
945
+ new core.rspack.CssExtractRspackPlugin({
946
+ filename: process.env.NODE_ENV === "production" ? "[name].[contenthash].css" : "[name].css",
947
+ chunkFilename: process.env.NODE_ENV === "production" ? "[id].[contenthash].css" : "[id].css",
1435
948
  ignoreOrder: true
1436
949
  }),
1437
950
  new cleanWebpackPlugin.CleanWebpackPlugin(),
1438
- new vueLoader.VueLoaderPlugin(),
1439
951
  new Dotenv({
1440
952
  path: `.env.${process.env.NODE_ENV}`
953
+ // ...(process.env.MODE === "SPA" ? [{path: '.env.mobile'}] : []),
1441
954
  }),
1442
- new webpack.DefinePlugin({
955
+ new core.rspack.DefinePlugin({
1443
956
  __VUE_I18N_LEGACY_API__: false,
1444
957
  __VUE_OPTIONS_API__: true,
1445
958
  __VUE_PROD_DEVTOOLS_: false,
@@ -1454,54 +967,59 @@ const baseConfig$1 = (projectRoot) => {
1454
967
  level: "verbose"
1455
968
  },
1456
969
  stats: {
1457
- colors: true,
1458
- hash: true,
1459
- version: true,
1460
- timings: true,
1461
- assets: true,
1462
- chunks: true,
1463
- modules: true,
1464
- reasons: true,
1465
- children: true,
1466
- source: true,
970
+ // Минимальный вывод
971
+ preset: "minimal",
972
+ // Или более детальная настройка:
973
+ modules: false,
974
+ chunks: false,
975
+ chunkModules: false,
976
+ chunkOrigins: false,
977
+ entrypoints: false,
978
+ assets: false,
979
+ moduleTrace: false,
980
+ errorDetails: false,
981
+ // Показывать только ошибки и предупреждения
1467
982
  errors: true,
1468
- errorDetails: true,
1469
- errorStack: true,
1470
983
  warnings: true,
1471
- publicPath: true
984
+ // Цвета в терминале
985
+ colors: true
1472
986
  }
1473
987
  };
1474
988
  };
1475
- const ssrClientConfig$1 = (projectRoot) => {
989
+ const clientConfig = (projectRoot) => {
1476
990
  const isProd2 = process.env.NODE_ENV === "production";
1477
991
  const config = {
992
+ target: "web",
1478
993
  mode: !isProd2 ? "development" : "production",
1479
994
  devtool: !isProd2 ? "inline-source-map" : "source-map",
1480
995
  entry: {
1481
- main: !isProd2 ? [path.resolve("../utils/hot-reload.js"), path.resolve(projectRoot, "src/client.js")] : path.resolve(projectRoot, "src/client.js")
996
+ main: path.resolve(projectRoot, "src/client.js")
1482
997
  },
1483
998
  module: {
1484
999
  rules: []
1485
1000
  },
1486
1001
  output: {
1487
- filename: "[name].[fullhash].js",
1488
- chunkFilename: "[name].[contenthash].js",
1002
+ filename: "[name].[contenthash:8].js",
1003
+ chunkFilename: "chunks/[name].[contenthash:8].js",
1489
1004
  path: path.resolve(projectRoot, "builds/web/client"),
1490
1005
  publicPath: "/",
1491
1006
  clean: true
1492
1007
  },
1493
1008
  plugins: [
1494
- // ...(!isProd ? [new webpack.HotModuleReplacementPlugin()] : []),
1495
- new webpackStatsPlugin.StatsWriterPlugin(),
1496
- ...!isProd2 ? [
1497
- // new WorkboxPlugin.GenerateSW({
1498
- // clientsClaim: true,
1499
- // skipWaiting: true,
1500
- // disableDevLogs: true
1501
- // }),
1502
- ] : [],
1009
+ // ...(!isProd ? [new rspack.HotModuleReplacementPlugin()] : []),
1010
+ new webpackStatsPlugin.StatsWriterPlugin({
1011
+ filename: "stats.json",
1012
+ stats: {
1013
+ all: false,
1014
+ assets: true,
1015
+ chunks: true,
1016
+ modules: true,
1017
+ entrypoints: true,
1018
+ chunkModules: true,
1019
+ assetsByChunkName: true
1020
+ }
1021
+ }),
1503
1022
  new purgecssWebpackPlugin.PurgeCSSPlugin({
1504
- printRejected: true,
1505
1023
  paths: glob.sync([
1506
1024
  path.join(projectRoot, "src/**/*.vue"),
1507
1025
  path.join(projectRoot, "src/**/*.js"),
@@ -1516,75 +1034,207 @@ const ssrClientConfig$1 = (projectRoot) => {
1516
1034
  safelist: {
1517
1035
  standard: ["safelisted", /^html/, /^:root/],
1518
1036
  deep: [/^safelisted-deep-/, /^html/, /^:root/],
1519
- greedy: [/data-v-.*/]
1037
+ greedy: [/^data-v-/, /\[data-v-.*\]/, /\[data-v-[a-zA-Z0-9]*\]/]
1520
1038
  },
1039
+ rejected: true,
1521
1040
  extractors: [
1522
1041
  {
1523
1042
  extractor: (content) => {
1524
- return content.match(/[A-Za-z0-9-_:/]+/g) || [];
1043
+ const normalClasses = content.match(/[A-Za-z0-9-_:\/]+/g) || [];
1044
+ const scopedAttrs = content.match(/\[data-v-[a-zA-Z0-9]*\]/g) || [];
1045
+ return [...normalClasses, ...scopedAttrs];
1525
1046
  },
1526
- extensions: ["vue"]
1047
+ extensions: ["vue", "js", "css", "scss"]
1527
1048
  }
1528
1049
  ]
1529
- })
1050
+ }),
1051
+ // PWA PWA PWA PWA PWA
1052
+ // Simple RspackManifestPlugin configuration
1053
+ new rspackManifestPlugin.RspackManifestPlugin({
1054
+ fileName: "manifest.json",
1055
+ publicPath: "/"
1056
+ }),
1057
+ ...isProd2 ? [
1058
+ new workboxRspackPlugin.InjectManifest({
1059
+ swSrc: path.resolve(projectRoot, "../public/sw.js"),
1060
+ swDest: "sw.js",
1061
+ exclude: [
1062
+ /\.html$/,
1063
+ /\.map$/,
1064
+ /\.js$/,
1065
+ // Исключаем JS из прекэша для SSR
1066
+ /\.css$/
1067
+ // Исключаем CSS из прекэша для SSR
1068
+ ],
1069
+ include: [
1070
+ /\.(png|jpg|jpeg|gif|webp|svg|ico)$/,
1071
+ /\.(woff|woff2|ttf|eot|otf)$/,
1072
+ /favicon/
1073
+ ],
1074
+ manifestTransforms: [
1075
+ (manifestEntries) => {
1076
+ const manifest = manifestEntries.filter((entry) => {
1077
+ return !entry.url.match(/\.(html|map)$/) && entry.size < 5 * 1024 * 1024;
1078
+ });
1079
+ return { manifest };
1080
+ }
1081
+ ]
1082
+ }),
1083
+ new rspackManifestPlugin.RspackManifestPlugin({
1084
+ fileName: "pwa-manifest.json",
1085
+ seed: {
1086
+ name: process.env.APP_NAME || "App by Martyrs Framework",
1087
+ short_name: process.env.APP_SHORT_NAME || "App",
1088
+ description: process.env.APP_DESCRIPTION || "Progressive Web App by Martyrs Framework",
1089
+ theme_color: "#000000",
1090
+ background_color: "#ffffff",
1091
+ display: "standalone",
1092
+ orientation: "portrait",
1093
+ scope: "/",
1094
+ start_url: "/",
1095
+ icons: [
1096
+ {
1097
+ src: "/favicon/android-chrome-192x192.png",
1098
+ sizes: "192x192",
1099
+ type: "image/png"
1100
+ },
1101
+ {
1102
+ src: "/favicon/android-chrome-512x512.png",
1103
+ sizes: "512x512",
1104
+ type: "image/png"
1105
+ }
1106
+ ]
1107
+ },
1108
+ generate: (seed) => seed
1109
+ })
1110
+ ] : []
1530
1111
  ],
1531
1112
  optimization: {
1113
+ sideEffects: false,
1532
1114
  usedExports: true,
1115
+ innerGraph: true,
1116
+ providedExports: true,
1117
+ runtimeChunk: false,
1533
1118
  splitChunks: {
1534
- chunks: "async",
1535
- minSize: 0,
1536
- minRemainingSize: 0,
1119
+ chunks: "all",
1120
+ minSize: 1e4,
1537
1121
  minChunks: 1,
1538
1122
  maxAsyncRequests: 30,
1539
- maxInitialRequests: 30,
1540
- enforceSizeThreshold: 5e4,
1123
+ maxInitialRequests: 5,
1541
1124
  cacheGroups: {
1125
+ // Vendor libraries (except Vue)
1542
1126
  vendor: {
1543
- test: /[\\/]node_modules[\\/]/,
1544
- name: "vendors",
1545
- priority: -10,
1546
- reuseExistingChunk: true
1127
+ test: /[\\/]node_modules[\\/](?!(vue|vue-router|vuex|@vue|@unhead|vue-i18n)[\\/])/,
1128
+ name: "vendor",
1129
+ priority: 10,
1130
+ chunks: "initial",
1131
+ enforce: true
1132
+ },
1133
+ // Vue core framework only
1134
+ vue: {
1135
+ test: /[\\/]node_modules[\\/](vue|vue-router|vuex|@vue|@unhead|vue-i18n)[\\/]/,
1136
+ name: "vue",
1137
+ priority: 20,
1138
+ chunks: "initial",
1139
+ reuseExistingChunk: true,
1140
+ enforce: true
1141
+ },
1142
+ // Martyrs modules - only for async imports
1143
+ modules: {
1144
+ test: /[\\/]martyrs[\\/]src[\\/]modules[\\/]/,
1145
+ chunks: "async",
1146
+ name: false,
1147
+ priority: 5,
1148
+ enforce: true
1149
+ },
1150
+ // Combine all CSS into single file
1151
+ styles: {
1152
+ name: "styles",
1153
+ type: "css/mini-extract",
1154
+ chunks: "all",
1155
+ enforce: true,
1156
+ minChunks: 1,
1157
+ reuseExistingChunk: true,
1158
+ priority: 100
1547
1159
  }
1548
1160
  }
1549
1161
  },
1550
1162
  minimize: isProd2,
1551
- minimizer: [new TerserPlugin(), new CssMinimizerPlugin()]
1163
+ minimizer: [
1164
+ new core.rspack.SwcJsMinimizerRspackPlugin(),
1165
+ new core.rspack.LightningCssMinimizerRspackPlugin()
1166
+ ]
1167
+ },
1168
+ stats: {
1169
+ assets: true,
1170
+ chunks: true,
1171
+ modules: true,
1172
+ ids: true,
1173
+ entrypoints: true,
1174
+ chunkModules: true
1552
1175
  }
1553
1176
  };
1554
1177
  return webpackMerge.merge(baseConfig$1(projectRoot), config);
1555
1178
  };
1556
- const apiConfig$1 = (projectRoot) => {
1557
- return {
1179
+ const ssrConfig = (projectRoot) => {
1180
+ const isProd2 = process.env.NODE_ENV === "production";
1181
+ const ssrConfig2 = {
1558
1182
  target: "node",
1559
- mode: "development",
1560
- entry: [path.resolve(projectRoot, "src/server.js")],
1183
+ // Для совместимости с VueSsrAssetsServerPlugin
1184
+ mode: !isProd2 ? "development" : "production",
1185
+ entry: {
1186
+ main: path.resolve(projectRoot, "src/client.js")
1187
+ },
1561
1188
  output: {
1562
- filename: "server.[fullhash].js",
1189
+ filename: "main.js",
1563
1190
  path: path.resolve(projectRoot, "builds/web/server"),
1564
- libraryTarget: "module",
1191
+ // Явно указываем формат чанков
1192
+ chunkFormat: "module",
1193
+ library: {
1194
+ type: "module"
1195
+ },
1196
+ clean: true,
1565
1197
  module: true,
1566
- clean: true
1198
+ environment: {
1199
+ module: true
1200
+ }
1567
1201
  },
1568
1202
  experiments: {
1569
1203
  outputModule: true
1570
1204
  },
1571
- resolve: {
1572
- alias: {
1573
- "@martyrs": path.resolve(projectRoot, "martyrs")
1574
- },
1575
- fallback: {
1576
- path: false
1577
- }
1205
+ module: {
1206
+ rules: [
1207
+ // CSS обрабатывается base конфигом, не нужен null-loader
1208
+ ]
1578
1209
  },
1579
- externals: [nodeExternals({
1580
- // Добавляем опцию importType для использования ESM импортов
1581
- importType: "module"
1582
- })],
1583
- plugins: [new webpack.HotModuleReplacementPlugin()]
1210
+ optimization: {
1211
+ minimize: false
1212
+ },
1213
+ externals: [
1214
+ nodeExternals({
1215
+ allowlist: [
1216
+ /^@ozdao*/,
1217
+ /\.(css|sass|scss)$/,
1218
+ /\.(vue)$/,
1219
+ /\.(html)$/
1220
+ ],
1221
+ importType: "module"
1222
+ })
1223
+ ],
1224
+ plugins: [
1225
+ new core.rspack.optimize.LimitChunkCountPlugin({
1226
+ maxChunks: 1
1227
+ }),
1228
+ ...isProd2 ? [new rspackManifestPlugin.RspackManifestPlugin({
1229
+ fileName: "manifest.json"
1230
+ })] : []
1231
+ ]
1584
1232
  };
1233
+ return webpackMerge.merge(baseConfig$1(projectRoot), ssrConfig2);
1585
1234
  };
1235
+ const { rspack: rspack$1 } = core;
1586
1236
  const isProd = process.env.NODE_ENV === "production";
1587
- const spaClientConfig$1 = (projectRoot) => {
1237
+ const spaConfig = (projectRoot) => {
1588
1238
  const spaConfig2 = {
1589
1239
  mode: !isProd ? "development" : "production",
1590
1240
  devtool: "source-map",
@@ -1592,18 +1242,18 @@ const spaClientConfig$1 = (projectRoot) => {
1592
1242
  main: path.resolve(projectRoot, "src/client.js")
1593
1243
  },
1594
1244
  output: {
1595
- filename: "main.js",
1245
+ filename: "[name].[contenthash:8].js",
1596
1246
  path: path.resolve(projectRoot, "builds/web/spa"),
1597
1247
  clean: true
1598
1248
  },
1599
1249
  target: "web",
1600
1250
  plugins: [
1601
- // ...(!isProd ? [new webpack.HotModuleReplacementPlugin()] : []),
1251
+ // ...(!isProd ? [new rspack.HotModuleReplacementPlugin()] : []),
1602
1252
  new webpackStatsPlugin.StatsWriterPlugin(),
1603
- new webpack.optimize.LimitChunkCountPlugin({
1253
+ new rspack$1.optimize.LimitChunkCountPlugin({
1604
1254
  maxChunks: 1
1605
1255
  }),
1606
- new HtmlWebpackPlugin({
1256
+ new rspack$1.HtmlRspackPlugin({
1607
1257
  templateContent: async () => {
1608
1258
  const meta = {
1609
1259
  htmlAttrs: 'lang="en"',
@@ -1622,76 +1272,78 @@ const spaClientConfig$1 = (projectRoot) => {
1622
1272
  filename: "index.html",
1623
1273
  inject: "body"
1624
1274
  })
1625
- // new CopyWebpackPlugin({
1275
+ // new rspack.CopyRspackPlugin({
1626
1276
  // patterns: [
1627
1277
  // { from: path.resolve(projectRoot, "../public/logo"), to: 'logo' },
1628
1278
  // { from: path.resolve(projectRoot, "../public/walkthrough"), to: 'walkthrough' },
1629
1279
  // { from: path.resolve(projectRoot, "../public/icons"), to: 'icons' }
1630
1280
  // ]
1631
1281
  // })
1632
- // new ServiceWorkerPlugin()
1633
1282
  ],
1634
1283
  optimization: {
1635
- minimizer: [new TerserPlugin(), new CssMinimizerPlugin()]
1284
+ minimizer: [new rspack$1.SwcJsMinimizerRspackPlugin(), , new rspack$1.LightningCssMinimizerRspackPlugin()]
1636
1285
  }
1637
1286
  };
1638
- return webpackMerge.merge(ssrClientConfig$1(projectRoot), spaConfig2);
1287
+ return webpackMerge.merge(clientConfig(projectRoot), spaConfig2);
1639
1288
  };
1640
- const ssrServerConfig$1 = (projectRoot) => {
1641
- const isProd2 = process.env.NODE_ENV === "production";
1642
- const ssrConfig2 = {
1289
+ const { rspack } = core;
1290
+ const apiConfig$1 = (projectRoot) => {
1291
+ return {
1643
1292
  target: "node",
1644
- mode: !isProd2 ? "development" : "production",
1645
- entry: {
1646
- main: path.resolve(projectRoot, "src/client.js")
1647
- },
1293
+ mode: "development",
1294
+ entry: [path.resolve(projectRoot, "src/server.js")],
1648
1295
  output: {
1649
- filename: "main.[fullhash].js",
1296
+ filename: "server.js",
1650
1297
  path: path.resolve(projectRoot, "builds/web/server"),
1651
1298
  libraryTarget: "module",
1299
+ chunkFormat: "module",
1652
1300
  module: true,
1653
1301
  clean: true
1654
1302
  },
1655
1303
  experiments: {
1656
1304
  outputModule: true
1657
1305
  },
1306
+ resolve: {
1307
+ alias: {
1308
+ "@martyrs": path.resolve(projectRoot, "martyrs")
1309
+ },
1310
+ fallback: {
1311
+ path: false
1312
+ }
1313
+ },
1314
+ // Добавляем externalsType для ES modules
1315
+ externalsType: "module",
1316
+ externals: [
1317
+ nodeExternals({
1318
+ allowlist: [],
1319
+ // Важно! Указываем importType для ES modules
1320
+ importType: "module"
1321
+ }),
1322
+ // Для .node файлов тоже используем module
1323
+ function({ context, request }, callback) {
1324
+ if (/\.node$/.test(request)) {
1325
+ return callback(null, `module ${request}`);
1326
+ }
1327
+ callback();
1328
+ }
1329
+ ],
1330
+ plugins: [],
1658
1331
  module: {
1659
1332
  rules: [
1660
1333
  {
1661
- test: /\.css$/,
1662
- use: "null-loader"
1334
+ test: /\.node$/,
1335
+ loader: "node-loader"
1663
1336
  }
1664
1337
  ]
1665
- },
1666
- optimization: {
1667
- minimize: false
1668
- },
1669
- plugins: [
1670
- new webpack.optimize.LimitChunkCountPlugin({
1671
- maxChunks: 1
1672
- }),
1673
- ...isProd2 ? [
1674
- new webpackManifestPlugin.WebpackManifestPlugin({
1675
- fileName: "manifest.json"
1676
- })
1677
- ] : []
1678
- ],
1679
- externals: [
1680
- nodeExternals({
1681
- allowlist: [/^vue-meta*/, /\.(css|sass|scss)$/, /\.(vue)$/, /\.(html)$/],
1682
- // Добавляем опцию importType для использования ESM импортов
1683
- importType: "module"
1684
- })
1685
- ]
1338
+ }
1686
1339
  };
1687
- return webpackMerge.merge(baseConfig$1(projectRoot), ssrConfig2);
1688
1340
  };
1689
- const webpackConfigs = {
1341
+ const rspackConfigs = {
1690
1342
  baseConfig: baseConfig$1,
1691
- ssrClientConfig: ssrClientConfig$1,
1343
+ clientConfig,
1692
1344
  apiConfig: apiConfig$1,
1693
- spaClientConfig: spaClientConfig$1,
1694
- ssrServerConfig: ssrServerConfig$1
1345
+ spaConfig,
1346
+ ssrConfig
1695
1347
  };
1696
1348
  function loadEnv(mode) {
1697
1349
  const envFile = `.env.${mode}`;
@@ -2204,24 +1856,18 @@ const viteConfigs = {
2204
1856
  };
2205
1857
  const builder = {
2206
1858
  rspackConfigs,
2207
- createSsrRspackDevServer: createSsrDevServer,
2208
- webpackConfigs,
2209
1859
  viteConfigs,
2210
- createSsrDevServer: createSsrDevServer$1,
1860
+ createSsrRspackDevServer: createSsrDevServer,
2211
1861
  createSsrViteDevServer,
2212
1862
  createSsrProdServer,
2213
- createSpaDevServer: createSpaDevServer$1,
2214
1863
  createSpaRspackDevServer: createSpaDevServer,
2215
1864
  createSpaProdServer
2216
1865
  };
2217
- exports.createSpaDevServer = createSpaDevServer$1;
2218
1866
  exports.createSpaProdServer = createSpaProdServer;
2219
1867
  exports.createSpaRspackDevServer = createSpaDevServer;
2220
- exports.createSsrDevServer = createSsrDevServer$1;
2221
1868
  exports.createSsrProdServer = createSsrProdServer;
2222
1869
  exports.createSsrRspackDevServer = createSsrDevServer;
2223
1870
  exports.createSsrViteDevServer = createSsrViteDevServer;
2224
1871
  exports.default = builder;
2225
1872
  exports.rspackConfigs = rspackConfigs;
2226
1873
  exports.viteConfigs = viteConfigs;
2227
- exports.webpackConfigs = webpackConfigs;