Skip to content
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

Missing JS dependency #239

Open
CraigglesO opened this issue Jul 10, 2024 · 7 comments · May be fixed by #240 or #252
Open

Missing JS dependency #239

CraigglesO opened this issue Jul 10, 2024 · 7 comments · May be fixed by #240 or #252

Comments

@CraigglesO
Copy link

I was reading up on the project of this project to a writeup of my own, how is @mapbox/point-geometry a dependency, shows up in your lock file, but not a dependency? I'm assuming this is just a mistake or are you planning on removing it?

https://github.com/search?q=repo%3Amaplibre%2Fmaplibre-tile-spec%20mapbox%2Fpoint-geometry&type=code

@springmeyer springmeyer linked a pull request Jul 10, 2024 that will close this issue
@springmeyer
Copy link
Collaborator

Thanks for noticing this, fixed in #240

@wipfli
Copy link

wipfli commented Jul 15, 2024

The lock file contains dependencies of dependencies. We don't need to list them in the package.json file.

@CraigglesO
Copy link
Author

I hope I don't come across negatively combative but I disagree on this sentiment.

  1. lock files aren't supposed to be used as a tool for using packages, but rather facilitate greater visibility into the project dependency tree.

You can see this being true in that this spec is currently using @mapbox/point-geometry version 0.1.0 which was made seven years ago. Compare that to the latest version 1.1.0 that was made recently and includes proper typescript safety. Something the project actually complains about:

Screenshot 2024-07-20 at 5 40 30 PM
  1. Transparency through explicit dependency practices. It's much easier for outside audits/security measures and peer reviews if the dependencies used are properly documented in the package.json file. NPM is rife with security flaws, this has been known for a long time. I think being clear in motives inside your package.json allows outside reviews to be aware of when and where external code is being used.

@wipfli
Copy link

wipfli commented Jul 21, 2024

To inspect the dependency tree one would usually run something like npm list --all, no?

@CraigglesO
Copy link
Author

Hmm, I actually think you're proving my point further:

npm list --all

@maplibre/[email protected] /Users/craigoconnor/Documents/Projects/javascript/maplibre-tile-spec/js
├─┬ @bufbuild/[email protected]
│ ├── UNMET OPTIONAL DEPENDENCY @bufbuild/[email protected]
│ ├── UNMET OPTIONAL DEPENDENCY @bufbuild/[email protected]
│ ├── UNMET OPTIONAL DEPENDENCY @bufbuild/[email protected]
│ ├── UNMET OPTIONAL DEPENDENCY @bufbuild/[email protected]
│ ├── UNMET OPTIONAL DEPENDENCY @bufbuild/[email protected]
│ └── UNMET OPTIONAL DEPENDENCY @bufbuild/[email protected]
├── @bufbuild/[email protected]
├─┬ @bufbuild/[email protected]
│ ├── @bufbuild/[email protected] deduped
│ └─┬ @bufbuild/[email protected]
│   ├── @bufbuild/[email protected] deduped
│   ├─┬ @typescript/[email protected]
│   │ └── [email protected] deduped
│   └── [email protected]
├─┬ @mapbox/[email protected]
│ └── @mapbox/[email protected]
├─┬ @maplibre/[email protected]
│ ├── @mapbox/[email protected]
│ ├── @mapbox/[email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ └── [email protected]
│ │ │ └─┬ [email protected]
│ │ │   └── [email protected] deduped
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ └─┬ [email protected]
│ │   ├── [email protected]
│ │   ├── [email protected] deduped
│ │   ├── [email protected] deduped
│ │   └─┬ [email protected]
│ │     ├─┬ [email protected]
│ │     │ └── [email protected] deduped
│ │     ├── [email protected] deduped
│ │     ├─┬ [email protected]
│ │     │ └── [email protected]
│ │     └─┬ [email protected]
│ │       └─┬ [email protected]
│ │         ├── [email protected]
│ │         └─┬ [email protected]
│ │           └── [email protected] deduped
│ └── [email protected]
├── @types/[email protected]
├─┬ @types/[email protected]
│ ├── @types/[email protected]
│ └── @types/[email protected] deduped
├─┬ @types/[email protected]
│ ├─┬ [email protected]
│ │ ├─┬ @jest/[email protected]
│ │ │ └── [email protected] deduped
│ │ ├── [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected]
│ │ │ │ ├── [email protected] deduped
│ │ │ │ └── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @types/[email protected]
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └─┬ [email protected]
│ │ │   └── [email protected]
│ │ └── [email protected] deduped
│ └─┬ [email protected]
│   ├─┬ @jest/[email protected]
│   │ └── @sinclair/[email protected]
│   ├── [email protected]
│   └── [email protected]
├─┬ @types/[email protected]
│ └── [email protected]
├─┬ @types/[email protected]
│ └── @types/[email protected] deduped
├─┬ @typescript-eslint/[email protected]
│ ├── @eslint-community/[email protected]
│ ├── @typescript-eslint/[email protected] deduped
│ ├─┬ @typescript-eslint/[email protected]
│ │ ├── @typescript-eslint/[email protected] deduped
│ │ └── @typescript-eslint/[email protected] deduped
│ ├─┬ @typescript-eslint/[email protected]
│ │ ├── @typescript-eslint/[email protected] deduped
│ │ ├── @typescript-eslint/[email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected] deduped
│ ├─┬ @typescript-eslint/[email protected]
│ │ ├── @eslint-community/[email protected] deduped
│ │ ├── @typescript-eslint/[email protected] deduped
│ │ ├── @typescript-eslint/[email protected] deduped
│ │ ├── @typescript-eslint/[email protected] deduped
│ │ └── [email protected] deduped
│ ├─┬ @typescript-eslint/[email protected]
│ │ ├── @typescript-eslint/[email protected] deduped
│ │ └── [email protected] deduped
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └─┬ [email protected]
│   └── [email protected] deduped
├─┬ @typescript-eslint/[email protected]
│ ├── @typescript-eslint/[email protected] deduped
│ ├── @typescript-eslint/[email protected]
│ ├─┬ @typescript-eslint/[email protected]
│ │ ├── @typescript-eslint/[email protected] deduped
│ │ ├── @typescript-eslint/[email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├── [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ └── [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── @nodelib/[email protected] deduped
│ │ │ │ ├── @nodelib/[email protected] deduped
│ │ │ │ ├─┬ [email protected]
│ │ │ │ │ └── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ └── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected]
│ │ │ └── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ └─┬ [email protected]
│ │ │   └── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected] deduped
│ ├── @typescript-eslint/[email protected] deduped
│ ├─┬ [email protected]
│ │ └── [email protected]
│ └── [email protected] deduped
├─┬ [email protected]
│ ├── [email protected]
│ └── [email protected]
├── [email protected]
├─┬ [email protected]
│ └── [email protected]
├── [email protected]
├─┬ [email protected]
│ ├─┬ @eslint-community/[email protected]
│ │ ├── [email protected] deduped
│ │ └── [email protected] deduped
│ ├── @eslint-community/[email protected] deduped
│ ├─┬ @eslint/[email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ └── [email protected]
│ │ │ └── [email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected]
│ ├── @eslint/[email protected]
│ ├─┬ @humanwhocodes/[email protected]
│ │ ├── @humanwhocodes/[email protected]
│ │ ├── [email protected] deduped
│ │ └── [email protected] deduped
│ ├── @humanwhocodes/[email protected]
│ ├─┬ @nodelib/[email protected]
│ │ ├─┬ @nodelib/[email protected]
│ │ │ ├── @nodelib/[email protected]
│ │ │ └─┬ [email protected]
│ │ │   └── [email protected]
│ │ └─┬ [email protected]
│ │   └── [email protected]
│ ├── @ungap/[email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected]
│ │ └─┬ [email protected]
│ │   └── [email protected]
│ ├─┬ [email protected]
│ │ ├─┬ [email protected]
│ │ │ └─┬ [email protected]
│ │ │   └── [email protected]
│ │ └─┬ [email protected]
│ │   └── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├─┬ [email protected]
│ │ │ └── [email protected]
│ │ └─┬ [email protected]
│ │   └── [email protected]
│ ├── [email protected] deduped
│ ├─┬ [email protected]
│ │ └── [email protected] deduped
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├─┬ [email protected]
│ │ │ └── [email protected] deduped
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├─┬ [email protected]
│ │ │ └── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ └── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └─┬ [email protected]
│ │   ├── [email protected]
│ │   ├─┬ [email protected]
│ │   │ └── [email protected]
│ │   └── [email protected] deduped
│ ├─┬ [email protected]
│ │ ├─┬ [email protected]
│ │ │ └─┬ [email protected]
│ │ │   └── [email protected] deduped
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ └─┬ [email protected]
│ │   └── [email protected] deduped
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └─┬ [email protected]
│ │   ├── [email protected]
│ │   └── [email protected]
│ ├── [email protected] deduped
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ └── [email protected]
├─┬ [email protected]
│ └─┬ [email protected]
│   ├── [email protected] deduped
│   ├─┬ [email protected]
│   │ ├── [email protected] deduped
│   │ ├── [email protected]
│   │ ├── [email protected] deduped
│   │ └── [email protected] deduped
│   ├── [email protected]
│   └─┬ [email protected]
│     ├── [email protected] deduped
│     ├── [email protected]
│     └── [email protected]
├─┬ [email protected]
│ ├─┬ @jest/[email protected]
│ │ ├─┬ @jest/[email protected]
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @types/[email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └── [email protected] deduped
│ │ ├─┬ @jest/[email protected]
│ │ │ ├── @bcoe/[email protected]
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jridgewell/[email protected] deduped
│ │ │ ├── @types/[email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── @types/[email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected]
│ │ │ │ └─┬ [email protected]
│ │ │ │   └── [email protected] deduped
│ │ │ ├── UNMET OPTIONAL DEPENDENCY node-notifier@^8.0.1 || ^9.0.0 || ^10.0.0
│ │ │ ├── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ └── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └─┬ [email protected]
│ │ │   ├── @jridgewell/[email protected] deduped
│ │ │   ├── @types/[email protected] deduped
│ │ │   └── [email protected] deduped
│ │ ├─┬ @jest/[email protected]
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @types/[email protected] deduped
│ │ │ └── [email protected] deduped
│ │ ├── @jest/[email protected] deduped
│ │ ├── @jest/[email protected] deduped
│ │ ├── @types/[email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ └── [email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├─┬ [email protected]
│ │ │ │ │ └── [email protected] deduped
│ │ │ │ ├─┬ [email protected]
│ │ │ │ │ └── [email protected]
│ │ │ │ ├── [email protected] deduped
│ │ │ │ └── [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ └─┬ [email protected]
│ │ │   └── [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├─┬ @jest/[email protected]
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ └── [email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @types/[email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├─┬ @jest/[email protected]
│ │ │ │ │ ├── [email protected] deduped
│ │ │ │ │ └── [email protected] deduped
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├── @types/[email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected]
│ │ │ │ ├─┬ [email protected]
│ │ │ │ │ └── UNMET OPTIONAL DEPENDENCY babel-plugin-macros@^3.1.0
│ │ │ │ ├── [email protected]
│ │ │ │ ├─┬ [email protected]
│ │ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ │ ├── [email protected] deduped
│ │ │ │ │ ├── [email protected] deduped
│ │ │ │ │ ├── [email protected] deduped
│ │ │ │ │ └── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected]
│ │ │ │ ├── [email protected] deduped
│ │ │ │ └── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├── @types/[email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ └── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ ├─┬ [email protected]
│ │ │ │ │ └── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ └── [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├─┬ @types/[email protected]
│ │ │ │ └── @types/[email protected] deduped
│ │ │ ├── @types/[email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ └── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ └─┬ [email protected]
│ │ │ │   └── [email protected]
│ │ │ ├── UNMET OPTIONAL DEPENDENCY fsevents@^2.3.2
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └─┬ [email protected]
│ │ │   └─┬ [email protected]
│ │ │     └── [email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ └── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ └── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ ├─┬ [email protected]
│ │ │ │ │ └─┬ [email protected]
│ │ │ │ │   └── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ └── [email protected]
│ │ │ └── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├─┬ @jest/[email protected]
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├── @types/[email protected] deduped
│ │ │ │ └── [email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @types/[email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ └── [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── [email protected] deduped
│ │ │ │ └── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └─┬ [email protected]
│ │ │   ├── [email protected]
│ │ │   └── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├─┬ @jest/[email protected]
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├─┬ @sinonjs/[email protected]
│ │ │ │ │ └─┬ @sinonjs/[email protected]
│ │ │ │ │   └── [email protected]
│ │ │ │ ├── @types/[email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ └── [email protected] deduped
│ │ │ ├─┬ @jest/[email protected]
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ └── [email protected] deduped
│ │ │ ├─┬ @jest/[email protected]
│ │ │ │ ├── @jridgewell/[email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ └── [email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @types/[email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── @jest/[email protected] deduped
│ │ │ │ ├── @types/[email protected] deduped
│ │ │ │ └── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └── [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├─┬ @babel/[email protected]
│ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ └── @babel/[email protected] deduped
│ │ │ ├─┬ @babel/[email protected]
│ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ └── @babel/[email protected] deduped
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ ├─┬ @babel/[email protected]
│ │ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ │ └── @babel/[email protected] deduped
│ │ │ │ ├─┬ @babel/[email protected]
│ │ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ │ └── @babel/[email protected] deduped
│ │ │ │ ├─┬ @babel/[email protected]
│ │ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ │ └── @babel/[email protected] deduped
│ │ │ │ ├─┬ @babel/[email protected]
│ │ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ │ └── @babel/[email protected] deduped
│ │ │ │ ├─┬ @babel/[email protected]
│ │ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ │ └── @babel/[email protected] deduped
│ │ │ │ ├─┬ @babel/[email protected]
│ │ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ │ └── @babel/[email protected] deduped
│ │ │ │ ├─┬ @babel/[email protected]
│ │ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ │ └── @babel/[email protected] deduped
│ │ │ │ ├─┬ @babel/[email protected]
│ │ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ │ └── @babel/[email protected] deduped
│ │ │ │ ├─┬ @babel/[email protected]
│ │ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ │ └── @babel/[email protected] deduped
│ │ │ │ ├─┬ @babel/[email protected]
│ │ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ │ └── @babel/[email protected] deduped
│ │ │ │ ├─┬ @babel/[email protected]
│ │ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ │ └── @babel/[email protected] deduped
│ │ │ │ └─┬ @babel/[email protected]
│ │ │ │   ├── @babel/[email protected] deduped
│ │ │ │   └── @babel/[email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected]
│ │ │ └── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── @types/[email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ └─┬ [email protected]
│ │ │ │   └─┬ [email protected]
│ │ │ │     └── [email protected]
│ │ │ └── [email protected] deduped
│ │ ├── UNMET OPTIONAL DEPENDENCY node-notifier@^8.0.1 || ^9.0.0 || ^10.0.0
│ │ ├── [email protected] deduped
│ │ ├── [email protected]
│ │ └── [email protected] deduped
│ ├─┬ @jest/[email protected]
│ │ ├── @jest/[email protected] deduped
│ │ ├── @types/[email protected]
│ │ ├─┬ @types/[email protected]
│ │ │ └─┬ @types/[email protected]
│ │ │   └── @types/[email protected] deduped
│ │ ├── @types/[email protected] deduped
│ │ ├─┬ @types/[email protected]
│ │ │ └── @types/[email protected]
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ ├─┬ [email protected]
│ │ │ └─┬ [email protected]
│ │ │   ├─┬ [email protected]
│ │ │   │ └─┬ [email protected]
│ │ │   │   └─┬ [email protected]
│ │ │   │     └── [email protected] deduped
│ │ │   └── [email protected] deduped
│ │ └─┬ [email protected]
│ │   └── [email protected]
│ ├─┬ [email protected]
│ │ ├── @jest/[email protected] deduped
│ │ ├── @jest/[email protected] deduped
│ │ ├── @jest/[email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├── @jest/[email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └─┬ [email protected]
│ │ │   ├── [email protected]
│ │ │   └── [email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── UNMET OPTIONAL DEPENDENCY node-notifier@^8.0.1 || ^9.0.0 || ^10.0.0
│ │ └─┬ [email protected]
│ │   ├─┬ [email protected]
│ │   │ ├── [email protected] deduped
│ │   │ ├── [email protected] deduped
│ │   │ └─┬ [email protected]
│ │   │   ├── [email protected] deduped
│ │   │   ├── [email protected] deduped
│ │   │   └── [email protected] deduped
│ │   ├── [email protected]
│ │   ├── [email protected] deduped
│ │   ├── [email protected] deduped
│ │   ├── [email protected] deduped
│ │   ├── [email protected]
│ │   └── [email protected] deduped
│ └── UNMET OPTIONAL DEPENDENCY node-notifier@^8.0.1 || ^9.0.0 || ^10.0.0
├─┬ [email protected]
│ ├─┬ @istanbuljs/[email protected]
│ │ ├── [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ └─┬ [email protected]
│ │ │ │   └─┬ [email protected]
│ │ │ │     └── [email protected] deduped
│ │ │ └── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ └── [email protected]
│ │ │ └── [email protected]
│ │ └── [email protected]
│ ├── @istanbuljs/[email protected]
│ ├─┬ [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├── [email protected]
│ │ │ └── [email protected]
│ │ ├─┬ [email protected]
│ │ │ └── [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ ├── [email protected]
│ │ │ └─┬ [email protected]
│ │ │   └── [email protected]
│ │ └─┬ [email protected]
│ │   ├── [email protected] deduped
│ │   ├── [email protected]
│ │   ├── [email protected] deduped
│ │   └─┬ [email protected]
│ │     └── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├─┬ [email protected]
│ │ │ └── [email protected]
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ ├─┬ [email protected]
│ │ │ └─┬ [email protected]
│ │ │   └─┬ [email protected]
│ │ │     └── [email protected]
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ ├── [email protected] deduped
│ │ └── [email protected] deduped
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├─┬ [email protected]
│ │ │ ├── [email protected] deduped
│ │ │ └── [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ └── [email protected] deduped
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └─┬ [email protected]
│ │   └─┬ [email protected]
│ │     └── [email protected] deduped
│ ├─┬ [email protected]
│ │ ├── @babel/[email protected] deduped
│ │ ├── @babel/[email protected]
│ │ ├── @istanbuljs/[email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ └── [email protected] deduped
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected]
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ └─┬ [email protected]
│ │   ├── [email protected]
│ │   └── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ └── [email protected] deduped
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected]
│ │ ├─┬ [email protected]
│ │ │ └── [email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ ├── @istanbuljs/[email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected] deduped
│ └─┬ [email protected]
│   ├─┬ [email protected]
│   │ ├── [email protected] deduped
│   │ ├── [email protected] deduped
│   │ └─┬ [email protected]
│   │   ├── [email protected] deduped
│   │   ├── [email protected] deduped
│   │   └── [email protected] deduped
│   ├── [email protected] deduped
│   ├── [email protected] deduped
│   ├── [email protected]
│   ├── [email protected]
│   ├── [email protected]
│   ├── [email protected]
│   ├─┬ [email protected]
│   │ ├── [email protected]
│   │ ├── [email protected]
│   │ └── [email protected] deduped
│   ├── [email protected]
│   ├── [email protected]
│   └─┬ [email protected]
│     ├── [email protected] deduped
│     └── [email protected] deduped
├─┬ [email protected]
│ ├── [email protected]
│ └─┬ [email protected]
│   └── [email protected]
├── [email protected]
├── [email protected]
├─┬ [email protected]
│ ├─┬ @babel/[email protected]
│ │ ├─┬ @ampproject/[email protected]
│ │ │ ├─┬ @jridgewell/[email protected]
│ │ │ │ ├── @jridgewell/[email protected]
│ │ │ │ ├── @jridgewell/[email protected] deduped
│ │ │ │ └── @jridgewell/[email protected] deduped
│ │ │ └── @jridgewell/[email protected] deduped
│ │ ├─┬ @babel/[email protected]
│ │ │ ├─┬ @babel/[email protected]
│ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ ├─┬ [email protected]
│ │ │ │ │ ├─┬ [email protected]
│ │ │ │ │ │ └─┬ [email protected]
│ │ │ │ │ │   └── [email protected]
│ │ │ │ │ ├── [email protected]
│ │ │ │ │ └─┬ [email protected]
│ │ │ │ │   └── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ └── [email protected] deduped
│ │ │ └── [email protected]
│ │ ├─┬ @babel/[email protected]
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── @jridgewell/[email protected] deduped
│ │ │ ├── @jridgewell/[email protected] deduped
│ │ │ └── [email protected]
│ │ ├─┬ @babel/[email protected]
│ │ │ ├── @babel/[email protected]
│ │ │ ├── @babel/[email protected]
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ ├── [email protected]
│ │ │ │ └─┬ [email protected]
│ │ │ │   ├── [email protected] deduped
│ │ │ │   ├── [email protected] deduped
│ │ │ │   └── [email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ └── [email protected]
│ │ │ └── [email protected]
│ │ ├─┬ @babel/[email protected]
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── @babel/[email protected]
│ │ │ ├─┬ @babel/[email protected]
│ │ │ │ └── @babel/[email protected] deduped
│ │ │ ├─┬ @babel/[email protected]
│ │ │ │ └── @babel/[email protected] deduped
│ │ │ ├─┬ @babel/[email protected]
│ │ │ │ └── @babel/[email protected] deduped
│ │ │ └── @babel/[email protected]
│ │ ├─┬ @babel/[email protected]
│ │ │ ├── @babel/[email protected] deduped
│ │ │ └── @babel/[email protected] deduped
│ │ ├── @babel/[email protected] deduped
│ │ ├─┬ @babel/[email protected]
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── @babel/[email protected] deduped
│ │ │ └── @babel/[email protected] deduped
│ │ ├─┬ @babel/[email protected]
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├─┬ @babel/[email protected]
│ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ └── @babel/[email protected] deduped
│ │ │ ├─┬ @babel/[email protected]
│ │ │ │ └── @babel/[email protected] deduped
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── [email protected] deduped
│ │ │ └── [email protected]
│ │ ├─┬ @babel/[email protected]
│ │ │ ├── @babel/[email protected]
│ │ │ ├── @babel/[email protected] deduped
│ │ │ └── [email protected]
│ │ ├── [email protected]
│ │ ├── [email protected] deduped
│ │ ├── [email protected]
│ │ ├── [email protected] deduped
│ │ └── [email protected]
│ ├─┬ @jest/[email protected]
│ │ ├── @babel/[email protected] deduped
│ │ ├── @jest/[email protected] deduped
│ │ ├─┬ @jridgewell/[email protected]
│ │ │ ├── @jridgewell/[email protected]
│ │ │ └── @jridgewell/[email protected]
│ │ ├─┬ [email protected]
│ │ │ ├── @babel/[email protected]
│ │ │ ├── @istanbuljs/[email protected] deduped
│ │ │ ├── @istanbuljs/[email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ ├── @istanbuljs/[email protected] deduped
│ │ │ │ ├── [email protected] deduped
│ │ │ │ └── [email protected]
│ │ │ └── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected]
│ │ ├── [email protected] deduped
│ │ └─┬ [email protected]
│ │   ├── [email protected] deduped
│ │   └── [email protected] deduped
│ ├── @jest/[email protected] deduped
│ ├─┬ [email protected]
│ │ ├── @babel/[email protected] deduped
│ │ ├── @jest/[email protected] deduped
│ │ ├─┬ @types/[email protected]
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├─┬ @types/[email protected]
│ │ │ │ └── @babel/[email protected] deduped
│ │ │ ├─┬ @types/[email protected]
│ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ └── @babel/[email protected] deduped
│ │ │ └─┬ @types/[email protected]
│ │ │   └── @babel/[email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├─┬ [email protected]
│ │ │ ├── @babel/[email protected] deduped
│ │ │ ├─┬ [email protected]
│ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ ├── @babel/[email protected] deduped
│ │ │ │ ├── @types/[email protected] deduped
│ │ │ │ └── @types/[email protected] deduped
│ │ │ └── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ └── [email protected] deduped
│ ├─┬ [email protected]
│ │ └─┬ [email protected]
│ │   ├── [email protected]
│ │   ├── [email protected] deduped
│ │   ├─┬ [email protected]
│ │   │ └─┬ [email protected]
│ │   │   └─┬ [email protected]
│ │   │     └── [email protected] deduped
│ │   └── [email protected] deduped
│ ├── [email protected]
│ ├─┬ [email protected]
│ │ ├── @jest/[email protected] deduped
│ │ ├── @types/[email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ ├── [email protected] deduped
│ │ └── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ └── [email protected]
├─┬ [email protected]
│ ├─┬ @cspotcode/[email protected]
│ │ └─┬ @jridgewell/[email protected]
│ │   ├── @jridgewell/[email protected] deduped
│ │   └── @jridgewell/[email protected] deduped
│ ├── UNMET OPTIONAL DEPENDENCY @swc/core@>=1.2.50
│ ├── UNMET OPTIONAL DEPENDENCY @swc/wasm@>=1.2.50
│ ├── @tsconfig/[email protected]
│ ├── @tsconfig/[email protected]
│ ├── @tsconfig/[email protected]
│ ├── @tsconfig/[email protected]
│ ├── @types/[email protected] deduped
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected] deduped
│ ├── [email protected] deduped
│ ├── [email protected]
│ └── [email protected]
├── [email protected]
└── [email protected]

The problem is how many of these are actually used in production? Well to check we can filter:

 npm list --production --all
npm warn config production Use `--omit=dev` instead.
 npm list --omit=dev --all
@maplibre/[email protected] /Users/craigoconnor/Documents/Projects/javascript/maplibre-tile-spec/js
├── @bufbuild/[email protected]
├─┬ @types/[email protected]
│ ├── @types/[email protected]
│ └─┬ @types/[email protected]
│   └── [email protected]
├── [email protected]
└─┬ [email protected]
  └── [email protected]

You can see the package is not listed anymore. One of the primary reasons for this the package not carrying over is because it comes for a dev-dependency: @mapbox/vector-tile. However, if you switched @mapbox/vector-tile over to a dependency this would fix it, but you would then be claiming the entirety of @mapbox/vector-tile should be accessible/utilized in production which is probably not ideal for this project.

To be more precise, I'd argue even if @mapbox/vector-tile was production, you should access Point from @mapbox/vector-tile otherwise if you use the package inside your production code like so, it should be listed in your package.json dependency list.

Also, like I said before, because you don't have control over the versioning using this method, you are using an outdated package.

If you're still not convinced, no worries feel free to close this issue.

@wipfli
Copy link

wipfli commented Jul 23, 2024

Thanks for pointing to this line @CraigglesO.

Why are we using require()?

@CraigglesO
Copy link
Author

Ye I agree, the correct ES6+ syntax is import x from '...'.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants