@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.js CHANGED
@@ -1,13 +1,12 @@
1
- import * as history from "connect-history-api-fallback";
2
- import history__default from "connect-history-api-fallback";
1
+ import history from "connect-history-api-fallback";
3
2
  import path from "path";
4
- import webpack from "webpack";
3
+ import chalk from "chalk";
4
+ import core, { rspack as rspack$2, ProgressPlugin } from "@rspack/core";
5
5
  import devMiddleware from "webpack-dev-middleware";
6
6
  import express from "express";
7
7
  import fs, { readFileSync } from "fs";
8
- import chalk from "chalk";
9
- import core, { rspack as rspack$2, ProgressPlugin } from "@rspack/core";
10
8
  import Mustache from "mustache";
9
+ import Beasties from "beasties";
11
10
  import compression from "compression";
12
11
  import { createServer } from "vite";
13
12
  import { VueLoaderPlugin } from "vue-loader";
@@ -22,11 +21,6 @@ import { InjectManifest } from "@aaroon/workbox-rspack-plugin";
22
21
  import { PurgeCSSPlugin } from "purgecss-webpack-plugin";
23
22
  import { RspackManifestPlugin } from "rspack-manifest-plugin";
24
23
  import nodeExternals from "webpack-node-externals";
25
- import MiniCssExtractPlugin from "mini-css-extract-plugin";
26
- import CssMinimizerPlugin from "css-minimizer-webpack-plugin";
27
- import TerserPlugin from "terser-webpack-plugin";
28
- import HtmlWebpackPlugin from "html-webpack-plugin";
29
- import { WebpackManifestPlugin } from "webpack-manifest-plugin";
30
24
  import vue from "@vitejs/plugin-vue";
31
25
  import dotenv from "dotenv";
32
26
  import rollupPluginVisualizer from "rollup-plugin-visualizer";
@@ -35,30 +29,20 @@ import * as purgecss from "purgecss";
35
29
  import "workbox-webpack-plugin";
36
30
  import { builtinModules } from "module";
37
31
  import { createHtmlPlugin } from "vite-plugin-html";
38
- function createSpaDevServer$1(projectRoot, { spaConfig: spaConfig2, apiConfig: apiConfig2 }) {
39
- const spaCompiler = webpack(spaConfig2);
40
- const serverCompiler = webpack(apiConfig2);
32
+ function createSpaDevServer(projectRoot, configs, createServer2) {
33
+ const { spa, api } = configs;
34
+ const spaCompiler = rspack$2(spa);
35
+ const serverCompiler = rspack$2(api);
41
36
  const createDevRenderer = () => {
42
- const colors2 = {
43
- reset: "\x1B[0m",
44
- greenBright: "\x1B[92;1m",
45
- // яркий зеленый + жирный
46
- blueBright: "\x1B[94m",
47
- // яркий синий
48
- yellow: "\x1B[33m"
49
- // желтый
50
- };
51
- const progressPlugin = new webpack.ProgressPlugin((percentage, message, ...args) => {
52
- process.stdout.write(
53
- colors2.greenBright + `${(percentage * 100).toFixed(2)}% ` + colors2.reset + colors2.blueBright + message + colors2.reset + " " + args.map((arg) => colors2.yellow + arg + colors2.reset).join(" ")
54
- );
37
+ const progressPlugin = new ProgressPlugin((percentage, message, ...args) => {
55
38
  });
56
- spaConfig2.plugins.push(progressPlugin);
39
+ spa.plugins = spa.plugins || [];
40
+ spa.plugins.push(progressPlugin);
57
41
  };
58
42
  let serverInstance;
59
43
  let serverModule;
60
44
  const clientDevMiddleware = devMiddleware(spaCompiler, {
61
- publicPath: spaConfig2.output.publicPath,
45
+ publicPath: spa.output.publicPath,
62
46
  stats: false
63
47
  });
64
48
  const port = process.env.PORT || 8080;
@@ -67,11 +51,10 @@ function createSpaDevServer$1(projectRoot, { spaConfig: spaConfig2, apiConfig: a
67
51
  serverInstance.close();
68
52
  }
69
53
  if (!serverModule) {
70
- console.error("Серверный модуль еще не скомпилирован");
71
54
  return;
72
55
  }
73
56
  let { app, server, env } = await serverModule.createServer();
74
- app.use(history__default());
57
+ app.use(history());
75
58
  app.use(clientDevMiddleware);
76
59
  app.get("*", (req, res, next) => {
77
60
  const filename = path.join(spaCompiler.outputPath, "index.html");
@@ -87,8 +70,6 @@ function createSpaDevServer$1(projectRoot, { spaConfig: spaConfig2, apiConfig: a
87
70
  serverInstance = server;
88
71
  try {
89
72
  await server.listen(port);
90
- console.log(`Server started at http://localhost:${port}
91
- `);
92
73
  } catch (err) {
93
74
  console.error(err);
94
75
  process.exit(1);
@@ -99,16 +80,15 @@ function createSpaDevServer$1(projectRoot, { spaConfig: spaConfig2, apiConfig: a
99
80
  console.error(err);
100
81
  return;
101
82
  }
102
- console.log(stats.toString(apiConfig2.stats));
103
83
  try {
104
- const { outputPath } = stats.toJson();
105
- const entryName = Object.keys(stats.toJson().entrypoints)[0];
106
- const assetName = stats.toJson().entrypoints[entryName].assets[0].name;
84
+ const statsJson = stats.toJson();
85
+ const { outputPath } = statsJson;
86
+ const entryName = Object.keys(statsJson.entrypoints)[0];
87
+ const assetName = statsJson.entrypoints[entryName].assets[0].name;
107
88
  serverModule = await import(`file://${path.resolve(outputPath, assetName)}?t=${Date.now()}`);
108
89
  if (typeof serverModule.createServer !== "function") {
109
90
  throw new Error("Экспорт createServer не найден");
110
91
  }
111
- console.log("Сервер скомпилирован, перезапуск...");
112
92
  await startServer();
113
93
  } catch (error) {
114
94
  console.error("Ошибка при загрузке серверного модуля:", error);
@@ -117,31 +97,29 @@ function createSpaDevServer$1(projectRoot, { spaConfig: spaConfig2, apiConfig: a
117
97
  createDevRenderer();
118
98
  return startServer;
119
99
  }
120
- function createSpaProdServer(projectRoot, config, createServer2) {
100
+ function createSpaProdServer(projectRoot, configs, createServer2) {
121
101
  const port = process.env.PORT || 8080;
102
+ let cachedIndexHtml = null;
122
103
  const startServer = async () => {
123
104
  let { app, server } = await createServer2.createServer();
105
+ try {
106
+ cachedIndexHtml = fs.readFileSync(path.resolve(projectRoot, "builds/web/spa", "index.html"), "utf-8");
107
+ console.log("Index.html cached in memory");
108
+ } catch (err) {
109
+ console.error("Cannot read index.html:", err);
110
+ process.exit(1);
111
+ }
124
112
  app.use(express.static(path.resolve(projectRoot, "builds/web/spa")));
125
113
  app.use(
126
- history__default({
114
+ history({
127
115
  index: "/index.html"
128
116
  })
129
117
  );
130
118
  app.get("*", (req, res) => {
131
- fs.readFile(path.resolve(projectRoot, "builds/web/spa", "index.html"), "utf-8", (err, content) => {
132
- if (err) {
133
- console.log('We cannot open "index.html" file.');
134
- res.writeHead(500, {
135
- "Content-Type": "text/plain; charset=utf-8"
136
- });
137
- res.end("Internal Server Error");
138
- return;
139
- }
140
- res.writeHead(200, {
141
- "Content-Type": "text/html; charset=utf-8"
142
- });
143
- res.end(content);
119
+ res.writeHead(200, {
120
+ "Content-Type": "text/html; charset=utf-8"
144
121
  });
122
+ res.end(cachedIndexHtml);
145
123
  });
146
124
  try {
147
125
  await server.listen(port);
@@ -154,130 +132,21 @@ function createSpaProdServer(projectRoot, config, createServer2) {
154
132
  };
155
133
  return startServer;
156
134
  }
157
- function createSpaDevServer(projectRoot, { spaConfig: spaConfig2, apiConfig: apiConfig2 }) {
158
- const spaCompiler = rspack$2(spaConfig2);
159
- const serverCompiler = rspack$2(apiConfig2);
160
- const createDevRenderer = () => {
161
- const progressPlugin = new ProgressPlugin((percentage, message, ...args) => {
162
- console.log(
163
- chalk.greenBright(`${(percentage * 100).toFixed(2)}% `) + chalk.blueBright(message) + " " + args.map((arg) => chalk.yellow(arg)).join(" ")
164
- );
165
- });
166
- spaConfig2.plugins = spaConfig2.plugins || [];
167
- spaConfig2.plugins.push(progressPlugin);
168
- };
169
- let serverInstance;
170
- let serverModule;
171
- const clientDevMiddleware = devMiddleware(spaCompiler, {
172
- publicPath: spaConfig2.output.publicPath,
173
- stats: false
174
- });
175
- const port = process.env.PORT || 8080;
176
- const startServer = async () => {
177
- if (serverInstance) {
178
- serverInstance.close();
179
- }
180
- if (!serverModule) {
181
- console.error("Серверный модуль еще не скомпилирован");
182
- return;
183
- }
184
- let { app, server, env } = await serverModule.createServer();
185
- app.use(history());
186
- app.use(clientDevMiddleware);
187
- app.get("*", (req, res, next) => {
188
- const filename = path.join(spaCompiler.outputPath, "index.html");
189
- spaCompiler.outputFileSystem.readFile(filename, (err, result) => {
190
- if (err) {
191
- return next(err);
192
- }
193
- res.set("content-type", "text/html");
194
- res.send(result);
195
- res.end();
196
- });
197
- });
198
- serverInstance = server;
199
- try {
200
- await server.listen(port);
201
- console.log(`Server started at http://localhost:${port}
202
- `);
203
- } catch (err) {
204
- console.error(err);
205
- process.exit(1);
206
- }
207
- };
208
- serverCompiler.watch({}, async (err, stats) => {
209
- if (err) {
210
- console.error(err);
211
- return;
212
- }
213
- console.log(stats.toString(apiConfig2.stats));
214
- try {
215
- const { outputPath } = stats.toJson();
216
- const entryName = Object.keys(stats.toJson().entrypoints)[0];
217
- const assetName = stats.toJson().entrypoints[entryName].assets[0].name;
218
- serverModule = await import(`file://${path.resolve(outputPath, assetName)}?t=${Date.now()}`);
219
- if (typeof serverModule.createServer !== "function") {
220
- throw new Error("Экспорт createServer не найден");
221
- }
222
- console.log("Сервер скомпилирован, перезапуск...");
223
- await startServer();
224
- } catch (error) {
225
- console.error("Ошибка при загрузке серверного модуля:", error);
226
- }
227
- });
228
- createDevRenderer();
229
- return startServer;
230
- }
231
135
  const page = `
232
136
  <html {{{ meta.htmlAttrs }}}>
233
137
  <head {{{ meta.headAttrs }}}>
234
138
  {{{ meta.headTags }}}
235
- <meta charset="UTF-8">
236
-
237
- <!-- Facebook Domain Verification -->
238
- {{#facebookDomainVerification}}
239
- <meta name="facebook-domain-verification" content="{{facebookDomainVerification}}">
240
- {{/facebookDomainVerification}}
241
139
 
140
+ <meta charset="UTF-8">
242
141
  <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png">
243
142
  <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
244
143
  <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
245
- <link rel="manifest" href="/manifest.json">
246
144
  <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5">
247
145
  <meta name="msapplication-TileColor" content="#000000">
248
146
  <meta name="theme-color" content="#ffffff">
249
147
  <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" />
250
- <!-- Facebook Pixel Code -->
251
- {{#facebookPixelId}}
252
- <script>
253
- !function(f,b,e,v,n,t,s)
254
- {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
255
- n.callMethod.apply(n,arguments):n.queue.push(arguments)};
256
- if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
257
- n.queue=[];t=b.createElement(e);t.async=!0;
258
- t.src=v;s=b.getElementsByTagName(e)[0];
259
- s.parentNode.insertBefore(t,s)}(window, document,'script',
260
- 'https://connect.facebook.net/en_US/fbevents.js');
261
- fbq('init', '{{facebookPixelId}}');
262
- fbq('track', 'PageView');
263
- </script>
264
- <noscript><img height="1" width="1" style="display:none"
265
- src="https://www.facebook.com/tr?id={{facebookPixelId}}&ev=PageView&noscript=1"
266
- /></noscript>
267
- {{/facebookPixelId}}
268
148
 
269
149
  {{{ head }}}
270
-
271
- <!-- Google Tag (gtag.js) -->
272
- {{#googleTagId}}
273
- <script async src="https://www.googletagmanager.com/gtag/js?id={{googleTagId}}"></script>
274
- <script>
275
- window.dataLayer = window.dataLayer || [];
276
- function gtag(){dataLayer.push(arguments);}
277
- gtag('js', new Date());
278
- gtag('config', '{{googleTagId}}');
279
- </script>
280
- {{/googleTagId}}
281
150
  </head>
282
151
 
283
152
  <body {{{ meta.bodyAttrs }}}>
@@ -292,6 +161,25 @@ const page = `
292
161
  </script>
293
162
 
294
163
  {{{ meta.body }}} {{{ body }}}
164
+
165
+ <script>
166
+ // Load PWA manifest after initial render
167
+ if ('requestIdleCallback' in window) {
168
+ requestIdleCallback(() => {
169
+ const link = document.createElement('link');
170
+ link.rel = 'manifest';
171
+ link.href = '/manifest.json';
172
+ document.head.appendChild(link);
173
+ });
174
+ } else {
175
+ setTimeout(() => {
176
+ const link = document.createElement('link');
177
+ link.rel = 'manifest';
178
+ link.href = '/manifest.json';
179
+ document.head.appendChild(link);
180
+ }, 0);
181
+ }
182
+ </script>
295
183
  </body>
296
184
  </html>
297
185
  `;
@@ -322,226 +210,194 @@ const createHtmlRenderer$1 = (onTemplateUpdate) => {
322
210
  return Mustache.render(page, data);
323
211
  };
324
212
  };
325
- const normalizeAssets = (assets) => {
326
- if (Array.isArray(assets)) return assets;
327
- if (typeof assets === "object") return Object.values(assets);
328
- return [assets];
329
- };
330
- const transformDevStats = (stats, outputFileSystem) => {
331
- const {
332
- assetsByChunkName: { main },
333
- outputPath,
334
- publicPath
335
- } = stats;
336
- const head = `
337
- <style>
338
- ${normalizeAssets(main).filter((path2) => path2.endsWith(".css")).map((path2) => outputFileSystem.readFileSync(path2.join(outputPath, path2))).join("\n")}
339
- </style>
340
- `;
341
- const body = normalizeAssets(main).filter((path2) => path2.endsWith(".js")).map((path2) => `<script src="${publicPath}${path2}"></script>`).join("\n");
342
- return { head, body };
343
- };
344
- const transformProdStats = ({ stats, publicPath }) => {
345
- const {
346
- assetsByChunkName: { main }
347
- } = stats;
348
- const head = normalizeAssets(main).filter((path2) => path2.endsWith(".css")).map((path2) => `<link rel="stylesheet" href="${publicPath}${path2}">`).join("\n");
349
- const body = normalizeAssets(main).filter((path2) => path2.endsWith(".js")).map((path2) => `<script src="${publicPath}${path2}"></script>`).join("\n");
350
- return { head, body };
351
- };
352
- function createSsrDevServer$1(projectRoot, { clientConfig: clientConfig2, apiConfig: apiConfig2, ssrConfig: ssrConfig2, createServer: createServer2 }) {
353
- const addHmrToClientConfig = (config) => {
354
- return config;
355
- };
356
- const clientConfigWithHmr = addHmrToClientConfig({ ...clientConfig2 });
357
- const clientCompiler = rspack$2(clientConfigWithHmr);
358
- const ssrCompiler = rspack$2(ssrConfig2);
359
- const createDevRenderer = () => {
360
- const createHotReloadingServerRenderer = (config) => {
361
- const progressPlugin = new ProgressPlugin((percentage, message, ...args) => {
362
- console.log(
363
- chalk.greenBright(`${(percentage * 100).toFixed(2)}% `) + chalk.blueBright(message) + " " + args.map((arg) => chalk.yellow(arg)).join(" ")
364
- );
365
- });
366
- config.plugins = config.plugins || [];
367
- config.plugins.push(progressPlugin);
368
- let renderApp2 = null;
369
- let setCompilationDone = null;
370
- let ssrCompilation = new Promise((resolve) => {
371
- setCompilationDone = resolve;
372
- });
373
- ssrCompiler.watch({ "info-verbosity": "none" }, async (error, stats) => {
374
- if (error) {
375
- console.error(chalk.red("Server critical error"));
376
- console.error(JSON.stringify(error, null, 2));
377
- throw error;
213
+ function createAssetResolver(statsJson) {
214
+ return {
215
+ collect(usedModules = [], options = {}) {
216
+ const initialFiles = /* @__PURE__ */ new Set();
217
+ const moduleFiles = /* @__PURE__ */ new Set();
218
+ const entrypointName = statsJson?.entrypoints?.app ? "app" : "main";
219
+ if (statsJson?.entrypoints?.[entrypointName]?.assets) {
220
+ for (const asset of statsJson.entrypoints[entrypointName].assets) {
221
+ const filename = typeof asset === "string" ? asset : asset.name;
222
+ if (filename) initialFiles.add(filename);
378
223
  }
379
- const jsonStats = stats.toJson();
380
- if (stats.hasErrors()) {
381
- console.error(chalk.red("Server compilation error"));
382
- jsonStats.errors.forEach((err) => {
383
- if (err.details) {
384
- console.error(err.details);
385
- } else if (typeof err === "object") {
386
- try {
387
- console.error(JSON.stringify(err, null, 2));
388
- } catch (e) {
389
- console.error(e);
390
- }
391
- } else {
392
- console.error(chalk.red(err.slice()));
224
+ }
225
+ if (usedModules.length > 0 && statsJson?.assetsByChunkName) {
226
+ for (const moduleName of usedModules) {
227
+ const chunkName = `module-${moduleName}`;
228
+ if (statsJson.assetsByChunkName[chunkName]) {
229
+ const assets = statsJson.assetsByChunkName[chunkName];
230
+ const assetList = Array.isArray(assets) ? assets : [assets];
231
+ for (const asset of assetList) {
232
+ moduleFiles.add(asset);
393
233
  }
394
- });
395
- return;
234
+ }
235
+ if (statsJson.assetsByChunkName[moduleName]) {
236
+ const assets = statsJson.assetsByChunkName[moduleName];
237
+ const assetList = Array.isArray(assets) ? assets : [assets];
238
+ for (const asset of assetList) {
239
+ moduleFiles.add(asset);
240
+ }
241
+ }
242
+ }
243
+ } else if (usedModules.length > 0 && statsJson?.modules && statsJson?.chunks) {
244
+ const neededChunks = /* @__PURE__ */ new Set();
245
+ for (const module of statsJson.modules) {
246
+ const moduleId = module.identifier || module.id || module.name;
247
+ if (!moduleId) continue;
248
+ const isUsed = usedModules.some(
249
+ (used) => moduleId.includes(used) || used.includes(moduleId)
250
+ );
251
+ if (isUsed && module.chunks) {
252
+ for (const chunkId of module.chunks) {
253
+ neededChunks.add(chunkId);
254
+ }
255
+ }
256
+ }
257
+ for (const chunk of statsJson.chunks) {
258
+ if (neededChunks.has(chunk.id)) {
259
+ for (const file of chunk.files || []) {
260
+ moduleFiles.add(file);
261
+ }
262
+ }
396
263
  }
397
- const { entrypoints, outputPath } = jsonStats;
398
- const { main: { assets: [mainChunkPath] } } = entrypoints;
399
- const mainModulePath = path.resolve(outputPath, mainChunkPath.name);
400
- const module = await import(mainModulePath);
401
- renderApp2 = module.render;
402
- setCompilationDone();
264
+ }
265
+ const initialJs = [];
266
+ const moduleJs = [];
267
+ const css = [];
268
+ for (const file of initialFiles) {
269
+ if (file.endsWith(".js")) initialJs.push(file);
270
+ if (file.endsWith(".css")) css.push(file);
271
+ }
272
+ initialJs.sort((a, b) => {
273
+ const getPriority = (file) => {
274
+ if (file.includes("runtime")) return 1;
275
+ if (file.includes("vue")) return 2;
276
+ if (file.includes("vendor")) return 3;
277
+ if (file.includes("main")) return 4;
278
+ return 5;
279
+ };
280
+ return getPriority(a) - getPriority(b);
403
281
  });
404
- return async (stuff) => {
405
- await ssrCompilation;
406
- return await renderApp2(stuff);
282
+ for (const file of moduleFiles) {
283
+ if (file.endsWith(".js") && !initialFiles.has(file)) {
284
+ moduleJs.push(file);
285
+ }
286
+ if (file.endsWith(".css") && !initialFiles.has(file)) {
287
+ css.push(file);
288
+ }
289
+ }
290
+ const publicPath = "/";
291
+ if (options.criticalCss) {
292
+ const result2 = {
293
+ head: [
294
+ // Modulepreload для ВСЕХ initial chunks для параллельной загрузки
295
+ ...initialJs.map((src) => `<link rel="modulepreload" href="${publicPath}${src}">`),
296
+ // Module chunks as modulepreload
297
+ ...moduleJs.map((src) => `<link rel="modulepreload" href="${publicPath}${src}">`),
298
+ // CSS файлы будут обработаны Beasties, поэтому добавляем их как обычные link теги
299
+ ...css.map((href) => `<link rel="stylesheet" href="${publicPath}${href}">`)
300
+ ].join("\n"),
301
+ // Script tags в body для выполнения после загрузки
302
+ body: initialJs.map((src) => `<script type="module" src="${publicPath}${src}"></script>`).join("\n")
303
+ };
304
+ return result2;
305
+ }
306
+ const result = {
307
+ head: [
308
+ // Modulepreload для ВСЕХ initial chunks для параллельной загрузки
309
+ ...initialJs.map((src) => `<link rel="modulepreload" href="${publicPath}${src}">`),
310
+ // Module chunks as modulepreload
311
+ ...moduleJs.map((src) => `<link rel="modulepreload" href="${publicPath}${src}">`),
312
+ ...css.map((href) => `<link rel="stylesheet" href="${publicPath}${href}">`)
313
+ ].join("\n"),
314
+ // Script tags в body для выполнения после загрузки
315
+ body: initialJs.map((src) => `<script type="module" src="${publicPath}${src}"></script>`).join("\n")
407
316
  };
408
- };
409
- const renderApp = createHotReloadingServerRenderer(ssrConfig2);
410
- const renderHtml2 = createHtmlRenderer$1();
411
- return async (stuff, stats) => {
412
- const { html, meta, state, statusCode } = await renderApp(stuff);
413
- const publicPath = clientConfigWithHmr.output.publicPath;
414
- const { head, body } = extractAssets(stats, publicPath);
415
- const initialState = JSON.stringify(state);
416
- const completeHtml = await renderHtml2({
417
- appHtml: html,
418
- meta,
419
- head,
420
- body,
421
- initialState
422
- });
423
- return { html: completeHtml, statusCode };
424
- };
425
- };
426
- let serverInstance;
427
- let rendererInstance;
428
- const port = process.env.PORT || 8080;
429
- const startServer = async () => {
430
- if (serverInstance) {
431
- serverInstance.close();
432
- }
433
- const { app, server } = await createServer2.createServer();
434
- clientCompiler.devMiddleware(app, {
435
- publicPath: clientConfigWithHmr.output.publicPath,
436
- stats: false
437
- });
438
- clientCompiler.hotMiddleware(app);
439
- if (!rendererInstance) {
440
- rendererInstance = createDevRenderer();
441
- clientCompiler.hooks.done.tap("reload", (stats) => {
442
- });
317
+ return result;
443
318
  }
444
- app.use("/*", async (req, res) => {
319
+ };
320
+ }
321
+ function createBeastiesProcessor(projectRoot, options = {}) {
322
+ const cssPath = path.join(projectRoot, "builds/web/client");
323
+ console.log("[Beasties] Initializing with CSS path:", cssPath);
324
+ const beasties = new Beasties({
325
+ // ВАЖНО: указываем путь к директории с CSS файлами
326
+ path: cssPath,
327
+ // Публичный путь для резолва URL в link тегах
328
+ publicPath: "/",
329
+ // Обрабатывать внешние CSS файлы
330
+ external: true,
331
+ // Встроить ВСЕ используемые стили без ограничений
332
+ inlineThreshold: 0,
333
+ // Lazy-load остальные стили через swap
334
+ preload: "swap",
335
+ // НЕ УДАЛЯТЬ встроенные правила из внешних файлов (иначе ломается для последующих запросов)
336
+ pruneSource: false,
337
+ // Добавить noscript fallback для браузеров без JS
338
+ noscriptFallback: true,
339
+ // Минифицировать встроенные стили
340
+ compress: true,
341
+ // Встраивать критические keyframes
342
+ keyframes: "critical",
343
+ // Встраивать используемые шрифты
344
+ fonts: true,
345
+ // Уровень логирования для отладки
346
+ logLevel: process.env.NODE_ENV === "production" ? "warn" : "info",
347
+ // Дополнительные опции пользователя
348
+ ...options
349
+ });
350
+ return {
351
+ async processHtml(html, { url } = {}) {
445
352
  try {
446
- const stats = clientCompiler.getStats().toJson();
447
- const result = await rendererInstance(
448
- {
449
- url: req.originalUrl,
450
- cookies: req.cookies,
451
- languages: req.acceptsLanguages()
452
- },
453
- stats
454
- );
455
- res.status(result.statusCode).header("Content-Type", "text/html; charset=utf-8").send(result.html);
456
- } catch (err) {
457
- console.error(err);
458
- res.status(500).send("Internal Server Error");
353
+ console.log("[Beasties] Processing HTML for URL:", url);
354
+ const cssLinks = html.match(/<link[^>]*rel="stylesheet"[^>]*>/g);
355
+ console.log("[Beasties] Found CSS links:", cssLinks?.length || 0);
356
+ const processedHtml = await beasties.process(html);
357
+ const hasInlineStyles = processedHtml.includes("<style>");
358
+ const hasSwapLinks = processedHtml.includes(`onload="this.media='all'`);
359
+ console.log("[Beasties] Critical CSS inlined:", hasInlineStyles);
360
+ console.log("[Beasties] CSS lazy-loading enabled:", hasSwapLinks);
361
+ const inlineStyleMatch = processedHtml.match(/<style[^>]*>([\s\S]*?)<\/style>/);
362
+ if (inlineStyleMatch) {
363
+ const inlineSize = inlineStyleMatch[1].length;
364
+ console.log("[Beasties] Inline CSS size:", Math.round(inlineSize / 1024), "KB");
365
+ }
366
+ const optimizedHtml = removeDuplicateStyles(processedHtml);
367
+ return optimizedHtml;
368
+ } catch (error) {
369
+ console.error("[Beasties] Processing error:", error);
370
+ console.error("[Beasties] Error stack:", error.stack);
371
+ return html;
459
372
  }
460
- });
461
- serverInstance = server;
462
- try {
463
- await server.listen(port);
464
- console.log(`Server started at localhost:${port}
465
- `);
466
- } catch (err) {
467
- console.error(err);
468
- process.exit(1);
469
373
  }
470
374
  };
471
- return startServer;
472
375
  }
473
- function createSsrProdServer(projectRoot, { clientConfig: clientConfig2, apiConfig: apiConfig2 }, createServerPath) {
474
- const clientStats = JSON.parse(readFileSync(path.join(projectRoot, "builds/web/client/stats.json"), "utf-8"));
475
- const serverManifest = JSON.parse(readFileSync(path.join(projectRoot, "builds/web/server/manifest.json"), "utf-8"));
476
- const { createServer: createServer2 } = createServerPath;
477
- const startServer = async () => {
478
- const { app, server, env } = await createServer2();
479
- app.use(
480
- clientConfig2.output.publicPath,
481
- express.static(path.resolve(projectRoot, "builds/web/client"), {
482
- maxAge: "1d"
483
- // Кэширование на 1 день
484
- })
485
- );
486
- const { render } = await import(path.join(
487
- apiConfig2.output.path,
488
- serverManifest["main.js"]
489
- ));
490
- const { head, body } = transformProdStats({
491
- stats: clientStats,
492
- publicPath: clientConfig2.output.publicPath
493
- });
494
- app.use("/*", async (req, res) => {
495
- const { html, meta, state, statusCode } = await render({
496
- url: req.originalUrl,
497
- cookies: req.cookies,
498
- languages: req.acceptsLanguages()
499
- });
500
- if (state.NotFound) {
501
- res.status(404);
502
- }
503
- const initialState = JSON.stringify(state);
504
- const completeHtml = await renderHtml({
505
- appHtml: html,
506
- meta,
507
- head,
508
- body,
509
- initialState
510
- });
511
- res.status(statusCode).header("Content-Type", "text/html; charset=utf-8").send(completeHtml);
512
- });
513
- return server;
514
- };
515
- const port = process.env.PORT || 8080;
516
- const start = async () => {
517
- const server = await startServer();
518
- try {
519
- server.listen(port, () => console.log(`Server running on port ${port}`));
520
- } catch (err) {
521
- console.error(err);
522
- process.exit(1);
376
+ function removeDuplicateStyles(html) {
377
+ const styleRegex = /<style[^>]*>([\s\S]*?)<\/style>/gi;
378
+ const styles = /* @__PURE__ */ new Set();
379
+ return html.replace(styleRegex, (match, content) => {
380
+ const trimmedContent = content.trim();
381
+ if (styles.has(trimmedContent)) {
382
+ return "";
523
383
  }
524
- };
525
- return start;
384
+ styles.add(trimmedContent);
385
+ return match;
386
+ });
526
387
  }
527
- function createSsrDevServer(projectRoot, { clientConfig: clientConfig2, apiConfig: apiConfig2, ssrConfig: ssrConfig2 }) {
528
- const clientCompiler = rspack$2(clientConfig2);
529
- const ssrCompiler = rspack$2(ssrConfig2);
530
- const serverCompiler = rspack$2(apiConfig2);
388
+ function createSsrDevServer(projectRoot, configs, createServer2) {
389
+ const { client, api, ssr } = configs;
390
+ const clientCompiler = rspack$2(client);
391
+ const ssrCompiler = rspack$2(ssr);
392
+ const serverCompiler = rspack$2(api);
393
+ const beastiesProcessor = createBeastiesProcessor(projectRoot);
531
394
  const createDevRenderer = (onUpdate) => {
532
- const createHotReloadingServerRenderer = (config) => {
395
+ const createHotReloadingServerRenderer = () => {
533
396
  const progressPlugin = new ProgressPlugin((percentage, message, ...args) => {
534
- console.log(
535
- chalk.greenBright(`${(percentage * 100).toFixed(2)}% `) + chalk.blueBright(message) + " " + args.map((arg) => chalk.yellow(arg)).join(" ")
536
- );
537
397
  });
538
- config.plugins = config.plugins || [];
539
- config.plugins.push(progressPlugin);
398
+ ssr.plugins = ssr.plugins || [];
399
+ ssr.plugins.push(progressPlugin);
540
400
  let renderApp2 = null;
541
- let setCompilationDone = null;
542
- let ssrCompilation = new Promise((resolve) => {
543
- setCompilationDone = resolve;
544
- });
545
401
  ssrCompiler.watch(
546
402
  {
547
403
  "info-verbosity": "none"
@@ -572,30 +428,54 @@ function createSsrDevServer(projectRoot, { clientConfig: clientConfig2, apiConfi
572
428
  const { entrypoints, outputPath } = jsonStats;
573
429
  const { main: { assets: [mainChunkPath] } } = entrypoints;
574
430
  const mainModulePath = path.resolve(outputPath, mainChunkPath.name);
575
- const module = await import(mainModulePath);
431
+ const module = await import(`${mainModulePath}?t=${Date.now()}`);
576
432
  renderApp2 = module.render;
577
- setCompilationDone();
578
433
  }
579
434
  );
580
435
  return async (stuff) => {
581
- await ssrCompilation;
436
+ if (!renderApp2) {
437
+ throw new Error("SSR module not compiled yet");
438
+ }
582
439
  const result = await renderApp2(stuff);
583
440
  return result;
584
441
  };
585
442
  };
586
- const renderApp = createHotReloadingServerRenderer(ssrConfig2);
443
+ const renderApp = createHotReloadingServerRenderer();
587
444
  const renderHtml2 = createHtmlRenderer$1(onUpdate);
588
445
  return async (stuff, { stats, outputFileSystem }) => {
589
- const { html, meta, state, statusCode } = await renderApp(stuff);
590
- const { head, body } = transformDevStats(stats.toJson(), outputFileSystem);
446
+ const ssrContext = {};
447
+ const { html, meta, state, statusCode, usedModules, loadedModules } = await renderApp({
448
+ ...stuff,
449
+ ssrContext
450
+ });
451
+ const modulesToLoad = loadedModules || usedModules || [];
452
+ let head = "";
453
+ let body = "";
454
+ if (cachedStatsJson) {
455
+ const resolver = createAssetResolver(cachedStatsJson);
456
+ const tags = resolver.collect(modulesToLoad);
457
+ head = tags.head;
458
+ body = tags.body;
459
+ } else if (stats && stats.toJson) {
460
+ const statsJson = stats.toJson();
461
+ const resolver = createAssetResolver(statsJson);
462
+ const tags = resolver.collect(modulesToLoad);
463
+ head = tags.head;
464
+ body = tags.body;
465
+ } else {
466
+ console.error("[DEBUG ssr.rspack.dev] No stats available!");
467
+ }
591
468
  const initialState = JSON.stringify(state);
592
- const completeHtml = await renderHtml2({
469
+ let completeHtml = await renderHtml2({
593
470
  appHtml: html,
594
471
  meta,
595
472
  head,
596
473
  body,
597
474
  initialState
598
475
  });
476
+ completeHtml = await beastiesProcessor.processHtml(completeHtml, {
477
+ url: stuff.url
478
+ });
599
479
  return { html: completeHtml, statusCode };
600
480
  };
601
481
  };
@@ -607,7 +487,6 @@ function createSsrDevServer(projectRoot, { clientConfig: clientConfig2, apiConfi
607
487
  console.error(err);
608
488
  return;
609
489
  }
610
- console.log(stats.toString(apiConfig2.stats));
611
490
  try {
612
491
  const { outputPath } = stats.toJson();
613
492
  const entryName = Object.keys(stats.toJson().entrypoints)[0];
@@ -616,19 +495,31 @@ function createSsrDevServer(projectRoot, { clientConfig: clientConfig2, apiConfi
616
495
  if (typeof serverModule.createServer !== "function") {
617
496
  throw new Error("Экспорт createServer не найден");
618
497
  }
619
- console.log("Сервер скомпилирован, перезапуск...");
620
498
  await startServer();
621
499
  } catch (error) {
622
500
  console.error("Ошибка при загрузке серверного модуля:", error);
623
501
  }
624
502
  });
503
+ let cachedStatsJson = null;
504
+ clientCompiler.hooks.done.tap("cache-stats", (stats) => {
505
+ cachedStatsJson = stats.toJson({
506
+ assets: true,
507
+ chunks: true,
508
+ modules: true,
509
+ entrypoints: true,
510
+ chunkModules: true
511
+ });
512
+ });
625
513
  const clientDevMiddleware = devMiddleware(clientCompiler, {
626
- publicPath: clientConfig2.output.publicPath,
514
+ publicPath: client.output.publicPath,
627
515
  serverSideRender: true,
628
- stats: "minimal",
629
- // или 'errors-only'
630
516
  stats: {
631
- children: true
517
+ children: true,
518
+ assets: true,
519
+ chunks: true,
520
+ modules: true,
521
+ entrypoints: true,
522
+ chunkModules: true
632
523
  }
633
524
  });
634
525
  const port = process.env.PORT || 8080;
@@ -665,8 +556,6 @@ function createSsrDevServer(projectRoot, { clientConfig: clientConfig2, apiConfi
665
556
  serverInstance = server;
666
557
  try {
667
558
  await server.listen(port);
668
- console.log(`Server started at localhost:${port}
669
- `);
670
559
  } catch (err) {
671
560
  console.error(err);
672
561
  process.exit(1);
@@ -851,37 +740,92 @@ const createSsrViteDevServer = function createSsrDevServer2(projectRoot, { clien
851
740
  };
852
741
  return startServer;
853
742
  };
854
- const baseConfig$2 = (projectRoot) => {
855
- return {
856
- context: projectRoot,
857
- resolve: {
858
- alias: {
859
- "@": path.resolve(projectRoot, "src"),
860
- "@martyrs": path.resolve(projectRoot, "martyrs"),
861
- "vue": path.resolve(projectRoot, "node_modules/vue"),
862
- "vue-router": path.resolve(projectRoot, "node_modules/vue-router"),
863
- "vue-i18n": path.resolve(projectRoot, "node_modules/vue-i18n")
743
+ function createSsrProdServer(projectRoot, configs, createServer2) {
744
+ const statsJson = JSON.parse(readFileSync(path.join(projectRoot, "builds/web/client/stats.json"), "utf-8"));
745
+ const serverManifest = JSON.parse(readFileSync(path.join(projectRoot, "builds/web/server/manifest.json"), "utf-8"));
746
+ const resolver = createAssetResolver(statsJson);
747
+ const beastiesProcessor = createBeastiesProcessor(projectRoot);
748
+ const startServer = async () => {
749
+ const { app, server, env } = await createServer2.createServer();
750
+ const { render } = await import(path.join(
751
+ path.resolve(projectRoot, "builds/web/server"),
752
+ serverManifest["main.js"]
753
+ ));
754
+ app.use("/*", async (req, res) => {
755
+ if (req.originalUrl.includes(".js")) {
756
+ console.log("[SSR] JS request caught in SSR handler:", req.originalUrl);
864
757
  }
865
- },
866
- module: {
867
- rules: [
868
- {
869
- test: /\.m?js$/,
870
- exclude: /node_modules\/(?!(vue-meta)\/).*/,
871
- use: {
872
- loader: "builtin:swc-loader",
873
- options: {
874
- jsc: {
875
- parser: {
876
- syntax: "ecmascript",
877
- jsx: false
878
- },
879
- target: "es2020"
880
- }
881
- }
882
- }
883
- },
884
- {
758
+ const ssrContext = {};
759
+ const { html, meta, state, statusCode, usedModules, loadedModules } = await render({
760
+ url: req.originalUrl,
761
+ cookies: req.cookies,
762
+ languages: req.acceptsLanguages(),
763
+ ssrContext
764
+ });
765
+ if (state.NotFound) {
766
+ res.status(404);
767
+ }
768
+ const initialState = JSON.stringify(state);
769
+ const modulesToLoad = loadedModules || usedModules || [];
770
+ const { head, body } = resolver.collect(modulesToLoad, { criticalCss: true });
771
+ let completeHtml = await renderHtml({
772
+ appHtml: html,
773
+ meta,
774
+ head,
775
+ body,
776
+ initialState
777
+ });
778
+ completeHtml = await beastiesProcessor.processHtml(completeHtml, {
779
+ url: req.originalUrl
780
+ });
781
+ res.status(statusCode).header("Content-Type", "text/html; charset=utf-8").send(completeHtml);
782
+ });
783
+ return server;
784
+ };
785
+ const port = process.env.PORT || 8080;
786
+ const start = async () => {
787
+ const server = await startServer();
788
+ try {
789
+ server.listen(port, () => {
790
+ });
791
+ } catch (err) {
792
+ console.error(err);
793
+ process.exit(1);
794
+ }
795
+ };
796
+ return start;
797
+ }
798
+ const baseConfig$1 = (projectRoot) => {
799
+ return {
800
+ context: projectRoot,
801
+ resolve: {
802
+ alias: {
803
+ "@": path.resolve(projectRoot, "src"),
804
+ "@martyrs": path.resolve(projectRoot, "martyrs"),
805
+ "vue": path.resolve(projectRoot, "node_modules/vue"),
806
+ "vue-router": path.resolve(projectRoot, "node_modules/vue-router"),
807
+ "vue-i18n": path.resolve(projectRoot, "node_modules/vue-i18n")
808
+ }
809
+ },
810
+ module: {
811
+ rules: [
812
+ {
813
+ test: /\.m?js$/,
814
+ exclude: /node_modules\/(?!(vue-meta)\/).*/,
815
+ use: {
816
+ loader: "builtin:swc-loader",
817
+ options: {
818
+ jsc: {
819
+ parser: {
820
+ syntax: "ecmascript",
821
+ jsx: false
822
+ },
823
+ target: "es2020"
824
+ }
825
+ }
826
+ }
827
+ },
828
+ {
885
829
  test: /\.vue$/,
886
830
  loader: "vue-loader",
887
831
  options: {
@@ -910,449 +854,17 @@ const baseConfig$2 = (projectRoot) => {
910
854
  }
911
855
  );
912
856
  return { code: rewritten };
913
- }
914
- }
915
- }
916
- }
917
- },
918
- {
919
- test: /\.(sa|sc|c)ss$/,
920
- use: [
921
- process.env.NODE_ENV !== "production" ? "vue-style-loader" : rspack$2.CssExtractRspackPlugin.loader,
922
- {
923
- loader: "css-loader",
924
- options: {
925
- sourceMap: true,
926
- url: {
927
- filter: (url, resourcePath) => {
928
- if (url.indexOf("/fonts/") == 0) {
929
- return false;
930
- }
931
- return true;
932
- }
933
- }
934
- }
935
- },
936
- {
937
- loader: "sass-loader",
938
- options: {
939
- sourceMap: true
940
- }
941
- }
942
- ],
943
- type: "javascript/auto"
944
- },
945
- {
946
- test: /\.(?:ico|gif|png|jpg|jpeg|mp4|webp|webm|svg|woff2?|eot|ttf|otf)$/i,
947
- type: "asset/resource"
948
- }
949
- ]
950
- },
951
- experiments: {
952
- css: false
953
- },
954
- plugins: [
955
- ...process.env.BUNDLE_ANALYZER ? [new RsdoctorRspackPlugin(), new BundleAnalyzerPlugin()] : [],
956
- new VueLoaderPlugin(),
957
- ...process.env.NODE_ENV === "production" ? [new rspack$2.CssExtractRspackPlugin({
958
- filename: "[name].[contenthash].css",
959
- chunkFilename: "[id].[contenthash].css",
960
- ignoreOrder: true
961
- })] : [],
962
- new CleanWebpackPlugin(),
963
- new Dotenv({
964
- path: `.env.${process.env.NODE_ENV}`
965
- // ...(process.env.MODE === "SPA" ? [{path: '.env.mobile'}] : []),
966
- }),
967
- new rspack$2.DefinePlugin({
968
- __VUE_I18N_LEGACY_API__: false,
969
- __VUE_OPTIONS_API__: true,
970
- __VUE_PROD_DEVTOOLS_: false,
971
- __VUE_PROD_DEVTOOLS__: true,
972
- __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: true,
973
- __VUE_I18N_FULL_INSTALL__: true,
974
- __INTLIFY_PROD_DEVTOOLS__: false,
975
- __MOBILE_APP__: process.env.MODE === "SPA" ? true : false
976
- })
977
- ],
978
- infrastructureLogging: {
979
- level: "verbose"
980
- },
981
- stats: {
982
- // Минимальный вывод
983
- preset: "minimal",
984
- // Или более детальная настройка:
985
- modules: false,
986
- chunks: false,
987
- chunkModules: false,
988
- chunkOrigins: false,
989
- entrypoints: false,
990
- assets: false,
991
- moduleTrace: false,
992
- errorDetails: false,
993
- // Показывать только ошибки и предупреждения
994
- errors: true,
995
- warnings: true,
996
- // Цвета в терминале
997
- colors: true
998
- }
999
- };
1000
- };
1001
- const clientConfig = (projectRoot) => {
1002
- const isProd2 = process.env.NODE_ENV === "production";
1003
- const config = {
1004
- mode: !isProd2 ? "development" : "production",
1005
- devtool: !isProd2 ? "inline-source-map" : "source-map",
1006
- entry: {
1007
- main: path.resolve(projectRoot, "src/client.js")
1008
- },
1009
- module: {
1010
- rules: []
1011
- },
1012
- output: {
1013
- filename: "[name].js",
1014
- chunkFilename: "[name].js",
1015
- path: path.resolve(projectRoot, "builds/web/client"),
1016
- publicPath: "/",
1017
- clean: true
1018
- },
1019
- plugins: [
1020
- // ...(!isProd ? [new rspack.HotModuleReplacementPlugin()] : []),
1021
- new StatsWriterPlugin(),
1022
- new PurgeCSSPlugin({
1023
- paths: glob.sync([
1024
- path.join(projectRoot, "src/**/*.vue"),
1025
- path.join(projectRoot, "src/**/*.js"),
1026
- path.join(projectRoot, "martyrs/src/**/*.vue"),
1027
- path.join(projectRoot, "martyrs/src/**/*.js"),
1028
- path.join(projectRoot, "/node_modules/@ozdao/martyrs/**/*.css"),
1029
- path.join(projectRoot, "/node_modules/@ozdao/martyrs/**/*.scss"),
1030
- path.join(projectRoot, "/node_modules/@ozdao/martyrs/src/**/*.vue"),
1031
- path.join(projectRoot, "/node_modules/@ozdao/martyrs/src/**/*.js"),
1032
- path.join(projectRoot, "/node_modules/@vuepic/vue-datepicker/**/*.js")
1033
- ]),
1034
- safelist: {
1035
- standard: ["safelisted", /^html/, /^:root/],
1036
- deep: [/^safelisted-deep-/, /^html/, /^:root/],
1037
- greedy: [/^data-v-/, /\[data-v-.*\]/, /\[data-v-[a-zA-Z0-9]*\]/]
1038
- },
1039
- rejected: true,
1040
- extractors: [
1041
- {
1042
- extractor: (content) => {
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];
1046
- },
1047
- extensions: ["vue", "js", "css", "scss"]
1048
- }
1049
- ]
1050
- }),
1051
- // PWA PWA PWA PWA PWA
1052
- ...isProd2 ? [
1053
- new InjectManifest({
1054
- swSrc: path.resolve(projectRoot, "../public/sw.js"),
1055
- swDest: "sw.js",
1056
- exclude: [
1057
- /\.html$/,
1058
- /\.map$/,
1059
- /\.js$/,
1060
- // Исключаем JS из прекэша для SSR
1061
- /\.css$/
1062
- // Исключаем CSS из прекэша для SSR
1063
- ],
1064
- include: [
1065
- /\.(png|jpg|jpeg|gif|webp|svg|ico)$/,
1066
- /\.(woff|woff2|ttf|eot|otf)$/,
1067
- /favicon/
1068
- ],
1069
- manifestTransforms: [
1070
- (manifestEntries) => {
1071
- const manifest = manifestEntries.filter((entry) => {
1072
- return !entry.url.match(/\.(html|map)$/) && entry.size < 5 * 1024 * 1024;
1073
- });
1074
- return { manifest };
1075
- }
1076
- ]
1077
- }),
1078
- new RspackManifestPlugin({
1079
- fileName: "manifest.json",
1080
- seed: {
1081
- name: process.env.APP_NAME || "App by Martyrs Framework",
1082
- short_name: process.env.APP_SHORT_NAME || "App",
1083
- description: process.env.APP_DESCRIPTION || "Progressive Web App by Martyrs Framework",
1084
- theme_color: "#000000",
1085
- background_color: "#ffffff",
1086
- display: "standalone",
1087
- orientation: "portrait",
1088
- scope: "/",
1089
- start_url: "/",
1090
- icons: [
1091
- {
1092
- src: "/favicon/android-chrome-192x192.png",
1093
- sizes: "192x192",
1094
- type: "image/png"
1095
- },
1096
- {
1097
- src: "/favicon/android-chrome-512x512.png",
1098
- sizes: "512x512",
1099
- type: "image/png"
1100
- }
1101
- ]
1102
- },
1103
- generate: (seed) => seed
1104
- })
1105
- ] : []
1106
- ],
1107
- optimization: {
1108
- usedExports: true,
1109
- splitChunks: {
1110
- chunks: "async",
1111
- minSize: 0,
1112
- // minRemainingSize: 0,
1113
- minChunks: 1,
1114
- maxAsyncRequests: 30,
1115
- maxInitialRequests: 30
1116
- // enforceSizeThreshold: 50000,
1117
- },
1118
- minimize: isProd2,
1119
- minimizer: [
1120
- new rspack$2.SwcJsMinimizerRspackPlugin(),
1121
- new rspack$2.LightningCssMinimizerRspackPlugin()
1122
- ]
1123
- }
1124
- };
1125
- return merge$3(baseConfig$2(projectRoot), config);
1126
- };
1127
- const ssrConfig = (projectRoot) => {
1128
- const isProd2 = process.env.NODE_ENV === "production";
1129
- const ssrConfig2 = {
1130
- target: ["node", "es2022"],
1131
- // Явно указываем современную версию Node.js с поддержкой ESM
1132
- mode: !isProd2 ? "development" : "production",
1133
- entry: {
1134
- main: path.resolve(projectRoot, "src/client.js")
1135
- },
1136
- output: {
1137
- filename: "main.js",
1138
- path: path.resolve(projectRoot, "builds/web/server"),
1139
- // Явно указываем формат чанков
1140
- chunkFormat: "module",
1141
- library: {
1142
- type: "module"
1143
- },
1144
- clean: true,
1145
- module: true,
1146
- environment: {
1147
- module: true
1148
- }
1149
- },
1150
- experiments: {
1151
- outputModule: true
1152
- },
1153
- module: {
1154
- rules: [
1155
- {
1156
- test: /\.css$/,
1157
- use: "null-loader"
1158
- }
1159
- ]
1160
- },
1161
- optimization: {
1162
- minimize: false
1163
- },
1164
- externals: [
1165
- nodeExternals({
1166
- allowlist: [
1167
- /^@ozdao*/,
1168
- /\.(css|sass|scss)$/,
1169
- /\.(vue)$/,
1170
- /\.(html)$/
1171
- ],
1172
- importType: "module"
1173
- })
1174
- ],
1175
- plugins: [
1176
- new rspack$2.optimize.LimitChunkCountPlugin({
1177
- maxChunks: 1
1178
- }),
1179
- ...isProd2 ? [new RspackManifestPlugin({
1180
- fileName: "manifest.json"
1181
- })] : []
1182
- ]
1183
- };
1184
- return merge$3(baseConfig$2(projectRoot), ssrConfig2);
1185
- };
1186
- const { rspack: rspack$1 } = core;
1187
- const isProd$1 = process.env.NODE_ENV === "production";
1188
- const spaConfig = (projectRoot) => {
1189
- const spaConfig2 = {
1190
- mode: !isProd$1 ? "development" : "production",
1191
- devtool: "source-map",
1192
- entry: {
1193
- main: path.resolve(projectRoot, "src/client.js")
1194
- },
1195
- output: {
1196
- filename: "main.js",
1197
- path: path.resolve(projectRoot, "builds/web/spa"),
1198
- clean: true
1199
- },
1200
- target: "web",
1201
- plugins: [
1202
- // ...(!isProd ? [new rspack.HotModuleReplacementPlugin()] : []),
1203
- new StatsWriterPlugin(),
1204
- new rspack$1.optimize.LimitChunkCountPlugin({
1205
- maxChunks: 1
1206
- }),
1207
- new rspack$1.HtmlRspackPlugin({
1208
- templateContent: async () => {
1209
- const meta = {
1210
- htmlAttrs: 'lang="en"',
1211
- headAttrs: "",
1212
- bodyAttrs: "",
1213
- // head: '<meta name="description" content="Example">',
1214
- body: ""
1215
- };
1216
- const data = {
1217
- googleTagId: process.env.GOOGLE_TAG_ID,
1218
- googleMapApiKey: process.env.GOOGLE_MAPS_API_KEY,
1219
- meta
1220
- };
1221
- return Mustache.render(page, data);
1222
- },
1223
- filename: "index.html",
1224
- inject: "body"
1225
- })
1226
- // new rspack.CopyRspackPlugin({
1227
- // patterns: [
1228
- // { from: path.resolve(projectRoot, "../public/logo"), to: 'logo' },
1229
- // { from: path.resolve(projectRoot, "../public/walkthrough"), to: 'walkthrough' },
1230
- // { from: path.resolve(projectRoot, "../public/icons"), to: 'icons' }
1231
- // ]
1232
- // })
1233
- ],
1234
- optimization: {
1235
- minimizer: [new rspack$1.SwcJsMinimizerRspackPlugin(), , new rspack$1.LightningCssMinimizerRspackPlugin()]
1236
- }
1237
- };
1238
- return merge$3(clientConfig(projectRoot), spaConfig2);
1239
- };
1240
- const { rspack } = core;
1241
- const apiConfig$2 = (projectRoot) => {
1242
- return {
1243
- target: "node",
1244
- mode: "development",
1245
- entry: [path.resolve(projectRoot, "src/server.js")],
1246
- output: {
1247
- filename: "server.js",
1248
- path: path.resolve(projectRoot, "builds/web/server"),
1249
- libraryTarget: "module",
1250
- chunkFormat: "module",
1251
- module: true,
1252
- clean: true
1253
- },
1254
- experiments: {
1255
- outputModule: true
1256
- },
1257
- resolve: {
1258
- alias: {
1259
- "@martyrs": path.resolve(projectRoot, "martyrs")
1260
- },
1261
- fallback: {
1262
- path: false
1263
- }
1264
- },
1265
- // Добавляем externalsType для ES modules
1266
- externalsType: "module",
1267
- externals: [
1268
- nodeExternals({
1269
- allowlist: [],
1270
- // Важно! Указываем importType для ES modules
1271
- importType: "module"
1272
- }),
1273
- // Для .node файлов тоже используем module
1274
- function({ context, request }, callback) {
1275
- if (/\.node$/.test(request)) {
1276
- return callback(null, `module ${request}`);
1277
- }
1278
- callback();
1279
- }
1280
- ],
1281
- plugins: [],
1282
- module: {
1283
- rules: [
1284
- {
1285
- test: /\.node$/,
1286
- loader: "node-loader"
1287
- }
1288
- ]
1289
- }
1290
- };
1291
- };
1292
- const rspackConfigs = {
1293
- baseConfig: baseConfig$2,
1294
- clientConfig,
1295
- apiConfig: apiConfig$2,
1296
- spaConfig,
1297
- ssrConfig
1298
- };
1299
- const baseConfig$1 = (projectRoot) => {
1300
- return {
1301
- resolve: {
1302
- alias: {
1303
- "@": path.resolve(projectRoot, "src"),
1304
- "@martyrs": path.resolve(projectRoot, "martyrs"),
1305
- vue: path.resolve(projectRoot, "node_modules/vue"),
1306
- "vue-router": path.resolve(projectRoot, "node_modules/vue-router"),
1307
- "vue-i18n": path.resolve(projectRoot, "node_modules/vue-i18n")
1308
- },
1309
- fallback: {
1310
- path: false
1311
- },
1312
- extensions: [".js", ".json", ".jsx", ".ts", ".tsx"]
1313
- },
1314
- module: {
1315
- rules: [
1316
- {
1317
- test: /\.m?js$/,
1318
- exclude: /node_modules\/(?!(vue-meta)\/).*/,
1319
- use: {
1320
- loader: "babel-loader",
1321
- options: {
1322
- configFile: path.resolve(projectRoot, "babel.config.js"),
1323
- // Добавляем опции для ESM
1324
- presets: [
1325
- ["@babel/preset-env", {
1326
- modules: false,
1327
- // Важно: отключаем преобразование в CommonJS
1328
- targets: {
1329
- node: "current"
1330
- }
1331
- }]
1332
- ],
1333
- plugins: [
1334
- // Заменяем @babel/plugin-transform-runtime на ESM совместимую версию
1335
- ["@babel/plugin-transform-runtime", {
1336
- useESModules: true,
1337
- // Важно: используем ESM версию хелперов
1338
- regenerator: true
1339
- }]
1340
- ]
857
+ }
858
+ }
1341
859
  }
1342
860
  }
1343
861
  },
1344
- {
1345
- test: /\.vue$/,
1346
- use: [
1347
- {
1348
- loader: "vue-loader"
1349
- }
1350
- ]
1351
- },
1352
862
  {
1353
863
  test: /\.(sa|sc|c)ss$/,
1354
864
  use: [
1355
- process.env.NODE_ENV !== "production" ? "vue-style-loader" : MiniCssExtractPlugin.loader,
865
+ // ВСЕГДА используем CssExtractRspackPlugin для SSR
866
+ // Это нужно чтобы Beasties мог найти CSS файлы
867
+ rspack$2.CssExtractRspackPlugin.loader,
1356
868
  {
1357
869
  loader: "css-loader",
1358
870
  options: {
@@ -1373,32 +885,33 @@ const baseConfig$1 = (projectRoot) => {
1373
885
  sourceMap: true
1374
886
  }
1375
887
  }
1376
- ]
888
+ ],
889
+ type: "javascript/auto"
1377
890
  },
1378
891
  {
1379
892
  test: /\.(?:ico|gif|png|jpg|jpeg|mp4|webp|webm|svg|woff2?|eot|ttf|otf)$/i,
1380
- use: {
1381
- loader: "url-loader",
1382
- options: {
1383
- emitFile: false
1384
- }
1385
- }
893
+ type: "asset/resource"
1386
894
  }
1387
895
  ]
1388
896
  },
897
+ experiments: {
898
+ css: false
899
+ },
1389
900
  plugins: [
1390
- ...process.env.BUNDLE_ANALYZER ? [new BundleAnalyzerPlugin()] : [],
1391
- new MiniCssExtractPlugin({
1392
- filename: "[name].[contenthash].css",
1393
- chunkFilename: "[id].[contenthash].css",
901
+ ...process.env.BUNDLE_ANALYZER ? [new RsdoctorRspackPlugin(), new BundleAnalyzerPlugin()] : [],
902
+ new VueLoaderPlugin(),
903
+ // Используем CssExtractRspackPlugin в обоих режимах
904
+ new rspack$2.CssExtractRspackPlugin({
905
+ filename: process.env.NODE_ENV === "production" ? "[name].[contenthash].css" : "[name].css",
906
+ chunkFilename: process.env.NODE_ENV === "production" ? "[id].[contenthash].css" : "[id].css",
1394
907
  ignoreOrder: true
1395
908
  }),
1396
909
  new CleanWebpackPlugin(),
1397
- new VueLoaderPlugin(),
1398
910
  new Dotenv({
1399
911
  path: `.env.${process.env.NODE_ENV}`
912
+ // ...(process.env.MODE === "SPA" ? [{path: '.env.mobile'}] : []),
1400
913
  }),
1401
- new webpack.DefinePlugin({
914
+ new rspack$2.DefinePlugin({
1402
915
  __VUE_I18N_LEGACY_API__: false,
1403
916
  __VUE_OPTIONS_API__: true,
1404
917
  __VUE_PROD_DEVTOOLS_: false,
@@ -1413,54 +926,59 @@ const baseConfig$1 = (projectRoot) => {
1413
926
  level: "verbose"
1414
927
  },
1415
928
  stats: {
1416
- colors: true,
1417
- hash: true,
1418
- version: true,
1419
- timings: true,
1420
- assets: true,
1421
- chunks: true,
1422
- modules: true,
1423
- reasons: true,
1424
- children: true,
1425
- source: true,
929
+ // Минимальный вывод
930
+ preset: "minimal",
931
+ // Или более детальная настройка:
932
+ modules: false,
933
+ chunks: false,
934
+ chunkModules: false,
935
+ chunkOrigins: false,
936
+ entrypoints: false,
937
+ assets: false,
938
+ moduleTrace: false,
939
+ errorDetails: false,
940
+ // Показывать только ошибки и предупреждения
1426
941
  errors: true,
1427
- errorDetails: true,
1428
- errorStack: true,
1429
942
  warnings: true,
1430
- publicPath: true
943
+ // Цвета в терминале
944
+ colors: true
1431
945
  }
1432
946
  };
1433
947
  };
1434
- const ssrClientConfig$1 = (projectRoot) => {
948
+ const clientConfig = (projectRoot) => {
1435
949
  const isProd2 = process.env.NODE_ENV === "production";
1436
950
  const config = {
951
+ target: "web",
1437
952
  mode: !isProd2 ? "development" : "production",
1438
953
  devtool: !isProd2 ? "inline-source-map" : "source-map",
1439
954
  entry: {
1440
- main: !isProd2 ? [path.resolve("../utils/hot-reload.js"), path.resolve(projectRoot, "src/client.js")] : path.resolve(projectRoot, "src/client.js")
955
+ main: path.resolve(projectRoot, "src/client.js")
1441
956
  },
1442
957
  module: {
1443
958
  rules: []
1444
959
  },
1445
960
  output: {
1446
- filename: "[name].[fullhash].js",
1447
- chunkFilename: "[name].[contenthash].js",
961
+ filename: "[name].[contenthash:8].js",
962
+ chunkFilename: "chunks/[name].[contenthash:8].js",
1448
963
  path: path.resolve(projectRoot, "builds/web/client"),
1449
964
  publicPath: "/",
1450
965
  clean: true
1451
966
  },
1452
967
  plugins: [
1453
- // ...(!isProd ? [new webpack.HotModuleReplacementPlugin()] : []),
1454
- new StatsWriterPlugin(),
1455
- ...!isProd2 ? [
1456
- // new WorkboxPlugin.GenerateSW({
1457
- // clientsClaim: true,
1458
- // skipWaiting: true,
1459
- // disableDevLogs: true
1460
- // }),
1461
- ] : [],
968
+ // ...(!isProd ? [new rspack.HotModuleReplacementPlugin()] : []),
969
+ new StatsWriterPlugin({
970
+ filename: "stats.json",
971
+ stats: {
972
+ all: false,
973
+ assets: true,
974
+ chunks: true,
975
+ modules: true,
976
+ entrypoints: true,
977
+ chunkModules: true,
978
+ assetsByChunkName: true
979
+ }
980
+ }),
1462
981
  new PurgeCSSPlugin({
1463
- printRejected: true,
1464
982
  paths: glob.sync([
1465
983
  path.join(projectRoot, "src/**/*.vue"),
1466
984
  path.join(projectRoot, "src/**/*.js"),
@@ -1475,75 +993,207 @@ const ssrClientConfig$1 = (projectRoot) => {
1475
993
  safelist: {
1476
994
  standard: ["safelisted", /^html/, /^:root/],
1477
995
  deep: [/^safelisted-deep-/, /^html/, /^:root/],
1478
- greedy: [/data-v-.*/]
996
+ greedy: [/^data-v-/, /\[data-v-.*\]/, /\[data-v-[a-zA-Z0-9]*\]/]
1479
997
  },
998
+ rejected: true,
1480
999
  extractors: [
1481
1000
  {
1482
1001
  extractor: (content) => {
1483
- return content.match(/[A-Za-z0-9-_:/]+/g) || [];
1002
+ const normalClasses = content.match(/[A-Za-z0-9-_:\/]+/g) || [];
1003
+ const scopedAttrs = content.match(/\[data-v-[a-zA-Z0-9]*\]/g) || [];
1004
+ return [...normalClasses, ...scopedAttrs];
1484
1005
  },
1485
- extensions: ["vue"]
1006
+ extensions: ["vue", "js", "css", "scss"]
1486
1007
  }
1487
1008
  ]
1488
- })
1009
+ }),
1010
+ // PWA PWA PWA PWA PWA
1011
+ // Simple RspackManifestPlugin configuration
1012
+ new RspackManifestPlugin({
1013
+ fileName: "manifest.json",
1014
+ publicPath: "/"
1015
+ }),
1016
+ ...isProd2 ? [
1017
+ new InjectManifest({
1018
+ swSrc: path.resolve(projectRoot, "../public/sw.js"),
1019
+ swDest: "sw.js",
1020
+ exclude: [
1021
+ /\.html$/,
1022
+ /\.map$/,
1023
+ /\.js$/,
1024
+ // Исключаем JS из прекэша для SSR
1025
+ /\.css$/
1026
+ // Исключаем CSS из прекэша для SSR
1027
+ ],
1028
+ include: [
1029
+ /\.(png|jpg|jpeg|gif|webp|svg|ico)$/,
1030
+ /\.(woff|woff2|ttf|eot|otf)$/,
1031
+ /favicon/
1032
+ ],
1033
+ manifestTransforms: [
1034
+ (manifestEntries) => {
1035
+ const manifest = manifestEntries.filter((entry) => {
1036
+ return !entry.url.match(/\.(html|map)$/) && entry.size < 5 * 1024 * 1024;
1037
+ });
1038
+ return { manifest };
1039
+ }
1040
+ ]
1041
+ }),
1042
+ new RspackManifestPlugin({
1043
+ fileName: "pwa-manifest.json",
1044
+ seed: {
1045
+ name: process.env.APP_NAME || "App by Martyrs Framework",
1046
+ short_name: process.env.APP_SHORT_NAME || "App",
1047
+ description: process.env.APP_DESCRIPTION || "Progressive Web App by Martyrs Framework",
1048
+ theme_color: "#000000",
1049
+ background_color: "#ffffff",
1050
+ display: "standalone",
1051
+ orientation: "portrait",
1052
+ scope: "/",
1053
+ start_url: "/",
1054
+ icons: [
1055
+ {
1056
+ src: "/favicon/android-chrome-192x192.png",
1057
+ sizes: "192x192",
1058
+ type: "image/png"
1059
+ },
1060
+ {
1061
+ src: "/favicon/android-chrome-512x512.png",
1062
+ sizes: "512x512",
1063
+ type: "image/png"
1064
+ }
1065
+ ]
1066
+ },
1067
+ generate: (seed) => seed
1068
+ })
1069
+ ] : []
1489
1070
  ],
1490
1071
  optimization: {
1072
+ sideEffects: false,
1491
1073
  usedExports: true,
1074
+ innerGraph: true,
1075
+ providedExports: true,
1076
+ runtimeChunk: false,
1492
1077
  splitChunks: {
1493
- chunks: "async",
1494
- minSize: 0,
1495
- minRemainingSize: 0,
1078
+ chunks: "all",
1079
+ minSize: 1e4,
1496
1080
  minChunks: 1,
1497
1081
  maxAsyncRequests: 30,
1498
- maxInitialRequests: 30,
1499
- enforceSizeThreshold: 5e4,
1082
+ maxInitialRequests: 5,
1500
1083
  cacheGroups: {
1084
+ // Vendor libraries (except Vue)
1501
1085
  vendor: {
1502
- test: /[\\/]node_modules[\\/]/,
1503
- name: "vendors",
1504
- priority: -10,
1505
- reuseExistingChunk: true
1086
+ test: /[\\/]node_modules[\\/](?!(vue|vue-router|vuex|@vue|@unhead|vue-i18n)[\\/])/,
1087
+ name: "vendor",
1088
+ priority: 10,
1089
+ chunks: "initial",
1090
+ enforce: true
1091
+ },
1092
+ // Vue core framework only
1093
+ vue: {
1094
+ test: /[\\/]node_modules[\\/](vue|vue-router|vuex|@vue|@unhead|vue-i18n)[\\/]/,
1095
+ name: "vue",
1096
+ priority: 20,
1097
+ chunks: "initial",
1098
+ reuseExistingChunk: true,
1099
+ enforce: true
1100
+ },
1101
+ // Martyrs modules - only for async imports
1102
+ modules: {
1103
+ test: /[\\/]martyrs[\\/]src[\\/]modules[\\/]/,
1104
+ chunks: "async",
1105
+ name: false,
1106
+ priority: 5,
1107
+ enforce: true
1108
+ },
1109
+ // Combine all CSS into single file
1110
+ styles: {
1111
+ name: "styles",
1112
+ type: "css/mini-extract",
1113
+ chunks: "all",
1114
+ enforce: true,
1115
+ minChunks: 1,
1116
+ reuseExistingChunk: true,
1117
+ priority: 100
1506
1118
  }
1507
1119
  }
1508
1120
  },
1509
1121
  minimize: isProd2,
1510
- minimizer: [new TerserPlugin(), new CssMinimizerPlugin()]
1122
+ minimizer: [
1123
+ new rspack$2.SwcJsMinimizerRspackPlugin(),
1124
+ new rspack$2.LightningCssMinimizerRspackPlugin()
1125
+ ]
1126
+ },
1127
+ stats: {
1128
+ assets: true,
1129
+ chunks: true,
1130
+ modules: true,
1131
+ ids: true,
1132
+ entrypoints: true,
1133
+ chunkModules: true
1511
1134
  }
1512
1135
  };
1513
1136
  return merge$3(baseConfig$1(projectRoot), config);
1514
1137
  };
1515
- const apiConfig$1 = (projectRoot) => {
1516
- return {
1138
+ const ssrConfig = (projectRoot) => {
1139
+ const isProd2 = process.env.NODE_ENV === "production";
1140
+ const ssrConfig2 = {
1517
1141
  target: "node",
1518
- mode: "development",
1519
- entry: [path.resolve(projectRoot, "src/server.js")],
1142
+ // Для совместимости с VueSsrAssetsServerPlugin
1143
+ mode: !isProd2 ? "development" : "production",
1144
+ entry: {
1145
+ main: path.resolve(projectRoot, "src/client.js")
1146
+ },
1520
1147
  output: {
1521
- filename: "server.[fullhash].js",
1148
+ filename: "main.js",
1522
1149
  path: path.resolve(projectRoot, "builds/web/server"),
1523
- libraryTarget: "module",
1150
+ // Явно указываем формат чанков
1151
+ chunkFormat: "module",
1152
+ library: {
1153
+ type: "module"
1154
+ },
1155
+ clean: true,
1524
1156
  module: true,
1525
- clean: true
1157
+ environment: {
1158
+ module: true
1159
+ }
1526
1160
  },
1527
1161
  experiments: {
1528
1162
  outputModule: true
1529
1163
  },
1530
- resolve: {
1531
- alias: {
1532
- "@martyrs": path.resolve(projectRoot, "martyrs")
1533
- },
1534
- fallback: {
1535
- path: false
1536
- }
1164
+ module: {
1165
+ rules: [
1166
+ // CSS обрабатывается base конфигом, не нужен null-loader
1167
+ ]
1168
+ },
1169
+ optimization: {
1170
+ minimize: false
1537
1171
  },
1538
- externals: [nodeExternals({
1539
- // Добавляем опцию importType для использования ESM импортов
1540
- importType: "module"
1541
- })],
1542
- plugins: [new webpack.HotModuleReplacementPlugin()]
1172
+ externals: [
1173
+ nodeExternals({
1174
+ allowlist: [
1175
+ /^@ozdao*/,
1176
+ /\.(css|sass|scss)$/,
1177
+ /\.(vue)$/,
1178
+ /\.(html)$/
1179
+ ],
1180
+ importType: "module"
1181
+ })
1182
+ ],
1183
+ plugins: [
1184
+ new rspack$2.optimize.LimitChunkCountPlugin({
1185
+ maxChunks: 1
1186
+ }),
1187
+ ...isProd2 ? [new RspackManifestPlugin({
1188
+ fileName: "manifest.json"
1189
+ })] : []
1190
+ ]
1543
1191
  };
1192
+ return merge$3(baseConfig$1(projectRoot), ssrConfig2);
1544
1193
  };
1194
+ const { rspack: rspack$1 } = core;
1545
1195
  const isProd = process.env.NODE_ENV === "production";
1546
- const spaClientConfig$1 = (projectRoot) => {
1196
+ const spaConfig = (projectRoot) => {
1547
1197
  const spaConfig2 = {
1548
1198
  mode: !isProd ? "development" : "production",
1549
1199
  devtool: "source-map",
@@ -1551,18 +1201,18 @@ const spaClientConfig$1 = (projectRoot) => {
1551
1201
  main: path.resolve(projectRoot, "src/client.js")
1552
1202
  },
1553
1203
  output: {
1554
- filename: "main.js",
1204
+ filename: "[name].[contenthash:8].js",
1555
1205
  path: path.resolve(projectRoot, "builds/web/spa"),
1556
1206
  clean: true
1557
1207
  },
1558
1208
  target: "web",
1559
1209
  plugins: [
1560
- // ...(!isProd ? [new webpack.HotModuleReplacementPlugin()] : []),
1210
+ // ...(!isProd ? [new rspack.HotModuleReplacementPlugin()] : []),
1561
1211
  new StatsWriterPlugin(),
1562
- new webpack.optimize.LimitChunkCountPlugin({
1212
+ new rspack$1.optimize.LimitChunkCountPlugin({
1563
1213
  maxChunks: 1
1564
1214
  }),
1565
- new HtmlWebpackPlugin({
1215
+ new rspack$1.HtmlRspackPlugin({
1566
1216
  templateContent: async () => {
1567
1217
  const meta = {
1568
1218
  htmlAttrs: 'lang="en"',
@@ -1581,76 +1231,78 @@ const spaClientConfig$1 = (projectRoot) => {
1581
1231
  filename: "index.html",
1582
1232
  inject: "body"
1583
1233
  })
1584
- // new CopyWebpackPlugin({
1234
+ // new rspack.CopyRspackPlugin({
1585
1235
  // patterns: [
1586
1236
  // { from: path.resolve(projectRoot, "../public/logo"), to: 'logo' },
1587
1237
  // { from: path.resolve(projectRoot, "../public/walkthrough"), to: 'walkthrough' },
1588
1238
  // { from: path.resolve(projectRoot, "../public/icons"), to: 'icons' }
1589
1239
  // ]
1590
1240
  // })
1591
- // new ServiceWorkerPlugin()
1592
1241
  ],
1593
1242
  optimization: {
1594
- minimizer: [new TerserPlugin(), new CssMinimizerPlugin()]
1243
+ minimizer: [new rspack$1.SwcJsMinimizerRspackPlugin(), , new rspack$1.LightningCssMinimizerRspackPlugin()]
1595
1244
  }
1596
1245
  };
1597
- return merge$3(ssrClientConfig$1(projectRoot), spaConfig2);
1246
+ return merge$3(clientConfig(projectRoot), spaConfig2);
1598
1247
  };
1599
- const ssrServerConfig$1 = (projectRoot) => {
1600
- const isProd2 = process.env.NODE_ENV === "production";
1601
- const ssrConfig2 = {
1248
+ const { rspack } = core;
1249
+ const apiConfig$1 = (projectRoot) => {
1250
+ return {
1602
1251
  target: "node",
1603
- mode: !isProd2 ? "development" : "production",
1604
- entry: {
1605
- main: path.resolve(projectRoot, "src/client.js")
1606
- },
1252
+ mode: "development",
1253
+ entry: [path.resolve(projectRoot, "src/server.js")],
1607
1254
  output: {
1608
- filename: "main.[fullhash].js",
1255
+ filename: "server.js",
1609
1256
  path: path.resolve(projectRoot, "builds/web/server"),
1610
1257
  libraryTarget: "module",
1258
+ chunkFormat: "module",
1611
1259
  module: true,
1612
1260
  clean: true
1613
1261
  },
1614
1262
  experiments: {
1615
1263
  outputModule: true
1616
1264
  },
1265
+ resolve: {
1266
+ alias: {
1267
+ "@martyrs": path.resolve(projectRoot, "martyrs")
1268
+ },
1269
+ fallback: {
1270
+ path: false
1271
+ }
1272
+ },
1273
+ // Добавляем externalsType для ES modules
1274
+ externalsType: "module",
1275
+ externals: [
1276
+ nodeExternals({
1277
+ allowlist: [],
1278
+ // Важно! Указываем importType для ES modules
1279
+ importType: "module"
1280
+ }),
1281
+ // Для .node файлов тоже используем module
1282
+ function({ context, request }, callback) {
1283
+ if (/\.node$/.test(request)) {
1284
+ return callback(null, `module ${request}`);
1285
+ }
1286
+ callback();
1287
+ }
1288
+ ],
1289
+ plugins: [],
1617
1290
  module: {
1618
1291
  rules: [
1619
1292
  {
1620
- test: /\.css$/,
1621
- use: "null-loader"
1293
+ test: /\.node$/,
1294
+ loader: "node-loader"
1622
1295
  }
1623
1296
  ]
1624
- },
1625
- optimization: {
1626
- minimize: false
1627
- },
1628
- plugins: [
1629
- new webpack.optimize.LimitChunkCountPlugin({
1630
- maxChunks: 1
1631
- }),
1632
- ...isProd2 ? [
1633
- new WebpackManifestPlugin({
1634
- fileName: "manifest.json"
1635
- })
1636
- ] : []
1637
- ],
1638
- externals: [
1639
- nodeExternals({
1640
- allowlist: [/^vue-meta*/, /\.(css|sass|scss)$/, /\.(vue)$/, /\.(html)$/],
1641
- // Добавляем опцию importType для использования ESM импортов
1642
- importType: "module"
1643
- })
1644
- ]
1297
+ }
1645
1298
  };
1646
- return merge$3(baseConfig$1(projectRoot), ssrConfig2);
1647
1299
  };
1648
- const webpackConfigs = {
1300
+ const rspackConfigs = {
1649
1301
  baseConfig: baseConfig$1,
1650
- ssrClientConfig: ssrClientConfig$1,
1302
+ clientConfig,
1651
1303
  apiConfig: apiConfig$1,
1652
- spaClientConfig: spaClientConfig$1,
1653
- ssrServerConfig: ssrServerConfig$1
1304
+ spaConfig,
1305
+ ssrConfig
1654
1306
  };
1655
1307
  function loadEnv(mode) {
1656
1308
  const envFile = `.env.${mode}`;
@@ -2163,26 +1815,20 @@ const viteConfigs = {
2163
1815
  };
2164
1816
  const builder = {
2165
1817
  rspackConfigs,
2166
- createSsrRspackDevServer: createSsrDevServer,
2167
- webpackConfigs,
2168
1818
  viteConfigs,
2169
- createSsrDevServer: createSsrDevServer$1,
1819
+ createSsrRspackDevServer: createSsrDevServer,
2170
1820
  createSsrViteDevServer,
2171
1821
  createSsrProdServer,
2172
- createSpaDevServer: createSpaDevServer$1,
2173
1822
  createSpaRspackDevServer: createSpaDevServer,
2174
1823
  createSpaProdServer
2175
1824
  };
2176
1825
  export {
2177
- createSpaDevServer$1 as createSpaDevServer,
2178
1826
  createSpaProdServer,
2179
1827
  createSpaDevServer as createSpaRspackDevServer,
2180
- createSsrDevServer$1 as createSsrDevServer,
2181
1828
  createSsrProdServer,
2182
1829
  createSsrDevServer as createSsrRspackDevServer,
2183
1830
  createSsrViteDevServer,
2184
1831
  builder as default,
2185
1832
  rspackConfigs,
2186
- viteConfigs,
2187
- webpackConfigs
1833
+ viteConfigs
2188
1834
  };