@nathapp/na-cli 1.0.1-rc.6 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.js +0 -0
- package/dist/templates/k8s-cert-manager/README.md +60 -0
- package/dist/templates/k8s-cert-manager/cloudflare-cert-manager-issuer.yaml +26 -0
- package/dist/templates/k8s-deployment/templates/_deployment.tpl +1 -1
- package/dist/templates/k8s-deployment/templates/_endpointslice.tpl +42 -0
- package/dist/templates/k8s-deployment/templates/_gateway.tpl +94 -0
- package/dist/templates/k8s-deployment/templates/_grpcroute.tpl +186 -0
- package/dist/templates/k8s-deployment/templates/_httproute.tpl +209 -0
- package/dist/templates/k8s-deployment/templates/_ingressroute.tpl +178 -0
- package/dist/templates/k8s-deployment/templates/_middleware.tpl +553 -0
- package/dist/templates/k8s-deployment/templates/_serverstransport.tpl +73 -0
- package/dist/templates/k8s-deployment/templates/_service.tpl +4 -1
- package/dist/templates/k8s-helm-chart/templates/endpointslice.yaml +1 -0
- package/dist/templates/k8s-helm-chart/templates/gateway.yaml +1 -0
- package/dist/templates/k8s-helm-chart/templates/grpcroute.yaml +1 -0
- package/dist/templates/k8s-helm-chart/templates/httproute.yaml +1 -0
- package/dist/templates/k8s-helm-chart/templates/ingressroute.yaml +1 -0
- package/dist/templates/k8s-helm-chart/templates/middleware.yaml +1 -0
- package/dist/templates/k8s-helm-chart/templates/serverstransport.yaml +1 -0
- package/dist/templates/k8s-helm-chart/values.yaml +3 -5
- package/dist/templates/nestjs-api/{.env → .env.local} +5 -0
- package/dist/templates/nestjs-api/.gitignore-rename +2 -1
- package/dist/templates/nestjs-api/Dockerfile +33 -13
- package/dist/templates/nestjs-api/package.json +23 -14
- package/dist/templates/nestjs-api/src/i18n/en_US/date.json +7 -0
- package/dist/templates/nestjs-api/src/i18n/en_US/validation.json +16 -0
- package/dist/templates/nestjs-api/src/i18n/zh_CN/date.json +7 -0
- package/dist/templates/nestjs-api/src/i18n/zh_CN/validation.json +16 -0
- package/dist/templates/nestjs-api/src/i18n/zh_TW/date.json +7 -0
- package/dist/templates/nestjs-api/src/i18n/zh_TW/validation.json +16 -0
- package/dist/templates/nestjs-library/.npmignore-rename +4 -0
- package/dist/templates/nestjs-library/package.json +2 -2
- package/dist/templates/ts-library/.npmignore-rename +4 -0
- package/dist/templates/turbo-nestjs-vuexy/README.md +3 -0
- package/dist/templates/turbo-nestjs-vuexy/package.json +49 -0
- package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/README.md +3 -0
- package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/library.js +43 -0
- package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/package.json +18 -0
- package/dist/templates/turbo-nestjs-vuexy/packages/eslint-config/vue.js +236 -0
- package/dist/templates/{ts-library/tsconfig.json → turbo-nestjs-vuexy/packages/typescript-config/base.json} +4 -6
- package/dist/templates/turbo-nestjs-vuexy/packages/typescript-config/nestjs.json +12 -0
- package/dist/templates/turbo-nestjs-vuexy/packages/typescript-config/package.json +9 -0
- package/dist/templates/turbo-nestjs-vuexy/packages/typescript-config/vue.json +82 -0
- package/dist/templates/turbo-nestjs-vuexy/turbo.json +24 -0
- package/dist/templates/vuexy-portal/.editorconfig +1 -0
- package/dist/templates/vuexy-portal/.eslintrc.cjs +237 -0
- package/dist/templates/vuexy-portal/.gitignore-rename +42 -0
- package/dist/templates/vuexy-portal/.stylelintrc.json +46 -0
- package/dist/templates/vuexy-portal/Dockerfile +43 -0
- package/dist/templates/vuexy-portal/README.md +35 -0
- package/dist/templates/vuexy-portal/auto-imports.d.ts +1131 -0
- package/dist/templates/vuexy-portal/components.d.ts +68 -0
- package/dist/templates/vuexy-portal/dev.Dockerfile +25 -0
- package/dist/templates/vuexy-portal/docker-compose.dev.yml +14 -0
- package/dist/templates/vuexy-portal/docker-compose.prod.yml +13 -0
- package/dist/templates/vuexy-portal/entrypoint.sh +6 -0
- package/dist/templates/vuexy-portal/env.d.ts +12 -0
- package/dist/templates/vuexy-portal/index.html +57 -0
- package/dist/templates/vuexy-portal/nginx.conf +14 -0
- package/dist/templates/vuexy-portal/package.json +140 -0
- package/dist/templates/vuexy-portal/pnpm-lock.yaml +7963 -0
- package/dist/templates/vuexy-portal/prod.Dockerfile +41 -0
- package/dist/templates/vuexy-portal/public/favicon.ico +0 -0
- package/dist/templates/vuexy-portal/public/images/avatars/avatar-1.png +0 -0
- package/dist/templates/vuexy-portal/public/images/avatars/avatar-2.png +0 -0
- package/dist/templates/vuexy-portal/public/images/svg/discord.svg +10 -0
- package/dist/templates/vuexy-portal/public/images/svg/gift.svg +8 -0
- package/dist/templates/vuexy-portal/public/images/svg/keyboard.svg +8 -0
- package/dist/templates/vuexy-portal/public/images/svg/laptop.svg +8 -0
- package/dist/templates/vuexy-portal/public/images/svg/lightbulb.svg +8 -0
- package/dist/templates/vuexy-portal/public/images/svg/rocket.svg +8 -0
- package/dist/templates/vuexy-portal/public/loader.css +79 -0
- package/dist/templates/vuexy-portal/public/mockServiceWorker.js +287 -0
- package/dist/templates/vuexy-portal/shims.d.ts +15 -0
- package/dist/templates/vuexy-portal/src/@core/components/AppBarSearch.vue +278 -0
- package/dist/templates/vuexy-portal/src/@core/components/AppDrawerHeaderSection.vue +30 -0
- package/dist/templates/vuexy-portal/src/@core/components/AppStepper.vue +371 -0
- package/dist/templates/vuexy-portal/src/@core/components/BuyNow.vue +92 -0
- package/dist/templates/vuexy-portal/src/@core/components/CardStatisticsVerticalSimple.vue +35 -0
- package/dist/templates/vuexy-portal/src/@core/components/CustomizerSection.vue +27 -0
- package/dist/templates/vuexy-portal/src/@core/components/DialogCloseBtn.vue +25 -0
- package/dist/templates/vuexy-portal/src/@core/components/DropZone.vue +135 -0
- package/dist/templates/vuexy-portal/src/@core/components/I18n.vue +48 -0
- package/dist/templates/vuexy-portal/src/@core/components/MoreBtn.vue +24 -0
- package/dist/templates/vuexy-portal/src/@core/components/Notifications.vue +245 -0
- package/dist/templates/vuexy-portal/src/@core/components/ProductDescriptionEditor.vue +198 -0
- package/dist/templates/vuexy-portal/src/@core/components/ScrollToTop.vue +41 -0
- package/dist/templates/vuexy-portal/src/@core/components/Shortcuts.vue +99 -0
- package/dist/templates/vuexy-portal/src/@core/components/TablePagination.vue +39 -0
- package/dist/templates/vuexy-portal/src/@core/components/TheCustomizer.vue +618 -0
- package/dist/templates/vuexy-portal/src/@core/components/ThemeSwitcher.vue +61 -0
- package/dist/templates/vuexy-portal/src/@core/components/TiptapEditor.vue +166 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppAutocomplete.vue +57 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppCombobox.vue +57 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppDateTimePicker.vue +543 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppSelect.vue +50 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppTextField.vue +78 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/AppTextarea.vue +50 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomCheckboxes.vue +81 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomCheckboxesWithIcon.vue +95 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomCheckboxesWithImage.vue +93 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomRadios.vue +81 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomRadiosWithIcon.vue +88 -0
- package/dist/templates/vuexy-portal/src/@core/components/app-form-elements/CustomRadiosWithImage.vue +99 -0
- package/dist/templates/vuexy-portal/src/@core/components/cards/AppCardActions.vue +167 -0
- package/dist/templates/vuexy-portal/src/@core/components/cards/AppCardCode.vue +152 -0
- package/dist/templates/vuexy-portal/src/@core/components/cards/CardStatisticsHorizontal.vue +41 -0
- package/dist/templates/vuexy-portal/src/@core/components/cards/CardStatisticsVertical.vue +48 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_components.scss +185 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_dark.scss +16 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_default-layout-w-horizontal-nav.scss +45 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_default-layout-w-vertical-nav.scss +103 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_default-layout.scss +16 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_horizontal-nav.scss +194 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_index.scss +48 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_layouts.scss +63 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_misc.scss +20 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_mixins.scss +63 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_route-transitions.scss +70 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_utilities.scss +181 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_utils.scss +90 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_variables.scss +198 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/_vertical-nav.scss +255 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/libs/_perfect-scrollbar.scss +35 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/libs/vuetify/_index.scss +1 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/libs/vuetify/_overrides.scss +264 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/libs/vuetify/_variables.scss +62 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_default-layout-horizontal-nav.scss +27 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_default-layout-vertical-nav.scss +45 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_default-layout.scss +3 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_horizontal-nav.scss +98 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_index.scss +7 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_misc.scss +7 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_nav.scss +33 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/placeholders/_vertical-nav.scss +80 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/skins/_bordered.scss +72 -0
- package/dist/templates/vuexy-portal/src/@core/scss/base/skins/_index.scss +1 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/_default-layout-w-horizontal-nav.scss +9 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/_default-layout-w-vertical-nav.scss +20 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/_horizontal-nav.scss +40 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/_mixins.scss +6 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/_utilities.scss +49 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/_variables.scss +102 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/_vertical-nav.scss +47 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/index.scss +17 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/apex-chart.scss +108 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/full-calendar.scss +351 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/shepherd.scss +94 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/swiper.scss +5 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/_variables.scss +351 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_alert.scss +114 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_avatar.scss +27 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_badge.scss +25 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_button.scss +280 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_cards.scss +3 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_checkbox.scss +57 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_chip.scss +102 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_dialog.scss +27 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_expansion-panels.scss +106 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_field.scss +308 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_list.scss +30 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_menu.scss +35 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_otp-input.scss +17 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_pagination.scss +140 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_progress.scss +13 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_radio.scss +46 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_rating.scss +20 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_slider.scss +27 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_snackbar.scss +10 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_switch.scss +58 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_table.scss +48 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_tabs.scss +91 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_textarea.scss +9 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_timeline.scss +99 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/_tooltip.scss +6 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/components/index.scss +25 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/index.scss +3 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/libs/vuetify/overrides.scss +18 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/pages/misc.scss +20 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/pages/page-auth.scss +63 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_default-layout-horizontal-nav.scss +7 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_default-layout-vertical-nav.scss +8 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_horizontal-nav.scss +47 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_index.scss +6 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_misc.scss +3 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_nav.scss +27 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/placeholders/_vertical-nav.scss +35 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/skins/_bordered.scss +82 -0
- package/dist/templates/vuexy-portal/src/@core/scss/template/skins/_index.scss +1 -0
- package/dist/templates/vuexy-portal/src/@custom/assets/images/user-profile-header.png +0 -0
- package/dist/templates/vuexy-portal/src/@custom/components/ConfirmationDialog.vue +155 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNav.vue +35 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavGroup.vue +110 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavLayout.vue +150 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavLink.vue +56 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/HorizontalNavPopper.vue +175 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/TransitionExpand.vue +92 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/VNodeRenderer.tsx +17 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNav.vue +236 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavGroup.vue +267 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavLayout.vue +232 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavLink.vue +68 -0
- package/dist/templates/vuexy-portal/src/@layouts/components/VerticalNavSectionTitle.vue +37 -0
- package/dist/templates/vuexy-portal/src/@layouts/styles/_classes.scss +3 -0
- package/dist/templates/vuexy-portal/src/@layouts/styles/_default-layout.scss +35 -0
- package/dist/templates/vuexy-portal/src/@layouts/styles/_global.scss +10 -0
- package/dist/templates/vuexy-portal/src/@layouts/styles/_mixins.scss +30 -0
- package/dist/templates/vuexy-portal/src/@layouts/styles/_placeholders.scss +53 -0
- package/dist/templates/vuexy-portal/src/@layouts/styles/_rtl.scss +7 -0
- package/dist/templates/vuexy-portal/src/@layouts/styles/_variables.scss +29 -0
- package/dist/templates/vuexy-portal/src/@layouts/styles/index.scss +3 -0
- package/dist/templates/vuexy-portal/src/App.vue +26 -0
- package/dist/templates/vuexy-portal/src/assets/images/avatars/avatar-1.png +0 -0
- package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/border-light.svg +16 -0
- package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/collapsed-light.svg +17 -0
- package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/compact-light.svg +11 -0
- package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/default-light.svg +17 -0
- package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/horizontal-light.svg +12 -0
- package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/ltr-light.svg +15 -0
- package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/rtl-light.svg +15 -0
- package/dist/templates/vuexy-portal/src/assets/images/customizer-icons/wide-light.svg +11 -0
- package/dist/templates/vuexy-portal/src/assets/images/logo.svg +6 -0
- package/dist/templates/vuexy-portal/src/assets/images/misc/3d-safe-box-with-golden-dollar-coins.png +0 -0
- package/dist/templates/vuexy-portal/src/assets/images/misc/3d-space-rocket-with-smoke.png +0 -0
- package/dist/templates/vuexy-portal/src/assets/images/misc/dollar-coins-flying-pink-piggy-bank.png +0 -0
- package/dist/templates/vuexy-portal/src/assets/images/misc/fleet-car.png +0 -0
- package/dist/templates/vuexy-portal/src/assets/images/pages/misc-mask-dark.png +0 -0
- package/dist/templates/vuexy-portal/src/assets/images/pages/misc-mask-light.png +0 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/Card.svg +8 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/Check.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/Diamond.svg +12 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/Suitcase.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/Wallet.svg +10 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/address.svg +25 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/auth-v1-bottom-shape.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/auth-v1-top-shape.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/cart.svg +5 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/checkbox-checked.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/checkbox-indeterminate.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/checkbox-unchecked.svg +10 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/discord.svg +10 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/gift.svg +8 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/home.svg +5 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/keyboard.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/laptop.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/lightbulb.svg +8 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/office.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/paper-send.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/payment.svg +21 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/radio-checked.svg +3 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/radio-unchecked.svg +3 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/rocket.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/trending.svg +14 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/user-info.svg +4 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/user.svg +6 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-account.svg +6 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-address.svg +18 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-personal.svg +6 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-social-link.svg +6 -0
- package/dist/templates/vuexy-portal/src/assets/images/svg/wizard-submit.svg +6 -0
- package/dist/templates/vuexy-portal/src/assets/styles/styles.scss +1 -0
- package/dist/templates/vuexy-portal/src/assets/styles/variables/_template.scss +6 -0
- package/dist/templates/vuexy-portal/src/assets/styles/variables/_vuetify.scss +7 -0
- package/dist/templates/vuexy-portal/src/components/AppLoadingIndicator.vue +63 -0
- package/dist/templates/vuexy-portal/src/components/AppPricing.vue +247 -0
- package/dist/templates/vuexy-portal/src/components/AppSearchHeader.vue +77 -0
- package/dist/templates/vuexy-portal/src/components/ErrorHeader.vue +40 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/AddAuthenticatorAppDialog.vue +101 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/AddEditAddressDialog.vue +238 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/AddEditPermissionDialog.vue +93 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/AddEditRoleDialog.vue +302 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/AddPaymentMethodDialog.vue +120 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/CardAddEditDialog.vue +153 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/ConfirmDialog.vue +151 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/CreateAppDialog.vue +459 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/EnableOneTimePasswordDialog.vue +85 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/PaymentProvidersDialog.vue +123 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/PricingPlanDialog.vue +34 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/ReferAndEarnDialog.vue +181 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/ShareProjectDialog.vue +198 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/TwoFactorAuthDialog.vue +120 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/UserInfoEditDialog.vue +246 -0
- package/dist/templates/vuexy-portal/src/components/dialogs/UserUpgradePlanDialog.vue +101 -0
- package/dist/templates/vuexy-portal/src/layouts/blank.vue +42 -0
- package/dist/templates/vuexy-portal/src/layouts/components/DefaultLayoutWithHorizontalNav.vue +75 -0
- package/dist/templates/vuexy-portal/src/layouts/components/DefaultLayoutWithVerticalNav.vue +79 -0
- package/dist/templates/vuexy-portal/src/layouts/components/Footer.vue +17 -0
- package/dist/templates/vuexy-portal/src/layouts/components/NavSearchBar.vue +266 -0
- package/dist/templates/vuexy-portal/src/layouts/components/NavbarShortcuts.vue +45 -0
- package/dist/templates/vuexy-portal/src/layouts/components/NavbarThemeSwitcher.vue +22 -0
- package/dist/templates/vuexy-portal/src/layouts/components/UserProfile.vue +114 -0
- package/dist/templates/vuexy-portal/src/layouts/default.vue +30 -0
- package/dist/templates/vuexy-portal/src/pages/[...error].vue +46 -0
- package/dist/templates/vuexy-portal/src/pages/account-settings/[tab].vue +57 -0
- package/dist/templates/vuexy-portal/src/pages/index.vue +32 -0
- package/dist/templates/vuexy-portal/src/pages/login.vue +178 -0
- package/dist/templates/vuexy-portal/src/pages/not-authorized.vue +47 -0
- package/dist/templates/vuexy-portal/src/pages/second-page.vue +13 -0
- package/dist/templates/vuexy-portal/src/plugins/casl/shims-ability.d.ts +8 -0
- package/dist/templates/vuexy-portal/src/plugins/i18n/locales/en_US.json +88 -0
- package/dist/templates/vuexy-portal/src/plugins/i18n/locales/zh_CN.json +88 -0
- package/dist/templates/vuexy-portal/src/plugins/i18n/vue-i18n.d.ts +17 -0
- package/dist/templates/vuexy-portal/src/plugins/iconify/icons.css +21039 -0
- package/dist/templates/vuexy-portal/src/plugins/iconify/package.json +3 -0
- package/dist/templates/vuexy-portal/src/views/account-settings/AccountSettingsSecurity.vue +179 -0
- package/dist/templates/vuexy-portal/typed-router.d.ts +146 -0
- package/dist/utils/template.js +1 -0
- package/dist/utils/template.js.map +1 -1
- package/package.json +1 -1
- package/.gitlab-ci.yml +0 -143
- package/Makefile +0 -62
- package/dist/templates/db-schema/.gitlab-ci.yml +0 -139
- package/dist/templates/db-schema/Makefile +0 -885
- package/dist/templates/k8s-deployment/.gitlab-ci.yml +0 -128
- package/dist/templates/k8s-deployment/Makefile +0 -196
- package/dist/templates/k8s-deployment/resources/charts/mysql/charts/mysql-install/script/Makefile +0 -12
- package/dist/templates/k8s-deployment/resources/charts/redis/charts/redis-install/script/Makefile +0 -8
- package/dist/templates/k8s-deployment/services/charts/hooks/charts/pre-delete-rsc/script/Makefile +0 -49
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-cypress/Makefile +0 -9
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/script/Makefile +0 -14
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/_t-0100-readiness-liveness.ts +0 -84
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/hub.ts +0 -372
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-contact.ts +0 -158
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-contract.ts +0 -328
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-kyc.ts +0 -304
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-onboard-app.ts +0 -823
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-onboard-web.ts +0 -493
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-profile.ts +0 -277
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/individual-whitelist.ts +0 -133
- package/dist/templates/k8s-deployment/services/charts/tests/charts/e2e-test-js/tests/t-0200-start.ts +0 -172
- package/dist/templates/mxw-base-api-express/.dockerignore +0 -2
- package/dist/templates/mxw-base-api-express/.env +0 -10
- package/dist/templates/mxw-base-api-express/.gitlab-ci.yml +0 -174
- package/dist/templates/mxw-base-api-express/.nvmrc +0 -1
- package/dist/templates/mxw-base-api-express/Makefile +0 -84
- package/dist/templates/mxw-base-api-express/src/app-service.test.ts +0 -94
- package/dist/templates/mxw-base-api-express/src/app-service.ts +0 -498
- package/dist/templates/mxw-base-api-express/src/auth/auth-user.test.ts +0 -215
- package/dist/templates/mxw-base-api-express/src/auth/auth-user.ts +0 -86
- package/dist/templates/mxw-base-api-express/src/auth/auth.ts +0 -81
- package/dist/templates/mxw-base-api-express/src/core-service.ts +0 -72
- package/dist/templates/mxw-base-api-express/src/crud.ts +0 -84
- package/dist/templates/mxw-base-api-express/src/http-handler.ts +0 -71
- package/dist/templates/mxw-base-api-express/src/server.ts +0 -54
- package/dist/templates/mxw-base-api-express/src/test.ts +0 -38
- package/dist/templates/mxw-base-api-express/src/utils/api-utilities.ts +0 -52
- package/dist/templates/mxw-base-api-express/src/utils/file-utilities.ts +0 -55
- package/dist/templates/mxw-base-api-express/tsconfig.json +0 -32
- package/dist/templates/nestjs-api/.dockerignore +0 -6
- package/dist/templates/nestjs-api/.gitlab-ci.yml +0 -174
- package/dist/templates/nestjs-api/.nvmrc +0 -1
- package/dist/templates/nestjs-api/.prettierrc +0 -4
- package/dist/templates/nestjs-api/Makefile +0 -95
- package/dist/templates/nestjs-api/nest-cli.json +0 -11
- package/dist/templates/nestjs-api/src/app.controller.spec.ts +0 -24
- package/dist/templates/nestjs-api/src/app.controller.ts +0 -27
- package/dist/templates/nestjs-api/src/app.module.ts +0 -49
- package/dist/templates/nestjs-api/src/app.service.ts +0 -27
- package/dist/templates/nestjs-api/src/main.ts +0 -26
- package/dist/templates/nestjs-api/test/app.e2e-spec.ts +0 -47
- package/dist/templates/nestjs-api/tsconfig.build.json +0 -4
- package/dist/templates/nestjs-api/tsconfig.json +0 -24
- package/dist/templates/nestjs-library/.eslintrc.js +0 -24
- package/dist/templates/nestjs-library/.gitlab-ci.yml +0 -138
- package/dist/templates/nestjs-library/.prettierrc +0 -6
- package/dist/templates/nestjs-library/Makefile +0 -60
- package/dist/templates/nestjs-library/index.ts +0 -1
- package/dist/templates/nestjs-library/lib/index.ts +0 -2
- package/dist/templates/nestjs-library/test/app/controller/hello.controller.ts +0 -7
- package/dist/templates/nestjs-library/tsconfig.build.json +0 -7
- package/dist/templates/nestjs-library/tsconfig.json +0 -18
- package/dist/templates/ts-library/.dockerignore +0 -2
- package/dist/templates/ts-library/.eslintrc.js +0 -24
- package/dist/templates/ts-library/.gitlab-ci.yml +0 -136
- package/dist/templates/ts-library/.prettierrc +0 -6
- package/dist/templates/ts-library/Makefile +0 -58
- package/dist/templates/ts-library/index.ts +0 -1
- package/dist/templates/ts-library/lib/index.ts +0 -1
- package/dist/templates/ts-library/lib/samples/index.ts +0 -5
- package/dist/templates/ts-library/lib/samples/samples-function.ts +0 -3
- package/dist/templates/ts-library/test/sample.e2e-spec.ts +0 -10
- package/dist/templates/ts-library/tsconfig.build.json +0 -4
- package/dist/utils/help.js +0 -8
- package/dist/utils/help.js.map +0 -1
- package/tsconfig.json +0 -24
- /package/dist/templates/{nestjs-api/.eslintrc.js → turbo-nestjs-vuexy/packages/eslint-config/nest.js} +0 -0
|
@@ -1,19 +1,39 @@
|
|
|
1
|
-
|
|
1
|
+
## this is a multi-stage build dockerfile optimized for kaniko cache
|
|
2
|
+
FROM nathapp/apline-jq:3.18 AS deps
|
|
3
|
+
|
|
4
|
+
# https://stackoverflow.com/a/58487433
|
|
5
|
+
# To prevent cache invalidation from changes in fields other than dependencies
|
|
6
|
+
|
|
7
|
+
COPY package.json package-lock.json /tmp/
|
|
8
|
+
|
|
9
|
+
RUN jq '{ name, dependencies, devDependencies, scripts }' < /tmp/package.json > /tmp/deps.json
|
|
10
|
+
RUN jq '{ name, lockfileVersion, requires, packages, dependencies }' < /tmp/package-lock.json > /tmp/deps-lock.json
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
FROM nathapp/node-bun:18.20.2-1.1.12-alpine AS builder
|
|
2
14
|
WORKDIR /app/
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
15
|
+
|
|
16
|
+
COPY --from=deps /tmp/deps.json ./package.json
|
|
17
|
+
COPY --from=deps /tmp/deps-lock.json ./package-lock.json
|
|
18
|
+
|
|
19
|
+
ADD ./bun.lockb ./tsconfig.json ./tsconfig.build.json ./nest-cli.json /app/
|
|
20
|
+
|
|
21
|
+
## install dependencies first
|
|
22
|
+
RUN bun install --freeze-lockfile
|
|
7
23
|
ADD ./src /app/src
|
|
8
|
-
|
|
9
|
-
RUN
|
|
10
|
-
COPY . .
|
|
11
|
-
RUN npm run build
|
|
24
|
+
#COPY . .
|
|
25
|
+
RUN bun run build
|
|
12
26
|
|
|
13
27
|
|
|
14
|
-
FROM node:
|
|
28
|
+
FROM nathapp/node-bun:18.20.2-1.1.12-alpine
|
|
15
29
|
WORKDIR /app/
|
|
16
|
-
|
|
17
|
-
|
|
30
|
+
|
|
31
|
+
COPY bun.lockb ./
|
|
32
|
+
COPY --from=deps /tmp/deps.json ./package.json
|
|
33
|
+
COPY --from=deps /tmp/deps-lock.json ./package-lock.json
|
|
34
|
+
|
|
35
|
+
RUN bun install --freeze-lockfile --production
|
|
36
|
+
|
|
18
37
|
COPY --from=builder /app/dist /app/dist
|
|
19
|
-
|
|
38
|
+
COPY package*.json ./
|
|
39
|
+
CMD ["bun", "run", "start:prod"]
|
|
@@ -8,25 +8,32 @@
|
|
|
8
8
|
"scripts": {
|
|
9
9
|
"build": "nest build",
|
|
10
10
|
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
11
|
-
"start": "nest start",
|
|
12
|
-
"start:dev": "nest start --watch",
|
|
13
|
-
"start:debug": "nest start --debug --watch",
|
|
11
|
+
"start": "dotenvx run --env-file=.env.local --env-file=.env -- nest start",
|
|
12
|
+
"start:dev": "dotenvx run --env-file=.env.local --env-file=.env -- nest start --watch",
|
|
13
|
+
"start:debug": "dotenvx run --env-file=.env.local --env-file=.env -- nest start --debug --watch",
|
|
14
14
|
"start:prod": "ENV_NAME=production node dist/main",
|
|
15
15
|
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
|
|
16
16
|
"test": "jest",
|
|
17
17
|
"test:watch": "jest --watch",
|
|
18
18
|
"test:cov": "jest --coverage",
|
|
19
19
|
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
|
|
20
|
-
"test:e2e": "jest --config ./test/jest-e2e.json"
|
|
20
|
+
"test:e2e": "jest --config ./test/jest-e2e.json",
|
|
21
|
+
"typeorm": "ts-node ./node_modules/typeorm/cli",
|
|
22
|
+
"migration:run": "npm run typeorm migration:run -- -d ./ormconfig.ts",
|
|
23
|
+
"migration:generate": "npm run typeorm -- -d ./ormconfig.ts migration:generate ./src/migrations/$npm_config_name",
|
|
24
|
+
"migration:create": "npm run typeorm -- migration:create ./src/migrations/$npm_config_name",
|
|
25
|
+
"migration:revert": "npm run typeorm -- -d ./ormconfig.ts migration:revert",
|
|
26
|
+
"migration:sql": "ts-node -r tsconfig-paths/register ./node_modules/@nathapp/typeorm-migrate-to-sql/bin/typeorm-migrate-sql.js -d ./src/migrations/ -c ./ormconfig.ts -n $npm_config_name"
|
|
21
27
|
},
|
|
22
28
|
"dependencies": {
|
|
29
|
+
<%if (isFastify) { -%>"@fastify/helmet": "^11.1.1",<% }-%>
|
|
23
30
|
<%if (isFastify) { -%>"@fastify/static": "^6.11.2",<% }-%>
|
|
24
|
-
"@nathapp/common": "^0.1.
|
|
25
|
-
"@nathapp/nestjs-app": "^1.0.
|
|
26
|
-
"@nathapp/nestjs-auth": "^1.0.
|
|
27
|
-
"@nathapp/nestjs-common": "^1.0.
|
|
28
|
-
"@nathapp/nestjs-data": "^1.0.
|
|
29
|
-
"@nathapp/nestjs-microservices": "^1.0.
|
|
31
|
+
"@nathapp/common": "^0.1.14",
|
|
32
|
+
"@nathapp/nestjs-app": "^1.0.1-rc.2",
|
|
33
|
+
"@nathapp/nestjs-auth": "^1.0.1-rc.4",
|
|
34
|
+
"@nathapp/nestjs-common": "^1.0.2-rc.0",
|
|
35
|
+
"@nathapp/nestjs-data": "^1.0.1-rc.1",
|
|
36
|
+
"@nathapp/nestjs-microservices": "^1.0.1-rc.2",
|
|
30
37
|
"@nestjs/common": "^10.0.0",
|
|
31
38
|
"@nestjs/config": "^3.0.0",
|
|
32
39
|
"@nestjs/core": "^10.0.0",
|
|
@@ -35,11 +42,14 @@
|
|
|
35
42
|
"@nestjs/swagger": "^7.0.0",
|
|
36
43
|
"class-transformer": "^0.5.1",
|
|
37
44
|
"class-validator": "^0.14.0",
|
|
38
|
-
"
|
|
45
|
+
<%if (!isFastify) { -%>"helmet": "^7.1.0",<% }-%>
|
|
46
|
+
"mysql2": "^3.9.4",
|
|
47
|
+
"nestjs-i18n": "^10.4.5",
|
|
39
48
|
"reflect-metadata": "^0.1.13",
|
|
40
49
|
"rxjs": "^7.2.0"
|
|
41
50
|
},
|
|
42
51
|
"devDependencies": {
|
|
52
|
+
"@dotenvx/dotenvx": "^0.37.0",
|
|
43
53
|
"@golevelup/ts-jest": "^0.4.0",
|
|
44
54
|
"@nestjs/cli": "^10.0.0",
|
|
45
55
|
"@nestjs/schematics": "^10.0.0",
|
|
@@ -57,12 +67,11 @@
|
|
|
57
67
|
"prettier": "^2.3.2",
|
|
58
68
|
"source-map-support": "^0.5.20",
|
|
59
69
|
"supertest": "^6.1.3",
|
|
60
|
-
"ts-jest": "29.0
|
|
70
|
+
"ts-jest": "^29.1.0",
|
|
61
71
|
"ts-loader": "^9.2.3",
|
|
62
72
|
"ts-node": "^10.0.0",
|
|
63
73
|
"tsconfig-paths": "4.1.1",
|
|
64
|
-
"
|
|
65
|
-
"typescript": "^4.7.4"
|
|
74
|
+
"typescript": "^5"
|
|
66
75
|
},
|
|
67
76
|
"jest": {
|
|
68
77
|
"moduleFileExtensions": [
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isString": "{property} must be a string",
|
|
3
|
+
"isNotEmpty": "{property} is required",
|
|
4
|
+
"isBoolean": "{property} is not a boolean",
|
|
5
|
+
"isEmail": "{property} must be a valid email",
|
|
6
|
+
"min": "{property} with value: \"{value}\" needs to be at least {constraints.0}",
|
|
7
|
+
"max": "{property} with value: \"{value}\" needs to be less than or equal {constraints.0}",
|
|
8
|
+
"length": "{property} must be longer than or equal to {constraints.0} characters",
|
|
9
|
+
"minLength": "{property} must be at least {constraints.0} characters long",
|
|
10
|
+
"maxLength": "{property} must be less than or equal to {constraints.0} characters long",
|
|
11
|
+
"isInt": "{property} must be an integer",
|
|
12
|
+
"contains": "{property} must contain {constraints.0}",
|
|
13
|
+
"isFQDN": "{property} is not a valid Fully Qualified Domain Name",
|
|
14
|
+
"isDate": "{property} is not a valid date",
|
|
15
|
+
"isNotEmptyObject": "{property} is an empty object"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isString": "{property}必须是字符串",
|
|
3
|
+
"isNotEmpty": "{property}是必填项",
|
|
4
|
+
"isBoolean": "{property}不是布尔值",
|
|
5
|
+
"isEmail": "{property}必须是有效的电子邮件",
|
|
6
|
+
"min": "{property}的值必须至少为{constraints.0}",
|
|
7
|
+
"max": "{property}的值必须小于或等于{constraints.0}",
|
|
8
|
+
"length": "{property}的长度必须大于或等于{constraints.0}个字符",
|
|
9
|
+
"minLength": "{property}的长度必须至少为{constraints.0}个字符",
|
|
10
|
+
"maxLength": "{property}的长度必须小于或等于{constraints.0}个字符",
|
|
11
|
+
"isInt": "{property}必须是整数",
|
|
12
|
+
"contains": "{property}必须包含{constraints.0}",
|
|
13
|
+
"isFQDN": "{property}不是有效的完全限定域名",
|
|
14
|
+
"isDate": "{property}不是有效的日期",
|
|
15
|
+
"isNotEmptyObject": "{property}是一个空对象"
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"isString": "{property}必須是字串",
|
|
3
|
+
"isNotEmpty": "{property}為必填項目",
|
|
4
|
+
"isBoolean": "{property}不是布林值",
|
|
5
|
+
"isEmail": "{property}必須是有效的電子郵件",
|
|
6
|
+
"min": "{property}的值必須至少為{constraints.0}",
|
|
7
|
+
"max": "{property}的值必須小於或等於{constraints.0}",
|
|
8
|
+
"length": "{property}的長度必須大於或等於{constraints.0}個字元",
|
|
9
|
+
"minLength": "{property}的長度必須至少為{constraints.0}個字元",
|
|
10
|
+
"maxLength": "{property}的長度必須小於或等於{constraints.0}個字元",
|
|
11
|
+
"isInt": "{property}必須是整數",
|
|
12
|
+
"contains": "{property}必須包含{constraints.0}",
|
|
13
|
+
"isFQDN": "{property}不是有效的完全限定域名",
|
|
14
|
+
"isDate": "{property}不是有效的日期",
|
|
15
|
+
"isNotEmptyObject": "{property}是一個空物件"
|
|
16
|
+
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"@nestjs/platform-fastify": "^10.0.0",
|
|
22
22
|
"@nestjs/testing": "^10.0.0",
|
|
23
23
|
"@types/jest": "^29.5.2",
|
|
24
|
-
"@types/node": "
|
|
24
|
+
"@types/node": "18.11.18",
|
|
25
25
|
"@types/supertest": "^2.0.12",
|
|
26
26
|
"@typescript-eslint/eslint-plugin": "^4",
|
|
27
27
|
"@typescript-eslint/parser": "^4",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"prettier": "^2",
|
|
33
33
|
"supertest": "^6.3.3",
|
|
34
34
|
"ts-jest": "^29.1.0",
|
|
35
|
-
"typescript": "^
|
|
35
|
+
"typescript": "^5"
|
|
36
36
|
},
|
|
37
37
|
"types": "./index.d.ts",
|
|
38
38
|
"main": "index.js",
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "<%= projectName %>",
|
|
3
|
+
"private": true,
|
|
4
|
+
"scripts": {
|
|
5
|
+
"build": "turbo build",
|
|
6
|
+
"dev": "turbo run dev",
|
|
7
|
+
"test": "turbo test",
|
|
8
|
+
"lint": "turbo lint",
|
|
9
|
+
"format": "prettier --write \"**/*.{ts,tsx,md}\"",
|
|
10
|
+
"version-list": "npm list --workspaces --json | jq \".dependencies | to_entries | .[] | \\\"\\(.key): \\(.value.version)\\\"\""
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"@changesets/cli": "^2.27.9"
|
|
14
|
+
},
|
|
15
|
+
"devDependencies": {
|
|
16
|
+
"@golevelup/ts-jest": "^0.4.0",
|
|
17
|
+
"@nestjs/platform-express": "^10.0.0",
|
|
18
|
+
"@nestjs/platform-fastify": "^10.0.0",
|
|
19
|
+
"@nestjs/testing": "^10.0.0",
|
|
20
|
+
"@types/jest": "^29.5.2",
|
|
21
|
+
"@types/node": "^18.0.0",
|
|
22
|
+
"@types/supertest": "^2.0.12",
|
|
23
|
+
"@typescript-eslint/eslint-plugin": "^7.1.0",
|
|
24
|
+
"@typescript-eslint/parser": "^7.1.0",
|
|
25
|
+
"eslint": "^8.57.0",
|
|
26
|
+
"jest": "^29.5.0",
|
|
27
|
+
"prettier": "^3.2.5",
|
|
28
|
+
"supertest": "^6.3.3",
|
|
29
|
+
"ts-jest": "^29.1.0",
|
|
30
|
+
"turbo": "^2.2.3",
|
|
31
|
+
"typescript": "^5"
|
|
32
|
+
},
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"@nestjs/common": "^8.0.0 || ^9.0.0 || ^10.0.0",
|
|
35
|
+
"@nestjs/config": "^1.0.0 || ^2.0.0 || ^3.0.0",
|
|
36
|
+
"@nestjs/core": "^8.0.0 || ^9.0.0 || ^10.0.0",
|
|
37
|
+
"class-transformer": "*",
|
|
38
|
+
"class-validator": "*",
|
|
39
|
+
"rxjs": "*"
|
|
40
|
+
},
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=18"
|
|
43
|
+
},
|
|
44
|
+
"packageManager": "bun@1.1.12",
|
|
45
|
+
"workspaces": [
|
|
46
|
+
"apps/*",
|
|
47
|
+
"packages/*"
|
|
48
|
+
]
|
|
49
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
const { resolve } = require("node:path");
|
|
2
|
+
|
|
3
|
+
const project = resolve(process.cwd(), "tsconfig.json");
|
|
4
|
+
|
|
5
|
+
/** @type {import("eslint").Linter.Config} */
|
|
6
|
+
module.exports = {
|
|
7
|
+
extends: ["eslint:recommended", "prettier", "turbo",'plugin:@typescript-eslint/recommended'],
|
|
8
|
+
plugins: ['@typescript-eslint/eslint-plugin'],
|
|
9
|
+
globals: {
|
|
10
|
+
// React: true,
|
|
11
|
+
// JSX: true,
|
|
12
|
+
},
|
|
13
|
+
root: true,
|
|
14
|
+
env: {
|
|
15
|
+
node: true,
|
|
16
|
+
jest: true,
|
|
17
|
+
},
|
|
18
|
+
settings: {
|
|
19
|
+
"import/resolver": {
|
|
20
|
+
typescript: {
|
|
21
|
+
project,
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
ignorePatterns: [
|
|
26
|
+
// Ignore dotfiles
|
|
27
|
+
".*.js",
|
|
28
|
+
"node_modules/",
|
|
29
|
+
"dist/",
|
|
30
|
+
'.eslintrc.js',
|
|
31
|
+
],
|
|
32
|
+
rules: {
|
|
33
|
+
'@typescript-eslint/interface-name-prefix': 'off',
|
|
34
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
35
|
+
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
36
|
+
'@typescript-eslint/no-explicit-any': 'off',
|
|
37
|
+
},
|
|
38
|
+
overrides: [
|
|
39
|
+
{
|
|
40
|
+
files: ["*.js?(x)", "*.ts?(x)"],
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@nathapp/eslint-config",
|
|
3
|
+
"version": "1.0.1",
|
|
4
|
+
"private": true,
|
|
5
|
+
"files": [
|
|
6
|
+
"library.js"
|
|
7
|
+
],
|
|
8
|
+
"devDependencies": {
|
|
9
|
+
"@vercel/style-guide": "^5.2.0",
|
|
10
|
+
"eslint-config-turbo": "^2.0.0",
|
|
11
|
+
"eslint-config-prettier": "^6",
|
|
12
|
+
"eslint-plugin-prettier": "^3",
|
|
13
|
+
"eslint-plugin-only-warn": "^1.1.0",
|
|
14
|
+
"@typescript-eslint/parser": "^7.1.0",
|
|
15
|
+
"@typescript-eslint/eslint-plugin": "^7.1.0",
|
|
16
|
+
"typescript": "5.5.4"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -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":
|
|
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
|
+
}
|