Package detail

@putout/git-status-porcelain

putoutjs16.9kMIT3.0.0

parse git status --porclain output with a pleasure

read, uint, buffer

readme

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

changelog

2023.06.14, v3.0.0

feature:

  • 151a21b package: supertape v8.3.0
  • 462e92a package: c8 v8.0.0
  • 77c38ee package: eslint-plugin-putout v17.7.0
  • 53523a8 package: putout v29.13.5
  • 2e210f4 pocelain: add unstaged

2022.05.11, v2.0.1

fix:

  • package: repo url: coderaiser -> putout

2022.05.11, v2.0.0

feature:

  • drop support of node < 16
  • package: supertape v7.2.3
  • (package) eslint v8.15.0
  • (package) putout v26.0.1
  • (package) madrun v9.0.3
  • (package) eslint-plugin-putout v15.1.1

2020.03.18, v1.1.0

feature:

  • (git-status-porcelain) add support of renamed
  • (package) nodemon v2.0.2
  • (package) nyc v15.0.0
  • (package) eslint-plugin-node v11.0.0
  • (package) madrun v5.4.5
  • (package) eslint-plugin-putout v3.3.1
  • (package) putout v7.18.2

2019.09.25, v1.0.1

fix:

  • (readme) badges
  • (package) repo