UNPKG

@wgoo/cli

Version:

Wgoo Cli 是一个 React 组件库构建工具,通过 Wgoo Cli 可以快速搭建一套功能完备的 React 组件库。

64 lines (55 loc) 1.39 kB
const execa = require('execa'); const { ora } = require('../common/logger'); const { SCRIPT_EXTS, SRC_DIR } = require('../common/constant'); // type messages = { // start: string; // succeed: string; // failed: string; // }; function runCommand(cmd, options, messages) { const spinner = ora(messages.start).start(); return new Promise((resolve) => { execa(cmd, options, { env: { FORCE_COLOR: true }, }) .then(() => { spinner.succeed(messages.succeed); resolve(true); }) .catch((err) => { spinner.fail(messages.failed); console.log(err.stdout); resolve(false); }); }); } function eslint() { return runCommand( 'eslint', [SRC_DIR, '--fix', '--ext', [SCRIPT_EXTS, '.md'].join(',')], { start: 'Running eslint...', succeed: 'ESLint Passed.', failed: 'ESLint failed!', } ); } function stylelint() { return runCommand( 'stylelint', [`${SRC_DIR}/**/*.css`, `${SRC_DIR}/**/*.less`, `${SRC_DIR}/**/*.sass`, '--fix'], { start: 'Running stylelint...', succeed: 'Stylelint Passed.', failed: 'Stylelint failed!', } ); } async function lint() { const eslintPassed = await eslint(); const stylelintPassed = await stylelint(); if (!eslintPassed || !stylelintPassed) { process.exit(1); } } module.exports = { lint };