فهرست منبع

test: stabilize publish packaging checks

Ma 7 ماه پیش
والد
کامیت
a5246cec02
1فایلهای تغییر یافته به همراه6 افزوده شده و 3 حذف شده
  1. 6 3
      packages/cli/src/__tests__/publish-package.test.ts

+ 6 - 3
packages/cli/src/__tests__/publish-package.test.ts

@@ -8,6 +8,9 @@ import { describe, expect, it } from "vitest";
 const testDir = dirname(fileURLToPath(import.meta.url));
 const cliDir = resolve(testDir, "..", "..");
 const workspaceRoot = resolve(cliDir, "..", "..");
+const sourceCliPackageJsonPromise = readFile(resolve(cliDir, "package.json"), "utf-8").then((raw) =>
+  JSON.parse(raw),
+);
 
 async function extractPackedPackageJson(packDir: string) {
   execFileSync("npm", ["pack", "--pack-destination", packDir], {
@@ -27,7 +30,7 @@ async function extractPackedPackageJson(packDir: string) {
   });
 }
 
-describe("publish packaging", () => {
+describe.sequential("publish packaging", () => {
   it("rewrites workspace package versions for canary publishing", async () => {
     const tempRoot = await mkdtemp(join(tmpdir(), "inkos-version-script-"));
     const tempPackagesDir = join(tempRoot, "packages");
@@ -86,13 +89,13 @@ describe("publish packaging", () => {
   });
 
   it("keeps source CLI dependencies linked through the workspace protocol", async () => {
-    const cliPackageJson = JSON.parse(await readFile(resolve(cliDir, "package.json"), "utf-8"));
+    const cliPackageJson = await sourceCliPackageJsonPromise;
 
     expect(cliPackageJson.dependencies["@actalk/inkos-core"]).toBe("workspace:*");
   });
 
   it("verifies publishable manifests before npm publish runs", async () => {
-    const cliPackageJson = JSON.parse(await readFile(resolve(cliDir, "package.json"), "utf-8"));
+    const cliPackageJson = await sourceCliPackageJsonPromise;
     const corePackageJson = JSON.parse(
       await readFile(resolve(workspaceRoot, "packages/core/package.json"), "utf-8"),
     );