Skip to content

Commit caf1f65

Browse files
fix: update the partials directory for non-versioned docs (#1136)
* fix: update the partials directory for non-versioned docs * fix tests
1 parent e9d65b2 commit caf1f65

File tree

5 files changed

+25
-9
lines changed

5 files changed

+25
-9
lines changed

scripts/prebuild/mdx-transforms/build-mdx-transforms-file.mjs

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import path from 'node:path'
1010
import remark from 'remark'
1111
import remarkMdx from 'remark-mdx'
1212
import grayMatter from 'gray-matter'
13+
import semver from 'semver'
1314

1415
import { paragraphCustomAlertsPlugin } from './paragraph-custom-alert/paragraph-custom-alert.mjs'
1516
import { rewriteInternalLinksPlugin } from './add-version-to-internal-links/add-version-to-internal-links.mjs'
@@ -37,14 +38,29 @@ export async function buildFileMdxTransforms(filePath) {
3738

3839
const relativePath = path.relative(targetDir, filePath)
3940
const [repoSlug, version, contentDir] = relativePath.split('/')
41+
/**
42+
* handles version and content dir for versionless docs
43+
* these values are index based
44+
* if versionless, version becomes the content dir
45+
* which will cause an error when trying resolve partials
46+
*/
47+
const verifiedVersion = PRODUCT_CONFIG[repoSlug].versionedDocs ? version : ''
48+
const verifiedContentDir = semver.valid(semver.coerce(version))
49+
? contentDir
50+
: version
4051
const partialsDir = path.join(
4152
targetDir,
4253
repoSlug,
43-
version,
44-
contentDir,
54+
verifiedVersion,
55+
verifiedContentDir,
4556
'partials',
4657
)
47-
const redirectsDir = path.join('/server/', targetDir, repoSlug, version)
58+
const redirectsDir = path.join(
59+
'/server/',
60+
targetDir,
61+
repoSlug,
62+
verifiedVersion,
63+
)
4864
const outPath = path.join(outputDir, relativePath)
4965

5066
const entry = {

scripts/prebuild/mdx-transforms/build-mdx-transforms-file.test.mjs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,17 @@ An exact location within a [schema](/plugin/framework/schemas)`
3232

3333
beforeEach(() => {
3434
vol.fromJSON({
35-
'/content/terraform/v1.19.x/test.mdx': mdxContent,
36-
'/public/content/terraform/v1.19.x/test.mdx': transformedMdxContent,
35+
'content/terraform/v1.19.x/test.mdx': mdxContent,
36+
'public/content/terraform/v1.19.x/test.mdx': transformedMdxContent,
3737
'app/api/versionMetadata.json': JSON.stringify(versionMetadata),
38-
'/content/terraform/v1.19.x/partials': {},
38+
'content/terraform/v1.19.x/partials': {},
3939
})
4040
})
4141

42-
const transformedOutPath = '/public/content/terraform/v1.19.x/test.mdx'
42+
const transformedOutPath = 'public/content/terraform/v1.19.x/test.mdx'
4343

4444
test('test buildfileMdxTransforms', async () => {
45-
await buildFileMdxTransforms('/content/terraform/v1.19.x/test.mdx')
45+
await buildFileMdxTransforms('content/terraform/v1.19.x/test.mdx')
4646
const transformedContent = fs.readFileSync(transformedOutPath, 'utf8')
4747
expect(transformedContent).toContain(transformedMdxContent)
4848
})
@@ -54,7 +54,7 @@ test('test applyFileMdxTransforms', async () => {
5454
},
5555
})
5656
const entry = {
57-
filePath: '/content/terraform/v1.19.x/test.mdx',
57+
filePath: 'content/terraform/v1.19.x/test.mdx',
5858
partialsDir: '../../partials',
5959
outPath: transformedOutPath,
6060
}
-285 Bytes
Binary file not shown.
-115 Bytes
Binary file not shown.
-116 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)