create-quasar 1.4.4 → 1.4.5

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 (37) hide show
  1. package/.eslintrc.cjs +15 -0
  2. package/package.json +5 -2
  3. package/scripts/create-test-project.ts +53 -0
  4. package/scripts/tsconfig.json +18 -0
  5. package/templates/app/quasar-v1/js/BASE/_package.json +1 -1
  6. package/templates/app/quasar-v1/ts/BASE/_package.json +1 -1
  7. package/templates/app/quasar-v2/js-vite/BASE/_.npmrc +2 -0
  8. package/templates/app/quasar-v2/js-vite/BASE/_package.json +6 -6
  9. package/templates/app/quasar-v2/js-vite/BASE/quasar.config.js +1 -1
  10. package/templates/app/quasar-v2/js-vite-beta/.eslintrc.js +4 -0
  11. package/templates/app/quasar-v2/js-vite-beta/BASE/_.npmrc +2 -0
  12. package/templates/app/quasar-v2/js-vite-beta/BASE/_package.json +2 -1
  13. package/templates/app/quasar-v2/js-vite-beta/BASE/quasar.config.js +4 -1
  14. package/templates/app/quasar-v2/js-webpack/BASE/_.npmrc +2 -0
  15. package/templates/app/quasar-v2/js-webpack/BASE/_package.json +7 -7
  16. package/templates/app/quasar-v2/js-webpack-beta/.eslintrc.js +4 -0
  17. package/templates/app/quasar-v2/js-webpack-beta/BASE/_.npmrc +2 -0
  18. package/templates/app/quasar-v2/js-webpack-beta/BASE/_package.json +5 -5
  19. package/templates/app/quasar-v2/js-webpack-beta/BASE/quasar.config.js +4 -1
  20. package/templates/app/quasar-v2/ts-vite/BASE/_.npmrc +2 -0
  21. package/templates/app/quasar-v2/ts-vite/BASE/_package.json +6 -6
  22. package/templates/app/quasar-v2/ts-vite/BASE/quasar.config.js +1 -1
  23. package/templates/app/quasar-v2/ts-vite/vuex/src/store/index.ts +6 -5
  24. package/templates/app/quasar-v2/ts-vite-beta/BASE/_.npmrc +2 -0
  25. package/templates/app/quasar-v2/ts-vite-beta/BASE/_package.json +5 -4
  26. package/templates/app/quasar-v2/ts-vite-beta/BASE/quasar.config.ts +4 -1
  27. package/templates/app/quasar-v2/ts-vite-beta/vuex/src/store/index.ts +6 -5
  28. package/templates/app/quasar-v2/ts-webpack/BASE/_.npmrc +2 -0
  29. package/templates/app/quasar-v2/ts-webpack/BASE/_package.json +7 -7
  30. package/templates/app/quasar-v2/ts-webpack/vuex/src/store/index.ts +7 -6
  31. package/templates/app/quasar-v2/ts-webpack-beta/BASE/_.npmrc +2 -0
  32. package/templates/app/quasar-v2/ts-webpack-beta/BASE/_package.json +1 -1
  33. package/templates/app/quasar-v2/ts-webpack-beta/BASE/quasar.config.ts +3 -0
  34. package/templates/app/quasar-v2/ts-webpack-beta/vuex/src/store/index.ts +7 -6
  35. package/templates/app-extension/ae-v1/.eslintrc.js +8 -0
  36. package/templates/ui-kit/quasar-v2/.eslintrc.js +8 -0
  37. package/templates/ui-kit/quasar-v2/BASE/ui/_package.json +1 -1
package/.eslintrc.cjs CHANGED
@@ -13,4 +13,19 @@ module.exports = {
13
13
  rules: {
14
14
  'no-empty': 'off',
15
15
  },
16
+
17
+ overrides: [
18
+ {
19
+ files: './scripts/**/*.ts',
20
+
21
+ parserOptions: {
22
+ sourceType: 'module',
23
+ },
24
+
25
+ extends: [
26
+ 'eslint:recommended',
27
+ 'plugin:@typescript-eslint/recommended',
28
+ ],
29
+ }
30
+ ]
16
31
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-quasar",
3
- "version": "1.4.4",
3
+ "version": "1.4.5",
4
4
  "description": "Scaffolds Quasar Apps, AppExtensions or UI kits",
5
5
  "author": {
6
6
  "name": "Razvan Stoenescu",
@@ -26,7 +26,8 @@
26
26
  "node": ">=12"
27
27
  },
28
28
  "scripts": {
29
- "lint": "eslint --ext .js,.ts ./ --fix"
29
+ "lint": "eslint --ext .js,.ts ./ --fix",
30
+ "create-test-project": "tsx scripts/create-test-project.ts"
30
31
  },
31
32
  "dependencies": {
32
33
  "fast-glob": "^3.2.11",
@@ -37,10 +38,12 @@
37
38
  },
38
39
  "devDependencies": {
39
40
  "@types/lodash": "^4.6.7",
41
+ "@types/prompts": "^2.4.7",
40
42
  "@typescript-eslint/eslint-plugin": "^6.6.0",
41
43
  "@typescript-eslint/parser": "^6.6.0",
42
44
  "eslint": "^8.11.0",
43
45
  "eslint-plugin-lodash-template": "^0.21.0",
46
+ "tsx": "^4.7.0",
44
47
  "typescript": "^5.2.2"
45
48
  }
46
49
  }
@@ -0,0 +1,53 @@
1
+ import { override } from 'prompts';
2
+
3
+ type ScriptType = 'js' | 'ts';
4
+ type AppEngine = 'vite' | 'webpack';
5
+ type PackageManager = 'yarn' | 'npm' | 'pnpm';
6
+
7
+ type CreateProjectOptions = {
8
+ scriptType: ScriptType;
9
+ appEngine: AppEngine;
10
+ packageManager: PackageManager;
11
+ };
12
+
13
+ export async function createProject({ scriptType, appEngine, packageManager }: CreateProjectOptions) {
14
+ // To bypass Corepack enforcing what's specified in the closest package.json file that has the 'packageManager' field
15
+ process.env.COREPACK_ENABLE_STRICT = '0';
16
+
17
+ override({
18
+ projectType: 'app',
19
+ projectFolder: 'test-project',
20
+ overwrite: true,
21
+
22
+ quasarVersion: 'v2',
23
+ scriptType: scriptType,
24
+ engine: appEngine,
25
+
26
+ name: 'test-project',
27
+ productName: 'Test Project',
28
+ description: 'A test project',
29
+ author: 'Quasar Team (info@quasar.dev)',
30
+
31
+ // The defaults
32
+ typescriptConfig: 'composition',
33
+ css: 'scss',
34
+ preset: ['lint'],
35
+ lintConfig: 'prettier',
36
+
37
+ packageManager,
38
+ });
39
+
40
+ await import('../index.js');
41
+ }
42
+
43
+ const args = process.argv.slice(2) as [ScriptType, AppEngine, PackageManager];
44
+
45
+ void createProject({
46
+ scriptType: args[0],
47
+ appEngine: args[1],
48
+ packageManager: args[2],
49
+ })
50
+ .catch(error => {
51
+ console.error(error);
52
+ process.exit(1);
53
+ });
@@ -0,0 +1,18 @@
1
+ {
2
+ "compilerOptions": {
3
+ "lib": ["ES2021"],
4
+ "module": "CommonJS",
5
+ "target": "ES2021",
6
+ "moduleResolution": "node",
7
+
8
+ "strict": true,
9
+ "esModuleInterop": true,
10
+ "skipLibCheck": true,
11
+ "forceConsistentCasingInFileNames": true,
12
+
13
+ // Scripts are meant to be consumed by tsx, not to be compiled
14
+ "noEmit": true,
15
+
16
+ "allowJs": true
17
+ }
18
+ }
@@ -21,7 +21,7 @@
21
21
  "devDependencies": {
22
22
  <% if (preset.lint) { %>
23
23
  "@babel/eslint-parser": "^7.13.14",
24
- "eslint": "^8.10.0",
24
+ "eslint": "^8.11.0",
25
25
  "eslint-plugin-vue": "^9.0.0",
26
26
  "eslint-webpack-plugin": "^2.0.0",
27
27
  <% if (lintConfig === 'standard') { %>
@@ -26,7 +26,7 @@
26
26
  <% if (preset.lint) { %>
27
27
  "@typescript-eslint/eslint-plugin": "^5.10.0",
28
28
  "@typescript-eslint/parser": "^5.10.0",
29
- "eslint": "^8.10.0",
29
+ "eslint": "^8.11.0",
30
30
  "eslint-plugin-vue": "^9.0.0",
31
31
  <% if (lintConfig === 'standard') { %>
32
32
  "eslint-config-standard": "^17.0.0",
@@ -1,3 +1,5 @@
1
1
  # pnpm-related options
2
2
  shamefully-hoist=true
3
3
  strict-peer-dependencies=false
4
+ # to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463
5
+ resolution-mode=highest
@@ -19,13 +19,13 @@
19
19
  <% if (preset.pinia) { %>"pinia": "^2.0.11",<% } %>
20
20
  <% if (preset.vuex) { %>"vuex": "^4.0.1",<% } %>
21
21
  "@quasar/extras": "^1.16.4",
22
- "quasar": "^2.6.0",
23
- "vue": "^3.0.0",
24
- "vue-router": "^4.0.0"
22
+ "quasar": "^2.8.0",
23
+ "vue": "^3.2.29",
24
+ "vue-router": "^4.0.12"
25
25
  },
26
26
  "devDependencies": {
27
27
  <% if (preset.lint) { %>
28
- "eslint": "^8.10.0",
28
+ "eslint": "^8.11.0",
29
29
  "eslint-plugin-vue": "^9.0.0",
30
30
  <% if (lintConfig === 'standard') { %>
31
31
  "eslint-config-standard": "^17.0.0",
@@ -40,12 +40,12 @@
40
40
  "prettier": "^2.5.1",
41
41
  <% } } %>
42
42
  <% if (preset.i18n) { %>"@intlify/vite-plugin-vue-i18n": "^3.3.1",<% } %>
43
- "@quasar/app-vite": "^1.3.0",
43
+ "@quasar/app-vite": "^1.4.3",
44
44
  "autoprefixer": "^10.4.2",
45
45
  "postcss": "^8.4.14"
46
46
  },
47
47
  "engines": {
48
- "node": "^18 || ^16 || ^14.19",
48
+ "node": "^20 || ^18 || ^16",
49
49
  "npm": ">= 6.13.4",
50
50
  "yarn": ">= 1.21.1"
51
51
  }
@@ -58,7 +58,7 @@ module.exports = configure(function (/* ctx */) {
58
58
  build: {
59
59
  target: {
60
60
  browser: [ 'es2019', 'edge88', 'firefox78', 'chrome87', 'safari13.1' ],
61
- node: 'node16'
61
+ node: 'node20'
62
62
  },
63
63
 
64
64
  vueRouterMode: 'hash', // available values: 'hash', 'history'
@@ -1,4 +1,8 @@
1
1
  module.exports = {
2
+ parserOptions: {
3
+ sourceType: 'module'
4
+ },
5
+
2
6
  settings: {
3
7
  'lodash-template/globals': [
4
8
  // Base
@@ -1,3 +1,5 @@
1
1
  # pnpm-related options
2
2
  shamefully-hoist=true
3
3
  strict-peer-dependencies=false
4
+ # to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463
5
+ resolution-mode=highest
@@ -4,6 +4,7 @@
4
4
  "description": "<%= description %>",
5
5
  "productName": "<%= productName %>",
6
6
  "author": "<%= author %>",
7
+ "type": "module",
7
8
  "private": true,
8
9
  "scripts": {
9
10
  <% if (preset.lint) { %>"lint": "eslint --ext .js,.vue ./",
@@ -25,7 +26,7 @@
25
26
  },
26
27
  "devDependencies": {
27
28
  <% if (preset.lint) { %>
28
- "eslint": "^8.10.0",
29
+ "eslint": "^8.11.0",
29
30
  "eslint-plugin-vue": "^9.0.0",
30
31
  <% if (lintConfig === 'standard') { %>
31
32
  "eslint-config-standard": "^17.0.0",
@@ -54,7 +54,7 @@ export default configure((/* ctx */) => {
54
54
  build: {
55
55
  target: {
56
56
  browser: [ 'es2019', 'edge88', 'firefox78', 'chrome87', 'safari13.1' ],
57
- node: 'node16'
57
+ node: 'node20'
58
58
  },
59
59
 
60
60
  vueRouterMode: 'hash', // available values: 'hash', 'history'
@@ -191,6 +191,9 @@ export default configure((/* ctx */) => {
191
191
 
192
192
  // extendPackageJson (json) {},
193
193
 
194
+ // Electron preload scripts (if any) from /src-electron, WITHOUT file extension
195
+ preloadScripts: [ 'electron-preload' ],
196
+
194
197
  // specify the debugging port to use for the Electron app when running in development mode
195
198
  inspectPort: 5858,
196
199
 
@@ -1,3 +1,5 @@
1
1
  # pnpm-related options
2
2
  shamefully-hoist=true
3
3
  strict-peer-dependencies=false
4
+ # to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463
5
+ resolution-mode=highest
@@ -19,15 +19,15 @@
19
19
  <% if (preset.pinia) { %>"pinia": "^2.0.11",<% } %>
20
20
  <% if (preset.vuex) { %>"vuex": "^4.0.1",<% } %>
21
21
  "@quasar/extras": "^1.16.4",
22
- "core-js": "^3.6.5",
23
- "quasar": "^2.6.0",
24
- "vue": "^3.0.0",
25
- "vue-router": "^4.0.0"
22
+ "core-js": "^3.31.1",
23
+ "quasar": "^2.8.0",
24
+ "vue": "^3.2.29",
25
+ "vue-router": "^4.0.12"
26
26
  },
27
27
  "devDependencies": {
28
28
  <% if (preset.lint) { %>
29
29
  "@babel/eslint-parser": "^7.13.14",
30
- "eslint": "^8.10.0",
30
+ "eslint": "^8.11.0",
31
31
  "eslint-plugin-vue": "^9.0.0",
32
32
  "eslint-webpack-plugin": "^3.1.1",
33
33
  <% if (lintConfig === 'standard') { %>
@@ -42,7 +42,7 @@
42
42
  "eslint-config-prettier": "^8.1.0",
43
43
  "prettier": "^2.5.1",
44
44
  <% } } %>
45
- "@quasar/app-webpack": "^3.0.0"
45
+ "@quasar/app-webpack": "^3.9.2"
46
46
  },
47
47
  "browserslist": [
48
48
  "last 10 Chrome versions",
@@ -56,7 +56,7 @@
56
56
  "last 5 Opera versions"
57
57
  ],
58
58
  "engines": {
59
- "node": ">= 12.22.1",
59
+ "node": "^20 || ^18 || ^16",
60
60
  "npm": ">= 6.13.4",
61
61
  "yarn": ">= 1.21.1"
62
62
  }
@@ -1,4 +1,8 @@
1
1
  module.exports = {
2
+ parserOptions: {
3
+ sourceType: 'module'
4
+ },
5
+
2
6
  settings: {
3
7
  'lodash-template/globals': [
4
8
  // Base
@@ -1,3 +1,5 @@
1
1
  # pnpm-related options
2
2
  shamefully-hoist=true
3
3
  strict-peer-dependencies=false
4
+ # to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463
5
+ resolution-mode=highest
@@ -19,15 +19,15 @@
19
19
  <% if (preset.pinia) { %>"pinia": "^2.0.11",<% } %>
20
20
  <% if (preset.vuex) { %>"vuex": "^4.0.1",<% } %>
21
21
  "@quasar/extras": "^1.16.4",
22
- "core-js": "^3.6.5",
23
- "quasar": "^2.6.0",
24
- "vue": "^3.0.0",
25
- "vue-router": "^4.0.0"
22
+ "core-js": "^3.31.1",
23
+ "quasar": "^2.8.0",
24
+ "vue": "^3.2.29",
25
+ "vue-router": "^4.0.12"
26
26
  },
27
27
  "devDependencies": {
28
28
  <% if (preset.lint) { %>
29
29
  "@babel/eslint-parser": "^7.13.14",
30
- "eslint": "^8.10.0",
30
+ "eslint": "^8.11.0",
31
31
  "eslint-plugin-vue": "^9.0.0",
32
32
  "eslint-webpack-plugin": "^3.1.1",
33
33
  <% if (lintConfig === 'standard') { %>
@@ -59,7 +59,7 @@ export default configure((ctx) => {
59
59
 
60
60
  esbuildTarget: {
61
61
  browser: [ 'es2019', 'edge88', 'firefox78', 'chrome87', 'safari13.1' ],
62
- node: 'node16'
62
+ node: 'node20'
63
63
  },
64
64
 
65
65
  // webpackTranspile: false,
@@ -183,6 +183,9 @@ export default configure((ctx) => {
183
183
 
184
184
  // extendPackageJson (json) {},
185
185
 
186
+ // Electron preload scripts (if any) from /src-electron, WITHOUT file extension
187
+ preloadScripts: [ 'electron-preload' ],
188
+
186
189
  // specify the debugging port to use for the Electron app when running in development mode
187
190
  inspectPort: 5858,
188
191
 
@@ -1,3 +1,5 @@
1
1
  # pnpm-related options
2
2
  shamefully-hoist=true
3
3
  strict-peer-dependencies=false
4
+ # to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463
5
+ resolution-mode=highest
@@ -20,15 +20,15 @@
20
20
  <% if (preset.pinia) { %>"pinia": "^2.0.11",<% } %>
21
21
  <% if (preset.vuex) { %>"vuex": "^4.0.1",<% } %>
22
22
  "@quasar/extras": "^1.16.4",
23
- "quasar": "^2.6.0",
24
- "vue": "^3.0.0",
25
- "vue-router": "^4.0.0"
23
+ "quasar": "^2.8.0",
24
+ "vue": "^3.2.29",
25
+ "vue-router": "^4.0.12"
26
26
  },
27
27
  "devDependencies": {
28
28
  <% if (preset.lint) { %>
29
29
  "@typescript-eslint/eslint-plugin": "^5.10.0",
30
30
  "@typescript-eslint/parser": "^5.10.0",
31
- "eslint": "^8.10.0",
31
+ "eslint": "^8.11.0",
32
32
  "eslint-plugin-vue": "^9.0.0",
33
33
  <% if (lintConfig === 'standard') { %>
34
34
  "eslint-config-standard": "^17.0.0",
@@ -44,12 +44,12 @@
44
44
  <% } } %>
45
45
  "@types/node": "^12.20.21",
46
46
  <% if (preset.i18n) { %>"@intlify/vite-plugin-vue-i18n": "^3.3.1",<% } %>
47
- "@quasar/app-vite": "^1.3.0",
47
+ "@quasar/app-vite": "^1.4.3",
48
48
  "autoprefixer": "^10.4.2",
49
49
  "typescript": "^4.5.4"
50
50
  },
51
51
  "engines": {
52
- "node": "^18 || ^16 || ^14.19",
52
+ "node": "^20 || ^18 || ^16",
53
53
  "npm": ">= 6.13.4",
54
54
  "yarn": ">= 1.21.1"
55
55
  }
@@ -59,7 +59,7 @@ module.exports = configure(function (/* ctx */) {
59
59
  build: {
60
60
  target: {
61
61
  browser: [ 'es2019', 'edge88', 'firefox78', 'chrome87', 'safari13.1' ],
62
- node: 'node16'
62
+ node: 'node20'
63
63
  },
64
64
 
65
65
  vueRouterMode: 'hash', // available values: 'hash', 'history'
@@ -37,11 +37,12 @@ declare module '@vue/runtime-core' {
37
37
  export const storeKey: InjectionKey<VuexStore<StateInterface>> = Symbol('vuex-key')
38
38
 
39
39
  // Provide typings for `this.$router` inside Vuex stores
40
- declare module "vuex" {
41
- export interface Store<S> {
42
- readonly $router: Router;
43
- }
44
- }
40
+ declare module "vuex" {
41
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
42
+ export interface Store<S> {
43
+ readonly $router: Router;
44
+ }
45
+ }
45
46
 
46
47
  export default store(function (/* { ssrContext } */) {
47
48
  const Store = createStore<StateInterface>({
@@ -1,3 +1,5 @@
1
1
  # pnpm-related options
2
2
  shamefully-hoist=true
3
3
  strict-peer-dependencies=false
4
+ # to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463
5
+ resolution-mode=highest
@@ -4,6 +4,7 @@
4
4
  "description": "<%= description %>",
5
5
  "productName": "<%= productName %>",
6
6
  "author": "<%= author %>",
7
+ "type": "module",
7
8
  "private": true,
8
9
  "scripts": {
9
10
  <% if (preset.lint) { %>"lint": "eslint --ext .js,.ts,.vue ./",
@@ -21,14 +22,14 @@
21
22
  <% if (preset.vuex) { %>"vuex": "^4.0.1",<% } %>
22
23
  "@quasar/extras": "^1.16.4",
23
24
  "quasar": "^2.6.0",
24
- "vue": "^3.0.0",
25
- "vue-router": "^4.0.0"
25
+ "vue": "^3.2.29",
26
+ "vue-router": "^4.0.12"
26
27
  },
27
28
  "devDependencies": {
28
29
  <% if (preset.lint) { %>
29
30
  "@typescript-eslint/eslint-plugin": "^6.6.0",
30
31
  "@typescript-eslint/parser": "^6.6.0",
31
- "eslint": "^8.10.0",
32
+ "eslint": "^8.11.0",
32
33
  "eslint-plugin-vue": "^9.0.0",
33
34
  <% if (lintConfig === 'standard') { %>
34
35
  "eslint-config-standard": "^17.0.0",
@@ -44,7 +45,7 @@
44
45
  <% } } %>
45
46
  "@types/node": "^20.5.9",
46
47
  <% if (preset.i18n) { %>"@intlify/vite-plugin-vue-i18n": "^3.3.1",<% } %>
47
- "@quasar/app-vite": "^2.0.0-alpha.0",
48
+ "@quasar/app-vite": "^2.0.0-alpha.14",
48
49
  "autoprefixer": "^10.4.2",
49
50
  "typescript": "^5.2.2"
50
51
  },
@@ -55,7 +55,7 @@ export default configure((/* ctx */) => {
55
55
  build: {
56
56
  target: {
57
57
  browser: [ 'es2019', 'edge88', 'firefox78', 'chrome87', 'safari13.1' ],
58
- node: 'node16'
58
+ node: 'node20'
59
59
  },
60
60
 
61
61
  vueRouterMode: 'hash', // available values: 'hash', 'history'
@@ -192,6 +192,9 @@ export default configure((/* ctx */) => {
192
192
 
193
193
  // extendPackageJson (json) {},
194
194
 
195
+ // Electron preload scripts (if any) from /src-electron, WITHOUT file extension
196
+ preloadScripts: [ 'electron-preload' ],
197
+
195
198
  // specify the debugging port to use for the Electron app when running in development mode
196
199
  inspectPort: 5858,
197
200
 
@@ -37,11 +37,12 @@ declare module '@vue/runtime-core' {
37
37
  export const storeKey: InjectionKey<VuexStore<StateInterface>> = Symbol('vuex-key')
38
38
 
39
39
  // Provide typings for `this.$router` inside Vuex stores
40
- declare module "vuex" {
41
- export interface Store<S> {
42
- readonly $router: Router;
43
- }
44
- }
40
+ declare module "vuex" {
41
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
42
+ export interface Store<S> {
43
+ readonly $router: Router;
44
+ }
45
+ }
45
46
 
46
47
  export default store(function (/* { ssrContext } */) {
47
48
  const Store = createStore<StateInterface>({
@@ -1,3 +1,5 @@
1
1
  # pnpm-related options
2
2
  shamefully-hoist=true
3
3
  strict-peer-dependencies=false
4
+ # to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463
5
+ resolution-mode=highest
@@ -20,16 +20,16 @@
20
20
  <% if (preset.pinia) { %>"pinia": "^2.0.11",<% } %>
21
21
  <% if (preset.vuex) { %>"vuex": "^4.0.1",<% } %>
22
22
  "@quasar/extras": "^1.16.4",
23
- "core-js": "^3.6.5",
24
- "quasar": "^2.6.0",
25
- "vue": "^3.0.0",
26
- "vue-router": "^4.0.0"
23
+ "core-js": "^3.31.1",
24
+ "quasar": "^2.8.0",
25
+ "vue": "^3.2.29",
26
+ "vue-router": "^4.0.12"
27
27
  },
28
28
  "devDependencies": {
29
29
  <% if (preset.lint) { %>
30
30
  "@typescript-eslint/eslint-plugin": "^5.10.0",
31
31
  "@typescript-eslint/parser": "^5.10.0",
32
- "eslint": "^8.10.0",
32
+ "eslint": "^8.11.0",
33
33
  "eslint-plugin-vue": "^9.0.0",
34
34
  <% if (lintConfig === 'standard') { %>
35
35
  "eslint-config-standard": "^17.0.0",
@@ -44,7 +44,7 @@
44
44
  "prettier": "^2.5.1",
45
45
  <% } } %>
46
46
  "@types/node": "^12.20.21",
47
- "@quasar/app-webpack": "^3.0.0"
47
+ "@quasar/app-webpack": "^3.9.2"
48
48
  },
49
49
  "browserslist": [
50
50
  "last 10 Chrome versions",
@@ -58,7 +58,7 @@
58
58
  "last 5 Opera versions"
59
59
  ],
60
60
  "engines": {
61
- "node": ">= 12.22.1",
61
+ "node": "^20 || ^18 || ^16",
62
62
  "npm": ">= 6.13.4",
63
63
  "yarn": ">= 1.21.1"
64
64
  }
@@ -36,12 +36,13 @@ declare module '@vue/runtime-core' {
36
36
  // provide typings for `useStore` helper
37
37
  export const storeKey: InjectionKey<VuexStore<StateInterface>> = Symbol('vuex-key')
38
38
 
39
- // Provide typings for `this.$router` inside Vuex store
40
- declare module "vuex" {
41
- export interface Store<S> {
42
- readonly $router: Router;
43
- }
44
- }
39
+ // Provide typings for `this.$router` inside Vuex stores
40
+ declare module "vuex" {
41
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
42
+ export interface Store<S> {
43
+ readonly $router: Router;
44
+ }
45
+ }
45
46
 
46
47
  export default store(function (/* { ssrContext } */) {
47
48
  const Store = createStore<StateInterface>({
@@ -1,3 +1,5 @@
1
1
  # pnpm-related options
2
2
  shamefully-hoist=true
3
3
  strict-peer-dependencies=false
4
+ # to get the latest compatible packages when creating the project https://github.com/pnpm/pnpm/issues/6463
5
+ resolution-mode=highest
@@ -29,7 +29,7 @@
29
29
  <% if (preset.lint) { %>
30
30
  "@typescript-eslint/eslint-plugin": "^6.6.0",
31
31
  "@typescript-eslint/parser": "^6.6.0",
32
- "eslint": "^8.10.0",
32
+ "eslint": "^8.11.0",
33
33
  "eslint-plugin-vue": "^9.0.0",
34
34
  "eslint-webpack-plugin": "^4.0.1",
35
35
  <% if (lintConfig === 'standard') { %>
@@ -180,6 +180,9 @@ export default configure((/* ctx */) => {
180
180
 
181
181
  // extendPackageJson (json) {},
182
182
 
183
+ // Electron preload scripts (if any) from /src-electron, WITHOUT file extension
184
+ preloadScripts: [ 'electron-preload' ],
185
+
183
186
  // specify the debugging port to use for the Electron app when running in development mode
184
187
  inspectPort: 5858,
185
188
 
@@ -36,12 +36,13 @@ declare module '@vue/runtime-core' {
36
36
  // provide typings for `useStore` helper
37
37
  export const storeKey: InjectionKey<VuexStore<StateInterface>> = Symbol('vuex-key')
38
38
 
39
- // Provide typings for `this.$router` inside Vuex store
40
- declare module "vuex" {
41
- export interface Store<S> {
42
- readonly $router: Router;
43
- }
44
- }
39
+ // Provide typings for `this.$router` inside Vuex stores
40
+ declare module "vuex" {
41
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
42
+ export interface Store<S> {
43
+ readonly $router: Router;
44
+ }
45
+ }
45
46
 
46
47
  export default store(function (/* { ssrContext } */) {
47
48
  const Store = createStore<StateInterface>({
@@ -33,5 +33,13 @@ module.exports = {
33
33
  node: true,
34
34
  },
35
35
  },
36
+ ],
37
+
38
+ // Due to conditional use of mixed ESM/CJS in certain files, they can't be properly parsed and checked
39
+ ignorePatterns: [
40
+ 'BASE/src/index.js',
41
+ 'install-script/src/install.js',
42
+ 'prompts-script/src/prompts.js',
43
+ 'uninstall-script/src/uninstall.js'
36
44
  ]
37
45
  }
@@ -7,5 +7,13 @@ module.exports = {
7
7
  __UI_VERSION__: 'readonly'
8
8
  },
9
9
  },
10
+ ],
11
+
12
+ // Due to conditional use of mixed ESM/CJS in certain files, they can't be properly parsed and checked
13
+ ignorePatterns: [
14
+ 'ae-install/app-extension/src/install.js',
15
+ 'ae-prompts/app-extension/src/prompts.js',
16
+ 'ae-uninstall/app-extension/src/uninstall.js',
17
+ 'ae/app-extension/src/index.js'
10
18
  ]
11
19
  }
@@ -28,7 +28,7 @@
28
28
  "cssnano": "^4.1.10",
29
29
  "postcss": "^8.1.9",
30
30
  "rtlcss": "^2.6.1",
31
- "sass": "1.32.0",
31
+ "sass": "^1.33.0",
32
32
  "quasar": "^2.0.0",
33
33
  "@quasar/extras": "^1.16.4",
34
34
  "core-js": "^3.0.0",