Wondering what’s next for npm?Check out our public roadmap! »

    @aboviq/kollektor

    1.2.0 • Public • Published

    @aboviq/kollektor

    Build status NPM version XO code style

    Generic file collector, useful for mono repos and microservices

    Installation

    Install @aboviq/kollektor using npm:

    npm install @aboviq/kollektor

    Usage

    Module usage

    const kollektor = require('@aboviq/kollektor');
     
    // Read all package.json files in a mono-repo async:
    const packages = await kollektor({
        handlers: {
            'package.json': packageFile => require(packageFile)
        }
    });
     
    // ...or sync:
    const packages = kollektor.sync({
        handlers: {
            'package.json': packageFile => require(packageFile)
        }
    });

    API

    kollektor(options)

    Name Type Description
    options Object Options for specifying the behaviour of Kollektor

    Returns: Promise<Array<Object>>, all collected information depending on given handlers.

    kollektor.sync(options)

    Name Type Description
    options Object Options for specifying the behaviour of Kollektor

    Returns: Array<Object>, all collected information depending on given handlers.

    Options

    options.cwd

    Type: String
    Default: process.cwd()

    Sets the current working directory

    options.handlers

    Type: Object<Handler>

    Example:

    {
        "handlers": {
            "package.json": () => {},
            "*.yml": () => {},
            "README.md": () => {}
        }
    }
    Handler definition

    Type: Function
    Signature: handlerName :: String -> Object -> Object

    handlerName is the name of the handler and is usually a filename, e.g. "package.json" which will call the handler for each package.json file it finds. The handlerName can also be a simple pattern matching multiple files, e.g: "*.yml".

    When a file is found that matches the handlerName the handler function will be called with these arguments:

    Name Type Description
    fullPath String The full path to the found file
    data Object This contains dir (the relative path of the folder), dirPath (the full path of the folder) and all data returned from previous handlers affecting the same folder

    The handler function can be async (return a promise) for the asynchronous version of Kollektor but must be synchronous for the sync version.

    Any Object returned from a handler is merged with the current folder's data and will be fed to the next handler affecting files in the same folder. When all handlers have been called and completed for a specific folder the resulting data is what's being returned in the Array of collected information. See the tests for more details on how it works.

    Contributing

    See Contribution Guidelines and our Code Of Conduct.

    License

    MIT © Aboviq AB

    Install

    npm i @aboviq/kollektor

    DownloadsWeekly Downloads

    18

    Version

    1.2.0

    License

    MIT

    Unpacked Size

    8.18 kB

    Total Files

    3

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar