@@ -46,7 +46,7 @@ describe("Raw plugin", () => {
4646 test ( "textExtensions" , async ( { expect } ) => {
4747 await esbuild . build ( {
4848 ...buildOptions ,
49- plugins : [ raw ( { textExtensions : [ ".md" ] } ) ] ,
49+ plugins : [ raw ( { customLoaders : { md : "text" } } ) ] ,
5050 entryPoints : [ path . resolve ( __dirname , "test3.ts" ) ] ,
5151 } ) ;
5252
@@ -56,15 +56,45 @@ describe("Raw plugin", () => {
5656 expect ( fileContent ) . toBe ( generatedCodeContent ) ;
5757 } ) ;
5858
59+ test ( "uses custom loader if provided" , async ( { expect } ) => {
60+ await esbuild . build ( {
61+ ...buildOptions ,
62+ entryPoints : [ path . resolve ( __dirname , "test-loader.ts" ) ] ,
63+ plugins : [ raw ( { loader : "base64" } ) ] ,
64+ outdir : "__tests__/dist2" ,
65+ } ) ;
66+ const fileContent = fs . readFileSync ( path . resolve ( __dirname , "../src/index.ts" ) ) ;
67+ // @ts -ignore
68+ const generatedCodeContent = ( await import ( "./dist2/test-loader.js" ) ) . getText ( ) ;
69+ expect ( generatedCodeContent ) . toBe ( fileContent . toString ( "base64" ) ) ;
70+ } ) ;
71+
72+ test ( "uses customLoaders mapping for extension" , async ( { expect } ) => {
73+ await esbuild . build ( {
74+ ...buildOptions ,
75+ plugins : [ raw ( { customLoaders : { md : "text" } } ) ] ,
76+ entryPoints : [ path . resolve ( __dirname , "test3.ts" ) ] ,
77+ outdir : "__tests__/dist3" ,
78+ } ) ;
79+ const fileContent = fs . readFileSync ( path . resolve ( __dirname , "test.md" ) , "utf-8" ) ;
80+ // @ts -ignore
81+ const generatedCodeContent = ( await import ( "./dist3/test3.js" ) ) . getText ( ) ;
82+ expect ( generatedCodeContent ) . toBe ( fileContent ) ;
83+ } ) ;
84+
85+ test ( "uses custom plugin name if provided" , ( { expect } ) => {
86+ const plugin = raw ( { name : "custom-plugin-name" } ) ;
87+ expect ( plugin . name ) . toBe ( "custom-plugin-name" ) ;
88+ } ) ;
5989 test ( "custom loader" , async ( { expect } ) => {
6090 await esbuild . build ( {
6191 ...buildOptions ,
6292 entryPoints : [ path . resolve ( __dirname , "test-loader.ts" ) ] ,
6393 plugins : [ raw ( { loader : "base64" } ) ] ,
6494 } ) ;
65- const fileContent = fs . readFileSync ( path . resolve ( __dirname , "../src/index.ts" ) , "utf-8" ) ;
95+ const fileContent = fs . readFileSync ( path . resolve ( __dirname , "../src/index.ts" ) ) ;
6696 // @ts -ignore
6797 const generatedCodeContent = ( await import ( "./dist/test-loader.js" ) ) . getText ( ) ;
68- expect ( fileContent ) . toBe ( atob ( generatedCodeContent ) ) ;
98+ expect ( generatedCodeContent ) . toBe ( fileContent . toString ( "base64" ) ) ;
6999 } ) ;
70100} ) ;
0 commit comments