watskeburt
Get changed files & their statuses since any git revision
:construction_worker: usage
:scroll: API
import { list, getSHA } from "watskeburt";
console.log(await getSHA());
const lChangedFiles = await list({ oldRevision: "main" });
const lChangedFiles = await list({
oldRevision: "v0.6.1",
newRevision: "v0.7.1",
});
const lChangedFiles = await list({
oldRevision: "main",
trackedOnly: false,
outputType: "json",
});
The array of changes this returns looks like this:
[
{
name: "doc/cli.md",
type: "modified",
},
{
name: "test/thing.spec.mjs",
type: "renamed",
oldName: "test/old-thing.spec.mjs",
},
{
name: "src/not-tracked-yet.mjs",
type: "untracked",
},
];
:shell: cli
Works with node >=18.11
# list all JavaScript-ish files changed since main in a regular expression
$ npx watskeburt main
^(src/cli[.]mjs|src/formatters/regex[.]mjs|src/version[.]mjs)$
This emits a regex that contains all changed files that could be
source files in the JavaScript ecosystem (.js, .mjs, .ts, .tsx ...). It can
be used in e.g. dependency-cruiser's --focus
and --reaches
filters.
The JSON output (= the array above, serialized) also contains other extensions.
Usage: watskeburt [options] [old-revision] [new-revision]
lists files & their statuses since [old-revision] or between [old-revision] and [new-revision].
-> When you don't pass a revision old-revision defaults to the current one.
Options:
-T, --outputType <type> what format to emit (choices: "json", "regex", default: "regex")
--trackedOnly only take tracked files into account (default: false)
-V, --version output the version number
-h, --help display help for command
why?
I needed something robust to support caching in
dependency-cruiser and to
run standalone to use in combination with dependency-cruiser.
A few specialized packages like this existed, but they had fallen out of
maintenance. More generic packages still were maintained, but for my use
case they were overkill.
🇳🇱 what does 'watskeburt' mean?
Wazzup.
watskeburt is a fast pronunciation of the Dutch "wat is er gebeurd?"
(what has happened?) or "wat er is gebeurd" (what has happened).