Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

parse-git-status

jamestalmage4.4kMIT0.1.0

Parse the output of git status --porcelain -z

git, status, parse

readme

parse-git-status Build Status

Parse the output of git status --porcelain -z

Install

$ npm install --save parse-git-status

Usage

const parseGitStatus = require('parse-git-status');
const execa = require('execa');

execa('git', ['status', '--porcelain'])
    .then(({stdout}) => {
        console.log(parseGitStatus(stdout));
    });

API

parseGitStatus(gitStatus)

Parses gitStatus and returns an array of StatusObjects.

gitStatus

Type: string

The output of the command git status --porcelain.

--

StatusObject

Each status object in the array has the following format:

let statusObj = {
  x: 'A', // status code character
  y: 'A', // status code character
  to: 'bar.js', // the destination path (or just the path if not renamed)
  from: 'foo.js', // the source path if a rename (null otherwise)
}

See https://git-scm.com/docs/git-status for a list of available status codes and what each status code means.

parseGitStatus.describeCode(code)

Returns a descriptive name for each of the status codes.

parseGitStatus.describeCode('M')
// => "modified"
parseGitStatus.describeCode('A')
// => "added"

code

Type: string of length one (a single character)

Legal values are M, A, D, R, C, U, !, ? and (space character).

See https://git-scm.com/docs/git-status for more details.

License

MIT © James Talmage