Skip to content

Monorepo

Helper functions for working with monorepos.

function copyToMonorepoNodeModules(packageRoot): Promise<void>;

Defined in: functions/monorepo.ts:31

Helper function to copy a package’s build output to the “node_modules” directory at the root of the monorepo. This obviates the need for the monorepo to consume the actual npm package. (This is useful for ESLint plugins inside of a monorepo, for example.)

This function assumes that the monorepo root is two directories above the provided package root.

Parameter Type
packageRoot string

Promise<void>

If copying fails.


function fixMonorepoPackageDistDirectory(packageRoot): Promise<void>;

Defined in: functions/monorepo.ts:56

In a monorepo without project references, tsc will compile parent projects and include it in the build output, creating “dist/packages/foo/src/main.js”. Since build output for a single package should not be include other monorepo dependencies inside of it, all of the output needs to be deleted except for the actual package output.

This function assumes an “outDir” of “dist”.

Parameter Type
packageRoot string

Promise<void>


function getMonorepoPackageNames(
monorepoRoot,
scriptName?,
): Promise<readonly string[]>;

Defined in: functions/monorepo.ts:113

Helper function to asynchronously get the package names in a monorepo by looking at all of the subdirectories in the “packages” directory.

Parameter Type Description
monorepoRoot string The full path to the root of the monorepo.
scriptName? string Optional. If specified, the package names will be filtered to only include those that include scripts with the given name.

Promise<readonly string[]>

If the monorepo packages directory cannot be found.