import { describe, it, expect } from "vitest"; import path from "node:path"; import os from "node:os"; import fs from "node:fs"; import { readWorkspacePackages } from "./_workspace.js"; function writeWorkspaceYaml(contents) { const dir = fs.mkdtempSync(path.join(os.tmpdir(), "workspace-")); const filepath = path.join(dir, "pnpm-workspace.yaml"); fs.writeFileSync(filepath, contents); return { dir, filepath }; } describe("_workspace", () => { it("returns the list of declared package globs", () => { const { dir } = writeWorkspaceYaml( `packages: - "apps/*" - "packages/*" `, ); expect(readWorkspacePackages(dir)).toEqual(["apps/*", "packages/*"]); }); it("returns [] when pnpm-workspace.yaml is missing", () => { const dir = fs.mkdtempSync(path.join(os.tmpdir(), "workspace-")); expect(readWorkspacePackages(dir)).toEqual([]); }); it("returns [] when packages key is absent", () => { const { dir } = writeWorkspaceYaml(`# empty\n`); expect(readWorkspacePackages(dir)).toEqual([]); }); });