Skip to content

shaobeichen/shaoo

Repository files navigation

shaoo

  1. 安装 pnpm
  2. npm init
  3. 修改 package.json, 包管理器限制
{
  // 只允许使用pnpm来开发
  // preinstall: 在install之前(首次)执行
  // postinstall: 在install之后(首次)执行
  "scripts": {
    "preinstall": "npx only-allow pnpm"
  },
  // 防止最外层包被发布出去,设为true以后发布时会提醒你
  "private": true,
  "engines": {
    "node": ">=16"
  }
}
  1. 手动添加 pnpm-workspace.yaml
packages:
  - 'packages/**'
  1. 添加 packages 文件夹
  2. 添加一个子包 test-share
  3. 进入子包 pnpm init
  4. 修改 package.json
{
  "publishConfig": {
    "access": "public"
  }
}
  1. 子包名叫 @shaoo/test-share
  2. 添加一个子包 test
  3. 进入子包 pnpm init 同时修改 package.json
  4. 子包名叫 @shaoo/test
  5. test 里添加依赖
pnpm -F @shaoo/test add @shaoo/test-share
{
  "@shaoo/test-share": "workspace:*"
}
  1. 登录 npm
npm login
  1. 安装发包依赖
pnpm install @changesets/cli -w  --save-dev
pnpm changeset init
  1. 预发布
pnpm changeset pre enter <tag>
# alpha	是内部测试版,一般不向外部发布,会有很多Bug,一般只有测试人员使用
# beta	也是测试版,这个阶段的版本会一直加入新的功能。在Alpha版之后推出
# rc	(Release Candidate) 发行候选版本。RC版不会再加入新的功能了,主要着重于除错

pnpm changeset
# major minor patch
# 1.0.0
pnpm changeset version
pnpm changeset publish
# error an error occurred while publishing @shaoo/test:
# error  '@shaoo/[email protected]' is not in this registry.
# npm规定包名中,@后是用户名 或者是组织
pnpm changeset pre exit
  1. 正式发布
pnpm changeset
pnpm changeset version
pnpm changeset publish