@@ -23,6 +23,8 @@ describe('createResolver', async () => {
2323 'paths1/a.module.css' : '' ,
2424 'paths2/b.module.css' : '' ,
2525 'paths3/c.module.css' : '' ,
26+ 'node_modules/package/a.module.css' : '' ,
27+ 'node_modules/@scope/package/a.module.css' : '' ,
2628 'package.json' : '{ "imports": { "#*": "./*" } }' ,
2729 } ) ;
2830 const request = iff . paths [ 'request.module.css' ] ;
@@ -91,11 +93,19 @@ describe('createResolver', async () => {
9193 ) ;
9294 expect ( resolve ( 'a.module.css' , { request } ) ) . toBe ( iff . paths [ 'dir/a.module.css' ] ) ;
9395 } ) ;
94- test ( 'does not resolve invalid path' , ( ) => {
96+ test ( 'resolve package path' , ( ) => {
9597 const resolve = createResolver ( normalizeCompilerOptions ( { } , iff . rootDir ) , undefined ) ;
96- expect ( resolve ( 'http://example.com' , { request } ) ) . toBe ( undefined ) ;
97- expect ( resolve ( 'package' , { request } ) ) . toBe ( undefined ) ;
98- expect ( resolve ( '@scope/package' , { request } ) ) . toBe ( undefined ) ;
99- expect ( resolve ( '~package' , { request } ) ) . toBe ( undefined ) ;
98+ expect ( resolve ( 'package/a.module.css' , { request } ) ) . toBe ( iff . paths [ 'node_modules/package/a.module.css' ] ) ;
99+ expect ( resolve ( '@scope/package/a.module.css' , { request } ) ) . toBe (
100+ iff . paths [ 'node_modules/@scope/package/a.module.css' ] ,
101+ ) ;
102+ // css-modules-kit does not support `~` prefix.
103+ expect ( resolve ( '~package/a.module.css' , { request } ) ) . toBe ( undefined ) ;
104+ } ) ;
105+ test ( 'ignore URL' , ( ) => {
106+ const resolve = createResolver ( normalizeCompilerOptions ( { } , iff . rootDir ) , undefined ) ;
107+ expect ( resolve ( 'http://example.com/a.module.css' , { request } ) ) . toBe ( undefined ) ;
108+ expect ( resolve ( 'unknown://example.com/a.module.css' , { request } ) ) . toBe ( undefined ) ;
109+ expect ( resolve ( `data:,${ encodeURIComponent ( '.a_1 { color: red; }' ) } ` , { request } ) ) . toBe ( undefined ) ;
100110 } ) ;
101111} ) ;
0 commit comments