Skip to content

Commit e68c92c

Browse files
committed
refactor(node): Consistently make isProject extension properties
This aligns PNPM / Yarn with NPM / Yarn2. While at it, inline the `isProject(moduleId: String)` function. Signed-off-by: Sebastian Schuberth <sebastian@doubleopen.org>
1 parent 70467be commit e68c92c

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

plugins/package-managers/node/src/main/kotlin/pnpm/PnpmDependencyHandler.kt

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ internal class PnpmDependencyHandler(
4040
private val workspaceModuleDirs = mutableSetOf<File>()
4141
private val packageJsonCache = mutableMapOf<File, PackageJson>()
4242

43-
private fun Dependency.isProject(): Boolean = isInstalled && workingDir.realFile in workspaceModuleDirs
43+
private val Dependency.isProject: Boolean
44+
get() = isInstalled && workingDir.realFile in workspaceModuleDirs
4445

4546
fun setWorkspaceModuleDirs(dirs: Collection<File>) {
4647
workspaceModuleDirs.apply {
@@ -50,10 +51,10 @@ internal class PnpmDependencyHandler(
5051
}
5152

5253
override fun identifierFor(dependency: Dependency): Identifier {
53-
val type = if (dependency.isProject()) NodePackageManagerType.PNPM.projectType else "NPM"
54+
val type = if (dependency.isProject) NodePackageManagerType.PNPM.projectType else "NPM"
5455
val namespace = dependency.from.substringBeforeLast("/", "")
5556
val name = dependency.from.substringAfterLast("/")
56-
val version = if (dependency.isProject()) {
57+
val version = if (dependency.isProject) {
5758
readPackageJson(dependency.packageJsonFile).version.orEmpty()
5859
} else {
5960
dependency.version.takeUnless { it.startsWith("link:") || it.startsWith("file:") }.orEmpty()
@@ -66,10 +67,10 @@ internal class PnpmDependencyHandler(
6667
(dependency.dependencies + dependency.optionalDependencies).values.filter { it.isInstalled }
6768

6869
override fun linkageFor(dependency: Dependency): PackageLinkage =
69-
PackageLinkage.DYNAMIC.takeUnless { dependency.isProject() } ?: PackageLinkage.PROJECT_DYNAMIC
70+
PackageLinkage.DYNAMIC.takeUnless { dependency.isProject } ?: PackageLinkage.PROJECT_DYNAMIC
7071

7172
override fun createPackage(dependency: Dependency, issues: MutableCollection<Issue>): Package? =
72-
dependency.takeUnless { it.isProject() || !it.isInstalled }?.let {
73+
dependency.takeUnless { it.isProject || !it.isInstalled }?.let {
7374
parsePackage(it.packageJsonFile, moduleInfoResolver)
7475
}
7576

plugins/package-managers/node/src/main/kotlin/yarn/YarnDependencyHandler.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ internal class YarnDependencyHandler(
6161

6262
override fun identifierFor(dependency: YarnListNode): Identifier =
6363
Identifier(
64-
type = if (dependency.isProject()) NodePackageManagerType.YARN.projectType else "NPM",
64+
type = if (dependency.isProject) NodePackageManagerType.YARN.projectType else "NPM",
6565
namespace = dependency.moduleName.substringBefore("/", ""),
6666
name = dependency.moduleName.substringAfter("/"),
6767
version = dependency.moduleVersion
@@ -71,15 +71,14 @@ internal class YarnDependencyHandler(
7171
dependency.children.orEmpty().filter { it.name in packageJsonForModuleId }
7272

7373
override fun linkageFor(dependency: YarnListNode): PackageLinkage =
74-
PackageLinkage.DYNAMIC.takeUnless { dependency.isProject() } ?: PackageLinkage.PROJECT_DYNAMIC
74+
PackageLinkage.DYNAMIC.takeUnless { dependency.isProject } ?: PackageLinkage.PROJECT_DYNAMIC
7575

7676
override fun createPackage(dependency: YarnListNode, issues: MutableCollection<Issue>): Package? {
77-
val packageJson = packageJsonForModuleId[dependency.name]?.takeUnless { dependency.isProject() } ?: return null
77+
val packageJson = packageJsonForModuleId[dependency.name]?.takeUnless { dependency.isProject } ?: return null
7878

7979
return parsePackage(packageJson, moduleInfoResolver)
8080
}
8181

82-
private fun YarnListNode.isProject(): Boolean = isProject(name)
83-
84-
private fun isProject(moduleId: String) = moduleDirForModuleId[moduleId] in projectDirs
82+
private val YarnListNode.isProject: Boolean
83+
get() = moduleDirForModuleId[name] in projectDirs
8584
}

0 commit comments

Comments
 (0)