-
Notifications
You must be signed in to change notification settings - Fork 615
refactor: hoist all devDeps to root #3032
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: hoist all devDeps to root #3032
Conversation
79da445 to
57d2922
Compare
Unhelpful npm rantI want to try to care about reviewing package-lock changes, but ... npm, I don't even. This latest update:
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
- "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",So basically those fields are just useless noise from npm in lock files. What a waste. The package-lock.json tooling design is ...poor. |
48f82c1 to
bec6114
Compare
bec6114 to
41c5ef5
Compare
41c5ef5 to
c8cb24c
Compare
0eebce5 to
77c5480
Compare
77c5480 to
ccb01fc
Compare
b4cc8c1 to
82d09a2
Compare
|
FYI: |
Still have rollup v4.53.0 lingering in there. Here is a patch that I believe will fix it: |
82d09a2 to
71dc0db
Compare
|
Before: After: So 10-20% dev tree size reduction. I'm not sure what's up with the "npm error invalid"... but FWIW we have this case in "main" now, so I don't necessarily think this should block. I'll poke a bit. |
|
Both the "peerDependencies": {
"ws": "^8.18.0",
"zod": "^3.25 || ^4.0"
},
"peerDependenciesMeta": {
"ws": {
"optional": true
},
"zod": {
"optional": true
}
}peer-optional means that the dep is not installed by default (i.e. not added to the package-lock tree). However, because ws and zod are transitive deps of other things in the tree we do get versions installed, but not necessarily matching the peer-optional range, e.g.: For now I think we can ignore these. I'm somewhat sure that our openai testing in instrumentation-openai does not use any of the optional zod or ws functionality in |
|
Another view of the before/after, showing the top few multiple installs of given packages in the tree: Before: After: |
What this does
Hoists all build devDependencies to the root package.json.
Key changes
Test fixes
Dependencies
Configuration
Package-specific changes
@opentelemetry/instrumentation-socket.io
import * as expecttoimport expect(expect v29 uses default export)@opentelemetry/instrumentation-dns
@opentelemetry/instrumentation-aws-sdk
Browser packages (propagator-aws-xray, propagator-instana, instrumentation-user-interaction, instrumentation-long-task)