@@ -9,14 +9,14 @@ import { red, green, bold } from 'kolorist'
9
9
10
10
import ejs from 'ejs'
11
11
12
- import * as banners from './utils/banners'
12
+ import * as banners from './utils/banners.js '
13
13
14
- import renderTemplate from './utils/renderTemplate'
15
- import { postOrderDirectoryTraverse , preOrderDirectoryTraverse } from './utils/directoryTraverse'
16
- import generateReadme from './utils/generateReadme'
17
- import getCommand from './utils/getCommand'
18
- import renderEslint from './utils/renderEslint'
19
- import { FILES_TO_FILTER } from './utils/filterList'
14
+ import renderTemplate from './utils/renderTemplate.js '
15
+ import { postOrderDirectoryTraverse , preOrderDirectoryTraverse } from './utils/directoryTraverse.js '
16
+ import generateReadme from './utils/generateReadme.js '
17
+ import getCommand from './utils/getCommand.js '
18
+ import renderEslint from './utils/renderEslint.js '
19
+ import { FILES_TO_FILTER } from './utils/filterList.js '
20
20
21
21
function isValidPackageName ( projectName ) {
22
22
return / ^ (?: @ [ a - z 0 - 9 - * ~ ] [ a -z 0 -9 -* ._ ~ ] * \/ ) ? [ a - z 0 - 9 - ~ ] [ a - z 0 - 9 - ._ ~ ] * $ / . test ( projectName )
@@ -107,7 +107,8 @@ async function init() {
107
107
argv . cypress ??
108
108
argv . nightwatch ??
109
109
argv . playwright ??
110
- argv . eslint
110
+ argv . eslint ??
111
+ argv . vueUse
111
112
) === 'boolean'
112
113
113
114
let targetDir = argv . _ [ 0 ]
@@ -127,6 +128,7 @@ async function init() {
127
128
needsE2eTesting ? : false | 'cypress' | 'nightwatch' | 'playwright'
128
129
needsEslint ? : boolean
129
130
needsPrettier ? : boolean
131
+ needsVueUse ? : boolean
130
132
} = { }
131
133
132
134
try {
@@ -265,6 +267,14 @@ async function init() {
265
267
initial : false ,
266
268
active : 'Yes' ,
267
269
inactive : 'No'
270
+ } ,
271
+ {
272
+ name : 'needsVueUse' ,
273
+ type : ( ) => ( isFeatureFlagsUsed ? null : 'toggle' ) ,
274
+ message : 'Add VueUse - Collection of essential Composition Utilities?' ,
275
+ initial : false ,
276
+ active : 'Yes' ,
277
+ inactive : 'No'
268
278
}
269
279
] ,
270
280
{
@@ -290,7 +300,8 @@ async function init() {
290
300
needsPinia = argv . pinia ,
291
301
needsVitest = argv . vitest || argv . tests ,
292
302
needsEslint = argv . eslint || argv [ 'eslint-with-prettier' ] ,
293
- needsPrettier = argv [ 'eslint-with-prettier' ]
303
+ needsPrettier = argv [ 'eslint-with-prettier' ] ,
304
+ needsVueUse = argv . vueUse
294
305
} = result
295
306
296
307
const { needsE2eTesting } = result
@@ -384,6 +395,10 @@ async function init() {
384
395
renderEslint ( root , { needsTypeScript, needsCypress, needsCypressCT, needsPrettier } )
385
396
}
386
397
398
+ if ( needsVueUse ) {
399
+ render ( 'config/vueUse' )
400
+ }
401
+
387
402
// Render code template.
388
403
// prettier-ignore
389
404
const codeTemplate =
0 commit comments