In NPM projects you have seen the package.json file. This file is an NPM Configuration file. This file function is similar to package.config where you have a list of all NuGet packages to restore. Similarly, this file contains the list of NPM packages that need restore while running this project.
Although in most of JS projects, NPM is a command line tool while working with a .NET project on visual studio it’s easier to use a packages.json file to add, and restore npm packages and keep its changes in source control.
Like package.config file restore packages in the packages folder. Similarly, package.json files restore Js packages in the /node_modules/ folder inside your project directory. By default, this folder is hidden in Visual studio however you can explore restored packages in the/Dependencies/npm/ virtual folder.
When we modify/update the package.json file Visual studio automatically updates /node_modules/ folder with appropriate packages.

As you can see in the above example the packages are listed in JSON format and made of key-value pairs where the package name is the key and the value is the version number.
You can specify either the exact version number or you can use standard npmJs syntax to specify auto update rules such as
Tilde (~): Al value of “~1.1.5” will match all versions under 1.1.x excluding 1.2.0, 1.0.x and so on.
Caret (^): A value of “^1.1.5” will match everything above 1.1.5, excluding
2.0.0 and above