PACT节点依赖性非常大,任何减小尺寸的方法



我们已经使用Angular JS前端和Java后端实施了合同测试。

我注意到node_modules/@pact-foundation目录非常巨大(PACT节点v 4.3.2(

du -sh node_modules/@pact-foundation/
741M    node_modules/@pact-foundation/

JS UI总是只有消费者,但依赖项似乎需要以下

ls node_modules/@pact-foundation/
pact-mock-service            pact-node               pact-provider-verifier-linux-x64
pact-mock-service-linux-x64  pact-provider-verifier

有什么方法可以拉动一组较小的依赖项?

编辑 - 这样的原因似乎如下

du -sh pact-node/node_modules/@pact-foundation/pact-mock-service/build/*
1.9M    pact-node/node_modules/@pact-foundation/pact-mock-service/build/pact-mock_service-0.8.2
8.9M    pact-node/node_modules/@pact-foundation/pact-mock-service/build/pact-mock-service-0.8.2-1-linux-x86_64.tar.gz
8.5M    pact-node/node_modules/@pact-foundation/pact-mock-service/build/pact-mock-service-0.8.2-1-linux-x86.tar.gz
9.2M    pact-node/node_modules/@pact-foundation/pact-mock-service/build/pact-mock-service-0.8.2-1-osx.tar.gz
12M    pact-node/node_modules/@pact-foundation/pact-mock-service/build/pact-mock-service-0.8.2-1-win32.zip
50M    pact-node/node_modules/@pact-foundation/pact-mock-service/build/pact-mock-service-darwin
48M    pact-node/node_modules/@pact-foundation/pact-mock-service/build/pact-mock-service-linux-ia32
50M    pact-node/node_modules/@pact-foundation/pact-mock-service/build/pact-mock-service-linux-x64
51M    pact-node/node_modules/@pact-foundation/pact-mock-service/build/pact-mock-service-win32

PACT节点取决于PACT-Mock-Service&捆绑的依赖性包括所有OS的模拟服务。

编辑2-

将我的依赖性更改为以下

"@pact-foundation/pact-node": "6.9.0",    

并添加一个分辨率(我使用的是纱线不是npm(

"resolutions": {
  "@pact-foundation/pact-node": "6.9.0"
}

将依赖项的总大小降低到

du -sh node_modules/@pact-foundation/*
1.7M    node_modules/@pact-foundation/pact-node
170M    node_modules/@pact-foundation/pact-standalone

欢呼Shane

可悲的是,不,还没有。

当前,我们的主要PACT应用程序是用Ruby编写的,并用Ruby包装,这是一种包装Ruby应用程序的方法,用于不同的操作系统/体系结构。现在,最初的目的是仅下载OS/ARCH特定的二进制文件,因此您不必加载所有内容,但是,NPM中的错误是在软件包锁定时会导致可选依赖性问题。要解决这个问题,我们最终不得不将它们包装在一起,我特别不喜欢。

但是,好消息是我们正在解决这个问题。我们目前正在尝试使用Rust重新实现我们的PACT应用程序,Rust将其编译为本机二进制文件,而Ruby随附的所有额外的东西都会大大减少二进制的整体规模。它尚未最终确定,但仍在处理,所以请耐心等待。

谢谢。

最新更新