@@ -622,6 +622,99 @@ describe("transform", () => {
622622 } )
623623} )
624624
625+ describe ( "aliased import transforms" , ( ) => {
626+ it ( "should transform aliased loader import where local name is loader" , ( ) => {
627+ const result = injectContext (
628+ `
629+ import { myLoader as loader } from "./loaders";
630+ export { loader };
631+ ` ,
632+ "test" ,
633+ "/file/path"
634+ )
635+ const expected = removeWhitespace ( `
636+ import { withLoaderContextWrapper as _withLoaderContextWrapper } from "react-router-devtools/context";
637+ import { myLoader as _loader } from "./loaders";
638+ export const loader = _withLoaderContextWrapper(_loader, "test");
639+ ` )
640+ expect ( removeWhitespace ( result . code ) ) . toStrictEqual ( expected )
641+ } )
642+
643+ it ( "should transform aliased action import where local name is action" , ( ) => {
644+ const result = injectContext (
645+ `
646+ import { myLoaderAction as action } from "./actions";
647+ export { action };
648+ ` ,
649+ "test" ,
650+ "/file/path"
651+ )
652+ const expected = removeWhitespace ( `
653+ import { withActionContextWrapper as _withActionContextWrapper } from "react-router-devtools/context";
654+ import { myLoaderAction as _action } from "./actions";
655+ export const action = _withActionContextWrapper(_action, "test");
656+ ` )
657+ expect ( removeWhitespace ( result . code ) ) . toStrictEqual ( expected )
658+ } )
659+
660+ it ( "should transform aliased clientLoader import where local name is clientLoader" , ( ) => {
661+ const result = injectContext (
662+ `
663+ import { myLoaderClientLoader as clientLoader } from "./loaders";
664+ export { clientLoader };
665+ ` ,
666+ "test" ,
667+ "/file/path"
668+ )
669+ const expected = removeWhitespace ( `
670+ import { withClientLoaderContextWrapper as _withClientLoaderContextWrapper } from "react-router-devtools/context";
671+ import { myLoaderClientLoader as _clientLoader } from "./loaders";
672+ export const clientLoader = _withClientLoaderContextWrapper(_clientLoader, "test");
673+ ` )
674+ expect ( removeWhitespace ( result . code ) ) . toStrictEqual ( expected )
675+ } )
676+
677+ it ( "should transform aliased clientAction import where local name is clientAction" , ( ) => {
678+ const result = injectContext (
679+ `
680+ import { myLoaderClientAction as clientAction } from "./actions";
681+ export { clientAction };
682+ ` ,
683+ "test" ,
684+ "/file/path"
685+ )
686+ const expected = removeWhitespace ( `
687+ import { withClientActionContextWrapper as _withClientActionContextWrapper } from "react-router-devtools/context";
688+ import { myLoaderClientAction as _clientAction } from "./actions";
689+ export const clientAction = _withClientActionContextWrapper(_clientAction, "test");
690+ ` )
691+ expect ( removeWhitespace ( result . code ) ) . toStrictEqual ( expected )
692+ } )
693+
694+ it ( "should transform aliased loader import and update usages in code" , ( ) => {
695+ const result = injectContext (
696+ `
697+ import { myLoader as loader } from "./loaders";
698+ const test = () => {
699+ return loader();
700+ }
701+ export { loader };
702+ ` ,
703+ "test" ,
704+ "/file/path"
705+ )
706+ const expected = removeWhitespace ( `
707+ import { withLoaderContextWrapper as _withLoaderContextWrapper } from "react-router-devtools/context";
708+ import { myLoader as _loader } from "./loaders";
709+ const test = () => {
710+ return _loader();
711+ };
712+ export const loader = _withLoaderContextWrapper(_loader, "test");
713+ ` )
714+ expect ( removeWhitespace ( result . code ) ) . toStrictEqual ( expected )
715+ } )
716+ } )
717+
625718it ( "should transform the re-exports when it's re-exported from another file with multiple re-exports" , ( ) => {
626719 const result = injectContext (
627720 `
0 commit comments