For build system plugins that need to fetch relative config files (like .fecsrc).
npm install manis
var Manis = require('manis');
var stripJSONComments = require('strip-json-comments');
var loader = function (text) {
return JSON.parse(stripJSONComments(text));
};
var manis = new Manis({
files: [
{
// just for example, it should be loaded as yaml in fact.
name: '.eslintrc',
get: function (json) {
return {eslint: json};
}
},
'.fecsrc',
{
name: 'package.json',
get: function (json) {
return json.fecs || {};
}
}
],
loader: loader
});
var options = manis.from('path/to/file.js');
// do something cool with options
NOTICE: the default loader strip comment after [email protected].
var yaml = require('js-yaml');
var Manis = require('manis');
var loader = function (text) {
return yaml.load(text);
};
var manis = new Manis('.travis.yml', {loader: loader});
var options = manis.from('path/to/file.js');
// do something cool with options
NOTICE: the default loader used js-yaml
to load YAML and JSON content after [email protected].
var Manis = require('manis');
var manis = new Manis({
files: [
'.fecsrc',
{
name: 'package.json',
get: 'fecs'
}
]
});
manis.setDefault('default/path/to/config/fecs.json');
var options = manis.from('path/to/file.js');
// do something cool with options
var Manis = require('manis');
var manis = new Manis({
files: [
'.fecsrc',
{
name: 'package.json',
get: 'fecs'
}
]
});
manis.setDefault('default/path/to/config/fecs.json');
// will find `~/.fecsrc`
manis.setUserConfig();
var options = manis.from('path/to/file.js');
// do something cool with options
var Manis = require('manis');
var map = require('map-stream');
module.exports = function MyGulpPlugin(options) {
var manis = new Manis('.fecsrc', options);
return map(function (file, cb) {
// get the options for this file specifically
var options = manis.from(file.path);
// do something cool
// send the file along
cb(null, file);
});
};
Alias for js-yaml
module.
The default loader, parse JSON or YAML content with js-yaml
.
-
files
, Array or string, items could be string or Object. -
loader
, Function,parser for config content. -
lookup
, Boolean, Find all up-level config files. default is true. -
merge
, Boolean, Merge all config objects. default is true. -
cache
, Boolean, Cache config files. default is true. -
rootName
, String, The name of flag whenenableRoot
set to true. default is 'root'. -
enableRoot
, Boolean, Enable the root flag to stop lookup in up-level directory. default is false. -
stopper
, Function, the predicate for stopping search. default is null.
-
name
, string, the file name to be searched. -
loader
, Funtion, the same as options.loader above; -
stopper
, Function, the predicate for stopping search. -
get
, string or Function, the field name to retrieve from config object. -
cache
, Boolean, Cache config files. default is true.