1 Star 0 Fork 0

疋疋 / autoversion - package版本管理

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.plugins.help.md 3.26 KB
一键复制 编辑 原始数据 按行查看 历史
疋疋 提交于 2021-12-17 14:58 . 更新了写法及其说明

记录一下插件编写的过

安装模块

  • 编写插件所需要的基础模块(使用 ts 来写)

    cnpm i -D commander typescript rimraf reflect-metadata chalk ts-node @types/node
  • 测试单元的模块(使用 jest 来做测试用例等)

    cnpm i -D ts-jest jest @types/jest
  • 需要打包成 umd 之类的模块时使用的

    cnpm i -D rollup rollup-plugin-terser
  • 可选模块

    cnpm i -D @types/bluebird bluebird
  • 模块说明

    包名 用途
    commander 完整的 node.js 命令行解决方案。
    chalk console.log 着色器
    @types/bluebird bluebird 的声明包
    @types/jest jest 的声明包
    @types/node node 的声明包
    bluebird 高性能的 Promise 库,支持并行处理
    jest 单元测试插件
    reflect-metadata ts 启用了装饰器特性的时候需要的插件
    rimraf (使用时注意好路径)删除文件夹用的插件,用于编译前先删除输出目录
    rollup (编译使用)用于将插件进行转换并打包处理
    rollup-plugin-terser 可用于清理代码编译时,代码中存留的 console 或 debugger 代码
    ts-jest 实现 ts 的单元测试
    typescript 代码编写环境

发布过程中遇到的问题

  • 如果需要执行在 mac 环境下运行,输出的主文件第一行注释声明是必不可少的

    #!/usr/bin/env node
  • 发布前,可以只要用指令检查是否已经登录过用户

    npm who am i
  • 登录账户及发布之前,可以查看下 npm 的 registry 设置是否为 http://registry.npmjs.org,如果不是的话,执行下面的指令进行更换

    npm config set registry=http://registry.npmjs.org
  • 使用该指令可以进行登录操作,前提需要有 npm 帐号

    npm adduser
  • 因为使用了@XXX/YYY 的包的写法,

    • 执行发布指令前,需要在 npm 的账户上去创建一个组织名称为“XXX”,并添加该登录的账户到组织内
    • 因为使用了@XXX/YYYY 的包的写法,所以发布的时候需要使用下方的指令(强制公开,package.json 增加 private:false 无法达到目的)
    npm publish --access public

待确认的问题

  • 同一个包每天貌似只能发布 3 次(尚未测试完全),超过 3 次会提示 24 小时之内无法重新发布?

  • 如果发布的包撤回了以后需要重新发布,则需要等待 24 小时

#!/usr/bin/env node
JavaScript
1
https://gitee.com/some21/autoversion.git
git@gitee.com:some21/autoversion.git
some21
autoversion
autoversion - package版本管理
master

搜索帮助

53164aa7 5694891 3bd8fe86 5694891