From a4b10e200ae016a7fdae3379bc63d9484447e391 Mon Sep 17 00:00:00 2001 From: fraxken Date: Sat, 29 Nov 2025 16:22:27 +0100 Subject: [PATCH] refactor: use Node.js native type striping --- docs/adding_new_strategy.md | 6 ++--- package.json | 11 ++++------ src/database/index.ts | 8 +++---- src/database/nvd.ts | 4 ++-- src/database/osv.ts | 4 ++-- src/database/snyk.ts | 4 ++-- src/database/sonatype.ts | 2 +- src/formats/index.ts | 4 ++-- src/formats/standard/index.ts | 4 ++-- src/formats/standard/mappers.ts | 8 +++---- src/index.ts | 22 +++++++++---------- src/strategies/github-advisory.ts | 10 ++++----- src/strategies/none.ts | 4 ++-- src/strategies/snyk.ts | 12 +++++----- src/strategies/sonatype.ts | 12 +++++----- src/strategies/types/api.ts | 6 ++--- src/strategies/types/scanner.ts | 2 +- src/utils.ts | 2 +- test/database/nvd.unit.spec.ts | 4 ++-- test/database/osv.unit.spec.ts | 4 ++-- test/database/snyk.unit.spec.ts | 6 ++--- test/database/sonatype.unit.spec.ts | 4 ++-- .../vuln_payload/{payloads.js => payloads.ts} | 7 +++++- .../vuln_payload/{vulns.js => vulns.ts} | 3 ++- .../index.integration.spec.ts | 9 ++++++-- .../github_advisory_npm/index.unit.spec.ts | 2 +- .../index.integration.spec.ts | 7 ++++-- test/strategies/none/index.unit.spec.ts | 4 ++-- .../strategies/snyk/index.integration.spec.ts | 4 ++-- test/strategies/snyk/index.unit.spec.ts | 4 ++-- .../sonatype/index.integration.spec.ts | 6 ++--- test/strategies/sonatype/index.unit.spec.ts | 8 +++---- .../vuln_payload/standardize.unit.spec.ts | 6 ++--- test/utils.unit.spec.ts | 2 +- test/vuln.unit.spec.ts | 4 ++-- tsconfig.json | 2 +- 36 files changed, 110 insertions(+), 101 deletions(-) rename test/fixtures/vuln_payload/{payloads.js => payloads.ts} (93%) rename test/fixtures/vuln_payload/{vulns.js => vulns.ts} (99%) diff --git a/docs/adding_new_strategy.md b/docs/adding_new_strategy.md index 74e4388..379af93 100644 --- a/docs/adding_new_strategy.md +++ b/docs/adding_new_strategy.md @@ -119,12 +119,12 @@ You will obviously need to add your own `.ts` file in the **src/strategies** fol ```ts // Import Internal Dependencies -import { VULN_MODE } from "../constants.js"; -import type { Dependencies } from "./types/scanner.js"; +import { VULN_MODE } from "../constants.ts"; +import type { Dependencies } from "./types/scanner.ts"; import type { HydratePayloadDepsOptions, BaseStrategy -} from "./types/api.js"; +} from "./types/api.ts"; export type FooBarStrategyDefinition = BaseStrategy<"foobar">; diff --git a/package.json b/package.json index ae65c29..26a5f61 100644 --- a/package.json +++ b/package.json @@ -12,9 +12,9 @@ "build": "tsc", "prepublishOnly": "npm run build", "lint": "eslint src test", - "test-only": "glob -c \"tsx --test\" \"./test/**/*.spec.ts\"", - "unit-test-only": "glob -c \"tsx --test\" \"./test/**/*.unit.spec.ts\"", - "integration-test-only": "glob -c \"tsx --test\" \"./test/**/*.integration.spec.ts\"", + "test-only": "node --test ./test/**/*.spec.ts", + "unit-test-only": "node --test ./test/**/*.unit.spec.ts", + "integration-test-only": "node --test ./test/**/*.integration.spec.ts", "test": "npm run lint && npm run test-only", "test:unit": "npm run lint && npm run unit-test-only", "test:integration": "npm run lint && npm run integration-test-only", @@ -47,13 +47,10 @@ "homepage": "https://github.com/NodeSecure/vulnera#readme", "devDependencies": { "@openally/config.eslint": "^2.1.0", - "@openally/config.typescript": "^1.0.3", + "@openally/config.typescript": "1.2.1", "@slimio/is": "^2.0.0", "@types/node": "^24.0.1", "c8": "^10.1.2", - "cross-env": "^10.0.0", - "glob": "^11.0.0", - "tsx": "^4.7.0", "typescript": "^5.4.2" }, "dependencies": { diff --git a/src/database/index.ts b/src/database/index.ts index c2633f1..e9e022a 100644 --- a/src/database/index.ts +++ b/src/database/index.ts @@ -1,4 +1,4 @@ -export * as osv from "./osv.js"; -export * as snyk from "./snyk.js"; -export * as nvd from "./nvd.js"; -export * as sonatype from "./sonatype.js"; +export * as osv from "./osv.ts"; +export * as snyk from "./snyk.ts"; +export * as nvd from "./nvd.ts"; +export * as sonatype from "./sonatype.ts"; diff --git a/src/database/nvd.ts b/src/database/nvd.ts index b069ac7..769a2d8 100644 --- a/src/database/nvd.ts +++ b/src/database/nvd.ts @@ -2,8 +2,8 @@ import * as httpie from "@openally/httpie"; // Import Internal Dependencies -import * as utils from "../utils.js"; -import type { NVD } from "../formats/nvd/index.js"; +import * as utils from "../utils.ts"; +import type { NVD } from "../formats/nvd/index.ts"; // CONSTANTS export const ROOT_API = "https://services.nvd.nist.gov/rest/json/cves/2.0"; diff --git a/src/database/osv.ts b/src/database/osv.ts index 160ec31..9978f0e 100644 --- a/src/database/osv.ts +++ b/src/database/osv.ts @@ -2,8 +2,8 @@ import * as httpie from "@openally/httpie"; // Import Internal Dependencies -import type { OSV } from "../formats/osv/index.js"; -import * as utils from "../utils.js"; +import type { OSV } from "../formats/osv/index.ts"; +import * as utils from "../utils.ts"; // CONSTANTS export const ROOT_API = "https://api.osv.dev"; diff --git a/src/database/snyk.ts b/src/database/snyk.ts index 21ed95f..feb6776 100644 --- a/src/database/snyk.ts +++ b/src/database/snyk.ts @@ -2,8 +2,8 @@ import * as httpie from "@openally/httpie"; // Import Internal Dependencies -import { SNYK_ORG, SNYK_TOKEN } from "../constants.js"; -import type { SnykAuditResponse } from "../formats/snyk/index.js"; +import { SNYK_ORG, SNYK_TOKEN } from "../constants.ts"; +import type { SnykAuditResponse } from "../formats/snyk/index.ts"; // CONSTANTS export const ROOT_API = "https://snyk.io"; diff --git a/src/database/sonatype.ts b/src/database/sonatype.ts index 566ca40..187d8e1 100644 --- a/src/database/sonatype.ts +++ b/src/database/sonatype.ts @@ -2,7 +2,7 @@ import * as httpie from "@openally/httpie"; // Import Internal Dependencies -import type { SonatypeResponse } from "../formats/sonatype/index.js"; +import type { SonatypeResponse } from "../formats/sonatype/index.ts"; export type SonaTypeFindOneParameters = { coordinates: string[]; diff --git a/src/formats/index.ts b/src/formats/index.ts index 218c7a1..9d67efb 100644 --- a/src/formats/index.ts +++ b/src/formats/index.ts @@ -1,10 +1,10 @@ // Import Internal Dependencies -import type { BaseStrategyFormat } from "../strategies/types/api.js"; +import type { BaseStrategyFormat } from "../strategies/types/api.ts"; import { standardVulnerabilityMapper, type StandardizeKind -} from "./standard/index.js"; +} from "./standard/index.ts"; export function formatVulnsPayload( format: BaseStrategyFormat | null = null diff --git a/src/formats/standard/index.ts b/src/formats/standard/index.ts index e4c92e0..42c213d 100644 --- a/src/formats/standard/index.ts +++ b/src/formats/standard/index.ts @@ -1,6 +1,6 @@ // Import Internal Dependencies -import { STANDARD_VULN_MAPPERS } from "./mappers.js"; -import type { Kind } from "../../constants.js"; +import { STANDARD_VULN_MAPPERS } from "./mappers.ts"; +import type { Kind } from "../../constants.ts"; export type Severity = "info" | "low" | "medium" | "high" | "critical"; diff --git a/src/formats/standard/mappers.ts b/src/formats/standard/mappers.ts index 57dc484..d56d6b2 100644 --- a/src/formats/standard/mappers.ts +++ b/src/formats/standard/mappers.ts @@ -1,15 +1,13 @@ // Import Internal Dependencies -import { VULN_MODE } from "../../constants.js"; -import * as utils from "../../utils.js"; - -// Import types +import { VULN_MODE } from "../../constants.ts"; +import * as utils from "../../utils.ts"; import type { SonatypeVulnerability, SnykVulnerability, NpmAuditAdvisory, PnpmAuditAdvisory, StandardVulnerability -} from "../../index.js"; +} from "../../index.ts"; function mapFromNPM(vuln: NpmAuditAdvisory): StandardVulnerability { const hasCVSS = typeof vuln.cvss !== "undefined"; diff --git a/src/index.ts b/src/index.ts index 92400a5..83f7c65 100644 --- a/src/index.ts +++ b/src/index.ts @@ -5,42 +5,42 @@ import { type GithubVulnerability, type NpmAuditAdvisory, type PnpmAuditAdvisory -} from "./strategies/github-advisory.js"; +} from "./strategies/github-advisory.ts"; import { SnykStrategy, type SnykStrategyDefinition -} from "./strategies/snyk.js"; +} from "./strategies/snyk.ts"; import { SonatypeStrategy, type SonatypeStrategyDefinition, type SonatypeVulnerability -} from "./strategies/sonatype.js"; +} from "./strategies/sonatype.ts"; import { NoneStrategy, type NoneStrategyDefinition -} from "./strategies/none.js"; +} from "./strategies/none.ts"; import { VULN_MODE, type Kind -} from "./constants.js"; +} from "./constants.ts"; import type { SnykVulnerability -} from "./formats/snyk/index.js"; +} from "./formats/snyk/index.ts"; import type { StandardVulnerability, Severity, StandardPatch -} from "./formats/standard/index.js"; +} from "./formats/standard/index.ts"; import type { OSV -} from "./formats/osv/index.js"; +} from "./formats/osv/index.ts"; import type { Dependencies -} from "./strategies/types/scanner.js"; +} from "./strategies/types/scanner.ts"; import type { BaseStrategy, @@ -48,9 +48,9 @@ import type { BaseStrategyFormat, ExtendedStrategy, HydratePayloadDepsOptions -} from "./strategies/types/api.js"; +} from "./strategies/types/api.ts"; -export * as Database from "./database/index.js"; +export * as Database from "./database/index.ts"; export type AllStrategy = { none: NoneStrategyDefinition; diff --git a/src/strategies/github-advisory.ts b/src/strategies/github-advisory.ts index 7ff9ad8..55eb96f 100644 --- a/src/strategies/github-advisory.ts +++ b/src/strategies/github-advisory.ts @@ -10,15 +10,15 @@ import { getLocalRegistryURL } from "@nodesecure/npm-registry-sdk"; import { readWantedLockfile } from "@pnpm/lockfile-file"; // Import Internal Dependencies -import { VULN_MODE, NPM_TOKEN } from "../constants.js"; -import type { StandardVulnerability } from "../formats/standard/index.js"; -import { formatVulnsPayload } from "../formats/index.js"; -import type { Dependencies } from "./types/scanner.js"; +import { VULN_MODE, NPM_TOKEN } from "../constants.ts"; +import type { StandardVulnerability } from "../formats/standard/index.ts"; +import { formatVulnsPayload } from "../formats/index.ts"; +import type { Dependencies } from "./types/scanner.ts"; import type { BaseStrategyOptions, ExtendedStrategy, HydratePayloadDepsOptions -} from "./types/api.js"; +} from "./types/api.ts"; export type NpmAuditAdvisory = { /** The unique cache key for this vuln or metavuln. **/ diff --git a/src/strategies/none.ts b/src/strategies/none.ts index e6395e2..032ed80 100644 --- a/src/strategies/none.ts +++ b/src/strategies/none.ts @@ -1,6 +1,6 @@ // Import Internal Dependencies -import { VULN_MODE } from "../constants.js"; -import type { BaseStrategy } from "./types/api.js"; +import { VULN_MODE } from "../constants.ts"; +import type { BaseStrategy } from "./types/api.ts"; export type NoneStrategyDefinition = BaseStrategy<"none">; diff --git a/src/strategies/snyk.ts b/src/strategies/snyk.ts index d90aea9..08fd899 100644 --- a/src/strategies/snyk.ts +++ b/src/strategies/snyk.ts @@ -4,15 +4,15 @@ import path from "node:path"; import { readFile } from "node:fs/promises"; // Import Internal Dependencies -import { VULN_MODE } from "../constants.js"; -import type { Dependencies } from "./types/scanner.js"; +import { VULN_MODE } from "../constants.ts"; +import type { Dependencies } from "./types/scanner.ts"; import type { HydratePayloadDepsOptions, BaseStrategy -} from "./types/api.js"; -import { type SnykAuditResponse } from "../formats/snyk/index.js"; -import { snyk } from "../database/index.js"; -import { formatVulnsPayload } from "../formats/index.js"; +} from "./types/api.ts"; +import { type SnykAuditResponse } from "../formats/snyk/index.ts"; +import { snyk } from "../database/index.ts"; +import { formatVulnsPayload } from "../formats/index.ts"; export type SnykStrategyDefinition = BaseStrategy<"snyk">; diff --git a/src/strategies/sonatype.ts b/src/strategies/sonatype.ts index c7e8faf..72f7a55 100644 --- a/src/strategies/sonatype.ts +++ b/src/strategies/sonatype.ts @@ -1,13 +1,13 @@ // Import Internal Dependencies -import * as utils from "../utils.js"; -import { VULN_MODE } from "../constants.js"; -import type { Dependencies, Dependency } from "./types/scanner.js"; +import * as utils from "../utils.ts"; +import { VULN_MODE } from "../constants.ts"; +import type { Dependencies, Dependency } from "./types/scanner.ts"; import type { BaseStrategyOptions, BaseStrategy -} from "./types/api.js"; -import { formatVulnsPayload } from "../formats/index.js"; -import { sonatype } from "../database/index.js"; +} from "./types/api.ts"; +import { formatVulnsPayload } from "../formats/index.ts"; +import { sonatype } from "../database/index.ts"; // CONSTANTS const kRatelimitChunkSize = 128; diff --git a/src/strategies/types/api.ts b/src/strategies/types/api.ts index 48062f1..ae774c4 100644 --- a/src/strategies/types/api.ts +++ b/src/strategies/types/api.ts @@ -1,7 +1,7 @@ // Import Internal Dependencies -import type { Dependencies } from "./scanner.js"; -import type { StandardVulnerability } from "../../formats/standard/index.js"; -import type { Kind } from "../../constants.js"; +import type { Dependencies } from "./scanner.ts"; +import type { StandardVulnerability } from "../../formats/standard/index.ts"; +import type { Kind } from "../../constants.ts"; export type BaseStrategyFormat = "Standard"; diff --git a/src/strategies/types/scanner.ts b/src/strategies/types/scanner.ts index 83df83d..5a7aea2 100644 --- a/src/strategies/types/scanner.ts +++ b/src/strategies/types/scanner.ts @@ -1,5 +1,5 @@ // Import Internal Dependencies -import type { StandardVulnerability } from "../../formats/standard/index.js"; +import type { StandardVulnerability } from "../../formats/standard/index.ts"; export interface Dependency { metadata: any; diff --git a/src/utils.ts b/src/utils.ts index 046a53e..b6c4ca4 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,5 +1,5 @@ // Import Internal Dependencies -import type { Severity } from "./formats/standard/index.js"; +import type { Severity } from "./formats/standard/index.ts"; export function fromMaybeStringToArray( value: undefined | null | string | string[] diff --git a/test/database/nvd.unit.spec.ts b/test/database/nvd.unit.spec.ts index 7dece63..04c42e5 100644 --- a/test/database/nvd.unit.spec.ts +++ b/test/database/nvd.unit.spec.ts @@ -6,8 +6,8 @@ import assert from "node:assert"; import { HTTP_CLIENT_HEADERS, setupHttpAgentMock -} from "../strategies/utils.js"; -import { nvd } from "../../src/database/index.js"; +} from "../strategies/utils.ts"; +import { nvd } from "../../src/database/index.ts"; describe("nvd", () => { const [mockedHttpAgent, restoreHttpAgent] = setupHttpAgentMock(); diff --git a/test/database/osv.unit.spec.ts b/test/database/osv.unit.spec.ts index 81e789f..3eba4ff 100644 --- a/test/database/osv.unit.spec.ts +++ b/test/database/osv.unit.spec.ts @@ -6,8 +6,8 @@ import assert from "node:assert"; import { HTTP_CLIENT_HEADERS, setupHttpAgentMock -} from "../strategies/utils"; -import { osv } from "../../src/database/index"; +} from "../strategies/utils.ts"; +import { osv } from "../../src/database/index.ts"; describe("osv", () => { const [mockedHttpAgent, restoreHttpAgent] = setupHttpAgentMock(); diff --git a/test/database/snyk.unit.spec.ts b/test/database/snyk.unit.spec.ts index 38e69f7..770e074 100644 --- a/test/database/snyk.unit.spec.ts +++ b/test/database/snyk.unit.spec.ts @@ -3,9 +3,9 @@ import { describe, test, after } from "node:test"; import assert from "node:assert"; // Import Internal Dependencies -import { HTTP_CLIENT_HEADERS, setupHttpAgentMock } from "../strategies/utils"; -import { snyk } from "../../src/database"; -import { SNYK_ORG } from "../../src/constants"; +import { HTTP_CLIENT_HEADERS, setupHttpAgentMock } from "../strategies/utils.ts"; +import { snyk } from "../../src/database/index.ts"; +import { SNYK_ORG } from "../../src/constants.ts"; describe("snyk", () => { const [mockedHttpAgent, restoreHttpAgent] = setupHttpAgentMock(); diff --git a/test/database/sonatype.unit.spec.ts b/test/database/sonatype.unit.spec.ts index 7c15e2b..c3f59b3 100644 --- a/test/database/sonatype.unit.spec.ts +++ b/test/database/sonatype.unit.spec.ts @@ -6,8 +6,8 @@ import assert from "node:assert"; import { HTTP_CLIENT_HEADERS, setupHttpAgentMock -} from "../strategies/utils"; -import { sonatype } from "../../src/database/index"; +} from "../strategies/utils.ts"; +import { sonatype } from "../../src/database/index.ts"; describe("sonatype", () => { const [mockedHttpAgent, restoreHttpAgent] = setupHttpAgentMock(); diff --git a/test/fixtures/vuln_payload/payloads.js b/test/fixtures/vuln_payload/payloads.ts similarity index 93% rename from test/fixtures/vuln_payload/payloads.js rename to test/fixtures/vuln_payload/payloads.ts index 74191ef..1baf725 100644 --- a/test/fixtures/vuln_payload/payloads.js +++ b/test/fixtures/vuln_payload/payloads.ts @@ -1,4 +1,9 @@ -import { SNYK_VULNERABILITY, NPM_VULNERABILITY, SONATYPE_VULNERABILITY } from "./vulns.js"; +// Import Internal Dependencies +import { + SNYK_VULNERABILITY, + NPM_VULNERABILITY, + SONATYPE_VULNERABILITY +} from "./vulns.ts"; export const NPM_VULNS_PAYLOADS = { inputVulnsPayload: { diff --git a/test/fixtures/vuln_payload/vulns.js b/test/fixtures/vuln_payload/vulns.ts similarity index 99% rename from test/fixtures/vuln_payload/vulns.js rename to test/fixtures/vuln_payload/vulns.ts index 5bd37cd..fa55089 100644 --- a/test/fixtures/vuln_payload/vulns.js +++ b/test/fixtures/vuln_payload/vulns.ts @@ -1,4 +1,5 @@ - +/* eslint-disable @stylistic/max-len */ + export const NPM_VULNERABILITY = { title: "Arbitrary Command Injection due to Improper Command Sanitization", name: "@npmcli/git", diff --git a/test/strategies/github_advisory_npm/index.integration.spec.ts b/test/strategies/github_advisory_npm/index.integration.spec.ts index 5608663..3fb47c3 100644 --- a/test/strategies/github_advisory_npm/index.integration.spec.ts +++ b/test/strategies/github_advisory_npm/index.integration.spec.ts @@ -5,8 +5,13 @@ import { test } from "node:test"; import assert from "node:assert"; // Import Internal Dependencies -import { GitHubAdvisoryStrategy, NpmAuditAdvisory } from "../../../src/strategies/github-advisory.js"; -import { expectVulnToBeNodeSecureStandardCompliant } from "../utils.js"; +import { + GitHubAdvisoryStrategy, + type NpmAuditAdvisory +} from "../../../src/strategies/github-advisory.ts"; +import { + expectVulnToBeNodeSecureStandardCompliant +} from "../utils.ts"; // CONSTANTS const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/test/strategies/github_advisory_npm/index.unit.spec.ts b/test/strategies/github_advisory_npm/index.unit.spec.ts index d084d95..c5a60ac 100644 --- a/test/strategies/github_advisory_npm/index.unit.spec.ts +++ b/test/strategies/github_advisory_npm/index.unit.spec.ts @@ -3,7 +3,7 @@ import { test } from "node:test"; import assert from "node:assert"; // Import Internal Dependencies -import { GitHubAdvisoryStrategy } from "../../../src/strategies/github-advisory.js"; +import { GitHubAdvisoryStrategy } from "../../../src/strategies/github-advisory.ts"; test("GitHubAdvisoryStrategy definition must return only three keys.", () => { const definition = GitHubAdvisoryStrategy(); diff --git a/test/strategies/github_advisory_pnpm/index.integration.spec.ts b/test/strategies/github_advisory_pnpm/index.integration.spec.ts index ef4e140..5d578ac 100644 --- a/test/strategies/github_advisory_pnpm/index.integration.spec.ts +++ b/test/strategies/github_advisory_pnpm/index.integration.spec.ts @@ -5,8 +5,11 @@ import { test } from "node:test"; import assert from "node:assert"; // Import Internal Dependencies -import { GitHubAdvisoryStrategy, PnpmAuditAdvisory } from "../../../src/strategies/github-advisory.js"; -import { expectVulnToBeNodeSecureStandardCompliant } from "../utils.js"; +import { + GitHubAdvisoryStrategy, + type PnpmAuditAdvisory +} from "../../../src/strategies/github-advisory.ts"; +import { expectVulnToBeNodeSecureStandardCompliant } from "../utils.ts"; // CONSTANTS const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/test/strategies/none/index.unit.spec.ts b/test/strategies/none/index.unit.spec.ts index 10d39b9..6ebfd5d 100644 --- a/test/strategies/none/index.unit.spec.ts +++ b/test/strategies/none/index.unit.spec.ts @@ -3,7 +3,7 @@ import { test } from "node:test"; import assert from "node:assert"; // Import Internal Dependencies -import * as none from "../../../src/strategies/none.js"; +import * as none from "../../../src/strategies/none.ts"; test("NoneStrategy definition must return only two keys.", () => { const definition = none.NoneStrategy(); @@ -16,6 +16,6 @@ test("none: hydratePayloadDependencies should not hydrate dependencies Map", asy const { hydratePayloadDependencies } = none.NoneStrategy(); const dependencies = new Map(); - await hydratePayloadDependencies(dependencies); + await hydratePayloadDependencies(dependencies, {}); assert.strictEqual(dependencies.size, 0, "dependencies must be always empty with none strategy"); }); diff --git a/test/strategies/snyk/index.integration.spec.ts b/test/strategies/snyk/index.integration.spec.ts index fc31e8b..eb1c825 100644 --- a/test/strategies/snyk/index.integration.spec.ts +++ b/test/strategies/snyk/index.integration.spec.ts @@ -5,8 +5,8 @@ // import path from "node:path"; // Import Internal Dependencies -// import { SnykStrategy } from "../../../src/strategies/snyk.js"; -// import { expectVulnToBeNodeSecureStandardCompliant } from "../utils.js"; +// import { SnykStrategy } from "../../../src/strategies/snyk.ts"; +// import { expectVulnToBeNodeSecureStandardCompliant } from "../utils.ts"; // CONSTANTS // const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/test/strategies/snyk/index.unit.spec.ts b/test/strategies/snyk/index.unit.spec.ts index 0061dc6..0a5b7f3 100644 --- a/test/strategies/snyk/index.unit.spec.ts +++ b/test/strategies/snyk/index.unit.spec.ts @@ -6,12 +6,12 @@ import path from "node:path"; import fs from "node:fs/promises"; // Import Internal Dependencies -import { SnykStrategy } from "../../../src/strategies/snyk.js"; +import { SnykStrategy } from "../../../src/strategies/snyk.ts"; import { expectVulnToBeNodeSecureStandardCompliant, HTTP_CLIENT_HEADERS, setupHttpAgentMock -} from "../utils.js"; +} from "../utils.ts"; // CONSTANTS const __dirname = path.dirname(fileURLToPath(import.meta.url)); diff --git a/test/strategies/sonatype/index.integration.spec.ts b/test/strategies/sonatype/index.integration.spec.ts index cd6fa1b..d4c402a 100644 --- a/test/strategies/sonatype/index.integration.spec.ts +++ b/test/strategies/sonatype/index.integration.spec.ts @@ -3,8 +3,8 @@ import { test } from "node:test"; import assert from "node:assert"; // Import Internal Dependencies -import { SonatypeStrategy } from "../../../src/strategies/sonatype.js"; -import { expectVulnToBeNodeSecureStandardCompliant } from "../utils.js"; +import { SonatypeStrategy } from "../../../src/strategies/sonatype.ts"; +import { expectVulnToBeNodeSecureStandardCompliant } from "../utils.ts"; test.skip("sonatype strategy: fetching a package with a vulnerability using the API", async() => { const { hydratePayloadDependencies } = SonatypeStrategy(); @@ -39,7 +39,7 @@ test.skip("sonatype strategy: fetching a package with a vulnerability using the const { vulnerabilities } = dependencies.get( packageWithVulnerability.package )!; - const ids = vulnerabilities.map((vuln) => vuln.id); + const ids = vulnerabilities.map((vuln: any) => vuln.id); assert.deepEqual( ids, ["CVE-2022-31150", "CVE-2022-35948", "CVE-2023-23936", "CVE-2025-47279"] diff --git a/test/strategies/sonatype/index.unit.spec.ts b/test/strategies/sonatype/index.unit.spec.ts index 3e036ed..57b0f38 100644 --- a/test/strategies/sonatype/index.unit.spec.ts +++ b/test/strategies/sonatype/index.unit.spec.ts @@ -5,12 +5,12 @@ import assert from "node:assert"; // Import Internal Dependencies import { SonatypeStrategy -} from "../../../src/strategies/sonatype.js"; +} from "../../../src/strategies/sonatype.ts"; import { expectVulnToBeNodeSecureStandardCompliant, HTTP_CLIENT_HEADERS, setupHttpAgentMock -} from "../utils.js"; +} from "../utils.ts"; // CONSTANTS const kSonatypeOrigin = "https://ossindex.sonatype.org"; @@ -59,7 +59,7 @@ test("sonatype strategy: hydratePayloadDependencies", async() => { } }); - await hydratePayloadDependencies(dependencies); + await hydratePayloadDependencies(dependencies, {}); assert.strictEqual( dependencies.size, @@ -163,7 +163,7 @@ test("sonatype strategy: fetchDataForPackageURLs with coordinates exceeding the Array.from({ length: chunkSizeApiLimit + 1 }, (_, index) => dependencies.set(`fake-npm-${index}`, fakeDependencyPayload)); - await hydratePayloadDependencies(dependencies); + await hydratePayloadDependencies(dependencies, {}); mockedHttpAgent.assertNoPendingInterceptors(); diff --git a/test/strategies/vuln_payload/standardize.unit.spec.ts b/test/strategies/vuln_payload/standardize.unit.spec.ts index 85ea0b6..f0cbf4f 100644 --- a/test/strategies/vuln_payload/standardize.unit.spec.ts +++ b/test/strategies/vuln_payload/standardize.unit.spec.ts @@ -3,13 +3,13 @@ import { test } from "node:test"; import assert from "node:assert"; // Import Internal Dependencies -import { VULN_MODE } from "../../../src/constants.js"; -import { formatVulnsPayload } from "../../../src/formats/index.js"; +import { VULN_MODE } from "../../../src/constants.ts"; +import { formatVulnsPayload } from "../../../src/formats/index.ts"; import { NPM_VULNS_PAYLOADS, SNYK_VULNS_PAYLOADS, SONATYPE_VULNS_PAYLOADS -} from "../../fixtures/vuln_payload/payloads.js"; +} from "../../fixtures/vuln_payload/payloads.ts"; const formatVulnerabilities = formatVulnsPayload("Standard"); diff --git a/test/utils.unit.spec.ts b/test/utils.unit.spec.ts index c3a0ee4..538a355 100644 --- a/test/utils.unit.spec.ts +++ b/test/utils.unit.spec.ts @@ -8,7 +8,7 @@ import { fromMaybeStringToArray, parseNpmSpec, chunkArray -} from "../src/utils.js"; +} from "../src/utils.ts"; test("parseNpmSpec", () => { assert.deepEqual( diff --git a/test/vuln.unit.spec.ts b/test/vuln.unit.spec.ts index c61d375..a9a558d 100644 --- a/test/vuln.unit.spec.ts +++ b/test/vuln.unit.spec.ts @@ -11,8 +11,8 @@ import { getStrategy, strategies, defaultStrategyName, - AnyStrategy -} from "../src/index.js"; + type AnyStrategy +} from "../src/index.ts"; function isStrategyDefinition(definition: AnyStrategy) { assert.ok("strategy" in definition, "definition should have a 'strategy' property"); diff --git a/tsconfig.json b/tsconfig.json index 74a87f6..950f038 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@openally/config.typescript", + "extends": "@openally/config.typescript/esm-ts-next", "compilerOptions": { "outDir": "dist", "rootDir": "./src",