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