refactor(core): export MutateModulesOptions

This commit is contained in:
Zoltan Kochan
2022-01-12 13:21:40 +02:00
parent 09e99acda3
commit 50ee25ae27
4 changed files with 16 additions and 7 deletions

View File

@@ -0,0 +1,5 @@
---
"@pnpm/core": patch
---
Export `MutateModulesOptions`.

View File

@@ -37,6 +37,7 @@ export interface StrictInstallOptions {
storeDir: string
reporter: ReporterFunction
force: boolean
forcePublicHoistPattern: boolean
update: boolean
updateMatching?: (pkgName: string) => boolean
updatePackageManifest?: boolean

View File

@@ -145,11 +145,13 @@ interface ProjectToBeInstalled {
export type MutatedProject = ProjectOptions & DependenciesMutation
export type MutateModulesOptions = InstallOptions & {
preferredVersions?: PreferredVersions
}
export async function mutateModules (
projects: MutatedProject[],
maybeOpts: InstallOptions & {
preferredVersions?: PreferredVersions
}
maybeOpts: MutateModulesOptions
): Promise<UpdatedProject[]> {
const reporter = maybeOpts?.reporter
if ((reporter != null) && typeof reporter === 'function') {

View File

@@ -13,6 +13,7 @@ import { IncludedDependencies, Project } from '@pnpm/types'
import {
install,
mutateModules,
MutateModulesOptions,
MutatedProject,
WorkspacePackages,
} from '@pnpm/core'
@@ -174,7 +175,7 @@ when running add/update with the --workspace option')
}
const store = await createOrConnectStoreController(opts)
const installOpts = {
const installOpts: MutateModulesOptions = {
...opts,
...getOptionsFromRootManifest(manifest),
forceHoistPattern,
@@ -223,14 +224,14 @@ when running add/update with the --workspace option')
if (params?.length) {
const mutatedProject: MutatedProject = {
allowNew: opts.allowNew,
binsDir: installOpts.bin,
binsDir: opts.bin,
dependencySelectors: params,
manifest,
mutation: 'installSome',
peer: opts.savePeer,
pinnedVersion: getPinnedVersion(opts),
rootDir: installOpts.dir,
targetDependenciesField: getSaveType(installOpts),
rootDir: opts.dir,
targetDependenciesField: getSaveType(opts),
}
let [updatedImporter] = await mutateModules([mutatedProject], installOpts)
if (opts.save !== false) {