isolate-package
Version:
Isolate monorepo packages to form a self-contained deployable unit
38 lines (35 loc) • 1.03 kB
text/typescript
import type { PackageManifest, PackagesRegistry } from "~/lib/types";
import { patchInternalEntries } from "./patch-internal-entries";
/**
* Replace the workspace version specifiers for internal dependency with file:
* paths. Not needed for PNPM (because we configure the isolated output as a
* workspace), but maybe still for NPM and Yarn.
*/
export function adaptManifestInternalDeps({
manifest,
packagesRegistry,
parentRootRelativeDir,
}: {
manifest: PackageManifest;
packagesRegistry: PackagesRegistry;
parentRootRelativeDir?: string;
}): PackageManifest {
const { dependencies, devDependencies } = manifest;
return {
...manifest,
dependencies: dependencies
? patchInternalEntries(
dependencies,
packagesRegistry,
parentRootRelativeDir,
)
: undefined,
devDependencies: devDependencies
? patchInternalEntries(
devDependencies,
packagesRegistry,
parentRootRelativeDir,
)
: undefined,
};
}