UNPKG

workspace-tools

Version:

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

33 lines (32 loc) 1.45 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = __importDefault(require("path")); const find_up_1 = __importDefault(require("find-up")); const read_yaml_file_1 = require("read-yaml-file"); const getPackagePaths_1 = require("../../getPackagePaths"); const getWorkspacePackageInfo_1 = require("../getWorkspacePackageInfo"); function getPnpmWorkspaceRoot(cwd) { const pnpmWorkspacesFile = find_up_1.default.sync("pnpm-workspace.yaml", { cwd }); if (!pnpmWorkspacesFile) { throw new Error("Could not find pnpm workspaces root"); } return path_1.default.dirname(pnpmWorkspacesFile); } exports.getPnpmWorkspaceRoot = getPnpmWorkspaceRoot; function getPnpmWorkspaces(cwd) { try { const pnpmWorkspacesRoot = getPnpmWorkspaceRoot(cwd); const pnpmWorkspacesFile = path_1.default.join(pnpmWorkspacesRoot, "pnpm-workspace.yaml"); const pnpmWorkspaces = read_yaml_file_1.sync(pnpmWorkspacesFile); const packagePaths = getPackagePaths_1.getPackagePaths(pnpmWorkspacesRoot, pnpmWorkspaces.packages); const workspaceInfo = getWorkspacePackageInfo_1.getWorkspacePackageInfo(packagePaths); return workspaceInfo; } catch (_a) { return []; } } exports.getPnpmWorkspaces = getPnpmWorkspaces;