0.1.1 • Published 7 years ago
@agrarium/cli v0.1.1
Agrarium CLI
Simple CLI tool for collecting data in terminal.
Usage
$ npm install -g @agrarium/cli
$ agrarium COMMAND
$ agrarium (-v|--version|version)
$ agrarium --help [COMMAND]Commands
harvest
Collect all data for components.
USAGE
  $ agrarium harvest
OPTIONS
  -c, --config=p/t/config       Path to Agrarium config
  -d, --workdir=my/cwd          Working directory
  -j, --json                    Export data as JSON
  -o, --output=file.json        Path to output file with harvested data
  -s, --silent                  No info to stdout
  --concurently=/lib/worker.js  Path to chunk worker
  --flush=/lib/prepareData.js   Path to result transformer
EXAMPLE
  ❯ agrarium harvest
  ❯ agrarium harvest -o output.txt
  ❯ agrarium harvest -j -o path/to/harvest.json
  ❯ agrarium harvest --concurenty path/to/worker.js
  ❯ agrarium harvest --flush path/to/worker.js
  ❯ agrarium harvest -c ../.agrarium.js -c path/to/one/more/.agrarium.js
  ❯ agrarium harvest -j | xargs echo > ./file.json
  ❯ agrarium harvest | builderhelp
Display help for agrarium command.
USAGE
  $ agrarium help [COMMAND]
ARGUMENTS
  COMMAND  command to show help for
OPTIONS
  --all  see all commands in CLIConfigure
Agrarium config
By default Agrarium uses .agrarium.js from your working directory.
const { presetDefault, PluginDTS } = require('agrarium');
module.exports = {
    src: ['./components'],
    plugins: [
        presetDefault({/* options */}),
        new PluginDTS({/* options */})
    ],
    transform: /* optional */ function(chunk) {
        // Customiize your data by chunk
        return chunk;
    }
};It can be an array of configs.
const { presetDefault, PluginDTS } = require('agrarium');
const plugins = [
    presetDefault({/* options */}),
    new PluginDTS({/* options */})
];
module.exports = [{
    src: ['./components'],
    plugins
}, {
    src: ['./lib/components'],
    plugins,
    transform: function({ data, context }) {
        return {
            markdown: data.markdown,
            components: context.components,
            dts: data.dts,
            say: 'Hello Agrarium!'
        };
    }
}];Worker
It any module wich you can use to build|compile|whatever for every chunk.
module.exports = function worker(chunk) {
    setTimeout(() => {
        console.log(chunk.component.key);
    }, 0);
}Flush
It any module wich you can use transform result data before output.
module.exports = function flush(data) {
    data.push('hi hi ;)');
    return data;
}