Skip to content

Commit f0436a0

Browse files
committed
Move typecheking in a dedicated test
1 parent 227fa14 commit f0436a0

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

packages/cli-v3/e2e/index.test.ts

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,13 @@ const packageManager = process.env.PM || "npm";
3232
if (testCases.length > 0) {
3333
console.log(`Using ${packageManager}`);
3434

35-
describe.each(testCases)("fixture $name", ({ name, skipTypecheck }) => {
35+
describe.each(testCases)("fixture $name", async ({ name, skipTypecheck }) => {
3636
const fixtureDir = resolve(join(process.cwd(), "e2e/fixtures", name));
37+
const resolvedConfig = await readConfig(fixtureDir);
38+
39+
if (resolvedConfig.status === "error") {
40+
throw new Error(`cannot resolve config in directory ${fixtureDir}`);
41+
}
3742

3843
beforeAll(async () => {
3944
await rm(resolve(join(fixtureDir, ".trigger")), { force: true, recursive: true });
@@ -84,23 +89,17 @@ if (testCases.length > 0) {
8489
{ timeout: 60_000 }
8590
);
8691

92+
if (!skipTypecheck) {
93+
test("typechecks", async () => {
94+
await expect(
95+
(async () => await typecheckProject(resolvedConfig.config))()
96+
).resolves.not.toThrowError();
97+
});
98+
}
99+
87100
test(
88101
"compiles",
89102
async () => {
90-
const resolvedConfig = await readConfig(fixtureDir);
91-
92-
if (resolvedConfig.status === "error") {
93-
throw new Error(`cannot resolve config in directory ${fixtureDir}`);
94-
}
95-
96-
if (!skipTypecheck) {
97-
const typecheck = await typecheckProject(resolvedConfig.config);
98-
99-
if (!typecheck) {
100-
throw new Error("Typecheck failed, aborting deployment");
101-
}
102-
}
103-
104103
let compileArgs = ["deploy-compile", fixtureDir, "--log-level", logLevel];
105104
if (skipTypecheck) compileArgs.push("--skip-typecheck");
106105

@@ -126,7 +125,7 @@ function installArgs(packageManager: string) {
126125
return ["install", "--frozen-lockfile"];
127126
case "pnpm":
128127
case "yarn":
129-
throw new Error("pnpm and yarn version must be read from 'package.json' 'engines' field");
128+
throw new Error("pnpm and yarn must install using `corepack use`");
130129
case "npm":
131130
return ["ci", "--no-audit"];
132131
default:

0 commit comments

Comments
 (0)