@ozdao/prometheus-framework 0.2.155 → 0.2.157

Sign up to get free protection for your applications and to get access to all the features.
Files changed (321) hide show
  1. package/dist/_virtual/_commonjsHelpers.cjs +1 -1
  2. package/dist/_virtual/_commonjsHelpers.js +5 -3
  3. package/dist/_virtual/purify.cjs +1 -0
  4. package/dist/_virtual/purify.js +4 -0
  5. package/dist/builder.js +822 -0
  6. package/dist/builder.mjs +801 -0
  7. package/dist/{main-D_RRsfEH.mjs → main-Ba3SEUWZ.mjs} +1812 -1774
  8. package/dist/main-ldzk-jIP.js +92 -0
  9. package/dist/main.css +1 -1
  10. package/dist/node_modules/dompurify/dist/purify.cjs +2 -0
  11. package/dist/node_modules/dompurify/dist/purify.js +531 -0
  12. package/dist/node_modules/isomorphic-dompurify/browser.cjs +1 -0
  13. package/dist/node_modules/isomorphic-dompurify/browser.js +7 -0
  14. package/dist/products.server.js +1 -1
  15. package/dist/products.server.mjs +1 -1
  16. package/dist/prometheus-framework/node_modules/uuid/dist/esm-browser/regex.cjs +1 -0
  17. package/dist/prometheus-framework/node_modules/uuid/dist/esm-browser/regex.js +4 -0
  18. package/dist/prometheus-framework/node_modules/uuid/dist/esm-browser/rng.cjs +1 -0
  19. package/dist/prometheus-framework/node_modules/uuid/dist/esm-browser/rng.js +9 -0
  20. package/dist/prometheus-framework/node_modules/uuid/dist/esm-browser/stringify.cjs +1 -0
  21. package/dist/prometheus-framework/node_modules/uuid/dist/esm-browser/stringify.js +13 -0
  22. package/dist/prometheus-framework/node_modules/uuid/dist/esm-browser/v4.cjs +1 -0
  23. package/dist/prometheus-framework/node_modules/uuid/dist/esm-browser/v4.js +10 -0
  24. package/dist/prometheus-framework/node_modules/uuid/dist/esm-browser/validate.cjs +1 -0
  25. package/dist/prometheus-framework/node_modules/uuid/dist/esm-browser/validate.js +7 -0
  26. package/dist/prometheus-framework/src/components/Feed/Feed.vue.cjs +1 -1
  27. package/dist/prometheus-framework/src/components/Feed/Feed.vue.js +1 -1
  28. package/dist/prometheus-framework/src/components/Field/Field.vue2.cjs +1 -1
  29. package/dist/prometheus-framework/src/components/Field/Field.vue2.js +47 -30
  30. package/dist/prometheus-framework/src/components/FieldBig/FieldBig.vue.js +9 -9
  31. package/dist/prometheus-framework/src/components/Popup/Popup.vue2.cjs +1 -1
  32. package/dist/prometheus-framework/src/components/Popup/Popup.vue2.js +10 -10
  33. package/dist/prometheus-framework/src/modules/auth/components/pages/EnterPassword.vue.js +14 -14
  34. package/dist/prometheus-framework/src/modules/auth/components/pages/Invite.vue.js +9 -9
  35. package/dist/prometheus-framework/src/modules/auth/components/pages/ResetPassword.vue.js +11 -11
  36. package/dist/prometheus-framework/src/modules/auth/components/pages/SignIn.vue.js +34 -34
  37. package/dist/prometheus-framework/src/modules/auth/components/pages/SignUp.vue.js +27 -27
  38. package/dist/prometheus-framework/src/modules/backoffice/components/layouts/Backoffice.vue.cjs +1 -0
  39. package/dist/prometheus-framework/src/modules/backoffice/components/layouts/Backoffice.vue.js +58 -0
  40. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.cjs +1 -1
  41. package/dist/prometheus-framework/src/modules/backoffice/components/pages/Dashboard.vue.js +11 -180
  42. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.cjs +1 -0
  43. package/dist/prometheus-framework/src/modules/backoffice/components/partials/Sidebar.vue.js +190 -0
  44. package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.cjs +1 -1
  45. package/dist/prometheus-framework/src/modules/backoffice/router/backoffice.js +9 -7
  46. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  47. package/dist/prometheus-framework/src/modules/community/components/blocks/CardBlogpost.vue.js +48 -43
  48. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  49. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js +1 -1
  50. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
  51. package/dist/prometheus-framework/src/modules/community/components/pages/BlogPost.vue.js +41 -63
  52. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.cjs +1 -1
  53. package/dist/prometheus-framework/src/modules/community/components/pages/Community.vue.js +1 -1
  54. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  55. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +37 -36
  56. package/dist/prometheus-framework/src/modules/community/components/sections/Comments.vue.cjs +1 -1
  57. package/dist/prometheus-framework/src/modules/community/components/sections/Comments.vue.js +5 -5
  58. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.cjs +1 -1
  59. package/dist/prometheus-framework/src/modules/community/components/sections/HotPosts.vue.js +1 -1
  60. package/dist/prometheus-framework/src/modules/community/router/blogposts.cjs +1 -1
  61. package/dist/prometheus-framework/src/modules/community/router/blogposts.js +3 -0
  62. package/dist/prometheus-framework/src/modules/constructor/components/elements/Embed.vue.js +13 -13
  63. package/dist/prometheus-framework/src/modules/constructor/components/elements/Textarea.vue2.cjs +1 -5
  64. package/dist/prometheus-framework/src/modules/constructor/components/elements/Textarea.vue2.js +105 -53
  65. package/dist/prometheus-framework/src/modules/constructor/components/sections/Constructor.vue.cjs +1 -1
  66. package/dist/prometheus-framework/src/modules/constructor/components/sections/Constructor.vue.js +92 -98
  67. package/dist/prometheus-framework/src/modules/constructor/components/sections/Viewer.vue.cjs +1 -0
  68. package/dist/prometheus-framework/src/modules/constructor/components/sections/Viewer.vue.js +39 -0
  69. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  70. package/dist/prometheus-framework/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  71. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  72. package/dist/prometheus-framework/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  73. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  74. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +13 -12
  75. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  76. package/dist/prometheus-framework/src/modules/events/components/pages/EditEventTickets.vue.js +19 -19
  77. package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  78. package/dist/prometheus-framework/src/modules/gallery/components/pages/Gallery.vue.js +32 -32
  79. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  80. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  81. package/dist/prometheus-framework/src/modules/globals/components/blocks/BlockSearch.vue.js +7 -7
  82. package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.cjs +1 -1
  83. package/dist/prometheus-framework/src/modules/globals/components/blocks/CardHeader.vue.js +1 -1
  84. package/dist/prometheus-framework/src/modules/globals/components/sections/SectionPageTitle.vue.cjs +1 -1
  85. package/dist/prometheus-framework/src/modules/globals/components/sections/SectionPageTitle.vue.js +2 -2
  86. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.cjs +1 -1
  87. package/dist/prometheus-framework/src/modules/legal/components/pages/Legal.vue.js +1 -1
  88. package/dist/prometheus-framework/src/modules/middlewares/client/auth.validation.cjs +1 -1
  89. package/dist/prometheus-framework/src/modules/middlewares/client/auth.validation.js +13 -15
  90. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  91. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  92. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  93. package/dist/prometheus-framework/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
  94. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
  95. package/dist/prometheus-framework/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
  96. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.cjs +1 -1
  97. package/dist/prometheus-framework/src/modules/orders/components/sections/FormCustomerDetails.vue.js +4 -4
  98. package/dist/prometheus-framework/src/modules/orders/components/sections/FormDelivery.vue.js +8 -8
  99. package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  100. package/dist/prometheus-framework/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  101. package/dist/prometheus-framework/src/modules/orders/orders.client.cjs +1 -1
  102. package/dist/prometheus-framework/src/modules/orders/orders.client.js +34 -33
  103. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  104. package/dist/prometheus-framework/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  105. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  106. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  107. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  108. package/dist/prometheus-framework/src/modules/organizations/components/pages/Members.vue.js +2 -2
  109. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  110. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  111. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  112. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  113. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  114. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +14 -14
  115. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTab.vue.cjs +1 -1
  116. package/dist/prometheus-framework/src/modules/organizations/components/sections/DetailsTab.vue.js +2 -2
  117. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  118. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +10 -10
  119. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  120. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +5 -5
  121. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  122. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +4 -4
  123. package/dist/prometheus-framework/src/modules/organizations/router/organizations.cjs +1 -1
  124. package/dist/prometheus-framework/src/modules/organizations/router/organizations.js +13 -7
  125. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  126. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +18 -18
  127. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
  128. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
  129. package/dist/prometheus-framework/src/modules/products/components/blocks/LeftoverPositions.vue.js +6 -6
  130. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
  131. package/dist/prometheus-framework/src/modules/products/components/pages/CategoryEdit.vue.js +11 -11
  132. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.cjs +1 -1
  133. package/dist/prometheus-framework/src/modules/products/components/pages/EditLeftover.vue.js +17 -17
  134. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  135. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +30 -30
  136. package/dist/prometheus-framework/src/modules/products/components/sections/EditModifications.vue.js +9 -9
  137. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
  138. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +3 -3
  139. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  140. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  141. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  142. package/dist/prometheus-framework/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  143. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  144. package/dist/prometheus-framework/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  145. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  146. package/dist/prometheus-framework/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  147. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  148. package/dist/prometheus-framework/src/modules/spots/components/pages/SpotEdit.vue.js +16 -16
  149. package/dist/prometheus-framework/src/modules/spots/router/spots.cjs +1 -1
  150. package/dist/prometheus-framework/src/modules/spots/router/spots.js +4 -0
  151. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.cjs +1 -1
  152. package/dist/prometheus-framework/src/modules/users/components/pages/Profile.vue.js +2 -2
  153. package/dist/prometheus-framework/src/modules/users/components/pages/ProfileEdit.vue.js +22 -22
  154. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CardDeposit.vue.js +4 -4
  155. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  156. package/dist/prometheus-framework/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +17 -17
  157. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
  158. package/dist/prometheus-framework/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
  159. package/dist/prometheus-framework.cjs.js +1 -1
  160. package/dist/prometheus-framework.es.js +1 -1
  161. package/dist/style.css +1 -1
  162. package/dist/{web-3rnOWrQO.mjs → web-CT2tGYho.mjs} +1 -1
  163. package/dist/{web-C04IcLk4.js → web-DWjMBTNi.js} +1 -1
  164. package/package.json +3 -2
  165. package/src/builder/builder.js +14 -0
  166. package/src/builder/modes/spa.dev.js +100 -0
  167. package/src/builder/modes/spa.prod.js +59 -0
  168. package/src/builder/modes/ssr.dev.js +184 -0
  169. package/src/builder/modes/ssr.prod.js +76 -0
  170. package/src/builder/ssr/ssr-render-html.js +57 -0
  171. package/src/builder/ssr/ssr-transform-webpack-stats.js +54 -0
  172. package/src/builder/templates/page.html +37 -0
  173. package/src/builder/templates/screen.html +33 -0
  174. package/src/builder/utils/hot-reload.js +5 -0
  175. package/src/builder/webpack/index.js +13 -0
  176. package/src/builder/webpack/webpack.config.base.js +127 -0
  177. package/src/builder/webpack/webpack.config.client.js +78 -0
  178. package/src/builder/webpack/webpack.config.server.js +31 -0
  179. package/src/builder/webpack/webpack.config.spa.js +80 -0
  180. package/src/builder/webpack/webpack.config.ssr.js +57 -0
  181. package/src/components/Breadcrumbs/Breadcrumbs.vue +39 -16
  182. package/src/components/Field/Field.vue +21 -2
  183. package/src/components/Popup/Popup.vue +2 -2
  184. package/src/modules/auth/store/auth.js +1 -2
  185. package/src/modules/backoffice/components/layouts/Backoffice.vue +36 -62
  186. package/src/modules/backoffice/components/pages/Dashboard.vue +2 -125
  187. package/src/modules/backoffice/components/partials/Sidebar.vue +176 -0
  188. package/src/modules/backoffice/router/admin.js +0 -15
  189. package/src/modules/backoffice/router/backoffice.js +5 -1
  190. package/src/modules/community/components/blocks/CardBlogpost.vue +6 -1
  191. package/src/modules/community/components/pages/BlogPost.vue +30 -67
  192. package/src/modules/community/components/sections/Comments.vue +1 -1
  193. package/src/modules/community/router/blogposts.js +4 -0
  194. package/src/modules/constructor/components/elements/Textarea.vue +197 -79
  195. package/src/modules/constructor/components/sections/Constructor.vue +19 -32
  196. package/src/modules/constructor/components/sections/Viewer.vue +53 -0
  197. package/src/modules/gallery/components/pages/Gallery.vue +1 -1
  198. package/src/modules/globals/components/layouts/Client.vue +21 -7
  199. package/src/modules/globals/components/layouts/Empty.vue +1 -6
  200. package/src/modules/globals/components/pages/404.vue +1 -1
  201. package/src/modules/globals/components/sections/SectionPageTitle.vue +2 -2
  202. package/src/modules/globals/mixins/mixins.js +129 -97
  203. package/src/modules/landing/router/landing.js +3 -0
  204. package/src/modules/marketplace/components/pages/Catalog.vue +1 -1
  205. package/src/modules/middlewares/client/auth.validation.js +14 -15
  206. package/src/modules/orders/orders.client.js +4 -2
  207. package/src/modules/organizations/router/organizations.js +9 -3
  208. package/src/modules/pages/controllers/factories/pages.factory.js +106 -0
  209. package/src/modules/pages/controllers/routes/pages.routes.js +24 -0
  210. package/src/modules/pages/models/page.model.js +18 -11
  211. package/src/modules/pages/pages.client.js +40 -0
  212. package/src/modules/pages/pages.server.js +32 -0
  213. package/src/modules/pages/views/components/blocks/CardPage.vue +123 -0
  214. package/src/modules/pages/views/components/pages/Page.vue +173 -0
  215. package/src/modules/pages/views/components/pages/PageEdit.vue +121 -0
  216. package/src/modules/pages/views/components/pages/Pages.vue +60 -0
  217. package/src/modules/pages/views/components/partials/SidebarPages.vue +112 -0
  218. package/src/modules/pages/views/router/pages.backoffice.router.js +46 -0
  219. package/src/modules/pages/views/router/pages.router.js +25 -0
  220. package/src/modules/pages/views/store/pages.js +78 -0
  221. package/src/modules/pages/views/store/pages.store.js +5 -0
  222. package/src/modules/products/controllers/leftovers.controller.js +1 -1
  223. package/src/modules/spots/router/spots.js +4 -0
  224. package/src/styles/base/all.scss +66 -53
  225. package/dist/index-BshfsiQG.js +0 -220
  226. package/dist/index-C-8xOJnM.mjs +0 -244
  227. package/dist/index-C-DW6ra2.js +0 -260
  228. package/dist/index-CDbtWkBj.js +0 -243
  229. package/dist/index-D4j29ivg.mjs +0 -261
  230. package/dist/index-DKtnWDNC.mjs +0 -221
  231. package/dist/index-DNI4aUP2.js +0 -259
  232. package/dist/index-Tcyehi73.mjs +0 -260
  233. package/dist/main-3Vn8SU2y.mjs +0 -14509
  234. package/dist/main-5IrI2IOV.js +0 -92
  235. package/dist/main-BFKp44Ze.mjs +0 -14509
  236. package/dist/main-BF_nMkug.js +0 -92
  237. package/dist/main-BHr0-Z3t.mjs +0 -14510
  238. package/dist/main-BY2OvGB9.mjs +0 -14509
  239. package/dist/main-Bcj0J6tP.mjs +0 -14509
  240. package/dist/main-By5Tbyui.js +0 -92
  241. package/dist/main-CEoQQpJV.js +0 -92
  242. package/dist/main-CI9l9xMs.js +0 -92
  243. package/dist/main-Ckn0Sslr.js +0 -92
  244. package/dist/main-DBv451oC.js +0 -92
  245. package/dist/main-DPg58GOU.mjs +0 -14509
  246. package/dist/main-DTHFR7H_.mjs +0 -14510
  247. package/dist/main-DxyAONrm.mjs +0 -14438
  248. package/dist/main-gY_284gJ.js +0 -92
  249. package/dist/main-wXdocsbd.js +0 -92
  250. package/dist/middlewares.server.js +0 -19
  251. package/dist/middlewares.server.mjs +0 -20
  252. package/dist/prometheus-framework/src/components/Address/Address.vue.cjs +0 -1
  253. package/dist/prometheus-framework/src/components/Address/Address.vue.js +0 -89
  254. package/dist/prometheus-framework/src/components/Button/Button.vue.cjs +0 -1
  255. package/dist/prometheus-framework/src/components/Button/Button.vue.js +0 -95
  256. package/dist/prometheus-framework/src/components/Chips/Chips.vue2.cjs +0 -1
  257. package/dist/prometheus-framework/src/components/Chips/Chips.vue2.js +0 -26
  258. package/dist/prometheus-framework/src/components/Dropdown/Dropdown.vue2.cjs +0 -1
  259. package/dist/prometheus-framework/src/components/Dropdown/Dropdown.vue2.js +0 -57
  260. package/dist/prometheus-framework/src/components/Field/Field.vue.cjs +0 -1
  261. package/dist/prometheus-framework/src/components/Field/Field.vue.js +0 -83
  262. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue.cjs +0 -1
  263. package/dist/prometheus-framework/src/components/LocationMarker/LocationMarker.vue.js +0 -127
  264. package/dist/prometheus-framework/src/components/Menu/Menu.vue.cjs +0 -1
  265. package/dist/prometheus-framework/src/components/Menu/Menu.vue.js +0 -13
  266. package/dist/prometheus-framework/src/components/Popup/Popup.vue.cjs +0 -1
  267. package/dist/prometheus-framework/src/components/Popup/Popup.vue.js +0 -77
  268. package/dist/prometheus-framework/src/components/Select/Select.vue.cjs +0 -1
  269. package/dist/prometheus-framework/src/components/Select/Select.vue.js +0 -103
  270. package/dist/prometheus-framework/src/components/Tab/Tab.vue.cjs +0 -1
  271. package/dist/prometheus-framework/src/components/Tab/Tab.vue.js +0 -36
  272. package/dist/prometheus-framework/src/components/Tooltip/Tooltip.vue2.cjs +0 -1
  273. package/dist/prometheus-framework/src/components/Tooltip/Tooltip.vue2.js +0 -44
  274. package/dist/prometheus-framework/src/modules/community/components/sections/Feed.vue.cjs +0 -1
  275. package/dist/prometheus-framework/src/modules/community/components/sections/Feed.vue.js +0 -125
  276. package/dist/prometheus-framework/src/modules/constructor/components/elements/Bullets.vue.cjs +0 -2
  277. package/dist/prometheus-framework/src/modules/constructor/components/elements/Bullets.vue.js +0 -47
  278. package/dist/prometheus-framework/src/modules/constructor/components/elements/Caption.vue.cjs +0 -2
  279. package/dist/prometheus-framework/src/modules/constructor/components/elements/Caption.vue.js +0 -46
  280. package/dist/prometheus-framework/src/modules/constructor/components/elements/H2.vue.cjs +0 -4
  281. package/dist/prometheus-framework/src/modules/constructor/components/elements/H2.vue.js +0 -65
  282. package/dist/prometheus-framework/src/modules/constructor/components/elements/Textarea.vue.cjs +0 -5
  283. package/dist/prometheus-framework/src/modules/constructor/components/elements/Textarea.vue.js +0 -67
  284. package/dist/prometheus-framework/src/modules/wallet/components/blocks/CardBalanceReplenished.vue.cjs +0 -1
  285. package/dist/prometheus-framework/src/modules/wallet/components/blocks/CardBalanceReplenished.vue.js +0 -30
  286. package/dist/prometheus-framework/src/modules/wallet/components/blocks/CardDeposite.vue.cjs +0 -1
  287. package/dist/prometheus-framework/src/modules/wallet/components/blocks/CardDeposite.vue.js +0 -42
  288. package/dist/prometheus-framework/src/modules/wallet/components/blocks/CashDeposite.vue.cjs +0 -1
  289. package/dist/prometheus-framework/src/modules/wallet/components/blocks/CashDeposite.vue.js +0 -26
  290. package/dist/prometheus-framework/src/modules/wallet/components/blocks/CryptoDeposite.vue.cjs +0 -1
  291. package/dist/prometheus-framework/src/modules/wallet/components/blocks/CryptoDeposite.vue.js +0 -42
  292. package/dist/prometheus-framework/src/modules/wallet/localization/Wallet.json.cjs +0 -1
  293. package/dist/prometheus-framework/src/modules/wallet/localization/Wallet.json.js +0 -26
  294. package/dist/queryProcessor-g8208K6g.mjs +0 -178
  295. package/dist/queryProcessor-haY_gPGg.js +0 -177
  296. package/dist/web-5eyiz9L7.mjs +0 -54
  297. package/dist/web-BPUCAST-.mjs +0 -54
  298. package/dist/web-Be96Xqd4.mjs +0 -54
  299. package/dist/web-BmdKi_fZ.js +0 -1
  300. package/dist/web-Bqpk8Mpk.js +0 -1
  301. package/dist/web-BzUFKqzw.js +0 -1
  302. package/dist/web-CcFPvlkl.js +0 -1
  303. package/dist/web-CgjTW1bL.js +0 -1
  304. package/dist/web-Cw0ijzjY.js +0 -1
  305. package/dist/web-CwTWV4ca.mjs +0 -54
  306. package/dist/web-DZUec7pP.js +0 -1
  307. package/dist/web-Dh669DqQ.mjs +0 -54
  308. package/dist/web-DkWpHYrh.mjs +0 -54
  309. package/dist/web-Dt2RCU54.js +0 -1
  310. package/dist/web-krQQeSb6.mjs +0 -54
  311. package/dist/web-nqFW_Sd1.mjs +0 -54
  312. package/src/modules/community/controllers/comments.controller.aggr.js +0 -280
  313. package/src/modules/community/controllers/comments.controller.populate.js +0 -180
  314. package/src/modules/constructor/components/elements/H2.vue +0 -102
  315. package/src/modules/pages/components/pages/Page.vue +0 -174
  316. package/src/modules/pages/components/pages/PageEdit.vue +0 -159
  317. package/src/modules/pages/components/pages/Pages.vue +0 -108
  318. package/src/modules/pages/controllers/pages.controller.js +0 -71
  319. package/src/modules/pages/router/pages.router.js +0 -15
  320. package/src/modules/pages/routes/pages.routes.js +0 -30
  321. package/src/modules/pages/store/pages.js +0 -94
@@ -0,0 +1,76 @@
1
+ const path = require("path");
2
+ const express = require("express");
3
+
4
+ const { transformProdStats } = require('../ssr/ssr-transform-webpack-stats.js');
5
+
6
+ const { renderHtml } = require('../ssr/ssr-render-html.js');
7
+
8
+ module.exports =
9
+ function createSsrProdServer(projectRoot, {clientConfig,serverConfig, createServerPath}) {
10
+
11
+ const clientStats = require(path.join(projectRoot, "builds/web/client/stats.json"));
12
+ const serverManifest = require(path.join(projectRoot, "builds/web/server/manifest.json"));
13
+
14
+ const { createServer } = require(path.resolve(projectRoot, createServerPath));
15
+
16
+ const startServer = async () => {
17
+ const { app, server, env } = await createServer();
18
+
19
+ app.use(
20
+ clientConfig.output.publicPath,
21
+ express.static(path.resolve(projectRoot, "builds/web/client"), {
22
+ maxAge: '1d' // Кэширование на 1 день
23
+ })
24
+ );
25
+
26
+ const { render } = require(path.join(
27
+ serverConfig.output.path,
28
+ serverManifest["main.js"]
29
+ ));
30
+
31
+ const { head, body } = transformProdStats({
32
+ stats: clientStats,
33
+ publicPath: clientConfig.output.publicPath,
34
+ });
35
+
36
+ app.use("/*", async (req, res) => {
37
+ const { html, meta, state, statusCode } = await render({
38
+ url: req.originalUrl,
39
+ cookies: req.cookies,
40
+ languages: req.acceptsLanguages()
41
+ });
42
+
43
+ if (state.NotFound) {
44
+ res.status(404);
45
+ }
46
+
47
+ const userState = JSON.stringify(state.user);
48
+ const completeHtml = await renderHtml({
49
+ appHtml: html,
50
+ meta,
51
+ head,
52
+ body,
53
+ userState
54
+ });
55
+
56
+ res.status(statusCode).header("Content-Type", "text/html; charset=utf-8").send(completeHtml);
57
+ });
58
+
59
+ return server;
60
+ };
61
+
62
+ const port = process.env.PORT || 8080;
63
+
64
+ const start = async () => {
65
+ const server = await startServer();
66
+
67
+ try {
68
+ server.listen(port, () => console.log(`Server running on port ${port}`));
69
+ } catch (err) {
70
+ console.error(err);
71
+ process.exit(1);
72
+ }
73
+ };
74
+
75
+ return start;
76
+ };
@@ -0,0 +1,57 @@
1
+ const path = require("path");
2
+ const Mustache = require("mustache");
3
+ const chokidar = require("chokidar");
4
+ const { promises: { readFile } } = require("fs");
5
+
6
+ const templatePath = path.resolve(__dirname,"../templates/page.html");
7
+
8
+ let template;
9
+
10
+ const renderHtml = async (stuff) => {
11
+ if (!template) {
12
+ const buffer = await readFile(templatePath);
13
+ template = buffer.toString();
14
+ }
15
+
16
+ const data = {
17
+ ...stuff,
18
+ googleTagId: process.env.GOOGLE_TAG_ID,
19
+ googleMapApiKey: process.env.GOOGLE_MAPS_API_KEY
20
+ };
21
+
22
+ return Mustache.render(template, data);
23
+ };
24
+
25
+ const createHtmlRenderer = (onTemplateUpdate) => {
26
+ let shouldReload = true;
27
+ let currentTemplate;
28
+
29
+ chokidar.watch(templatePath).on("change", () => {
30
+ shouldReload = true;
31
+ onTemplateUpdate();
32
+ });
33
+
34
+ const loadTemplate = async () => {
35
+ if (!shouldReload) return;
36
+ const buffer = await readFile(templatePath);
37
+ currentTemplate = buffer.toString();
38
+ shouldReload = false;
39
+ };
40
+
41
+ return async (stuff) => {
42
+ await loadTemplate();
43
+
44
+ const data = {
45
+ ...stuff,
46
+ googleTagId: process.env.GOOGLE_TAG_ID,
47
+ googleMapApiKey: process.env.GOOGLE_MAPS_API_KEY
48
+ };
49
+
50
+ return Mustache.render(currentTemplate, data);
51
+ };
52
+ };
53
+
54
+ module.exports = {
55
+ createHtmlRenderer,
56
+ renderHtml,
57
+ };
@@ -0,0 +1,54 @@
1
+ const normalizeAssets = (assets) => {
2
+ if (Array.isArray(assets)) return assets;
3
+ if (typeof assets === "object") return Object.values(assets);
4
+ return [assets];
5
+ };
6
+
7
+ const transformDevStats = (stats, outputFileSystem) => {
8
+ const {
9
+ assetsByChunkName: { main },
10
+ outputPath,
11
+ publicPath,
12
+ } = stats;
13
+
14
+ const head = `
15
+ <style>
16
+ ${normalizeAssets(main)
17
+ .filter((path) => path.endsWith(".css"))
18
+ .map((path) =>
19
+ outputFileSystem.readFileSync(path.join(outputPath, path))
20
+ )
21
+ .join("\n")}
22
+ </style>
23
+ `;
24
+
25
+ const body = normalizeAssets(main)
26
+ .filter((path) => path.endsWith(".js"))
27
+ .map((path) => `<script src="${publicPath}${path}"></script>`)
28
+ .join("\n");
29
+
30
+ return { head, body };
31
+ };
32
+
33
+ const transformProdStats = ({ stats, publicPath }) => {
34
+ const {
35
+ assetsByChunkName: { main },
36
+ } = stats;
37
+
38
+ const head = normalizeAssets(main)
39
+ .filter((path) => path.endsWith(".css"))
40
+ .map((path) => `<link rel="stylesheet" href="${publicPath}${path}">`)
41
+ .join("\n");
42
+
43
+ const body = normalizeAssets(main)
44
+ .filter((path) => path.endsWith(".js"))
45
+ .map((path) => `<script src="${publicPath}${path}"></script>`)
46
+ .join("\n");
47
+
48
+ return { head, body };
49
+ };
50
+
51
+ module.exports = {
52
+ transformDevStats,
53
+ transformProdStats,
54
+ };
@@ -0,0 +1,37 @@
1
+ <!-- <!DOCTYPE html> -->
2
+ <html {{{ meta.htmlAttrs }}}>
3
+ <head {{{ meta.headAttrs }}}>
4
+ {{{ meta.head }}}
5
+ <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png">
6
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
7
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
8
+ <link rel="manifest" href="/favicon/site.webmanifest">
9
+ <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5">
10
+ <meta name="msapplication-TileColor" content="#000000">
11
+ <meta name="theme-color" content="#ffffff">
12
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
13
+ {{{ head }}}
14
+ <!-- Sign in with Apple -->
15
+ <!-- <script type="text/javascript" src="https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js"></script> -->
16
+ </head>
17
+ <!-- Google tag (gtag.js) -->
18
+ <script async src="https://www.googletagmanager.com/gtag/js?id={{googleTagId}}"></script>
19
+
20
+ <body {{{ meta.bodyAttrs }}}>
21
+ <div id="app">{{{ appHtml }}}</div>
22
+
23
+ <script type="application/json" data-user-state>
24
+ {{{ userState }}}
25
+ </script>
26
+
27
+ <script>
28
+ window.dataLayer = window.dataLayer || [];
29
+ function gtag(){dataLayer.push(arguments);}
30
+ gtag('js', new Date());
31
+
32
+ gtag('config', '{{googleTagId}}');
33
+ </script>
34
+
35
+ {{{ meta.body }}} {{{ body }}}
36
+ </body>
37
+ </html>
@@ -0,0 +1,33 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png">
5
+ <link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png">
6
+ <link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png">
7
+ <!-- <link rel="manifest" href="/favicon/site.webmanifest"> -->
8
+ <link rel="mask-icon" href="/favicon/safari-pinned-tab.svg" color="#5bbad5">
9
+ <meta name="msapplication-TileColor" content="#000000">
10
+ <meta name="theme-color" content="#ffffff">
11
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
12
+ <title>Weeder</title>
13
+ <!-- Sign in with Apple -->
14
+ <script type="text/javascript" src="https://appleid.cdn-apple.com/appleauth/static/jsapi/appleid/1/en_US/appleid.auth.js"></script>
15
+ <!-- Google tag (gtag.js) -->
16
+ <script async src="https://www.googletagmanager.com/gtag/js?id=<%= googleTagId %>"></script>
17
+ <script>
18
+ window.dataLayer = window.dataLayer || [];
19
+ function gtag(){dataLayer.push(arguments);}
20
+ gtag('js', new Date());
21
+
22
+ gtag('config', '<%= googleTagId %>');
23
+ </script>
24
+ <!-- Google Map Api -->
25
+ <script src="https://maps.googleapis.com/maps/api/js?key=<%= googleMapApiKey %>&amp;libraries=places&language=en" async=""></script>
26
+ <link rel="stylesheet" type="text/css" href="/main.css">
27
+ </head>
28
+ <body>
29
+ <div id="app"></div>
30
+
31
+ <script src="/main.js"></script>
32
+ </body>
33
+ </html>
@@ -0,0 +1,5 @@
1
+ import webpackHotMiddlewareClient from "webpack-hot-middleware/client?noInfo=true&reload=true";
2
+
3
+ webpackHotMiddlewareClient.subscribe(({ reload }) => {
4
+ if (reload) window.location.reload();
5
+ });
@@ -0,0 +1,13 @@
1
+ const baseConfig = require('./webpack.config.base');
2
+ const clientConfig = require('./webpack.config.client');
3
+ const serverConfig = require('./webpack.config.server');
4
+ const spaConfig = require('./webpack.config.spa');
5
+ const ssrConfig = require('./webpack.config.ssr');
6
+
7
+ module.exports = {
8
+ baseConfig,
9
+ clientConfig,
10
+ serverConfig,
11
+ spaConfig,
12
+ ssrConfig,
13
+ };
@@ -0,0 +1,127 @@
1
+ const path = require("path");
2
+ const webpack = require("webpack");
3
+ const { VueLoaderPlugin } = require("vue-loader");
4
+ const MiniCssExtractPlugin = require('mini-css-extract-plugin')
5
+ const { CleanWebpackPlugin } = require("clean-webpack-plugin");
6
+ const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
7
+
8
+ const Dotenv = require('dotenv-webpack');
9
+
10
+ module.exports = (projectRoot) => {
11
+ return {
12
+ resolve: {
13
+ alias: {
14
+ '@': path.resolve(projectRoot, 'src'),
15
+ '@pf': path.resolve(projectRoot, 'prometheus-framework'),
16
+ 'vue': path.resolve(projectRoot, 'node_modules/vue'),
17
+ 'vue-router': path.resolve(projectRoot, 'node_modules/vue-router'),
18
+ 'vue-i18n': path.resolve(projectRoot, 'node_modules/vue-i18n'),
19
+ },
20
+ fallback: {
21
+ "path": false
22
+ }
23
+ },
24
+ module: {
25
+ rules: [
26
+ {
27
+ test: /\.m?js$/,
28
+ exclude: /node_modules\/(?!(vue-meta)\/).*/,
29
+ use: {
30
+ loader: "babel-loader",
31
+ options: {
32
+ configFile: path.resolve(projectRoot, 'babel.config.js')
33
+ },
34
+ },
35
+ },
36
+ {
37
+ test: /\.vue$/,
38
+ use: [
39
+ {
40
+ loader: require.resolve('vue-loader'),
41
+ },
42
+ ],
43
+ },
44
+ {
45
+ test: /\.(sa|sc|c)ss$/,
46
+ use: [
47
+ process.env.NODE_ENV !== 'production'
48
+ ? 'vue-style-loader'
49
+ : MiniCssExtractPlugin.loader,
50
+ {
51
+ loader: 'css-loader',
52
+ options: {
53
+ sourceMap: true,
54
+ url: {
55
+ filter: (url, resourcePath) => {
56
+ if (url.indexOf("/fonts/")==0) {
57
+ return false;
58
+ }
59
+ return true;
60
+ },
61
+ }
62
+ }
63
+ },
64
+ {
65
+ loader: 'sass-loader',
66
+ options: {
67
+ sourceMap: true,
68
+ }
69
+ },
70
+ ],
71
+ },
72
+ {
73
+ test: /\.(?:ico|gif|png|jpg|jpeg|mp4|webp|webm|svg|woff2?|eot|ttf|otf)$/i,
74
+ use: {
75
+ loader: 'url-loader',
76
+ options: {
77
+ emitFile: false
78
+ },
79
+ },
80
+ }
81
+ ],
82
+ },
83
+ plugins: [
84
+ // new BundleAnalyzerPlugin(),
85
+ new MiniCssExtractPlugin({
86
+ filename: '[name].[contenthash].css',
87
+ chunkFilename: '[id].[contenthash].css',
88
+ ignoreOrder: true
89
+ }),
90
+ new CleanWebpackPlugin(),
91
+ new VueLoaderPlugin(),
92
+ new Dotenv({
93
+ path: `.env.${process.env.NODE_ENV}`
94
+ }),
95
+ new webpack.DefinePlugin({
96
+ __VUE_I18N_LEGACY_API__:false,
97
+ __VUE_OPTIONS_API__:true,
98
+ __VUE_PROD_DEVTOOLS_:false,
99
+ __VUE_PROD_DEVTOOLS__: true,
100
+ __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: true,
101
+ __VUE_I18N_FULL_INSTALL__:true,
102
+ __INTLIFY_PROD_DEVTOOLS__:false,
103
+ __MOBILE_APP__: false,
104
+ })
105
+ ],
106
+ infrastructureLogging: {
107
+ level: 'verbose',
108
+ },
109
+ stats: {
110
+ colors: true,
111
+ hash: true,
112
+ version: true,
113
+ timings: true,
114
+ assets: true,
115
+ chunks: true,
116
+ modules: true,
117
+ reasons: true,
118
+ children: true,
119
+ source: true,
120
+ errors: true,
121
+ errorDetails: true,
122
+ errorStack: true,
123
+ warnings: true,
124
+ publicPath: true
125
+ },
126
+ };
127
+ };
@@ -0,0 +1,78 @@
1
+ const path = require("path");
2
+ const glob = require('glob-all');
3
+ const webpack = require("webpack");
4
+ const { merge } = require("webpack-merge");
5
+ const { StatsWriterPlugin } = require("webpack-stats-plugin");
6
+ const MiniCssExtractPlugin = require("mini-css-extract-plugin");
7
+ const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
8
+ const TerserPlugin = require("terser-webpack-plugin");
9
+ const WorkboxPlugin = require('workbox-webpack-plugin');
10
+ const PurgeCSSPlugin = require('purgecss-webpack-plugin');
11
+
12
+ const baseConfig = require('./webpack.config.base');
13
+
14
+ module.exports = (projectRoot) => {
15
+ const isProd = process.env.NODE_ENV === "production";
16
+
17
+ const config = {
18
+ mode: !isProd ? "development" : "production",
19
+ devtool: !isProd ? "inline-source-map" : "source-map",
20
+ entry: {
21
+ main: !isProd
22
+ ? [path.resolve("../utils/hot-reload.js"), path.resolve(projectRoot, "src/entry-client.js")]
23
+ : path.resolve(projectRoot, "src/entry-client.js"),
24
+ },
25
+ module: {
26
+ rules: [],
27
+ },
28
+ output: {
29
+ filename: "main.[fullhash].js",
30
+ chunkFilename: '[name].[contenthash].js',
31
+ path: path.resolve(projectRoot, "builds/web/client"),
32
+ publicPath: "/",
33
+ clean: true
34
+ },
35
+ plugins: [
36
+ ...(!isProd ? [new webpack.HotModuleReplacementPlugin()] : []),
37
+ new StatsWriterPlugin(),
38
+ new WorkboxPlugin.GenerateSW({
39
+ clientsClaim: true,
40
+ skipWaiting: true,
41
+ }),
42
+ new PurgeCSSPlugin({
43
+ paths: glob.sync([
44
+ path.join(projectRoot, 'src/**/*.vue'),
45
+ path.join(projectRoot, 'prometheus-framework/src/**/*.vue'),
46
+ ]),
47
+ safelist: { greedy: [ /data-v-.*/ ] }
48
+ }),
49
+ ],
50
+ optimization: {
51
+ usedExports: true,
52
+ splitChunks: {
53
+ chunks: "async",
54
+ minSize: 0,
55
+ minRemainingSize: 0,
56
+ minChunks: 1,
57
+ maxAsyncRequests: 30,
58
+ maxInitialRequests: 30,
59
+ enforceSizeThreshold: 50000,
60
+ cacheGroups: {
61
+ vendor: {
62
+ test: /[\\/]node_modules[\\/]/,
63
+ name: "vendors",
64
+ priority: -10,
65
+ reuseExistingChunk: true,
66
+ },
67
+ },
68
+ },
69
+ minimize: isProd,
70
+ minimizer: [
71
+ new TerserPlugin(),
72
+ new CssMinimizerPlugin()
73
+ ],
74
+ },
75
+ };
76
+
77
+ return merge(baseConfig(projectRoot), config);
78
+ };
@@ -0,0 +1,31 @@
1
+ const path = require("path");
2
+ const webpack = require('webpack');
3
+ const nodeExternals = require('webpack-node-externals');
4
+
5
+ module.exports = (projectRoot) => {
6
+ return {
7
+ target: 'node',
8
+ mode: "development",
9
+ entry: [
10
+ 'webpack/hot/poll?1000',
11
+ path.resolve(projectRoot, 'server/server.js')
12
+ ],
13
+ output: {
14
+ filename: "server.[fullhash].js",
15
+ path: path.resolve(projectRoot, "builds/web/server"),
16
+ clean: true
17
+ },
18
+ resolve: {
19
+ alias: {
20
+ '@pf': path.resolve(projectRoot, 'prometheus-framework'),
21
+ },
22
+ fallback: {
23
+ "path": false
24
+ }
25
+ },
26
+ // externals: [nodeExternals()],
27
+ plugins: [
28
+ new webpack.HotModuleReplacementPlugin(),
29
+ ],
30
+ };
31
+ };
@@ -0,0 +1,80 @@
1
+ const path = require("path");
2
+ const webpack = require("webpack");
3
+ const { merge } = require("webpack-merge");
4
+ const { VueLoaderPlugin } = require("vue-loader");
5
+ const MiniCssExtractPlugin = require("mini-css-extract-plugin");
6
+ const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
7
+ const CopyWebpackPlugin = require('copy-webpack-plugin');
8
+ const TerserPlugin = require("terser-webpack-plugin");
9
+ const HtmlWebpackPlugin = require('html-webpack-plugin');
10
+ const { StatsWriterPlugin } = require("webpack-stats-plugin");
11
+ const Mustache = require("mustache");
12
+ const fs = require('fs').promises;
13
+
14
+ const getClientConfig = require("./webpack.config.client");
15
+ const templatePath = path.resolve(__dirname,"../templates/page.html");
16
+
17
+ const isProd = process.env.NODE_ENV === "production";
18
+
19
+ module.exports = (projectRoot) => {
20
+
21
+ // let mainJS = !isProd ? [path.resolve("../utils/hot-reload.js"), path.resolve(projectRoot, "src/app.js")] : path.resolve(projectRoot, "src/app.js")
22
+
23
+ const spaConfig = {
24
+ mode: !isProd ? "development" : "production",
25
+ devtool: "source-map",
26
+ entry: {
27
+ main: path.resolve(projectRoot, "src/app.js"),
28
+ },
29
+ output: {
30
+ filename: "main.js",
31
+ path: path.resolve(projectRoot, "builds/web/spa"),
32
+ clean: true
33
+ },
34
+ target: "web",
35
+ module: {
36
+ rules: [
37
+ // Дополнительные правила могут быть добавлены здесь
38
+ ]
39
+ },
40
+ plugins: [
41
+ ...(!isProd ? [new webpack.HotModuleReplacementPlugin()] : []),
42
+ new StatsWriterPlugin(),
43
+ new webpack.optimize.LimitChunkCountPlugin({
44
+ maxChunks: 1,
45
+ }),
46
+ new HtmlWebpackPlugin({
47
+ templateContent: async () => {
48
+ const template = await fs.readFile(templatePath, 'utf8');
49
+ const meta = {
50
+ htmlAttrs: 'lang="en"',
51
+ headAttrs: '',
52
+ bodyAttrs: '',
53
+ head: '<meta name="description" content="Example">',
54
+ body: '',
55
+ };
56
+ const data = {
57
+ googleTagId: process.env.GOOGLE_TAG_ID,
58
+ googleMapApiKey: process.env.GOOGLE_MAPS_API_KEY,
59
+ meta,
60
+ };
61
+ return Mustache.render(template, data);
62
+ },
63
+ filename: 'index.html',
64
+ inject: 'body',
65
+ }),
66
+ new CopyWebpackPlugin({
67
+ patterns: [
68
+ { from: path.resolve(projectRoot, '../public/logo'), to: 'logo' },
69
+ { from: path.resolve(projectRoot, '../public/walkthrough'), to: 'walkthrough' }
70
+ ]
71
+ }),
72
+ // new ServiceWorkerPlugin()
73
+ ],
74
+ optimization: {
75
+ minimizer: [new TerserPlugin(), new CssMinimizerPlugin()],
76
+ },
77
+ };
78
+
79
+ return merge(getClientConfig(projectRoot), spaConfig);
80
+ };
@@ -0,0 +1,57 @@
1
+ const path = require("path");
2
+ const webpack = require("webpack");
3
+ const nodeExternals = require('webpack-node-externals');
4
+ const { merge } = require("webpack-merge");
5
+ const { WebpackManifestPlugin } = require("webpack-manifest-plugin");
6
+
7
+ const getBaseConfig = require("./webpack.config.base.js");
8
+
9
+ module.exports = (projectRoot) => {
10
+ const isProd = process.env.NODE_ENV === "production";
11
+
12
+ const ssrConfig = {
13
+ target: "node",
14
+ mode: !isProd ? "development" : "production",
15
+ entry: {
16
+ main: path.resolve(projectRoot, "src/entry-server.js"),
17
+ },
18
+ output: {
19
+ filename: "main.[fullhash].js",
20
+ path: path.resolve(projectRoot, "builds/web/server"),
21
+ libraryTarget: "commonjs2",
22
+ clean: true
23
+ },
24
+ module: {
25
+ rules: [
26
+ {
27
+ test: /\.css$/,
28
+ // we don't need styles on the server, so we just ignore them
29
+ use: "null-loader",
30
+ },
31
+ ],
32
+ },
33
+ optimization: {
34
+ minimize: false,
35
+ },
36
+ plugins: [
37
+ new webpack.optimize.LimitChunkCountPlugin({
38
+ maxChunks: 1,
39
+ }),
40
+ ...(isProd ? [new WebpackManifestPlugin({
41
+ fileName: 'manifest.json'
42
+ })] : []),
43
+ ],
44
+ externals: [
45
+ nodeExternals({
46
+ allowlist: [
47
+ /^vue-meta*/,
48
+ /\.(css|sass|scss)$/,
49
+ /\.(vue)$/,
50
+ /\.(html)$/,
51
+ ],
52
+ })
53
+ ],
54
+ };
55
+
56
+ return merge(getBaseConfig(projectRoot), ssrConfig);
57
+ };