Options
All
  • Public
  • Public/Protected
  • All
Menu

workspace-tools

Index

Type aliases

Dependencies: { [ key in string]: string }
LockDependency: { dependencies?: Dependencies; version: string }

Type declaration

ParsedLock: { object: { [ key in string]: LockDependency }; type: "success" | "merge" | "conflict" }

Type declaration

  • object: { [ key in string]: LockDependency }
  • type: "success" | "merge" | "conflict"
WorkspaceInfo: { name: string; packageJson: PackageInfo; path: string }[]

Functions

  • _resetCache(): void
  • _resetGraphCache(): void
  • internal

    resets the graph cache for internal testing purpose only

    Returns void

  • addGitObserver(observer: GitObserver): void
  • Adds an observer for the git operations, e.g. for testing

    Parameters

    • observer: GitObserver

    Returns void

  • commit(message: string, cwd: string, options?: string[]): void
  • Parameters

    • message: string
    • cwd: string
    • options: string[] = []

    Returns void

  • fetchRemote(remote: string, cwd: string): void
  • Parameters

    • remote: string
    • cwd: string

    Returns void

  • fetchRemoteBranch(remote: string, remoteBranch: string, cwd: string): void
  • Parameters

    • remote: string
    • remoteBranch: string
    • cwd: string

    Returns void

  • findGitRoot(cwd: string): null | string
  • Parameters

    • cwd: string

    Returns null | string

  • findPackageRoot(cwd: string): null | string
  • Parameters

    • cwd: string

    Returns null | string

  • findWorkspacePath(workspaces: WorkspaceInfo, packageName: string): string | undefined
  • getAllPackageJsonFiles(cwd: string): undefined | string[]
  • Get paths to every package.json in the workspace, given a cwd

    Parameters

    • cwd: string

    Returns undefined | string[]

  • getBranchChanges(branch: string, cwd: string): string[]
  • Gets all the changes between the branch and the merge-base

    Parameters

    • branch: string
    • cwd: string

    Returns string[]

  • getBranchName(cwd: string): null | string
  • Parameters

    • cwd: string

    Returns null | string

  • getChangePath(cwd: string): null | string
  • Parameters

    • cwd: string

    Returns null | string

  • getChangedPackages(cwd: string, target: undefined | string, ignoreGlobs?: string[]): string[]
  • Finds all packages that had been changed in the repo under cwd

    executes a "git diff $Target..." to get changes given a merge-base

    further explanation with the three dots:

    git diff [--options] ... [--] [...]

    This form is to view the changes on the branch containing and up to the second , starting at a common ancestor of both . "git diff A...B" is equivalent to "git diff $(git-merge-base A B) B". You can omit any one of , which has the same effect as using HEAD instead.

    Parameters

    • cwd: string
    • target: undefined | string
    • ignoreGlobs: string[] = []

    Returns string[]

    string[] of package names that have changed

  • getChangedPackagesBetweenRefs(cwd: string, fromRef: string, toRef?: string, ignoreGlobs?: string[]): string[]
  • Finds all packages that had been changed between two refs in the repo under cwd

    executes a "git diff $fromRef...$toRef" to get changes given a merge-base

    further explanation with the three dots:

    git diff [--options] ... [--] [...]

    This form is to view the changes on the branch containing and up to the second , starting at a common ancestor of both . "git diff A...B" is equivalent to "git diff $(git-merge-base A B) B". You can omit any one of , which has the same effect as using HEAD instead.

    Parameters

    • cwd: string
    • fromRef: string
    • toRef: string = ""
    • ignoreGlobs: string[] = []

    Returns string[]

    string[] of package names that have changed

  • getChanges(branch: string, cwd: string): string[]
  • Parameters

    • branch: string
    • cwd: string

    Returns string[]

  • getChangesBetweenRefs(fromRef: string, toRef: string, options: string[], pattern: string, cwd: string): string[]
  • Parameters

    • fromRef: string
    • toRef: string
    • options: string[]
    • pattern: string
    • cwd: string

    Returns string[]

  • getCurrentHash(cwd: string): null | string
  • Parameters

    • cwd: string

    Returns null | string

  • getDefaultBranch(cwd: string): string
  • Parameters

    • cwd: string

    Returns string

  • getDefaultRemote(cwd: string): string
  • Parameters

    • cwd: string

    Returns string

  • getDefaultRemoteBranch(branch: undefined | string, cwd: string): string
  • Parameters

    • branch: undefined | string
    • cwd: string

    Returns string

  • getDependentMap(packages: PackageInfos): Map<string, Set<string>>
  • getFileAddedHash(filename: string, cwd: string): undefined | string
  • Get the commit hash in which the file was first added.

    Parameters

    • filename: string
    • cwd: string

    Returns undefined | string

  • getFullBranchRef(branch: string, cwd: string): null | string
  • Parameters

    • branch: string
    • cwd: string

    Returns null | string

  • getPackagesByFiles(workspaceRoot: string, files: string[], ignoreGlobs?: string[], returnAllPackagesOnNoMatch?: boolean): string[]
  • Given a list of files, finds all packages names that contain those files

    Parameters

    • workspaceRoot: string

      The root of the workspace

    • files: string[]

      files to search for

    • ignoreGlobs: string[] = []

      glob patterns to ignore

    • returnAllPackagesOnNoMatch: boolean = false

      if true, will return all packages if no matches are found

    Returns string[]

    package names that have changed

  • getParentBranch(cwd: string): null | string
  • Parameters

    • cwd: string

    Returns null | string

  • getPnpmWorkspaceRoot(cwd: string): string
  • getRecentCommitMessages(branch: string, cwd: string): string[]
  • Parameters

    • branch: string
    • cwd: string

    Returns string[]

  • getRemoteBranch(branch: string, cwd: string): null | string
  • Parameters

    • branch: string
    • cwd: string

    Returns null | string

  • getRushWorkspaceRoot(cwd: string): string
  • getScopedPackages(search: string[], packages: string[] | {}): string[]
  • Searches all package names based on "scoping" (i.e. "scope" in the sense of inclusion) NOTE: scoping is different than package scopes (@scope/package)

    Parameters

    • search: string[]
    • packages: string[] | {}

    Returns string[]

  • getShortBranchName(fullBranchRef: string, cwd: string): null | string
  • Parameters

    • fullBranchRef: string
    • cwd: string

    Returns null | string

  • getStagedChanges(cwd: string): string[]
  • Parameters

    • cwd: string

    Returns string[]

  • getTransitiveConsumers(targets: string[], packages: PackageInfos, scope?: string[]): string[]
  • for a package graph of a->b->c (where b depends on a), transitive consumers of a are b & c and their consumers (or what are the consequences of a)

    Parameters

    • targets: string[]
    • packages: PackageInfos
    • scope: string[] = []

    Returns string[]

  • getTransitiveDependencies(targets: string[], packages: PackageInfos): string[]
  • getTransitiveDependents(targets: string[], packages: PackageInfos, scope?: string[]): string[]
  • getTransitiveProviders(targets: string[], packages: PackageInfos): string[]
  • for a package graph of a->b->c (where b depends on a), transitive providers of c are a & b and their providers (or what is needed to satisfy c)

    Parameters

    Returns string[]

  • getUnstagedChanges(cwd: string): string[]
  • Gets all the changes that have not been staged yet

    Parameters

    • cwd: string

    Returns string[]

  • getUntrackedChanges(cwd: string): string[]
  • Parameters

    • cwd: string

    Returns string[]

  • getUserEmail(cwd: string): null | string
  • Parameters

    • cwd: string

    Returns null | string

  • getWorkspaceRoot(cwd: string): string | undefined
  • getYarnWorkspaceRoot(cwd: string): string
  • git(args: string[], options?: { cwd: string; maxBuffer?: number }): ProcessOutput
  • Runs git command - use this for read only commands

    Parameters

    • args: string[]
    • Optional options: { cwd: string; maxBuffer?: number }
      • cwd: string
      • Optional maxBuffer?: number

    Returns ProcessOutput

  • gitFailFast(args: string[], options?: { cwd: string; maxBuffer?: number }): void
  • Runs git command - use this for commands that makes changes to the file system

    Parameters

    • args: string[]
    • Optional options: { cwd: string; maxBuffer?: number }
      • cwd: string
      • Optional maxBuffer?: number

    Returns void

  • init(cwd: string, email?: string, username?: string): void
  • Parameters

    • cwd: string
    • Optional email: string
    • Optional username: string

    Returns void

  • isChildOf(child: string, parent: string): boolean
  • Parameters

    • child: string
    • parent: string

    Returns boolean

  • listAllTrackedFiles(patterns: string[], cwd: string): string[]
  • Parameters

    • patterns: string[]
    • cwd: string

    Returns string[]

  • nameAtVersion(name: string, version: string): string
  • parseLockFile(packageRoot: string): Promise<ParsedLock>
  • parseRemoteBranch(branch: string): { remote: string; remoteBranch: string }
  • Parameters

    • branch: string

    Returns { remote: string; remoteBranch: string }

    • remote: string
    • remoteBranch: string
  • revertLocalChanges(cwd: string): boolean
  • Parameters

    • cwd: string

    Returns boolean

  • searchUp(pathName: string, cwd: string): null | string
  • Starting from cwd, searches up the directory hierarchy for pathName

    Parameters

    • pathName: string
    • cwd: string

    Returns null | string

  • stage(patterns: string[], cwd: string): void
  • Parameters

    • patterns: string[]
    • cwd: string

    Returns void

  • stageAndCommit(patterns: string[], message: string, cwd: string, commitOptions?: string[]): void
  • Parameters

    • patterns: string[]
    • message: string
    • cwd: string
    • commitOptions: string[] = []

    Returns void

Generated using TypeDoc