Edit package.json without parsing, as string, to keep the formatting intact
npm install edit-package-jsonEdit package.json without parsing, as string, to keep the formatting intact
This package is pure ESM. If you're not ready yet, install an older version of this program, 0.4.0 (npm i edit-package-json@0.4.0).
``bash`
npm i edit-package-json
`js
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": {}
},
);
// delete 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"
}
},``
);
Please visit codsen.com for a full description of the API.
To report bugs or request features or assistance, raise an issue on GitHub.
MIT License
Copyright © 2010-2025 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
![]()