From cc7545fcb8d18eee00fb2a129dfed4dd752187b8 Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Wed, 10 May 2023 14:16:46 +0200 Subject: [PATCH] try fetch all tags --- docs/package.json | 3 +-- scripts/writeReleaseMetadata.mjs | 38 +++++++++++++++++--------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/docs/package.json b/docs/package.json index af50af6b9..03ee4dffb 100644 --- a/docs/package.json +++ b/docs/package.json @@ -10,12 +10,11 @@ "docs:preview": "vitepress preview", "build:iconNodes": "node ../scripts/writeIconNodes.mjs", "build:metaJson": "node ../scripts/writeIconMetaIndex.mjs", - "build:fetchTags": "git fetch --tags", "build:releaseJson": "node ../scripts/writeReleaseMetadata.mjs", "build:vercelJson": "node ../scripts/writeVercelOutput.mjs", "dev": "npx nitropack dev", "build:api": "npx nitropack build", - "build": "pnpm build:fetchTags && pnpm build:iconNodes && pnpm build:metaJson && pnpm build:releaseJson && pnpm build:api && pnpm docs:build && pnpm build:vercelJson", + "build": "pnpm build:iconNodes && pnpm build:metaJson && pnpm build:releaseJson && pnpm build:api && pnpm docs:build && pnpm build:vercelJson", "preview": "node .output/server/index.mjs" }, "keywords": [], diff --git a/scripts/writeReleaseMetadata.mjs b/scripts/writeReleaseMetadata.mjs index 3e2d72918..95ee09100 100644 --- a/scripts/writeReleaseMetadata.mjs +++ b/scripts/writeReleaseMetadata.mjs @@ -33,25 +33,27 @@ export const updateReleaseMetadataWithCommit = (metadata, date, release) => { metadata.changedRelease = releaseMax(metadata.changedRelease, release); }; -export const fetchAllReleases = async () => - ( - await Promise.all( - ( - await simpleGit().raw('show-ref', '--tags', '-d') - ) - .trim() - .split(/\n/) - .map(async (line) => { - const [commit, ref] = line.split(/ /); - if (ref == null || !ref.startsWith('refs/tags/') || commit == null) { - return { version: null, date: null }; - } - const { version = null } = semver.coerce(ref.replace('refs/tags/', '')) ?? {}; - const date = (await simpleGit().show(['-s', '--format=%cI', commit])).trim(); - return { version, date }; - }), +export const fetchAllReleases = async () => { + await simpleGit().fetch(['--tags', '--all']); + const tags = await Promise.all( + ( + await simpleGit().raw('show-ref', '--tags', '-d') ) - ).filter(({ version }) => semver.valid(version)); + .trim() + .split(/\n/) + .map(async (line) => { + const [commit, ref] = line.split(/ /); + if (ref == null || !ref.startsWith('refs/tags/') || commit == null) { + return { version: null, date: null }; + } + const { version = null } = semver.coerce(ref.replace('refs/tags/', '')) ?? {}; + const date = (await simpleGit().show(['-s', '--format=%cI', commit])).trim(); + return { version, date }; + }), + ); + + return tags.filter(({ version }) => semver.valid(version)); +}; simpleGit().clean(CleanOptions.FORCE);