create-quasar 1.9.2 → 1.10.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/.eslintignore +1 -0
- package/index.js +1 -1
- package/package.json +1 -1
- package/templates/.eslintrc.cjs +17 -1
- package/templates/app/quasar-v2/index.js +2 -2
- package/templates/app/quasar-v2/js-vite-1/BASE/_package.json +1 -1
- package/templates/app/quasar-v2/js-vite-2/BASE/_jsconfig.json +1 -37
- package/templates/app/quasar-v2/js-vite-2/BASE/_package.json +4 -3
- package/templates/app/quasar-v2/js-vite-2/BASE/quasar.config.js +3 -6
- package/templates/app/quasar-v2/js-vite-2/BASE/src/App.vue +1 -3
- package/templates/app/quasar-v2/js-vite-2/BASE/src/components/EssentialLink.vue +0 -4
- package/templates/app/quasar-v2/js-vite-2/BASE/src/layouts/MainLayout.vue +0 -4
- package/templates/app/quasar-v2/js-vite-2/BASE/src/pages/ErrorNotFound.vue +1 -3
- package/templates/app/quasar-v2/js-vite-2/BASE/src/pages/IndexPage.vue +1 -3
- package/templates/app/quasar-v2/js-vite-2/BASE/src/router/index.js +2 -2
- package/templates/app/quasar-v2/js-vite-2/axios/src/boot/axios.js +2 -2
- package/templates/app/quasar-v2/js-vite-2/i18n/src/boot/i18n.js +2 -2
- package/templates/app/quasar-v2/js-vite-2/pinia/src/stores/index.js +2 -2
- package/templates/app/quasar-v2/js-webpack-4/BASE/_jsconfig.json +1 -37
- package/templates/app/quasar-v2/js-webpack-4/BASE/_package.json +3 -2
- package/templates/app/quasar-v2/js-webpack-4/BASE/quasar.config.js +2 -2
- package/templates/app/quasar-v2/js-webpack-4/BASE/src/App.vue +1 -3
- package/templates/app/quasar-v2/js-webpack-4/BASE/src/components/EssentialLink.vue +0 -4
- package/templates/app/quasar-v2/js-webpack-4/BASE/src/layouts/MainLayout.vue +0 -4
- package/templates/app/quasar-v2/js-webpack-4/BASE/src/pages/ErrorNotFound.vue +1 -3
- package/templates/app/quasar-v2/js-webpack-4/BASE/src/pages/IndexPage.vue +1 -3
- package/templates/app/quasar-v2/js-webpack-4/BASE/src/router/index.js +2 -2
- package/templates/app/quasar-v2/js-webpack-4/axios/src/boot/axios.js +2 -2
- package/templates/app/quasar-v2/js-webpack-4/i18n/src/boot/i18n.js +2 -2
- package/templates/app/quasar-v2/js-webpack-4/pinia/src/stores/index.js +2 -2
- package/templates/app/quasar-v2/ts-vite-1/BASE/_package.json +2 -2
- package/templates/app/quasar-v2/ts-vite-2/BASE/_package.json +5 -4
- package/templates/app/quasar-v2/ts-vite-2/BASE/_tsconfig.json +1 -12
- package/templates/app/quasar-v2/ts-vite-2/BASE/quasar.config.ts +10 -9
- package/templates/app/quasar-v2/ts-vite-2/BASE/src/App.vue +1 -3
- package/templates/app/quasar-v2/ts-vite-2/BASE/src/components/EssentialLink.vue +0 -4
- package/templates/app/quasar-v2/ts-vite-2/BASE/src/components/ExampleComponent.vue +6 -6
- package/templates/app/quasar-v2/ts-vite-2/BASE/src/layouts/MainLayout.vue +3 -7
- package/templates/app/quasar-v2/ts-vite-2/BASE/src/pages/ErrorNotFound.vue +1 -3
- package/templates/app/quasar-v2/ts-vite-2/BASE/src/pages/IndexPage.vue +3 -7
- package/templates/app/quasar-v2/ts-vite-2/BASE/src/router/index.ts +2 -2
- package/templates/app/quasar-v2/ts-vite-2/BASE/src/router/routes.ts +1 -1
- package/templates/app/quasar-v2/ts-vite-2/axios/src/boot/axios.ts +3 -3
- package/templates/app/quasar-v2/ts-vite-2/i18n/src/boot/i18n.ts +2 -2
- package/templates/app/quasar-v2/ts-vite-2/lint/_.eslintrc.cjs +1 -1
- package/templates/app/quasar-v2/ts-vite-2/pinia/src/stores/index.ts +3 -3
- package/templates/app/quasar-v2/ts-webpack-4/BASE/_package.json +3 -2
- package/templates/app/quasar-v2/ts-webpack-4/BASE/_tsconfig.json +1 -12
- package/templates/app/quasar-v2/ts-webpack-4/BASE/quasar.config.ts +8 -2
- package/templates/app/quasar-v2/ts-webpack-4/BASE/src/App.vue +1 -3
- package/templates/app/quasar-v2/ts-webpack-4/BASE/src/components/EssentialLink.vue +0 -4
- package/templates/app/quasar-v2/ts-webpack-4/BASE/src/components/ExampleComponent.vue +6 -6
- package/templates/app/quasar-v2/ts-webpack-4/BASE/src/layouts/MainLayout.vue +3 -7
- package/templates/app/quasar-v2/ts-webpack-4/BASE/src/pages/ErrorNotFound.vue +1 -3
- package/templates/app/quasar-v2/ts-webpack-4/BASE/src/pages/IndexPage.vue +3 -7
- package/templates/app/quasar-v2/ts-webpack-4/BASE/src/router/index.ts +2 -2
- package/templates/app/quasar-v2/ts-webpack-4/BASE/src/router/routes.ts +1 -1
- package/templates/app/quasar-v2/ts-webpack-4/axios/src/boot/axios.ts +3 -3
- package/templates/app/quasar-v2/ts-webpack-4/i18n/src/boot/i18n.ts +2 -2
- package/templates/app/quasar-v2/ts-webpack-4/lint/_.eslintrc.cjs +1 -1
- package/templates/app/quasar-v2/ts-webpack-4/pinia/src/stores/index.ts +3 -3
- package/templates/app-extension/ae-ts/.eslintrc.cjs +21 -0
- package/templates/app-extension/ae-ts/BASE/README.md +35 -0
- package/templates/app-extension/ae-ts/BASE/_.gitignore +8 -0
- package/templates/app-extension/ae-ts/BASE/_.vscode/extensions.json +9 -0
- package/templates/app-extension/ae-ts/BASE/_.vscode/settings.json +12 -0
- package/templates/app-extension/ae-ts/BASE/_eslint.config.js +107 -0
- package/templates/app-extension/ae-ts/BASE/_package.json +39 -0
- package/templates/app-extension/ae-ts/BASE/_tsconfig.json +30 -0
- package/templates/app-extension/ae-ts/BASE/app-extension/README.md +52 -0
- package/templates/app-extension/ae-ts/BASE/app-extension/_.npmignore +5 -0
- package/templates/app-extension/ae-ts/BASE/app-extension/_package.json +57 -0
- package/templates/app-extension/ae-ts/BASE/app-extension/_tsconfig.json +10 -0
- package/templates/app-extension/ae-ts/BASE/app-extension/src/index.ts +36 -0
- package/templates/app-extension/ae-ts/BASE/app-extension/src/quasar.d.ts +24 -0
- package/templates/app-extension/ae-ts/BASE/app-extension/src/runtime/README.md +46 -0
- package/templates/app-extension/ae-ts/BASE/app-extension/src/runtime/boot/register.ts +6 -0
- package/templates/app-extension/ae-ts/BASE/app-extension/src/runtime/components/MyButton.vue +37 -0
- package/templates/app-extension/ae-ts/BASE/app-extension/src/runtime/components/types.ts +19 -0
- package/templates/app-extension/ae-ts/BASE/app-extension/src/runtime/index.ts +9 -0
- package/templates/{app/quasar-v2/ts-vite-2/BASE/src → app-extension/ae-ts/BASE/app-extension/src/runtime}/quasar.d.ts +0 -2
- package/templates/app-extension/ae-ts/BASE/eslint.d.ts +18 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/README.md +67 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/_.gitignore +37 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/_package.json +29 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/_tsconfig.json +9 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/index.html +44 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/postcss.config.cjs +27 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/public/favicon.ico +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/public/icons/favicon-128x128.png +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/public/icons/favicon-16x16.png +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/public/icons/favicon-32x32.png +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/public/icons/favicon-96x96.png +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/quasar.config.ts +196 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/quasar.extensions.json +3 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/App.vue +3 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/assets/quasar-logo-vertical.svg +15 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/boot/_.gitkeep +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/components/EssentialLink.vue +26 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/css/app.scss +1 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/css/quasar.variables.scss +25 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/env.d.ts +7 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/layouts/MainLayout.vue +94 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/pages/ErrorNotFound.vue +21 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/pages/IndexPage.vue +5 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/quasar.d.ts +10 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/router/index.ts +38 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/router/routes.ts +18 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-vite/src/shims-vue.d.ts +10 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/README.md +67 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/_.gitignore +32 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/_package.json +40 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/_tsconfig.json +9 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/babel.config.cjs +14 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/index.html +44 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/postcss.config.cjs +8 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/public/favicon.ico +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/public/icons/favicon-128x128.png +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/public/icons/favicon-16x16.png +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/public/icons/favicon-32x32.png +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/public/icons/favicon-96x96.png +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/quasar.config.ts +207 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/quasar.extensions.json +3 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/App.vue +3 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/assets/quasar-logo-vertical.svg +15 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/boot/_.gitkeep +0 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/components/EssentialLink.vue +26 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/css/app.scss +1 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/css/quasar.variables.scss +25 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/env.d.ts +7 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/layouts/MainLayout.vue +92 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/pages/ErrorNotFound.vue +21 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/pages/IndexPage.vue +5 -0
- package/templates/{app/quasar-v2/ts-webpack-4/BASE → app-extension/ae-ts/BASE/playground/quasar-cli-webpack}/src/quasar.d.ts +3 -2
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/router/index.ts +37 -0
- package/templates/app-extension/ae-ts/BASE/playground/quasar-cli-webpack/src/router/routes.ts +18 -0
- package/templates/app-extension/ae-ts/index.js +98 -0
- package/templates/app-extension/ae-ts/install-script/app-extension/src/install.ts +25 -0
- package/templates/app-extension/ae-ts/install-script/app-extension/src/templates/README.md +27 -0
- package/templates/app-extension/ae-ts/install-script/app-extension/src/templates/_.gitkeep +0 -0
- package/templates/app-extension/ae-ts/install-script/app-extension/src/templates/base/_.gitkeep +0 -0
- package/templates/app-extension/ae-ts/pnpm/_pnpm-workspace.yaml +3 -0
- package/templates/app-extension/ae-ts/prompts-script/app-extension/src/prompts.ts +46 -0
- package/templates/app-extension/ae-ts/uninstall-script/app-extension/src/uninstall.ts +11 -0
- package/templates/app-extension/index.js +12 -1
- package/templates/ui-kit/quasar-v2/ae/app-extension/src/index.js +2 -2
- package/templates/ui-kit/quasar-v2/ae-install/app-extension/src/install.js +2 -2
- package/utils/index.js +14 -7
- package/templates/app/quasar-v2/ts-vite-2/lint/_tsconfig.vue-tsc.json +0 -6
- package/templates/app/quasar-v2/ts-vite-2/pinia/src/stores/store-flag.d.ts +0 -13
- package/templates/app/quasar-v2/ts-webpack-4/pinia/src/stores/store-flag.d.ts +0 -13
- /package/templates/app-extension/{ae-v1 → ae-js}/.eslintrc.cjs +0 -0
- /package/templates/app-extension/{ae-v1 → ae-js}/BASE/README.md +0 -0
- /package/templates/app-extension/{ae-v1 → ae-js}/BASE/_.gitignore +0 -0
- /package/templates/app-extension/{ae-v1 → ae-js}/BASE/_package.json +0 -0
- /package/templates/app-extension/{ae-v1 → ae-js}/BASE/src/index.js +0 -0
- /package/templates/app-extension/{ae-v1 → ae-js}/BASE/src/templates/_.gitkeep +0 -0
- /package/templates/app-extension/{ae-v1 → ae-js}/index.js +0 -0
- /package/templates/app-extension/{ae-v1 → ae-js}/install-script/src/install.js +0 -0
- /package/templates/app-extension/{ae-v1 → ae-js}/prompts-script/src/prompts.js +0 -0
- /package/templates/app-extension/{ae-v1 → ae-js}/uninstall-script/src/uninstall.js +0 -0
- /package/templates/{app/quasar-v2/ts-vite-2/BASE/src → app-extension/ae-ts/BASE/app-extension/src/runtime}/shims-vue.d.ts +0 -0
- /package/templates/{app/quasar-v2/ts-webpack-4/BASE → app-extension/ae-ts/BASE/playground/quasar-cli-webpack}/src/shims-vue.d.ts +0 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import eslint from '@eslint/js';
|
|
2
|
+
import tseslint from 'typescript-eslint';
|
|
3
|
+
import pluginVue from 'eslint-plugin-vue';
|
|
4
|
+
import configPrettier from 'eslint-config-prettier';
|
|
5
|
+
import globals from 'globals';
|
|
6
|
+
import { version as vueVersion } from 'vue';
|
|
7
|
+
|
|
8
|
+
export default tseslint.config(
|
|
9
|
+
{
|
|
10
|
+
name: 'eslint/recommended',
|
|
11
|
+
...eslint.configs.recommended,
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
// Recommended rules
|
|
15
|
+
...tseslint.configs.recommendedTypeChecked,
|
|
16
|
+
// Strict rules (recommended if have good TS knowledge)
|
|
17
|
+
// ...tseslint.configs.strictTypeChecked, // disable recommended above if you enable this
|
|
18
|
+
...tseslint.configs.stylisticTypeChecked,
|
|
19
|
+
|
|
20
|
+
...pluginVue.configs['flat/recommended'],
|
|
21
|
+
|
|
22
|
+
{
|
|
23
|
+
name: 'eslint-config-prettier',
|
|
24
|
+
...configPrettier,
|
|
25
|
+
},
|
|
26
|
+
|
|
27
|
+
{
|
|
28
|
+
name: 'ignored',
|
|
29
|
+
|
|
30
|
+
ignores: [
|
|
31
|
+
"**/dist",
|
|
32
|
+
|
|
33
|
+
"playground/*/.quasar",
|
|
34
|
+
"playground/*/quasar.config.*.temporary.compiled*",
|
|
35
|
+
"playground/*/src-cordova",
|
|
36
|
+
"playground/*/src-capacitor",
|
|
37
|
+
"playground/*/src-ssr",
|
|
38
|
+
"playground/*/postcss.config.cjs",
|
|
39
|
+
|
|
40
|
+
"playground/quasar-cli-webpack/src-bex/www",
|
|
41
|
+
"playground/quasar-cli-webpack/babel.config.cjs",
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
{
|
|
46
|
+
name: 'general',
|
|
47
|
+
|
|
48
|
+
languageOptions: {
|
|
49
|
+
parserOptions: {
|
|
50
|
+
parser: tseslint.parser,
|
|
51
|
+
extraFileExtensions: ['.vue'],
|
|
52
|
+
projectService: true,
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
globals: {
|
|
56
|
+
...globals.browser,
|
|
57
|
+
...globals.node,
|
|
58
|
+
...globals.es2021,
|
|
59
|
+
|
|
60
|
+
chrome: 'readonly',
|
|
61
|
+
cordova: 'readonly',
|
|
62
|
+
Capacitor: 'readonly',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
rules: {
|
|
67
|
+
'@typescript-eslint/no-misused-promises': [
|
|
68
|
+
'error',
|
|
69
|
+
{ checksVoidReturn: false },
|
|
70
|
+
],
|
|
71
|
+
'@typescript-eslint/no-unused-vars': [
|
|
72
|
+
'error',
|
|
73
|
+
{ argsIgnorePattern: '^_' },
|
|
74
|
+
],
|
|
75
|
+
|
|
76
|
+
'vue/no-unsupported-features': [
|
|
77
|
+
'error',
|
|
78
|
+
{
|
|
79
|
+
version: vueVersion,
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
'vue/padding-line-between-blocks': 'warn',
|
|
83
|
+
'vue/no-empty-component-block': 'warn',
|
|
84
|
+
'vue/eqeqeq': 'error',
|
|
85
|
+
'vue/custom-event-name-casing': 'warn',
|
|
86
|
+
'vue/no-unused-properties': ['warn', { groups: ['props', 'setup'] }],
|
|
87
|
+
'vue/v-for-delimiter-style': 'warn',
|
|
88
|
+
'vue/require-macro-variable-name': 'warn',
|
|
89
|
+
'vue/prefer-separate-static-class': 'warn',
|
|
90
|
+
|
|
91
|
+
curly: 'error',
|
|
92
|
+
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off',
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
|
|
96
|
+
{
|
|
97
|
+
// Layout/page components are not used as components in templates, so they don't need to be multi-word
|
|
98
|
+
name: 'playground/vue-layout-and-page',
|
|
99
|
+
files: [
|
|
100
|
+
'playground/*/src/layouts/**/*.vue',
|
|
101
|
+
'playground/*/src/pages/**/*.vue',
|
|
102
|
+
],
|
|
103
|
+
rules: {
|
|
104
|
+
'vue/multi-word-component-names': 'off',
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
);
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "quasar-app-extension-<%= name %>-monorepo",
|
|
3
|
+
"private": true,
|
|
4
|
+
<% if (packageManagerField) { %>"packageManager": "<%= packageManagerField %>",<% } %>
|
|
5
|
+
"author": "<%= author %>",
|
|
6
|
+
"type": "module",
|
|
7
|
+
<% if (packageManager?.name !== 'pnpm') { %>"workspaces": [
|
|
8
|
+
"app-extension",
|
|
9
|
+
"playground/*"
|
|
10
|
+
],<% } %>
|
|
11
|
+
"scripts": {
|
|
12
|
+
<% if (packageManager) { %>
|
|
13
|
+
"build": <% if (['pnpm', 'bun'].includes(packageManager.name)) { %>"<%= packageManager.name %> --filter ./app-extension build"<% } else if (packageManager.name === 'yarn') { %>"yarn workspace <%= pkgName %> build"<% } else { %>"npm run --workspace <%= pkgName %> build"<% } %>,
|
|
14
|
+
"dev:vite": <% if (['pnpm', 'bun'].includes(packageManager.name)) { %>"<%= packageManager.name %> --filter ./playground/quasar-cli-vite dev"<% } else if (packageManager.name === 'yarn') { %>"yarn workspace playground-quasar-cli-vite dev"<% } else { %>"npm run --workspace playground-quasar-cli-vite dev"<% } %>,
|
|
15
|
+
"dev:webpack": <% if (['pnpm', 'bun'].includes(packageManager.name)) { %>"<%= packageManager.name %> --filter ./playground/quasar-cli-webpack dev"<% } else if (packageManager.name === 'yarn') { %>"yarn workspace playground-quasar-cli-webpack dev"<% } else { %>"npm run --workspace playground-quasar-cli-webpack dev"<% } %>,
|
|
16
|
+
"format": <% if (packageManager.name === 'pnpm') { %>"pnpm format:root && pnpm --recursive format"<% } else if (packageManager.name === 'bun') { %>"bun format:root && bun --filter '*' format"<% } else if (packageManager.name === 'yarn') { %>"yarn format:root && yarn workspace <%= pkgName %> format"<% } else { %>"npm run format:root && npm run --workspaces format"<% } %>,
|
|
17
|
+
<% } else { %>
|
|
18
|
+
"build": "pnpm --filter ./app-extension build",
|
|
19
|
+
"dev:vite": "pnpm --filter ./playground/quasar-cli-vite dev",
|
|
20
|
+
"dev:webpack": "pnpm --filter ./playground/quasar-cli-webpack dev",
|
|
21
|
+
"format": "pnpm format:root && pnpm --recursive format",
|
|
22
|
+
<% } %>
|
|
23
|
+
"lint": "eslint",
|
|
24
|
+
"format:root": "prettier --write \"./*.{json,md,vue,js,ts,yml}\" \"./.vscode/*.json\" --ignore-path .gitignore"
|
|
25
|
+
},
|
|
26
|
+
"devDependencies": {
|
|
27
|
+
"@eslint/js": "^9.8.0",
|
|
28
|
+
"@types/eslint": "^9.6.0",
|
|
29
|
+
"@types/eslint__js": "^8.42.3",
|
|
30
|
+
"@types/node": "^20.12.8",
|
|
31
|
+
"eslint": "^9.8.0",
|
|
32
|
+
"eslint-config-prettier": "^9.1.0",
|
|
33
|
+
"eslint-plugin-vue": "^9.27.0",
|
|
34
|
+
"globals": "^15.9.0",
|
|
35
|
+
"prettier": "^3.3.3",
|
|
36
|
+
"typescript": "^5.5.4",
|
|
37
|
+
"typescript-eslint": "^8.0.1"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"lib": ["es2022"],
|
|
4
|
+
"module": "node16",
|
|
5
|
+
"target": "es2022",
|
|
6
|
+
"moduleResolution": "node16",
|
|
7
|
+
|
|
8
|
+
"noEmit": true,
|
|
9
|
+
"resolveJsonModule": true,
|
|
10
|
+
|
|
11
|
+
"strict": true,
|
|
12
|
+
"allowUnusedLabels": false,
|
|
13
|
+
"allowUnreachableCode": false,
|
|
14
|
+
"noFallthroughCasesInSwitch": true,
|
|
15
|
+
"noImplicitOverride": true,
|
|
16
|
+
"noImplicitReturns": true,
|
|
17
|
+
"noPropertyAccessFromIndexSignature": true,
|
|
18
|
+
"noUncheckedIndexedAccess": true,
|
|
19
|
+
"noUnusedLocals": true,
|
|
20
|
+
"noUnusedParameters": true,
|
|
21
|
+
|
|
22
|
+
"isolatedModules": true,
|
|
23
|
+
|
|
24
|
+
"checkJs": true,
|
|
25
|
+
|
|
26
|
+
"esModuleInterop": true,
|
|
27
|
+
"skipLibCheck": false,
|
|
28
|
+
"forceConsistentCasingInFileNames": true
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Quasar App Extension <%= name %> (<%= pkgName %>)
|
|
2
|
+
|
|
3
|
+
> TODO: Add a short description of your App Extension. What does it do? How is it beneficial? Why would someone want to use it?
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/<%= pkgName %>)
|
|
6
|
+
[](https://www.npmjs.com/package/<%= pkgName %>)
|
|
7
|
+
|
|
8
|
+
# Install
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
quasar ext add <%= name %>
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Quasar CLI will retrieve it from NPM and install the extension.
|
|
15
|
+
|
|
16
|
+
## Global component typings
|
|
17
|
+
|
|
18
|
+
Add this to `src/quasar.d.ts` to load the global component typings:
|
|
19
|
+
```ts
|
|
20
|
+
// Load global component typings
|
|
21
|
+
/// <reference types="<%= pkgName %>" />
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Prompts
|
|
25
|
+
|
|
26
|
+
> TODO: If your app extension uses prompts, explain them here, otherwise remove this section and remove prompts.ts file.
|
|
27
|
+
|
|
28
|
+
# Uninstall
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
quasar ext remove <%= name %>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
# Info
|
|
35
|
+
|
|
36
|
+
> TODO: Add longer information here that will help the user of your app extension.
|
|
37
|
+
|
|
38
|
+
# Other Info
|
|
39
|
+
|
|
40
|
+
> TODO: Add other information that's not as important to know
|
|
41
|
+
|
|
42
|
+
# Development
|
|
43
|
+
|
|
44
|
+
See [the root README](../README.md) for more information.
|
|
45
|
+
|
|
46
|
+
# Donate
|
|
47
|
+
|
|
48
|
+
If you appreciate the work that went into this App Extension, please consider [donating to Quasar](https://donate.quasar.dev).
|
|
49
|
+
|
|
50
|
+
# License
|
|
51
|
+
|
|
52
|
+
<%= license %> (c) <%= author %>
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "<%= pkgName %>",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "<%= description %>",
|
|
5
|
+
"author": "<%= author %>",
|
|
6
|
+
"license": "<%= license %>",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "<%= repositoryType %>",
|
|
10
|
+
"url": "<%= repositoryURL %>"
|
|
11
|
+
},
|
|
12
|
+
"bugs": "<%= bugs %>",
|
|
13
|
+
"homepage": "<%= homepage %>",
|
|
14
|
+
"main": "./dist/runtime/index.js",
|
|
15
|
+
"module": "./dist/runtime/index.js",
|
|
16
|
+
"types": "./dist/runtime/index.d.ts",
|
|
17
|
+
"exports": {
|
|
18
|
+
".": {
|
|
19
|
+
"types": "./dist/runtime/index.d.ts",
|
|
20
|
+
"import": "./dist/runtime/index.js"
|
|
21
|
+
},
|
|
22
|
+
"./package.json": "./package.json",
|
|
23
|
+
<% if (preset.prompts) { %>"./dist/prompts": "./dist/prompts.js",<% } %>
|
|
24
|
+
<% if (preset.install) { %>"./dist/install": "./dist/install.js",<% } %>
|
|
25
|
+
<% if (preset.uninstall) { %>"./dist/uninstall": "./dist/uninstall.js",<% } %>
|
|
26
|
+
"./dist/index": "./dist/index.js",
|
|
27
|
+
"./*": "./dist/runtime/*"
|
|
28
|
+
},
|
|
29
|
+
"scripts": {
|
|
30
|
+
"format": "prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore",
|
|
31
|
+
<% if (preset.install) { %>"build:code": "mkdist ./ --ext=js --declaration --pattern='**' --pattern='!shims-vue.d.ts' --pattern='!templates/**'",
|
|
32
|
+
"build:templates": "mkdist ./ --src ./src/templates --dist ./dist/templates --loaders='raw'",
|
|
33
|
+
"build": "<%= packageManager?.name ?? 'pnpm' %> run build:code && <%= packageManager?.name ?? 'pnpm' %> run build:templates"<% } else { %>"build": "mkdist ./ --ext=js --declaration --pattern='**' --pattern='!shims-vue.d.ts'"<% } %>
|
|
34
|
+
},
|
|
35
|
+
"devDependencies": {
|
|
36
|
+
"@quasar/app-vite": "^2.0.0-rc.1",
|
|
37
|
+
"@quasar/app-webpack": "^4.0.0-rc.1",
|
|
38
|
+
"mkdist": "^1.5.4",
|
|
39
|
+
"quasar": "^2.16.7",
|
|
40
|
+
"vue": "^3.4.36",
|
|
41
|
+
"vue-tsc": "^2.0.29"
|
|
42
|
+
},
|
|
43
|
+
"peerDependencies": {
|
|
44
|
+
"@quasar/app-vite": "^2.0.0-rc.1",
|
|
45
|
+
"@quasar/app-webpack": "^4.0.0-rc.2",
|
|
46
|
+
"quasar": "^2.16.0",
|
|
47
|
+
"vue": "^3.4.0"
|
|
48
|
+
},
|
|
49
|
+
"peerDependenciesMeta": {
|
|
50
|
+
"@quasar/app-vite": {
|
|
51
|
+
"optional": true
|
|
52
|
+
},
|
|
53
|
+
"@quasar/app-webpack": {
|
|
54
|
+
"optional": true
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Quasar App Extension index/runner script
|
|
3
|
+
* (runs on each dev/build)
|
|
4
|
+
*
|
|
5
|
+
* Docs: https://quasar.dev/app-extensions/development-guide/index-api
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { QuasarConfProxy as WebpackQuasarConfProxy } from '@quasar/app-webpack';
|
|
9
|
+
import { IndexAPI } from './quasar';
|
|
10
|
+
|
|
11
|
+
export default function (api: IndexAPI) {
|
|
12
|
+
// Quasar compatibility check; you may need hard dependencies,
|
|
13
|
+
// as in a minimum version of the "quasar" package or
|
|
14
|
+
// a minimum version of "@quasar/app-*" CLI
|
|
15
|
+
api.compatibleWith('quasar', '^2.0.0');
|
|
16
|
+
|
|
17
|
+
if (api.hasVite) {
|
|
18
|
+
api.compatibleWith('@quasar/app-vite', '^2.0.0-rc.1');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (api.hasWebpack) {
|
|
22
|
+
api.compatibleWith('@quasar/app-webpack', '^4.0.0-rc.1');
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
api.extendQuasarConf((conf, api) => {
|
|
26
|
+
conf.boot!.push('~<%= pkgName %>/boot/register');
|
|
27
|
+
|
|
28
|
+
// make sure app extension files get transpiled
|
|
29
|
+
if (api.hasWebpack) {
|
|
30
|
+
const config = conf as unknown as WebpackQuasarConfProxy;
|
|
31
|
+
config.build.webpackTranspileDependencies.push(
|
|
32
|
+
/<%= pkgName.replace('/', '[\\\\/]') %>[\\/]dist/,
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<% /* TODO: Create a shared package for App Extensions */ %>
|
|
2
|
+
// This file is here to unify the types for the App Extension API
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
IndexAPI as BaseViteIndexAPI,
|
|
6
|
+
InstallAPI as BaseViteInstallAPI,
|
|
7
|
+
PromptsAPI as BaseVitePromptsAPI,
|
|
8
|
+
UninstallAPI as BaseViteUninstallAPI,
|
|
9
|
+
} from '@quasar/app-vite/types';
|
|
10
|
+
|
|
11
|
+
import {
|
|
12
|
+
IndexAPI as BaseWebpackIndexAPI,
|
|
13
|
+
InstallAPI as BaseWebpackInstallAPI,
|
|
14
|
+
PromptsAPI as BaseWebpackPromptsAPI,
|
|
15
|
+
UninstallAPI as BaseWebpackUninstallAPI,
|
|
16
|
+
} from '@quasar/app-webpack/types';
|
|
17
|
+
|
|
18
|
+
export type IndexAPI = BaseViteIndexAPI | BaseWebpackIndexAPI;
|
|
19
|
+
|
|
20
|
+
export type InstallAPI = BaseViteInstallAPI | BaseWebpackInstallAPI;
|
|
21
|
+
|
|
22
|
+
export type PromptsAPI = BaseVitePromptsAPI | BaseWebpackPromptsAPI;
|
|
23
|
+
|
|
24
|
+
export type UninstallAPI = BaseViteUninstallAPI | BaseWebpackUninstallAPI;
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<% /* TODO: Consider reworking the AE docs and moving this to the docs */ %>
|
|
2
|
+
# Runtime directory
|
|
3
|
+
|
|
4
|
+
This directory contains runtime files for your app extension. The code here will run in the browser context. Some example use cases for this directory include:
|
|
5
|
+
|
|
6
|
+
- Distributing a Vue component, directive, plugin, etc.
|
|
7
|
+
- Distributing JS/TS code such as constants, composables, utilities, services, etc.
|
|
8
|
+
- Creating a Quasar boot file to register from the app extension.
|
|
9
|
+
|
|
10
|
+
## Instructions
|
|
11
|
+
|
|
12
|
+
Use `index.ts` to export your runtime code as part of the library. The exported code can then be imported like so:
|
|
13
|
+
|
|
14
|
+
```js
|
|
15
|
+
import { someFunction } from '<%= pkgName %>'
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
If you need more entrypoints(e.g. `<%= pkgName %>/another`) for a good reason, you can create the respective files and add an entry to `package.json > exports`.
|
|
19
|
+
|
|
20
|
+
### Boot files
|
|
21
|
+
|
|
22
|
+
For each boot file you create, you will need to add an entrypoint to `package.json > exports`. For example, given a boot file at `./boot/some-boot-file.ts`, you would add the following to `package.json`:
|
|
23
|
+
|
|
24
|
+
```json
|
|
25
|
+
{
|
|
26
|
+
"exports": {
|
|
27
|
+
"./boot/some-boot-file": {
|
|
28
|
+
"types": "./dist/runtime/boot/some-boot-file.d.ts",
|
|
29
|
+
"import": "./dist/runtime/boot/some-boot-file.js"
|
|
30
|
+
},
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Afterwards, you can use the Index API ([`src/index.ts`](../index.ts)) to register the boot file:
|
|
36
|
+
|
|
37
|
+
```ts
|
|
38
|
+
// ...
|
|
39
|
+
export default function (api: IndexAPI) {
|
|
40
|
+
// ...
|
|
41
|
+
api.extendQuasarConf((conf, api) => {
|
|
42
|
+
conf.boot!.push('~<%= pkgName %>/boot/some-boot-file');
|
|
43
|
+
// ...
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
```
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<q-btn v-bind="$props">
|
|
3
|
+
<!-- QBtn has no scoped slots -->
|
|
4
|
+
<template v-for="(_, slotName) in $slots" #[slotName]>
|
|
5
|
+
<slot :name="slotName" />
|
|
6
|
+
</template>
|
|
7
|
+
</q-btn>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script lang="ts">
|
|
11
|
+
import { defineComponent, SlotsType } from 'vue';
|
|
12
|
+
import { QBtn, QBtnProps, QBtnSlots } from 'quasar';
|
|
13
|
+
import { PropOptions } from './types';
|
|
14
|
+
|
|
15
|
+
// You can also use <script setup lang="ts">, but it won't work in app-webpack JS apps
|
|
16
|
+
// without extra configuration in the app's webpack config
|
|
17
|
+
// If https://github.com/unjs/mkdist/pull/210 gets released, you will be able to use
|
|
18
|
+
// <script setup lang="ts"> if not using type-only macros, e.g. defineProps<QBtnProps>()
|
|
19
|
+
// If you will only use the app-extension by yourself or within your organization, and you
|
|
20
|
+
// don't have JS app-webpack apps, then you can freely use <script setup lang="ts">
|
|
21
|
+
|
|
22
|
+
export default defineComponent({
|
|
23
|
+
name: 'MyButton',
|
|
24
|
+
props: {
|
|
25
|
+
...(QBtn['props'] as PropOptions<QBtnProps>),
|
|
26
|
+
dense: {
|
|
27
|
+
type: Boolean,
|
|
28
|
+
default: true,
|
|
29
|
+
},
|
|
30
|
+
outline: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
default: true,
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
slots: Object as SlotsType<QBtnSlots>,
|
|
36
|
+
});
|
|
37
|
+
</script>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
|
|
3
|
+
type IsKeyRequired<T, Keys extends keyof T> =
|
|
4
|
+
{ [Key in Keys]?: T[Key] } extends Pick<T, Keys> ? false : true;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* props: {
|
|
10
|
+
* ...(QBtn['props'] as PropOptions<QBtnProps>),
|
|
11
|
+
* }
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export type PropOptions<T> = {
|
|
15
|
+
[K in keyof Required<T>]: {
|
|
16
|
+
type: PropType<T[K]>;
|
|
17
|
+
required: IsKeyRequired<T, K>;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
declare module 'eslint-plugin-vue' {
|
|
2
|
+
import type { TSESLint } from '@typescript-eslint/utils';
|
|
3
|
+
|
|
4
|
+
const configs: {
|
|
5
|
+
'flat/recommended': TSESLint.FlatConfig.ConfigArray;
|
|
6
|
+
};
|
|
7
|
+
const plugin: {
|
|
8
|
+
configs: typeof configs;
|
|
9
|
+
};
|
|
10
|
+
export default plugin;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
declare module 'eslint-config-prettier' {
|
|
14
|
+
import type { TSESLint } from '@typescript-eslint/utils';
|
|
15
|
+
|
|
16
|
+
const config: TSESLint.FlatConfig.Config;
|
|
17
|
+
export default config;
|
|
18
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Quasar AE <%= name %> Playground (quasar-cli-vite)
|
|
2
|
+
|
|
3
|
+
Playground for Quasar AE <%= name %>
|
|
4
|
+
|
|
5
|
+
## Install the dependencies
|
|
6
|
+
|
|
7
|
+
<% if (packageManager) { %>```bash
|
|
8
|
+
<%= packageManager.name %> install
|
|
9
|
+
```<% } else { %>```bash
|
|
10
|
+
# One of the following, depending on your package manager
|
|
11
|
+
npm install
|
|
12
|
+
yarn install
|
|
13
|
+
pnpm install
|
|
14
|
+
bun install
|
|
15
|
+
```<% } %>
|
|
16
|
+
|
|
17
|
+
### Start the app in development mode (hot-code reloading, error reporting, etc.)
|
|
18
|
+
|
|
19
|
+
<% if (packageManager) { %>```bash
|
|
20
|
+
<%= packageManager.name %> run dev
|
|
21
|
+
```<% } else { %>```bash
|
|
22
|
+
# One of the following, depending on your package manager
|
|
23
|
+
npm run dev
|
|
24
|
+
yarn dev
|
|
25
|
+
pnpm dev
|
|
26
|
+
bun dev
|
|
27
|
+
```<% } %>
|
|
28
|
+
|
|
29
|
+
### Lint the files
|
|
30
|
+
|
|
31
|
+
<% if (packageManager) { %>```bash
|
|
32
|
+
<%= packageManager.name %> run lint
|
|
33
|
+
```<% } else { %>```bash
|
|
34
|
+
# One of the following, depending on your package manager
|
|
35
|
+
npm run lint
|
|
36
|
+
yarn lint
|
|
37
|
+
pnpm lint
|
|
38
|
+
bun lint
|
|
39
|
+
```<% } %>
|
|
40
|
+
|
|
41
|
+
### Format the files
|
|
42
|
+
|
|
43
|
+
<% if (packageManager) { %>```bash
|
|
44
|
+
<%= packageManager.name %> run format
|
|
45
|
+
```<% } else { %>```bash
|
|
46
|
+
# One of the following, depending on your package manager
|
|
47
|
+
npm run format
|
|
48
|
+
yarn format
|
|
49
|
+
pnpm format
|
|
50
|
+
bun format
|
|
51
|
+
```<% } %>
|
|
52
|
+
|
|
53
|
+
### Build the app for production
|
|
54
|
+
|
|
55
|
+
<% if (packageManager) { %>```bash
|
|
56
|
+
<%= packageManager.name %> run build
|
|
57
|
+
```<% } else { %>```bash
|
|
58
|
+
# One of the following, depending on your package manager
|
|
59
|
+
npm run build
|
|
60
|
+
yarn build
|
|
61
|
+
pnpm build
|
|
62
|
+
bun build
|
|
63
|
+
```<% } %>
|
|
64
|
+
|
|
65
|
+
### Customize the configuration
|
|
66
|
+
|
|
67
|
+
See [Configuring quasar.config file](https://v2.quasar.dev/quasar-cli-vite/quasar-config-js).
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
.DS_Store
|
|
2
|
+
.thumbs.db
|
|
3
|
+
node_modules
|
|
4
|
+
|
|
5
|
+
# Quasar core related directories
|
|
6
|
+
.quasar
|
|
7
|
+
/dist
|
|
8
|
+
/quasar.config.*.temporary.compiled*
|
|
9
|
+
|
|
10
|
+
# Cordova related directories and files
|
|
11
|
+
/src-cordova/node_modules
|
|
12
|
+
/src-cordova/platforms
|
|
13
|
+
/src-cordova/plugins
|
|
14
|
+
/src-cordova/www
|
|
15
|
+
|
|
16
|
+
# Capacitor related directories and files
|
|
17
|
+
/src-capacitor/www
|
|
18
|
+
/src-capacitor/node_modules
|
|
19
|
+
|
|
20
|
+
# BEX related directories and files
|
|
21
|
+
/src-bex/www
|
|
22
|
+
/src-bex/js/core
|
|
23
|
+
|
|
24
|
+
# Log files
|
|
25
|
+
npm-debug.log*
|
|
26
|
+
yarn-debug.log*
|
|
27
|
+
yarn-error.log*
|
|
28
|
+
|
|
29
|
+
# Editor directories and files
|
|
30
|
+
.idea
|
|
31
|
+
*.suo
|
|
32
|
+
*.ntvs*
|
|
33
|
+
*.njsproj
|
|
34
|
+
*.sln
|
|
35
|
+
|
|
36
|
+
# local .env files
|
|
37
|
+
.env.local*
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "playground-quasar-cli-vite",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Playground for Quasar AE <%= name %>",
|
|
5
|
+
"productName": "Quasar AE <%= name %> Playground",
|
|
6
|
+
"author": "<%= author %>",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"private": true,
|
|
9
|
+
"scripts": {
|
|
10
|
+
"format": "prettier --write \"**/*.{js,ts,vue,scss,html,md,json}\" --ignore-path .gitignore",
|
|
11
|
+
"test": "echo \"No test specified\" && exit 0",
|
|
12
|
+
"dev": "quasar dev",
|
|
13
|
+
"build": "quasar build"
|
|
14
|
+
},
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@quasar/extras": "^1.16.12",
|
|
17
|
+
"quasar": "^2.16.7",
|
|
18
|
+
"vue": "^3.4.36",
|
|
19
|
+
"vue-router": "^4.4.3",
|
|
20
|
+
"<%= pkgName %>": <% if (!packageManager || ['pnpm', 'bun'].includes(packageManager.name)) { %>"workspace:*"<% } else { %>"*"<% } %>
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@quasar/app-vite": "^2.0.0-rc.1",
|
|
24
|
+
"autoprefixer": "^10.4.20"
|
|
25
|
+
},
|
|
26
|
+
"engines": {
|
|
27
|
+
"node": "^20 || ^18"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": "@quasar/app-vite/tsconfig-preset",
|
|
3
|
+
"compilerOptions": {
|
|
4
|
+
"baseUrl": "."
|
|
5
|
+
},
|
|
6
|
+
// Needed to avoid files copied into 'dist' folder (e.g. a `.d.ts` file inside `src-ssr` folder)
|
|
7
|
+
// to be evaluated by TS when their original files has been updated
|
|
8
|
+
"exclude": ["dist", ".quasar", "node_modules"]
|
|
9
|
+
}
|