From 3fb09b8ba50fedec062ed6f6c516858909a14df5 Mon Sep 17 00:00:00 2001 From: "guo.xu" Date: Sat, 6 Mar 2021 10:42:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20create-lib=E4=B8=8D=E5=86=8D=E4=B8=BB?= =?UTF-8?q?=E5=8A=A8=E5=AE=89=E8=A3=85=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/create-lib/package.json | 3 +-- packages/create-lib/src/create.ts | 21 +++++++++++++-------- packages/create-lib/src/utils.ts | 22 ---------------------- xus.config.ts | 5 +++++ 4 files changed, 19 insertions(+), 32 deletions(-) create mode 100644 xus.config.ts diff --git a/packages/create-lib/package.json b/packages/create-lib/package.json index dc6c048..cd27544 100644 --- a/packages/create-lib/package.json +++ b/packages/create-lib/package.json @@ -1,6 +1,6 @@ { "name": "@xus/create-lib", - "version": "0.1.2", + "version": "0.1.3", "description": "xus cli cmd create", "bin": { "create-lib": "dist/cli.js", @@ -33,7 +33,6 @@ "dependencies": { "chalk": "^4.1.0", "enquirer": "^2.3.6", - "execa": "^5.0.0", "log-symbols": "^4.0.0", "ora": "^5.3.0", "yargs-parser": "^20.2.6" diff --git a/packages/create-lib/src/create.ts b/packages/create-lib/src/create.ts index 61052c4..156b54d 100644 --- a/packages/create-lib/src/create.ts +++ b/packages/create-lib/src/create.ts @@ -1,7 +1,8 @@ import { prompt } from 'enquirer' -import { emptyDir, copy, getPkgManager, runCmd } from './utils' +import chalk from 'chalk' +import { emptyDir, copy, getPkgManager } from './utils' import { Spinner } from './spinner' -import { join } from 'path' +import { join, relative } from 'path' import { existsSync, mkdirSync, readdirSync, writeFileSync } from 'fs' const BuiltInTemp = ['ts-lib', 'ts-lib-lerna'] @@ -14,6 +15,7 @@ const FileMap: Record = { const spinner = new Spinner() export async function createTemp(args: { _: string[]; [key: string]: any }) { + const cwd = process.cwd() let projectDir = args._.shift() if (!projectDir) { const { name } = await prompt<{ name: string }>({ @@ -25,7 +27,7 @@ export async function createTemp(args: { _: string[]; [key: string]: any }) { projectDir = name } - const root = join(process.cwd(), projectDir) + const root = join(cwd, projectDir) if (!existsSync(root)) { mkdirSync(root, { recursive: true }) } else { @@ -85,9 +87,12 @@ export async function createTemp(args: { _: string[]; [key: string]: any }) { spinner.succeed(`Create project succeed`) const pkgManager = getPkgManager() - await runCmd(pkgManager, pkgManager === 'yarn' ? [] : ['install'], { - start: 'Install deps start', - succeed: 'Install deps succeed', - failed: 'Install deps failed' - }) + console.log(`Done. ready to run:\n`) + if (cwd !== root) { + console.log(chalk.green(` cd ${relative(cwd, root)}`)) + } + console.log( + chalk.green(` ${pkgManager === 'yarn' ? `yarn` : `npm install`}`) + ) + console.log() } diff --git a/packages/create-lib/src/utils.ts b/packages/create-lib/src/utils.ts index 2b4303b..c770bc1 100644 --- a/packages/create-lib/src/utils.ts +++ b/packages/create-lib/src/utils.ts @@ -1,4 +1,3 @@ -import execa from 'execa' import { mkdirSync, readdirSync, @@ -52,24 +51,3 @@ export type IRunCmdMessage = { succeed: string failed: string } - -export function runCmd( - cmd: string, - args: string[], - message: IRunCmdMessage, - options?: execa.Options -): Promise { - spinner.start(message.start) - return new Promise((resolve, reject) => { - execa(cmd, args, options) - .then(() => { - spinner.succeed(message.succeed) - resolve(true) - }) - .catch((err: any) => { - spinner.failed(message.failed) - error(err) - reject(false) - }) - }) -} diff --git a/xus.config.ts b/xus.config.ts new file mode 100644 index 0000000..8fd7242 --- /dev/null +++ b/xus.config.ts @@ -0,0 +1,5 @@ +export default { + release: { + branch: 'main' + } +}