FUNC - 轻量类型化 CLI 框架

工具链

funcgo 是用于本地开发、项目配置和生产打包的配套 CLI。模板会自动把这些命令写入 package.json

如果你用默认 func 模板创建项目,funcgo 已经集成好了。你可以直接运行模板脚本,不需要再次执行 funcgo setup

Setup

funcgo setup 会检查你的项目并打印建议配置。当你把 funcgo 添加到已有项目,或修复自定义配置时可以使用它。添加 --fix 会写入推荐字段。

funcgo setup
funcgo setup --fix

Setup 可以推断或写入 func.entryfunc.outDirbinscripts.devscripts.build

开发

funcgo dev 会通过本地运行时执行 TypeScript 入口。使用 -- 将参数传给你的 CLI。

funcgo dev -- hello
funcgo dev -f src/index.ts -- hello --help

构建

funcgo build 会打包配置的入口、写入输出目录,并创建可执行的 bin.js

funcgo build
funcgo build -o dist
funcgo build -e react -e ink

使用 -e--external 指定应保留为外部依赖的包。

配置

这些字段是你的包和 funcgo 之间的主要约定:

"func": {
  "entry": "src/index.ts",
  "outDir": "dist"
},
"bin": {
  "my-cli": "./dist/bin.js"
}