Monorepo
Helper functions for working with monorepos.
Functions
Section titled “Functions”copyToMonorepoNodeModules()
Section titled “copyToMonorepoNodeModules()”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.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
packageRoot |
string |
Returns
Section titled “Returns”Promise<void>
Throws
Section titled “Throws”If copying fails.
fixMonorepoPackageDistDirectory()
Section titled “fixMonorepoPackageDistDirectory()”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”.
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
packageRoot |
string |
Returns
Section titled “Returns”Promise<void>
getMonorepoPackageNames()
Section titled “getMonorepoPackageNames()”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.
Parameters
Section titled “Parameters”| 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. |
Returns
Section titled “Returns”Promise<readonly string[]>
Throws
Section titled “Throws”If the monorepo packages directory cannot be found.
