Do not include peerDependencies in dependency list
This commit is contained in:
parent
64d9778a33
commit
46bbd477e3
@ -9,4 +9,4 @@
|
|||||||
"main": "lib/index.js",
|
"main": "lib/index.js",
|
||||||
"types": "lib/index.d.ts",
|
"types": "lib/index.d.ts",
|
||||||
"module": "esm/index.js"
|
"module": "esm/index.js"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,8 +8,9 @@ import {join} from 'path'
|
|||||||
interface Package {
|
interface Package {
|
||||||
name: string
|
name: string
|
||||||
version: string
|
version: string
|
||||||
dependencies: Record<string, string>
|
peerDependencies?: Record<string, string>
|
||||||
devDependencies: Record<string, string>
|
dependencies?: Record<string, string>
|
||||||
|
devDependencies?: Record<string, string>
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Dependencies {
|
interface Dependencies {
|
||||||
@ -168,8 +169,8 @@ export function imports(...argv: string[]) {
|
|||||||
.map(resolveModuleName)
|
.map(resolveModuleName)
|
||||||
.reduce((obj, mod) => {
|
.reduce((obj, mod) => {
|
||||||
const versionString =
|
const versionString =
|
||||||
rootPackage.dependencies[mod] ||
|
(rootPackage.dependencies || {})[mod] ||
|
||||||
rootPackage.devDependencies[mod]
|
(rootPackage.devDependencies || {})[mod]
|
||||||
const resolvedModule = resolveModule(mod, versionString)
|
const resolvedModule = resolveModule(mod, versionString)
|
||||||
obj[resolvedModule.name] = resolvedModule.version
|
obj[resolvedModule.name] = resolvedModule.version
|
||||||
return obj
|
return obj
|
||||||
@ -182,7 +183,25 @@ export function imports(...argv: string[]) {
|
|||||||
const imports = collectImports(pkgDir, 'tsconfig.json')
|
const imports = collectImports(pkgDir, 'tsconfig.json')
|
||||||
const packageFile = join(pkgDir, 'package.json')
|
const packageFile = join(pkgDir, 'package.json')
|
||||||
const targetPackage = readPackage(packageFile)
|
const targetPackage = readPackage(packageFile)
|
||||||
targetPackage.dependencies = resolveDependencies(imports.dependencies)
|
const dependencies = resolveDependencies(imports.dependencies)
|
||||||
|
if (targetPackage.peerDependencies) {
|
||||||
|
const peerDependencyNames = new Set(
|
||||||
|
Object.keys(targetPackage.peerDependencies),
|
||||||
|
)
|
||||||
|
const depsWithoutPeers = Object
|
||||||
|
.keys(dependencies)
|
||||||
|
.reduce((obj, dep) => {
|
||||||
|
if (!peerDependencyNames.has(dep)) {
|
||||||
|
obj[dep] = dependencies[dep]
|
||||||
|
} else {
|
||||||
|
error('Skipping peer dependency "%s"', dep)
|
||||||
|
}
|
||||||
|
return obj
|
||||||
|
}, {} as Record<string, string>)
|
||||||
|
targetPackage.dependencies = depsWithoutPeers
|
||||||
|
} else {
|
||||||
|
targetPackage.dependencies = dependencies
|
||||||
|
}
|
||||||
targetPackage.devDependencies = resolveDependencies(imports.devDependencies)
|
targetPackage.devDependencies = resolveDependencies(imports.devDependencies)
|
||||||
debug('dependencies: %o', targetPackage.dependencies)
|
debug('dependencies: %o', targetPackage.dependencies)
|
||||||
debug('devDependencies: %o', targetPackage.devDependencies)
|
debug('devDependencies: %o', targetPackage.devDependencies)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user