You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
AJ ONeal
a0d1c7845c
|
5 years ago | |
---|---|---|
.gitignore | 8 years ago | |
LICENSE | 6 years ago | |
README.md | 6 years ago | |
example.conf | 8 years ago | |
index.js | 7 years ago | |
package-lock.json | 5 years ago | |
package.json | 5 years ago | |
test.js | 8 years ago |
README.md
pyconf.js
formerly node-config-python
Read and write python config files non-destructively (preserves comments and line-order)
Turns this kind of thing:
foo = True
bar = None
baz = whatever
qux = apples,bananas
Into this kind of thing:
{ foo: true
, bar: null
, baz: "whatever"
, qux: ["apples", "bananas"]
}
(comments are stored in meta-data keys __lines
and __keys
)
Install
npm install --save pyconf
Usage
var pyconf = require('pyconf');
// alias for fs.readFile() then pyconf.parse()
pyconf.readFile("/path/to/foo.conf", function (err, obj) {
console.log(obj);
});
// alias for pyconf.stringify() then safeReplace.writeFile()
pyconf.writeFile("/path/to/foo.conf", obj, function (err, obj) {
console.log("wrote file");
});
Note: the writeFile
function uses safe-replace
so that it will work even in environments where race conditions are possible and will also create a backup file whatever.conf.bak
of the config being overwritten.
API
pyconf
.parse(str, cb) // => err, object
.stringify(obj, cb) // => err, text
.readFile(filename, cb) // => err, object
.writeFile(filename, obj, cb) // => err