@@ -14,6 +14,19 @@ import { UI_COPY } from "../lib/ui/copy.js";
1414
1515const projectRoot = resolve ( process . cwd ( ) ) ;
1616
17+ function readPackageVersion ( ) : string {
18+ const parsed = JSON . parse ( readFileSync ( join ( projectRoot , "package.json" ) , "utf-8" ) ) as {
19+ version ?: unknown ;
20+ } ;
21+ if ( typeof parsed . version !== "string" || parsed . version . trim ( ) . length === 0 ) {
22+ throw new Error ( "package.json must define a non-empty version string" ) ;
23+ }
24+ return parsed . version . trim ( ) ;
25+ }
26+
27+ const packageVersion = readPackageVersion ( ) ;
28+ const currentStableReleaseDoc = `docs/releases/v${ packageVersion } .md` ;
29+
1730const userDocs = [
1831 "docs/index.md" ,
1932 "docs/README.md" ,
@@ -30,9 +43,9 @@ const userDocs = [
3043 "docs/reference/error-contracts.md" ,
3144 "docs/reference/settings.md" ,
3245 "docs/reference/storage-paths.md" ,
33- "docs/releases/v1.1.10.md" ,
34- "docs/releases/v0.1.9 .md" ,
35- "docs/releases/v0.1.8 .md" ,
46+ currentStableReleaseDoc ,
47+ "docs/releases/v1.2.1 .md" ,
48+ "docs/releases/v1.2.0 .md" ,
3649 "docs/releases/v0.1.7.md" ,
3750 "docs/releases/v0.1.6.md" ,
3851 "docs/releases/v0.1.5.md" ,
@@ -122,10 +135,14 @@ describe("Documentation Integrity", () => {
122135 }
123136 } ) ;
124137
125- it ( "docs portal links to stable, beta, and archived release history" , ( ) => {
138+ it ( "docs portal and root README link to stable, beta, and archived release history" , ( ) => {
126139 const portal = read ( "docs/README.md" ) ;
140+ const readme = read ( "README.md" ) ;
127141 expect ( portal ) . toContain ( "reference/public-api.md" ) ;
128142 expect ( portal ) . toContain ( "reference/error-contracts.md" ) ;
143+ expect ( portal ) . toContain ( `releases/v${ packageVersion } .md` ) ;
144+ expect ( portal ) . toContain ( "releases/v1.2.1.md" ) ;
145+ expect ( portal ) . toContain ( "releases/v1.2.0.md" ) ;
129146 expect ( portal ) . toContain ( "releases/v0.1.7.md" ) ;
130147 expect ( portal ) . toContain ( "releases/v0.1.6.md" ) ;
131148 expect ( portal ) . toContain ( "releases/v0.1.5.md" ) ;
@@ -134,6 +151,9 @@ describe("Documentation Integrity", () => {
134151 expect ( portal ) . toContain (
135152 "| [Daily Use release notes](#daily-use) | Stable, previous, and archived release notes |" ,
136153 ) ;
154+ expect ( readme ) . toContain ( currentStableReleaseDoc ) ;
155+ expect ( readme ) . toContain ( "docs/releases/v1.2.1.md" ) ;
156+ expect ( readme ) . toContain ( "docs/releases/v1.2.0.md" ) ;
137157
138158 const beta = read ( "docs/releases/v0.1.0-beta.0.md" ) ;
139159 expect ( beta ) . toContain ( "Archived" ) ;
0 commit comments