refactor(cli): improve packageJson generate (#854)
This commit is contained in:
parent
6db6a58c27
commit
bfd1d1692f
@ -1,5 +1,5 @@
|
|||||||
import type { File, ResolvedData } from './types.js'
|
import type { File, ResolvedData } from './types.js'
|
||||||
import { kebabCase } from '@pengzhanbo/utils'
|
import { attemptAsync, kebabCase } from '@pengzhanbo/utils'
|
||||||
import spawn from 'nano-spawn'
|
import spawn from 'nano-spawn'
|
||||||
import _sortPackageJson from 'sort-package-json'
|
import _sortPackageJson from 'sort-package-json'
|
||||||
import { Mode } from './constants.js'
|
import { Mode } from './constants.js'
|
||||||
@ -47,7 +47,7 @@ export async function createPackageJson(
|
|||||||
pkg.description = siteDescription
|
pkg.description = siteDescription
|
||||||
|
|
||||||
if (packageManager !== 'npm') {
|
if (packageManager !== 'npm') {
|
||||||
let version = await getPackageManagerVersion(packageManager)
|
let [, version] = await attemptAsync(getPackageManagerVersion, packageManager)
|
||||||
if (version) {
|
if (version) {
|
||||||
if (packageManager === 'yarn' && version.startsWith('1')) {
|
if (packageManager === 'yarn' && version.startsWith('1')) {
|
||||||
version = '4.10.3'
|
version = '4.10.3'
|
||||||
@ -63,7 +63,7 @@ export async function createPackageJson(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const userInfo = await getUserInfo()
|
const [, userInfo] = await attemptAsync(getUserInfo)
|
||||||
if (userInfo) {
|
if (userInfo) {
|
||||||
pkg.author = userInfo.username + (userInfo.email ? ` <${userInfo.email}>` : '')
|
pkg.author = userInfo.username + (userInfo.email ? ` <${userInfo.email}>` : '')
|
||||||
}
|
}
|
||||||
@ -112,23 +112,12 @@ export async function createPackageJson(
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function getUserInfo() {
|
async function getUserInfo() {
|
||||||
try {
|
|
||||||
const { output: username } = await spawn('git', ['config', '--global', 'user.name'])
|
const { output: username } = await spawn('git', ['config', '--global', 'user.name'])
|
||||||
const { output: email } = await spawn('git', ['config', '--global', 'user.email'])
|
const { output: email } = await spawn('git', ['config', '--global', 'user.email'])
|
||||||
console.log('userInfo', username, email)
|
|
||||||
return { username, email }
|
return { username, email }
|
||||||
}
|
}
|
||||||
catch {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
async function getPackageManagerVersion(pkg: string) {
|
async function getPackageManagerVersion(pkg: string) {
|
||||||
try {
|
|
||||||
const { output } = await spawn(pkg, ['--version'])
|
const { output } = await spawn(pkg, ['--version'])
|
||||||
return output
|
return output
|
||||||
}
|
}
|
||||||
catch {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user