From a0fd87a0d17529774935771b6f6bc5dc668ab1e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Fri, 29 Nov 2019 10:01:25 +0800 Subject: [PATCH] feat(cli): optimzie clean --- packages/vant-cli/src/commands/build.ts | 25 +++++++++++++++++++++---- packages/vant-cli/src/commands/clean.ts | 12 +++++++----- 2 files changed, 28 insertions(+), 9 deletions(-) diff --git a/packages/vant-cli/src/commands/build.ts b/packages/vant-cli/src/commands/build.ts index 695f7a754..452efdcc6 100644 --- a/packages/vant-cli/src/commands/build.ts +++ b/packages/vant-cli/src/commands/build.ts @@ -67,13 +67,11 @@ function buildPackage(isMinify: boolean) { }); } -export async function build() { - clean(); - +export async function buildESModuleOutputs() { await copy(SRC_DIR, ES_DIR); - await copy(SRC_DIR, LIB_DIR); start('Build esmodule outputs'); + try { setModuleEnv('esmodule'); await compileDir(ES_DIR); @@ -81,8 +79,13 @@ export async function build() { } catch (err) { error('Build esmodule outputs'); } +} + +export async function buildCommonjsOutputs() { + await copy(SRC_DIR, LIB_DIR); start('Build commonjs outputs'); + try { setModuleEnv('commonjs'); await compileDir(LIB_DIR); @@ -90,16 +93,22 @@ export async function build() { } catch (err) { error('Build commonjs outputs'); } +} +export async function buildStyleEntry() { start('Build style entry'); + try { genStyleEntry(); success('Build style entry'); } catch (err) { error('Build style entry'); } +} +export async function buildPackedOutputs() { start('Build packed outputs'); + try { genPackageEntry(); await buildPackage(false); @@ -109,3 +118,11 @@ export async function build() { error('Build packed outputs'); } } + +export async function build() { + await clean(); + await buildESModuleOutputs(); + await buildCommonjsOutputs(); + await buildStyleEntry(); + await buildPackedOutputs(); +} diff --git a/packages/vant-cli/src/commands/clean.ts b/packages/vant-cli/src/commands/clean.ts index d0fcd469f..dce7fb59d 100644 --- a/packages/vant-cli/src/commands/clean.ts +++ b/packages/vant-cli/src/commands/clean.ts @@ -1,8 +1,10 @@ -import { emptyDirSync } from 'fs-extra'; +import { emptyDir } from 'fs-extra'; import { ES_DIR, LIB_DIR, DIST_DIR } from '../common/constant'; -export function clean() { - emptyDirSync(ES_DIR); - emptyDirSync(LIB_DIR); - emptyDirSync(DIST_DIR); +export async function clean() { + await Promise.all([ + emptyDir(ES_DIR), + emptyDir(LIB_DIR), + emptyDir(DIST_DIR) + ]); }