@@ -18,25 +18,41 @@ const testRepos = [
18
18
"steelbrain/linter-ui-default" ,
19
19
]
20
20
21
+ const testWorkspaces = [ "atom-community/atom-ide-base" ]
22
+
23
+ /** a function that tests linting of a package */
24
+ async function testLint ( packedPkg , testRepo , isWorkspace = false , isSilent = false ) {
25
+ console . log ( `Testing ${ testRepo } ` )
26
+
27
+ const distFolder = resolve ( join ( __dirname , "fixtures" , testRepo ) )
28
+
29
+ if ( ! existsSync ( distFolder ) ) {
30
+ const source = await download ( testRepo )
31
+ mkdir ( "-p" , distFolder )
32
+ await extract ( source , distFolder )
33
+ }
34
+
35
+ await execa . command ( `pnpm add "${ packedPkg } " --ignore-scripts ${ isWorkspace ? "-w" : "" } ` , {
36
+ cwd : distFolder ,
37
+ shell : true ,
38
+ } )
39
+
40
+ await execa . command ( "eslint ." , { cwd : distFolder , stdout : ! isSilent ? "inherit" : "pipe" } )
41
+ }
42
+
43
+ /** main entry */
21
44
; ( async function main ( ) {
22
45
const root = resolve ( dirname ( __dirname ) )
23
46
const packedPkg = join ( root , `${ pkg . name } -${ pkg . version } .tgz` )
24
47
rm ( "-rf" , packedPkg )
25
48
await execa . command ( "pnpm pack" , { cwd : root } )
26
49
27
50
for ( const testRepo of testRepos ) {
28
- console . log ( `Testing ${ testRepo } ` )
29
-
30
- const distFolder = resolve ( join ( __dirname , "fixtures" , testRepo ) )
31
-
32
- if ( ! existsSync ( distFolder ) ) {
33
- const source = await download ( testRepo )
34
- mkdir ( "-p" , distFolder )
35
- await extract ( source , distFolder )
36
- }
37
-
38
- await execa . command ( `pnpm add "${ packedPkg } " --ignore-scripts` , { cwd : distFolder , shell : true } )
39
- await execa . command ( "eslint ." , { cwd : distFolder , stdout : "inherit" } )
51
+ await testLint ( packedPkg , testRepo , false )
52
+ }
53
+ for ( const testWorkspace of testWorkspaces ) {
54
+ await testLint ( packedPkg , testWorkspace , true , true )
40
55
}
56
+
41
57
rm ( "-rf" , packedPkg )
42
58
} ) ( )
0 commit comments