@@ -20,7 +20,6 @@ describe('package', function () {
2020  } ) ; 
2121
2222  it ( 'has every rule' ,  function  ( done )  { 
23- 
2423    fs . readdir ( 
2524      path . join ( pkg ,  'rules' ) 
2625      ,  function  ( err ,  files )  { 
@@ -34,7 +33,7 @@ describe('package', function () {
3433      } ) ; 
3534  } ) ; 
3635
37-   it ( 'exports all configs' ,  function  ( done )  { 
36+   it ( 'exports all legacy  configs' ,  function  ( done )  { 
3837    fs . readdir ( path . join ( process . cwd ( ) ,  'config' ) ,  function  ( err ,  files )  { 
3938      if  ( err )  {  done ( err ) ;  return ;  } 
4039      files . filter ( isJSFile ) . forEach ( ( file )  =>  { 
@@ -45,6 +44,38 @@ describe('package', function () {
4544    } ) ; 
4645  } ) ; 
4746
47+   it ( 'exports all flat configs' ,  function  ( done )  { 
48+     fs . readdir ( path . join ( process . cwd ( ) ,  'config' ) ,  function  ( err ,  files )  { 
49+       if  ( err )  {  done ( err ) ;  return ;  } 
50+       files . filter ( isJSFile ) . forEach ( ( file )  =>  { 
51+         if  ( file [ 0 ]  ===  '.' )  {  return ;  } 
52+ 
53+         const  basename  =  path . basename ( file ,  '.js' ) ; 
54+         // stage-0 is not included in flat configs 
55+         if  ( basename  ===  'stage-0' )  {  return ;  } 
56+ 
57+         expect ( module . flatConfigs ) . to . have . property ( basename ) ; 
58+       } ) ; 
59+       done ( ) ; 
60+     } ) ; 
61+   } ) ; 
62+ 
63+   it ( 'exports plugin object as default export' ,  function  ( )  { 
64+     expect ( module . default ) . to . be . an ( 'object' ) . that . has . all . keys ( [ 'meta' ,  'rules' ,  'configs' ,  'flatConfigs' ] ) ; 
65+   } ) ; 
66+ 
67+   it ( 'includes plugin meta object in default export' ,  function  ( )  { 
68+     expect ( module . default . meta ) . to . be . an ( 'object' ) . that . has . all . keys ( 'name' ,  'version' ) ; 
69+     expect ( module . default . meta . name ) . to . equal ( 'eslint-plugin-import' ) ; 
70+     expect ( module . default . meta . version ) . to . be . a ( 'string' ) ; 
71+   } ) ; 
72+ 
73+   it ( 'uses default export as plugin in flat configs' ,  function  ( )  { 
74+     for  ( const  configFile  in  module . flatConfigs )  { 
75+       expect ( module . flatConfigs [ configFile ] . plugins . import ) . to . equal ( module . default ) ; 
76+     } 
77+   } ) ; 
78+ 
4879  function  getRulePath ( ruleName )  { 
4980    // 'require' does not work with dynamic paths because of the compilation step by babel 
5081    // (which resolves paths according to the root folder configuration) 
0 commit comments