5

I have package.json which is below

{
  "name": "b",
  "version": "1.0.0",
  "description": "",
  "main": ".eslintrc.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

Now, I want to update "name" from b to new-b. How can I do that programmatically? I tried npm config set command, but it does not update package.json file

Please let me know Thank you

daydreamer
  • 87,243
  • 191
  • 450
  • 722

2 Answers2

4

If you're trying to use the CLI to modify the package properties, you should be able to use the pkg command. Though I seemed to be running into some issues with it on npm 7.5.4.

npm pkg set name new-b

Edit: Whelp turns out that this command was actually added 2 weeks prior to this post, so you'll actually need at least npm version v7.20.0 to correctly run the command.

Chase Ingebritson
  • 1,559
  • 1
  • 12
  • 25
  • I think that's the issue. I logged a question at https://stackoverflow.com/questions/68583943/unknown-command-pkg-when-running-npm-command – daydreamer Jul 29 '21 at 23:55
0

If you want to use a JavaScript file, you can use the fs module to change the package.json files contents.

For example, you could have a build.js file which asks you which content to change and then uses fs to read the current file and overwrite it. Refer to this Stack Overflow question for help using fs with JSON objects.

Ryan4545
  • 46
  • 1
  • 4