create-quasar 1.0.11 → 1.0.14

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/index.js +1 -1
  3. package/package.json +11 -1
  4. package/templates/.eslintrc.js +87 -0
  5. package/templates/app/quasar-v1/js/.eslintrc.js +21 -0
  6. package/templates/app/quasar-v1/js/BASE/{_editorconfig → _.editorconfig} +0 -0
  7. package/templates/app/quasar-v1/js/BASE/{_gitignore → _.gitignore} +0 -0
  8. package/templates/app/quasar-v1/js/BASE/{_postcssrc.js → _.postcssrc.js} +0 -0
  9. package/templates/app/quasar-v1/js/BASE/{_vscode → _.vscode}/extensions.json +0 -0
  10. package/templates/app/quasar-v1/js/BASE/{_vscode → _.vscode}/settings.json +0 -0
  11. package/templates/app/quasar-v1/js/BASE/{jsconfig.json → _jsconfig.json} +0 -0
  12. package/templates/app/quasar-v1/js/BASE/{package.json → _package.json} +0 -0
  13. package/templates/app/quasar-v1/js/BASE/src/boot/{_gitkeep → _.gitkeep} +0 -0
  14. package/templates/app/quasar-v1/js/lint/{_eslintignore → _.eslintignore} +0 -0
  15. package/templates/app/quasar-v1/js/lint/{_eslintrc.js → _.eslintrc.js} +0 -0
  16. package/templates/app/quasar-v1/js/styl/{_stylintrc → _.stylintrc} +0 -0
  17. package/templates/app/quasar-v1/ts/.eslintrc.js +22 -0
  18. package/templates/app/quasar-v1/ts/BASE/{_editorconfig → _.editorconfig} +0 -0
  19. package/templates/app/quasar-v1/ts/BASE/{_gitignore → _.gitignore} +0 -0
  20. package/templates/app/quasar-v1/ts/BASE/{_postcssrc.js → _.postcssrc.js} +0 -0
  21. package/templates/app/quasar-v1/ts/BASE/{_vscode → _.vscode}/extensions.json +0 -0
  22. package/templates/app/quasar-v1/ts/BASE/{_vscode → _.vscode}/settings.json +0 -0
  23. package/templates/app/quasar-v1/ts/BASE/{package.json → _package.json} +0 -0
  24. package/templates/app/quasar-v1/ts/BASE/{tsconfig.json → _tsconfig.json} +0 -0
  25. package/templates/app/quasar-v1/ts/BASE/src/boot/{_gitkeep → _.gitkeep} +0 -0
  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 -0
  40. package/templates/app/quasar-v2/js-vite/lint/{_eslintrc.js → _.eslintrc.js} +2 -1
  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} +2 -1
  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} +0 -0
  59. package/templates/app/quasar-v2/ts-vite/BASE/{tsconfig.node.json → _tsconfig.node.json} +0 -0
  60. package/templates/app/quasar-v2/ts-vite/BASE/src/boot/{_gitkeep → _.gitkeep} +0 -0
  61. package/templates/app/quasar-v2/ts-vite/lint/{_eslintignore → _.eslintignore} +0 -0
  62. package/templates/app/quasar-v2/ts-vite/lint/{_eslintrc.js → _.eslintrc.js} +5 -3
  63. package/templates/app/quasar-v2/ts-vite/prettier/{_prettierrc → _.prettierrc} +0 -0
  64. package/templates/app/quasar-v2/ts-vite/vuex/src/store/module-example/state.ts +1 -1
  65. package/templates/app/quasar-v2/ts-webpack/.eslintrc.js +21 -0
  66. package/templates/app/quasar-v2/ts-webpack/BASE/{_editorconfig → _.editorconfig} +0 -0
  67. package/templates/app/quasar-v2/ts-webpack/BASE/{_gitignore → _.gitignore} +0 -0
  68. package/templates/app/quasar-v2/ts-webpack/BASE/{_postcssrc.js → _.postcssrc.js} +0 -0
  69. package/templates/app/quasar-v2/ts-webpack/BASE/{_vscode → _.vscode}/extensions.json +0 -0
  70. package/templates/app/quasar-v2/ts-webpack/BASE/{_vscode → _.vscode}/settings.json +0 -0
  71. package/templates/app/quasar-v2/ts-webpack/BASE/{package.json → _package.json} +2 -3
  72. package/templates/app/quasar-v2/ts-webpack/BASE/{tsconfig.json → _tsconfig.json} +0 -0
  73. package/templates/app/quasar-v2/ts-webpack/BASE/quasar.config.js +1 -1
  74. package/templates/app/quasar-v2/ts-webpack/BASE/src/boot/{_gitkeep → _.gitkeep} +0 -0
  75. package/templates/app/quasar-v2/ts-webpack/lint/{_eslintignore → _.eslintignore} +0 -0
  76. package/templates/app/quasar-v2/ts-webpack/lint/{_eslintrc.js → _.eslintrc.js} +6 -2
  77. package/templates/app/quasar-v2/ts-webpack/prettier/{_prettierrc → _.prettierrc} +0 -0
  78. package/templates/app/quasar-v2/ts-webpack/vuex/src/store/module-example/state.ts +1 -1
  79. package/templates/app-extension/ae-v1/.eslintrc.js +35 -0
  80. package/templates/app-extension/ae-v1/BASE/{_gitignore → _.gitignore} +0 -0
  81. package/templates/app-extension/ae-v1/BASE/{package.json → _package.json} +0 -0
  82. package/templates/app-extension/ae-v1/BASE/src/templates/{_gitkeep → _.gitkeep} +0 -0
  83. package/templates/ui-kit/.eslintrc.js +45 -0
  84. package/templates/ui-kit/quasar-v1/BASE/{_gitignore → _.gitignore} +0 -0
  85. package/templates/ui-kit/quasar-v1/BASE/{jsconfig.json → _jsconfig.json} +0 -0
  86. package/templates/ui-kit/quasar-v1/BASE/ui/{_npmignore → _.npmignore} +0 -0
  87. package/templates/ui-kit/quasar-v1/BASE/ui/{package.json → _package.json} +0 -0
  88. package/templates/ui-kit/quasar-v1/BASE/ui/build/index.js +2 -10
  89. package/templates/ui-kit/quasar-v1/BASE/ui/build/script.javascript.js +3 -3
  90. package/templates/ui-kit/quasar-v1/BASE/ui/build/utils.js +1 -2
  91. package/templates/ui-kit/quasar-v1/BASE/ui/dev/{_editorconfig → _.editorconfig} +0 -0
  92. package/templates/ui-kit/quasar-v1/BASE/ui/dev/{_gitignore → _.gitignore} +0 -0
  93. package/templates/ui-kit/quasar-v1/BASE/ui/dev/{_postcssrc.js → _.postcssrc.js} +0 -0
  94. package/templates/ui-kit/quasar-v1/BASE/ui/dev/{package.json → _package.json} +0 -0
  95. package/templates/ui-kit/quasar-v1/BASE/ui/dev/quasar.config.js +0 -1
  96. package/templates/ui-kit/quasar-v1/BASE/ui/dev/src/assets/{_gitkeep → _.gitkeep} +0 -0
  97. package/templates/ui-kit/quasar-v1/BASE/ui/dev/src/components/{_gitkeep → _.gitkeep} +0 -0
  98. package/templates/ui-kit/quasar-v1/BASE/ui/src/mixins/{_gitkeep → _.gitkeep} +0 -0
  99. package/templates/ui-kit/quasar-v1/ae/app-extension/{_npmignore → _.npmignore} +0 -0
  100. package/templates/ui-kit/quasar-v1/ae/app-extension/{package.json → _package.json} +0 -0
  101. package/templates/ui-kit/quasar-v1/ae/app-extension/src/templates/{_gitkeep → _.gitkeep} +0 -0
  102. package/templates/ui-kit/quasar-v2/.eslintrc.js +11 -0
  103. package/templates/ui-kit/quasar-v2/BASE/{_gitignore → _.gitignore} +0 -0
  104. package/templates/ui-kit/quasar-v2/BASE/{jsconfig.json → _jsconfig.json} +0 -0
  105. package/templates/ui-kit/quasar-v2/BASE/ui/{_npmignore → _.npmignore} +0 -0
  106. package/templates/ui-kit/quasar-v2/BASE/ui/{package.json → _package.json} +0 -0
  107. package/templates/ui-kit/quasar-v2/BASE/ui/build/script.javascript.js +1 -1
  108. package/templates/ui-kit/quasar-v2/BASE/ui/build/utils.js +1 -2
  109. package/templates/ui-kit/quasar-v2/BASE/ui/dev/{_editorconfig → _.editorconfig} +0 -0
  110. package/templates/ui-kit/quasar-v2/BASE/ui/dev/{_gitignore → _.gitignore} +0 -0
  111. package/templates/ui-kit/quasar-v2/BASE/ui/dev/{_postcssrc.js → _.postcssrc.js} +0 -0
  112. package/templates/ui-kit/quasar-v2/BASE/ui/dev/{package.json → _package.json} +0 -0
  113. package/templates/ui-kit/quasar-v2/BASE/ui/dev/src/assets/{_gitkeep → _.gitkeep} +0 -0
  114. package/templates/ui-kit/quasar-v2/BASE/ui/dev/src/components/{_gitkeep → _.gitkeep} +0 -0
  115. package/templates/ui-kit/quasar-v2/ae/app-extension/{_npmignore → _.npmignore} +0 -0
  116. package/templates/ui-kit/quasar-v2/ae/app-extension/{package.json → _package.json} +0 -0
  117. package/templates/ui-kit/quasar-v2/ae/app-extension/src/templates/{_gitkeep → _.gitkeep} +0 -0
  118. package/utils/index.js +5 -3
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/index.js CHANGED
@@ -112,7 +112,7 @@ async function run () {
112
112
  process.exit(0)
113
113
  }
114
114
 
115
- if (scope.lint) {
115
+ if (scope.preset.lint) {
116
116
  try {
117
117
  await utils.lintFolder(scope)
118
118
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-quasar",
3
- "version": "1.0.11",
3
+ "version": "1.0.14",
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
+ }
@@ -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",
@@ -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
@@ -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
@@ -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",
@@ -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
@@ -98,6 +97,9 @@ module.exports = {
98
97
  'no-nested-ternary': 'off',
99
98
  'max-classes-per-file': 'off',
100
99
 
100
+ 'no-shadow': 'off',
101
+ '@typescript-eslint/no-shadow': 'error',
102
+
101
103
  'import/first': 'off',
102
104
  'import/named': 'error',
103
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",
@@ -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
@@ -66,7 +67,7 @@ module.exports = {
66
67
  __QUASAR_SSR_PWA__: 'readonly',
67
68
  process: 'readonly',
68
69
  Capacitor: 'readonly',
69
- chrome: 'readonly'
70
+ chrome: 'readonly',
70
71
  },
71
72
 
72
73
  // add your custom rules here
@@ -97,6 +98,9 @@ module.exports = {
97
98
  'no-nested-ternary': 'off',
98
99
  'max-classes-per-file': 'off',
99
100
 
101
+ 'no-shadow': 'off',
102
+ '@typescript-eslint/no-shadow': 'error',
103
+
100
104
  'import/first': 'off',
101
105
  'import/namespace': 'error',
102
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