README
edit-package-json
Edit package.json without parsing, as string, to keep the formatting intact
Install
The latest version is ESM only: Node 12+ is needed to use it and it must be import
ed instead of require
d. If your project is not on ESM yet and you want to use require
, use an older version of this program, 0.4.0
.
npm i edit-package-json
Quick Take
import { strict as assert } from "assert";
import { set, del } from "edit-package-json";
// edit JSON as string
assert.equal(
set(
`{
"name": "test",
"dependencies": {
"ranges-apply": "^2.0.0",
"string-left-right": "^2.3.30"
},
"devDependencies": {}
}`,
"dependencies.ranges-apply", // path to amend
"^3.2.2" // new value
),
`{
"name": "test",
"dependencies": {
"ranges-apply": "^3.2.2",
"string-left-right": "^2.3.30"
},
"devDependencies": {}
}`
);
// edit from JSON string
assert.equal(
del(
`{
"name": "test",
"dependencies": {
"ranges-apply": "^2.0.0",
"string-left-right": "^2.3.30"
},
"devDependencies": {}
}`,
"devDependencies" // path to delete
),
`{
"name": "test",
"dependencies": {
"ranges-apply": "^2.0.0",
"string-left-right": "^2.3.30"
}
}`
);
Documentation
Please visit codsen.com for a full description of the API.
Contributing
To report bugs or request features or assistance, raise an issue on GitHub.
Licence
MIT License
Copyright (c) 2010-2022 Roy Revelt and other contributors Passes adapted .set() unit tests from https://github.com/mariocasciaro/object-path/blob/master/test.js, MIT Licence Copyright (c) 2015 Mario Casciaro