What is npm?

Omkar Bhavare
2 min readNov 1, 2023

πŸ” What is npm? πŸ“¦

npm is an open-source repository of tools & libraries created by the developers. It serves as a central-hub for JavaScript Community, offering a vast collection of resusable code packages to enhance and accelerate their projects.

🀝 Benefits of npm

  • Easy Package Management: npm simplifies the process of managing external libraries and tools, making it easy to add, update, and remove dependencies in your project.
  • Code Reusability: Access to a vast repository of packages enables developers to reuse existing, well-tested code, saving time and effort in building common functionalities.
  • Version Control: npm helps ensure version consistency by allowing developers to specify the exact versions or version ranges of dependencies, reducing compatibility issues.
  • Community Collaboration: npm fosters community collaboration by allowing developers to share their code, contributing to a collaborative ecosystem of shared knowledge and resources.

πŸ› οΈ How NPM Works: A Step-by-Step Guide πŸš€

1.Project Initialization: Developers kickstart a new project by running npm init in the project directory. This command generates a package.json file that acts as a manifest for the project, containing metadata and dependency information.

npm init

2.Developers specify these dependencies in the package.json file and install them using the npm install command.

npm install lodash

3.NPM automatically creates a node_modules directory where it stores the installed packages. These dependencies are recorded in the package.json file under the dependencies section.

"dependencies": {
"lodash": "^4.17.21"
}

4.NPM uses semantic versioning to define package versions. Developers can specify version ranges in the package.json file to allow for flexibility in updating packages.

"dependencies": {
"lodash": "^4.17.21"
}

5.The package-lock.json file provides specific version information for each package that is currently being used in a project.

{
"name": "my-blog",
"version": "1.0.0",
"lockfileVersion": 2,
"dependencies": {
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-...
"dev": true
}
}
}

Coming up next: πŸ”

  1. Semantic Versioning:
  2. Dependency vs DevDependency:
  3. Local & Global Package Installation:

Stay tuned for more insights into the world of JavaScript development! πŸš€πŸ“¦

--

--

Omkar Bhavare

Passionate developer, blogger, and problem solver. Crafting code, sharing insights, and building innovative projects. πŸš€