UNPKG

workspace-tools

Version:

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

26 lines (25 loc) 1.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const implementations_1 = require("./implementations"); const pnpm_1 = require("./implementations/pnpm"); const yarn_1 = require("./implementations/yarn"); const rush_1 = require("./implementations/rush"); const npm_1 = require("./implementations/npm"); const lerna_1 = require("./implementations/lerna"); const workspaceGetter = { yarn: yarn_1.getYarnWorkspaceRoot, pnpm: pnpm_1.getPnpmWorkspaceRoot, rush: rush_1.getRushWorkspaceRoot, npm: npm_1.getNpmWorkspaceRoot, lerna: lerna_1.getLernaWorkspaceRoot, }; const preferred = process.env .PREFERRED_WORKSPACE_MANAGER; function getWorkspaceRoot(cwd) { const workspaceImplementation = preferred || implementations_1.getWorkspaceImplementation(cwd); if (!workspaceImplementation || !workspaceGetter[workspaceImplementation]) { return; } return workspaceGetter[workspaceImplementation](cwd); } exports.getWorkspaceRoot = getWorkspaceRoot;