内容提要
本文介绍了如何使用PNPM和changesets CLI发布NPM TypeScript包“npm-package-template-changesets”。通过自动化,库的更改会生成拉取请求,包含新版本的变更和变更日志。支持CJS和ESM格式,步骤包括安装依赖、生成配置文件、添加文件、更新package.json和创建GitHub工作流,最后生成更改集并推送到仓库。
关键要点
-
本文介绍了如何使用PNPM和changesets CLI发布NPM TypeScript包。
-
库的更改会生成拉取请求,包含新版本的变更和变更日志。
-
支持CJS和ESM格式。
-
步骤包括安装依赖、生成配置文件、添加文件、更新package.json和创建GitHub工作流。
-
生成tsconfig文件,分别为tsconfig.build.json和tsconfig.json。
-
添加要发布的文件,例如src目录下的index.ts。
-
更新package.json,添加构建和发布脚本。
-
添加GitHub工作流文件以自动化发布过程。
-
初始化changesets并创建首次提交。
-
推送到仓库后检查Pull Requests并进行合并。
-
最后检查NPM上的包是否成功发布。
延伸解读
自动化发布的优势
使用changesets和GitHub Actions进行自动化发布,可以显著提高开发效率。每次库的更改都会自动生成拉取请求,确保版本控制和变更日志的准确性。这种方式减少了手动操作的错误风险,适合频繁更新的项目。
CJS与ESM的兼容性
本文提到的包同时支持CommonJS(CJS)和ECMAScript模块(ESM),这对于不同的用户群体非常重要。CJS适用于旧版Node.js环境,而ESM则提供了现代JavaScript的优势。开发者在发布时应考虑目标用户的环境,以确保兼容性。
GitHub工作流的配置
配置GitHub工作流是实现自动化发布的关键步骤。确保正确设置权限和环境变量,如GITHUB_TOKEN和NPM_TOKEN,以便顺利进行发布。此外,开发者需要在GitHub的设置中启用相关选项,以允许changesets创建拉取请求。
延伸问答
如何使用PNPM和changesets CLI发布NPM包?
首先安装PNPM并创建新项目,然后安装依赖,生成tsconfig文件,添加要发布的文件,更新package.json,创建GitHub工作流,最后生成更改集并推送到仓库。
什么是changesets CLI,它的作用是什么?
changesets CLI用于版本控制和发布NPM包,它可以自动生成变更集和变更日志,并创建拉取请求以便于管理版本更新。
如何配置GitHub工作流以自动化发布过程?
在项目中创建.github/workflows/publish.yml文件,配置触发条件、权限和发布步骤,包括安装依赖和运行发布命令。
如何生成tsconfig文件以支持不同的构建需求?
生成两个tsconfig文件:tsconfig.build.json用于构建,tsconfig.json用于开发,分别配置不同的rootDir和其他编译选项。
如何在package.json中添加构建和发布脚本?
在package.json的scripts部分添加build、release和ci:publish脚本,以便于构建和发布NPM包。
如何检查NPM上的包是否成功发布?
在推送更改并合并拉取请求后,访问NPM网站,搜索你的包名以确认包是否成功发布。