From 61f475edb7c80eb2f11e61b1a4ef43cd9da9063f Mon Sep 17 00:00:00 2001 From: Noah Santschi-Cooney Date: Fri, 8 May 2026 11:20:18 +0100 Subject: [PATCH] refactor: consolidate TOML parsers to smol-toml Replace fast-toml (TOML 0.5, unmaintained) with smol-toml (TOML 1.0, actively maintained) in the Gradle provider, unifying the codebase on a single TOML library. Co-Authored-By: Claude Opus 4.6 --- package-lock.json | 7 ------- package.json | 1 - src/providers/java_gradle.js | 4 ++-- 3 files changed, 2 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 805c6f98..8273f7b2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,6 @@ "@cyclonedx/cyclonedx-library": "^6.13.0", "eslint-import-resolver-typescript": "^4.4.4", "fast-glob": "^3.3.3", - "fast-toml": "^0.5.4", "fast-xml-parser": "^5.3.4", "help": "^3.0.2", "https-proxy-agent": "^7.0.6", @@ -3405,12 +3404,6 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-toml": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/fast-toml/-/fast-toml-0.5.4.tgz", - "integrity": "sha512-nUX94P84wE3gcem12g4FAH3xV7BmcCoV8FXcFVV+NIQAOwRJnyqVKhdGd9DqI4CunW+wOZhVBGKI6Jut/OlLTw==", - "license": "MIT" - }, "node_modules/fast-uri": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", diff --git a/package.json b/package.json index 9b70b365..a99e85d5 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,6 @@ "@cyclonedx/cyclonedx-library": "^6.13.0", "eslint-import-resolver-typescript": "^4.4.4", "fast-glob": "^3.3.3", - "fast-toml": "^0.5.4", "fast-xml-parser": "^5.3.4", "help": "^3.0.2", "https-proxy-agent": "^7.0.6", diff --git a/src/providers/java_gradle.js b/src/providers/java_gradle.js index 88b1505b..6a27c9cb 100644 --- a/src/providers/java_gradle.js +++ b/src/providers/java_gradle.js @@ -4,7 +4,7 @@ import os from 'node:os' import path from 'node:path' import { EOL } from 'os' -import TOML from 'fast-toml' +import { parse as parseToml } from 'smol-toml' import { readLicenseFile } from '../license/license_utils.js' import Sbom from '../sbom.js' @@ -422,7 +422,7 @@ export default class Java_gradle extends Base_java { // Read and parse the TOML file let pathOfToml = path.join(path.dirname(manifestPath),"gradle","libs.versions.toml"); const tomlString = fs.readFileSync(pathOfToml).toString() - let tomlObject = TOML.parse(tomlString) + let tomlObject = parseToml(tomlString) let groupPlusArtifactObject = tomlObject.libraries[alias] let parts = groupPlusArtifactObject.module.split(":"); let groupId = parts[0]