2.2.1 • Published 2 months ago

@manypkg/get-packages v2.2.1

Weekly downloads
34,309
License
MIT
Repository
-
Last release
2 months ago

@manypkg/get-packages

A simple utility to get the packages from a monorepo, whether they're using Yarn, Bolt, Lerna, pnpm or Rush

This library exports getPackages and getPackagesSync. It is intended mostly for use of developers building tools that want to support different kinds of monorepos as an easy way to write tools without having to write tool-specific code. It supports Yarn, Bolt, Lerna, pnpm, Rush and single-package repos(where the only package is the the same as the root package). This library uses @manypkg/find-root to search up from the directory that's passed to getPackages or getPackagesSync to find the project root.

import { getPackages, getPackagesSync } from "@manypkg/get-packages";

const { tool, packages, rootPackage, rootDir } = await getPackages(process.cwd());
const { tool, packages, rootPackage, rootDir } = getPackagesSync(process.cwd());

// From @manypkg/tools

interface Tool {
    readonly type: string;
    isMonorepoRoot(directory: string): Promise<boolean>;
    isMonorepoRootSync(directory: string): boolean;
    getPackages(directory: string): Promise<Packages>;
    getPackagesSync(directory: string): Packages;
}

interface Package {
    packageJson: PackageJSON;
    dir: string;
    relativeDir: string;
}

interface Packages {
  tool: Tool;
  packages: Package[];
  rootPackage?: Package;
  rootDir: string;
}
@socialtables/changesets@backstage/cli@infinitebrahmanuniverse/nolb-_many@everything-registry/sub-chunk-578@cyclist/scaffold-ts-workspaces@daotl/manypkg-cli@dfatwork-pkgs/backstage-cli@dfatwork-pkgs/janus-cli@dikamilo/multi-semantic-release@dimava/changesets-cli@dougkulak/multi-semantic-release@wpsocio/wpdev@wuxh/changesets-cli@wuxh/changesets-config@webeferen/buildable@xn-sakina/vary@xn-sakina/xn-utils@yeger/scripts@yicode-tool/monolage@yicode/monolage@zalastax/nolb-_many@untitled-docs/gatsby-source-packages@unmonorepo/file@unmonorepo/pkg@quejs/get-diff-pages@turbo-version/dependents@turbo-version/release@turbo-version/setup@turbo-version/version@zcloak/dev@zzcwoshizz/dev@zhbhun/multi-semantic-releasebun-updater@commercetools-frontend/cypressbetter-install@fluidframework/build-tools@changesets/apply-release-plan@changesets/assemble-release-plan@changesets/cli@changesets/config@changesets/get-dependents-graph@changesets/get-release-plan@changesets/git@changesets/pre@changesets/release-utils@changesetsnext/cli@ef4/lerna-changelog@expo/oclif-dev-cli@finos/legend-dev-utils@finos/legend-studio-dev-utils@growing-web/codemod@growing-web/pnpm-nodemodules-provider@growing-web/web-kit@growing-web/wpmdefragdaryl-oclif-dev-clicommitlint-plugin-workspace-scopesceremium_backstagechangeset-conventional-commitschangesets-gitlabchangesets-gitlab-forkchangesets-release-it-pluginchangesets-with-botchangesets-cli-customcs-cli-fix-338ts-referentts-doctorspiceflowsupar-bit-releaseunmonorepovergovite-plugin-mono-sourcevite-plugin-ts-mono-aliasvelipsavitdocyarn-unlock-file@1771technologies/eslint-preset@4c/build@9entities/manypkg@abizzle/changesets-apply-release-plan@abizzle/changesets-assemble-release-plan@abizzle/changesets-cli@abizzle/changesets-config@abizzle/changesets-get-release-plan@akphi/dev-utils@akphi/dev-utils1@asheswook/react-router@balazsorban/monorepo-release@backstage/cli-node@backstage/backend-common@backstage/backend-dynamic-feature-service@backstage/backend-app-api@backstage/repo-tools@backstage/e2e-test-utils@backstage/eslint-plugin@backstage/plugin-devtools-backend@blitzjs/manypkg@alanlu-dev/changeset@alauda/dp-cli@apitree.cz/cli
2.2.1

2 months ago

2.2.0

11 months ago

2.1.0

1 year ago

2.0.0

1 year ago

1.1.3

2 years ago

1.1.2

3 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago