@bb-cli/base

中文文档
2.7.0发布于 2020/01/03SEE LICENSE IN LICENSETypeScriptCommonJS近 30 天下载 2939

可插接的共用设施和接口解析器

此软件包已被标记为弃用

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

中文使用文档
文档目录13 节
  1. 模块
  2. 职能
  3. cli: (中文(简体) ) object
  4. 错误 : object
  5. 日志 : object
  6. 嘘: object
  7. ui: object
  8. {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff…
  9. 颜色 : object
  10. 无效 : object
  11. utils.md2html (mdStr) string
  12. utils.md2term(mdStr) string
  13. 文件Exists( 文件) {} boolean

模块

语气 数字 : object

基于 指挥官 加上一些添加和覆盖.

错误 数字 : object

创建命令错误对象的新实例, 确保从错误类中正确延伸.

日志 数字 : object

基于默认的共享日志系统 npmlog 数据 系统.

嘘 数字 : object

可移植( Windows/Linux/OS X) Unix shell 命令的执行 基于 贝壳js

欧 数字 : object

终端用户界面(Prompting / Styles / Spinners / 进步)

倾斜 数字 : object

一套公用事业.

职能

文件Exists( 文件) ⇒ boolean

cli: (中文(简体) ) object

基于 指挥官 加上一些添加和覆盖.

链接数字 : https://github.com/tj/commander.js/ 页面存档备份,存于互联网档案馆
示例
创建带有3个子命令的主命令 :

import { cli } from '@bb-cli/base';

cli.version('0.0.1')
  .command('install [...packages]', 'install one or more packages')
  .command('search [query]', 'search with optional query')
  .command('list', 'list packages installed', {isDefault: true})
  .parse(process.argv);

创建 install 子命令 :

import { cli } from '@bb-cli/base';

cli
  .description('Install package from registry')
  .arguments('[...packages]', 'install one or more packages')
  .option('-f, --force [force]', 'force installation ', false)
  .option('-r, --registry [registry]', 'registry host ')
  .alias('i')
  .man( path.resolve(__dirname, '../../man/install.md'))
  .parse(process.argv);

let packages = cli.args; // get the packages as variadic arguments
let force = cli.force  // get the force option

错误 : object

创建命令错误对象的新实例, 确保从错误类中正确延伸.

示例
设置日志头 :

import { error } from '@bb-cli/base';

const out = sh.exec('ls', { silent: true });
if (out.code !== 0) {
  throw error({
    type: 'Shell.Exec',
    code: out.code,
    message: out.stderr.trim(),
  });
}

日志 : object

基于默认的共享日志系统 npmlog 数据 系统.

链接数字 : https://github.com/npm/npmlog (英语)
示例
设置日志头 :

import { log } from '@bb-cli/base';
import { name as packageName } from './package.json';
log.heading = `[${packageName}]`;

基本命令 :

log.silly(prefix, message, ...)
log.verbose(prefix, message, ...)
log.info(prefix, message, ...)
log.http(prefix, message, ...)
log.warn(prefix, message, ...)
log.error(prefix, message, ...)

建立全球域 LOG LEVEL:

LOG_LEVEL=verbose bb-my-command

嘘: object

可移植( Windows/Linux/OS X) Unix shell 命令的执行 基于 贝壳js

链接数字 : https://github.com/shelljs/shelljs (英语)
示例
基本示例

import { sh } from '@bb-cli/base';
sh.ls(`./`)
// or
sh.exec(`ls ./`, function(exitCode, stdOut, stdErr) {
    log.verbose('cmd exitcode:', exitCode);
    log.verbose('cmd output:', stdOut);
    log.verbose('cmd stderr:', stdErr);
});

ui: object

终端用户界面(Prompting / Styles / Spinners / 进步)

{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我马上来 Promise

创建自控 询问者 模块通过 inquirer.createPromptModule 方法.

仁爱: 静态常数 ui
访问 : 公开
链接数字 : https://github.com/sboudrias/Inquirer.js (英语)

参数类型说明
问 题array | object一组询问者的问题

示例
基本实例:

import { ui } from '@bb-cli/base';
const questions = [{
  type: 'input',
  name: 'name',
  message: 'Who are you?',
  default: 'Guest',
  validate: value => true,
  filter: value => value,
}];

ui.prompt(questions).then( answers => {
    // do something with the answers here.
})

颜色 : object

基于颜色样式的控制台 颜色

仁爱: 静态常数 ui
访问 : 公开
链接数字 : https://github.com/Marak/colors.js (英语)
示例
基本实例:

import { ui } from '@bb-cli/base';
let logInfo = ui.colors.info('Some info style output');
log.verbose(`Show ${logInfo}`);

自定义标题样式 :

let logHead = ui.colors.heading('Some bold white heading');
log.info(logHead);

颜色。 默认主题 : enum

颜色默认样式

仁爱静态圆柱形 colors
属性

名称类型默认
蠢货objectrainbow
投入objectgrey
动词objectcyan
提示objectgrey
资讯object["green","underline"]
数据objectgrey
帮助objectcyan
警告( e)objectyellow
调试objectblue
错误objectred
标题object["white","bold"]

无效 : object

一套公用事业.

utils.md2html (mdStr) string

将下标记转换为 html 输出

仁爱:静态方法 utils
回返数字 : string - html 字符串

参数类型说明
mdStr 数据string标记下的内容字符串

示例
基本示例

const htmlStr = utils.md2html(fs.readFileSync('some-markdown-file.md', 'utf8').toString());

utils.md2term(mdStr) string

仁爱:静态方法 utils
待办

  • 让它用颜色代替安西风格
参数类型说明
mdStr 数据string标记下的内容字符串

示例
基本示例

const termMdOut = utils.md2term(fs.readFileSync('some-markdown-file.md', 'utf8').toString());

文件Exists( 文件) {} boolean

仁爱:全球职能

参数类型
文件string

版本与发布记录

@bb-cli/base 共发布 27 个版本,首次发布于 2016/09/13;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.7.0latest2020/01/036 年前
2.6.12019/06/067 年前
2.6.02019/03/067 年前
2.6.0-pr.1pr2019/02/287 年前
2.6.0-pr.02019/02/287 年前
2.5.12019/01/317 年前

关于 @bb-cli/base 的常见问题

@bb-cli/base 是什么?

可插接的共用设施和接口解析器注意:该包已被作者标记为弃用——Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

如何安装 @bb-cli/base?

在项目目录运行 npm install @bb-cli/base,或使用 pnpm add / yarn add / bun add。

@bb-cli/base 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@bb-cli/base 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@bb-cli/base 可以商用吗?

@bb-cli/base 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

@bb-cli/base 的下载量有多少?

根据 npm 官方下载统计,@bb-cli/base 在 2026/10/08 – 2026/11/06 这 30 天内被下载 2,939 次,日均约 98 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@bb-cli/base 还在维护吗?

最新版本 2.7.0 发布于 2020/01/03(6 年前);至今共发布 27 个版本,其中过去 12 个月发布了 0 个;首次发布于 2016/09/13。作者已将其标记为弃用,新项目建议寻找替代方案。