File tree Expand file tree Collapse file tree 3 files changed +34
-21
lines changed Expand file tree Collapse file tree 3 files changed +34
-21
lines changed Original file line number Diff line number Diff line change 8
8
- ' .github/workflows/**'
9
9
10
10
jobs :
11
- validate- mdx :
11
+ mdx-validation :
12
12
runs-on : ubuntu-latest
13
13
steps :
14
14
- name : Checkout repo
@@ -21,27 +21,10 @@ jobs:
21
21
cache : ' npm'
22
22
23
23
- name : MDX validation dependencies
24
- run : npm install --save-dev @mdx-js/mdx @mdx-js/loader
24
+ run : npm install --save-dev @mdx-js/mdx @mdx-js/loader glob
25
25
26
26
- name : Validate MDX files
27
- run : |
28
- # Find and validate all MDX files in the docs directory
29
- find docs -name "*.mdx" -type f | while read file; do
30
- echo "Validating: $file"
31
- node -e "
32
- const fs = require('fs');
33
- const { compile } = require('@mdx-js/mdx');
34
-
35
- try {
36
- const content = fs.readFileSync('$file', 'utf8');
37
- compile(content, { jsx: true });
38
- console.log('✅ $file - Valid MDX');
39
- } catch (error) {
40
- console.error('❌ $file - MDX Error:', error.message);
41
- process.exit(1);
42
- }
43
- "
44
- done
27
+ run : node scripts/validate-mdx.js
45
28
46
29
- name : Check for broken links
47
30
run : |
Original file line number Diff line number Diff line change 1
1
{
2
+ "type" : " module" ,
2
3
"devDependencies" : {
3
4
"@mdx-js/loader" : " ^3.1.0" ,
4
- "@mdx-js/mdx" : " ^3.1.0"
5
+ "@mdx-js/mdx" : " ^3.1.0" ,
6
+ "glob" : " ^10.3.10"
5
7
}
6
8
}
Original file line number Diff line number Diff line change
1
+ import fs from 'fs' ;
2
+ import { compile } from '@mdx-js/mdx' ;
3
+ import { glob } from 'glob' ;
4
+
5
+ async function validateMDX ( ) {
6
+ try {
7
+ const mdxFiles = await glob ( 'docs/**/*.mdx' ) ;
8
+
9
+ for ( const file of mdxFiles ) {
10
+ console . log ( `Validating: ${ file } ` ) ;
11
+ try {
12
+ const content = fs . readFileSync ( file , 'utf8' ) ;
13
+ await compile ( content , { jsx : true } ) ;
14
+ console . log ( `✅ ${ file } - Valid MDX` ) ;
15
+ } catch ( error ) {
16
+ console . error ( `❌ ${ file } - MDX Error:` , error . message ) ;
17
+ process . exit ( 1 ) ;
18
+ }
19
+ }
20
+
21
+ console . log ( `\n🎉 All ${ mdxFiles . length } MDX files are valid!` ) ;
22
+ } catch ( error ) {
23
+ console . error ( '❌ Validation failed:' , error . message ) ;
24
+ process . exit ( 1 ) ;
25
+ }
26
+ }
27
+
28
+ validateMDX ( ) ;
You can’t perform that action at this time.
0 commit comments