1
1
import { execaNode } from "execa" ;
2
+ import { renameSync } from "node:fs" ;
2
3
import { join , resolve } from "node:path" ;
3
4
4
5
type TestCase = {
@@ -24,6 +25,9 @@ for (let testCase of testCases) {
24
25
25
26
const fixtureDir = resolve ( join ( process . cwd ( ) , "e2e/fixtures" , name ) ) ;
26
27
const commandPath = resolve ( join ( process . cwd ( ) , "dist/e2e.js" ) ) ;
28
+ const logLevel = process . env . LOG || "log" ;
29
+
30
+ togglePackageManager ( true , fixtureDir , process . env . PM ) ;
27
31
28
32
test (
29
33
`project fixture "${ testCase . name } " compiles` ,
@@ -32,7 +36,7 @@ for (let testCase of testCases) {
32
36
( async ( ) => {
33
37
const { stdout } = await execaNode (
34
38
commandPath ,
35
- [ "deploy-compile" , fixtureDir , ...options ] ,
39
+ [ "deploy-compile" , fixtureDir , "--log-level" , logLevel , ...options ] ,
36
40
{ cwd : fixtureDir }
37
41
) ;
38
42
console . log ( stdout ) ;
@@ -41,4 +45,69 @@ for (let testCase of testCases) {
41
45
} ,
42
46
{ timeout : 60_000 }
43
47
) ;
48
+
49
+ togglePackageManager ( false , fixtureDir , process . env . PM ) ;
50
+ }
51
+
52
+ // For now to avoid changes in codebase.
53
+ function togglePackageManager ( toggle : boolean , dir : string , packageManager ?: string ) {
54
+ switch ( packageManager ) {
55
+ case "bun" :
56
+ renameSync (
57
+ join ( dir , `pnpm-lock${ toggle ? "" : ".muted" } .yaml` ) ,
58
+ join ( dir , `pnpm-lock${ toggle ? ".muted" : "" } .yaml` )
59
+ ) ;
60
+ renameSync (
61
+ join ( dir , `yarn${ toggle ? "" : ".muted" } .lock` ) ,
62
+ join ( dir , `yarn${ toggle ? ".muted" : "" } .lock` )
63
+ ) ;
64
+ renameSync (
65
+ join ( dir , `package-lock${ toggle ? "" : ".muted" } .json` ) ,
66
+ join ( dir , `package-lock${ toggle ? ".muted" : "" } .json` )
67
+ ) ;
68
+ break ;
69
+ case "pnpm" :
70
+ renameSync (
71
+ join ( dir , `bun${ toggle ? "" : ".muted" } .lockb` ) ,
72
+ join ( dir , `bun${ toggle ? ".muted" : "" } .lockb` )
73
+ ) ;
74
+ renameSync (
75
+ join ( dir , `yarn${ toggle ? "" : ".muted" } .lock` ) ,
76
+ join ( dir , `yarn${ toggle ? ".muted" : "" } .lock` )
77
+ ) ;
78
+ renameSync (
79
+ join ( dir , `package-lock${ toggle ? "" : ".muted" } .json` ) ,
80
+ join ( dir , `package-lock${ toggle ? ".muted" : "" } .json` )
81
+ ) ;
82
+ break ;
83
+ case "yarn" :
84
+ renameSync (
85
+ join ( dir , `bun${ toggle ? "" : ".muted" } .lockb` ) ,
86
+ join ( dir , `bun${ toggle ? ".muted" : "" } .lockb` )
87
+ ) ;
88
+ renameSync (
89
+ join ( dir , `pnpm-lock${ toggle ? "" : ".muted" } .yaml` ) ,
90
+ join ( dir , `pnpm-lock${ toggle ? ".muted" : "" } .yaml` )
91
+ ) ;
92
+ renameSync (
93
+ join ( dir , `package-lock${ toggle ? "" : ".muted" } .json` ) ,
94
+ join ( dir , `package-lock${ toggle ? ".muted" : "" } .json` )
95
+ ) ;
96
+ break ;
97
+ case "npm" :
98
+ default :
99
+ renameSync (
100
+ join ( dir , `pnpm-lock${ toggle ? "" : ".muted" } .yaml` ) ,
101
+ join ( dir , `pnpm-lock${ toggle ? ".muted" : "" } .yaml` )
102
+ ) ;
103
+ renameSync (
104
+ join ( dir , `bun${ toggle ? "" : ".muted" } .lockb` ) ,
105
+ join ( dir , `bun${ toggle ? ".muted" : "" } .lockb` )
106
+ ) ;
107
+ renameSync (
108
+ join ( dir , `yarn${ toggle ? "" : ".muted" } .lock` ) ,
109
+ join ( dir , `yarn${ toggle ? ".muted" : "" } .lock` )
110
+ ) ;
111
+ break ;
112
+ }
44
113
}
0 commit comments