All comparison operations are performed locally in your browser, no data is uploaded
Tool loading...
Tool loading...

Tool Basic Information

  • Name: SilentFlow Node.js Dependency Comparison Tool
  • Description: It can help you quickly compare the dependency version differences between two Node.js package.json files, supports file upload or paste content, quickly discover dependency version differences.
  • Version: 1.0.0
  • Last Update: 2026-01-16

Document Update Timeline

  • 2026-01-18: Initial version released

Usage Instructions

  1. Paste or upload the content of the first Node.js package.json file in the left input box, and paste or upload the content of the second Node.js package.json file in the right input box
  2. Click the "Compare" button, the tool will automatically compare the dependency version differences between the two files, and display the comparison results
  3. The left file is the main file, the dependencies missing on the left are considered新增, the dependencies missing on the right are considered deleted
  4. Click the "Reset" button, the tool will clear the comparison results
  5. Click the "Next Difference" button, the tool will display the next difference result
  6. Click the "Previous Difference" button, the tool will display the previous difference result
  7. Click the "Swap" button, the tool will swap the content of the left and right input boxes

Notice

  • The order of moving the next or previous difference may not be the same as the displayed order, but the found difference position is correct
  • After swapping the left and right content, you need to click the "Compare" button again to compare (will be optimized later)

Why Develop This Tool

    When developing Node.js projects, if two projects are related, such as the main system and the plugin, the main system and the sub-system, the main system and the dependent library, etc., many mysterious problems that appear in the middle are because the dependency version is not aligned.

    If the dependency items of the two projects are consistent, only the version difference, then just copy and synchronize directly. But in fact, only some of the dependency items are consistent, and there are many unique dependency items in each project //(ㄒoㄒ)/~~

    When dealing with this problem, I can only manually compare one by one, which is time-consuming and inefficient. At this time, if I can quickly compare the dependency version differences of the two projects or systems, I can quickly find the problem and solve it in time.

    So I want to develop a tool that can help me more conveniently compare the dependency version differences of the two Node.js package.json files, find the new or deleted dependency items. Of course, I have added a lot of features that don't seem to be useful. . . just like this

    If you also encountered the same problem, I hope this tool can help you. ^_^

How It Works

    The implementation principle of this tool is actually very simple, just extract the dependency part of the two package.json files, compare the differences, and find the difference items.

    Originally, it could only extract the dependency part for comparison and display the results directly in a table. But in order to make it easier for users to view, I added line numbers, status bar, highlighting and other functions.

    This brings a new problem, the first problem is that because the dependencies of both sides have their own differences, in order to make the user see the differences clearly and clearly, it is necessary to add placeholder lines to keep the line numbers on both sides consistent.

    The second problem is the problem of the position of the next or previous difference when moving from one difference to the next. Because the placeholder line is virtual, it is necessary to calculate the corresponding real line number according to the difference type to ensure that the left and right are synchronized positioning

    So I developed a slightly more complex text comparison panel to solve this problem, mainly managing the mapping relationship between the real line and the virtual line, the mapping of the difference line, the synchronization of the scroll, etc.

    In short, my perfectionism led to the increase of the complexity of the tool, departing from the original intention of solving the problem(~ ̄(OO) ̄)ブ

What scenarios will it be used in

  1. When pnpm enables the workspace mode, quickly compare the dependency version differences between the sub-project and the workspace
  2. When the dependent library of the sub-project is updated, quickly compare the dependency version differences, and update the dependent library in the workspace in time
  3. Project managers quickly find dependency differences when synchronizing dependency versions
  4. Developers use this tool quickly exclude whether the dependency version difference is caused by the mysterious bug

Who Needs This Tool

  1. Node.js developer
  2. Node.js project maintainer
  3. Node.js project manager
  4. Frontend engineer
  5. Full stack engineer
  6. Vue.js developer
  7. React.js developer
  8. Angular developer
  9. Mini program developer
  10. Other people who need to use the package.json file

What Are the Advantages of This Tool

  • Free, no registration, no login, no download
  • Online, no installation, no configuration, no dependency
  • Quickly find the dependency version differences, find the new or deleted dependency items, version number differences, etc.

What Can Be Done Better

  1. Support the detection of extra commas, like an extra comma after an item, often appearing at the end of an object or array member.
  2. Support the detection of square bracket not closed errors.
  3. Support saving or reading local package.json files after user authorization
  4. Support swapping the left and right content directly after comparison

Common Questions

Q: Will my data be uploaded to the server?

A: No. All JSON formatting is done locally in your browser and will not be uploaded to any server.

Q: Why is the order of moving the next or previous difference may not be the same as the displayed order, but the found difference position is correct

A: Because the actual difference has been found, it needs to be arranged in a certain order, such as arranging the difference position order according to the left as the main. This requirement is relatively complicated, so it is temporarily not done

Glossary

Node.js: Node.js is a JavaScript runtime environment that allows you to run JavaScript code on the server side

pnpm's workspace mode: pnpm's workspace mode is a mode of pnpm, which allows you to manage multiple sub-projects in the same project, each sub-project has its own package.json file, but they share the same node_modules directory, and the node_modules directory of each sub-project is isolated but linked to the node_modules directory of the root directory.

monorepo: monorepo is a project management method that allows multiple projects to share the same code warehouse, each project has its own package.json file but does not conflict

Tool Iteration Main Timeline

  • [2026-01-18][0.1.0]: Initial version released