{"_id":"@putout/git-status-porcelain","_rev":"4154979","name":"@putout/git-status-porcelain","description":"parse git status --porclain output with a pleasure","dist-tags":{"latest":"3.0.0"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"time":{"modified":"2026-03-01T20:22:50.000Z","created":"2019-09-25T12:37:48.816Z","3.0.0":"2023-06-14T20:26:21.899Z","2.0.1":"2022-05-10T21:21:27.397Z","2.0.0":"2022-05-10T21:17:52.466Z","1.1.0":"2020-03-17T22:06:06.846Z","1.0.1":"2019-09-25T12:44:39.529Z","1.0.0":"2019-09-25T12:37:48.816Z"},"users":{},"author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"http://coderaiser.github.io/"},"repository":{"type":"git","url":"git://github.com/putoutjs/git-status-porcelain.git"},"versions":{"3.0.0":{"name":"@putout/git-status-porcelain","version":"3.0.0","type":"commonjs","description":"parse git status --porclain output with a pleasure","main":"lib/porcelain.js","scripts":{"test":"madrun test","coverage":"madrun coverage","lint":"madrun lint","fix:lint":"madrun fix:lint","report":"madrun report","watcher":"madrun watcher","watch:test":"madrun watch:test","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape","watch:coverage":"madrun watch:coverage"},"repository":{"type":"git","url":"git://github.com/putoutjs/git-status-porcelain.git"},"keywords":["read","uint","buffer"],"author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"http://coderaiser.github.io/"},"license":"MIT","bugs":{"url":"https://github.com/putoutjs/git-status-porcelain/issues"},"homepage":"https://github.com/putoutjs/git-status-porcelain","devDependencies":{"c8":"^8.0.0","eslint":"^8.15.0","eslint-plugin-n":"^16.0.0","eslint-plugin-putout":"^17.7.0","madrun":"^9.0.3","mock-require":"^3.0.3","nodemon":"^2.0.2","putout":"^29.13.5","supertape":"^8.3.0"},"engines":{"node":">=16"},"dependencies":{},"publishConfig":{"access":"public"},"gitHead":"f10ad77132b482c6cbb3ab1cb062aa05b60293cf","_id":"@putout/git-status-porcelain@3.0.0","_nodeVersion":"20.2.0","_npmVersion":"9.6.6","dist":{"shasum":"8c6f490f994fe349062a178a7c0052899c10a261","size":2995,"noattachment":false,"key":"/@putout/git-status-porcelain/-/@putout/git-status-porcelain-3.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/git-status-porcelain/download/@putout/git-status-porcelain-3.0.0.tgz"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/git-status-porcelain_3.0.0_1686774381736_0.03357979245493081"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2023-06-14T20:26:21.899Z","publish_time":1686774381899,"_source_registry_name":"default","_cnpm_publish_time":1686774381899},"2.0.1":{"name":"@putout/git-status-porcelain","version":"2.0.1","type":"commonjs","commitType":"colon","description":"parse git status --porclain output with a pleasure","main":"lib/porcelain.js","scripts":{"test":"madrun test","coverage":"madrun coverage","lint":"madrun lint","fix:lint":"madrun fix:lint","report":"madrun report","watcher":"madrun watcher","watch:test":"madrun watch:test","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape","watch:coverage":"madrun watch:coverage"},"repository":{"type":"git","url":"git://github.com/putoutjs/git-status-porcelain.git"},"keywords":["read","uint","buffer"],"author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"http://coderaiser.github.io/"},"license":"MIT","bugs":{"url":"https://github.com/putoutjs/git-status-porcelain/issues"},"homepage":"https://github.com/putoutjs/git-status-porcelain","devDependencies":{"c8":"^7.11.2","eslint":"^8.15.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^15.1.1","madrun":"^9.0.3","mock-require":"^3.0.3","nodemon":"^2.0.2","putout":"^26.0.1","supertape":"^7.2.3"},"engines":{"node":">=16"},"dependencies":{},"publishConfig":{"access":"public"},"gitHead":"fbb5cabe43c0c7c1f5185e959659d22add87fe9d","_id":"@putout/git-status-porcelain@2.0.1","_nodeVersion":"18.0.0","_npmVersion":"8.3.0","dist":{"shasum":"e1f002d5a8becfaee6ab4005a1f2d256db3d7957","size":2842,"noattachment":false,"key":"/@putout/git-status-porcelain/-/@putout/git-status-porcelain-2.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/git-status-porcelain/download/@putout/git-status-porcelain-2.0.1.tgz"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/git-status-porcelain_2.0.1_1652217687252_0.7867047525683277"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-10T21:44:06.294Z","publish_time":1652217687397,"_cnpm_publish_time":1652217687397},"2.0.0":{"name":"@putout/git-status-porcelain","version":"2.0.0","type":"commonjs","commitType":"colon","description":"parse git status --porclain output with a pleasure","main":"lib/porcelain.js","scripts":{"test":"madrun test","coverage":"madrun coverage","lint":"madrun lint","fix:lint":"madrun fix:lint","report":"madrun report","watcher":"madrun watcher","watch:test":"madrun watch:test","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape","watch:coverage":"madrun watch:coverage"},"repository":{"type":"git","url":"git://github.com/coderaiser/git-status-porcelain.git"},"keywords":["read","uint","buffer"],"author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"http://coderaiser.github.io/"},"license":"MIT","bugs":{"url":"https://github.com/coderaiser/git-status-porcelain/issues"},"homepage":"https://github.com/coderaiser/git-status-porcelain","devDependencies":{"c8":"^7.11.2","eslint":"^8.15.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^15.1.1","madrun":"^9.0.3","mock-require":"^3.0.3","nodemon":"^2.0.2","putout":"^26.0.1","supertape":"^7.2.3"},"engines":{"node":">=16"},"dependencies":{},"publishConfig":{"access":"public"},"gitHead":"fb291388b964fb96069ac7b6aac18c033180e918","_id":"@putout/git-status-porcelain@2.0.0","_nodeVersion":"18.0.0","_npmVersion":"8.3.0","dist":{"shasum":"df4ed1f14c4b9c7aaf1a8b4a1515aad0029318e9","size":2819,"noattachment":false,"key":"/@putout/git-status-porcelain/-/@putout/git-status-porcelain-2.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/git-status-porcelain/download/@putout/git-status-porcelain-2.0.0.tgz"},"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/git-status-porcelain_2.0.0_1652217472263_0.23169290733353964"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2022-05-10T21:44:04.857Z","publish_time":1652217472466,"_cnpm_publish_time":1652217472466},"1.1.0":{"name":"@putout/git-status-porcelain","version":"1.1.0","description":"parse git status --porclain output with a pleasure","main":"lib/porcelain.js","scripts":{"test":"madrun test","coverage":"madrun coverage","lint":"madrun lint","fix:lint":"madrun fix:lint","report":"madrun report","watcher":"madrun watcher","watch:test":"madrun watch:test","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape","watch:coverage":"madrun watch:coverage"},"nyc":{"include":["lib"]},"repository":{"type":"git","url":"git://github.com/coderaiser/git-status-porcelain.git"},"keywords":["read","uint","buffer"],"author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"http://coderaiser.github.io/"},"license":"MIT","bugs":{"url":"https://github.com/coderaiser/git-status-porcelain/issues"},"homepage":"https://github.com/coderaiser/git-status-porcelain","devDependencies":{"@cloudcmd/stub":"^2.3.2","coveralls":"^3.0.0","eslint":"^6.4.0","eslint-plugin-node":"^11.0.0","eslint-plugin-putout":"^3.3.1","madrun":"^5.4.5","mock-require":"^3.0.3","nodemon":"^2.0.2","nyc":"^15.0.0","putout":"^7.18.2","supertape":"^1.2.3"},"engines":{"node":">=8"},"dependencies":{},"publishConfig":{"access":"public"},"gitHead":"1ffbd0f4739de6efbbc918cd50ab8ffb2be20378","_id":"@putout/git-status-porcelain@1.1.0","_nodeVersion":"13.10.1","_npmVersion":"6.12.1","dist":{"shasum":"62b7e36ab1164a4698283087083643812535206c","size":2499,"noattachment":false,"key":"/@putout/git-status-porcelain/-/@putout/git-status-porcelain-1.1.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/git-status-porcelain/download/@putout/git-status-porcelain-1.1.0.tgz"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/git-status-porcelain_1.1.0_1584482766707_0.7375324605777906"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-24T17:36:44.220Z","publish_time":1584482766846,"_cnpm_publish_time":1584482766846},"1.0.1":{"name":"@putout/git-status-porcelain","version":"1.0.1","description":"parse git status --porclain output with a pleasure","main":"lib/porcelain.js","scripts":{"test":"madrun test","coverage":"madrun coverage","lint":"madrun lint","fix:lint":"madrun fix:lint","report":"madrun report","watcher":"madrun watcher","watch:test":"madrun watch:test","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape","watch:coverage":"madrun watch:coverage"},"nyc":{"include":["lib"]},"repository":{"type":"git","url":"git://github.com/coderaiser/git-status-porcelain.git"},"keywords":["read","uint","buffer"],"author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"http://coderaiser.github.io/"},"license":"MIT","bugs":{"url":"https://github.com/coderaiser/git-status-porcelain/issues"},"homepage":"https://github.com/coderaiser/git-status-porcelain","devDependencies":{"@cloudcmd/stub":"^2.3.2","coveralls":"^3.0.0","eslint":"^6.4.0","eslint-plugin-node":"^10.0.0","eslint-plugin-putout":"^2.0.0","madrun":"^3.0.5","mock-require":"^3.0.3","nodemon":"^1.11.0","nyc":"^14.1.0","putout":"^6.1.0","supertape":"^1.2.3"},"engines":{"node":">=8"},"dependencies":{},"publishConfig":{"access":"public"},"gitHead":"34e03950092a61519491c865b1e1d4c3a0f6243e","_id":"@putout/git-status-porcelain@1.0.1","_nodeVersion":"10.16.3","_npmVersion":"6.11.3","dist":{"shasum":"13b668c87828f736a5d1fe9c2e7af4e4d4fd80c4","size":2233,"noattachment":false,"key":"/@putout/git-status-porcelain/-/@putout/git-status-porcelain-1.0.1.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/git-status-porcelain/download/@putout/git-status-porcelain-1.0.1.tgz"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/git-status-porcelain_1.0.1_1569415479407_0.5697144795714288"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-24T17:36:41.936Z","publish_time":1569415479529,"_cnpm_publish_time":1569415479529},"1.0.0":{"name":"@putout/git-status-porcelain","version":"1.0.0","description":"parse git status --porclain output with a pleasure","main":"lib/porcelain.js","scripts":{"test":"madrun test","coverage":"madrun coverage","lint":"madrun lint","fix:lint":"madrun fix:lint","report":"madrun report","watcher":"madrun watcher","watch:test":"madrun watch:test","watch:lint":"madrun watch:lint","watch:tape":"madrun watch:tape","watch:coverage:base":"madrun watch:coverage:base","watch:coverage:tape":"madrun watch:coverage:tape","watch:coverage":"madrun watch:coverage"},"nyc":{"include":["lib"]},"repository":{"type":"git","url":"git://github.com/coderaiser/parse-git-index.git"},"keywords":["read","uint","buffer"],"author":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com","url":"http://coderaiser.github.io/"},"license":"MIT","bugs":{"url":"https://github.com/coderaiser/parse-git-index/issues"},"homepage":"https://github.com/coderaiser/parse-git-index","devDependencies":{"@cloudcmd/stub":"^2.3.2","coveralls":"^3.0.0","eslint":"^6.4.0","eslint-plugin-node":"^10.0.0","eslint-plugin-putout":"^2.0.0","madrun":"^3.0.5","mock-require":"^3.0.3","nodemon":"^1.11.0","nyc":"^14.1.0","putout":"^6.1.0","supertape":"^1.2.3"},"engines":{"node":">=8"},"dependencies":{},"publishConfig":{"access":"public"},"gitHead":"03d8d6ac44c6868ba5a4731a57a8127e6cbfa54a","_id":"@putout/git-status-porcelain@1.0.0","_nodeVersion":"12.10.0","_npmVersion":"6.11.3","dist":{"shasum":"45bda3eb54471eda0d2828293f77e696baf53fdf","size":2161,"noattachment":false,"key":"/@putout/git-status-porcelain/-/@putout/git-status-porcelain-1.0.0.tgz","tarball":"http://registry.cnpm.dingdandao.com/@putout/git-status-porcelain/download/@putout/git-status-porcelain-1.0.0.tgz"},"maintainers":[{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"}],"_npmUser":{"name":"coderaiser","email":"mnemonic.enemy@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/git-status-porcelain_1.0.0_1569415068640_0.08088906984423994"},"_hasShrinkwrap":false,"_cnpmcore_publish_time":"2021-12-24T17:36:40.280Z","publish_time":1569415068816,"_cnpm_publish_time":1569415068816}},"readme":"# Porcelain [![License][LicenseIMGURL]][LicenseURL] [![NPM version][NPMIMGURL]][NPMURL] [![Build Status][BuildStatusIMGURL]][BuildStatusURL] [![Coverage][CoverageIMGURL]][CoverageURL]\n\n[NPMURL]: https://npmjs.org/package/@putout/git-status-porcelain \"npm\"\n[NPMIMGURL]: https://img.shields.io/npm/v/@putout/git-status-porcelain.svg?style=flat&longCache=true\n[BuildStatusURL]: https://github.com/putoutjs/git-status-porcelain/actions?query=workflow%3A%22Node+CI%22 \"Build Status\"\n[BuildStatusIMGURL]: https://github.com/putoutjs/git-status-porcelain/workflows/Node%20CI/badge.svg\n[LicenseURL]: https://tldrlegal.com/license/mit-license \"MIT License\"\n[LicenseIMGURL]: https://img.shields.io/badge/license-MIT-317BF9.svg?style=flat&longCache=true\n[CoverageURL]: https://coveralls.io/github/coderaiser/git-status-porcelain?branch=master\n[CoverageIMGURL]: https://coveralls.io/repos/coderaiser/git-status-porcelain/badge.svg?branch=master&service=github\n\nParse `git status --porcelain` output with a pleasure.\n\n## Install\n\n```\nnpm i @putout/git-status-porcelain\n```\n\n## How to use?\n\n`porcelain` can be used in simpified mode, when you just need names of modified files (`added`, `deleted`, works as well):\n\n```js\nconst porcelain = require('@putout/git-status-porcelain');\n\nporcelain({\n    modified: true,\n    untracked: true,\n});\n\n// returns\n[\n    'README.md',\n    '1.js',\n];\n```\n\nBut you can get break `porcelain` into pieces as well ????:\n\n```js\nconst porcelain = require('@putout/git-status-porcelain');\nconst {\n    run,\n    parse,\n    pick,\n    getNames,\n} = porcelain;\n\n// run git status --porcelain\nconst stdout = run();\n// returns\n' M README.md\\n?? 1.js\\n';\n\nconst files = parse(stdout);\n// returns\n[{name: 'README.md', mode: ' M '}, {name: '1.js', mode: '?'}];\n\nconst modifiedFiles = pick(files, {\n    modified: false,\n    untracked: false,\n    deleted: false,\n    added: false,\n    renamed: false,\n    unstaged: false,\n});\n// returns\n[{name: 'README.md', mode: ' M '}];\n\ngetNames(modifiedFiles);\n// returns\n['README.md'];\n```\n\n## License\n\nMIT\n","_attachments":{},"homepage":"https://github.com/putoutjs/git-status-porcelain","bugs":{"url":"https://github.com/putoutjs/git-status-porcelain/issues"},"license":"MIT"}