@nathapp/na-cli 1.0.1-rc.6 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/README.md +88 -20
  2. package/dist/index.js +36 -2
  3. package/dist/index.js.map +1 -1
  4. package/dist/templates/k8s-cert-manager/README.md +60 -0
  5. package/dist/templates/k8s-cert-manager/cloudflare-cert-manager-issuer.yaml +26 -0
  6. package/dist/templates/k8s-deployment/templates/_deployment.tpl +1 -1
  7. package/dist/templates/k8s-deployment/templates/_endpointslice.tpl +42 -0
  8. package/dist/templates/k8s-deployment/templates/_gateway.tpl +94 -0
  9. package/dist/templates/k8s-deployment/templates/_grpcroute.tpl +186 -0
  10. package/dist/templates/k8s-deployment/templates/_httproute.tpl +209 -0
  11. package/dist/templates/k8s-deployment/templates/_ingressroute.tpl +178 -0
  12. package/dist/templates/k8s-deployment/templates/_middleware.tpl +553 -0
  13. package/dist/templates/k8s-deployment/templates/_serverstransport.tpl +73 -0
  14. package/dist/templates/k8s-deployment/templates/_service.tpl +4 -1
  15. package/dist/templates/k8s-helm-chart/templates/endpointslice.yaml +1 -0
  16. package/dist/templates/k8s-helm-chart/templates/gateway.yaml +1 -0
  17. package/dist/templates/k8s-helm-chart/templates/grpcroute.yaml +1 -0
  18. package/dist/templates/k8s-helm-chart/templates/httproute.yaml +1 -0
  19. package/dist/templates/k8s-helm-chart/templates/ingressroute.yaml +1 -0
  20. package/dist/templates/k8s-helm-chart/templates/middleware.yaml +1 -0
  21. package/dist/templates/k8s-helm-chart/templates/serverstransport.yaml +1 -0
  22. package/dist/templates/k8s-helm-chart/values.yaml +3 -5
  23. package/dist/templates/nestjs-api/{.env → .env.local} +5 -0
  24. package/dist/templates/nestjs-api/.gitignore-rename +2 -1
  25. package/dist/templates/nestjs-api/Dockerfile +33 -13
  26. package/dist/templates/nestjs-api/package.json +49 -39
  27. package/dist/templates/nestjs-api/src/i18n/en_US/date.json +7 -0
  28. package/dist/templates/nestjs-api/src/i18n/en_US/validation.json +16 -0
  29. package/dist/templates/nestjs-api/src/i18n/zh_CN/date.json +7 -0
  30. package/dist/templates/nestjs-api/src/i18n/zh_CN/validation.json +16 -0
  31. package/dist/templates/nestjs-api/src/i18n/zh_TW/date.json +7 -0
  32. package/dist/templates/nestjs-api/src/i18n/zh_TW/validation.json +16 -0
  33. package/dist/templates/nestjs-api/test/jest-test.json +26 -0
  34. package/dist/templates/nestjs-library/.npmignore-rename +4 -0
  35. package/dist/templates/nestjs-library/package.json +8 -8
  36. package/dist/templates/ts-library/.npmignore-rename +4 -0
  37. package/dist/templates/turbo-nestjs-vuexy/README.md +3 -0
  38. package/dist/templates/turbo-nestjs-vuexy/package.json +49 -0
  39. package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/README.md +3 -0
  40. package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/library.js +43 -0
  41. package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/package.json +18 -0
  42. package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/vue.js +236 -0
  43. package/dist/templates/{ts-library/tsconfig.json → turbo-nestjs-vuexy/packages/typescript-config/base.json} +4 -6
  44. package/dist/templates/turbo-nestjs-vuexy/packages/typescript-config/nestjs.json +12 -0
  45. package/dist/templates/turbo-nestjs-vuexy/packages/typescript-config/package.json +9 -0
  46. package/dist/templates/turbo-nestjs-vuexy/packages/typescript-config/vue.json +82 -0
  47. package/dist/templates/turbo-nestjs-vuexy/turbo.json +24 -0
  48. package/dist/templates/vuexy-portal/.editorconfig +1 -0
  49. package/dist/templates/vuexy-portal/.eslintrc.cjs +237 -0
  50. package/dist/templates/vuexy-portal/.gitignore-rename +42 -0
  51. package/dist/templates/vuexy-portal/.stylelintrc.json +46 -0
  52. package/dist/templates/vuexy-portal/Dockerfile +43 -0
  53. package/dist/templates/vuexy-portal/README.md +35 -0
  54. package/dist/templates/vuexy-portal/auto-imports.d.ts +1131 -0
  55. package/dist/templates/vuexy-portal/components.d.ts +68 -0
  56. package/dist/templates/vuexy-portal/dev.Dockerfile +25 -0
  57. package/dist/templates/vuexy-portal/docker-compose.dev.yml +14 -0
  58. package/dist/templates/vuexy-portal/docker-compose.prod.yml +13 -0
  59. package/dist/templates/vuexy-portal/entrypoint.sh +6 -0
  60. package/dist/templates/vuexy-portal/env.d.ts +12 -0
  61. package/dist/templates/vuexy-portal/index.html +57 -0
  62. package/dist/templates/vuexy-portal/nginx.conf +14 -0
  63. package/dist/templates/vuexy-portal/package.json +140 -0
  64. package/dist/templates/vuexy-portal/pnpm-lock.yaml +7963 -0
  65. package/dist/templates/vuexy-portal/prod.Dockerfile +41 -0
  66. package/dist/templates/vuexy-portal/public/favicon.ico +0 -0
  67. package/dist/templates/vuexy-portal/public/images/avatars/avatar-1.png +0 -0
  68. package/dist/templates/vuexy-portal/public/images/avatars/avatar-2.png +0 -0
  69. package/dist/templates/vuexy-portal/public/images/svg/discord.svg +10 -0
  70. package/dist/templates/vuexy-portal/public/images/svg/gift.svg +8 -0
  71. package/dist/templates/vuexy-portal/public/images/svg/keyboard.svg +8 -0
  72. package/dist/templates/vuexy-portal/public/images/svg/laptop.svg +8 -0
  73. package/dist/templates/vuexy-portal/public/images/svg/lightbulb.svg +8 -0
  74. package/dist/templates/vuexy-portal/public/images/svg/rocket.svg +8 -0
  75. package/dist/templates/vuexy-portal/public/loader.css +79 -0
  76. package/dist/templates/vuexy-portal/public/mockServiceWorker.js +287 -0
  77. package/dist/templates/vuexy-portal/shims.d.ts +15 -0
  78. package/dist/templates/vuexy-portal/src/@core/components/AppBarSearch.vue +278 -0
  79. package/dist/templates/vuexy-portal/src/@core/components/AppDrawerHeaderSection.vue +30 -0
  80. package/dist/templates/vuexy-portal/src/@core/components/AppStepper.vue +371 -0
  81. package/dist/templates/vuexy-portal/src/@core/components/BuyNow.vue +92 -0
  82. package/dist/templates/vuexy-portal/src/@core/components/CardStatisticsVerticalSimple.vue +35 -0
  83. package/dist/templates/vuexy-portal/src/@core/components/CustomizerSection.vue +27 -0
  84. package/dist/templates/vuexy-portal/src/@core/components/DialogCloseBtn.vue +25 -0
  85. package/dist/templates/vuexy-portal/src/@core/components/DropZone.vue +135 -0
  86. package/dist/templates/vuexy-portal/src/@core/components/I18n.vue +48 -0
  87. package/dist/templates/vuexy-portal/src/@core/components/MoreBtn.vue +24 -0
  88. package/dist/templates/vuexy-portal/src/@core/components/Notifications.vue +245 -0
  89. package/dist/templates/vuexy-portal/src/@core/components/ProductDescriptionEditor.vue +198 -0
  90. package/dist/templates/vuexy-portal/src/@core/components/ScrollToTop.vue +41 -0
  91. package/dist/templates/vuexy-portal/src/@core/components/Shortcuts.vue +99 -0
  92. package/dist/templates/vuexy-portal/src/@core/components/TablePagination.vue +39 -0
  93. package/dist/templates/vuexy-portal/src/@core/components/TheCustomizer.vue +618 -0
  94. package/dist/templates/vuexy-portal/src/@core/components/ThemeSwitcher.vue +61 -0
  95. package/dist/templates/vuexy-portal/src/@core/components/TiptapEditor.vue +166 -0
  96. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppAutocomplete.vue +57 -0
  97. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppCombobox.vue +57 -0
  98. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppDateTimePicker.vue +543 -0
  99. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppSelect.vue +50 -0
  100. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppTextField.vue +78 -0
  101. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppTextarea.vue +50 -0
  102. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomCheckboxes.vue +81 -0
  103. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomCheckboxesWithIcon.vue +95 -0
  104. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomCheckboxesWithImage.vue +93 -0
  105. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomRadios.vue +81 -0
  106. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomRadiosWithIcon.vue +88 -0
  107. package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomRadiosWithImage.vue +99 -0
  108. package/dist/templates/vuexy-portal/src/@core/components/cards/AppCardActions.vue +167 -0
  109. package/dist/templates/vuexy-portal/src/@core/components/cards/AppCardCode.vue +152 -0
  110. package/dist/templates/vuexy-portal/src/@core/components/cards/CardStatisticsHorizontal.vue +41 -0
  111. package/dist/templates/vuexy-portal/src/@core/components/cards/CardStatisticsVertical.vue +48 -0
  112. package/dist/templates/vuexy-portal/src/@core/scss/base/_components.scss +185 -0
  113. package/dist/templates/vuexy-portal/src/@core/scss/base/_dark.scss +16 -0
  114. package/dist/templates/vuexy-portal/src/@core/scss/base/_default-layout-w-horizontal-nav.scss +45 -0
  115. package/dist/templates/vuexy-portal/src/@core/scss/base/_default-layout-w-vertical-nav.scss +103 -0
  116. package/dist/templates/vuexy-portal/src/@core/scss/base/_default-layout.scss +16 -0
  117. package/dist/templates/vuexy-portal/src/@core/scss/base/_horizontal-nav.scss +194 -0
  118. package/dist/templates/vuexy-portal/src/@core/scss/base/_index.scss +48 -0
  119. package/dist/templates/vuexy-portal/src/@core/scss/base/_layouts.scss +63 -0
  120. package/dist/templates/vuexy-portal/src/@core/scss/base/_misc.scss +20 -0
  121. package/dist/templates/vuexy-portal/src/@core/scss/base/_mixins.scss +63 -0
  122. package/dist/templates/vuexy-portal/src/@core/scss/base/_route-transitions.scss +70 -0
  123. package/dist/templates/vuexy-portal/src/@core/scss/base/_utilities.scss +181 -0
  124. package/dist/templates/vuexy-portal/src/@core/scss/base/_utils.scss +90 -0
  125. package/dist/templates/vuexy-portal/src/@core/scss/base/_variables.scss +198 -0
  126. package/dist/templates/vuexy-portal/src/@core/scss/base/_vertical-nav.scss +255 -0
  127. package/dist/templates/vuexy-portal/src/@core/scss/base/libs/_perfect-scrollbar.scss +35 -0
  128. package/dist/templates/vuexy-portal/src/@core/scss/base/libs/vuetify/_index.scss +1 -0
  129. package/dist/templates/vuexy-portal/src/@core/scss/base/libs/vuetify/_overrides.scss +264 -0
  130. package/dist/templates/vuexy-portal/src/@core/scss/base/libs/vuetify/_variables.scss +62 -0
  131. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_default-layout-horizontal-nav.scss +27 -0
  132. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_default-layout-vertical-nav.scss +45 -0
  133. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_default-layout.scss +3 -0
  134. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_horizontal-nav.scss +98 -0
  135. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_index.scss +7 -0
  136. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_misc.scss +7 -0
  137. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_nav.scss +33 -0
  138. package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_vertical-nav.scss +80 -0
  139. package/dist/templates/vuexy-portal/src/@core/scss/base/skins/_bordered.scss +72 -0
  140. package/dist/templates/vuexy-portal/src/@core/scss/base/skins/_index.scss +1 -0
  141. package/dist/templates/vuexy-portal/src/@core/scss/template/_default-layout-w-horizontal-nav.scss +9 -0
  142. package/dist/templates/vuexy-portal/src/@core/scss/template/_default-layout-w-vertical-nav.scss +20 -0
  143. package/dist/templates/vuexy-portal/src/@core/scss/template/_horizontal-nav.scss +40 -0
  144. package/dist/templates/vuexy-portal/src/@core/scss/template/_mixins.scss +6 -0
  145. package/dist/templates/vuexy-portal/src/@core/scss/template/_utilities.scss +49 -0
  146. package/dist/templates/vuexy-portal/src/@core/scss/template/_variables.scss +102 -0
  147. package/dist/templates/vuexy-portal/src/@core/scss/template/_vertical-nav.scss +47 -0
  148. package/dist/templates/vuexy-portal/src/@core/scss/template/index.scss +17 -0
  149. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/apex-chart.scss +108 -0
  150. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/full-calendar.scss +351 -0
  151. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/shepherd.scss +94 -0
  152. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/swiper.scss +5 -0
  153. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/_variables.scss +351 -0
  154. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_alert.scss +114 -0
  155. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_avatar.scss +27 -0
  156. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_badge.scss +25 -0
  157. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_button.scss +280 -0
  158. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_cards.scss +3 -0
  159. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_checkbox.scss +57 -0
  160. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_chip.scss +102 -0
  161. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_dialog.scss +27 -0
  162. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_expansion-panels.scss +106 -0
  163. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_field.scss +308 -0
  164. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_list.scss +30 -0
  165. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_menu.scss +35 -0
  166. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_otp-input.scss +17 -0
  167. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_pagination.scss +140 -0
  168. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_progress.scss +13 -0
  169. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_radio.scss +46 -0
  170. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_rating.scss +20 -0
  171. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_slider.scss +27 -0
  172. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_snackbar.scss +10 -0
  173. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_switch.scss +58 -0
  174. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_table.scss +48 -0
  175. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_tabs.scss +91 -0
  176. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_textarea.scss +9 -0
  177. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_timeline.scss +99 -0
  178. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_tooltip.scss +6 -0
  179. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/index.scss +25 -0
  180. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/index.scss +3 -0
  181. package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/overrides.scss +18 -0
  182. package/dist/templates/vuexy-portal/src/@core/scss/template/pages/misc.scss +20 -0
  183. package/dist/templates/vuexy-portal/src/@core/scss/template/pages/page-auth.scss +63 -0
  184. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_default-layout-horizontal-nav.scss +7 -0
  185. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_default-layout-vertical-nav.scss +8 -0
  186. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_horizontal-nav.scss +47 -0
  187. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_index.scss +6 -0
  188. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_misc.scss +3 -0
  189. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_nav.scss +27 -0
  190. package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_vertical-nav.scss +35 -0
  191. package/dist/templates/vuexy-portal/src/@core/scss/template/skins/_bordered.scss +82 -0
  192. package/dist/templates/vuexy-portal/src/@core/scss/template/skins/_index.scss +1 -0
  193. package/dist/templates/vuexy-portal/src/@custom/assets/images/user-profile-header.png +0 -0
  194. package/dist/templates/vuexy-portal/src/@custom/components/ConfirmationDialog.vue +155 -0
  195. package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNav.vue +35 -0
  196. package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavGroup.vue +110 -0
  197. package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavLayout.vue +150 -0
  198. package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavLink.vue +56 -0
  199. package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavPopper.vue +175 -0
  200. package/dist/templates/vuexy-portal/src/@layouts/components/TransitionExpand.vue +92 -0
  201. package/dist/templates/vuexy-portal/src/@layouts/components/VNodeRenderer.tsx +17 -0
  202. package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNav.vue +236 -0
  203. package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavGroup.vue +267 -0
  204. package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavLayout.vue +232 -0
  205. package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavLink.vue +68 -0
  206. package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavSectionTitle.vue +37 -0
  207. package/dist/templates/vuexy-portal/src/@layouts/styles/_classes.scss +3 -0
  208. package/dist/templates/vuexy-portal/src/@layouts/styles/_default-layout.scss +35 -0
  209. package/dist/templates/vuexy-portal/src/@layouts/styles/_global.scss +10 -0
  210. package/dist/templates/vuexy-portal/src/@layouts/styles/_mixins.scss +30 -0
  211. package/dist/templates/vuexy-portal/src/@layouts/styles/_placeholders.scss +53 -0
  212. package/dist/templates/vuexy-portal/src/@layouts/styles/_rtl.scss +7 -0
  213. package/dist/templates/vuexy-portal/src/@layouts/styles/_variables.scss +29 -0
  214. package/dist/templates/vuexy-portal/src/@layouts/styles/index.scss +3 -0
  215. package/dist/templates/vuexy-portal/src/App.vue +26 -0
  216. package/dist/templates/vuexy-portal/src/assets/images/avatars/avatar-1.png +0 -0
  217. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/border-light.svg +16 -0
  218. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/collapsed-light.svg +17 -0
  219. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/compact-light.svg +11 -0
  220. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/default-light.svg +17 -0
  221. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/horizontal-light.svg +12 -0
  222. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/ltr-light.svg +15 -0
  223. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/rtl-light.svg +15 -0
  224. package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/wide-light.svg +11 -0
  225. package/dist/templates/vuexy-portal/src/assets/images/logo.svg +6 -0
  226. package/dist/templates/vuexy-portal/src/assets/images/misc/3d-safe-box-with-golden-dollar-coins.png +0 -0
  227. package/dist/templates/vuexy-portal/src/assets/images/misc/3d-space-rocket-with-smoke.png +0 -0
  228. package/dist/templates/vuexy-portal/src/assets/images/misc/dollar-coins-flying-pink-piggy-bank.png +0 -0
  229. package/dist/templates/vuexy-portal/src/assets/images/misc/fleet-car.png +0 -0
  230. package/dist/templates/vuexy-portal/src/assets/images/pages/misc-mask-dark.png +0 -0
  231. package/dist/templates/vuexy-portal/src/assets/images/pages/misc-mask-light.png +0 -0
  232. package/dist/templates/vuexy-portal/src/assets/images/svg/Card.svg +8 -0
  233. package/dist/templates/vuexy-portal/src/assets/images/svg/Check.svg +4 -0
  234. package/dist/templates/vuexy-portal/src/assets/images/svg/Diamond.svg +12 -0
  235. package/dist/templates/vuexy-portal/src/assets/images/svg/Suitcase.svg +4 -0
  236. package/dist/templates/vuexy-portal/src/assets/images/svg/Wallet.svg +10 -0
  237. package/dist/templates/vuexy-portal/src/assets/images/svg/address.svg +25 -0
  238. package/dist/templates/vuexy-portal/src/assets/images/svg/auth-v1-bottom-shape.svg +4 -0
  239. package/dist/templates/vuexy-portal/src/assets/images/svg/auth-v1-top-shape.svg +4 -0
  240. package/dist/templates/vuexy-portal/src/assets/images/svg/cart.svg +5 -0
  241. package/dist/templates/vuexy-portal/src/assets/images/svg/checkbox-checked.svg +4 -0
  242. package/dist/templates/vuexy-portal/src/assets/images/svg/checkbox-indeterminate.svg +4 -0
  243. package/dist/templates/vuexy-portal/src/assets/images/svg/checkbox-unchecked.svg +10 -0
  244. package/dist/templates/vuexy-portal/src/assets/images/svg/discord.svg +10 -0
  245. package/dist/templates/vuexy-portal/src/assets/images/svg/gift.svg +8 -0
  246. package/dist/templates/vuexy-portal/src/assets/images/svg/home.svg +5 -0
  247. package/dist/templates/vuexy-portal/src/assets/images/svg/keyboard.svg +4 -0
  248. package/dist/templates/vuexy-portal/src/assets/images/svg/laptop.svg +4 -0
  249. package/dist/templates/vuexy-portal/src/assets/images/svg/lightbulb.svg +8 -0
  250. package/dist/templates/vuexy-portal/src/assets/images/svg/office.svg +4 -0
  251. package/dist/templates/vuexy-portal/src/assets/images/svg/paper-send.svg +4 -0
  252. package/dist/templates/vuexy-portal/src/assets/images/svg/payment.svg +21 -0
  253. package/dist/templates/vuexy-portal/src/assets/images/svg/radio-checked.svg +3 -0
  254. package/dist/templates/vuexy-portal/src/assets/images/svg/radio-unchecked.svg +3 -0
  255. package/dist/templates/vuexy-portal/src/assets/images/svg/rocket.svg +4 -0
  256. package/dist/templates/vuexy-portal/src/assets/images/svg/trending.svg +14 -0
  257. package/dist/templates/vuexy-portal/src/assets/images/svg/user-info.svg +4 -0
  258. package/dist/templates/vuexy-portal/src/assets/images/svg/user.svg +6 -0
  259. package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-account.svg +6 -0
  260. package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-address.svg +18 -0
  261. package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-personal.svg +6 -0
  262. package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-social-link.svg +6 -0
  263. package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-submit.svg +6 -0
  264. package/dist/templates/vuexy-portal/src/assets/styles/styles.scss +1 -0
  265. package/dist/templates/vuexy-portal/src/assets/styles/variables/_template.scss +6 -0
  266. package/dist/templates/vuexy-portal/src/assets/styles/variables/_vuetify.scss +7 -0
  267. package/dist/templates/vuexy-portal/src/components/AppLoadingIndicator.vue +63 -0
  268. package/dist/templates/vuexy-portal/src/components/AppPricing.vue +247 -0
  269. package/dist/templates/vuexy-portal/src/components/AppSearchHeader.vue +77 -0
  270. package/dist/templates/vuexy-portal/src/components/ErrorHeader.vue +40 -0
  271. package/dist/templates/vuexy-portal/src/components/dialogs/AddAuthenticatorAppDialog.vue +101 -0
  272. package/dist/templates/vuexy-portal/src/components/dialogs/AddEditAddressDialog.vue +238 -0
  273. package/dist/templates/vuexy-portal/src/components/dialogs/AddEditPermissionDialog.vue +93 -0
  274. package/dist/templates/vuexy-portal/src/components/dialogs/AddEditRoleDialog.vue +302 -0
  275. package/dist/templates/vuexy-portal/src/components/dialogs/AddPaymentMethodDialog.vue +120 -0
  276. package/dist/templates/vuexy-portal/src/components/dialogs/CardAddEditDialog.vue +153 -0
  277. package/dist/templates/vuexy-portal/src/components/dialogs/ConfirmDialog.vue +151 -0
  278. package/dist/templates/vuexy-portal/src/components/dialogs/CreateAppDialog.vue +459 -0
  279. package/dist/templates/vuexy-portal/src/components/dialogs/EnableOneTimePasswordDialog.vue +85 -0
  280. package/dist/templates/vuexy-portal/src/components/dialogs/PaymentProvidersDialog.vue +123 -0
  281. package/dist/templates/vuexy-portal/src/components/dialogs/PricingPlanDialog.vue +34 -0
  282. package/dist/templates/vuexy-portal/src/components/dialogs/ReferAndEarnDialog.vue +181 -0
  283. package/dist/templates/vuexy-portal/src/components/dialogs/ShareProjectDialog.vue +198 -0
  284. package/dist/templates/vuexy-portal/src/components/dialogs/TwoFactorAuthDialog.vue +120 -0
  285. package/dist/templates/vuexy-portal/src/components/dialogs/UserInfoEditDialog.vue +246 -0
  286. package/dist/templates/vuexy-portal/src/components/dialogs/UserUpgradePlanDialog.vue +101 -0
  287. package/dist/templates/vuexy-portal/src/layouts/blank.vue +42 -0
  288. package/dist/templates/vuexy-portal/src/layouts/components/DefaultLayoutWithHorizontalNav.vue +75 -0
  289. package/dist/templates/vuexy-portal/src/layouts/components/DefaultLayoutWithVerticalNav.vue +79 -0
  290. package/dist/templates/vuexy-portal/src/layouts/components/Footer.vue +17 -0
  291. package/dist/templates/vuexy-portal/src/layouts/components/NavSearchBar.vue +266 -0
  292. package/dist/templates/vuexy-portal/src/layouts/components/NavbarShortcuts.vue +45 -0
  293. package/dist/templates/vuexy-portal/src/layouts/components/NavbarThemeSwitcher.vue +22 -0
  294. package/dist/templates/vuexy-portal/src/layouts/components/UserProfile.vue +114 -0
  295. package/dist/templates/vuexy-portal/src/layouts/default.vue +30 -0
  296. package/dist/templates/vuexy-portal/src/pages/[...error].vue +46 -0
  297. package/dist/templates/vuexy-portal/src/pages/account-settings/[tab].vue +57 -0
  298. package/dist/templates/vuexy-portal/src/pages/index.vue +32 -0
  299. package/dist/templates/vuexy-portal/src/pages/login.vue +178 -0
  300. package/dist/templates/vuexy-portal/src/pages/not-authorized.vue +47 -0
  301. package/dist/templates/vuexy-portal/src/pages/second-page.vue +13 -0
  302. package/dist/templates/vuexy-portal/src/plugins/casl/shims-ability.d.ts +8 -0
  303. package/dist/templates/vuexy-portal/src/plugins/i18n/locales/en_US.json +88 -0
  304. package/dist/templates/vuexy-portal/src/plugins/i18n/locales/zh_CN.json +88 -0
  305. package/dist/templates/vuexy-portal/src/plugins/i18n/vue-i18n.d.ts +17 -0
  306. package/dist/templates/vuexy-portal/src/plugins/iconify/icons.css +21039 -0
  307. package/dist/templates/vuexy-portal/src/plugins/iconify/package.json +3 -0
  308. package/dist/templates/vuexy-portal/src/views/account-settings/AccountSettingsSecurity.vue +179 -0
  309. package/dist/templates/vuexy-portal/typed-router.d.ts +146 -0
  310. package/dist/utils/template.js +122 -47
  311. package/dist/utils/template.js.map +1 -1
  312. package/package.json +1 -1
  313. package/.gitlab-ci.yml +0 -143
  314. package/Makefile +0 -62
  315. package/dist/templates/db-schema/.gitlab-ci.yml +0 -139
  316. package/dist/templates/db-schema/Makefile +0 -885
  317. package/dist/templates/k8s-deployment/.gitlab-ci.yml +0 -128
  318. package/dist/templates/k8s-deployment/Makefile +0 -196
  319. package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/script/Makefile +0 -12
  320. package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/script/Makefile +0 -8
  321. package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/script/Makefile +0 -49
  322. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/Makefile +0 -9
  323. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/script/Makefile +0 -14
  324. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/_t-0100-readiness-liveness.ts +0 -84
  325. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/hub.ts +0 -372
  326. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-contact.ts +0 -158
  327. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-contract.ts +0 -328
  328. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-kyc.ts +0 -304
  329. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-onboard-app.ts +0 -823
  330. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-onboard-web.ts +0 -493
  331. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-profile.ts +0 -277
  332. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-whitelist.ts +0 -133
  333. package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/t-0200-start.ts +0 -172
  334. package/dist/templates/mxw-base-api-express/.dockerignore +0 -2
  335. package/dist/templates/mxw-base-api-express/.env +0 -10
  336. package/dist/templates/mxw-base-api-express/.gitignore-rename +0 -3
  337. package/dist/templates/mxw-base-api-express/.gitlab-ci.yml +0 -174
  338. package/dist/templates/mxw-base-api-express/.nvmrc +0 -1
  339. package/dist/templates/mxw-base-api-express/Dockerfile +0 -14
  340. package/dist/templates/mxw-base-api-express/Makefile +0 -84
  341. package/dist/templates/mxw-base-api-express/README.md +0 -71
  342. package/dist/templates/mxw-base-api-express/package.json +0 -55
  343. package/dist/templates/mxw-base-api-express/src/app-service.test.ts +0 -94
  344. package/dist/templates/mxw-base-api-express/src/app-service.ts +0 -498
  345. package/dist/templates/mxw-base-api-express/src/auth/auth-user.test.ts +0 -215
  346. package/dist/templates/mxw-base-api-express/src/auth/auth-user.ts +0 -86
  347. package/dist/templates/mxw-base-api-express/src/auth/auth.ts +0 -81
  348. package/dist/templates/mxw-base-api-express/src/core-service.ts +0 -72
  349. package/dist/templates/mxw-base-api-express/src/crud.ts +0 -84
  350. package/dist/templates/mxw-base-api-express/src/http-handler.ts +0 -71
  351. package/dist/templates/mxw-base-api-express/src/server.ts +0 -54
  352. package/dist/templates/mxw-base-api-express/src/test.ts +0 -38
  353. package/dist/templates/mxw-base-api-express/src/utils/api-utilities.ts +0 -52
  354. package/dist/templates/mxw-base-api-express/src/utils/file-utilities.ts +0 -55
  355. package/dist/templates/mxw-base-api-express/tsconfig.json +0 -32
  356. package/dist/templates/nestjs-api/.dockerignore +0 -6
  357. package/dist/templates/nestjs-api/.gitlab-ci.yml +0 -174
  358. package/dist/templates/nestjs-api/.nvmrc +0 -1
  359. package/dist/templates/nestjs-api/.prettierrc +0 -4
  360. package/dist/templates/nestjs-api/Makefile +0 -95
  361. package/dist/templates/nestjs-api/nest-cli.json +0 -11
  362. package/dist/templates/nestjs-api/src/app.controller.spec.ts +0 -24
  363. package/dist/templates/nestjs-api/src/app.controller.ts +0 -27
  364. package/dist/templates/nestjs-api/src/app.module.ts +0 -49
  365. package/dist/templates/nestjs-api/src/app.service.ts +0 -27
  366. package/dist/templates/nestjs-api/src/main.ts +0 -26
  367. package/dist/templates/nestjs-api/test/app.e2e-spec.ts +0 -47
  368. package/dist/templates/nestjs-api/tsconfig.build.json +0 -4
  369. package/dist/templates/nestjs-api/tsconfig.json +0 -24
  370. package/dist/templates/nestjs-library/.eslintrc.js +0 -24
  371. package/dist/templates/nestjs-library/.gitlab-ci.yml +0 -138
  372. package/dist/templates/nestjs-library/.prettierrc +0 -6
  373. package/dist/templates/nestjs-library/Makefile +0 -60
  374. package/dist/templates/nestjs-library/index.ts +0 -1
  375. package/dist/templates/nestjs-library/lib/index.ts +0 -2
  376. package/dist/templates/nestjs-library/test/app/controller/hello.controller.ts +0 -7
  377. package/dist/templates/nestjs-library/tsconfig.build.json +0 -7
  378. package/dist/templates/nestjs-library/tsconfig.json +0 -18
  379. package/dist/templates/ts-library/.dockerignore +0 -2
  380. package/dist/templates/ts-library/.eslintrc.js +0 -24
  381. package/dist/templates/ts-library/.gitlab-ci.yml +0 -136
  382. package/dist/templates/ts-library/.prettierrc +0 -6
  383. package/dist/templates/ts-library/Makefile +0 -58
  384. package/dist/templates/ts-library/index.ts +0 -1
  385. package/dist/templates/ts-library/lib/index.ts +0 -1
  386. package/dist/templates/ts-library/lib/samples/index.ts +0 -5
  387. package/dist/templates/ts-library/lib/samples/samples-function.ts +0 -3
  388. package/dist/templates/ts-library/test/sample.e2e-spec.ts +0 -10
  389. package/dist/templates/ts-library/tsconfig.build.json +0 -4
  390. package/dist/utils/help.js +0 -8
  391. package/dist/utils/help.js.map +0 -1
  392. package/tsconfig.json +0 -24
  393. /package/dist/templates/{nestjs-api/.eslintrc.js → turbo-nestjs-vuexy/packages/eslint-config/nest.js} +0 -0
@@ -0,0 +1,236 @@
1
+ /** @type {import("eslint").Linter.Config} */
2
+ module.exports = {
3
+ env: {
4
+ browser: true,
5
+ es2021: true,
6
+ },
7
+ extends: [
8
+ '@antfu/eslint-config-vue',
9
+ 'plugin:vue/vue3-recommended',
10
+ 'plugin:import/recommended',
11
+ 'plugin:import/typescript',
12
+ 'plugin:promise/recommended',
13
+ 'plugin:sonarjs/recommended',
14
+ 'plugin:@typescript-eslint/recommended',
15
+ 'plugin:case-police/recommended',
16
+ 'plugin:regexp/recommended',
17
+ ],
18
+ parser: 'vue-eslint-parser',
19
+ parserOptions: {
20
+ ecmaVersion: 13,
21
+ parser: '@typescript-eslint/parser',
22
+ sourceType: 'module',
23
+ },
24
+ plugins: [
25
+ 'vue',
26
+ '@typescript-eslint',
27
+ 'regex',
28
+ 'regexp',
29
+ ],
30
+ ignorePatterns: ['src/plugins/iconify/*.js', 'node_modules', 'dist', '*.d.ts', 'vendor'],
31
+ rules: {
32
+ 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
33
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
34
+
35
+ // indentation (Already present in TypeScript)
36
+ 'comma-spacing': ['error', { before: false, after: true }],
37
+ 'key-spacing': ['error', { afterColon: true }],
38
+ 'n/prefer-global/process': ['off'],
39
+ 'sonarjs/cognitive-complexity': ['off'],
40
+
41
+ 'vue/first-attribute-linebreak': ['error', {
42
+ singleline: 'beside',
43
+ multiline: 'below',
44
+ }],
45
+
46
+ 'antfu/top-level-function': 'off',
47
+ '@typescript-eslint/no-explicit-any': 'off',
48
+
49
+ // indentation (Already present in TypeScript)
50
+ 'indent': ['error', 2],
51
+
52
+ // Enforce trailing comma (Already present in TypeScript)
53
+ 'comma-dangle': ['error', 'always-multiline'],
54
+
55
+ // Enforce consistent spacing inside braces of object (Already present in TypeScript)
56
+ 'object-curly-spacing': ['error', 'always'],
57
+
58
+ // Enforce camelCase naming convention
59
+ 'camelcase': 'error',
60
+
61
+ // Disable max-len
62
+ 'max-len': 'off',
63
+
64
+ // we don't want it
65
+ 'semi': ['error', 'never'],
66
+
67
+ // add parens ony when required in arrow function
68
+ 'arrow-parens': ['error', 'as-needed'],
69
+
70
+ // add new line above comment
71
+ 'newline-before-return': 'error',
72
+
73
+ // add new line above comment
74
+ 'lines-around-comment': [
75
+ 'error',
76
+ {
77
+ beforeBlockComment: true,
78
+ beforeLineComment: true,
79
+ allowBlockStart: true,
80
+ allowClassStart: true,
81
+ allowObjectStart: true,
82
+ allowArrayStart: true,
83
+
84
+ // We don't want to add extra space above closing SECTION
85
+ ignorePattern: '!SECTION',
86
+ },
87
+ ],
88
+
89
+ // Ignore _ as unused variable
90
+ '@typescript-eslint/no-unused-vars': ['error', { varsIgnorePattern: '^_+$', argsIgnorePattern: '^_+$' }],
91
+
92
+ 'array-element-newline': ['error', 'consistent'],
93
+ 'array-bracket-newline': ['error', 'consistent'],
94
+
95
+ 'vue/multi-word-component-names': 'off',
96
+
97
+ 'padding-line-between-statements': [
98
+ 'error',
99
+ { blankLine: 'always', prev: 'expression', next: 'const' },
100
+ { blankLine: 'always', prev: 'const', next: 'expression' },
101
+ { blankLine: 'always', prev: 'multiline-const', next: '*' },
102
+ { blankLine: 'always', prev: '*', next: 'multiline-const' },
103
+ ],
104
+
105
+ // Plugin: eslint-plugin-import
106
+ 'import/prefer-default-export': 'off',
107
+ 'import/newline-after-import': ['error', { count: 1 }],
108
+ 'no-restricted-imports': ['error', 'vuetify/components', {
109
+ name: 'vue3-apexcharts',
110
+ message: 'apexcharts are auto imported',
111
+ }],
112
+
113
+ // For omitting extension for ts files
114
+ 'import/extensions': [
115
+ 'error',
116
+ 'ignorePackages',
117
+ {
118
+ js: 'never',
119
+ jsx: 'never',
120
+ ts: 'never',
121
+ tsx: 'never',
122
+ },
123
+ ],
124
+
125
+ // ignore virtual files
126
+ 'import/no-unresolved': [2, {
127
+ ignore: [
128
+ '~pages$',
129
+ 'virtual:generated-layouts',
130
+ '#auth$',
131
+
132
+ // Ignore vite's ?raw imports
133
+ '.*\?raw',
134
+ ],
135
+ }],
136
+
137
+ // Thanks: https://stackoverflow.com/a/63961972/10796681
138
+ 'no-shadow': 'off',
139
+ '@typescript-eslint/no-shadow': ['error'],
140
+
141
+ '@typescript-eslint/consistent-type-imports': 'error',
142
+
143
+ // Plugin: eslint-plugin-promise
144
+ 'promise/always-return': 'off',
145
+ 'promise/catch-or-return': 'off',
146
+
147
+ // ESLint plugin vue
148
+ 'vue/block-tag-newline': 'error',
149
+ 'vue/component-api-style': 'error',
150
+ 'vue/component-name-in-template-casing': ['error', 'PascalCase', { registeredComponentsOnly: false, ignores: ['/^swiper-/'] }],
151
+ 'vue/custom-event-name-casing': ['error', 'camelCase', {
152
+ ignores: [
153
+ '/^(click):[a-z]+((\d)|([A-Z0-9][a-z0-9]+))*([A-Z])?/',
154
+ ],
155
+ }],
156
+ 'vue/define-macros-order': 'error',
157
+ 'vue/html-comment-content-newline': 'error',
158
+ 'vue/html-comment-content-spacing': 'error',
159
+ 'vue/html-comment-indent': 'error',
160
+ 'vue/match-component-file-name': 'error',
161
+ 'vue/no-child-content': 'error',
162
+ 'vue/require-default-prop': 'off',
163
+
164
+ 'vue/no-duplicate-attr-inheritance': 'error',
165
+ 'vue/no-empty-component-block': 'error',
166
+ 'vue/no-multiple-objects-in-class': 'error',
167
+ 'vue/no-reserved-component-names': 'error',
168
+ 'vue/no-template-target-blank': 'error',
169
+ 'vue/no-useless-mustaches': 'error',
170
+ 'vue/no-useless-v-bind': 'error',
171
+ 'vue/padding-line-between-blocks': 'error',
172
+ 'vue/prefer-separate-static-class': 'error',
173
+ 'vue/prefer-true-attribute-shorthand': 'error',
174
+ 'vue/v-on-function-call': 'error',
175
+ 'vue/no-restricted-class': ['error', '/^(p|m)(l|r)-/'],
176
+ 'vue/valid-v-slot': ['error', {
177
+ allowModifiers: true,
178
+ }],
179
+
180
+ // -- Extension Rules
181
+ 'vue/no-irregular-whitespace': 'error',
182
+ 'vue/template-curly-spacing': 'error',
183
+
184
+ // -- Sonarlint
185
+ 'sonarjs/no-duplicate-string': 'off',
186
+ 'sonarjs/no-nested-template-literals': 'off',
187
+
188
+ // -- Unicorn
189
+ // 'unicorn/filename-case': 'off',
190
+ // 'unicorn/prevent-abbreviations': ['error', {
191
+ // replacements: {
192
+ // props: false,
193
+ // },
194
+ // }],
195
+
196
+ // https://github.com/gmullerb/eslint-plugin-regex
197
+ 'regex/invalid': [
198
+ 'error',
199
+ [
200
+ {
201
+ regex: '@/assets/images',
202
+ replacement: '@images',
203
+ message: 'Use \'@images\' path alias for image imports',
204
+ },
205
+ {
206
+ regex: '@/assets/styles',
207
+ replacement: '@styles',
208
+ message: 'Use \'@styles\' path alias for importing styles from \'src/assets/styles\'',
209
+ },
210
+ {
211
+ regex: '@core/\\w',
212
+ message: 'You can\'t use @core when you are in @layouts module',
213
+ files: {
214
+ inspect: '@layouts/.*',
215
+ },
216
+ },
217
+ {
218
+ regex: 'useLayouts\\(',
219
+ message: '`useLayouts` composable is only allowed in @layouts & @core directory. Please use `useThemeConfig` composable instead.',
220
+ files: {
221
+ inspect: '^(?!.*(@core|@layouts)).*',
222
+ },
223
+ },
224
+ ],
225
+
226
+ // Ignore files
227
+ '\.eslintrc\.cjs',
228
+ ],
229
+ },
230
+ settings: {
231
+ 'import/resolver': {
232
+ node: true,
233
+ typescript: {},
234
+ },
235
+ },
236
+ }
@@ -1,4 +1,5 @@
1
1
  {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
2
3
  "compilerOptions": {
3
4
  "module": "CommonJS",
4
5
  "target": "ES2018",
@@ -6,13 +7,10 @@
6
7
  "noImplicitAny": false,
7
8
  "removeComments": true,
8
9
  "noLib": false,
10
+ "esModuleInterop": true,
9
11
  "emitDecoratorMetadata": true,
10
12
  "experimentalDecorators": true,
11
- "sourceMap": false,
12
- "outDir": "./dist",
13
- "rootDir": "./lib",
13
+ "sourceMap": true,
14
14
  "skipLibCheck": true
15
- },
16
- "include": ["lib/**/*", "../index.ts"],
17
- "exclude": ["node_modules", "**/*.spec.ts"]
15
+ }
18
16
  }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "extends": "./base.json",
4
+ "compilerOptions": {
5
+ "allowSyntheticDefaultImports": true,
6
+ "incremental": true,
7
+ "strictNullChecks": false,
8
+ "strictBindCallApply": false,
9
+ "forceConsistentCasingInFileNames": false,
10
+ "noFallthroughCasesInSwitch": false,
11
+ }
12
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "name": "@repo/typescript-config",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "license": "MIT",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ }
9
+ }
@@ -0,0 +1,82 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "extends": "./base.json",
4
+ "compilerOptions": {
5
+ "target": "esnext",
6
+ "useDefineForClassFields": true,
7
+ "module": "esnext",
8
+ "moduleResolution": "node",
9
+ "isolatedModules": true,
10
+ "strict": true,
11
+ "jsx": "preserve",
12
+ "jsxFactory": "h",
13
+ "jsxFragmentFactory": "Fragment",
14
+ "sourceMap": true,
15
+ "resolveJsonModule": true,
16
+ "esModuleInterop": true,
17
+ "paths": {
18
+ "@/*": [
19
+ "./src/*"
20
+ ],
21
+ "@themeConfig": [
22
+ "./themeConfig.ts"
23
+ ],
24
+ "@layouts/*": [
25
+ "./src/@layouts/*"
26
+ ],
27
+ "@layouts": [
28
+ "./src/@layouts"
29
+ ],
30
+ "@core/*": [
31
+ "./src/@core/*"
32
+ ],
33
+ "@core": [
34
+ "./src/@core"
35
+ ],
36
+ "@images/*": [
37
+ "./src/assets/images/*"
38
+ ],
39
+ "@styles/*": [
40
+ "./src/assets/styles/*"
41
+ ],
42
+ "@validators": [
43
+ "./src/@core/utils/validators"
44
+ ],
45
+ "@api/*": [
46
+ "./src/api/*"
47
+ ],
48
+ "@stores/*": [
49
+ "./src/stores/*"
50
+ ],
51
+ "@custom/*": [
52
+ "./src/@custom/*"
53
+ ]
54
+ },
55
+ "lib": [
56
+ "esnext",
57
+ "dom",
58
+ "dom.iterable",
59
+ "scripthost"
60
+ ],
61
+ "skipLibCheck": true,
62
+ "types": [
63
+ "vite/client",
64
+ "vite-plugin-vue-layouts/client"
65
+ ]
66
+ },
67
+ "include": [
68
+ "./typed-router.d.ts",
69
+ "./vite.config.*",
70
+ "./env.d.ts",
71
+ "./shims.d.ts",
72
+ "./src/**/*",
73
+ "./src/**/*.vue",
74
+ "./themeConfig.ts",
75
+ "./auto-imports.d.ts",
76
+ "./components.d.ts"
77
+ ],
78
+ "exclude": [
79
+ "./dist",
80
+ "./node_modules"
81
+ ]
82
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "$schema": "https://turbo.build/schema.json",
3
+ "tasks": {
4
+ "clean": {
5
+ "cache": false,
6
+ "dependsOn": ["^clean"]
7
+ },
8
+ "build": {
9
+ "dependsOn": ["^build"],
10
+ "inputs": ["$TURBO_DEFAULT$"],
11
+ "outputs": ["dist/**"]
12
+ },
13
+ "lint": {
14
+ "dependsOn": ["^lint"]
15
+ },
16
+ "check-types": {
17
+ "dependsOn": ["^check-types"]
18
+ },
19
+ "dev": {
20
+ "cache": false,
21
+ "persistent": true
22
+ }
23
+ }
24
+ }
@@ -0,0 +1 @@
1
+ .editorconfig
@@ -0,0 +1,237 @@
1
+ module.exports = {
2
+ env: {
3
+ browser: true,
4
+ es2021: true,
5
+ },
6
+ extends: [
7
+ '@antfu/eslint-config-vue',
8
+ 'plugin:vue/vue3-recommended',
9
+ 'plugin:import/recommended',
10
+ 'plugin:import/typescript',
11
+ 'plugin:promise/recommended',
12
+ 'plugin:sonarjs/recommended',
13
+ 'plugin:@typescript-eslint/recommended',
14
+ 'plugin:case-police/recommended',
15
+ 'plugin:regexp/recommended',
16
+
17
+ // 'plugin:unicorn/recommended',
18
+ ],
19
+ parser: 'vue-eslint-parser',
20
+ parserOptions: {
21
+ ecmaVersion: 13,
22
+ parser: '@typescript-eslint/parser',
23
+ sourceType: 'module',
24
+ },
25
+ plugins: [
26
+ 'vue',
27
+ '@typescript-eslint',
28
+ 'regex',
29
+ 'regexp',
30
+ ],
31
+ ignorePatterns: ['src/plugins/iconify/*.js', 'node_modules', 'dist', '*.d.ts', 'vendor'],
32
+ rules: {
33
+ 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
34
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
35
+
36
+ // indentation (Already present in TypeScript)
37
+ 'comma-spacing': ['error', { before: false, after: true }],
38
+ 'key-spacing': ['error', { afterColon: true }],
39
+ 'n/prefer-global/process': ['off'],
40
+ 'sonarjs/cognitive-complexity': ['off'],
41
+
42
+ 'vue/first-attribute-linebreak': ['error', {
43
+ singleline: 'beside',
44
+ multiline: 'below',
45
+ }],
46
+
47
+ 'antfu/top-level-function': 'off',
48
+ '@typescript-eslint/no-explicit-any': 'off',
49
+
50
+ // indentation (Already present in TypeScript)
51
+ 'indent': ['error', 2],
52
+
53
+ // Enforce trailing comma (Already present in TypeScript)
54
+ 'comma-dangle': ['error', 'always-multiline'],
55
+
56
+ // Enforce consistent spacing inside braces of object (Already present in TypeScript)
57
+ 'object-curly-spacing': ['error', 'always'],
58
+
59
+ // Enforce camelCase naming convention
60
+ 'camelcase': 'error',
61
+
62
+ // Disable max-len
63
+ 'max-len': 'off',
64
+
65
+ // we don't want it
66
+ 'semi': ['error', 'never'],
67
+
68
+ // add parens ony when required in arrow function
69
+ 'arrow-parens': ['error', 'as-needed'],
70
+
71
+ // add new line above comment
72
+ 'newline-before-return': 'error',
73
+
74
+ // add new line above comment
75
+ 'lines-around-comment': [
76
+ 'error',
77
+ {
78
+ beforeBlockComment: true,
79
+ beforeLineComment: true,
80
+ allowBlockStart: true,
81
+ allowClassStart: true,
82
+ allowObjectStart: true,
83
+ allowArrayStart: true,
84
+
85
+ // We don't want to add extra space above closing SECTION
86
+ ignorePattern: '!SECTION',
87
+ },
88
+ ],
89
+
90
+ // Ignore _ as unused variable
91
+ '@typescript-eslint/no-unused-vars': ['error', { varsIgnorePattern: '^_+$', argsIgnorePattern: '^_+$' }],
92
+
93
+ 'array-element-newline': ['error', 'consistent'],
94
+ 'array-bracket-newline': ['error', 'consistent'],
95
+
96
+ 'vue/multi-word-component-names': 'off',
97
+
98
+ 'padding-line-between-statements': [
99
+ 'error',
100
+ { blankLine: 'always', prev: 'expression', next: 'const' },
101
+ { blankLine: 'always', prev: 'const', next: 'expression' },
102
+ { blankLine: 'always', prev: 'multiline-const', next: '*' },
103
+ { blankLine: 'always', prev: '*', next: 'multiline-const' },
104
+ ],
105
+
106
+ // Plugin: eslint-plugin-import
107
+ 'import/prefer-default-export': 'off',
108
+ 'import/newline-after-import': ['error', { count: 1 }],
109
+ 'no-restricted-imports': ['error', 'vuetify/components', {
110
+ name: 'vue3-apexcharts',
111
+ message: 'apexcharts are auto imported',
112
+ }],
113
+
114
+ // For omitting extension for ts files
115
+ 'import/extensions': [
116
+ 'error',
117
+ 'ignorePackages',
118
+ {
119
+ js: 'never',
120
+ jsx: 'never',
121
+ ts: 'never',
122
+ tsx: 'never',
123
+ },
124
+ ],
125
+
126
+ // ignore virtual files
127
+ 'import/no-unresolved': [2, {
128
+ ignore: [
129
+ '~pages$',
130
+ 'virtual:generated-layouts',
131
+ '#auth$',
132
+
133
+ // Ignore vite's ?raw imports
134
+ '.*\?raw',
135
+ ],
136
+ }],
137
+
138
+ // Thanks: https://stackoverflow.com/a/63961972/10796681
139
+ 'no-shadow': 'off',
140
+ '@typescript-eslint/no-shadow': ['error'],
141
+
142
+ '@typescript-eslint/consistent-type-imports': 'error',
143
+
144
+ // Plugin: eslint-plugin-promise
145
+ 'promise/always-return': 'off',
146
+ 'promise/catch-or-return': 'off',
147
+
148
+ // ESLint plugin vue
149
+ 'vue/block-tag-newline': 'error',
150
+ 'vue/component-api-style': 'error',
151
+ 'vue/component-name-in-template-casing': ['error', 'PascalCase', { registeredComponentsOnly: false, ignores: ['/^swiper-/'] }],
152
+ 'vue/custom-event-name-casing': ['error', 'camelCase', {
153
+ ignores: [
154
+ '/^(click):[a-z]+((\d)|([A-Z0-9][a-z0-9]+))*([A-Z])?/',
155
+ ],
156
+ }],
157
+ 'vue/define-macros-order': 'error',
158
+ 'vue/html-comment-content-newline': 'error',
159
+ 'vue/html-comment-content-spacing': 'error',
160
+ 'vue/html-comment-indent': 'error',
161
+ 'vue/match-component-file-name': 'error',
162
+ 'vue/no-child-content': 'error',
163
+ 'vue/require-default-prop': 'off',
164
+
165
+ 'vue/no-duplicate-attr-inheritance': 'error',
166
+ 'vue/no-empty-component-block': 'error',
167
+ 'vue/no-multiple-objects-in-class': 'error',
168
+ 'vue/no-reserved-component-names': 'error',
169
+ 'vue/no-template-target-blank': 'error',
170
+ 'vue/no-useless-mustaches': 'error',
171
+ 'vue/no-useless-v-bind': 'error',
172
+ 'vue/padding-line-between-blocks': 'error',
173
+ 'vue/prefer-separate-static-class': 'error',
174
+ 'vue/prefer-true-attribute-shorthand': 'error',
175
+ 'vue/v-on-function-call': 'error',
176
+ 'vue/no-restricted-class': ['error', '/^(p|m)(l|r)-/'],
177
+ 'vue/valid-v-slot': ['error', {
178
+ allowModifiers: true,
179
+ }],
180
+
181
+ // -- Extension Rules
182
+ 'vue/no-irregular-whitespace': 'error',
183
+ 'vue/template-curly-spacing': 'error',
184
+
185
+ // -- Sonarlint
186
+ 'sonarjs/no-duplicate-string': 'off',
187
+ 'sonarjs/no-nested-template-literals': 'off',
188
+
189
+ // -- Unicorn
190
+ // 'unicorn/filename-case': 'off',
191
+ // 'unicorn/prevent-abbreviations': ['error', {
192
+ // replacements: {
193
+ // props: false,
194
+ // },
195
+ // }],
196
+
197
+ // https://github.com/gmullerb/eslint-plugin-regex
198
+ 'regex/invalid': [
199
+ 'error',
200
+ [
201
+ {
202
+ regex: '@/assets/images',
203
+ replacement: '@images',
204
+ message: 'Use \'@images\' path alias for image imports',
205
+ },
206
+ {
207
+ regex: '@/assets/styles',
208
+ replacement: '@styles',
209
+ message: 'Use \'@styles\' path alias for importing styles from \'src/assets/styles\'',
210
+ },
211
+ {
212
+ regex: '@core/\\w',
213
+ message: 'You can\'t use @core when you are in @layouts module',
214
+ files: {
215
+ inspect: '@layouts/.*',
216
+ },
217
+ },
218
+ {
219
+ regex: 'useLayouts\\(',
220
+ message: '`useLayouts` composable is only allowed in @layouts & @core directory. Please use `useThemeConfig` composable instead.',
221
+ files: {
222
+ inspect: '^(?!.*(@core|@layouts)).*',
223
+ },
224
+ },
225
+ ],
226
+
227
+ // Ignore files
228
+ '\.eslintrc\.cjs',
229
+ ],
230
+ },
231
+ settings: {
232
+ 'import/resolver': {
233
+ node: true,
234
+ typescript: {},
235
+ },
236
+ },
237
+ }
@@ -0,0 +1,42 @@
1
+ # Logs
2
+ logs
3
+ *.log
4
+ npm-debug.log*
5
+ yarn-debug.log*
6
+ yarn-error.log*
7
+ pnpm-debug.log*
8
+ lerna-debug.log*
9
+
10
+ node_modules
11
+ .DS_Store
12
+ dist
13
+ dist-ssr
14
+ *.local
15
+
16
+ /cypress/videos/
17
+ /cypress/screenshots/
18
+
19
+ # 👉 Custom Git ignores
20
+
21
+ # Editor directories and files
22
+ .vscode/*
23
+ !.vscode/extensions.json
24
+ !.vscode/settings.json
25
+ !.vscode/*.code-snippets
26
+ !.vscode/tours
27
+ .idea
28
+ *.suo
29
+ *.ntvs*
30
+ *.njsproj
31
+ *.sln
32
+ *.sw?
33
+ .yarn
34
+
35
+ # iconify dist files
36
+ src/plugins/iconify/icons.css
37
+
38
+ # Ignore MSW script
39
+ public/mockServiceWorker.js
40
+
41
+ # Env files
42
+ !.env.example