discover-workspaces

v0.0.5
Run a script on the packages in a mono-repo.

discover-workspaces

Scan a mono-repo to discover all the projects in that mono-repo.

Utility

Import the utility...

import { discoverWorkspaces, PackageDetails, DependencyIdentifier, PackageTypes } from "discover-workspaces";

or

import { workspaceDiscovery, PackageDetails, DependencyIdentifier, PackageTypes } from "discover-workspaces";

const logger = { error: console.error };
const discoverWorkspaces = workspaceDiscovery({ logger: console });

Usage...

const cwd = "./path-to-mono-repo";
const result: PackageDetails[] = discoverWorkspaces({ cwd });

Definition of PackageDetails:

{
    identifier: DependencyIdentifier,
    dependencies: DependencyIdentifier[];
    devDependencies: DependencyIdentifier[];
    peerDependencies: DependencyIdentifier[];
    scripts: string[]; //Names of each script
    directory: string; //Full path of the project
    packageJson: any; // Full JSON of the package.json
}

Definition of DependencyIdentifier:

{
    name: string,
    version: string,
    type: PackageTypes.WorkspaceRootPackage | PackageTypes.WorkspacePackage | PackageTypes.ExternalPackage,
},
npm i discover-workspaces

Metadata

  • MIT
  • Whatever
  • Unknown
  • released 1/17/2023

Downloads

Maintainers