0.1.4 • Published 6 years ago

globble v0.1.4

Weekly downloads
1
License
MIT
Repository
-
Last release
6 years ago

globble

Globble loads data from JSON and YAML files as well as from JS files which export valid JSON data structures.

Version Travis License

Built atop globby by the brilliant and prolific Sindre Sorhus, which in turn is built atop fast-glob by Denis Malinochkin.

Install

$ npm install globble

Usage

File System

├── stargate
│   ├── sam.yml
│   └── tealc.json
├── startrek
│   ├── worf.yml
│   └── la-forge.js
└── starwars.json

Code

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.yml

Code

(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

0.1.4

6 years ago

0.1.3

6 years ago

0.1.2

6 years ago

0.1.1

6 years ago

0.1.0

6 years ago

0.0.1

6 years ago