私有化为 true 时,在 publish 时 npm 将不会处理该 package,你可以在项目的根目录配置,或在不需要被 publish 的 workspace 中配置它 {"name":"my-monorepo","private":true,"script":{"dev":"pnpm -r dev"}} 1. 2. 3. 4. 5. 6. 7. 3.2pnpm-workspace.yaml 在该项目中指定位于 my-monorepo/ap...
pnpm add --global pnpm-workspace-publisher 然后在 pnpm workspace 内(通过pnpm-workspace.yaml识别),执行ws-publish。 此工具会自动发布 workspace 内版本号有变化的包和依赖它们的包。 此工具只处理 workspace 内各包之间的依赖,不考虑外部依赖。 即:包发布时,不会更新外部依赖的版本号;也不会因外部依赖有新版...
"@qftjs/monorepo2": "workspace:^1.0.0", "axios": "^0.27.2" } } 在设置依赖版本的时候推荐用workspace:*,这样就可以保持依赖的版本是工作空间里最新版本,不需要每次手动更新依赖版本。 当pnpm publish的时候,会自动将package.json中的workspace修正为对应的版本号。 只允许pnpm 当在项目中使用pnpm时,如果...
至于utils的版本为workspace:*,是因为pnpm是由workspace管理的,所以有一个前缀workspace可以指向utils下的工作空间从而方便本地调试各个包直接的关联引用,但这种引用会在publish时自动被pnpm纠正为正常版本。你可以在官网找到workspace version更多信息。 2. 组件的package.json配置 基础框架搭建好后,我们再看下如何配置组件...
"package-b": "workspace:^" }, } 这样在根目录进行pnpm install时,pnpm会自动帮我们处理包之间的引用关系。 看到这,你可能会有些疑问,那我将A包发布到npm上时,还存在这个workspace的协议不就有问题了吗?这一点pnpm官方也替我们处理了,通过pnpm publish时,pnpm会将这些workspace协议自动转换为当前包的正式版本...
"name": "pnpm-workspace-publisher", "version": "1.0.0", "version": "1.0.1", "description": "快捷发布 pnpm workspace 下的多个 npm 包", "homepage": "https://github.com/anjianshi/pnpm-workspace-publisher/", "bugs": { @@ -25,7 +25,7 @@ "ws-publish": "./dist/cli.js" }, ...
至于utils的版本为workspace:*,是因为pnpm是由workspace管理的,所以有一个前缀workspace可以指向utils下的工作空间从而方便本地调试各个包直接的关联引用,但这种引用会在publish时自动被pnpm纠正为正常版本。你可以在官网找到workspace version更多信息。 2. 组件的package.json配置 ...
对于monorepo项目使用它会更加方便,当然单包也可以使用。主要区别在于项目下有没有pnpm-workspace.yaml,如果未指定多包,那么会当作普通包进行处理。那么,我们来看一下具体的步骤:1. 安装 sql复制代码pnpm add @changesets/cli -Dw 2. 初始化changeset配置 csharp复制代码npx changeset init 这个命令会在根目录下...
当pnpm publish的时候,会自动将package.json中的workspace修正为对应的版本号。 只允许pnpm 当在项目中使用pnpm时,如果不希望用户使用yarn或者npm安装依赖,可以将下面的这个preinstall脚本添加到工程根目录下的package.json中: 代码语言:javascript 代码运行次数:0 ...
它需要使用方显式地在 dependencies 中做出类似"foo": "workspace:*"声明 pnpm - publish 在包进行 publish 之前,pnpm 会做两件事情 pnpm 会将类似"workspace:^1.0.0"转换为"^1.0.0" 将package.json 中publishConfig的定义覆盖到一级字段定义中,main、typings的改写对 ts 模块来说非常实用...