@@ -2,31 +2,32 @@ import {remapImports} from "../src/scanners/scanForImports";
22import { dirname } from "path" ;
33
44describe ( 'scanForImports' , ( ) => {
5- const rel = '.' + dirname ( __dirname ) ;
5+ const rel = '.' + dirname ( __dirname ) ;
6+ const root = '.' ;
67
78 it ( 'should map simple import' , ( ) => {
89 const imports = { } ;
910 remapImports (
1011 [ { file : 'a' , content : 'blabla;import("./a.js"); blabla;' } ] ,
11- '.' , '.' ,
12+ root , root ,
1213 ( a , b ) => a + b ,
1314 imports
1415 ) ;
1516 expect ( Object . values ( imports ) ) . toEqual ( [
16- `() => import('${ rel } /a.js')`
17+ `() => [ import('${ rel } /a.js'), '', ' ${ rel } /a.js'] `
1718 ] ) ;
1819 } ) ;
1920
2021 it ( 'should map simple import with a comment' , ( ) => {
2122 const imports = { } ;
2223 remapImports (
2324 [ { file : 'a' , content : 'blabla;import(/* comment:42 */"./a.js"); blabla;' } ] ,
24- '.' , '.' ,
25+ root , root ,
2526 ( a , b ) => a + b ,
2627 imports
2728 ) ;
2829 expect ( Object . values ( imports ) ) . toEqual ( [
29- `() => import(/* comment:42 */'${ rel } /a.js')`
30+ `() => [ import(/* comment:42 */'${ rel } /a.js'), '', ' ${ rel } /a.js'] `
3031 ] ) ;
3132 } ) ;
3233
@@ -37,15 +38,32 @@ describe('scanForImports', () => {
3738 file : 'a' ,
3839 content : 'blabla;import(/* webpack: "123" */"./a.js"); blabla; import(/* webpack: 123 */ \'./b.js\');'
3940 } ] ,
40- '.' , '.' ,
41+ root , root ,
4142 ( a , b ) => a + b ,
4243 imports
4344 ) ;
4445 expect ( Object . values ( imports ) ) . toEqual ( [
45- `() => import(/* webpack: \"123\" */'${ rel } /a.js')` ,
46- `() => import(/* webpack: 123 */'${ rel } /b.js')` ,
46+ `() => [ import(/* webpack: \"123\" */'${ rel } /a.js'), '', ' ${ rel } /a.js'] ` ,
47+ `() => [ import(/* webpack: 123 */'${ rel } /b.js'), '', ' ${ rel } /b.js'] ` ,
4748 ] ) ;
48- } )
49+ } ) ;
50+
51+ it ( 'should match chunk name' , ( ) => {
52+ const imports = { } ;
53+ remapImports (
54+ [ {
55+ file : 'a' ,
56+ content : 'blabla;import(/* webpackChunkName: "chunk-a" */"./a.js"); blabla; import(/* webpack: 123 */ \'./b.js\');'
57+ } ] ,
58+ root , root ,
59+ ( a , b ) => a + b ,
60+ imports
61+ ) ;
62+ expect ( Object . values ( imports ) ) . toEqual ( [
63+ `() => [import(/* webpackChunkName: "chunk-a" */'${ rel } /a.js'), 'chunk-a', '${ rel } /a.js']` ,
64+ `() => [import(/* webpack: 123 */'${ rel } /b.js'), '', '${ rel } /b.js']` ,
65+ ] ) ;
66+ } ) ;
4967
5068 it ( 'should remove webpackPrefetch and webpackPreload' , ( ) => {
5169 const imports = { } ;
@@ -54,13 +72,13 @@ describe('scanForImports', () => {
5472 file : 'a' ,
5573 content : 'blabla;import(/* webpackPrefetch: true *//* webpack: "123" */"./a.js"); blabla; import(/* webpackPreload: true */ \'./b.js\');'
5674 } ] ,
57- '.' , '.' ,
75+ root , root ,
5876 ( a , b ) => a + b ,
5977 imports
6078 ) ;
6179 expect ( Object . values ( imports ) ) . toEqual ( [
62- `() => import(/* *//* webpack: \"123\" */'${ rel } /a.js')` ,
63- `() => import(/* */'${ rel } /b.js')` ,
80+ `() => [ import(/* *//* webpack: \"123\" */'${ rel } /a.js'), '', ' ${ rel } /a.js'] ` ,
81+ `() => [ import(/* */'${ rel } /b.js'), '', ' ${ rel } /b.js'] ` ,
6482 ] ) ;
6583 } ) ;
6684} ) ;
0 commit comments