{"id":26121496,"url":"https://github.com/agrarium/agrarium","last_synced_at":"2025-04-13T12:51:07.125Z","repository":{"id":57095612,"uuid":"109803507","full_name":"agrarium/agrarium","owner":"agrarium","description":"Tool for transform information with JS plugins.","archived":false,"fork":false,"pushed_at":"2019-02-12T15:32:55.000Z","size":158,"stargazers_count":5,"open_issues_count":9,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-10T21:16:09.028Z","etag":null,"topics":["collector","components","data-structures","docs","documentation","generic","jsdoc","streams","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/agrarium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-07T07:50:51.000Z","updated_at":"2022-04-10T17:43:35.000Z","dependencies_parsed_at":"2022-08-22T23:10:24.145Z","dependency_job_id":null,"html_url":"https://github.com/agrarium/agrarium","commit_stats":null,"previous_names":[],"tags_count":59,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agrarium%2Fagrarium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agrarium%2Fagrarium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agrarium%2Fagrarium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/agrarium%2Fagrarium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/agrarium","download_url":"https://codeload.github.com/agrarium/agrarium/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248717252,"owners_count":21150388,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collector","components","data-structures","docs","documentation","generic","jsdoc","streams","typescript"],"created_at":"2025-03-10T14:23:14.796Z","updated_at":"2025-04-13T12:51:07.106Z","avatar_url":"https://github.com/agrarium.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Agrarium\n\nToolkit to collect information about components with microplugin infrastructure.\n\n## Usage\n\n```sh\nnpm i agrarium\n```\n\n### CLI\n\nPut `.agrarium.js` config to the root of your project.\n\n``` js\nconst { presetDefault, PluginDTS } = require('agrarium');\n\nmodule.exports = {\n    src: ['./src/components'],\n    plugins: [\n        presetDefault({/* options */}),\n        new PluginDTS({/* options */})\n    ]\n};\n```\n\nRead more info about config [here](packages/cli#agrarium-config).\n\nRun in terminal:\n\n```sh-session\n$ agrarium harvest --json -o data.json\n```\n\nRead more about CLI commands [here](packages/cli#harvest).\n\n### Node API\n\n```js\nconst { agrarium, presetDefault, PluginDTS } = require('agrarium');\n\nagrarium({\n    src: ['./src/components'],\n    plugins: [\n        presetDefault({/* options */}),\n        new PluginDTS({/* options */})\n    ]\n}); // -\u003e Readable Stream\n```\n\nRead more about NodeJS usage [here](packages/core).\n\n## Plugins\n\n- [Markdown](packages/plugin-markdown)\n- [List](packages/plugin-list)\n- [BemJSD](packages/plugin-bemjsd)\n- [Types Definitions](packages/plugin-dts)\n\nNot enough? [Build your own plugin!](#build-your-own-plugin)\n\n## Presets\n\n- [Default](packages/preset-default)\n\n## Examples\n\n- [React components](https://github.com/agrarium/example-bem-react)\n- [BEM components](https://github.com/agrarium/example-bem-origin)\n- [Gulp builder](https://github.com/agrarium/example-bem-builder-origin)\n\n## Build your own plugin\n\n```js\nconst { Plugin } = require('agrarium');\n\nclass AwesomePlugin extends Plugin {\n    async gather({ key, files }) {\n        return { filesQty: files.length };\n    }\n}\n\nagrarium({\n    src: ['./src/components' ],\n    plugins: [\n        new AwesomePlugin()\n    ]\n}).on('data', ({ key, files, data }) =\u003e {\n    console.log(data); // { filesQty }\n}).resume();\n```\n\nRead more about plugins API [here](packages/plugin).\n\n## License MIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagrarium%2Fagrarium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagrarium%2Fagrarium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagrarium%2Fagrarium/lists"}