@putout/git-status-porcelain
parse git status --porclain output with a pleasure
Last updated 3 years ago by coderaiser .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @putout/git-status-porcelain 
SYNC missed versions from official npm registry.

Porcelain License NPM version Build Status Coverage

Parse git status --porcelain output with a pleasure.

Install

npm i @putout/git-status-porcelain

How to use?

porcelain can be used in simpified mode, when you just need names of modified files (added, deleted, works as well):

const porcelain = require('@putout/git-status-porcelain');

porcelain({
    modified: true,
    untracked: true,
});

// returns
[
    'README.md',
    '1.js',
];

But you can get break porcelain into pieces as well ????:

const porcelain = require('@putout/git-status-porcelain');
const {
    run,
    parse,
    pick,
    getNames,
} = porcelain;

// run git status --porcelain
const stdout = run();
// returns
' M README.md\n?? 1.js\n';

const files = parse(stdout);
// returns
[{name: 'README.md', mode: ' M '}, {name: '1.js', mode: '?'}];

const modifiedFiles = pick(files, {
    modified: false,
    untracked: false,
    deleted: false,
    added: false,
    renamed: false,
    unstaged: false,
});
// returns
[{name: 'README.md', mode: ' M '}];

getNames(modifiedFiles);
// returns
['README.md'];

License

MIT

Current Tags

  • 3.0.0                                ...           latest (3 years ago)

6 Versions

  • 3.0.0                                ...           3 years ago
  • 2.0.1                                ...           4 years ago
  • 2.0.0                                ...           4 years ago
  • 1.1.0                                ...           6 years ago
  • 1.0.1                                ...           7 years ago
  • 1.0.0                                ...           7 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 1
Last Day 0
Last Week 1
Last Month 0
Dependencies (0)
None
Dev Dependencies (9)
Dependents (2)

Copyright 2013 - present © cnpmjs.org | Home |