create-quasar 1.2.1 → 1.3.0
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/package.json +1 -1
- package/templates/app/quasar-v1/js/BASE/_package.json +1 -1
- package/templates/app/quasar-v1/ts/BASE/_package.json +1 -1
- package/templates/app/quasar-v2/index.js +4 -2
- package/templates/app/quasar-v2/js-vite/BASE/_.gitignore +4 -0
- package/templates/app/quasar-v2/js-vite/BASE/_package.json +2 -2
- package/templates/app/quasar-v2/js-vite/BASE/quasar.config.js +1 -0
- package/templates/app/quasar-v2/js-vite/lint/_.eslintignore +1 -0
- package/templates/app/quasar-v2/js-vite/lint/_.eslintrc.cjs +1 -1
- package/templates/app/quasar-v2/js-vite-beta/.eslintrc.js +20 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/README.md +41 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/_.editorconfig +9 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/_.gitignore +33 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/_.npmrc +3 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/_.vscode/extensions.json +15 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/_.vscode/settings.json +10 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/_jsconfig.json +39 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/_package.json +52 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/index.html +21 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/postcss.config.cjs +27 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/public/favicon.ico +0 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/public/icons/favicon-128x128.png +0 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/public/icons/favicon-16x16.png +0 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/public/icons/favicon-32x32.png +0 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/public/icons/favicon-96x96.png +0 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/quasar.config.js +221 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/src/App.vue +11 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/src/assets/quasar-logo-vertical.svg +15 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/src/boot/_.gitkeep +0 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/src/components/EssentialLink.vue +49 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/src/layouts/MainLayout.vue +116 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/src/pages/ErrorNotFound.vue +31 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/src/pages/IndexPage.vue +17 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/src/router/index.js +30 -0
- package/templates/app/quasar-v2/js-vite-beta/BASE/src/router/routes.js +19 -0
- package/templates/app/quasar-v2/js-vite-beta/axios/src/boot/axios.js +24 -0
- package/templates/app/quasar-v2/js-vite-beta/css/src/css/app.css +1 -0
- package/templates/app/quasar-v2/js-vite-beta/i18n/src/boot/i18n.js +14 -0
- package/templates/app/quasar-v2/js-vite-beta/i18n/src/i18n/en-US/index.js +7 -0
- package/templates/app/quasar-v2/js-vite-beta/i18n/src/i18n/index.js +5 -0
- package/templates/app/quasar-v2/js-vite-beta/index.js +62 -0
- package/templates/app/quasar-v2/js-vite-beta/lint/_.eslintignore +7 -0
- package/templates/app/quasar-v2/js-vite-beta/lint/_.eslintrc.cjs +100 -0
- package/templates/app/quasar-v2/js-vite-beta/pinia/src/stores/example-store.js +15 -0
- package/templates/app/quasar-v2/js-vite-beta/pinia/src/stores/index.js +20 -0
- package/templates/app/quasar-v2/js-vite-beta/pinia/src/stores/store-flag.d.ts +10 -0
- package/templates/app/quasar-v2/js-vite-beta/sass/src/css/app.sass +1 -0
- package/templates/app/quasar-v2/js-vite-beta/sass/src/css/quasar.variables.sass +25 -0
- package/templates/app/quasar-v2/js-vite-beta/scss/src/css/app.scss +1 -0
- package/templates/app/quasar-v2/js-vite-beta/scss/src/css/quasar.variables.scss +25 -0
- package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/index.js +27 -0
- package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/module-example/actions.js +2 -0
- package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/module-example/getters.js +2 -0
- package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/module-example/index.js +12 -0
- package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/module-example/mutations.js +2 -0
- package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/module-example/state.js +5 -0
- package/templates/app/quasar-v2/js-vite-beta/vuex/src/store/store-flag.d.ts +10 -0
- package/templates/app/quasar-v2/js-webpack/BASE/_.gitignore +4 -0
- package/templates/app/quasar-v2/js-webpack/BASE/_package.json +1 -1
- package/templates/app/quasar-v2/js-webpack/lint/_.eslintignore +1 -0
- package/templates/app/quasar-v2/js-webpack/lint/_.eslintrc.cjs +1 -1
- package/templates/app/quasar-v2/js-webpack-beta/.eslintrc.js +20 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/README.md +41 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/_.editorconfig +9 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/_.gitignore +37 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/_.npmrc +3 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/_.vscode/extensions.json +15 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/_.vscode/settings.json +10 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/_jsconfig.json +39 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/_package.json +63 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/babel.config.cjs +14 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/postcss.config.cjs +9 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/public/favicon.ico +0 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/public/icons/favicon-128x128.png +0 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/public/icons/favicon-16x16.png +0 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/public/icons/favicon-32x32.png +0 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/public/icons/favicon-96x96.png +0 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/quasar.config.js +252 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/src/App.vue +11 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/src/assets/quasar-logo-vertical.svg +15 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/src/boot/_.gitkeep +0 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/src/components/EssentialLink.vue +49 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/src/index.template.html +22 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/src/layouts/MainLayout.vue +116 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/src/pages/ErrorNotFound.vue +31 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/src/pages/IndexPage.vue +17 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/src/router/index.js +30 -0
- package/templates/app/quasar-v2/js-webpack-beta/BASE/src/router/routes.js +19 -0
- package/templates/app/quasar-v2/js-webpack-beta/axios/src/boot/axios.js +24 -0
- package/templates/app/quasar-v2/js-webpack-beta/css/src/css/app.css +1 -0
- package/templates/app/quasar-v2/js-webpack-beta/i18n/src/boot/i18n.js +14 -0
- package/templates/app/quasar-v2/js-webpack-beta/i18n/src/i18n/en-US/index.js +7 -0
- package/templates/app/quasar-v2/js-webpack-beta/i18n/src/i18n/index.js +5 -0
- package/templates/app/quasar-v2/js-webpack-beta/index.js +62 -0
- package/templates/app/quasar-v2/js-webpack-beta/lint/_.eslintignore +9 -0
- package/templates/app/quasar-v2/js-webpack-beta/lint/_.eslintrc.cjs +101 -0
- package/templates/app/quasar-v2/js-webpack-beta/pinia/src/stores/example-store.js +15 -0
- package/templates/app/quasar-v2/js-webpack-beta/pinia/src/stores/index.js +20 -0
- package/templates/app/quasar-v2/js-webpack-beta/pinia/src/stores/store-flag.d.ts +10 -0
- package/templates/app/quasar-v2/js-webpack-beta/sass/src/css/app.sass +1 -0
- package/templates/app/quasar-v2/js-webpack-beta/sass/src/css/quasar.variables.sass +25 -0
- package/templates/app/quasar-v2/js-webpack-beta/scss/src/css/app.scss +1 -0
- package/templates/app/quasar-v2/js-webpack-beta/scss/src/css/quasar.variables.scss +25 -0
- package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/index.js +27 -0
- package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/module-example/actions.js +2 -0
- package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/module-example/getters.js +2 -0
- package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/module-example/index.js +12 -0
- package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/module-example/mutations.js +2 -0
- package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/module-example/state.js +5 -0
- package/templates/app/quasar-v2/js-webpack-beta/vuex/src/store/store-flag.d.ts +10 -0
- package/templates/app/quasar-v2/ts-vite/BASE/_.gitignore +4 -0
- package/templates/app/quasar-v2/ts-vite/BASE/_package.json +2 -2
- package/templates/app/quasar-v2/ts-vite/axios/src/boot/axios.ts +1 -0
- package/templates/app/quasar-v2/ts-vite/lint/_.eslintignore +1 -0
- package/templates/app/quasar-v2/ts-vite-beta/.eslintrc.js +21 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/README.md +41 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/_.editorconfig +9 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/_.gitignore +37 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/_.npmrc +3 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/_.vscode/extensions.json +15 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/_.vscode/settings.json +11 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/_package.json +56 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/_tsconfig.json +8 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/index.html +21 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/postcss.config.cjs +27 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/public/favicon.ico +0 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/public/icons/favicon-128x128.png +0 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/public/icons/favicon-16x16.png +0 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/public/icons/favicon-32x32.png +0 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/public/icons/favicon-96x96.png +0 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/quasar.config.ts +222 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/App.vue +20 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/assets/quasar-logo-vertical.svg +15 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/boot/_.gitkeep +0 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/components/EssentialLink.vue +97 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/components/ExampleComponent.vue +144 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/components/models.ts +8 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/env.d.ts +9 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/layouts/MainLayout.vue +295 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/pages/ErrorNotFound.vue +40 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/pages/IndexPage.vue +148 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/quasar.d.ts +9 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/router/index.ts +37 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/router/routes.ts +18 -0
- package/templates/app/quasar-v2/ts-vite-beta/BASE/src/shims-vue.d.ts +10 -0
- package/templates/app/quasar-v2/ts-vite-beta/axios/src/boot/axios.ts +31 -0
- package/templates/app/quasar-v2/ts-vite-beta/css/src/css/app.css +1 -0
- package/templates/app/quasar-v2/ts-vite-beta/i18n/src/boot/i18n.ts +33 -0
- package/templates/app/quasar-v2/ts-vite-beta/i18n/src/i18n/en-US/index.ts +7 -0
- package/templates/app/quasar-v2/ts-vite-beta/i18n/src/i18n/index.ts +5 -0
- package/templates/app/quasar-v2/ts-vite-beta/index.js +79 -0
- package/templates/app/quasar-v2/ts-vite-beta/lint/_.eslintignore +8 -0
- package/templates/app/quasar-v2/ts-vite-beta/lint/_.eslintrc.cjs +130 -0
- package/templates/app/quasar-v2/ts-vite-beta/pinia/src/stores/example-store.ts +15 -0
- package/templates/app/quasar-v2/ts-vite-beta/pinia/src/stores/index.ts +32 -0
- package/templates/app/quasar-v2/ts-vite-beta/pinia/src/stores/store-flag.d.ts +10 -0
- package/templates/app/quasar-v2/ts-vite-beta/prettier/_.prettierrc +4 -0
- package/templates/app/quasar-v2/ts-vite-beta/sass/src/css/app.sass +1 -0
- package/templates/app/quasar-v2/ts-vite-beta/sass/src/css/quasar.variables.sass +25 -0
- package/templates/app/quasar-v2/ts-vite-beta/scss/src/css/app.scss +1 -0
- package/templates/app/quasar-v2/ts-vite-beta/scss/src/css/quasar.variables.scss +25 -0
- package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/index.ts +62 -0
- package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/module-example/actions.ts +11 -0
- package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/module-example/getters.ts +11 -0
- package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/module-example/index.ts +16 -0
- package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/module-example/mutations.ts +10 -0
- package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/module-example/state.ts +11 -0
- package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/store-flag.d.ts +10 -0
- package/templates/app/quasar-v2/ts-webpack/BASE/_.gitignore +4 -0
- package/templates/app/quasar-v2/ts-webpack/BASE/_package.json +1 -1
- package/templates/app/quasar-v2/ts-webpack/axios/src/boot/axios.ts +1 -0
- package/templates/app/quasar-v2/ts-webpack/lint/_.eslintignore +1 -0
- package/templates/app/quasar-v2/ts-webpack-beta/.eslintrc.js +21 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/README.md +41 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/_.editorconfig +9 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/_.gitignore +37 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/_.npmrc +3 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/_.vscode/extensions.json +15 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/_.vscode/settings.json +11 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/_package.json +65 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/_tsconfig.json +8 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/babel.config.cjs +14 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/postcss.config.cjs +9 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/public/favicon.ico +0 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/public/icons/favicon-128x128.png +0 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/public/icons/favicon-16x16.png +0 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/public/icons/favicon-32x32.png +0 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/public/icons/favicon-96x96.png +0 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/quasar.config.ts +230 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/App.vue +20 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/assets/quasar-logo-vertical.svg +15 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/boot/_.gitkeep +0 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/components/EssentialLink.vue +97 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/components/ExampleComponent.vue +144 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/components/models.ts +8 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/env.d.ts +9 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/index.template.html +22 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/layouts/MainLayout.vue +295 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/pages/ErrorNotFound.vue +40 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/pages/IndexPage.vue +148 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/quasar.d.ts +9 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/router/index.ts +38 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/router/routes.ts +18 -0
- package/templates/app/quasar-v2/ts-webpack-beta/BASE/src/shims-vue.d.ts +8 -0
- package/templates/app/quasar-v2/ts-webpack-beta/axios/src/boot/axios.ts +31 -0
- package/templates/app/quasar-v2/ts-webpack-beta/css/src/css/app.css +1 -0
- package/templates/app/quasar-v2/ts-webpack-beta/i18n/src/boot/i18n.ts +33 -0
- package/templates/app/quasar-v2/ts-webpack-beta/i18n/src/i18n/en-US/index.ts +7 -0
- package/templates/app/quasar-v2/ts-webpack-beta/i18n/src/i18n/index.ts +5 -0
- package/templates/app/quasar-v2/ts-webpack-beta/index.js +79 -0
- package/templates/app/quasar-v2/ts-webpack-beta/lint/_.eslintignore +10 -0
- package/templates/app/quasar-v2/ts-webpack-beta/lint/_.eslintrc.cjs +134 -0
- package/templates/app/quasar-v2/ts-webpack-beta/pinia/src/stores/example-store.ts +15 -0
- package/templates/app/quasar-v2/ts-webpack-beta/pinia/src/stores/index.ts +32 -0
- package/templates/app/quasar-v2/ts-webpack-beta/pinia/src/stores/store-flag.d.ts +10 -0
- package/templates/app/quasar-v2/ts-webpack-beta/prettier/_.prettierrc +4 -0
- package/templates/app/quasar-v2/ts-webpack-beta/sass/src/css/app.sass +1 -0
- package/templates/app/quasar-v2/ts-webpack-beta/sass/src/css/quasar.variables.sass +25 -0
- package/templates/app/quasar-v2/ts-webpack-beta/scss/src/css/app.scss +1 -0
- package/templates/app/quasar-v2/ts-webpack-beta/scss/src/css/quasar.variables.scss +25 -0
- package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/index.ts +62 -0
- package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/module-example/actions.ts +11 -0
- package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/module-example/getters.ts +11 -0
- package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/module-example/index.ts +16 -0
- package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/module-example/mutations.ts +10 -0
- package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/module-example/state.ts +11 -0
- package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/store-flag.d.ts +10 -0
- package/templates/ui-kit/quasar-v1/BASE/ui/dev/_package.json +1 -1
- package/templates/ui-kit/quasar-v2/BASE/ui/_package.json +1 -1
- package/utils/index.js +13 -5
- /package/{.eslintrc.js → .eslintrc.cjs} +0 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<q-page class="row items-center justify-evenly">
|
|
3
|
+
<example-component
|
|
4
|
+
title="Example component"
|
|
5
|
+
active
|
|
6
|
+
:todos="todos"
|
|
7
|
+
:meta="meta"
|
|
8
|
+
></example-component>
|
|
9
|
+
</q-page>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<% if (typescriptConfig === 'composition-setup') { %><script setup lang="ts">
|
|
13
|
+
import { Todo, Meta } from 'components/models';
|
|
14
|
+
import ExampleComponent from 'components/ExampleComponent.vue';
|
|
15
|
+
import { ref } from 'vue';
|
|
16
|
+
|
|
17
|
+
const todos = ref<Todo[]>([
|
|
18
|
+
{
|
|
19
|
+
id: 1,
|
|
20
|
+
content: 'ct1'
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 2,
|
|
24
|
+
content: 'ct2'
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: 3,
|
|
28
|
+
content: 'ct3'
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
id: 4,
|
|
32
|
+
content: 'ct4'
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 5,
|
|
36
|
+
content: 'ct5'
|
|
37
|
+
}
|
|
38
|
+
]);
|
|
39
|
+
const meta = ref<Meta>({
|
|
40
|
+
totalCount: 1200
|
|
41
|
+
});<% } else if (typescriptConfig === 'composition') { %><script lang="ts">
|
|
42
|
+
import { Todo, Meta } from 'components/models';
|
|
43
|
+
import ExampleComponent from 'components/ExampleComponent.vue';
|
|
44
|
+
import { defineComponent, ref } from 'vue';
|
|
45
|
+
|
|
46
|
+
export default defineComponent({
|
|
47
|
+
name: 'IndexPage',
|
|
48
|
+
components: { ExampleComponent },
|
|
49
|
+
setup () {
|
|
50
|
+
const todos = ref<Todo[]>([
|
|
51
|
+
{
|
|
52
|
+
id: 1,
|
|
53
|
+
content: 'ct1'
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
id: 2,
|
|
57
|
+
content: 'ct2'
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
id: 3,
|
|
61
|
+
content: 'ct3'
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
id: 4,
|
|
65
|
+
content: 'ct4'
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
id: 5,
|
|
69
|
+
content: 'ct5'
|
|
70
|
+
}
|
|
71
|
+
]);
|
|
72
|
+
const meta = ref<Meta>({
|
|
73
|
+
totalCount: 1200
|
|
74
|
+
});
|
|
75
|
+
return { todos, meta };
|
|
76
|
+
}
|
|
77
|
+
});<% } else if (typescriptConfig === 'options') { %><script lang="ts">
|
|
78
|
+
import { Todo, Meta } from 'components/models';
|
|
79
|
+
import ExampleComponent from 'components/ExampleComponent.vue';
|
|
80
|
+
import { defineComponent } from 'vue';
|
|
81
|
+
|
|
82
|
+
export default defineComponent({
|
|
83
|
+
name: 'IndexPage',
|
|
84
|
+
components: { ExampleComponent },
|
|
85
|
+
data () {
|
|
86
|
+
const todos: Todo[] = [
|
|
87
|
+
{
|
|
88
|
+
id: 1,
|
|
89
|
+
content: 'ct1'
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
id: 2,
|
|
93
|
+
content: 'ct2'
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
id: 3,
|
|
97
|
+
content: 'ct3'
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
id: 4,
|
|
101
|
+
content: 'ct4'
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
id: 5,
|
|
105
|
+
content: 'ct5'
|
|
106
|
+
}
|
|
107
|
+
];
|
|
108
|
+
const meta: Meta = {
|
|
109
|
+
totalCount: 1200
|
|
110
|
+
};
|
|
111
|
+
return { todos, meta };
|
|
112
|
+
}
|
|
113
|
+
});<% } else if (typescriptConfig === 'class') { %><script lang="ts">
|
|
114
|
+
import { Vue, Options } from 'vue-class-component'
|
|
115
|
+
import { Todo, Meta } from 'components/models';
|
|
116
|
+
import ExampleComponent from 'components/ExampleComponent.vue';
|
|
117
|
+
|
|
118
|
+
@Options({
|
|
119
|
+
components: { ExampleComponent }
|
|
120
|
+
})
|
|
121
|
+
export default class IndexPage extends Vue {
|
|
122
|
+
todos: Todo[] = [
|
|
123
|
+
{
|
|
124
|
+
id: 1,
|
|
125
|
+
content: 'ct1'
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
id: 2,
|
|
129
|
+
content: 'ct2'
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
id: 3,
|
|
133
|
+
content: 'ct3'
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
id: 4,
|
|
137
|
+
content: 'ct4'
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
id: 5,
|
|
141
|
+
content: 'ct5'
|
|
142
|
+
}
|
|
143
|
+
];
|
|
144
|
+
meta: Meta = {
|
|
145
|
+
totalCount: 1200
|
|
146
|
+
};
|
|
147
|
+
};<% } %>
|
|
148
|
+
</script>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
// Forces TS to apply `@quasar/app-vite` augmentations of `quasar` package
|
|
4
|
+
// Removing this would break `quasar/wrappers` imports as those typings are declared
|
|
5
|
+
// into `@quasar/app-vite`
|
|
6
|
+
// As a side effect, since `@quasar/app-vite` reference `quasar` to augment it,
|
|
7
|
+
// this declaration also apply `quasar` own
|
|
8
|
+
// augmentations (eg. adds `$q` into Vue component context)
|
|
9
|
+
/// <reference types="@quasar/app-vite" />
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { route } from 'quasar/wrappers';
|
|
2
|
+
import {
|
|
3
|
+
createMemoryHistory,
|
|
4
|
+
createRouter,
|
|
5
|
+
createWebHashHistory,
|
|
6
|
+
createWebHistory,
|
|
7
|
+
} from 'vue-router';
|
|
8
|
+
<% if (preset.vuex) { %>import { StateInterface } from '../store';
|
|
9
|
+
<% } %>
|
|
10
|
+
import routes from './routes';
|
|
11
|
+
|
|
12
|
+
/*
|
|
13
|
+
* If not building with SSR mode, you can
|
|
14
|
+
* directly export the Router instantiation;
|
|
15
|
+
*
|
|
16
|
+
* The function below can be async too; either use
|
|
17
|
+
* async/await or return a Promise which resolves
|
|
18
|
+
* with the Router instance.
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
export default route<% if (preset.vuex) { %><StateInterface><% } %>(function (/* { store, ssrContext } */) {
|
|
22
|
+
const createHistory = process.env.SERVER
|
|
23
|
+
? createMemoryHistory
|
|
24
|
+
: (process.env.VUE_ROUTER_MODE === 'history' ? createWebHistory : createWebHashHistory);
|
|
25
|
+
|
|
26
|
+
const Router = createRouter({
|
|
27
|
+
scrollBehavior: () => ({ left: 0, top: 0 }),
|
|
28
|
+
routes,
|
|
29
|
+
|
|
30
|
+
// Leave this as is and make changes in quasar.conf.js instead!
|
|
31
|
+
// quasar.conf.js -> build -> vueRouterMode
|
|
32
|
+
// quasar.conf.js -> build -> publicPath
|
|
33
|
+
history: createHistory(process.env.VUE_ROUTER_BASE),
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
return Router;
|
|
37
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RouteRecordRaw } from 'vue-router';
|
|
2
|
+
|
|
3
|
+
const routes: RouteRecordRaw[] = [
|
|
4
|
+
{
|
|
5
|
+
path: '/',
|
|
6
|
+
component: () => import('layouts/MainLayout.vue'),
|
|
7
|
+
children: [{ path: '', component: () => import('pages/IndexPage.vue') }],
|
|
8
|
+
},
|
|
9
|
+
|
|
10
|
+
// Always leave this as last one,
|
|
11
|
+
// but you can also remove it
|
|
12
|
+
{
|
|
13
|
+
path: '/:catchAll(.*)*',
|
|
14
|
+
component: () => import('pages/ErrorNotFound.vue'),
|
|
15
|
+
},
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
export default routes;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
|
|
3
|
+
/// <reference types="vite/client" />
|
|
4
|
+
|
|
5
|
+
// Mocks all files ending in `.vue` showing them as plain Vue instances
|
|
6
|
+
declare module '*.vue' {
|
|
7
|
+
import type { DefineComponent } from 'vue';
|
|
8
|
+
const component: DefineComponent<{}, {}, any>;
|
|
9
|
+
export default component;
|
|
10
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { boot } from 'quasar/wrappers';
|
|
2
|
+
import axios, { AxiosInstance } from 'axios';
|
|
3
|
+
|
|
4
|
+
declare module '@vue/runtime-core' {
|
|
5
|
+
interface ComponentCustomProperties {
|
|
6
|
+
$axios: AxiosInstance;
|
|
7
|
+
$api: AxiosInstance;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
// Be careful when using SSR for cross-request state pollution
|
|
12
|
+
// due to creating a Singleton instance here;
|
|
13
|
+
// If any client changes this (global) instance, it might be a
|
|
14
|
+
// good idea to move this instance creation inside of the
|
|
15
|
+
// "export default () => {}" function below (which runs individually
|
|
16
|
+
// for each client)
|
|
17
|
+
const api = axios.create({ baseURL: 'https://api.example.com' });
|
|
18
|
+
|
|
19
|
+
export default boot(({ app }) => {
|
|
20
|
+
// for use inside Vue files (Options API) through this.$axios and this.$api
|
|
21
|
+
|
|
22
|
+
app.config.globalProperties.$axios = axios;
|
|
23
|
+
// ^ ^ ^ this will allow you to use this.$axios (for Vue Options API form)
|
|
24
|
+
// so you won't necessarily have to import axios in each vue file
|
|
25
|
+
|
|
26
|
+
app.config.globalProperties.$api = api;
|
|
27
|
+
// ^ ^ ^ this will allow you to use this.$api (for Vue Options API form)
|
|
28
|
+
// so you can easily perform requests against your app's API
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
export { api };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/* app global css */
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { boot } from 'quasar/wrappers';
|
|
2
|
+
import { createI18n } from 'vue-i18n';
|
|
3
|
+
|
|
4
|
+
import messages from 'src/i18n';
|
|
5
|
+
|
|
6
|
+
export type MessageLanguages = keyof typeof messages;
|
|
7
|
+
// Type-define 'en-US' as the master schema for the resource
|
|
8
|
+
export type MessageSchema = typeof messages['en-US'];
|
|
9
|
+
|
|
10
|
+
// See https://vue-i18n.intlify.dev/guide/advanced/typescript.html#global-resource-schema-type-definition
|
|
11
|
+
/* eslint-disable @typescript-eslint/no-empty-interface */
|
|
12
|
+
declare module 'vue-i18n' {
|
|
13
|
+
// define the locale messages schema
|
|
14
|
+
export interface DefineLocaleMessage extends MessageSchema {}
|
|
15
|
+
|
|
16
|
+
// define the datetime format schema
|
|
17
|
+
export interface DefineDateTimeFormat {}
|
|
18
|
+
|
|
19
|
+
// define the number format schema
|
|
20
|
+
export interface DefineNumberFormat {}
|
|
21
|
+
}
|
|
22
|
+
/* eslint-enable @typescript-eslint/no-empty-interface */
|
|
23
|
+
|
|
24
|
+
export default boot(({ app }) => {
|
|
25
|
+
const i18n = createI18n({
|
|
26
|
+
locale: 'en-US',<% if (typescriptConfig === 'composition' || typescriptConfig === 'composition-setup') { %>
|
|
27
|
+
legacy: false,<% } %>
|
|
28
|
+
messages,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
// Set i18n instance on app
|
|
32
|
+
app.use(i18n);
|
|
33
|
+
});
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
|
|
2
|
+
module.exports = async function ({ scope, utils }) {
|
|
3
|
+
await utils.prompts(scope, [
|
|
4
|
+
{
|
|
5
|
+
type: 'select',
|
|
6
|
+
name: 'typescriptConfig',
|
|
7
|
+
message: 'Pick a Vue component style:',
|
|
8
|
+
initial: 0,
|
|
9
|
+
choices: [
|
|
10
|
+
{ title: 'Composition API', value: 'composition', description: 'recommended' },
|
|
11
|
+
{ title: 'Composition API with <script setup>', value: 'composition-setup', description: 'recommended' },
|
|
12
|
+
{ title: 'Options API', value: 'options' },
|
|
13
|
+
{ title: 'Class-based', value: 'class', description: 'DEPRECATED; see https://github.com/quasarframework/quasar/discussions/11204', disabled: true }
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
type: 'select',
|
|
18
|
+
name: 'css',
|
|
19
|
+
message: 'Pick your CSS preprocessor:',
|
|
20
|
+
initial: 0,
|
|
21
|
+
choices: [
|
|
22
|
+
{ title: 'Sass with SCSS syntax', value: 'scss' },
|
|
23
|
+
{ title: 'Sass with indented syntax', value: 'sass' },
|
|
24
|
+
{ title: 'None (the others will still be available)', value: 'css' }
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'multiselect',
|
|
29
|
+
name: 'preset',
|
|
30
|
+
message: 'Check the features needed for your project:',
|
|
31
|
+
choices: [
|
|
32
|
+
{ title: 'ESLint', value: 'lint', description: 'recommended', selected: true },
|
|
33
|
+
{ title: 'State Management (Pinia)', value: 'pinia', description: 'https://pinia.vuejs.org' },
|
|
34
|
+
{ title: 'State Management (Vuex) [DEPRECATED by Vue Team]', value: 'vuex', description: 'See https://vuejs.org/guide/scaling-up/state-management.html#pinia' },
|
|
35
|
+
{ title: 'Axios', value: 'axios' },
|
|
36
|
+
{ title: 'Vue-i18n', value: 'i18n' }
|
|
37
|
+
],
|
|
38
|
+
format: values => {
|
|
39
|
+
let result = values
|
|
40
|
+
|
|
41
|
+
if (values.includes('vuex') && values.includes('pinia')) {
|
|
42
|
+
console.log()
|
|
43
|
+
utils.logger.warn('Only one state management package can be used. Picking the recommended Pinia and dropping Vuex.')
|
|
44
|
+
console.log()
|
|
45
|
+
|
|
46
|
+
result = values.filter(entry => entry !== 'vuex')
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return utils.convertArrayToObject(result)
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
type: (_, { preset }) => preset.lint ? 'select' : null,
|
|
54
|
+
name: 'lintConfig',
|
|
55
|
+
message: 'Pick an ESLint preset:',
|
|
56
|
+
choices: [
|
|
57
|
+
{ title: 'Prettier', value: 'prettier', description: 'https://github.com/prettier/prettier' },
|
|
58
|
+
{ title: 'Standard', value: 'standard', description: 'https://github.com/standard/standard' },
|
|
59
|
+
{ title: 'Airbnb', value: 'airbnb', description: 'https://github.com/airbnb/javascript' }
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
])
|
|
63
|
+
|
|
64
|
+
utils.createTargetDir(scope)
|
|
65
|
+
utils.renderTemplate(utils.join(__dirname, 'BASE'), scope)
|
|
66
|
+
utils.renderTemplate(utils.join(__dirname, scope.css), scope)
|
|
67
|
+
|
|
68
|
+
if (scope.preset.axios) utils.renderTemplate(utils.join(__dirname, 'axios'), scope)
|
|
69
|
+
if (scope.preset.i18n) utils.renderTemplate(utils.join(__dirname, 'i18n'), scope)
|
|
70
|
+
if (scope.preset.lint) {
|
|
71
|
+
utils.renderTemplate(utils.join(__dirname, 'lint'), scope)
|
|
72
|
+
if (scope.lintConfig === 'prettier') {
|
|
73
|
+
utils.renderTemplate(utils.join(__dirname, 'prettier'), scope)
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (scope.preset.pinia) utils.renderTemplate(utils.join(__dirname, 'pinia'), scope)
|
|
78
|
+
else if (scope.preset.vuex) utils.renderTemplate(utils.join(__dirname, 'vuex'), scope)
|
|
79
|
+
}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
// https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy
|
|
3
|
+
// This option interrupts the configuration hierarchy at this file
|
|
4
|
+
// Remove this if you have an higher level ESLint config file (it usually happens into a monorepos)
|
|
5
|
+
root: true,
|
|
6
|
+
|
|
7
|
+
// https://eslint.vuejs.org/user-guide/#how-to-use-a-custom-parser
|
|
8
|
+
// Must use parserOptions instead of "parser" to allow vue-eslint-parser to keep working
|
|
9
|
+
// `parser: 'vue-eslint-parser'` is already included with any 'plugin:vue/**' config and should be omitted
|
|
10
|
+
parserOptions: {
|
|
11
|
+
parser: require.resolve('@typescript-eslint/parser'),
|
|
12
|
+
extraFileExtensions: [ '.vue' ]
|
|
13
|
+
},
|
|
14
|
+
|
|
15
|
+
env: {
|
|
16
|
+
browser: true,
|
|
17
|
+
es2021: true,
|
|
18
|
+
node: true,
|
|
19
|
+
'vue/setup-compiler-macros': true
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
// Rules order is important, please avoid shuffling them
|
|
23
|
+
extends: [
|
|
24
|
+
// Base ESLint recommended rules
|
|
25
|
+
// 'eslint:recommended',
|
|
26
|
+
|
|
27
|
+
// https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/eslint-plugin#usage
|
|
28
|
+
// ESLint typescript rules
|
|
29
|
+
'plugin:@typescript-eslint/recommended',
|
|
30
|
+
|
|
31
|
+
// Uncomment any of the lines below to choose desired strictness,
|
|
32
|
+
// but leave only one uncommented!
|
|
33
|
+
// See https://eslint.vuejs.org/rules/#available-rules
|
|
34
|
+
'plugin:vue/vue3-essential', // Priority A: Essential (Error Prevention)
|
|
35
|
+
// 'plugin:vue/vue3-strongly-recommended', // Priority B: Strongly Recommended (Improving Readability)
|
|
36
|
+
// 'plugin:vue/vue3-recommended', // Priority C: Recommended (Minimizing Arbitrary Choices and Cognitive Overhead)
|
|
37
|
+
|
|
38
|
+
<% if (lintConfig === 'standard') { %>'standard'
|
|
39
|
+
<% } else if (lintConfig === 'airbnb') { %>'airbnb-base'
|
|
40
|
+
<% } else if (lintConfig === 'prettier') { %>// https://github.com/prettier/eslint-config-prettier#installation
|
|
41
|
+
// usage with Prettier, provided by 'eslint-config-prettier'.
|
|
42
|
+
'prettier'<% } %>
|
|
43
|
+
],
|
|
44
|
+
|
|
45
|
+
plugins: [
|
|
46
|
+
// required to apply rules which need type information
|
|
47
|
+
'@typescript-eslint',
|
|
48
|
+
|
|
49
|
+
// https://eslint.vuejs.org/user-guide/#why-doesn-t-it-work-on-vue-files
|
|
50
|
+
// required to lint *.vue files
|
|
51
|
+
'vue'
|
|
52
|
+
<% if (lintConfig === 'prettier') { %>
|
|
53
|
+
// https://github.com/typescript-eslint/typescript-eslint/issues/389#issuecomment-509292674
|
|
54
|
+
// Prettier has not been included as plugin to avoid performance impact
|
|
55
|
+
// add it as an extension for your IDE
|
|
56
|
+
<% } %>
|
|
57
|
+
],
|
|
58
|
+
|
|
59
|
+
globals: {
|
|
60
|
+
ga: 'readonly', // Google Analytics
|
|
61
|
+
cordova: 'readonly',
|
|
62
|
+
__statics: 'readonly',
|
|
63
|
+
__QUASAR_SSR__: 'readonly',
|
|
64
|
+
__QUASAR_SSR_SERVER__: 'readonly',
|
|
65
|
+
__QUASAR_SSR_CLIENT__: 'readonly',
|
|
66
|
+
__QUASAR_SSR_PWA__: 'readonly',
|
|
67
|
+
process: 'readonly',
|
|
68
|
+
Capacitor: 'readonly',
|
|
69
|
+
chrome: 'readonly'
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
// add your custom rules here
|
|
73
|
+
rules: {
|
|
74
|
+
<% if (lintConfig === 'standard') { %>
|
|
75
|
+
// allow async-await
|
|
76
|
+
'generator-star-spacing': 'off',
|
|
77
|
+
// allow paren-less arrow functions
|
|
78
|
+
'arrow-parens': 'off',
|
|
79
|
+
'one-var': 'off',
|
|
80
|
+
'no-void': 'off',
|
|
81
|
+
'multiline-ternary': 'off',
|
|
82
|
+
|
|
83
|
+
'import/first': 'off',
|
|
84
|
+
'import/namespace': 'error',
|
|
85
|
+
'import/default': 'error',
|
|
86
|
+
'import/export': 'error',
|
|
87
|
+
'import/extensions': 'off',
|
|
88
|
+
'import/no-unresolved': 'off',
|
|
89
|
+
'import/no-extraneous-dependencies': 'off',
|
|
90
|
+
|
|
91
|
+
// The core 'import/named' rules
|
|
92
|
+
// does not work with type definitions
|
|
93
|
+
'import/named': 'off',
|
|
94
|
+
<% } else if (lintConfig === 'airbnb') { %>
|
|
95
|
+
'no-param-reassign': 'off',
|
|
96
|
+
'no-void': 'off',
|
|
97
|
+
'no-nested-ternary': 'off',
|
|
98
|
+
'max-classes-per-file': 'off',
|
|
99
|
+
|
|
100
|
+
'no-shadow': 'off',
|
|
101
|
+
'@typescript-eslint/no-shadow': 'error',
|
|
102
|
+
|
|
103
|
+
'import/first': 'off',
|
|
104
|
+
'import/named': 'error',
|
|
105
|
+
'import/namespace': 'error',
|
|
106
|
+
'import/default': 'error',
|
|
107
|
+
'import/export': 'error',
|
|
108
|
+
'import/extensions': 'off',
|
|
109
|
+
'import/no-unresolved': 'off',
|
|
110
|
+
'import/no-extraneous-dependencies': 'off',
|
|
111
|
+
'import/prefer-default-export': 'off',
|
|
112
|
+
<% } %>
|
|
113
|
+
'prefer-promise-reject-errors': 'off',
|
|
114
|
+
|
|
115
|
+
quotes: ['warn', 'single', { avoidEscape: true }],
|
|
116
|
+
|
|
117
|
+
// this rule, if on, would require explicit return type on the `render` function
|
|
118
|
+
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
119
|
+
|
|
120
|
+
// in plain CommonJS modules, you can't use `import foo = require('foo')` to pass this rule, so it has to be disabled
|
|
121
|
+
'@typescript-eslint/no-var-requires': 'off',
|
|
122
|
+
|
|
123
|
+
// The core 'no-unused-vars' rules (in the eslint:recommended ruleset)
|
|
124
|
+
// does not work with type definitions
|
|
125
|
+
'no-unused-vars': 'off',
|
|
126
|
+
|
|
127
|
+
// allow debugger during development only
|
|
128
|
+
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
|
|
129
|
+
}
|
|
130
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { defineStore } from 'pinia';
|
|
2
|
+
|
|
3
|
+
export const useCounterStore = defineStore('counter', {
|
|
4
|
+
state: () => ({
|
|
5
|
+
counter: 0,
|
|
6
|
+
}),
|
|
7
|
+
getters: {
|
|
8
|
+
doubleCount: (state) => state.counter * 2,
|
|
9
|
+
},
|
|
10
|
+
actions: {
|
|
11
|
+
increment() {
|
|
12
|
+
this.counter++;
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { store } from 'quasar/wrappers'
|
|
2
|
+
import { createPinia } from 'pinia'
|
|
3
|
+
import { Router } from 'vue-router';
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* When adding new properties to stores, you should also
|
|
7
|
+
* extend the `PiniaCustomProperties` interface.
|
|
8
|
+
* @see https://pinia.vuejs.org/core-concepts/plugins.html#typing-new-store-properties
|
|
9
|
+
*/
|
|
10
|
+
declare module 'pinia' {
|
|
11
|
+
export interface PiniaCustomProperties {
|
|
12
|
+
readonly router: Router;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/*
|
|
17
|
+
* If not building with SSR mode, you can
|
|
18
|
+
* directly export the Store instantiation;
|
|
19
|
+
*
|
|
20
|
+
* The function below can be async too; either use
|
|
21
|
+
* async/await or return a Promise which resolves
|
|
22
|
+
* with the Store instance.
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
export default store((/* { ssrContext } */) => {
|
|
26
|
+
const pinia = createPinia()
|
|
27
|
+
|
|
28
|
+
// You can add Pinia plugins here
|
|
29
|
+
// pinia.use(SomePiniaPlugin)
|
|
30
|
+
|
|
31
|
+
return pinia
|
|
32
|
+
})
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// THIS FEATURE-FLAG FILE IS AUTOGENERATED,
|
|
3
|
+
// REMOVAL OR CHANGES WILL CAUSE RELATED TYPES TO STOP WORKING
|
|
4
|
+
import "quasar/dist/types/feature-flag";
|
|
5
|
+
|
|
6
|
+
declare module "quasar/dist/types/feature-flag" {
|
|
7
|
+
interface QuasarFeatureFlags {
|
|
8
|
+
store: true;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// app global css in Sass form
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Quasar Sass (& SCSS) Variables
|
|
2
|
+
// --------------------------------------------------
|
|
3
|
+
// To customize the look and feel of this app, you can override
|
|
4
|
+
// the Sass/SCSS variables found in Quasar's source Sass/SCSS files.
|
|
5
|
+
|
|
6
|
+
// Check documentation for full list of Quasar variables
|
|
7
|
+
|
|
8
|
+
// Your own variables (that are declared here) and Quasar's own
|
|
9
|
+
// ones will be available out of the box in your .vue/.scss/.sass files
|
|
10
|
+
|
|
11
|
+
// It's highly recommended to change the default colors
|
|
12
|
+
// to match your app's branding.
|
|
13
|
+
// Tip: Use the "Theme Builder" on Quasar's documentation website.
|
|
14
|
+
|
|
15
|
+
$primary : #1976D2
|
|
16
|
+
$secondary : #26A69A
|
|
17
|
+
$accent : #9C27B0
|
|
18
|
+
|
|
19
|
+
$dark : #1D1D1D
|
|
20
|
+
$dark-page : #121212
|
|
21
|
+
|
|
22
|
+
$positive : #21BA45
|
|
23
|
+
$negative : #C10015
|
|
24
|
+
$info : #31CCEC
|
|
25
|
+
$warning : #F2C037
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
// app global css in SCSS form
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Quasar SCSS (& Sass) Variables
|
|
2
|
+
// --------------------------------------------------
|
|
3
|
+
// To customize the look and feel of this app, you can override
|
|
4
|
+
// the Sass/SCSS variables found in Quasar's source Sass/SCSS files.
|
|
5
|
+
|
|
6
|
+
// Check documentation for full list of Quasar variables
|
|
7
|
+
|
|
8
|
+
// Your own variables (that are declared here) and Quasar's own
|
|
9
|
+
// ones will be available out of the box in your .vue/.scss/.sass files
|
|
10
|
+
|
|
11
|
+
// It's highly recommended to change the default colors
|
|
12
|
+
// to match your app's branding.
|
|
13
|
+
// Tip: Use the "Theme Builder" on Quasar's documentation website.
|
|
14
|
+
|
|
15
|
+
$primary : #1976D2;
|
|
16
|
+
$secondary : #26A69A;
|
|
17
|
+
$accent : #9C27B0;
|
|
18
|
+
|
|
19
|
+
$dark : #1D1D1D;
|
|
20
|
+
$dark-page : #121212;
|
|
21
|
+
|
|
22
|
+
$positive : #21BA45;
|
|
23
|
+
$negative : #C10015;
|
|
24
|
+
$info : #31CCEC;
|
|
25
|
+
$warning : #F2C037;
|