hyrious / dup

Find duplicates in your lockfile

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

@hyrious/dup

Find duplicates in your package-lock.json / pnpm-lock.yaml.

This script is using string matching, it is very fast.

Usage

$ cd path/to/your/npm-project
$ nlx @hyrious/dup
foo@1.0.0
foo@2.0.0

Next Steps

You can run na why {package-name} to find out why they are there in your dependencies tree.

  • The duplicates are likely to happen after you have run taze -wi. This is because package managers tend to keep indirect dependencies' versions if updating them is not necessary and for smaller downloading footprint.

    You can run na dedupe to force update all dependencies to the same version (if possible).

  • Some modules may deploy their function and CLI in the same package, which results in the CLI's dependencies (yargs, commander, etc.) being included in your dependencies tree and you actually does not need them.

    You can add overrides to remove them, for example:

    "pnpm": {
      "overrides": {
        "critters>chalk": "npm:noop-package@1.0.0",
        "html-minifier>commander": "npm:noop-package@1.0.0"
      }
    }
  • If an indirect dependency's newer version breaks your codebase, you can either

    • Hack into it (if possible) in your codebase and alter its behavior;
    • Make a patch to fix it manually;
    • Raise an issue to the package's repo.

    I'm just encouraging you to use less dependencies to risk less.

License

MIT @ hyrious

About

Find duplicates in your lockfile

License:MIT License


Languages

Language:TypeScript 100.0%