create-quasar 1.0.13 → 1.0.16

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 (118) hide show
  1. package/.eslintrc.js +16 -0
  2. package/package.json +11 -1
  3. package/templates/.eslintrc.js +87 -0
  4. package/templates/app/quasar-v1/js/.eslintrc.js +21 -0
  5. package/templates/app/quasar-v1/js/BASE/{_editorconfig → _.editorconfig} +0 -0
  6. package/templates/app/quasar-v1/js/BASE/{_gitignore → _.gitignore} +0 -0
  7. package/templates/app/quasar-v1/js/BASE/{_postcssrc.js → _.postcssrc.js} +0 -0
  8. package/templates/app/quasar-v1/js/BASE/{_vscode → _.vscode}/extensions.json +0 -0
  9. package/templates/app/quasar-v1/js/BASE/{_vscode → _.vscode}/settings.json +0 -0
  10. package/templates/app/quasar-v1/js/BASE/{jsconfig.json → _jsconfig.json} +0 -0
  11. package/templates/app/quasar-v1/js/BASE/{package.json → _package.json} +0 -0
  12. package/templates/app/quasar-v1/js/BASE/src/boot/{_gitkeep → _.gitkeep} +0 -0
  13. package/templates/app/quasar-v1/js/lint/{_eslintignore → _.eslintignore} +0 -0
  14. package/templates/app/quasar-v1/js/lint/{_eslintrc.js → _.eslintrc.js} +0 -0
  15. package/templates/app/quasar-v1/js/styl/{_stylintrc → _.stylintrc} +0 -0
  16. package/templates/app/quasar-v1/ts/.eslintrc.js +22 -0
  17. package/templates/app/quasar-v1/ts/BASE/{_editorconfig → _.editorconfig} +0 -0
  18. package/templates/app/quasar-v1/ts/BASE/{_gitignore → _.gitignore} +0 -0
  19. package/templates/app/quasar-v1/ts/BASE/{_postcssrc.js → _.postcssrc.js} +0 -0
  20. package/templates/app/quasar-v1/ts/BASE/{_vscode → _.vscode}/extensions.json +0 -0
  21. package/templates/app/quasar-v1/ts/BASE/{_vscode → _.vscode}/settings.json +0 -0
  22. package/templates/app/quasar-v1/ts/BASE/{package.json → _package.json} +0 -0
  23. package/templates/app/quasar-v1/ts/BASE/{tsconfig.json → _tsconfig.json} +0 -0
  24. package/templates/app/quasar-v1/ts/BASE/src/boot/{_gitkeep → _.gitkeep} +0 -0
  25. package/templates/app/quasar-v1/ts/BASE/src/index.template.html +1 -1
  26. package/templates/app/quasar-v1/ts/i18n/src/boot/i18n.ts +0 -1
  27. package/templates/app/quasar-v1/ts/lint/{_eslintignore → _.eslintignore} +0 -0
  28. package/templates/app/quasar-v1/ts/lint/{_eslintrc.js → _.eslintrc.js} +4 -0
  29. package/templates/app/quasar-v1/ts/styl/{_stylintrc → _.stylintrc} +0 -0
  30. package/templates/app/quasar-v1/ts/vuex/src/store/module-example/state.ts +1 -1
  31. package/templates/app/quasar-v2/js-vite/.eslintrc.js +20 -0
  32. package/templates/app/quasar-v2/js-vite/BASE/{_editorconfig → _.editorconfig} +0 -0
  33. package/templates/app/quasar-v2/js-vite/BASE/{_gitignore → _.gitignore} +0 -0
  34. package/templates/app/quasar-v2/js-vite/BASE/{_vscode → _.vscode}/extensions.json +0 -0
  35. package/templates/app/quasar-v2/js-vite/BASE/{_vscode → _.vscode}/settings.json +0 -0
  36. package/templates/app/quasar-v2/js-vite/BASE/{jsconfig.json → _jsconfig.json} +0 -0
  37. package/templates/app/quasar-v2/js-vite/BASE/{package.json → _package.json} +2 -2
  38. package/templates/app/quasar-v2/js-vite/BASE/src/boot/{_gitkeep → _.gitkeep} +0 -0
  39. package/templates/app/quasar-v2/js-vite/lint/{_eslintignore → _.eslintignore} +0 -1
  40. package/templates/app/quasar-v2/js-vite/lint/{_eslintrc.js → _.eslintrc.js} +3 -5
  41. package/templates/app/quasar-v2/js-webpack/.eslintrc.js +20 -0
  42. package/templates/app/quasar-v2/js-webpack/BASE/{_editorconfig → _.editorconfig} +0 -0
  43. package/templates/app/quasar-v2/js-webpack/BASE/{_gitignore → _.gitignore} +0 -0
  44. package/templates/app/quasar-v2/js-webpack/BASE/{_postcssrc.js → _.postcssrc.js} +0 -0
  45. package/templates/app/quasar-v2/js-webpack/BASE/{_vscode → _.vscode}/extensions.json +0 -0
  46. package/templates/app/quasar-v2/js-webpack/BASE/{_vscode → _.vscode}/settings.json +0 -0
  47. package/templates/app/quasar-v2/js-webpack/BASE/{jsconfig.json → _jsconfig.json} +0 -0
  48. package/templates/app/quasar-v2/js-webpack/BASE/{package.json → _package.json} +2 -2
  49. package/templates/app/quasar-v2/js-webpack/BASE/src/boot/{_gitkeep → _.gitkeep} +0 -0
  50. package/templates/app/quasar-v2/js-webpack/lint/{_eslintignore → _.eslintignore} +0 -0
  51. package/templates/app/quasar-v2/js-webpack/lint/{_eslintrc.js → _.eslintrc.js} +3 -5
  52. package/templates/app/quasar-v2/ts-vite/.eslintrc.js +21 -0
  53. package/templates/app/quasar-v2/ts-vite/BASE/{_editorconfig → _.editorconfig} +0 -0
  54. package/templates/app/quasar-v2/ts-vite/BASE/{_gitignore → _.gitignore} +0 -0
  55. package/templates/app/quasar-v2/ts-vite/BASE/{_vscode → _.vscode}/extensions.json +0 -0
  56. package/templates/app/quasar-v2/ts-vite/BASE/{_vscode → _.vscode}/settings.json +0 -0
  57. package/templates/app/quasar-v2/ts-vite/BASE/{package.json → _package.json} +2 -2
  58. package/templates/app/quasar-v2/ts-vite/BASE/{tsconfig.json → _tsconfig.json} +1 -2
  59. package/templates/app/quasar-v2/ts-vite/BASE/src/boot/{_gitkeep → _.gitkeep} +0 -0
  60. package/templates/app/quasar-v2/ts-vite/lint/{_eslintignore → _.eslintignore} +0 -0
  61. package/templates/app/quasar-v2/ts-vite/lint/{_eslintrc.js → _.eslintrc.js} +6 -7
  62. package/templates/app/quasar-v2/ts-vite/prettier/{_prettierrc → _.prettierrc} +0 -0
  63. package/templates/app/quasar-v2/ts-vite/vuex/src/store/module-example/state.ts +1 -1
  64. package/templates/app/quasar-v2/ts-webpack/.eslintrc.js +21 -0
  65. package/templates/app/quasar-v2/ts-webpack/BASE/{_editorconfig → _.editorconfig} +0 -0
  66. package/templates/app/quasar-v2/ts-webpack/BASE/{_gitignore → _.gitignore} +0 -0
  67. package/templates/app/quasar-v2/ts-webpack/BASE/{_postcssrc.js → _.postcssrc.js} +0 -0
  68. package/templates/app/quasar-v2/ts-webpack/BASE/{_vscode → _.vscode}/extensions.json +0 -0
  69. package/templates/app/quasar-v2/ts-webpack/BASE/{_vscode → _.vscode}/settings.json +0 -0
  70. package/templates/app/quasar-v2/ts-webpack/BASE/{package.json → _package.json} +2 -3
  71. package/templates/app/quasar-v2/ts-webpack/BASE/{tsconfig.json → _tsconfig.json} +0 -0
  72. package/templates/app/quasar-v2/ts-webpack/BASE/quasar.config.js +4 -4
  73. package/templates/app/quasar-v2/ts-webpack/BASE/src/boot/{_gitkeep → _.gitkeep} +0 -0
  74. package/templates/app/quasar-v2/ts-webpack/lint/{_eslintignore → _.eslintignore} +0 -0
  75. package/templates/app/quasar-v2/ts-webpack/lint/{_eslintrc.js → _.eslintrc.js} +5 -4
  76. package/templates/app/quasar-v2/ts-webpack/prettier/{_prettierrc → _.prettierrc} +0 -0
  77. package/templates/app/quasar-v2/ts-webpack/vuex/src/store/module-example/state.ts +1 -1
  78. package/templates/app-extension/ae-v1/.eslintrc.js +35 -0
  79. package/templates/app-extension/ae-v1/BASE/{_gitignore → _.gitignore} +0 -0
  80. package/templates/app-extension/ae-v1/BASE/{package.json → _package.json} +0 -0
  81. package/templates/app-extension/ae-v1/BASE/src/templates/{_gitkeep → _.gitkeep} +0 -0
  82. package/templates/ui-kit/.eslintrc.js +45 -0
  83. package/templates/ui-kit/quasar-v1/BASE/{_gitignore → _.gitignore} +0 -0
  84. package/templates/ui-kit/quasar-v1/BASE/{jsconfig.json → _jsconfig.json} +0 -0
  85. package/templates/ui-kit/quasar-v1/BASE/ui/{_npmignore → _.npmignore} +0 -0
  86. package/templates/ui-kit/quasar-v1/BASE/ui/{package.json → _package.json} +0 -0
  87. package/templates/ui-kit/quasar-v1/BASE/ui/build/index.js +2 -10
  88. package/templates/ui-kit/quasar-v1/BASE/ui/build/script.javascript.js +3 -3
  89. package/templates/ui-kit/quasar-v1/BASE/ui/build/utils.js +1 -2
  90. package/templates/ui-kit/quasar-v1/BASE/ui/dev/{_editorconfig → _.editorconfig} +0 -0
  91. package/templates/ui-kit/quasar-v1/BASE/ui/dev/{_gitignore → _.gitignore} +0 -0
  92. package/templates/ui-kit/quasar-v1/BASE/ui/dev/{_postcssrc.js → _.postcssrc.js} +0 -0
  93. package/templates/ui-kit/quasar-v1/BASE/ui/dev/{package.json → _package.json} +0 -0
  94. package/templates/ui-kit/quasar-v1/BASE/ui/dev/quasar.config.js +0 -1
  95. package/templates/ui-kit/quasar-v1/BASE/ui/dev/src/assets/{_gitkeep → _.gitkeep} +0 -0
  96. package/templates/ui-kit/quasar-v1/BASE/ui/dev/src/components/{_gitkeep → _.gitkeep} +0 -0
  97. package/templates/ui-kit/quasar-v1/BASE/ui/src/mixins/{_gitkeep → _.gitkeep} +0 -0
  98. package/templates/ui-kit/quasar-v1/ae/app-extension/{_npmignore → _.npmignore} +0 -0
  99. package/templates/ui-kit/quasar-v1/ae/app-extension/{package.json → _package.json} +0 -0
  100. package/templates/ui-kit/quasar-v1/ae/app-extension/src/templates/{_gitkeep → _.gitkeep} +0 -0
  101. package/templates/ui-kit/quasar-v2/.eslintrc.js +11 -0
  102. package/templates/ui-kit/quasar-v2/BASE/{_gitignore → _.gitignore} +0 -0
  103. package/templates/ui-kit/quasar-v2/BASE/{jsconfig.json → _jsconfig.json} +0 -0
  104. package/templates/ui-kit/quasar-v2/BASE/ui/{_npmignore → _.npmignore} +0 -0
  105. package/templates/ui-kit/quasar-v2/BASE/ui/{package.json → _package.json} +0 -0
  106. package/templates/ui-kit/quasar-v2/BASE/ui/build/script.javascript.js +1 -1
  107. package/templates/ui-kit/quasar-v2/BASE/ui/build/utils.js +1 -2
  108. package/templates/ui-kit/quasar-v2/BASE/ui/dev/{_editorconfig → _.editorconfig} +0 -0
  109. package/templates/ui-kit/quasar-v2/BASE/ui/dev/{_gitignore → _.gitignore} +0 -0
  110. package/templates/ui-kit/quasar-v2/BASE/ui/dev/{_postcssrc.js → _.postcssrc.js} +0 -0
  111. package/templates/ui-kit/quasar-v2/BASE/ui/dev/{package.json → _package.json} +0 -0
  112. package/templates/ui-kit/quasar-v2/BASE/ui/dev/src/assets/{_gitkeep → _.gitkeep} +0 -0
  113. package/templates/ui-kit/quasar-v2/BASE/ui/dev/src/components/{_gitkeep → _.gitkeep} +0 -0
  114. package/templates/ui-kit/quasar-v2/ae/app-extension/{_npmignore → _.npmignore} +0 -0
  115. package/templates/ui-kit/quasar-v2/ae/app-extension/{package.json → _package.json} +0 -0
  116. package/templates/ui-kit/quasar-v2/ae/app-extension/src/templates/{_gitkeep → _.gitkeep} +0 -0
  117. package/utils/index.js +5 -3
  118. package/templates/app/quasar-v2/ts-vite/BASE/tsconfig.node.json +0 -7
package/.eslintrc.js ADDED
@@ -0,0 +1,16 @@
1
+ module.exports = {
2
+ root: true,
3
+
4
+ env: {
5
+ node: true,
6
+ es2020: true,
7
+ },
8
+
9
+ extends: [
10
+ 'eslint:recommended',
11
+ ],
12
+
13
+ rules: {
14
+ 'no-empty': 'off',
15
+ },
16
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-quasar",
3
- "version": "1.0.13",
3
+ "version": "1.0.16",
4
4
  "description": "Scaffolds Quasar Apps, AppExtensions or UI kits",
5
5
  "author": {
6
6
  "name": "Razvan Stoenescu",
@@ -25,11 +25,21 @@
25
25
  "engines": {
26
26
  "node": ">=12"
27
27
  },
28
+ "scripts": {
29
+ "lint": "eslint --ext .js,.ts ./ --fix"
30
+ },
28
31
  "dependencies": {
29
32
  "fast-glob": "^3.2.11",
30
33
  "fs-extra": "^10.0.1",
31
34
  "kolorist": "^1.5.1",
32
35
  "lodash.template": "^4.5.0",
33
36
  "prompts": "^2.4.2"
37
+ },
38
+ "devDependencies": {
39
+ "@typescript-eslint/eslint-plugin": "^5.16.0",
40
+ "@typescript-eslint/parser": "^5.16.0",
41
+ "eslint": "^8.11.0",
42
+ "eslint-plugin-lodash-template": "^0.21.0",
43
+ "typescript": "^4.6.2"
34
44
  }
35
45
  }
@@ -0,0 +1,87 @@
1
+ module.exports = {
2
+ overrides: [
3
+ {
4
+ files: './*/*/*/**/*.ts',
5
+
6
+ parserOptions: {
7
+ parser: '@typescript-eslint/parser',
8
+ sourceType: 'module'
9
+ },
10
+
11
+ env: {
12
+ node: false,
13
+ browser: true,
14
+ },
15
+
16
+ globals: {
17
+ process: 'readonly',
18
+ },
19
+
20
+ extends: [
21
+ 'eslint:recommended',
22
+ 'plugin:@typescript-eslint/recommended',
23
+ 'plugin:lodash-template/recommended-with-script'
24
+ ],
25
+
26
+ rules: {
27
+ '@typescript-eslint/no-empty-function': 'off',
28
+ '@typescript-eslint/no-unused-vars': ['warn', { args: 'none' }],
29
+ },
30
+ },
31
+
32
+ {
33
+ files: './*/*/*/**/*.js',
34
+
35
+ parserOptions: {
36
+ sourceType: 'module'
37
+ },
38
+
39
+ env: {
40
+ node: false,
41
+ browser: true,
42
+ },
43
+
44
+ globals: {
45
+ process: 'readonly',
46
+ // For require.context
47
+ require: 'readonly',
48
+ },
49
+
50
+ extends: [
51
+ 'eslint:recommended',
52
+ 'plugin:lodash-template/recommended-with-script'
53
+ ],
54
+
55
+ rules: {
56
+ 'no-empty-function': 'off',
57
+ 'no-unused-vars': ['warn', { args: 'none' }],
58
+ },
59
+ },
60
+
61
+ {
62
+ files: [
63
+ './*/*/*/**/_*.js',
64
+ './*/*/*/**/*.{conf,config}.js'
65
+ ],
66
+
67
+ parserOptions: {
68
+ sourceType: 'script'
69
+ },
70
+
71
+ env: {
72
+ browser: false,
73
+ node: true,
74
+ },
75
+ },
76
+
77
+ {
78
+ // Template-specific manager/helper scripts (e.g. ./app/quasar-v2/index.js)
79
+ files: './*/*/*/*.js',
80
+
81
+ env: {
82
+ browser: false,
83
+ node: true,
84
+ },
85
+ }
86
+ ]
87
+ }
@@ -0,0 +1,21 @@
1
+ module.exports = {
2
+ settings: {
3
+ 'lodash-template/globals': [
4
+ // Base
5
+ 'name',
6
+ 'description',
7
+ 'author',
8
+
9
+ // Quasar v1
10
+ 'quasarVersion',
11
+ 'scriptType',
12
+ 'productName',
13
+
14
+ // Quasar v1 - JS
15
+ 'css',
16
+ 'importStrategy',
17
+ 'preset',
18
+ 'lintConfig'
19
+ ]
20
+ }
21
+ }
@@ -0,0 +1,22 @@
1
+ module.exports = {
2
+ settings: {
3
+ 'lodash-template/globals': [
4
+ // Base
5
+ 'name',
6
+ 'description',
7
+ 'author',
8
+
9
+ // Quasar v1
10
+ 'quasarVersion',
11
+ 'scriptType',
12
+ 'productName',
13
+
14
+ // Quasar v1 - TS
15
+ 'typescriptConfig',
16
+ 'css',
17
+ 'importStrategy',
18
+ 'preset',
19
+ 'lintConfig'
20
+ ]
21
+ }
22
+ }
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title><% '\<%= productName %\>' %></title>
4
+ <title><%= '\<%= productName %\>' %></title>
5
5
 
6
6
  <meta charset="utf-8">
7
7
  <meta name="description" content="<%= '\<%= productDescription %\>' %>">
@@ -4,7 +4,6 @@ import Vue from 'vue';
4
4
  import VueI18n from 'vue-i18n';
5
5
 
6
6
  declare module 'vue/types/vue' {
7
- <% if (preset.lint && lintConfig === 'airbnb') { %>// eslint-disable-next-line no-shadow<% } %>
8
7
  interface Vue {
9
8
  i18n: VueI18n;
10
9
  }
@@ -110,6 +110,10 @@ module.exports = {
110
110
  quotes: ['warn', 'single', { avoidEscape: true }],
111
111
  '@typescript-eslint/explicit-function-return-type': 'off',
112
112
  '@typescript-eslint/explicit-module-boundary-types': 'off',
113
+ <% if (lintConfig === 'airbnb') { %>
114
+ 'no-shadow': 'off',
115
+ '@typescript-eslint/no-shadow': 'error',
116
+ <% } %>
113
117
 
114
118
  // allow debugger during development only
115
119
  'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
@@ -6,6 +6,6 @@ function state(): ExampleStateInterface {
6
6
  return {
7
7
  prop: false
8
8
  }
9
- };
9
+ }
10
10
 
11
11
  export default state;
@@ -0,0 +1,20 @@
1
+ module.exports = {
2
+ settings: {
3
+ 'lodash-template/globals': [
4
+ // Base
5
+ 'name',
6
+ 'description',
7
+ 'author',
8
+
9
+ // Quasar v2
10
+ 'quasarVersion',
11
+ 'scriptType',
12
+ 'productName',
13
+
14
+ // Quasar v2 - JS
15
+ 'css',
16
+ 'preset',
17
+ 'lintConfig'
18
+ ]
19
+ }
20
+ }
@@ -26,9 +26,9 @@
26
26
  "eslint": "^8.10.0",
27
27
  "eslint-plugin-vue": "^8.5.0",
28
28
  <% if (lintConfig === 'standard') { %>
29
- "eslint-config-standard": "^16.0.2",
29
+ "eslint-config-standard": "^17.0.0-1",
30
30
  "eslint-plugin-import": "^2.19.1",
31
- "eslint-plugin-node": "^11.0.0",
31
+ "eslint-plugin-n": "^14.0.0",
32
32
  "eslint-plugin-promise": "^6.0.0",
33
33
  <% } else if (lintConfig === 'airbnb') { %>
34
34
  "eslint-config-airbnb-base": "^15.0.0",
@@ -4,4 +4,3 @@
4
4
  /.quasar
5
5
  /node_modules
6
6
  .eslintrc.js
7
- babel.config.js
@@ -10,7 +10,8 @@ module.exports = {
10
10
 
11
11
  env: {
12
12
  node: true,
13
- browser: true
13
+ browser: true,
14
+ 'vue/setup-compiler-macros': true
14
15
  },
15
16
 
16
17
  // Rules order is important, please avoid shuffling them
@@ -53,10 +54,7 @@ module.exports = {
53
54
  __QUASAR_SSR_PWA__: 'readonly',
54
55
  process: 'readonly',
55
56
  Capacitor: 'readonly',
56
- chrome: 'readonly',
57
- defineProps: 'readonly', // Vue SFC setup compiler macro
58
- defineEmits: 'readonly', // Vue SFC setup compiler macro
59
- defineExpose: 'readonly' // Vue SFC setup compiler macro
57
+ chrome: 'readonly'
60
58
  },
61
59
 
62
60
  // add your custom rules here
@@ -0,0 +1,20 @@
1
+ module.exports = {
2
+ settings: {
3
+ 'lodash-template/globals': [
4
+ // Base
5
+ 'name',
6
+ 'description',
7
+ 'author',
8
+
9
+ // Quasar v2
10
+ 'quasarVersion',
11
+ 'scriptType',
12
+ 'productName',
13
+
14
+ // Quasar v2 - JS
15
+ 'css',
16
+ 'preset',
17
+ 'lintConfig'
18
+ ]
19
+ }
20
+ }
@@ -29,9 +29,9 @@
29
29
  "eslint-plugin-vue": "^8.5.0",
30
30
  "eslint-webpack-plugin": "^3.1.1",
31
31
  <% if (lintConfig === 'standard') { %>
32
- "eslint-config-standard": "^16.0.2",
32
+ "eslint-config-standard": "^17.0.0-1",
33
33
  "eslint-plugin-import": "^2.19.1",
34
- "eslint-plugin-node": "^11.0.0",
34
+ "eslint-plugin-n": "^14.0.0",
35
35
  "eslint-plugin-promise": "^6.0.0",
36
36
  <% } else if (lintConfig === 'airbnb') { %>
37
37
  "eslint-config-airbnb-base": "^15.0.0",
@@ -11,7 +11,8 @@ module.exports = {
11
11
  },
12
12
 
13
13
  env: {
14
- browser: true
14
+ browser: true,
15
+ 'vue/setup-compiler-macros': true
15
16
  },
16
17
 
17
18
  // Rules order is important, please avoid shuffling them
@@ -54,10 +55,7 @@ module.exports = {
54
55
  __QUASAR_SSR_PWA__: 'readonly',
55
56
  process: 'readonly',
56
57
  Capacitor: 'readonly',
57
- chrome: 'readonly',
58
- defineProps: 'readonly', // Vue SFC setup compiler macro
59
- defineEmits: 'readonly', // Vue SFC setup compiler macro
60
- defineExpose: 'readonly' // Vue SFC setup compiler macro
58
+ chrome: 'readonly'
61
59
  },
62
60
 
63
61
  // add your custom rules here
@@ -0,0 +1,21 @@
1
+ module.exports = {
2
+ settings: {
3
+ 'lodash-template/globals': [
4
+ // Base
5
+ 'name',
6
+ 'description',
7
+ 'author',
8
+
9
+ // Quasar v2
10
+ 'quasarVersion',
11
+ 'scriptType',
12
+ 'productName',
13
+
14
+ // Quasar v2 - TS
15
+ 'typescriptConfig',
16
+ 'css',
17
+ 'preset',
18
+ 'lintConfig'
19
+ ]
20
+ }
21
+ }
@@ -29,9 +29,9 @@
29
29
  "eslint": "^8.10.0",
30
30
  "eslint-plugin-vue": "^8.5.0",
31
31
  <% if (lintConfig === 'standard') { %>
32
- "eslint-config-standard": "^16.0.2",
32
+ "eslint-config-standard": "^17.0.0-1",
33
33
  "eslint-plugin-import": "^2.19.1",
34
- "eslint-plugin-node": "^11.0.0",
34
+ "eslint-plugin-n": "^14.0.0",
35
35
  "eslint-plugin-promise": "^6.0.0",
36
36
  <% } else if (lintConfig === 'airbnb') { %>
37
37
  "eslint-config-airbnb-base": "^15.0.0",
@@ -15,6 +15,5 @@
15
15
  "experimentalDecorators": true,
16
16
  "useDefineForClassFields": true<% } %>
17
17
  },
18
- "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
19
- "references": [{ "path": "./tsconfig.node.json" }]
18
+ "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
20
19
  }
@@ -1,5 +1,3 @@
1
- const { resolve } = require('path')
2
-
3
1
  module.exports = {
4
2
  // https://eslint.org/docs/user-guide/configuring#configuration-cascading-and-hierarchy
5
3
  // This option interrupts the configuration hierarchy at this file
@@ -17,7 +15,8 @@ module.exports = {
17
15
  env: {
18
16
  browser: true,
19
17
  es2021: true,
20
- node: true
18
+ node: true,
19
+ 'vue/setup-compiler-macros': true
21
20
  },
22
21
 
23
22
  // Rules order is important, please avoid shuffling them
@@ -67,10 +66,7 @@ module.exports = {
67
66
  __QUASAR_SSR_PWA__: 'readonly',
68
67
  process: 'readonly',
69
68
  Capacitor: 'readonly',
70
- chrome: 'readonly',
71
- defineProps: 'readonly', // Vue SFC setup compiler macro
72
- defineEmits: 'readonly', // Vue SFC setup compiler macro
73
- defineExpose: 'readonly' // Vue SFC setup compiler macro
69
+ chrome: 'readonly'
74
70
  },
75
71
 
76
72
  // add your custom rules here
@@ -101,6 +97,9 @@ module.exports = {
101
97
  'no-nested-ternary': 'off',
102
98
  'max-classes-per-file': 'off',
103
99
 
100
+ 'no-shadow': 'off',
101
+ '@typescript-eslint/no-shadow': 'error',
102
+
104
103
  'import/first': 'off',
105
104
  'import/named': 'error',
106
105
  'import/namespace': 'error',
@@ -6,6 +6,6 @@ function state(): ExampleStateInterface {
6
6
  return {
7
7
  prop: false
8
8
  }
9
- };
9
+ }
10
10
 
11
11
  export default state;
@@ -0,0 +1,21 @@
1
+ module.exports = {
2
+ settings: {
3
+ 'lodash-template/globals': [
4
+ // Base
5
+ 'name',
6
+ 'description',
7
+ 'author',
8
+
9
+ // Quasar v2
10
+ 'quasarVersion',
11
+ 'scriptType',
12
+ 'productName',
13
+
14
+ // Quasar v2 - TS
15
+ 'typescriptConfig',
16
+ 'css',
17
+ 'preset',
18
+ 'lintConfig'
19
+ ]
20
+ }
21
+ }
@@ -25,15 +25,14 @@
25
25
  },
26
26
  "devDependencies": {
27
27
  <% if (preset.lint) { %>
28
- "vue-tsc": "^0.29.8",
29
28
  "@typescript-eslint/eslint-plugin": "^5.10.0",
30
29
  "@typescript-eslint/parser": "^5.10.0",
31
30
  "eslint": "^8.10.0",
32
31
  "eslint-plugin-vue": "^8.5.0",
33
32
  <% if (lintConfig === 'standard') { %>
34
- "eslint-config-standard": "^16.0.2",
33
+ "eslint-config-standard": "^17.0.0-1",
35
34
  "eslint-plugin-import": "^2.19.1",
36
- "eslint-plugin-node": "^11.0.0",
35
+ "eslint-plugin-n": "^14.0.0",
37
36
  "eslint-plugin-promise": "^6.0.0",
38
37
  <% } else if (lintConfig === 'airbnb') { %>
39
38
  "eslint-config-airbnb-base": "^15.0.0",
@@ -82,7 +82,7 @@ module.exports = configure(function (ctx) {
82
82
 
83
83
  // https://v2.quasar.dev/quasar-cli-webpack/handling-webpack
84
84
  // "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
85
- chainWebpack (/* chain */) {}
85
+ // chainWebpack (/* chain */) {}
86
86
  },
87
87
 
88
88
  // Full list of options: https://v2.quasar.dev/quasar-cli-webpack/quasar-config-js#Property%3A-devServer
@@ -129,7 +129,7 @@ module.exports = configure(function (ctx) {
129
129
  maxAge: 1000 * 60 * 60 * 24 * 30,
130
130
  // Tell browser when a file from the server should expire from cache (in ms)
131
131
 
132
- chainWebpackWebserver (/* chain */) {},
132
+ // chainWebpackWebserver (/* chain */) {},
133
133
 
134
134
  middlewares: [
135
135
  ctx.prod ? 'compression' : '',
@@ -144,7 +144,7 @@ module.exports = configure(function (ctx) {
144
144
 
145
145
  // for the custom service worker ONLY (/src-pwa/custom-service-worker.[js|ts])
146
146
  // if using workbox in InjectManifest mode
147
- chainWebpackCustomSW (/* chain */) {},
147
+ // chainWebpackCustomSW (/* chain */) {},
148
148
 
149
149
  manifest: {
150
150
  name: `<%= productName %>`,
@@ -214,7 +214,7 @@ module.exports = configure(function (ctx) {
214
214
  builder: {
215
215
  // https://www.electron.build/configuration/configuration
216
216
 
217
- appId: '{{ name }}'
217
+ appId: '<%= name %>'
218
218
  },
219
219
 
220
220
  // "chain" is a webpack-chain object https://github.com/neutrinojs/webpack-chain
@@ -16,7 +16,8 @@ module.exports = {
16
16
  env: {
17
17
  browser: true,
18
18
  es2021: true,
19
- node: true
19
+ node: true,
20
+ 'vue/setup-compiler-macros': true
20
21
  },
21
22
 
22
23
  // Rules order is important, please avoid shuffling them
@@ -67,9 +68,6 @@ module.exports = {
67
68
  process: 'readonly',
68
69
  Capacitor: 'readonly',
69
70
  chrome: 'readonly',
70
- defineProps: 'readonly', // Vue SFC setup compiler macro
71
- defineEmits: 'readonly', // Vue SFC setup compiler macro
72
- defineExpose: 'readonly' // Vue SFC setup compiler macro
73
71
  },
74
72
 
75
73
  // add your custom rules here
@@ -100,6 +98,9 @@ module.exports = {
100
98
  'no-nested-ternary': 'off',
101
99
  'max-classes-per-file': 'off',
102
100
 
101
+ 'no-shadow': 'off',
102
+ '@typescript-eslint/no-shadow': 'error',
103
+
103
104
  'import/first': 'off',
104
105
  'import/namespace': 'error',
105
106
  'import/default': 'error',
@@ -6,6 +6,6 @@ function state(): ExampleStateInterface {
6
6
  return {
7
7
  prop: false
8
8
  }
9
- };
9
+ }
10
10
 
11
11
  export default state;
@@ -0,0 +1,35 @@
1
+ module.exports = {
2
+ settings: {
3
+ 'lodash-template/globals': [
4
+ // Base
5
+ 'name',
6
+ 'description',
7
+ 'author',
8
+
9
+ 'preset',
10
+ 'orgName',
11
+ 'license',
12
+ 'repositoryType',
13
+ 'repositoryURL',
14
+ 'homepage',
15
+ 'bugs'
16
+ ]
17
+ },
18
+
19
+ overrides: [
20
+ {
21
+ files: [
22
+ './*/**/*.js',
23
+ ],
24
+
25
+ parserOptions: {
26
+ sourceType: 'script'
27
+ },
28
+
29
+ env: {
30
+ browser: false,
31
+ node: true,
32
+ },
33
+ },
34
+ ]
35
+ }
@@ -0,0 +1,45 @@
1
+ module.exports = {
2
+ settings: {
3
+ 'lodash-template/globals': [
4
+ // Base
5
+ 'name',
6
+ 'description',
7
+ 'author',
8
+
9
+ 'features',
10
+ 'preset',
11
+
12
+ 'packageDescription',
13
+ 'aeDescription',
14
+
15
+ 'umdExportName',
16
+ 'componentName',
17
+ 'directiveName',
18
+
19
+ 'license',
20
+ 'repositoryType',
21
+ 'repositoryURL',
22
+ 'homepage',
23
+ 'bugs'
24
+ ]
25
+ },
26
+
27
+ overrides: [
28
+ {
29
+ files: [
30
+ './*/{ae,ae-*}/app-extension/src/*.js',
31
+ './*/{BASE,ui-ae}/ui/build/*.js',
32
+ './*/{BASE,ui-ae}/ui/build/*/!(entry)/**/*.js',
33
+ ],
34
+
35
+ parserOptions: {
36
+ sourceType: 'script'
37
+ },
38
+
39
+ env: {
40
+ browser: false,
41
+ node: true,
42
+ },
43
+ },
44
+ ]
45
+ }
@@ -1,27 +1,19 @@
1
1
  process.env.NODE_ENV = 'production'
2
2
 
3
- {{#or componentCss directiveCss}}
4
3
  const parallel = require('os').cpus().length > 1
5
4
  const runJob = parallel ? require('child_process').fork : require
6
- {{/or}}
7
5
  const { join } = require('path')
8
6
  const { createFolder } = require('./utils')
9
7
  const { green, blue } = require('chalk')
10
8
 
11
9
  console.log()
12
10
 
13
- {{#features.ae}}
14
- require('./script.app-ext.js').syncAppExt()
15
- {{/features.ae}}
11
+ <% if (features.ae) { %>require('./script.app-ext.js').syncAppExt()<% } %>
16
12
  require('./script.clean.js')
17
13
 
18
- console.log(` 📦 Building ${green('v' + require('../package.json').version)}...{{#or componentCss directiveCss}}${parallel ? blue(' [multi-threaded]') : ''}{{/or}}\n`)
14
+ console.log(` 📦 Building ${green('v' + require('../package.json').version)}...${parallel ? blue(' [multi-threaded]') : ''}\n`)
19
15
 
20
16
  createFolder('dist')
21
17
 
22
- {{#or componentCss directiveCss}}
23
18
  runJob(join(__dirname, './script.javascript.js'))
24
19
  runJob(join(__dirname, './script.css.js'))
25
- {{else}}
26
- require(join(__dirname, './script.javascript.js'))
27
- {{/or}}
@@ -58,7 +58,7 @@ const builds = [
58
58
  input: pathResolve('entry/index.umd.js')
59
59
  },
60
60
  output: {
61
- name: '{{umdExportName}}',
61
+ name: '<%= umdExportName %>',
62
62
  file: pathResolve('../dist/index.umd.js'),
63
63
  format: 'umd'
64
64
  }
@@ -89,7 +89,7 @@ function pathResolve (_path) {
89
89
  function addAssets (builds, type, injectName) {
90
90
  const
91
91
  files = fs.readdirSync(pathResolve('../../ui/src/components/' + type)),
92
- plugins = [ buble(bubleConfig) ],
92
+ plugins = [ buble(/* bubleConfig */) ],
93
93
  outputDir = pathResolve(`../dist/${type}`)
94
94
 
95
95
  fse.mkdirp(outputDir)
@@ -107,7 +107,7 @@ function addAssets (builds, type, injectName) {
107
107
  output: {
108
108
  file: addExtension(pathResolve(`../dist/${type}/${file}`), 'umd'),
109
109
  format: 'umd',
110
- name: `{{umdExportName}}.${injectName}.${name}`
110
+ name: `<%= umdExportName %>.${injectName}.${name}`
111
111
  }
112
112
  },
113
113
  build: {
@@ -2,8 +2,7 @@ const
2
2
  fs = require('fs'),
3
3
  path = require('path'),
4
4
  zlib = require('zlib'),
5
- { green, blue, red, cyan } = require('chalk'),
6
- kebabRegex = /[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g
5
+ { green, blue, red, cyan } = require('chalk')
7
6
 
8
7
  function getSize (code) {
9
8
  return (code.length / 1024).toFixed(2) + 'kb'
@@ -2,7 +2,6 @@
2
2
  // https://quasar.dev/quasar-cli/quasar-conf-js
3
3
 
4
4
  const path = require('path')
5
- const webpack = require('webpack')
6
5
 
7
6
  module.exports = function (ctx) {
8
7
  return {
@@ -0,0 +1,11 @@
1
+ module.exports = {
2
+ overrides: [
3
+ {
4
+ files: './*/**/*.js',
5
+
6
+ globals: {
7
+ __UI_VERSION__: 'readonly'
8
+ },
9
+ },
10
+ ]
11
+ }
@@ -98,7 +98,7 @@ function pathResolve (_path) {
98
98
  function addAssets (builds, type, injectName) {
99
99
  const
100
100
  files = fs.readdirSync(pathResolve('../../ui/src/components/' + type)),
101
- plugins = [ buble(bubleConfig) ],
101
+ plugins = [ buble(/* bubleConfig */) ],
102
102
  outputDir = pathResolve(`../dist/${type}`)
103
103
 
104
104
  fse.mkdirp(outputDir)
@@ -2,8 +2,7 @@ const
2
2
  fs = require('fs'),
3
3
  path = require('path'),
4
4
  zlib = require('zlib'),
5
- { green, blue, red, cyan } = require('chalk'),
6
- kebabRegex = /[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g
5
+ { green, blue, red, cyan } = require('chalk')
7
6
 
8
7
  function getSize (code) {
9
8
  return (code.length / 1024).toFixed(2) + 'kb'
package/utils/index.js CHANGED
@@ -58,9 +58,11 @@ module.exports.renderTemplate = function (templateDir, scope) {
58
58
  for (const rawPath of files) {
59
59
  const targetRelativePath = rawPath.split('/').map(name => {
60
60
  // dotfiles are ignored when published to npm, therefore in templates
61
- // we need to use underscore instead (e.g. "_gitignore")
62
- return name.charAt(0) === '_'
63
- ? `.${name.slice(1)}`
61
+ // we need to prefix them with an underscore (e.g. "_.gitignore")
62
+ // Also, some tools like ESLint excepts valid config files, therefore
63
+ // we also prefix files like "package.json" too. (e.g. "_.package.json")
64
+ return name.startsWith('_')
65
+ ? name.slice(1)
64
66
  : name
65
67
  }).join('/')
66
68
 
@@ -1,7 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "composite": true,
4
- "module": "esnext",
5
- "moduleResolution": "node"
6
- }
7
- }