您好,如果喜欢我的文章,可以关注我的公众号「量子前端」,将不定期关注推送前端好文~

cimi——全自动发布NPM包的工具

  • 前言
  • Cimi
  • Cimi修改版本规则
  • 使用
  • 写在最后

前言

博主最近的时间一直投入concis组件库的开发工作,每次改完bug或者是新增完一些组件功能后都需要去发包、更新线上文档,这样一步步下来其实是比较麻烦的。

发一个新的NPM包你可能需要这些步骤:

  • 手动修改package.json中的version.
  • git add .git commit -m "xxxx"生成一个提交.
  • git push origin master 推送到远端.
  • 在github中打一个新tag.
  • npm publish将代码提交到NPM.

是不是很麻烦?这就是cimi的由来。

Cimi

cimi是一款全自动npm发包工具,一行命令帮助你git replase、创建git tag、发布npm包。

Cimi自动生成新版本号,自动生成commit message,创建tag,push到github,最后发布到npm中,整个过程只需要一行命令,解放你的双手!

示例如下:

可以看到,通过一行cimi patch master,完成了手改版本号git add/commitgit pushgit tapsnpm publish所有任务。

结合实际项目,你也可以像这样去配合cimi使用:

 "scripts": {"build": "rollup -c ./rollup.config.js","replase": "npm run build && cimi patch master",}

先通过构建工具打包文件,将文件发布到NPM中,这也是cimiconcis组件库中的一个实践,亲测很方便。博主也是把项目中自动更新package.json中的脚本给删掉了~

Cimi修改版本规则

Cimi共有三种规则,来进行发包,其实也就是确定版本号。

  • cimi patch 更新一个小版本,如1.1.0 -> 1.1.1,如bug修复;
  • cimi minor 更新一个中版本,如1.1.0 -> 1.2.0,如新增功能;
  • cimi major 更新一个大版本,如1.1.0 -> 2.1.0,如重构架构;

而分支默认为master,如果主分支为其他分支,应这样使用:

cimi patch main
cimi patch beta

使用

安装cimi:

# 全局安装cimi
npm i cimi -g
# 本地安装cimi
npm i cimi -D

以下是cimi -h的输出:

Usage: cimi [options]Options:-v, --version  output the version numberpatch          patch your new npm packageminor          minor your new npm packagemajor          major your new npm package-h, --help     display help for commandTip:You should run this script in the root directory of you project or run by npm scripts.Examples:$ cimi patch [branch] (default: master)$ cimi minor [branch] (default: master)$ cimi major [branch] (default: master)

写在最后

cimi是博主最近开始做的一个轮子,目前功能简单,也会在实际项目中获取新的灵感,代入到cimi中,也是欢迎大家体验。

相关链接:

cimi github
concis github
concis文档

感谢支持。

cimi——全自动发布NPM包的工具相关推荐

  1. 不会发布npm包?进来看看?

    前言 npm(Node Package Manager),一个Node的包管理器,平时我们常用的公共模块(插件)或者叫做包大多都放在上面,所以接下来要封装的插件,我们就简单称它为npm包,本文从就从这 ...

  2. 发布npm包到GitHub Packages

    发布Npm包到GitHub Packages Github集成了GitHub Packages功能,目前提供了Npm.Docker.Maven.NuGet.RubyGems的包管理工具,可以通过Git ...

  3. 发布npm包时遇到的问题及解决方法

    发布npm包时遇到的问题及解决方法 1.出现这个错误 no_perms Private mode enable, only admin can publish this module 错误输出内容 n ...

  4. (18) Node.js npm包管理工具

    一.npm概述 npm (Node Package Manager)是 Node.js 的包管理工具. 什么是包?包就是一坨代码,就是 Node.js 的第三方模块. 例如:JQuery模块,Boot ...

  5. node.js中npm包管理工具

    现在安装node.js,默认就会帮我们装上了npm包管理工具,npm主要用来下载,安装,管理第三方模块. 创建一个包描述文件: npm init [-y] 查看包的信息 npm info <pa ...

  6. Node.js学习之路--npm包管理工具操作汇总

    因为在学习使用Express(第三方Web开发框架)时需要下载这个包,所以使用npm包管理工具这个相关的操作,现在将其相关的操作进行汇总. npm命令在cmd或者powershell中进行;注意:使用 ...

  7. 万物根源-一分钟教你发布npm包

    Created By JishuBao on 2019-03-08 12:38:22 Recently revised in 2019-03-08 12:38:22   欢迎大家来到技术宝的掘金世界, ...

  8. Vue3学习笔记- NPM包管理工具

    导语   这篇分享是关于Vue3 系列的学习知识的整理的开始,能够对大家学习带来帮助.也是对自己能力的一种提升. 学习大纲 认识NPM 安装NPM 使用NPM NPM中级用法 了解package.js ...

  9. npm包管理工具与ES6官方模块化规范

    npm介绍 npm有两种含义 : 第一种: 包管理工具node package manager 第二种:npm网站代码托管平台 1.npm 全称node package manager 官方推出的包管 ...

最新文章

  1. 如何保证Qt状态机的最佳性能
  2. C#零碎知识点笔记(容易混淆的一些点)
  3. 刻意练习:Python基础 -- Task06. 字典与集合
  4. Design Pattern - Prototype(C#)
  5. python dataframe 取每行的最大值,在python数据框中的每一行中查找最大值
  6. redis数据结构对象
  7. Apollo使用ConfigBean装载配置
  8. OpenInfra Days China 2020 官网正式上线,含免费注册通道!
  9. php 与shell,[转]PHP与Shell交互
  10. codeM美团编程大赛初赛B轮E题
  11. 区块链之比特币的私钥,公钥和地址是什么?
  12. mysql主从搭建_手把手教你搭建MySQL主从架构
  13. 希赛软考学习包,助您快通过软考考试
  14. AR8035芯片手册 解析|CSDN创作打卡
  15. 冻结html表格标题列,HTML表格冻结第一列 | 学步园
  16. PCIE——第5章——Montevina 的 MCH 和 ICH
  17. 两款网页在线刷网站访客pv和ip的源码
  18. Linux的实时监测命令(watch)
  19. python文件路径path
  20. jar包本地能启动但不能在服务器上启动

热门文章

  1. 跳跳鱼小黄鸭跳跳猪玩具蓝牙单芯片方案
  2. MethodInvoker
  3. 艾德斯克林ajax,《地狱男爵》重启版:艾德斯克林加盟
  4. Delphi开发Web Service初探
  5. Open-cv中由cv2.drawContours(contours_img,cnts,-1,(0,0,255),3) 造成的cv2.error
  6. 计算机科学实验班高考线,北京工业大学计算机科学与技术(实验班)专业2016年在吉林理科高考录取最低分数线...
  7. 网站页面静态化,一般是这样搞的
  8. 解决KindEditor无法安装flash插件实现图片批量上传
  9. 收藏:​思科、华为等三大厂商路由器密码恢复方法和教程收录
  10. GIS 您的请求疑似攻击行为!