@@ -24,7 +24,10 @@ import semver from 'semver'
2424import { DrawerExternalLink } from './drawer/drawer-styled'
2525import { formatDocVersion } from 'browser/modules/Sidebar/docsUtils'
2626import { GlobalState } from 'project-root/src/shared/globalState'
27- import { getRawVersion } from 'shared/modules/dbMeta/dbMetaDuck'
27+ import {
28+ getCleanedVersion ,
29+ getRawVersion
30+ } from 'shared/modules/dbMeta/dbMetaDuck'
2831
2932const oldPages : { [ key : string ] : { oldPage : string ; oldContent : string } } = {
3033 '/administration/indexes-for-search-performance/' : {
@@ -60,21 +63,25 @@ const isPageOld = (
6063 chapter : string ,
6164 page : string ,
6265 neo4jVersion : string | null
63- ) =>
64- chapter === 'cypher-manual' &&
65- oldPages [ page ] &&
66- neo4jVersion &&
67- semver . satisfies ( neo4jVersion , '<4.0.0-alpha.1' )
66+ ) => {
67+ if ( chapter !== 'cypher-manual' || ! oldPages [ page ] || ! neo4jVersion )
68+ return false
69+ const cleanedVersion = getCleanedVersion ( neo4jVersion )
70+ return cleanedVersion && semver . satisfies ( cleanedVersion , '<4.0.0-alpha.1' )
71+ }
6872
6973const isPageNew = (
7074 chapter : string ,
7175 page : string ,
7276 neo4jVersion : string | null
73- ) =>
74- chapter === 'cypher-manual' &&
75- newPages [ page ] &&
76- ( ( neo4jVersion && semver . satisfies ( neo4jVersion , '>=4.3' ) ) ||
77- neo4jVersion === null ) // if no version is available, we treat it like the newest version.
77+ ) => {
78+ if ( chapter !== 'cypher-manual' || ! newPages [ page ] ) return false
79+ const cleanedVersion = getCleanedVersion ( neo4jVersion )
80+ return (
81+ ( cleanedVersion && semver . satisfies ( cleanedVersion , '>=4.3' ) ) ||
82+ neo4jVersion === null
83+ )
84+ }
7885
7986export type ManualLinkProps = {
8087 chapter : string
@@ -103,7 +110,7 @@ export function ManualLink({
103110 let version = formatDocVersion ( neo4jVersion )
104111 if (
105112 minVersion &&
106- ( ! neo4jVersion || semver . cmp ( neo4jVersion , '<' , minVersion ) )
113+ ( ! neo4jVersion || semver . compareLoose ( neo4jVersion , minVersion ) === - 1 )
107114 ) {
108115 version = formatDocVersion ( minVersion )
109116 }
0 commit comments