Skip to content

Commit 1f0303b

Browse files
committed
refactor: migrate the codebase to typescript
1 parent 9b2b1e4 commit 1f0303b

13 files changed

+81
-30
lines changed

β€Žindex.js renamed to β€Žindex.ts

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
11
#!/usr/bin/env node
2-
// @ts-check
32

4-
import fs from 'fs'
5-
import path from 'path'
3+
import * as fs from 'fs'
4+
import * as path from 'path'
65

76
import minimist from 'minimist'
87
import prompts from 'prompts'
98
import { red, green, bold } from 'kolorist'
109

11-
import renderTemplate from './utils/renderTemplate.js'
12-
import { postOrderDirectoryTraverse, preOrderDirectoryTraverse } from './utils/directoryTraverse.js'
13-
import generateReadme from './utils/generateReadme.js'
14-
import getCommand from './utils/getCommand.js'
15-
import renderEslint from './utils/renderEslint.js'
16-
import banner from './utils/banner.js'
10+
import renderTemplate from './utils/renderTemplate'
11+
import { postOrderDirectoryTraverse, preOrderDirectoryTraverse } from './utils/directoryTraverse'
12+
import generateReadme from './utils/generateReadme'
13+
import getCommand from './utils/getCommand'
14+
import renderEslint from './utils/renderEslint'
15+
import banner from './utils/banner'
1716

1817
function isValidPackageName(projectName) {
1918
return /^(?:@[a-z0-9-*~][a-z0-9-*._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(projectName)
@@ -89,7 +88,19 @@ async function init() {
8988

9089
const forceOverwrite = argv.force
9190

92-
let result = {}
91+
let result: {
92+
projectName?: string
93+
shouldOverwrite?: boolean
94+
packageName?: string
95+
needsTypeScript?: boolean
96+
needsJsx?: boolean
97+
needsRouter?: boolean
98+
needsPinia?: boolean
99+
needsVitest?: boolean
100+
needsCypress?: boolean
101+
needsEslint?: boolean
102+
needsPrettier?: boolean
103+
} = {}
93104

94105
try {
95106
// Prompts:
@@ -124,7 +135,7 @@ async function init() {
124135
},
125136
{
126137
name: 'overwriteChecker',
127-
type: (prev, values = {}) => {
138+
type: (prev, values) => {
128139
if (values.shouldOverwrite === false) {
129140
throw new Error(red('βœ–') + ' Operation cancelled')
130141
}
@@ -199,7 +210,7 @@ async function init() {
199210
},
200211
{
201212
name: 'needsPrettier',
202-
type: (prev, values = {}) => {
213+
type: (prev, values) => {
203214
if (isFeatureFlagsUsed || !values.needsEslint) {
204215
return null
205216
}

β€Žpackage.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@
3434
},
3535
"homepage": "https://github.com/vuejs/create-vue#readme",
3636
"devDependencies": {
37+
"@types/eslint": "^8.4.1",
38+
"@types/prompts": "^2.0.14",
39+
"@vue/tsconfig": "^0.1.3",
3740
"esbuild": "^0.14.23",
3841
"esbuild-plugin-license": "^1.2.2",
3942
"husky": "^7.0.4",

β€Žpnpm-lock.yaml

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

β€Žscripts/build.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ SOFTWARE.
2626

2727
await esbuild.build({
2828
bundle: true,
29-
entryPoints: ['index.js'],
29+
entryPoints: ['index.ts'],
3030
outfile: 'outfile.cjs',
3131
format: 'cjs',
3232
platform: 'node',

β€Žtsconfig.json

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"extends": "@vue/tsconfig/tsconfig.node.json",
3+
"include": ["index.ts", "utils/**/*"],
4+
"compilerOptions": {
5+
"strict": false
6+
}
7+
}
File renamed without changes.
File renamed without changes.

β€Žutils/directoryTraverse.js renamed to β€Žutils/directoryTraverse.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import fs from 'fs'
2-
import path from 'path'
1+
import * as fs from 'fs'
2+
import * as path from 'path'
33

44
export function preOrderDirectoryTraverse(dir, dirCallback, fileCallback) {
55
for (const filename of fs.readdirSync(dir)) {

β€Žutils/generateReadme.js renamed to β€Žutils/generateReadme.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import fs from 'fs'
2-
3-
import getCommand from './getCommand.js'
1+
import getCommand from './getCommand'
42

53
const sfcTypeSupportDoc = [
64
'',
File renamed without changes.

0 commit comments

Comments
Β (0)