watskeburt
Advanced tools
Comparing version 0.11.5 to 0.11.6
import { EOL } from "node:os"; | ||
const DIFF_NAME_STATUS_LINE_PATTERN = /^(?<changeType>[ACDMRTUXB])(?<similarity>[0-9]{3})?[ \t]+(?<name>[^ \t]+)[ \t]*(?<newName>[^ \t]+)?$/; | ||
const DIFF_SHORT_STATUS_LINE_PATTERN = /^(?<stagedChangeType>[ ACDMRTUXB?!])(?<unStagedChangeType>[ ACDMRTUXB?!])[ \t]+(?<name>[^ \t]+)(( -> )(?<newName>[^ \t]+))?$/; | ||
const CHANGE_CHAR_2_CHANGE_TYPE = { | ||
A: "added", | ||
C: "copied", | ||
D: "deleted", | ||
M: "modified", | ||
R: "renamed", | ||
T: "type changed", | ||
U: "unmerged", | ||
B: "pairing broken", | ||
" ": "unmodified", | ||
"?": "untracked", | ||
"!": "ignored", | ||
}; | ||
const CHANGE_CHAR_2_CHANGE_TYPE = new Map([ | ||
["A", "added"], | ||
["C", "copied"], | ||
["D", "deleted"], | ||
["M", "modified"], | ||
["R", "renamed"], | ||
["T", "type changed"], | ||
["U", "unmerged"], | ||
["B", "pairing broken"], | ||
[" ", "unmodified"], | ||
["?", "untracked"], | ||
["!", "ignored"], | ||
]); | ||
export function convertStatusLines(pString) { | ||
@@ -67,3 +67,3 @@ return pString | ||
function changeChar2ChangeType(pChar) { | ||
return CHANGE_CHAR_2_CHANGE_TYPE[pChar] ?? "unknown"; | ||
return CHANGE_CHAR_2_CHANGE_TYPE.get(pChar) ?? "unknown"; | ||
} |
import { spawnSync } from "node:child_process"; | ||
export function getStatusShortSync(pSpawnFunction = spawnSync) { | ||
const lErrorMap = { | ||
129: `'${process.cwd()}' does not seem to be a git repository`, | ||
}; | ||
const lErrorMap = new Map([ | ||
[129, `'${process.cwd()}' does not seem to be a git repository`], | ||
]); | ||
return getGitResultSync(["status", "--porcelain"], lErrorMap, pSpawnFunction); | ||
} | ||
export function getDiffLinesSync(pOldRevision, pNewRevision, pSpawnFunction = spawnSync) { | ||
const lErrorMap = { | ||
128: `revision '${pOldRevision}' ${pNewRevision ? `(or '${pNewRevision}') ` : ""}unknown`, | ||
129: `'${process.cwd()}' does not seem to be a git repository`, | ||
}; | ||
const lErrorMap = new Map([ | ||
[ | ||
128, | ||
`revision '${pOldRevision}' ${pNewRevision ? `(or '${pNewRevision}') ` : ""}unknown`, | ||
], | ||
[129, `'${process.cwd()}' does not seem to be a git repository`], | ||
]); | ||
return getGitResultSync(pNewRevision | ||
@@ -19,3 +22,3 @@ ? ["diff", pOldRevision, pNewRevision, "--name-status"] | ||
const lSha1Length = 40; | ||
return getGitResultSync(["rev-parse", "HEAD"], {}, pSpawnFunction).slice(0, lSha1Length); | ||
return getGitResultSync(["rev-parse", "HEAD"], new Map(), pSpawnFunction).slice(0, lSha1Length); | ||
} | ||
@@ -34,3 +37,3 @@ function getGitResultSync(pArguments, pErrorMap, pSpawnFunction) { | ||
else { | ||
throw new Error(pErrorMap[lGitResult.status ?? 0] || | ||
throw new Error(pErrorMap.get(lGitResult.status ?? 0) || | ||
`internal git error: ${lGitResult.status} (${stringifyOutStream(lGitResult.stderr)})`); | ||
@@ -37,0 +40,0 @@ } |
import { spawn } from "node:child_process"; | ||
export async function getStatusShort(pSpawnFunction = spawn) { | ||
const lErrorMap = { | ||
129: `'${process.cwd()}' does not seem to be a git repository`, | ||
}; | ||
const lErrorMap = new Map([ | ||
[129, `'${process.cwd()}' does not seem to be a git repository`], | ||
]); | ||
const lResult = await getGitResult(["status", "--porcelain"], lErrorMap, pSpawnFunction); | ||
@@ -10,6 +10,9 @@ return lResult; | ||
export async function getDiffLines(pOldRevision, pNewRevision, pSpawnFunction = spawn) { | ||
const lErrorMap = { | ||
128: `revision '${pOldRevision}' ${pNewRevision ? `(or '${pNewRevision}') ` : ""}unknown`, | ||
129: `'${process.cwd()}' does not seem to be a git repository`, | ||
}; | ||
const lErrorMap = new Map([ | ||
[ | ||
128, | ||
`revision '${pOldRevision}' ${pNewRevision ? `(or '${pNewRevision}') ` : ""}unknown`, | ||
], | ||
[129, `'${process.cwd()}' does not seem to be a git repository`], | ||
]); | ||
const lResult = await getGitResult(pNewRevision | ||
@@ -22,3 +25,3 @@ ? ["diff", pOldRevision, pNewRevision, "--name-status"] | ||
const lSha1Length = 40; | ||
const lResult = await getGitResult(["rev-parse", "HEAD"], {}, pSpawnFunction); | ||
const lResult = await getGitResult(["rev-parse", "HEAD"], new Map(), pSpawnFunction); | ||
return lResult.slice(0, lSha1Length); | ||
@@ -45,3 +48,3 @@ } | ||
else { | ||
pReject(new Error(pErrorMap[pCode ?? 0] || | ||
pReject(new Error(pErrorMap.get(pCode ?? 0) || | ||
`internal git error: ${pCode} (${stringifyOutStream(lStdErrorData)})`)); | ||
@@ -48,0 +51,0 @@ } |
@@ -1,1 +0,1 @@ | ||
export const VERSION = "0.11.5"; | ||
export const VERSION = "0.11.6"; |
{ | ||
"name": "watskeburt", | ||
"version": "0.11.5", | ||
"version": "0.11.6", | ||
"description": "List files changed since a git revision", | ||
@@ -48,8 +48,8 @@ "keywords": [ | ||
"@types/mocha": "10.0.1", | ||
"@types/node": "20.3.1", | ||
"@typescript-eslint/eslint-plugin": "5.60.0", | ||
"@types/node": "20.4.1", | ||
"@typescript-eslint/eslint-plugin": "6.0.0", | ||
"c8": "8.0.0", | ||
"dependency-cruiser": "13.0.3", | ||
"esbuild": "0.18.5", | ||
"eslint": "8.43.0", | ||
"dependency-cruiser": "13.1.0", | ||
"esbuild": "0.18.11", | ||
"eslint": "8.44.0", | ||
"eslint-config-moving-meadow": "4.0.2", | ||
@@ -66,5 +66,5 @@ "eslint-config-prettier": "8.8.0", | ||
"npm-run-all": "4.1.5", | ||
"prettier": "2.8.8", | ||
"prettier": "3.0.0", | ||
"ts-node": "10.9.1", | ||
"typescript": "5.1.3", | ||
"typescript": "5.1.6", | ||
"upem": "8.0.0" | ||
@@ -71,0 +71,0 @@ }, |
@@ -79,3 +79,3 @@ export type changeTypeType = | ||
pNewRevision?: string, | ||
pOptions?: IInternalOptions | ||
pOptions?: IInternalOptions, | ||
): IChange[]; | ||
@@ -99,3 +99,3 @@ | ||
pNewRevision?: string, | ||
pOptions?: IFormatOptions | ||
pOptions?: IFormatOptions, | ||
): string; | ||
@@ -118,3 +118,3 @@ | ||
pNewRevision?: string, | ||
pOptions?: IInternalOptions | ||
pOptions?: IInternalOptions, | ||
): Promise<IChange[]>; | ||
@@ -138,3 +138,3 @@ | ||
pNewRevision?: string, | ||
pOptions?: IFormatOptions | ||
pOptions?: IFormatOptions, | ||
): Promise<string>; | ||
@@ -141,0 +141,0 @@ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
31697
493