summaryrefslogtreecommitdiff
path: root/node_modules/@11ty/eleventy/src/Util/DateGitLastUpdated.js
blob: 1f58c110d391997f26bc2ce55713db642e8d691d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import { spawnAsync } from "./SpawnAsync.js";

async function getGitLastUpdatedTimeStamp(filePath) {
	try {
		let timestamp = await spawnAsync(
			"git",
			// Formats https://www.git-scm.com/docs/git-log#_pretty_formats
			// %at author date, UNIX timestamp
			["log", "-1", "--format=%at", filePath],
		);
		return parseInt(timestamp, 10) * 1000;
	} catch (e) {
		// do nothing
	}
}

// return a Date
export default async function (inputPath) {
	let timestamp = await getGitLastUpdatedTimeStamp(inputPath);
	if (timestamp) {
		return new Date(timestamp);
	}
}