Skip to content

medikoo/git-list-updated

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

*nix build status Windows build status Tests coverage Transpilation status npm version

git-list-updated

Resolve list of updated (and existing) files

By default it checks difference between HEAD (so current branch) and master.

Useful when we want to apply certain operations (e.g. lint) only to files that were updated and not whole repostory

Installation

npm install -g git-list-updated

Usage

CLI

git-list-updated

List updated files

git-list-updated [-h | --help] [--base=<base>] [--head=<head>] [--ext=<ext>] [<path>]

If <path> is not provided, check is done in repository at current working directory

Options:

base (defaults to master)

Base branch with which we wish to compare

head (defaults to HEAD)

Target containing the changes that should be investigated

ext

List only files with specific extensions. Multiple extensions can be chosen by passing arg multiple times. If not passed, all files are listed

pipe-git-updated

Pipe output of git-list-updated into other command. On *nix systems that could simply be achieved via:

git-list-updated [<...git-list-updated-args>] | <targetComand> [<...target-command-args>]

Purpose of this util is to provide cross environment solution that can also work on Windows

pipe-git-updated [<...git-list-updated-args>] -- <targetComand> [<...target-command-args>]

Programatically

git-list-updated

const gitListUpdated = require("git-list-updated/pipe");

gitListUpdated(respositoryRoot, {
	base: "master", // Base to compare against
	head: "HEAD" // Source for comparision
	ext: [] // Limit output to given extensions
})
	// Response object is a stream that emits each filename with individual data event
	.on("data", filename => {
		console.log(`Updated file: ${filename}`);
	})
	// Response object is also a promise that resolves with a list of updated files
	.then(fileNames => {
		console.log(`All updated files: ${fileNames}`);
	});

git-list-updated/pipe

const pipeGitUpdated = require("git-list-updated/pipe");

pipeGitUpdated(respositoryRoot, [targetCliCommand, targetCliCommandArg1, targetCliCommandArg2], {
 	// git-list-updated options
	base: "master", // Base to compare against
	head: "HEAD" // Source for comparision
	// pipe specific optons
	stdio: "inherit" // Override stdio setting of targetCli command
});

Tests

npm test

About

Resolve list of updated (and existing) files in given repository branch

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published