create-quasar 1.0.30 → 1.1.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/index.js CHANGED
@@ -89,6 +89,7 @@ async function run () {
89
89
  : [
90
90
  { title: 'Yes, use Yarn (recommended)', value: 'yarn' },
91
91
  { title: 'Yes, use NPM', value: 'npm' },
92
+ { title: 'Yes, use PNPM (experimental support)', value: 'pnpm' },
92
93
  { title: 'No, I will handle that myself', value: false }
93
94
  ]
94
95
  )
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-quasar",
3
- "version": "1.0.30",
3
+ "version": "1.1.0",
4
4
  "description": "Scaffolds Quasar Apps, AppExtensions or UI kits",
5
5
  "author": {
6
6
  "name": "Razvan Stoenescu",
@@ -0,0 +1,3 @@
1
+ # pnpm-related options
2
+ shamefully-hoist=true
3
+ strict-peer-dependencies=false
@@ -39,7 +39,8 @@
39
39
  <% } } %>
40
40
  <% if (preset.i18n) { %>"@intlify/vite-plugin-vue-i18n": "^3.3.1",<% } %>
41
41
  "@quasar/app-vite": "^1.0.0",
42
- "autoprefixer": "^10.4.2"
42
+ "autoprefixer": "^10.4.2",
43
+ "postcss": "^8.4.14"
43
44
  },
44
45
  "engines": {
45
46
  "node": "^18 || ^16 || ^14.19",
@@ -162,6 +162,7 @@ module.exports = configure(function (/* ctx */) {
162
162
  swFilename: 'sw.js',
163
163
  manifestFilename: 'manifest.json',
164
164
  useCredentialsForManifestTag: false,
165
+ // useFilenameHashes: true,
165
166
  // extendGenerateSWOptions (cfg) {}
166
167
  // extendInjectManifestOptions (cfg) {},
167
168
  // extendManifestJson (json) {}
@@ -0,0 +1,3 @@
1
+ # pnpm-related options
2
+ shamefully-hoist=true
3
+ strict-peer-dependencies=false
@@ -0,0 +1,3 @@
1
+ # pnpm-related options
2
+ shamefully-hoist=true
3
+ strict-peer-dependencies=false
@@ -14,7 +14,7 @@
14
14
  "dependencies": {
15
15
  <% if (typescriptConfig === 'class') { %>"vue-class-component": "^8.0.0-rc.1",<% } %>
16
16
  <% if (preset.axios) { %>"axios": "^0.21.1",<% } %>
17
- <% if (preset.i18n) { %>"vue-i18n": "^9.0.0",<% } %>
17
+ <% if (preset.i18n) { %>"vue-i18n": "^9.2.2",<% } %>
18
18
  <% if (preset.pinia) { %>"pinia": "^2.0.11",<% } %>
19
19
  <% if (preset.vuex) { %>"vuex": "^4.0.1",<% } %>
20
20
  "@quasar/extras": "^1.0.0",
@@ -163,6 +163,7 @@ module.exports = configure(function (/* ctx */) {
163
163
  swFilename: 'sw.js',
164
164
  manifestFilename: 'manifest.json',
165
165
  useCredentialsForManifestTag: false,
166
+ // useFilenameHashes: true,
166
167
  // extendGenerateSWOptions (cfg) {}
167
168
  // extendInjectManifestOptions (cfg) {},
168
169
  // extendManifestJson (json) {}
@@ -3,10 +3,28 @@ import { createI18n } from 'vue-i18n';
3
3
 
4
4
  import messages from 'src/i18n';
5
5
 
6
+ export type MessageLanguages = keyof typeof messages;
7
+ // Type-define 'en-US' as the master schema for the resource
8
+ export type MessageSchema = typeof messages["en-US"];
9
+
10
+ // See https://vue-i18n.intlify.dev/guide/advanced/typescript.html#global-resource-schema-type-definition
11
+ /* eslint-disable @typescript-eslint/no-empty-interface */
12
+ declare module "vue-i18n" {
13
+ // define the locale messages schema
14
+ export interface DefineLocaleMessage extends MessageSchema {}
15
+
16
+ // define the datetime format schema
17
+ export interface DefineDateTimeFormat {}
18
+
19
+ // define the number format schema
20
+ export interface DefineNumberFormat {}
21
+ }
22
+ /* eslint-enable @typescript-eslint/no-empty-interface */
23
+
6
24
  export default boot(({ app }) => {
7
25
  const i18n = createI18n({
8
- locale: 'en-US',
9
- globalInjection: true,
26
+ locale: 'en-US',<% if (typescriptConfig === 'composition' || typescriptConfig === 'composition-setup') { %>
27
+ legacy: false,<% } %>
10
28
  messages,
11
29
  });
12
30
 
@@ -0,0 +1,3 @@
1
+ # pnpm-related options
2
+ shamefully-hoist=true
3
+ strict-peer-dependencies=false
@@ -14,7 +14,7 @@
14
14
  "dependencies": {
15
15
  <% if (typescriptConfig === 'class') { %>"vue-class-component": "^8.0.0-rc.1",<% } %>
16
16
  <% if (preset.axios) { %>"axios": "^0.21.1",<% } %>
17
- <% if (preset.i18n) { %>"vue-i18n": "^9.0.0",<% } %>
17
+ <% if (preset.i18n) { %>"vue-i18n": "^9.2.2",<% } %>
18
18
  <% if (preset.pinia) { %>"pinia": "^2.0.11",<% } %>
19
19
  <% if (preset.vuex) { %>"vuex": "^4.0.1",<% } %>
20
20
  "@quasar/extras": "^1.0.0",
@@ -3,10 +3,28 @@ import { createI18n } from 'vue-i18n';
3
3
 
4
4
  import messages from 'src/i18n';
5
5
 
6
+ export type MessageLanguages = keyof typeof messages;
7
+ // Type-define 'en-US' as the master schema for the resource
8
+ export type MessageSchema = typeof messages["en-US"];
9
+
10
+ // See https://vue-i18n.intlify.dev/guide/advanced/typescript.html#global-resource-schema-type-definition
11
+ /* eslint-disable @typescript-eslint/no-empty-interface */
12
+ declare module "vue-i18n" {
13
+ // define the locale messages schema
14
+ export interface DefineLocaleMessage extends MessageSchema {}
15
+
16
+ // define the datetime format schema
17
+ export interface DefineDateTimeFormat {}
18
+
19
+ // define the number format schema
20
+ export interface DefineNumberFormat {}
21
+ }
22
+ /* eslint-enable @typescript-eslint/no-empty-interface */
23
+
6
24
  export default boot(({ app }) => {
7
- const i18n = createI18n({
8
- locale: 'en-US',
9
- globalInjection: true,
25
+ const i18n = createI18n<{ message: MessageSchema }, MessageLanguages>({
26
+ locale: 'en-US',<% if (typescriptConfig === 'composition' || typescriptConfig === 'composition-setup') { %>
27
+ legacy: false,<% } %>
10
28
  messages,
11
29
  });
12
30
 
package/utils/index.js CHANGED
@@ -59,8 +59,8 @@ module.exports.renderTemplate = function (templateDir, scope) {
59
59
  const targetRelativePath = rawPath.split('/').map(name => {
60
60
  // dotfiles are ignored when published to npm, therefore in templates
61
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")
62
+ // Also, some tools like ESLint expect valid config files, therefore
63
+ // we also prefix files like "package.json" too. (e.g. "_package.json")
64
64
  return name.startsWith('_')
65
65
  ? name.slice(1)
66
66
  : name