Commit Graph

86 Commits (cd81efac7e1b2ea120fa827f8df0e84aa70f8263)

Author SHA1 Message Date
midknight41 6c1eb5e917 fixed white spacing and added (embarrassing absent) variable declarations 2013-10-26 20:40:12 +01:00
midknight41 29f1ca281b added support for BOM in load() and loadSync() 2013-10-03 09:17:36 +01:00
Marcin Floryan 0135d95a06 Additional error information when JSON config file cannot be read 2013-04-29 16:34:48 +01:00
Charlie Robbins 818526ca62 Merge pull request #63 from SchoonologyRRL/patch-1
Updated Memory.merge to handle null values
2012-12-20 22:56:54 -08:00
Michael Hart bb57c497d3 Prefer this fix for #65 to 6045618 2012-12-20 18:12:42 -05:00
indexzero 60456186d7 [fix] Fix for #65 2012-12-20 18:03:37 -05:00
Michael Schoonmaker ed41c51850 Updated Memory.merge to handle null values
Previously, if the Memory store was merged with an object containing a null value, the following Error occurred:

TypeError: Object.keys called on non-object
    at Function.keys (native)
    at Memory.merge (/.../node_modules/nconf/lib/nconf/stores/memory.js:199:17)
    at Memory.merge (/.../node_modules/nconf/lib/nconf/stores/memory.js:200:17)
    at Array.every (native)
    at Memory.merge (/.../node_modules/nconf/lib/nconf/stores/memory.js:199:29)
    at common.merge (/.../node_modules/nconf/lib/nconf/common.js:99:13)
    at Array.forEach (native)
    at common.merge (/.../node_modules/nconf/lib/nconf/common.js:98:22)
    at Array.forEach (native)
    at Object.common.merge (/.../node_modules/nconf/lib/nconf/common.js:97:8)

This commit prevents that.
2012-09-27 11:26:56 -07:00
Christian Tellnes 8e987b8d3d make it possible to use other formats than json in common.loadFiles and common.loadFilesSync 2012-09-16 17:45:00 +02:00
Bradley Meck da39d3cac3 [fix] null values should merge properly instead of throwing errors 2012-09-08 20:10:58 -05:00
Bradley Meck 683f78918c [fix] #59 root get/set should work via null/undefined as key 2012-09-07 09:29:30 -05:00
indexzero d96d2544bc [fix] Fix regression introduced by 36e061c4bd 2012-07-10 03:16:54 -04:00
indexzero 30734301e7 [api test doc] Make options to `Provider.prototype.file` take more flexible options 2012-07-10 01:50:18 -04:00
indexzero 7515f66572 [fix] Ensure that all options are passed to `Provider.prototype.add` in `Provider.prototype.file`. Fixes #51
[doc] Update README.md and method documentation
[dist] Remove vim comments
2012-07-10 01:27:28 -04:00
Michael Hart 9aaafc5a22 Ugh, fixed whitespace 2012-06-21 18:05:52 +10:00
Michael Hart 3c08fad1c9 Changed to as it's more accurate 2012-06-21 18:04:37 +10:00
Michael Hart e15f787940 Updated README and allowed a simpley syntax 2012-06-21 17:18:22 +10:00
Michael Hart 8921d0502e Added support for nested configs via env 2012-06-21 16:46:10 +10:00
Michael Hart 6cbc323005 Add reset to the list of destructive commands 2012-06-14 19:40:28 +05:30
Michael Hart 26d81e8dca Merge objects if necessary when traversing stores on get() 2012-06-13 18:28:54 +05:30
Christian Tellnes 83440f9956 fix spelling in error message 2012-05-24 07:27:19 +02:00
Maciej Małecki 87b0dd01c9 [minor] Use `fs.exists` when available
`path.exists*` was moved to `fs` module in
joyent/node@e10ed097cb.
2012-05-15 11:02:46 +02:00
Jonathan Stewmon 6353d028f7 api and doc change for flatiron/nconf#28 (`.file` may now take a string instead of an object)
Conflicts:

	lib/nconf/provider.js
2012-05-03 17:10:19 -07:00
Russell Frank 36e061c4bd Fixes to `Provider.save()` and tests.
Fixed `Provider.save()` to properly ignore stores which do not provide
a saveSync method.  Also, fixed `save()` to properly save asynchronously
when an async `save()` method on a store is provided.

Removed the tests from `nconf-test.js` which expected `save()` to throw
or return an error when a store without `save()` methods was
encountered. Also removed a `console.log` from `provider-test.js`.
2012-05-01 22:44:15 -04:00
Pavan Kumar Sunkara 29eb5f905d [minor] Fix whitespaces 2012-04-15 00:58:55 +05:30
Jordan Harband 6ce0b7aef3 Surfacing additional JSON.stringify arguments in formats.json.stringify, and adding the json_spacing option to the File constructor. 2012-04-13 13:22:42 -07:00
Maciej Małecki b3699314cf [minor] Use `fs.existsSync` when available
`path.exists*` was moved to `fs` module in
joyent/node@e10ed097cb.
2012-03-29 13:13:16 +02:00
indexzero 6242caafda [api minor] Add `.loadSync()` to Memory store. Fixes #24 2012-01-02 17:20:06 -05:00
indexzero 9e9e37bb84 [minor] Update whitespace 2012-01-02 17:14:03 -05:00
Jonathan Stewmon a216336290 updated Provider.load to respect sources hierarchy 2012-01-02 17:11:51 -05:00
Jonathan Stewmon 5c43d546d1 fixed merge issue in Provider.load by reversing store keys in getStores 2012-01-02 17:11:31 -05:00
Jonathan Stewmon 2804b1fb37 fixed issue caused by using same name for defaults and overrides 2012-01-02 17:11:24 -05:00
Maciej Małecki 963387cfd4 [api] `File.saveSync()` should return store content
Fixes #27.
2011-12-25 15:30:48 +01:00
indexzero 6c720ee109 [dist] Update Copyright and Author to Nodejitsu Inc. 2011-11-24 00:33:08 -05:00
indexzero 53d854a789 [api] Default to `options` if `options.store` is not available in nconf.Literal 2011-11-24 00:30:27 -05:00
indexzero f4f1fdf464 [fix test] Update to respected `.sources` option correctly 2011-11-24 00:30:14 -05:00
indexzero bbcb2712f1 [api fix] Dont eagerly create config files in `.load()` and `.loadSync()` 2011-11-24 00:30:11 -05:00
indexzero 16a18bffe6 [refactor] Expose all store prototypes on `nconf.*`. Expose store instances on Provider.stores and Provider.sources 2011-11-24 00:29:43 -05:00
indexzero c3cebe7cb4 [refactor] Rename `.sources` to `._stores` and bring back `._sources` 2011-11-24 00:29:39 -05:00
indexzero 78ce55602f [minor] Dont allow `.set()` calls to change values in readOnly stores: argv, env, and literal 2011-11-24 00:29:35 -05:00
indexzero c3c315d648 [refactor] Refactor to make using nconf more fluent. 2011-11-24 00:29:15 -05:00
Maciej Małecki 1b258bf5b3 [fix] Fix option parsing
See nodejitsu/forever#165.
2011-11-22 02:06:09 +01:00
Maciej Małecki bbc5885fc1 [api] Reparse argv arguments on `system.loadArgv()`
It allows manipulating `process.argv` on the fly while still being able
to use nconf `System` store.
2011-11-19 01:58:08 +01:00
indexzero 2e33082f0b [api] Automatically search for a file if `options.search` is true in File store 2011-10-22 02:36:45 -04:00
indexzero a2464d244b [api] Load sources into the default system store so they are permenantly cached 2011-09-25 00:46:28 -04:00
indexzero d0aee0d451 [api test] Added `.sources` option for `nconf.Provider` for readonly configuration data 2011-09-25 00:01:44 -04:00
indexzero 0234e17804 [fix] Update bad variable reference 2011-09-24 23:40:57 -04:00
indexzero a490c7729b [fix] Match case in `require` statements 2011-09-19 13:51:17 -07:00
indexzero 1ef5797e83 [api test] Finished API and tests for hierarchical configuration storage. 2011-09-18 21:37:01 -04:00
indexzero da2da7aea8 [api test breaking refactor] Significant refactor to how nconf works. Now a fully hierarchical configuration storage mechanism capable of multiple levels of stores of the same type. 2011-09-16 06:49:47 -04:00
indexzero 2bda7b6216 [api] Added `nconf.stores.System` 2011-09-13 07:38:41 -04:00