git-er-done

0.1.9 • Public • Published

Git Er Done

Utility for dealing with modified, created, deleted files since a git commit.

image

Install

npm install git-er-done

Usage

const { gitDetails } = require('git-er-done')

// Git commit ref / branch to check against. Default is 'master'
const GIT_COMMIT_REF = '9f63b23ec99e36a176d73909fc67a39dc3bd56b7'

gitData({
  base: GIT_COMMIT_REF,
}).then((git) => {
  /* git data returns
  {
    fileMatch: [Function], <-- Lookup function
    modifiedFiles: [ Array of modified files ],
    createdFiles: [ Array of created files ],
    deletedFiles: [ Array of deleted files ],
    commits: [ Array of commits ],
    linesOfCode: [AsyncFunction: linesOfCode]
  }
  */

  if (modifiedFiles.length) {
    // Some files have changed
  }

  if (createdFiles.length) {
    // Some files have been created
  }

  if (deletedFiles.length) {
    // Some files have been deleted
  }

  /* Using fileMatch function */
  const srcCode = git.fileMatch('src/**/*.js')
  /* srcCode is object
  {
    modified: true,
    created: true,
    deleted: true,
    edited: true,
    getKeyedPaths: [Function: getKeyedPaths]
  }
  */
  if (srcCode.edited) {
    console.log('srcCode has been edited')
    // Do stuff because src edited
  }

  const mdFiles = git.fileMatch('**/*.md')
  if (mdFiles.edited) {
    // Do stuff because markdown files are changed
  }

  const mdFilesData = mdFiles.getKeyedPaths()
  /* mdFilesData is full information on the files in the sub path that changed
  {
    modified: [ Array of modified files ],
    created: [ Array of created files ],
    deleted:[ Array of deleted files ],
    edited: [ Array of edited files ]
  }
  */

  //... Etc. GIT ER DONE
})

Prior art

This was originally found in danger.js and extracted into this utility

Readme

Keywords

none

Package Sidebar

Install

npm i git-er-done

Weekly Downloads

2

Version

0.1.9

License

MIT

Unpacked Size

41.3 kB

Total Files

24

Last publish

Collaborators

  • davidwells