globble
v0.1.4
Published
Globble loads data from JSON and YAML files as well as from JS files which export valid JSON data structures.
Maintainers
Readme
globble
Globble loads data from JSON and YAML files as well as from JS files which export valid JSON data structures.
Built atop globby by the brilliant and prolific Sindre Sorhus, which in turn is built atop fast-glob by Denis Malinochkin.
Install
$ npm install globbleUsage
File System
├── stargate
│ ├── sam.yml
│ └── tealc.json
├── startrek
│ ├── worf.yml
│ └── la-forge.js
└── starwars.jsonCode
const globble = require('globble');
(async () => {
const data = await globble('./scifi/**');
console.log(data);
})();Output
[ { name: 'sam',
file: '/Users/mac/scifi/stargate/sam.yml',
data: { strength: 6,
dexterity: 9,
endurance: 10,
intelligence: 10 } },
{ name: 'tealc',
file: '/Users/mac/scifi/stargate/tealc.json',
data: { strength: 10,
dexterity: 6,
endurance: 10,
intelligence: 8 } },
{ name: 'worf',
file: '/Users/mac/scifi/startrek/worf.yaml',
data: { strength: 10,
dexterity: 4,
endurance: 10,
intelligence: 7 } },
{ name: 'la-forge',
file: '/Users/mac/scifi/startrek/la-forge.js',
data: { strength: 4,
dexterity: 9,
endurance: 7,
intelligence: 9 } },
{ name: 'starwars',
file: '/Users/mac/scifi/starwars.json',
data: { rating: 3 } }]API
globble(patterns, [options])
Returns a Promise<Array|Object> of data from matched files.
patterns
Type: string Array
See supported minimatch patterns.
options
Type: Object
See globby options in addition to the ones below.
clobber
Type: boolean
Default: false
If set to true, globble will resolve with an object of the loaded data instead of a collection. The keys of this object will be the filename without the extension or the path. This means there is a chance of collisions—hence the name of the option.
File System
└── config
├── docker.json
└── k8s.ymlCode
(async () => {
const data = await globble('./config/**', { clobber: true });
console.log(data);
})();Output
{ docker: { baseImage: "alpine" },
k8s: { deployment: { name: "sandbox" } } }globble.sync(patterns, [options])
Returns an Array|Object of data from matched files.
Closing Thoughts...
Given globs globble gobbles gobs of goods.
License
MIT © Mac Heller-Ogden
