refactor(docs,blog): last update timestamp should be in milliseconds instead of seconds (#9963)

This commit is contained in:
Sébastien Lorber 2024-03-19 09:51:27 +01:00 committed by GitHub
parent 6c724ed857
commit 465cf4d82c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 35 additions and 29 deletions

View file

@ -52,13 +52,13 @@ describe('getFileCommitDate', () => {
getFileCommitDate(path.join(repoDir, 'test.txt'), {}),
).resolves.toEqual({
date: new Date('2020-06-19'),
timestamp: new Date('2020-06-19').getTime() / 1000,
timestamp: new Date('2020-06-19').getTime(),
});
await expect(
getFileCommitDate(path.join(repoDir, 'dest.txt'), {}),
).resolves.toEqual({
date: new Date('2020-09-13'),
timestamp: new Date('2020-09-13').getTime() / 1000,
timestamp: new Date('2020-09-13').getTime(),
});
});
it('returns latest commit date', async () => {
@ -66,13 +66,13 @@ describe('getFileCommitDate', () => {
getFileCommitDate(path.join(repoDir, 'test.txt'), {age: 'newest'}),
).resolves.toEqual({
date: new Date('2020-09-13'),
timestamp: new Date('2020-09-13').getTime() / 1000,
timestamp: new Date('2020-09-13').getTime(),
});
await expect(
getFileCommitDate(path.join(repoDir, 'dest.txt'), {age: 'newest'}),
).resolves.toEqual({
date: new Date('2020-11-13'),
timestamp: new Date('2020-11-13').getTime() / 1000,
timestamp: new Date('2020-11-13').getTime(),
});
});
it('returns latest commit date with author', async () => {
@ -83,7 +83,7 @@ describe('getFileCommitDate', () => {
}),
).resolves.toEqual({
date: new Date('2020-06-19'),
timestamp: new Date('2020-06-19').getTime() / 1000,
timestamp: new Date('2020-06-19').getTime(),
author: 'Caroline',
});
await expect(
@ -93,7 +93,7 @@ describe('getFileCommitDate', () => {
}),
).resolves.toEqual({
date: new Date('2020-09-13'),
timestamp: new Date('2020-09-13').getTime() / 1000,
timestamp: new Date('2020-09-13').getTime(),
author: 'Caroline',
});
});
@ -105,7 +105,7 @@ describe('getFileCommitDate', () => {
}),
).resolves.toEqual({
date: new Date('2020-09-13'),
timestamp: new Date('2020-09-13').getTime() / 1000,
timestamp: new Date('2020-09-13').getTime(),
author: 'Caroline',
});
await expect(
@ -115,7 +115,7 @@ describe('getFileCommitDate', () => {
}),
).resolves.toEqual({
date: new Date('2020-11-13'),
timestamp: new Date('2020-11-13').getTime() / 1000,
timestamp: new Date('2020-11-13').getTime(),
author: 'Josh-Cena',
});
});

View file

@ -103,7 +103,7 @@ describe('getFileLastUpdate', () => {
describe('readLastUpdateData', () => {
const testDate = '2021-01-01';
const testDateTime = new Date(testDate).getTime() / 1000;
const testTimestamp = new Date(testDate).getTime();
const testAuthor = 'ozaki';
it('read last time show author time', async () => {
@ -112,7 +112,7 @@ describe('readLastUpdateData', () => {
{showLastUpdateAuthor: true, showLastUpdateTime: true},
{date: testDate},
);
expect(lastUpdatedAt).toEqual(testDateTime);
expect(lastUpdatedAt).toEqual(testTimestamp);
expect(lastUpdatedBy).toBe(GIT_FALLBACK_LAST_UPDATE_AUTHOR);
});
@ -133,7 +133,7 @@ describe('readLastUpdateData', () => {
{author: testAuthor, date: testDate},
);
expect(lastUpdatedBy).toEqual(testAuthor);
expect(lastUpdatedAt).toEqual(testDateTime);
expect(lastUpdatedAt).toEqual(testTimestamp);
});
it('read last default show none', async () => {
@ -191,7 +191,7 @@ describe('readLastUpdateData', () => {
{date: testDate},
);
expect(lastUpdatedBy).toBeUndefined();
expect(lastUpdatedAt).toEqual(testDateTime);
expect(lastUpdatedAt).toEqual(testTimestamp);
});
it('read last author show time', async () => {
@ -211,7 +211,7 @@ describe('readLastUpdateData', () => {
{author: testAuthor, date: testDate},
);
expect(lastUpdatedBy).toBeUndefined();
expect(lastUpdatedAt).toEqual(testDateTime);
expect(lastUpdatedAt).toEqual(testTimestamp);
});
it('read last author show author only - both front matter', async () => {

View file

@ -39,7 +39,7 @@ export async function getFileCommitDate(
): Promise<{
/** Relevant commit date. */
date: Date;
/** Timestamp in **seconds**, as returned from git. */
/** Timestamp returned from git, converted to **milliseconds**. */
timestamp: number;
}>;
/**
@ -66,7 +66,7 @@ export async function getFileCommitDate(
): Promise<{
/** Relevant commit date. */
date: Date;
/** Timestamp in **seconds**, as returned from git. */
/** Timestamp returned from git, converted to **milliseconds**. */
timestamp: number;
/** The author's name, as returned from git. */
author: string;
@ -150,8 +150,9 @@ export async function getFileCommitDate(
);
}
const timestamp = Number(match.groups!.timestamp);
const date = new Date(timestamp * 1000);
const timestampInSeconds = Number(match.groups!.timestamp);
const timestamp = timestampInSeconds * 1_000;
const date = new Date(timestamp);
if (includeAuthor) {
return {date, timestamp, author: match.groups!.author!};

View file

@ -14,7 +14,7 @@ import {
} from './gitUtils';
import type {PluginOptions} from '@docusaurus/types';
export const GIT_FALLBACK_LAST_UPDATE_DATE = 1539502055;
export const GIT_FALLBACK_LAST_UPDATE_DATE = 1539502055000;
export const GIT_FALLBACK_LAST_UPDATE_AUTHOR = 'Author';
@ -31,9 +31,9 @@ async function getGitLastUpdate(filePath: string): Promise<LastUpdateData> {
}
export type LastUpdateData = {
/** A timestamp in **seconds**, directly acquired from `git log`. */
/** A timestamp in **milliseconds**, usually read from `git log` */
lastUpdatedAt?: number;
/** The author's name directly acquired from `git log`. */
/** The author's name, usually coming from `git log` */
lastUpdatedBy?: string;
};
@ -105,7 +105,7 @@ export async function readLastUpdateData(
const frontMatterAuthor = lastUpdateFrontMatter?.author;
const frontMatterTimestamp = lastUpdateFrontMatter?.date
? new Date(lastUpdateFrontMatter.date).getTime() / 1000
? new Date(lastUpdateFrontMatter.date).getTime()
: undefined;
// We try to minimize git last update calls