tiny-vue_version0/internals/cli/src/index.ts

53 lines
2.5 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env node
import { Command, Option } from 'commander'
import { createIconSaas } from './commands/create/index.js'
import { buildUi, buildEntry, buildRuntime, buildReact, buildEntryReact, chartTheme } from './commands/build'
import { releaseAurora } from './commands/release/releaseAurora'
const program = new Command()
program.command('release:aurora').description('转换为aurora的包').action(releaseAurora)
program.command('create:icon-saas').description('同步生成 icon-saas').action(createIconSaas)
program.command('build:entry-react').description('生成 react 组件库入口').action(buildEntryReact)
program.command('build:entry').description('生成组件库入口').action(buildEntry)
program.command('build:chartTheme').description('切换chart主题').action(chartTheme)
program
.command('build:ui')
.description('打包组件库')
.argument('[names...]', '构建指定组件,如 button alert不指定则构建全量组件')
.addOption(new Option('-v --vue-versions <vueVersions...>', '目标框架,默认所有').choices(['2', '2.7', '3']))
.addOption(new Option('-f --formats <formats...>', '目标格式,默认 ["es"]').choices(['es', 'cjs']))
.addOption(new Option('-t --build-target <buildTarget>', '组件的目标版本'))
.addOption(new Option('-d --design <design>', '构建的目标设计规范'))
.option('-s, --scope <scope>', 'npm scope默认是 opentiny会以 @opentiny 发布到 npm')
.option('-c, --clean', '清空构建目录')
.option('--no-dts', '不生成 dts')
.action(buildUi)
program
.command('build:runtime')
.description('打包组件 runtime 包')
.addOption(new Option('-v --vue-versions <vueVersions...>', '目标框架,默认所有').choices(['2', '2.7', '3']))
.option('-m, --min', '是否压缩输出文件', false)
.option('-vi, --isVisualizer', '是否分析打包产物', false)
.option('--tiny_mode', '输出的模板类型', 'pc')
.action(buildRuntime)
program
.command('build:react')
.description('打包 react 组件库')
.argument('[names...]', '构建指定组件,如 button alert不指定则构建全量组件')
.addOption(new Option('-f --formats <formats...>', '目标格式,默认 ["es"]').choices(['es', 'cjs']))
.addOption(new Option('-t --build-target <buildTarget>', '组件的目标版本'))
.option('-s, --scope <scope>', 'npm scope默认是 opentiny会以 @opentiny 发布到 npm')
.option('-c, --clean', '清空构建目录')
.option('--no-dts', '不生成 dts')
.action(buildReact)
program.parse()