From 7e3c92e802614ae5e9f621d9e679dfd6f6d63cf1 Mon Sep 17 00:00:00 2001 From: ST-DDT Date: Tue, 14 Nov 2023 17:11:26 +0100 Subject: infra: enable strictNullChecks in tsconfig (#2435) --- docs/.vitepress/config.ts | 13 ++++++++----- docs/.vitepress/versions.ts | 21 +++++++++++++-------- 2 files changed, 21 insertions(+), 13 deletions(-) (limited to 'docs') diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 12fea107..e8484526 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -121,11 +121,14 @@ const config = defineConfig({ { icon: 'github', link: 'https://github.com/faker-js/faker' }, ], - algolia: { - apiKey: process.env.API_KEY, - appId: process.env.APP_ID, - indexName: 'fakerjs', - }, + algolia: + process.env.API_KEY == null || process.env.APP_ID == null + ? undefined + : { + apiKey: process.env.API_KEY, + appId: process.env.APP_ID, + indexName: 'fakerjs', + }, footer: { message: 'Released under the MIT License.', diff --git a/docs/.vitepress/versions.ts b/docs/.vitepress/versions.ts index 2964557c..90b0fc8d 100644 --- a/docs/.vitepress/versions.ts +++ b/docs/.vitepress/versions.ts @@ -14,18 +14,23 @@ function readOtherLatestReleaseTagNames(): string[] { .toString('utf8') .split('\n') .filter((tag) => semver.valid(tag)) - .reduce>((acc, tag) => { - const majorVersion = semver.major(tag); + .filter((tag) => { // Only consider tags for our deployed website versions, // excluding the current major version. - if (majorVersion >= 6 && majorVersion !== currentMajorVersion) { - (acc[majorVersion] = acc[majorVersion] ?? []).push(tag); + const majorVersion = semver.major(tag); + return majorVersion >= 6 && majorVersion !== currentMajorVersion; + }) + .reduce>((latestTagByMajor, tag) => { + const majorVersion = semver.major(tag); + + const latestTag = latestTagByMajor[majorVersion]; + if (latestTag == null || semver.lt(latestTag, tag)) { + latestTagByMajor[majorVersion] = tag; } - return acc; + + return latestTagByMajor; }, {}); - return Object.entries(latestReleaseTagNames) - .map(([major, tags]) => semver.maxSatisfying(tags, `^${major}`)) - .sort(semver.rcompare); + return Object.values(latestReleaseTagNames).sort(semver.rcompare); } // Set by netlify -- cgit v1.2.3