@redpanda-data/docs-extensions-and-macros 4.2.2 → 4.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -213,7 +213,8 @@ function applyAllReplacements(content, replacements) {
213
213
  replacements.sort((a, b) => b.regex.source.length - a.regex.source.length);
214
214
 
215
215
  replacements.forEach(({ regex, replace }) => {
216
- content = content.replace(regex, replace);
216
+ const freshRegex = new RegExp(regex.source, regex.flags);
217
+ content = content.replace(freshRegex, replace);
217
218
  });
218
219
 
219
220
  return content;
@@ -1,5 +1,5 @@
1
1
  module.exports = async (github, owner, repo) => {
2
- const semver = require('semver')
2
+ const semver = require('semver');
3
3
  try {
4
4
  // Fetch all the releases from the repository
5
5
  const releases = await github.rest.repos.listReleases({
@@ -11,46 +11,52 @@ module.exports = async (github, owner, repo) => {
11
11
 
12
12
  // Filter valid semver tags and sort them to find the highest version
13
13
  const sortedReleases = releases.data
14
- .map(release => release.tag_name)
15
- .filter(tag => semver.valid(tag.replace(/^v/, '')))
16
- .sort((a, b) => semver.rcompare(a.replace(/^v/, ''), b.replace(/^v/, '')));
14
+ .filter(release => semver.valid(release.tag_name.replace(/^v/, '')))
15
+ .sort((a, b) => semver.rcompare(
16
+ a.tag_name.replace(/^v/, ''),
17
+ b.tag_name.replace(/^v/, '')
18
+ ));
17
19
 
18
- if (sortedReleases.length > 0) {
19
- const latestRedpandaReleaseVersion = sortedReleases.find(tag => !tag.includes('-rc'));
20
- const latestRcReleaseVersion = sortedReleases.find(tag => tag.includes('-rc'));
20
+ // Find latest non-RC release that is NOT a draft
21
+ const latestRedpandaRelease = sortedReleases.find(
22
+ release => !release.tag_name.includes('-rc') && !release.draft
23
+ );
21
24
 
22
- // Get the commit hash for the highest version tag
25
+ // Find latest RC release (can be draft or not, adjust if needed)
26
+ const latestRcRelease = sortedReleases.find(
27
+ release => release.tag_name.includes('-rc')
28
+ );
29
+
30
+ let latestRedpandaReleaseCommitHash = null;
31
+ if (latestRedpandaRelease) {
23
32
  const commitData = await github.rest.git.getRef({
24
33
  owner,
25
34
  repo,
26
- ref: `tags/${latestRedpandaReleaseVersion}`
35
+ ref: `tags/${latestRedpandaRelease.tag_name}`
27
36
  });
28
- const latestRedpandaReleaseCommitHash = commitData.data.object.sha;
29
-
30
- let latestRcReleaseCommitHash = null;
31
- if (latestRcReleaseVersion) {
32
- const rcCommitData = await github.rest.git.getRef({
33
- owner,
34
- repo,
35
- ref: `tags/${latestRcReleaseVersion}`
36
- });
37
- latestRcReleaseCommitHash = rcCommitData.data.object.sha;
38
- }
37
+ latestRedpandaReleaseCommitHash = commitData.data.object.sha;
38
+ }
39
39
 
40
- return {
41
- latestRedpandaRelease: latestRedpandaReleaseVersion ? {
42
- version: latestRedpandaReleaseVersion,
43
- commitHash: latestRedpandaReleaseCommitHash.substring(0, 7)
44
- } : null ,
45
- latestRcRelease: latestRcReleaseVersion ? {
46
- version: latestRcReleaseVersion,
47
- commitHash: latestRcReleaseCommitHash.substring(0, 7)
48
- } : null
49
- };
50
- } else {
51
- console.log("No valid semver releases found for Redpanda.");
52
- return { latestRedpandaRelease: null, latestRcRelease: null };
40
+ let latestRcReleaseCommitHash = null;
41
+ if (latestRcRelease) {
42
+ const rcCommitData = await github.rest.git.getRef({
43
+ owner,
44
+ repo,
45
+ ref: `tags/${latestRcRelease.tag_name}`
46
+ });
47
+ latestRcReleaseCommitHash = rcCommitData.data.object.sha;
53
48
  }
49
+
50
+ return {
51
+ latestRedpandaRelease: latestRedpandaRelease ? {
52
+ version: latestRedpandaRelease.tag_name,
53
+ commitHash: latestRedpandaReleaseCommitHash.substring(0, 7)
54
+ } : null,
55
+ latestRcRelease: latestRcRelease ? {
56
+ version: latestRcRelease.tag_name,
57
+ commitHash: latestRcReleaseCommitHash.substring(0, 7)
58
+ } : null
59
+ };
54
60
  } catch (error) {
55
61
  console.error('Failed to fetch Redpanda release information:', error);
56
62
  return { latestRedpandaRelease: null, latestRcRelease: null };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redpanda-data/docs-extensions-and-macros",
3
- "version": "4.2.2",
3
+ "version": "4.2.4",
4
4
  "description": "Antora extensions and macros developed for Redpanda documentation.",
5
5
  "keywords": [
6
6
  "antora",