@@ -47,6 +47,43 @@ test('xdm (esbuild)', async (t) => {
47
47
await fs . unlink ( path . join ( base , 'esbuild.mdx' ) )
48
48
await fs . unlink ( path . join ( base , 'esbuild.js' ) )
49
49
50
+ // Resolve directory.
51
+ await fs . writeFile (
52
+ path . join ( base , 'esbuild-resolve.mdx' ) ,
53
+ 'import Content from "./folder/file.mdx"\n\n<Content/>'
54
+ )
55
+ await fs . mkdir ( path . join ( base , 'folder' ) )
56
+ await fs . writeFile (
57
+ path . join ( base , 'folder' , 'file.mdx' ) ,
58
+ 'import {data} from "./file.js"\n\n{data}'
59
+ )
60
+ await fs . writeFile (
61
+ path . join ( base , 'folder' , 'file.js' ) ,
62
+ 'export const data = 0.1'
63
+ )
64
+ await esbuild . build ( {
65
+ bundle : true ,
66
+ define : { 'process.env.NODE_ENV' : '"development"' } ,
67
+ entryPoints : [ path . join ( base , 'esbuild-resolve.mdx' ) ] ,
68
+ outfile : path . join ( base , 'esbuild-resolve.js' ) ,
69
+ format : 'esm' ,
70
+ plugins : [ esbuildXdm ( ) ]
71
+ } )
72
+ /** @type {MDXContent } */
73
+ Content =
74
+ /* @ts -expect-error file is dynamically generated */
75
+ ( await import ( './context/esbuild-resolve.js' ) ) . default // type-coverage:ignore-line
76
+
77
+ t . equal (
78
+ renderToStaticMarkup ( React . createElement ( Content ) ) ,
79
+ '0.1' ,
80
+ 'should compile'
81
+ )
82
+
83
+ await fs . unlink ( path . join ( base , 'esbuild-resolve.mdx' ) )
84
+ await fs . unlink ( path . join ( base , 'esbuild-resolve.js' ) )
85
+ await fs . rmdir ( path . join ( base , 'folder' ) , { recursive : true } )
86
+
50
87
// Markdown.
51
88
await fs . writeFile ( path . join ( base , 'esbuild.md' ) , '\ta' )
52
89
0 commit comments