Nocturnal Prancing Mosquito

    g-status

    2.0.2 • Public • Published

    g-status

    Get the change between index (or staging-area) and working directory of a git repository

    Package Version Downloads Status Build Status: Linux Coverage Status

    Think of git status or git status --porcelain, but returns a ready-to-consume result.

    Why

    • Maintained
    • Accepts simple wildcard matching patterns
    • Promise API
    • Ability to get specific results based on status codes
    • Knows which files are partially/fully-staged

    Installation

    npm install g-status

    Usage

    $ git status --porcelain
     
    A  .travis.yml  # fully-staged 
    MM index.js     # partially-staged 
     M readme.md    # unstaged 
    const gStatus = require('g-status');
     
    gStatus().then(res => {
      console.log(res);
      /*
        [
          { path: '.travis.yml', index: 'A', workingTree: ' ' },
          { path: 'index.js', index: 'M', workingTree: 'M' },
          { path: 'readme.md', index: ' ', workingTree: 'M' }
        ]
      */
    });
     
    gStatus({ path: ['!*.js', '!*.md'] }).then(res => {
      console.log(res);
      //=> [{ path: '.travis.yml', index: 'A', workingTree: ' ' }]
    });
     
    // Files marked as `Modified` or `Added` in the staging area,
    gStatus({ index: 'MA' }).then(res => {
      console.log(res);
      /*
        [
          { path: '.travis.yml', index: 'A', workingTree: ' ' },
          { path: 'index.js', index: 'M', workingTree: 'M' },
        ]
      */
    });
     
    // Files that arenʼt changed in the working tree
    gStatus({ workingTree: ' ' }).then(res => {
      console.log(res);
      //=> [{ path: '.travis.yml', index: 'A', workingTree: ' ' }]
    });
     
    // Files that are marked as `Modified` both in staging area and working tree
    gStatus({ index: 'M', workingTree: 'M' }).then(res => {
      console.log(res);
      //=> [{ path: 'index.js', index: 'M', workingTree: 'M' }]
    });

    See the tests for more usage examples and expected matches.

    API

    gStatus([options])

    Returns Promise<{ path: string, index: string, workingTree: string }[]>.

    options

    Type: Object

    cwd

    Type: string
    Default: process.cwd()

    Current working directory.

    path

    Type: string | string[]
    Default: *

    Use * to match zero or more characters. A pattern starting with ! will be negated.

    index

    Type: string
    Default: *

    String of git status codes of the index/staging-area, See Short Format.
    One difference is that * will match all value here.

    workingTree

    Type: string
    Default: *

    String of git status codes of the working tree, See Short Format.
    One difference is that * will match all value here.

    Related

    License

    MIT © Lufty Wiranda

    Install

    npm i g-status

    DownloadsWeekly Downloads

    233,581

    Version

    2.0.2

    License

    MIT

    Last publish

    Collaborators

    • luftywiranda13