UNPKG

workspace-tools

Version:

A collection of tools that are useful in a git-controlled monorepo that is managed by one of these software:

41 lines (40 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const setupFixture_1 = require("../helpers/setupFixture"); const yarn_1 = require("../workspaces/implementations/yarn"); const pnpm_1 = require("../workspaces/implementations/pnpm"); const rush_1 = require("../workspaces/implementations/rush"); const npm_1 = require("../workspaces/implementations/npm"); const lerna_1 = require("../workspaces/implementations/lerna"); describe("getWorkspaceRoot", () => { afterAll(() => { setupFixture_1.cleanupFixtures(); }); it("handles yarn workspace", () => { const repoRoot = setupFixture_1.setupFixture("monorepo"); const workspaceRoot = yarn_1.getYarnWorkspaceRoot(repoRoot); expect(workspaceRoot).toBe(repoRoot); }); it("handles pnpm workspace", () => { const repoRoot = setupFixture_1.setupFixture("monorepo-pnpm"); const workspaceRoot = pnpm_1.getPnpmWorkspaceRoot(repoRoot); expect(workspaceRoot).toBe(repoRoot); }); it("handles rush workspace", () => { const repoRoot = setupFixture_1.setupFixture("monorepo-rush-pnpm"); const workspaceRoot = rush_1.getRushWorkspaceRoot(repoRoot); expect(workspaceRoot).toBe(repoRoot); }); it("handles npm workspace", () => { const repoRoot = setupFixture_1.setupFixture("monorepo-npm"); const workspaceRoot = npm_1.getNpmWorkspaceRoot(repoRoot); expect(workspaceRoot).toBe(repoRoot); }); }); describe("getLernaWorkspaceRoot()", () => { it("gets the root of the workspace", async () => { const repoRoot = await setupFixture_1.setupFixture("monorepo-lerna-npm"); const workspaceRoot = lerna_1.getLernaWorkspaceRoot(repoRoot); expect(workspaceRoot).toBe(repoRoot); }); });