How to create a package.json file?
Generate a package.json file — manually or automatically
This story was originally published here.
Creating a package.json
file is typically the first step in a Node.js project, and it has to be available if you want to add dependencies via npm in your project. There are many app scaffolding packages available, like create-react-app
, which do this for you. This blog post is about how to create a package.json
from scratch. Have a look at this article - What is the package.json
Create a package.json
The easiest way to create a package.json is:
- Enter the root folder of your project
- Run
npm init
- Fill out the prompts to create your
package.json
Just follow these steps.
- Create a folder for your project.
- Enter the folder you just created with
cd FOLDER_NAME
and runnpm init
. You should see a prompt like this:
➜ test npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.
See `npm help init` for definitive documentation on these fields
and exactly what they do.
Use `npm install <pkg>` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
package name: (test)
- Fill out the prompts for fields in your package.json. Either accept default, or type a new value. The package.json fields you’ll be prompted for are
name
,version
,description
,main
,test command
,git repository
,keywords
,author
, andlicense
. It's okay to accept the defaults to get a package.json generated and be able to install dependencies. All fields are optional, if you don't publish your package to the NPM registry. If you do intend to publish your package, there are several requirements and in general you should fill out the prompts. You can learn more about the different fields about the package.json in this article - The Basics of Package.json. The only real requirement (for now) is that the package.json is valid JSON. - Review the preview of the
package.json
after answering/accepting defaults of the prompts and accept (yes) or decline (no). The output should look something like this (accepted defaults):
{
"name": "test",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
Is this OK? (yes)
- 🎉 Tada. 🎉 You’ve successfully created a
package.json
and can now install dependencies for your project usingnpm install <package>
. You can always manually edit your package.json file in your editor, if you want to change some values.
Accepting the defaults
The npm CLI will try to infer defaults from the folder you ran npm init from. If you are about to accept the defaults generated by npm cli, you can also generate a package.json without being asked for input. Just run npm init -y
to generate a package.json and automatically accept all defaults. The generated file will be shown on the command line.
TL;DR
- Create a
package.json
withnpm init
in the project directory. - If you don’t want to publish to the NPM registry, the default values can be accepted automatically with
npm init -y
.
Thanks for reading and if you have any questions, use the comment function or send me a message @mariokandut.
If you want to know more about Node, have a look at these Node Tutorials.