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) 991 B
"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.getYarnWorkspaces, pnpm: pnpm_1.getPnpmWorkspaces, rush: rush_1.getRushWorkspaces, npm: npm_1.getNpmWorkspaces, lerna: lerna_1.getLernaWorkspaces, }; const preferred = process.env .PREFERRED_WORKSPACE_MANAGER; function getWorkspaces(cwd) { const workspaceImplementation = preferred || implementations_1.getWorkspaceImplementation(cwd); if (!workspaceImplementation || !workspaceGetter[workspaceImplementation]) { return []; } return workspaceGetter[workspaceImplementation](cwd); } exports.getWorkspaces = getWorkspaces;