UNPKG

jarvis-react

Version:

React脚手架及命令行工具合集

70 lines (69 loc) 2.01 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getUserConfig = exports.readProjectPackage = exports.convertTime = exports.resolveProjectFile = exports.logger = exports.defaultBuildOptions = void 0; const path_1 = require("path"); const chalk_1 = require("chalk"); const ora_1 = __importDefault(require("ora")); const fs_extra_1 = __importDefault(require("fs-extra")); exports.defaultBuildOptions = { mode: 'app', outDir: 'dist', port: 3000, }; /** * 打印信息 */ exports.logger = { cyan: (text) => { console.log(chalk_1.cyan(text)); }, gray: (text) => { console.log(chalk_1.gray(text)); }, success: (text) => { return ora_1.default().succeed(text); }, error: (text) => { return ora_1.default().fail(text); }, warn: (text) => { console.log(chalk_1.yellow(text)); }, }; function resolveProjectFile(filepath) { return path_1.join(process.cwd(), filepath); } exports.resolveProjectFile = resolveProjectFile; function convertTime(time) { if (typeof time !== 'number') { return '0s'; } const second = time / 1000; if (second <= 60) { return `${second}s`; } return `${Math.floor(second / 100)}m${(second % 60).toFixed(2)}s`; } exports.convertTime = convertTime; function readProjectPackage() { const pkg = fs_extra_1.default.readFileSync(resolveProjectFile('package.json'), { encoding: 'utf-8' }); return JSON.parse(pkg); } exports.readProjectPackage = readProjectPackage; function getUserConfig() { const path = resolveProjectFile('jarvis.config.js'); const options = { ...exports.defaultBuildOptions }; try { return { ...options, ...require(path), }; } catch { return options; } } exports.getUserConfig = getUserConfig;