0.1.3 • Published 6 months ago

lau-cli v0.1.3

Weekly downloads
-
License
ISC
Repository
-
Last release
6 months ago

Npm 版本

devDependencies 依赖注解

"devDependencies": {
    // 用于命令行交互。
    "@inquirer/prompts": "^3.2.0",
    // Rollup 相关的插件,用于模块打包
    "@rollup/plugin-commonjs": "^25.0.3", // 支持 rollup 打包 commonjs 模块
    "@rollup/plugin-json": "^6.0.1", // 支持 rollup 打包 json 文件
    "@rollup/plugin-node-resolve": "^15.1.0", // 用于帮助 Rollup 解析和处理 Node.js 模块(Node.js 的 CommonJS 模块规范)
    "@rollup/plugin-terser": "^0.4.3", // Rollup 构建过程中对生成的JavaScript 代码进行压缩和混淆,以减小最终输出文件的体积。
    // TypeScript 的类型定义文件
    "@types/fs-extra": "^11.0.2",
    "@types/lodash": "^4.14.199",
    "@types/node": "^16.18.40",
    // 用于发起 HTTP 请求。
    "axios": "^1.5.0",
    // 在命令行中输出彩色文本。
    "chalk": "^4.1.2",
    // 命令行界面的解决方案
    "commander": "^11.0.0",
    // 扩展了标准 fs 模块的文件系统操作
    "fs-extra": "^11.1.1",
    // 一个提供实用函数的 JavaScript 库。
    "lodash": "^4.17.21",
    // 在命令行中显示日志符号。
    "log-symbols": "^4.1.0",
    // 用于在命令行中显示大字体的文本。
    "figlet": "^1.8.0",
    // 创建可旋转的加载器
    "ora": "5",
    // 估算操作进度。
    "progress-estimator": "^0.3.1",
    // 一个特定于项目或定制的 CLI 工具
    "pure-thin-cli": "^0.1.8",
    "rollup": "^4.6.1",
    "rollup-plugin-dts": "^5.3.0", // 是一个 Rollup 插件,它的主要作用是处理 TypeScript 的声明文件(.d.ts 文件)
    "rollup-plugin-esbuild": "^5.0.0",
    "rollup-plugin-node-externals": "^5.1.2", // 使 rollup 自动识别外部依赖
    "rollup-plugin-typescript2": "^0.36.0", // 支持 rollup 打包 ts 文件
    // 用于 Git 命令的 Node.js 封装。
    "simple-git": "^3.19.1",
    // TypeScript 运行时库。
    "tslib": "^2.6.1",
    "typescript": "^5.2.2"
},

目录结构

|- src/ # 项目资源
    |- command/  # 命令逻辑
    |- utils/   # 公共方法
    |- index.ts  # 命令入口文件

命令行交互

  • commander:解析命令行指令
  • ora:终端加载动画
  • progress-estimator:终端加载条动画
  • log-symbols:终端输出符号
  • chalk:终端字体美化
  • @inquirer/prompts:终端输入交互

打包工具

  • rollup(打包工具有很多选择,webpack)
  • 这里选用 rollup 是因为它相对更适合 npm 包的打包,自己对 webpack5 太熟悉了,跳出自己的舒适圈
  • @rollup/plugin-node-resolve:支持 rollup 打包 node.js 模块
  • @rollup/plugin-commonjs:支持 rollup 打包 commonjs 模块
  • @rollup/plugin-json:支持 rollup 打包 json 文件
  • rollup-plugin-typescript2:支持 rollup 打包 ts 文件
  • @rollup/plugin-terser:压缩打包代码
  • rollup-plugin-node-externals:使 rollup 自动识别外部依赖 :::warning 注意这里的 rollup-plugin-node-externals 版本是 5 的版本 不是最新的 6 的版本 "rollup-plugin-node-externals": "^5.1.2", :::

bin/index.js

# 告诉操作系统或 shell,应该使用 Node.js 来执行当前脚本
# 解决不同操作系统都在node环境下执行
#!/usr/bin/env node

package.json

...
"files": [ // npm 包需要上传的文件
    "dist",
    "bin",
    "README.md"
  ],
  "bin": {
    "dawei": "bin/index.js" // npm 会在 .bin 目录中配置 dawei 执行 bin/index.js
  },
...

使用

# 使用模板创建项目
lau create

# 执行项目文件夹名称并选择模板创建项目
lau create [projectName]

# 更新脚手架到最新版本
lau update

# 查看脚手架版本
lau -v
lau --version

记录

# 添加本地文件
git add .
# 提交至本地仓库
git commit -m "update:xxx"
# 提交至远程仓库 (main分支)
git push origin main

#【patch-升级补丁版本;minor-升级此版本;major-升级主版本】
npm version patch
npm publish # 发布至npm仓库

# ⚠️Tips:npm镜像源需要配置为 https://registry.npmjs.org/
# 【淘宝镜像源:https://registry.npmmirror.com/】
npm config set registry https://registry.npmjs.org/
npm config set registry https://registry.npmmirror.com/

npm uninstall lau-cli -g # 先删除旧的
npm install lau-cli -g # 安装npm包
lau create // 执行命令创建项目模板
0.1.3

6 months ago

0.1.2

6 months ago

0.1.1

6 months ago

0.1.0

6 months ago

0.0.2

6 months ago

0.0.1

6 months ago