commentsnpm

How do I add comments to package.json for npm install?


I've got a simple package.json file and I want to add a comment. Is there a way to do this, or are there any hacks to make this work?

{
  "name": "My Project",
  "version": "0.0.1",
  "private": true,
  "dependencies": {
    "express": "3.x",
    "mongoose": "3.x"
  },
  "devDependencies" :  {
    "should": "*"
    /* "mocha": "*" not needed as should be globally installed */
  }
}

The example comment above doesn't work as npm breaks. I've also tried // style comments.


Solution

  • This has recently been discussed on the Node.js mailing list.

    According to Isaac Schlueter who created npm:

    ... the "//" key will never be used by npm for any purpose, and is reserved for comments ... If you want to use a multiple line comment, you can use either an array, or multiple "//" keys.

    When using your usual tools (npm, yarn, etc.), multiple "//" keys will be removed. This survives:

    { "//": [
      "first line",
      "second line" ] }
    

    This will not survive:

    { "//": "this is the first line of a comment",
      "//": "this is the second line of the comment" }
    

    One must be aware that "//" can only be used at the root of the package.json object. For example

    { 
      "//": "comment!", 
      "dependencies": {...}
    } 
    

    is valid but

    { 
      "dependencies": { 
         "//": "comment?" 
      }
    }
    

    is invalid.

    -- @david_p comment