@@ -100,7 +100,7 @@ namespace ts {
100100 assert . equal ( resolution . resolvedModule . resolvedFileName , moduleFile . name ) ;
101101 assert . equal ( ! ! resolution . resolvedModule . isExternalLibraryImport , false ) ;
102102 // expect three failed lookup location - attempt to load module as file with all supported extensions
103- assert . equal ( resolution . failedLookupLocations . length , supportedTypeScriptExtensions . length ) ;
103+ assert . equal ( resolution . failedLookupLocations . length , supportedTypeScriptAndJsonExtensions . length ) ;
104104 }
105105 }
106106
@@ -154,6 +154,7 @@ namespace ts {
154154 "/a/b/foo.ts" ,
155155 "/a/b/foo.tsx" ,
156156 "/a/b/foo.d.ts" ,
157+ "/a/b/foo.json" ,
157158 "/a/b/foo/index.ts" ,
158159 "/a/b/foo/index.tsx" ,
159160 ] ) ;
@@ -589,25 +590,30 @@ import b = require("./moduleB");
589590 "/root/folder1/file2.ts" ,
590591 "/root/folder1/file2.tsx" ,
591592 "/root/folder1/file2.d.ts" ,
593+ "/root/folder1/file2.json" ,
592594 "/root/folder1/file2/package.json" ,
593595 "/root/folder1/file2/index.ts" ,
594596 "/root/folder1/file2/index.tsx" ,
595- "/root/folder1/file2/index.d.ts"
597+ "/root/folder1/file2/index.d.ts" ,
598+ "/root/folder1/file2/index.json"
596599 // then first attempt on 'generated/*' was successful
597600 ] ) ;
598601 check ( "folder2/file3" , file3 , [
599602 // first try '*'
600603 "/root/folder2/file3.ts" ,
601604 "/root/folder2/file3.tsx" ,
602605 "/root/folder2/file3.d.ts" ,
606+ "/root/folder2/file3.json" ,
603607 "/root/folder2/file3/package.json" ,
604608 "/root/folder2/file3/index.ts" ,
605609 "/root/folder2/file3/index.tsx" ,
606610 "/root/folder2/file3/index.d.ts" ,
611+ "/root/folder2/file3/index.json" ,
607612 // then use remapped location
608613 "/root/generated/folder2/file3.ts" ,
609614 "/root/generated/folder2/file3.tsx" ,
610615 "/root/generated/folder2/file3.d.ts" ,
616+ "/root/generated/folder2/file3.json" ,
611617 "/root/generated/folder2/file3/package.json" ,
612618 "/root/generated/folder2/file3/index.ts" ,
613619 "/root/generated/folder2/file3/index.tsx" ,
@@ -618,14 +624,17 @@ import b = require("./moduleB");
618624 "/root/folder2/file4.ts" ,
619625 "/root/folder2/file4.tsx" ,
620626 "/root/folder2/file4.d.ts" ,
627+ "/root/folder2/file4.json" ,
621628 "/root/folder2/file4/package.json" ,
622629 "/root/folder2/file4/index.ts" ,
623630 "/root/folder2/file4/index.tsx" ,
624631 "/root/folder2/file4/index.d.ts" ,
632+ "/root/folder2/file4/index.json" ,
625633 // try to load from file from remapped location
626634 "/root/generated/folder2/file4.ts" ,
627635 "/root/generated/folder2/file4.tsx" ,
628- "/root/generated/folder2/file4.d.ts"
636+ "/root/generated/folder2/file4.d.ts" ,
637+ "/root/generated/folder2/file4.json"
629638 // success on loading as from folder
630639 ] ) ;
631640 check ( "somefolder/file5" , file5 , [
@@ -634,6 +643,7 @@ import b = require("./moduleB");
634643 "/root/someanotherfolder/file5.ts" ,
635644 "/root/someanotherfolder/file5.tsx" ,
636645 "/root/someanotherfolder/file5.d.ts" ,
646+ "/root/someanotherfolder/file5.json" ,
637647 // load from folder
638648 "/root/someanotherfolder/file5/package.json" ,
639649 "/root/someanotherfolder/file5/index.ts" ,
@@ -646,21 +656,25 @@ import b = require("./moduleB");
646656 "/root/file6.ts" ,
647657 "/root/file6.tsx" ,
648658 "/root/file6.d.ts" ,
659+ "/root/file6.json" ,
649660 // load from folder
650661 "/root/file6/package.json" ,
651662 "/root/file6/index.ts" ,
652663 "/root/file6/index.tsx" ,
653664 "/root/file6/index.d.ts" ,
665+ "/root/file6/index.json" ,
654666 // then try 'generated/*'
655667 // load from file
656668 "/root/generated/file6.ts" ,
657669 "/root/generated/file6.tsx" ,
658670 "/root/generated/file6.d.ts" ,
671+ "/root/generated/file6.json" ,
659672 // load from folder
660673 "/root/generated/file6/package.json" ,
661674 "/root/generated/file6/index.ts" ,
662675 "/root/generated/file6/index.tsx" ,
663676 "/root/generated/file6/index.d.ts" ,
677+ "/root/generated/file6/index.json" ,
664678 // fallback to standard node behavior
665679 // load from file
666680 "/root/folder1/node_modules/file6.ts" ,
@@ -774,11 +788,13 @@ import b = require("./moduleB");
774788 "/root/folder1/file2.ts" ,
775789 "/root/folder1/file2.tsx" ,
776790 "/root/folder1/file2.d.ts" ,
791+ "/root/folder1/file2.json" ,
777792 // load from folder
778793 "/root/folder1/file2/package.json" ,
779794 "/root/folder1/file2/index.ts" ,
780795 "/root/folder1/file2/index.tsx" ,
781796 "/root/folder1/file2/index.d.ts" ,
797+ "/root/folder1/file2/index.json" ,
782798 // success after using alternative rootDir entry
783799 ] ) ;
784800 check ( "../folder1/file1" , file3 , file1 , [
@@ -787,11 +803,13 @@ import b = require("./moduleB");
787803 "/root/generated/folder1/file1.ts" ,
788804 "/root/generated/folder1/file1.tsx" ,
789805 "/root/generated/folder1/file1.d.ts" ,
806+ "/root/generated/folder1/file1.json" ,
790807 // load from module
791808 "/root/generated/folder1/file1/package.json" ,
792809 "/root/generated/folder1/file1/index.ts" ,
793810 "/root/generated/folder1/file1/index.tsx" ,
794811 "/root/generated/folder1/file1/index.d.ts" ,
812+ "/root/generated/folder1/file1/index.json" ,
795813 // success after using alternative rootDir entry
796814 ] ) ;
797815 check ( "../folder1/file1_1" , file3 , file1_1 , [
@@ -800,16 +818,19 @@ import b = require("./moduleB");
800818 "/root/generated/folder1/file1_1.ts" ,
801819 "/root/generated/folder1/file1_1.tsx" ,
802820 "/root/generated/folder1/file1_1.d.ts" ,
821+ "/root/generated/folder1/file1_1.json" ,
803822 // load from folder
804823 "/root/generated/folder1/file1_1/package.json" ,
805824 "/root/generated/folder1/file1_1/index.ts" ,
806825 "/root/generated/folder1/file1_1/index.tsx" ,
807826 "/root/generated/folder1/file1_1/index.d.ts" ,
827+ "/root/generated/folder1/file1_1/index.json" ,
808828 // try alternative rootDir entry
809829 // load from file
810830 "/root/folder1/file1_1.ts" ,
811831 "/root/folder1/file1_1.tsx" ,
812832 "/root/folder1/file1_1.d.ts" ,
833+ "/root/folder1/file1_1.json" ,
813834 // load from directory
814835 "/root/folder1/file1_1/package.json" ,
815836 "/root/folder1/file1_1/index.ts" ,
@@ -906,6 +927,7 @@ import b = require("./moduleB");
906927 "/root/src/libs/guid.ts" ,
907928 "/root/src/libs/guid.tsx" ,
908929 "/root/src/libs/guid.d.ts" ,
930+ "/root/src/libs/guid.json" ,
909931 ] ) ;
910932 }
911933 } ) ;
0 commit comments