get-changed-files

0.0.1 • Public • Published

Get Changed Files

Get a list of changed files using git.

Install

npm intall get-changed-files --save-dev
yarn add get-changed-files --dev

API

Simple usage

Without any options get-changed-files assumes that master is the main branch to compare it against current branch and also uses default strategy for determining diff point (point in history from which to start getting changes).

const getChangedFiles = require("get-changed-files");
getChangedFiles().then(results => console.log(results));
 
/**
 * Outputs:
 * {
 *   "changed": [
 *     "some-old-changed-file.js",
 *     "package.json",
 *     "new-file.js"
 *   ],
 *   "uncommitted": [
 *     "package.json"
 *   ],
 *   "untracked": [
 *     "new-file.js"
 *   ]
 * }
 */

Changing main branch

const getChangedFiles = require("get-changed-files");
getChangedFiles({ mainBranch: "develop" }).then(results =>
  console.log(results)
);

Custom get diff point strategy

const getChangedFiles = require("get-changed-files");
const customGetDiffPoint = ({ currentBranch, mainBranch }) => {
  // do some magic...
  return { commit: commit_hash_from_which_to_start_getting_changes };
};
getChangedFiles({ customGetDiffPoint }).then(results => console.log(results));

CLI

Also get-changed-files adds a CLI tool get-changed.

get-changed --help
 
  Get a list of changed files
 
  Usage
    $ get-changed
 
  Options
    --branch, -b     Specify main branch [default: master].
    --only, -o       Specify subset of results to be printed e.g. – changed | uncommitted | untracked.
    --names          Output file names only without any formatting. Can't be used with --json.
    --json           Output result as json. Can't be used with --names-only.
 
  Examples
    $ get-changed --only=changed
    $ get-changed --json --only=changed
    $ get-changed --names-only

Package Sidebar

Install

npm i get-changed-files

Weekly Downloads

902

Version

0.0.1

License

MIT

Last publish

Collaborators

  • sysoev