Skip to content

Commit ba8f0af

Browse files
extend cli to support VueUse library (#3)
Add VueUse --------- Co-authored-by: yordan.ramchev <[email protected]>
1 parent 9bba10e commit ba8f0af

File tree

4 files changed

+397
-49
lines changed

4 files changed

+397
-49
lines changed

index.ts

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ import { red, green, bold } from 'kolorist'
99

1010
import ejs from 'ejs'
1111

12-
import * as banners from './utils/banners'
12+
import * as banners from './utils/banners.js'
1313

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'
2020

2121
function isValidPackageName(projectName) {
2222
return /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(projectName)
@@ -107,7 +107,8 @@ async function init() {
107107
argv.cypress ??
108108
argv.nightwatch ??
109109
argv.playwright ??
110-
argv.eslint
110+
argv.eslint ??
111+
argv.vueUse
111112
) === 'boolean'
112113

113114
let targetDir = argv._[0]
@@ -127,6 +128,7 @@ async function init() {
127128
needsE2eTesting?: false | 'cypress' | 'nightwatch' | 'playwright'
128129
needsEslint?: boolean
129130
needsPrettier?: boolean
131+
needsVueUse?: boolean
130132
} = {}
131133

132134
try {
@@ -265,6 +267,14 @@ async function init() {
265267
initial: false,
266268
active: 'Yes',
267269
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'
268278
}
269279
],
270280
{
@@ -290,7 +300,8 @@ async function init() {
290300
needsPinia = argv.pinia,
291301
needsVitest = argv.vitest || argv.tests,
292302
needsEslint = argv.eslint || argv['eslint-with-prettier'],
293-
needsPrettier = argv['eslint-with-prettier']
303+
needsPrettier = argv['eslint-with-prettier'],
304+
needsVueUse = argv.vueUse
294305
} = result
295306

296307
const { needsE2eTesting } = result
@@ -384,6 +395,10 @@ async function init() {
384395
renderEslint(root, { needsTypeScript, needsCypress, needsCypressCT, needsPrettier })
385396
}
386397

398+
if (needsVueUse) {
399+
render('config/vueUse')
400+
}
401+
387402
// Render code template.
388403
// prettier-ignore
389404
const codeTemplate =

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
2-
"name": "create-vue",
3-
"version": "3.7.2",
2+
"name": "vue-cli-bootstrap",
3+
"version": "0.0.1",
44
"description": "An easy way to start a Vue project",
55
"type": "module",
66
"bin": {
7-
"create-vue": "outfile.cjs"
7+
"vue-cli-bootstrap": "outfile.cjs"
88
},
99
"files": [
1010
"outfile.cjs",

0 commit comments

Comments
 (0)