create-quasar 1.12.0 → 2.0.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.
Files changed (296) hide show
  1. package/package.json +1 -1
  2. package/scripts/create-test-project.ts +64 -0
  3. package/templates/app/index.js +1 -1
  4. package/templates/app/quasar-v2/index.js +56 -0
  5. package/templates/app/quasar-v2/js-vite-2/.eslintrc.cjs +24 -0
  6. package/templates/app/{quasar-v1/ts → quasar-v2/js-vite-2}/BASE/README.md +12 -3
  7. package/templates/app/{quasar-v1/ts → quasar-v2/js-vite-2}/BASE/_.editorconfig +2 -4
  8. package/templates/app/{quasar-v1/ts → quasar-v2/js-vite-2}/BASE/_.gitignore +4 -4
  9. package/templates/app/quasar-v2/js-vite-2/BASE/_.npmrc +5 -0
  10. package/templates/app/quasar-v2/js-vite-2/BASE/_.vscode/extensions.json +15 -0
  11. package/templates/app/quasar-v2/js-vite-2/BASE/_.vscode/settings.json +10 -0
  12. package/templates/app/quasar-v2/js-vite-2/BASE/_jsconfig.json +3 -0
  13. package/templates/app/quasar-v2/js-vite-2/BASE/_package.json +48 -0
  14. package/templates/app/{quasar-v1/ts/BASE/src/index.template.html → quasar-v2/js-vite-2/BASE/index.html} +2 -3
  15. package/templates/app/quasar-v2/js-vite-2/BASE/postcss.config.js +29 -0
  16. package/templates/app/quasar-v2/js-vite-2/BASE/quasar.config.js +231 -0
  17. package/templates/app/quasar-v2/js-vite-2/BASE/src/App.vue +14 -0
  18. package/templates/app/quasar-v2/js-vite-2/BASE/src/components/EssentialLink.vue +72 -0
  19. package/templates/app/{quasar-v1/ts → quasar-v2/js-vite-2}/BASE/src/layouts/MainLayout.vue +57 -41
  20. package/templates/app/quasar-v2/js-vite-2/BASE/src/pages/ErrorNotFound.vue +34 -0
  21. package/templates/app/quasar-v2/js-vite-2/BASE/src/pages/IndexPage.vue +20 -0
  22. package/templates/app/quasar-v2/js-vite-2/BASE/src/router/index.js +30 -0
  23. package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/BASE/src/router/routes.js +3 -3
  24. package/templates/app/quasar-v2/js-vite-2/axios/src/boot/axios.js +24 -0
  25. package/templates/app/quasar-v2/js-vite-2/eslint/_eslint.config.js +73 -0
  26. package/templates/app/quasar-v2/js-vite-2/i18n/src/boot/i18n.js +14 -0
  27. package/templates/app/quasar-v2/js-vite-2/index.js +36 -0
  28. package/templates/app/quasar-v2/js-vite-2/pinia/src/stores/example-store.js +21 -0
  29. package/templates/app/quasar-v2/js-vite-2/pinia/src/stores/index.js +20 -0
  30. package/templates/app/quasar-v2/js-vite-2/prettier/_.prettierrc.json +6 -0
  31. package/templates/app/quasar-v2/js-webpack-4/.eslintrc.cjs +24 -0
  32. package/templates/app/quasar-v2/js-webpack-4/BASE/README.md +40 -0
  33. package/templates/{ui-kit/quasar-v1/BASE/ui/dev → app/quasar-v2/js-webpack-4/BASE}/_.editorconfig +2 -4
  34. package/templates/app/{quasar-v1/js → quasar-v2/js-webpack-4}/BASE/_.gitignore +4 -4
  35. package/templates/app/quasar-v2/js-webpack-4/BASE/_.npmrc +5 -0
  36. package/templates/app/quasar-v2/js-webpack-4/BASE/_.vscode/extensions.json +15 -0
  37. package/templates/app/quasar-v2/js-webpack-4/BASE/_.vscode/settings.json +10 -0
  38. package/templates/app/quasar-v2/js-webpack-4/BASE/_jsconfig.json +3 -0
  39. package/templates/app/quasar-v2/js-webpack-4/BASE/_package.json +58 -0
  40. package/templates/app/quasar-v2/js-webpack-4/BASE/babel.config.js +12 -0
  41. package/templates/app/{quasar-v1/js/BASE/src/index.template.html → quasar-v2/js-webpack-4/BASE/index.html} +2 -3
  42. package/templates/{ui-kit/quasar-v1/BASE/ui/dev/_.postcssrc.js → app/quasar-v2/js-webpack-4/BASE/postcss.config.js} +3 -2
  43. package/templates/app/quasar-v2/js-webpack-4/BASE/quasar.config.js +221 -0
  44. package/templates/app/quasar-v2/js-webpack-4/BASE/src/App.vue +14 -0
  45. package/templates/app/quasar-v2/js-webpack-4/BASE/src/components/EssentialLink.vue +72 -0
  46. package/templates/app/quasar-v2/js-webpack-4/BASE/src/layouts/MainLayout.vue +241 -0
  47. package/templates/app/quasar-v2/js-webpack-4/BASE/src/pages/ErrorNotFound.vue +34 -0
  48. package/templates/app/quasar-v2/js-webpack-4/BASE/src/pages/IndexPage.vue +20 -0
  49. package/templates/app/quasar-v2/js-webpack-4/BASE/src/router/index.js +30 -0
  50. package/templates/app/quasar-v2/js-webpack-4/BASE/src/router/routes.js +18 -0
  51. package/templates/app/quasar-v2/js-webpack-4/axios/src/boot/axios.js +24 -0
  52. package/templates/app/quasar-v2/js-webpack-4/eslint/_eslint.config.js +73 -0
  53. package/templates/app/quasar-v2/js-webpack-4/i18n/src/boot/i18n.js +14 -0
  54. package/templates/app/quasar-v2/js-webpack-4/i18n/src/i18n/en-US/index.js +7 -0
  55. package/templates/app/quasar-v2/js-webpack-4/i18n/src/i18n/index.js +5 -0
  56. package/templates/app/quasar-v2/js-webpack-4/index.js +36 -0
  57. package/templates/app/quasar-v2/js-webpack-4/pinia/src/stores/example-store.js +15 -0
  58. package/templates/app/quasar-v2/js-webpack-4/pinia/src/stores/index.js +20 -0
  59. package/templates/app/quasar-v2/js-webpack-4/pinia/src/stores/store-flag.d.ts +13 -0
  60. package/templates/app/quasar-v2/js-webpack-4/prettier/_.prettierrc.json +6 -0
  61. package/templates/app/{quasar-v1/ts → quasar-v2/ts-vite-2}/.eslintrc.cjs +3 -4
  62. package/templates/app/{quasar-v1/js → quasar-v2/ts-vite-2}/BASE/README.md +12 -3
  63. package/templates/app/quasar-v2/ts-vite-2/BASE/_.editorconfig +7 -0
  64. package/templates/app/quasar-v2/ts-vite-2/BASE/_.gitignore +33 -0
  65. package/templates/app/quasar-v2/ts-vite-2/BASE/_.npmrc +5 -0
  66. package/templates/app/quasar-v2/ts-vite-2/BASE/_.vscode/extensions.json +15 -0
  67. package/templates/app/quasar-v2/ts-vite-2/BASE/_.vscode/settings.json +11 -0
  68. package/templates/app/quasar-v2/ts-vite-2/BASE/_package.json +51 -0
  69. package/templates/app/quasar-v2/ts-vite-2/BASE/_tsconfig.json +3 -0
  70. package/templates/app/quasar-v2/ts-vite-2/BASE/index.html +21 -0
  71. package/templates/app/quasar-v2/ts-vite-2/BASE/postcss.config.js +29 -0
  72. package/templates/app/quasar-v2/ts-vite-2/BASE/public/favicon.ico +0 -0
  73. package/templates/app/quasar-v2/ts-vite-2/BASE/public/icons/favicon-128x128.png +0 -0
  74. package/templates/app/quasar-v2/ts-vite-2/BASE/public/icons/favicon-16x16.png +0 -0
  75. package/templates/app/quasar-v2/ts-vite-2/BASE/public/icons/favicon-32x32.png +0 -0
  76. package/templates/app/quasar-v2/ts-vite-2/BASE/public/icons/favicon-96x96.png +0 -0
  77. package/templates/app/quasar-v2/ts-vite-2/BASE/quasar.config.ts +238 -0
  78. package/templates/app/quasar-v2/ts-vite-2/BASE/src/App.vue +14 -0
  79. package/templates/app/quasar-v2/ts-vite-2/BASE/src/assets/quasar-logo-vertical.svg +15 -0
  80. package/templates/app/quasar-v2/ts-vite-2/BASE/src/components/EssentialLink.vue +70 -0
  81. package/templates/app/{quasar-v1/ts → quasar-v2/ts-vite-2}/BASE/src/components/ExampleComponent.vue +51 -39
  82. package/templates/app/quasar-v2/ts-vite-2/BASE/src/layouts/MainLayout.vue +241 -0
  83. package/templates/app/{quasar-v1/ts/BASE/src/pages/Error404.vue → quasar-v2/ts-vite-2/BASE/src/pages/ErrorNotFound.vue} +5 -15
  84. package/templates/app/{quasar-v1/ts/BASE/src/pages/Index.vue → quasar-v2/ts-vite-2/BASE/src/pages/IndexPage.vue} +58 -46
  85. package/templates/app/quasar-v2/ts-vite-2/BASE/src/router/index.ts +35 -0
  86. package/templates/app/quasar-v2/ts-vite-2/BASE/src/router/routes.ts +18 -0
  87. package/templates/app/quasar-v2/ts-vite-2/axios/src/boot/axios.ts +31 -0
  88. package/templates/app/quasar-v2/ts-vite-2/css/src/css/app.css +1 -0
  89. package/templates/app/quasar-v2/ts-vite-2/eslint/_eslint.config.js +99 -0
  90. package/templates/app/quasar-v2/ts-vite-2/i18n/src/boot/i18n.ts +33 -0
  91. package/templates/app/quasar-v2/ts-vite-2/index.js +36 -0
  92. package/templates/app/quasar-v2/ts-vite-2/pinia/src/stores/example-store.ts +21 -0
  93. package/templates/app/quasar-v2/ts-vite-2/pinia/src/stores/index.ts +32 -0
  94. package/templates/app/quasar-v2/ts-vite-2/prettier/_.prettierrc.json +6 -0
  95. package/templates/app/quasar-v2/ts-vite-2/sass/src/css/app.sass +1 -0
  96. package/templates/app/quasar-v2/ts-vite-2/sass/src/css/quasar.variables.sass +25 -0
  97. package/templates/app/quasar-v2/ts-vite-2/scss/src/css/app.scss +1 -0
  98. package/templates/app/quasar-v2/ts-vite-2/scss/src/css/quasar.variables.scss +25 -0
  99. package/templates/app/{quasar-v1/js → quasar-v2/ts-webpack-4}/.eslintrc.cjs +4 -4
  100. package/templates/app/quasar-v2/ts-webpack-4/BASE/README.md +40 -0
  101. package/templates/app/quasar-v2/ts-webpack-4/BASE/_.editorconfig +7 -0
  102. package/templates/app/quasar-v2/ts-webpack-4/BASE/_.gitignore +33 -0
  103. package/templates/app/quasar-v2/ts-webpack-4/BASE/_.npmrc +5 -0
  104. package/templates/app/quasar-v2/ts-webpack-4/BASE/_.vscode/extensions.json +15 -0
  105. package/templates/app/quasar-v2/ts-webpack-4/BASE/_.vscode/settings.json +11 -0
  106. package/templates/app/quasar-v2/ts-webpack-4/BASE/_package.json +62 -0
  107. package/templates/app/quasar-v2/ts-webpack-4/BASE/_tsconfig.json +3 -0
  108. package/templates/app/quasar-v2/ts-webpack-4/BASE/babel.config.cjs +12 -0
  109. package/templates/app/quasar-v2/ts-webpack-4/BASE/index.html +21 -0
  110. package/templates/app/quasar-v2/ts-webpack-4/BASE/public/favicon.ico +0 -0
  111. package/templates/app/quasar-v2/ts-webpack-4/BASE/public/icons/favicon-128x128.png +0 -0
  112. package/templates/app/quasar-v2/ts-webpack-4/BASE/public/icons/favicon-16x16.png +0 -0
  113. package/templates/app/quasar-v2/ts-webpack-4/BASE/public/icons/favicon-32x32.png +0 -0
  114. package/templates/app/quasar-v2/ts-webpack-4/BASE/public/icons/favicon-96x96.png +0 -0
  115. package/templates/app/quasar-v2/ts-webpack-4/BASE/quasar.config.ts +230 -0
  116. package/templates/app/quasar-v2/ts-webpack-4/BASE/src/App.vue +14 -0
  117. package/templates/app/quasar-v2/ts-webpack-4/BASE/src/assets/quasar-logo-vertical.svg +15 -0
  118. package/templates/app/quasar-v2/ts-webpack-4/BASE/src/components/EssentialLink.vue +70 -0
  119. package/templates/app/quasar-v2/ts-webpack-4/BASE/src/components/ExampleComponent.vue +133 -0
  120. package/templates/app/quasar-v2/ts-webpack-4/BASE/src/components/models.ts +8 -0
  121. package/templates/app/quasar-v2/ts-webpack-4/BASE/src/env.d.ts +7 -0
  122. package/templates/app/quasar-v2/ts-webpack-4/BASE/src/layouts/MainLayout.vue +241 -0
  123. package/templates/app/quasar-v2/ts-webpack-4/BASE/src/pages/ErrorNotFound.vue +34 -0
  124. package/templates/app/quasar-v2/ts-webpack-4/BASE/src/pages/IndexPage.vue +131 -0
  125. package/templates/app/quasar-v2/ts-webpack-4/BASE/src/router/index.ts +35 -0
  126. package/templates/app/quasar-v2/ts-webpack-4/BASE/src/router/routes.ts +18 -0
  127. package/templates/app/quasar-v2/ts-webpack-4/axios/src/boot/axios.ts +31 -0
  128. package/templates/app/quasar-v2/ts-webpack-4/css/src/css/app.css +1 -0
  129. package/templates/app/quasar-v2/ts-webpack-4/eslint/_eslint.config.js +100 -0
  130. package/templates/app/quasar-v2/ts-webpack-4/i18n/src/boot/i18n.ts +33 -0
  131. package/templates/app/quasar-v2/ts-webpack-4/i18n/src/i18n/en-US/index.ts +7 -0
  132. package/templates/app/quasar-v2/ts-webpack-4/i18n/src/i18n/index.ts +5 -0
  133. package/templates/app/quasar-v2/ts-webpack-4/index.js +36 -0
  134. package/templates/app/quasar-v2/ts-webpack-4/pinia/src/stores/example-store.ts +15 -0
  135. package/templates/app/quasar-v2/ts-webpack-4/pinia/src/stores/index.ts +32 -0
  136. package/templates/app/quasar-v2/ts-webpack-4/prettier/_.prettierrc.json +6 -0
  137. package/templates/app/quasar-v2/ts-webpack-4/sass/src/css/app.sass +1 -0
  138. package/templates/app/quasar-v2/ts-webpack-4/sass/src/css/quasar.variables.sass +25 -0
  139. package/templates/app/quasar-v2/ts-webpack-4/scss/src/css/app.scss +1 -0
  140. package/templates/app/quasar-v2/ts-webpack-4/scss/src/css/quasar.variables.scss +25 -0
  141. package/templates/app-extension/ae-ts/BASE/app-extension/_package.json +4 -4
  142. package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/_package.json +1 -1
  143. package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/_package.json +1 -1
  144. package/templates/ui-kit/index.js +1 -1
  145. package/templates/ui-kit/quasar-v2/.eslintrc.cjs +19 -0
  146. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/README.md +1 -1
  147. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/README.md +1 -1
  148. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/_package.json +20 -7
  149. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/build/script.clean.js +1 -1
  150. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/build/script.javascript.js +13 -4
  151. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/_package.json +0 -7
  152. package/templates/ui-kit/{quasar-v1/BASE/ui/dev/quasar.conf.js → quasar-v2/BASE/ui/dev/quasar.config.js} +14 -1
  153. package/templates/{app/quasar-v1/js/BASE → ui-kit/quasar-v2/BASE/ui/dev}/src/App.vue +1 -3
  154. package/templates/ui-kit/quasar-v2/BASE/ui/dev/src/boot/register.js +6 -0
  155. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/src/layouts/MyLayout.vue +1 -1
  156. package/templates/{app/quasar-v1/js/BASE → ui-kit/quasar-v2/BASE/ui/dev}/src/pages/Error404.vue +5 -3
  157. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/src/pages/Index.vue +4 -2
  158. package/templates/ui-kit/quasar-v2/BASE/ui/dev/src/router/index.js +48 -0
  159. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/src/router/pages.js +1 -1
  160. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/src/router/routes.js +7 -0
  161. package/templates/ui-kit/quasar-v2/BASE/ui/src/index.common.js +2 -0
  162. package/templates/ui-kit/quasar-v2/BASE/ui/src/index.esm.js +5 -0
  163. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/src/index.sass +4 -0
  164. package/templates/ui-kit/quasar-v2/BASE/ui/src/index.umd.js +3 -0
  165. package/templates/ui-kit/quasar-v2/BASE/ui/src/vue-plugin.js +16 -0
  166. package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/umd-test.html +11 -10
  167. package/templates/ui-kit/{quasar-v1 → quasar-v2}/ae/app-extension/_package.json +1 -1
  168. package/templates/ui-kit/quasar-v2/ae/app-extension/src/boot/register.js +6 -0
  169. package/templates/ui-kit/{quasar-v1 → quasar-v2}/ae/app-extension/src/index.js +19 -7
  170. package/templates/ui-kit/quasar-v2/ae/app-extension/src/templates/_.gitkeep +0 -0
  171. package/templates/ui-kit/quasar-v2/ae-install/app-extension/src/install.js +19 -0
  172. package/templates/ui-kit/{quasar-v1 → quasar-v2}/ae-prompts/app-extension/src/prompts.js +1 -1
  173. package/templates/ui-kit/{quasar-v1 → quasar-v2}/ae-uninstall/app-extension/src/uninstall.js +1 -1
  174. package/templates/ui-kit/quasar-v2/ui-component/ui/src/components/Component.js +13 -0
  175. package/templates/ui-kit/{quasar-v1 → quasar-v2}/ui-directive/ui/src/directives/Directive.js +1 -1
  176. package/utils/index.js +0 -12
  177. package/templates/app/quasar-v1/index.js +0 -19
  178. package/templates/app/quasar-v1/js/BASE/_.vscode/extensions.json +0 -12
  179. package/templates/app/quasar-v1/js/BASE/_.vscode/settings.json +0 -6
  180. package/templates/app/quasar-v1/js/BASE/_jsconfig.json +0 -36
  181. package/templates/app/quasar-v1/js/BASE/_package.json +0 -58
  182. package/templates/app/quasar-v1/js/BASE/babel.config.js +0 -7
  183. package/templates/app/quasar-v1/js/BASE/quasar.conf.js +0 -199
  184. package/templates/app/quasar-v1/js/BASE/src/components/EssentialLink.vue +0 -49
  185. package/templates/app/quasar-v1/js/BASE/src/layouts/MainLayout.vue +0 -109
  186. package/templates/app/quasar-v1/js/BASE/src/pages/Index.vue +0 -15
  187. package/templates/app/quasar-v1/js/BASE/src/router/index.js +0 -30
  188. package/templates/app/quasar-v1/js/axios/src/boot/axios.js +0 -4
  189. package/templates/app/quasar-v1/js/i18n/src/boot/i18n.js +0 -18
  190. package/templates/app/quasar-v1/js/index.js +0 -64
  191. package/templates/app/quasar-v1/js/lint/_.eslintignore +0 -7
  192. package/templates/app/quasar-v1/js/lint/_.eslintrc.js +0 -102
  193. package/templates/app/quasar-v1/js/styl/_.stylintrc +0 -35
  194. package/templates/app/quasar-v1/js/styl/src/css/app.styl +0 -1
  195. package/templates/app/quasar-v1/js/styl/src/css/quasar.variables.styl +0 -24
  196. package/templates/app/quasar-v1/js/vuex/src/store/index.js +0 -29
  197. package/templates/app/quasar-v1/js/vuex/src/store/module-example/actions.js +0 -2
  198. package/templates/app/quasar-v1/js/vuex/src/store/module-example/getters.js +0 -2
  199. package/templates/app/quasar-v1/js/vuex/src/store/module-example/index.js +0 -12
  200. package/templates/app/quasar-v1/js/vuex/src/store/module-example/mutations.js +0 -2
  201. package/templates/app/quasar-v1/js/vuex/src/store/module-example/state.js +0 -5
  202. package/templates/app/quasar-v1/ts/BASE/_.vscode/extensions.json +0 -12
  203. package/templates/app/quasar-v1/ts/BASE/_.vscode/settings.json +0 -7
  204. package/templates/app/quasar-v1/ts/BASE/_package.json +0 -63
  205. package/templates/app/quasar-v1/ts/BASE/_tsconfig.json +0 -8
  206. package/templates/app/quasar-v1/ts/BASE/babel.config.js +0 -7
  207. package/templates/app/quasar-v1/ts/BASE/quasar.conf.js +0 -204
  208. package/templates/app/quasar-v1/ts/BASE/src/App.vue +0 -20
  209. package/templates/app/quasar-v1/ts/BASE/src/components/EssentialLink.vue +0 -90
  210. package/templates/app/quasar-v1/ts/BASE/src/router/index.ts +0 -27
  211. package/templates/app/quasar-v1/ts/BASE/src/router/routes.ts +0 -20
  212. package/templates/app/quasar-v1/ts/BASE/src/shims-vue.d.ts +0 -5
  213. package/templates/app/quasar-v1/ts/axios/src/boot/axios.ts +0 -13
  214. package/templates/app/quasar-v1/ts/i18n/src/boot/i18n.ts +0 -23
  215. package/templates/app/quasar-v1/ts/index.js +0 -75
  216. package/templates/app/quasar-v1/ts/lint/_.eslintignore +0 -8
  217. package/templates/app/quasar-v1/ts/lint/_.eslintrc.js +0 -141
  218. package/templates/app/quasar-v1/ts/styl/_.stylintrc +0 -35
  219. package/templates/app/quasar-v1/ts/styl/src/css/app.styl +0 -1
  220. package/templates/app/quasar-v1/ts/styl/src/css/quasar.variables.styl +0 -24
  221. package/templates/app/quasar-v1/ts/vuex/src/store/index.ts +0 -33
  222. package/templates/app/quasar-v1/ts/vuex/src/store/module-example/actions.ts +0 -11
  223. package/templates/app/quasar-v1/ts/vuex/src/store/module-example/getters.ts +0 -11
  224. package/templates/app/quasar-v1/ts/vuex/src/store/module-example/index.ts +0 -16
  225. package/templates/app/quasar-v1/ts/vuex/src/store/module-example/mutations.ts +0 -10
  226. package/templates/app/quasar-v1/ts/vuex/src/store/module-example/state.ts +0 -11
  227. package/templates/ui-kit/quasar-v1/BASE/ui/build/entry/index.common.js +0 -3
  228. package/templates/ui-kit/quasar-v1/BASE/ui/build/entry/index.esm.js +0 -4
  229. package/templates/ui-kit/quasar-v1/BASE/ui/build/entry/index.umd.js +0 -6
  230. package/templates/ui-kit/quasar-v1/BASE/ui/build/script.app-ext.js +0 -60
  231. package/templates/ui-kit/quasar-v1/BASE/ui/dev/src/App.vue +0 -11
  232. package/templates/ui-kit/quasar-v1/BASE/ui/dev/src/boot/register.js +0 -4
  233. package/templates/ui-kit/quasar-v1/BASE/ui/dev/src/router/index.js +0 -43
  234. package/templates/ui-kit/quasar-v1/BASE/ui/src/index.js +0 -23
  235. package/templates/ui-kit/quasar-v1/ae/app-extension/src/boot/register.js +0 -4
  236. package/templates/ui-kit/quasar-v1/ae-install/app-extension/src/install.js +0 -9
  237. package/templates/ui-kit/quasar-v1/ui-component/ui/src/components/Component.js +0 -14
  238. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/BASE/public/favicon.ico +0 -0
  239. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/BASE/public/icons/favicon-128x128.png +0 -0
  240. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/BASE/public/icons/favicon-16x16.png +0 -0
  241. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/BASE/public/icons/favicon-32x32.png +0 -0
  242. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/BASE/public/icons/favicon-96x96.png +0 -0
  243. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/BASE/src/assets/quasar-logo-vertical.svg +0 -0
  244. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/BASE/src/boot/_.gitkeep +0 -0
  245. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/css/src/css/app.css +0 -0
  246. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/i18n/src/i18n/en-US/index.js +0 -0
  247. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/i18n/src/i18n/index.js +0 -0
  248. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/sass/src/css/app.sass +0 -0
  249. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/sass/src/css/quasar.variables.sass +0 -0
  250. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/scss/src/css/app.scss +0 -0
  251. /package/templates/app/{quasar-v1/js → quasar-v2/js-vite-2}/scss/src/css/quasar.variables.scss +0 -0
  252. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/BASE/public/favicon.ico +0 -0
  253. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/BASE/public/icons/favicon-128x128.png +0 -0
  254. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/BASE/public/icons/favicon-16x16.png +0 -0
  255. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/BASE/public/icons/favicon-32x32.png +0 -0
  256. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/BASE/public/icons/favicon-96x96.png +0 -0
  257. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/BASE/src/assets/quasar-logo-vertical.svg +0 -0
  258. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/BASE/src/boot/_.gitkeep +0 -0
  259. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/css/src/css/app.css +0 -0
  260. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/sass/src/css/app.sass +0 -0
  261. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/sass/src/css/quasar.variables.sass +0 -0
  262. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/scss/src/css/app.scss +0 -0
  263. /package/templates/app/{quasar-v1/ts → quasar-v2/js-webpack-4}/scss/src/css/quasar.variables.scss +0 -0
  264. /package/templates/{ui-kit/quasar-v1/BASE/ui/dev/src/assets → app/quasar-v2/ts-vite-2/BASE/src/boot}/_.gitkeep +0 -0
  265. /package/templates/app/{quasar-v1/ts → quasar-v2/ts-vite-2}/BASE/src/components/models.ts +0 -0
  266. /package/templates/app/{quasar-v1/ts → quasar-v2/ts-vite-2}/BASE/src/env.d.ts +0 -0
  267. /package/templates/app/{quasar-v1/ts → quasar-v2/ts-vite-2}/i18n/src/i18n/en-US/index.ts +0 -0
  268. /package/templates/app/{quasar-v1/ts → quasar-v2/ts-vite-2}/i18n/src/i18n/index.ts +0 -0
  269. /package/templates/app/{quasar-v1/js/BASE/_.postcssrc.js → quasar-v2/ts-webpack-4/BASE/postcss.config.cjs} +0 -0
  270. /package/templates/{ui-kit/quasar-v1/BASE/ui/dev/src/components → app/quasar-v2/ts-webpack-4/BASE/src/boot}/_.gitkeep +0 -0
  271. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/LICENSE +0 -0
  272. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/_.gitignore +0 -0
  273. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/_jsconfig.json +0 -0
  274. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/_.npmignore +0 -0
  275. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/build/config.js +0 -0
  276. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/build/index.js +0 -0
  277. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/build/script.css.js +0 -0
  278. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/build/script.open-umd.js +0 -0
  279. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/build/utils.js +0 -0
  280. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/README.md +0 -0
  281. /package/templates/{app/quasar-v1/js/BASE → ui-kit/quasar-v2/BASE/ui/dev}/_.editorconfig +0 -0
  282. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/_.gitignore +0 -0
  283. /package/templates/{app/quasar-v1/ts/BASE → ui-kit/quasar-v2/BASE/ui/dev}/_.postcssrc.js +0 -0
  284. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/babel.config.js +0 -0
  285. /package/templates/ui-kit/{quasar-v1/BASE/ui/src/mixins → quasar-v2/BASE/ui/dev/src/assets}/_.gitkeep +0 -0
  286. /package/templates/ui-kit/{quasar-v1/ae/app-extension/src/templates → quasar-v2/BASE/ui/dev/src/components}/_.gitkeep +0 -0
  287. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/src/css/app.sass +0 -0
  288. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/src/css/quasar.variables.sass +0 -0
  289. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/src/index.template.html +0 -0
  290. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/BASE/ui/dev/src/pages/Test1.vue +0 -0
  291. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/ae/app-extension/README.md +0 -0
  292. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/ae/app-extension/_.npmignore +0 -0
  293. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/index.js +0 -0
  294. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/ui-ae/ui/build/script.app-ext.js +0 -0
  295. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/ui-component/ui/src/components/Component.sass +0 -0
  296. /package/templates/ui-kit/{quasar-v1 → quasar-v2}/ui-directive/ui/src/directives/Directive.sass +0 -0
@@ -0,0 +1,241 @@
1
+ <template>
2
+ <q-layout view="lHh Lpr lFf">
3
+ <q-header elevated>
4
+ <q-toolbar>
5
+ <q-btn
6
+ flat
7
+ dense
8
+ round
9
+ icon="menu"
10
+ aria-label="Menu"
11
+ @click="toggleLeftDrawer"
12
+ />
13
+
14
+ <q-toolbar-title>
15
+ Quasar App
16
+ </q-toolbar-title>
17
+
18
+ <div>Quasar v{{ $q.version }}</div>
19
+ </q-toolbar>
20
+ </q-header>
21
+
22
+ <q-drawer
23
+ v-model="leftDrawerOpen"
24
+ show-if-above
25
+ bordered
26
+ >
27
+ <q-list>
28
+ <q-item-label
29
+ header
30
+ >
31
+ Essential Links
32
+ </q-item-label>
33
+
34
+ <EssentialLink
35
+ v-for="link in linksList"
36
+ :key="link.title"
37
+ v-bind="link"
38
+ />
39
+ </q-list>
40
+ </q-drawer>
41
+
42
+ <q-page-container>
43
+ <router-view />
44
+ </q-page-container>
45
+ </q-layout>
46
+ </template>
47
+ <% if (sfcStyle === 'composition-setup') { %>
48
+ <script setup lang="ts">
49
+ import { ref } from 'vue';
50
+ import EssentialLink, { type EssentialLinkProps } from 'components/EssentialLink.vue';
51
+
52
+ const linksList: EssentialLinkProps[] = [
53
+ {
54
+ title: 'Docs',
55
+ caption: 'quasar.dev',
56
+ icon: 'school',
57
+ link: 'https://quasar.dev'
58
+ },
59
+ {
60
+ title: 'Github',
61
+ caption: 'github.com/quasarframework',
62
+ icon: 'code',
63
+ link: 'https://github.com/quasarframework'
64
+ },
65
+ {
66
+ title: 'Discord Chat Channel',
67
+ caption: 'chat.quasar.dev',
68
+ icon: 'chat',
69
+ link: 'https://chat.quasar.dev'
70
+ },
71
+ {
72
+ title: 'Forum',
73
+ caption: 'forum.quasar.dev',
74
+ icon: 'record_voice_over',
75
+ link: 'https://forum.quasar.dev'
76
+ },
77
+ {
78
+ title: 'Twitter',
79
+ caption: '@quasarframework',
80
+ icon: 'rss_feed',
81
+ link: 'https://twitter.quasar.dev'
82
+ },
83
+ {
84
+ title: 'Facebook',
85
+ caption: '@QuasarFramework',
86
+ icon: 'public',
87
+ link: 'https://facebook.quasar.dev'
88
+ },
89
+ {
90
+ title: 'Quasar Awesome',
91
+ caption: 'Community Quasar projects',
92
+ icon: 'favorite',
93
+ link: 'https://awesome.quasar.dev'
94
+ }
95
+ ];
96
+
97
+ const leftDrawerOpen = ref(false);
98
+
99
+ function toggleLeftDrawer () {
100
+ leftDrawerOpen.value = !leftDrawerOpen.value;
101
+ }
102
+ </script><% } else if (sfcStyle === 'composition') { %>
103
+ <script lang="ts">
104
+ import { defineComponent, ref } from 'vue';
105
+ import EssentialLink, { type EssentialLinkProps } from 'components/EssentialLink.vue';
106
+
107
+ const linksList: EssentialLinkProps[] = [
108
+ {
109
+ title: 'Docs',
110
+ caption: 'quasar.dev',
111
+ icon: 'school',
112
+ link: 'https://quasar.dev'
113
+ },
114
+ {
115
+ title: 'Github',
116
+ caption: 'github.com/quasarframework',
117
+ icon: 'code',
118
+ link: 'https://github.com/quasarframework'
119
+ },
120
+ {
121
+ title: 'Discord Chat Channel',
122
+ caption: 'chat.quasar.dev',
123
+ icon: 'chat',
124
+ link: 'https://chat.quasar.dev'
125
+ },
126
+ {
127
+ title: 'Forum',
128
+ caption: 'forum.quasar.dev',
129
+ icon: 'record_voice_over',
130
+ link: 'https://forum.quasar.dev'
131
+ },
132
+ {
133
+ title: 'Twitter',
134
+ caption: '@quasarframework',
135
+ icon: 'rss_feed',
136
+ link: 'https://twitter.quasar.dev'
137
+ },
138
+ {
139
+ title: 'Facebook',
140
+ caption: '@QuasarFramework',
141
+ icon: 'public',
142
+ link: 'https://facebook.quasar.dev'
143
+ },
144
+ {
145
+ title: 'Quasar Awesome',
146
+ caption: 'Community Quasar projects',
147
+ icon: 'favorite',
148
+ link: 'https://awesome.quasar.dev'
149
+ }
150
+ ];
151
+
152
+ export default defineComponent({
153
+ name: 'MainLayout',
154
+
155
+ components: {
156
+ EssentialLink
157
+ },
158
+
159
+ setup () {
160
+ const leftDrawerOpen = ref(false);
161
+
162
+ return {
163
+ linksList,
164
+ leftDrawerOpen,
165
+ toggleLeftDrawer () {
166
+ leftDrawerOpen.value = !leftDrawerOpen.value;
167
+ }
168
+ };
169
+ }
170
+ });
171
+ </script><% } else if (sfcStyle === 'options') { %>
172
+ <script lang="ts">
173
+ import { defineComponent } from 'vue';
174
+ import EssentialLink, { type EssentialLinkProps } from 'components/EssentialLink.vue';
175
+
176
+ const linksList: EssentialLinkProps[] = [
177
+ {
178
+ title: 'Docs',
179
+ caption: 'quasar.dev',
180
+ icon: 'school',
181
+ link: 'https://quasar.dev'
182
+ },
183
+ {
184
+ title: 'Github',
185
+ caption: 'github.com/quasarframework',
186
+ icon: 'code',
187
+ link: 'https://github.com/quasarframework'
188
+ },
189
+ {
190
+ title: 'Discord Chat Channel',
191
+ caption: 'chat.quasar.dev',
192
+ icon: 'chat',
193
+ link: 'https://chat.quasar.dev'
194
+ },
195
+ {
196
+ title: 'Forum',
197
+ caption: 'forum.quasar.dev',
198
+ icon: 'record_voice_over',
199
+ link: 'https://forum.quasar.dev'
200
+ },
201
+ {
202
+ title: 'Twitter',
203
+ caption: '@quasarframework',
204
+ icon: 'rss_feed',
205
+ link: 'https://twitter.quasar.dev'
206
+ },
207
+ {
208
+ title: 'Facebook',
209
+ caption: '@QuasarFramework',
210
+ icon: 'public',
211
+ link: 'https://facebook.quasar.dev'
212
+ },
213
+ {
214
+ title: 'Quasar Awesome',
215
+ caption: 'Community Quasar projects',
216
+ icon: 'favorite',
217
+ link: 'https://awesome.quasar.dev'
218
+ }
219
+ ];
220
+
221
+ export default defineComponent({
222
+ name: 'MainLayout',
223
+
224
+ components: {
225
+ EssentialLink
226
+ },
227
+
228
+ data () {
229
+ return {
230
+ linksList,
231
+ leftDrawerOpen: false
232
+ }
233
+ },
234
+
235
+ methods: {
236
+ toggleLeftDrawer () {
237
+ this.leftDrawerOpen = !this.leftDrawerOpen;
238
+ }
239
+ }
240
+ });
241
+ </script><% } %>
@@ -21,24 +21,14 @@
21
21
  </div>
22
22
  </div>
23
23
  </template>
24
-
24
+ <% if (sfcStyle === 'composition-setup') { %>
25
+ <script setup lang="ts">
26
+ //
27
+ </script><% } else if (sfcStyle === 'composition' || sfcStyle === 'options') { %>
25
28
  <script lang="ts">
26
- <% if (sfcStyle === 'composition') { %>
27
29
  import { defineComponent } from 'vue';
28
30
 
29
31
  export default defineComponent({
30
- name: 'ErrorNotFound',
31
- });
32
- <% } else if (sfcStyle === 'class') { %>
33
- import { Vue, Component } from 'vue-property-decorator';
34
-
35
- @Component
36
- export default class ErrorNotFound extends Vue {}
37
- <% } else if (sfcStyle === 'options') { %>
38
- import Vue from 'vue';
39
-
40
- export default Vue.extend({
41
32
  name: 'ErrorNotFound'
42
33
  });
43
- <% } %>
44
- </script>
34
+ </script><% } %>
@@ -8,17 +8,52 @@
8
8
  ></example-component>
9
9
  </q-page>
10
10
  </template>
11
+ <% if (sfcStyle === 'composition-setup') { %>
12
+ <script setup lang="ts">
13
+ import { ref } from 'vue';
14
+ import type { Todo, Meta } from 'components/models';
15
+ import ExampleComponent from 'components/ExampleComponent.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
+ ]);
11
39
 
40
+ const meta = ref<Meta>({
41
+ totalCount: 1200
42
+ });
43
+ </script><% } else if (sfcStyle === 'composition') { %>
12
44
  <script lang="ts">
13
- import { Todo, Meta } from 'components/models';
14
- import ExampleComponent from 'components/ExampleComponent.vue';
15
- <% if (sfcStyle === 'composition') { %>
16
45
  import { defineComponent, ref } from 'vue';
46
+ import type { Todo, Meta } from 'components/models';
47
+ import ExampleComponent from 'components/ExampleComponent.vue';
17
48
 
18
49
  export default defineComponent({
19
- name: 'PageIndex',
20
- components: { ExampleComponent },
21
- setup() {
50
+ name: 'IndexPage',
51
+
52
+ components: {
53
+ ExampleComponent
54
+ },
55
+
56
+ setup () {
22
57
  const todos = ref<Todo[]>([
23
58
  {
24
59
  id: 1,
@@ -41,52 +76,28 @@ export default defineComponent({
41
76
  content: 'ct5'
42
77
  }
43
78
  ]);
79
+
44
80
  const meta = ref<Meta>({
45
81
  totalCount: 1200
46
82
  });
83
+
47
84
  return { todos, meta };
48
85
  }
49
86
  });
50
- <% } else if (sfcStyle === 'class') { %>
51
- import { Vue, Component } from 'vue-property-decorator';
87
+ </script><% } else if (sfcStyle === 'options') { %>
88
+ <script lang="ts">
89
+ import { defineComponent } from 'vue';
90
+ import type { Todo, Meta } from 'components/models';
91
+ import ExampleComponent from 'components/ExampleComponent.vue';
52
92
 
53
- @Component({
54
- components: { ExampleComponent }
55
- })
56
- export default class PageIndex extends Vue {
57
- todos: Todo[] = [
58
- {
59
- id: 1,
60
- content: 'ct1'
61
- },
62
- {
63
- id: 2,
64
- content: 'ct2'
65
- },
66
- {
67
- id: 3,
68
- content: 'ct3'
69
- },
70
- {
71
- id: 4,
72
- content: 'ct4'
73
- },
74
- {
75
- id: 5,
76
- content: 'ct5'
77
- }
78
- ];
79
- meta: Meta = {
80
- totalCount: 1200
81
- };
82
- };
83
- <% } else if (sfcStyle === 'options') { %>
84
- import Vue from 'vue';
93
+ export default defineComponent({
94
+ name: 'IndexPage',
95
+
96
+ components: {
97
+ ExampleComponent
98
+ },
85
99
 
86
- export default Vue.extend({
87
- name: 'PageIndex',
88
- components: { ExampleComponent },
89
- data() {
100
+ data () {
90
101
  const todos: Todo[] = [
91
102
  {
92
103
  id: 1,
@@ -109,11 +120,12 @@ export default Vue.extend({
109
120
  content: 'ct5'
110
121
  }
111
122
  ];
123
+
112
124
  const meta: Meta = {
113
125
  totalCount: 1200
114
126
  };
127
+
115
128
  return { todos, meta };
116
129
  }
117
130
  });
118
- <% } %>
119
- </script>
131
+ </script><% } %>
@@ -0,0 +1,35 @@
1
+ import { defineRouter } from '#q-app/wrappers';
2
+ import {
3
+ createMemoryHistory,
4
+ createRouter,
5
+ createWebHashHistory,
6
+ createWebHistory,
7
+ } from 'vue-router';
8
+ import routes from './routes';
9
+
10
+ /*
11
+ * If not building with SSR mode, you can
12
+ * directly export the Router instantiation;
13
+ *
14
+ * The function below can be async too; either use
15
+ * async/await or return a Promise which resolves
16
+ * with the Router instance.
17
+ */
18
+
19
+ export default defineRouter(function (/* { store, ssrContext } */) {
20
+ const createHistory = process.env.SERVER
21
+ ? createMemoryHistory
22
+ : (process.env.VUE_ROUTER_MODE === 'history' ? createWebHistory : createWebHashHistory);
23
+
24
+ const Router = createRouter({
25
+ scrollBehavior: () => ({ left: 0, top: 0 }),
26
+ routes,
27
+
28
+ // Leave this as is and make changes in quasar.conf.js instead!
29
+ // quasar.conf.js -> build -> vueRouterMode
30
+ // quasar.conf.js -> build -> publicPath
31
+ history: createHistory(process.env.VUE_ROUTER_BASE),
32
+ });
33
+
34
+ return Router;
35
+ });
@@ -0,0 +1,18 @@
1
+ import type { 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,31 @@
1
+ import { defineBoot } from '#q-app/wrappers';
2
+ import axios, { type AxiosInstance } from 'axios';
3
+
4
+ declare module 'vue' {
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 defineBoot(({ 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,99 @@
1
+ import js from '@eslint/js'
2
+ import globals from 'globals'
3
+ import pluginVue from 'eslint-plugin-vue'
4
+ import pluginQuasar from '@quasar/app-vite/eslint'
5
+ import vueTsEslintConfig from '@vue/eslint-config-typescript'<% if (prettier) { %>
6
+ import prettierSkipFormatting from '@vue/eslint-config-prettier/skip-formatting'<% } %>
7
+
8
+ export default [
9
+ {
10
+ /**
11
+ * Ignore the following files.
12
+ * Please note that pluginQuasar.configs.recommended() already ignores
13
+ * the "node_modules" folder for you (and all other Quasar project
14
+ * relevant folders and files).
15
+ *
16
+ * ESLint requires "ignores" key to be the only one in this object
17
+ */
18
+ // ignores: []
19
+ },
20
+
21
+ ...pluginQuasar.configs.recommended(),
22
+ js.configs.recommended,
23
+
24
+ /**
25
+ * https://eslint.vuejs.org
26
+ *
27
+ * pluginVue.configs.base
28
+ * -> Settings and rules to enable correct ESLint parsing.
29
+ * pluginVue.configs[ 'flat/essential']
30
+ * -> base, plus rules to prevent errors or unintended behavior.
31
+ * pluginVue.configs["flat/strongly-recommended"]
32
+ * -> Above, plus rules to considerably improve code readability and/or dev experience.
33
+ * pluginVue.configs["flat/recommended"]
34
+ * -> Above, plus rules to enforce subjective community defaults to ensure consistency.
35
+ */
36
+ ...pluginVue.configs[ 'flat/essential' ],
37
+
38
+ {
39
+ files: ['**/*.ts', '**/*.vue'],
40
+ rules: {
41
+ '@typescript-eslint/consistent-type-imports': [
42
+ 'error',
43
+ { prefer: 'type-imports' }
44
+ ],
45
+ }
46
+ },
47
+ // https://github.com/vuejs/eslint-config-typescript
48
+ ...vueTsEslintConfig({
49
+ // Optional: extend additional configurations from typescript-eslint'.
50
+ // Supports all the configurations in
51
+ // https://typescript-eslint.io/users/configs#recommended-configurations
52
+ extends: [
53
+ // By default, only the 'recommendedTypeChecked' rules are enabled.
54
+ 'recommendedTypeChecked'
55
+ // You can also manually enable the stylistic rules.
56
+ // "stylistic",
57
+
58
+ // Other utility configurations, such as 'eslintRecommended', (note that it's in camelCase)
59
+ // are also extendable here. But we don't recommend using them directly.
60
+ ]
61
+ }),
62
+
63
+ {
64
+ languageOptions: {
65
+ ecmaVersion: 'latest',
66
+ sourceType: 'module',
67
+
68
+ globals: {
69
+ ...globals.browser,
70
+ ...globals.node, // SSR, Electron, config files
71
+ process: 'readonly', // process.env.*
72
+ ga: 'readonly', // Google Analytics
73
+ cordova: 'readonly',
74
+ Capacitor: 'readonly',
75
+ chrome: 'readonly', // BEX related
76
+ browser: 'readonly' // BEX related
77
+ }
78
+ },
79
+
80
+ // add your custom rules here
81
+ rules: {
82
+ 'prefer-promise-reject-errors': 'off',
83
+
84
+ // allow debugger during development only
85
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
86
+ }
87
+ },
88
+
89
+ {
90
+ files: [ 'src-pwa/custom-service-worker.ts' ],
91
+ languageOptions: {
92
+ globals: {
93
+ ...globals.serviceworker
94
+ }
95
+ }
96
+ }<% if (prettier) { %>,
97
+
98
+ prettierSkipFormatting<% } %>
99
+ ]
@@ -0,0 +1,33 @@
1
+ import { defineBoot } from '#q-app/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-object-type */
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-object-type */
23
+
24
+ export default defineBoot(({ app }) => {
25
+ const i18n = createI18n<{ message: MessageSchema }, MessageLanguages>({
26
+ locale: 'en-US',<% if (sfcStyle === 'composition' || sfcStyle === 'composition-setup') { %>
27
+ legacy: false,<% } %>
28
+ messages,
29
+ });
30
+
31
+ // Set i18n instance on app
32
+ app.use(i18n);
33
+ });
@@ -0,0 +1,36 @@
1
+ export async function script ({ scope, utils }) {
2
+ await utils.prompts(scope, [
3
+ {
4
+ type: 'multiselect',
5
+ name: 'preset',
6
+ message: 'Check the features needed for your project:',
7
+ choices: [
8
+ { title: 'Linting (vite-plugin-checker + ESLint + vue-tsc)', value: 'eslint', description: 'recommended', selected: true },
9
+ { title: 'State Management (Pinia)', value: 'pinia', description: 'https://pinia.vuejs.org' },
10
+ { title: 'axios', value: 'axios' },
11
+ { title: 'vue-i18n', value: 'i18n' }
12
+ ],
13
+ format: utils.convertArrayToObject
14
+ },
15
+ {
16
+ type: (_, { preset }) => (preset.eslint ? 'confirm' : null),
17
+ name: 'prettier',
18
+ initial: true,
19
+ message: 'Add Prettier for code formatting?'
20
+ }
21
+ ])
22
+
23
+ // ensure it's defined since if not selecting ESLint,
24
+ // user won't be asked about it hence it won't be defined
25
+ scope.prettier = scope.prettier || false
26
+
27
+ utils.createTargetDir(scope)
28
+ utils.renderTemplate('BASE', scope)
29
+ utils.renderTemplate(scope.css, scope)
30
+
31
+ if (scope.preset.axios) utils.renderTemplate('axios', scope)
32
+ if (scope.preset.i18n) utils.renderTemplate('i18n', scope)
33
+ if (scope.preset.eslint) utils.renderTemplate('eslint', scope)
34
+ if (scope.prettier) utils.renderTemplate('prettier', scope)
35
+ if (scope.preset.pinia) utils.renderTemplate('pinia', scope)
36
+ }
@@ -0,0 +1,21 @@
1
+ import { defineStore, acceptHMRUpdate } from 'pinia';
2
+
3
+ export const useCounterStore = defineStore('counter', {
4
+ state: () => ({
5
+ counter: 0,
6
+ }),
7
+
8
+ getters: {
9
+ doubleCount: (state) => state.counter * 2,
10
+ },
11
+
12
+ actions: {
13
+ increment() {
14
+ this.counter++;
15
+ },
16
+ },
17
+ });
18
+
19
+ if (import.meta.hot) {
20
+ import.meta.hot.accept(acceptHMRUpdate(useCounterStore, import.meta.hot));
21
+ }