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