pnpm publish不尊重package.json中的“files”字段

3lxsmp7m  于 2023-11-18  发布在  其他
关注(0)|答案(1)|浏览(195)

我在发布我的包时遇到了pnpm的一个奇怪行为。尽管我在package.json中明确指定了“files”字段,但似乎pnpm将我项目中的所有文件捆绑到发布的包中。
下面是我的包的一个片段.json:

"files": [
  "build",
  "README.md",
  "LICENSE"
]

字符串
在发布和安装我的包之后,我注意到我的包的node_modules目录包含了我所有项目文件的完整1:1副本,而不仅仅是指定的buildREADME.mdLICENSE
我试图解决这个问题的步骤:
已确保构建输出正确放置在构建目录中。
使用npm pack对软件包内容进行重命名。
忽略所有的文件's ',忽略特定的文件,等等一切都包括在内,反正
然而,这个问题仍然存在。这里有人在pnpm上遇到过这个问题吗?我真的很感激任何解决这个问题的见解或建议。提前感谢!
在npm中,它似乎工作正常
https://www.npmjs.com/package/zod-to-fields?activeTab=code
但一旦我安装在任何项目,我可以看到整个项目
我发布我的包与标志--访问公共
pnpm包生成tgz文件,文件只包含在文件packagejson中,所以我不知道为什么它会像x1c 0d1x那样工作

ndh0cuux

ndh0cuux1#

如果pnpm packnpm pack都报告了正确的文件,则package.json中的files字段没有任何错误。
您的zod-to-fields目录可能是通过运行pnpm link创建的本地项目目录的符号链接,因此您可以看到所有文件。
在您的机器上的消费者项目中,您需要取消链接依赖项以删除符号链接并将其作为包存储库中的正确依赖项安装:

cd consumer-of-zod
pnpm unlink zod-to-fields

字符串

相关问题