Skip to content

Commit 05344bf

Browse files
committed
refactor(node): Also track the package type via NodePackageManagerType
Signed-off-by: Sebastian Schuberth <sebastian@doubleopen.org>
1 parent 6f6b2b0 commit 05344bf

File tree

6 files changed

+10
-5
lines changed

6 files changed

+10
-5
lines changed

plugins/package-managers/node/src/main/kotlin/NodePackageManagerType.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,14 @@ import org.ossreviewtoolkit.utils.common.div
3232
*/
3333
enum class NodePackageManagerType(
3434
internal val projectType: String,
35+
internal val packageType: String,
3536
internal val lockfileName: String,
3637
internal val markerFileName: String? = null,
3738
internal val workspaceFileName: String = NodePackageManagerType.DEFINITION_FILE
3839
) {
3940
NPM(
4041
projectType = "NPM",
42+
packageType = "NPM",
4143
lockfileName = "package-lock.json", // See https://docs.npmjs.com/cli/v7/configuring-npm/package-lock-json.
4244
markerFileName = "npm-shrinkwrap.json" // See https://docs.npmjs.com/cli/v6/configuring-npm/shrinkwrap-json.
4345
) {
@@ -47,6 +49,7 @@ enum class NodePackageManagerType(
4749

4850
PNPM(
4951
projectType = "PNPM",
52+
packageType = "NPM",
5053
lockfileName = "pnpm-lock.yaml", // See https://pnpm.io/git#lockfiles.
5154
workspaceFileName = "pnpm-workspace.yaml"
5255
) {
@@ -66,6 +69,7 @@ enum class NodePackageManagerType(
6669

6770
YARN(
6871
projectType = "Yarn",
72+
packageType = "NPM",
6973
lockfileName = "yarn.lock" // See https://classic.yarnpkg.com/en/docs/yarn-lock.
7074
) {
7175
private val lockfileMarker = "# yarn lockfile v1"
@@ -82,6 +86,7 @@ enum class NodePackageManagerType(
8286

8387
YARN2(
8488
projectType = "Yarn2",
89+
packageType = "NPM",
8590
lockfileName = "yarn.lock", // See https://classic.yarnpkg.com/en/docs/yarn-lock.
8691
markerFileName = ".yarnrc.yml"
8792
) {

plugins/package-managers/node/src/main/kotlin/Utils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ internal fun parsePackage(packageJson: PackageJson, moduleInfoResolver: ModuleIn
169169

170170
var vcsFromPackage = parseVcsInfo(packageJson)
171171

172-
val id = Identifier("NPM", namespace, name, version)
172+
val id = Identifier(NodePackageManagerType.NPM.packageType, namespace, name, version)
173173

174174
val hasIncompleteData = description.isEmpty() || homepageUrl.isEmpty() || downloadUrl.isEmpty()
175175
|| hash == Hash.NONE || vcsFromPackage == VcsInfo.EMPTY

plugins/package-managers/node/src/main/kotlin/npm/NpmDependencyHandler.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ internal class NpmDependencyHandler(
4040
private val packageJsonCache = mutableMapOf<File, PackageJson>()
4141

4242
override fun identifierFor(dependency: ModuleInfo): Identifier {
43-
val type = if (dependency.isProject) NodePackageManagerType.NPM.projectType else "NPM"
43+
val type = with(NodePackageManagerType.NPM) { if (dependency.isProject) projectType else packageType }
4444
val (namespace, name) = splitNamespaceAndName(dependency.name.orEmpty())
4545
val version = if (dependency.isProject) {
4646
val packageJson = packageJsonCache.getOrPut(dependency.packageJsonFile.realFile) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ internal class PnpmDependencyHandler(
5151
}
5252

5353
override fun identifierFor(dependency: Dependency): Identifier {
54-
val type = if (dependency.isProject) NodePackageManagerType.PNPM.projectType else "NPM"
54+
val type = with(NodePackageManagerType.PNPM) { if (dependency.isProject) projectType else packageType }
5555
val namespace = dependency.from.substringBeforeLast("/", "")
5656
val name = dependency.from.substringAfterLast("/")
5757
val version = if (dependency.isProject) {

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

Lines changed: 1 addition & 1 deletion
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 = with(NodePackageManagerType.YARN) { if (dependency.isProject) projectType else packageType },
6565
namespace = dependency.moduleName.substringBefore("/", ""),
6666
name = dependency.moduleName.substringAfter("/"),
6767
version = dependency.moduleVersion

plugins/package-managers/node/src/main/kotlin/yarn2/Yarn2DependencyHandler.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ internal class Yarn2DependencyHandler(
5858

5959
override fun identifierFor(dependency: PackageInfo): Identifier =
6060
Identifier(
61-
type = if (dependency.isProject) NodePackageManagerType.YARN2.projectType else "NPM",
61+
type = with(NodePackageManagerType.YARN2) { if (dependency.isProject) projectType else packageType },
6262
namespace = dependency.moduleName.substringBefore("/", ""),
6363
name = dependency.moduleName.substringAfter("/"),
6464
version = dependency.children.version

0 commit comments

Comments
 (0)