diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml
index 18e3361d..1f8d916a 100644
--- a/.github/workflows/node.js.yml
+++ b/.github/workflows/node.js.yml
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- node-version: [22.x, 24.x]
+ node-version: [24.x]
fail-fast: false
steps:
- name: Harden Runner
diff --git a/package.json b/package.json
index ebe55411..b16973a5 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,7 @@
"@changesets/changelog-github": "^0.5.1",
"@changesets/cli": "^2.29.4",
"@openally/config.eslint": "^2.1.0",
- "@openally/config.typescript": "^1.1.0",
+ "@openally/config.typescript": "1.2.1",
"@slimio/is": "^2.0.0",
"@types/node": "^24.0.2",
"@types/pacote": "^11.1.8",
@@ -39,7 +39,6 @@
"c8": "^10.1.2",
"pkg-ok": "^3.0.0",
"tsd": "^0.33.0",
- "tsx": "^4.16.2",
"typescript": "^5.5.3"
},
"engines": {
diff --git a/tsconfig.base.json b/tsconfig.base.json
index 7af87f94..76422932 100644
--- a/tsconfig.base.json
+++ b/tsconfig.base.json
@@ -1,5 +1,5 @@
{
- "extends": "@openally/config.typescript",
+ "extends": "@openally/config.typescript/esm-ts-next",
"compilerOptions": {
"composite": true
}
diff --git a/workspaces/conformance/README.md b/workspaces/conformance/README.md
index 99402a3b..39f22f52 100644
--- a/workspaces/conformance/README.md
+++ b/workspaces/conformance/README.md
@@ -11,7 +11,7 @@
- Verifies SPDX license expression conformance and provides meta information about license expressions.
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/conformance/package.json b/workspaces/conformance/package.json
index 3cd8f7a2..5f6af31c 100644
--- a/workspaces/conformance/package.json
+++ b/workspaces/conformance/package.json
@@ -11,7 +11,7 @@
"scripts": {
"build": "tsc -b",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test ./test/**/*.spec.ts",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types",
"spdx:refresh": "node ./scripts/fetchSpdxLicenses.js"
diff --git a/workspaces/conformance/src/class/LicenseResult.class.ts b/workspaces/conformance/src/class/LicenseResult.class.ts
index e5cb8451..706d51f7 100644
--- a/workspaces/conformance/src/class/LicenseResult.class.ts
+++ b/workspaces/conformance/src/class/LicenseResult.class.ts
@@ -3,7 +3,7 @@ import {
licenseIdConformance,
searchSpdxLicenseId,
type SpdxLicenseConformance
-} from "../parse.js";
+} from "../parse.ts";
export interface SpdxFileLicenseConformance extends SpdxLicenseConformance {
fileName: string;
diff --git a/workspaces/conformance/src/extract.ts b/workspaces/conformance/src/extract.ts
index 14748e62..6bc976d0 100644
--- a/workspaces/conformance/src/extract.ts
+++ b/workspaces/conformance/src/extract.ts
@@ -10,13 +10,13 @@ import {
} from "@nodesecure/mama";
// Import Internal Dependencies
-import * as utils from "./utils/index.js";
+import * as utils from "./utils/index.ts";
import {
LicenseResult,
type SpdxUnidentifiedLicense,
type SpdxFileLicenseConformance,
type SpdxExtractedResult
-} from "./class/LicenseResult.class.js";
+} from "./class/LicenseResult.class.ts";
// CONSTANTS
const kManifestFileName = "package.json";
diff --git a/workspaces/conformance/src/index.ts b/workspaces/conformance/src/index.ts
index 71ab1c04..419cf8ab 100644
--- a/workspaces/conformance/src/index.ts
+++ b/workspaces/conformance/src/index.ts
@@ -1,2 +1,2 @@
-export * from "./extract.js";
-export * from "./parse.js";
+export * from "./extract.ts";
+export * from "./parse.ts";
diff --git a/workspaces/conformance/src/licenses.ts b/workspaces/conformance/src/licenses.ts
index 536217d3..9ea119e0 100644
--- a/workspaces/conformance/src/licenses.ts
+++ b/workspaces/conformance/src/licenses.ts
@@ -2,7 +2,7 @@
import * as levenshtein from "fastest-levenshtein";
// Import Internal Dependencies
-import { spdx } from "./data/spdx.js";
+import { spdx } from "./data/spdx.ts";
export interface SpdxConformance {
name: string;
diff --git a/workspaces/conformance/src/parse.ts b/workspaces/conformance/src/parse.ts
index 4312f6d6..e835f2a0 100644
--- a/workspaces/conformance/src/parse.ts
+++ b/workspaces/conformance/src/parse.ts
@@ -8,8 +8,8 @@ import {
licenseNameToId,
closestSpdxLicenseID,
checkSpdx
-} from "./licenses.js";
-import * as utils from "./utils/index.js";
+} from "./licenses.ts";
+import * as utils from "./utils/index.ts";
export interface SpdxLicenseConformance {
licenses: Record;
diff --git a/workspaces/conformance/src/utils/index.ts b/workspaces/conformance/src/utils/index.ts
index d27b64e5..493752c3 100644
--- a/workspaces/conformance/src/utils/index.ts
+++ b/workspaces/conformance/src/utils/index.ts
@@ -1,2 +1,2 @@
-export * from "./extractDirentLicenses.js";
-export * from "./spdx.js";
+export * from "./extractDirentLicenses.ts";
+export * from "./spdx.ts";
diff --git a/workspaces/conformance/test/class/LicenseResult.spec.ts b/workspaces/conformance/test/class/LicenseResult.spec.ts
index 0c15aa4f..0bdc9229 100644
--- a/workspaces/conformance/test/class/LicenseResult.spec.ts
+++ b/workspaces/conformance/test/class/LicenseResult.spec.ts
@@ -6,7 +6,7 @@ import assert from "node:assert";
import {
LicenseResult,
type SpdxExtractedResult
-} from "../../src/class/LicenseResult.class.js";
+} from "../../src/class/LicenseResult.class.ts";
const kMITSpdxConformance: SpdxExtractedResult = {
uniqueLicenseIds: ["MIT"],
diff --git a/workspaces/conformance/test/extract.spec.ts b/workspaces/conformance/test/extract.spec.ts
index 70403a30..f5acbd2a 100644
--- a/workspaces/conformance/test/extract.spec.ts
+++ b/workspaces/conformance/test/extract.spec.ts
@@ -11,8 +11,8 @@ import { ManifestManager } from "@nodesecure/mama";
import {
extractLicenses,
extractLicensesSync
-} from "../src/index.js";
-import expectedParsedLicense from "./fixtures/parseLicense.snap.js";
+} from "../src/index.ts";
+import expectedParsedLicense from "./fixtures/parseLicense.snap.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/conformance/test/fixtures/parseLicense.snap.js b/workspaces/conformance/test/fixtures/parseLicense.snap.ts
similarity index 100%
rename from workspaces/conformance/test/fixtures/parseLicense.snap.js
rename to workspaces/conformance/test/fixtures/parseLicense.snap.ts
diff --git a/workspaces/conformance/test/licenses.spec.ts b/workspaces/conformance/test/licenses.spec.ts
index 03c56295..53be2a11 100644
--- a/workspaces/conformance/test/licenses.spec.ts
+++ b/workspaces/conformance/test/licenses.spec.ts
@@ -3,7 +3,10 @@ import { describe, test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { closestSpdxLicenseID, checkSpdx } from "../src/licenses.js";
+import {
+ closestSpdxLicenseID,
+ checkSpdx
+} from "../src/licenses.ts";
describe("closestSpdxLicenseID", () => {
test("it should return the given LicenseID if no record match", () => {
diff --git a/workspaces/conformance/test/parse.spec.ts b/workspaces/conformance/test/parse.spec.ts
index cac7248a..2c723470 100644
--- a/workspaces/conformance/test/parse.spec.ts
+++ b/workspaces/conformance/test/parse.spec.ts
@@ -3,7 +3,10 @@ import { describe, test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { licenseIdConformance, searchSpdxLicenseId } from "../src/index.js";
+import {
+ licenseIdConformance,
+ searchSpdxLicenseId
+} from "../src/index.ts";
describe("searchSpdxLicenseId", () => {
test("search for Apache 2.0 license", () => {
diff --git a/workspaces/conformance/test/utils.spec.ts b/workspaces/conformance/test/utils.spec.ts
index c4582004..af55331a 100644
--- a/workspaces/conformance/test/utils.spec.ts
+++ b/workspaces/conformance/test/utils.spec.ts
@@ -4,7 +4,7 @@ import { Dirent } from "node:fs";
import assert from "node:assert";
// Import Internal Dependencies
-import * as utils from "../src/utils/index.js";
+import * as utils from "../src/utils/index.ts";
describe("checkEveryTruthy", () => {
test("check a single true is true", () => {
diff --git a/workspaces/contact/README.md b/workspaces/contact/README.md
index 783b2301..e5bd8b84 100644
--- a/workspaces/contact/README.md
+++ b/workspaces/contact/README.md
@@ -7,7 +7,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/contact/package.json b/workspaces/contact/package.json
index be4c1b68..d0b7c04f 100644
--- a/workspaces/contact/package.json
+++ b/workspaces/contact/package.json
@@ -11,7 +11,7 @@
"scripts": {
"build": "tsc -b",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test ./test/**/*.spec.ts",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "npm run build && tsd && attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types"
},
diff --git a/workspaces/contact/src/ContactExtractor.class.ts b/workspaces/contact/src/ContactExtractor.class.ts
index 2a731de0..c71a97ee 100644
--- a/workspaces/contact/src/ContactExtractor.class.ts
+++ b/workspaces/contact/src/ContactExtractor.class.ts
@@ -6,8 +6,8 @@ import {
UnlitContact,
type EnforcedContact,
type IlluminatedContact
-} from "./UnlitContact.class.js";
-import { NsResolver } from "./NsResolver.class.js";
+} from "./UnlitContact.class.ts";
+import { NsResolver } from "./NsResolver.class.ts";
export type {
IlluminatedContact,
diff --git a/workspaces/contact/src/UnlitContact.class.ts b/workspaces/contact/src/UnlitContact.class.ts
index 6d553e13..af6c6176 100644
--- a/workspaces/contact/src/UnlitContact.class.ts
+++ b/workspaces/contact/src/UnlitContact.class.ts
@@ -3,7 +3,7 @@ import type { Contact } from "@nodesecure/npm-types";
import type { RequireAtLeastOne } from "type-fest";
// Import Internal Dependencies
-import * as utils from "./utils/index.js";
+import * as utils from "./utils/index.ts";
export type EnforcedContact = RequireAtLeastOne<
Contact,
diff --git a/workspaces/contact/src/index.ts b/workspaces/contact/src/index.ts
index 8a4d4145..bab21de9 100644
--- a/workspaces/contact/src/index.ts
+++ b/workspaces/contact/src/index.ts
@@ -1,4 +1,4 @@
-export * from "./ContactExtractor.class.js";
+export * from "./ContactExtractor.class.ts";
export {
compareContact
-} from "./utils/index.js";
+} from "./utils/index.ts";
diff --git a/workspaces/contact/src/utils/index.ts b/workspaces/contact/src/utils/index.ts
index 0036a71c..d9b34f79 100644
--- a/workspaces/contact/src/utils/index.ts
+++ b/workspaces/contact/src/utils/index.ts
@@ -1,2 +1,2 @@
-export * from "./compareContact.js";
-export * from "./parseRegexp.js";
+export * from "./compareContact.ts";
+export * from "./parseRegexp.ts";
diff --git a/workspaces/contact/test/ContactExtractor.spec.ts b/workspaces/contact/test/ContactExtractor.spec.ts
index f8325371..e8bdcd4a 100644
--- a/workspaces/contact/test/ContactExtractor.spec.ts
+++ b/workspaces/contact/test/ContactExtractor.spec.ts
@@ -13,7 +13,7 @@ import { faker } from "@faker-js/faker";
import {
ContactExtractor,
type ContactExtractorPackageMetadata
-} from "../src/index.js";
+} from "../src/index.ts";
// CONSTANTS
const __dirname = dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/contact/test/types/ContactExtractor.test-d.ts b/workspaces/contact/test/types/ContactExtractor.test-d.ts
index 4a53a75d..049fcddf 100644
--- a/workspaces/contact/test/types/ContactExtractor.test-d.ts
+++ b/workspaces/contact/test/types/ContactExtractor.test-d.ts
@@ -6,7 +6,7 @@ import {
// Import Internal Dependencies
import {
ContactExtractor
-} from "../../dist/index.js";
+} from "../../dist/index.ts";
expectType(new ContactExtractor({
highlight: [
diff --git a/workspaces/contact/test/utils/compareContact.spec.ts b/workspaces/contact/test/utils/compareContact.spec.ts
index c9d62f35..8a935256 100644
--- a/workspaces/contact/test/utils/compareContact.spec.ts
+++ b/workspaces/contact/test/utils/compareContact.spec.ts
@@ -6,7 +6,7 @@ import { describe, test } from "node:test";
import type { Contact } from "@nodesecure/npm-types";
// Import Internal Dependencies
-import { compareContact } from "../../src/utils/index.js";
+import { compareContact } from "../../src/utils/index.ts";
describe("compareContact", () => {
test("Given Contacts with the same name, it must return true", () => {
diff --git a/workspaces/contact/test/utils/parseRegexp.spec.ts b/workspaces/contact/test/utils/parseRegexp.spec.ts
index 9d458269..3427e57c 100644
--- a/workspaces/contact/test/utils/parseRegexp.spec.ts
+++ b/workspaces/contact/test/utils/parseRegexp.spec.ts
@@ -3,7 +3,7 @@ import assert from "node:assert";
import { describe, test } from "node:test";
// Import Internal Dependencies
-import { parseRegExp } from "../../src/utils/index.js";
+import { parseRegExp } from "../../src/utils/index.ts";
describe("parseRegExp", () => {
test("Given a literal with no slash then it must return null", () => {
diff --git a/workspaces/flags/README.md b/workspaces/flags/README.md
index 4fd8756a..eaeaaf22 100644
--- a/workspaces/flags/README.md
+++ b/workspaces/flags/README.md
@@ -8,7 +8,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/flags/package.json b/workspaces/flags/package.json
index e009a373..aae45128 100644
--- a/workspaces/flags/package.json
+++ b/workspaces/flags/package.json
@@ -5,10 +5,10 @@
"scripts": {
"build": "tsc -b & cp -R ./src/flags ./dist/flags",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test \"./test/**/*.spec.ts\"",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types",
- "generateFlags": "tsx scripts/generateFlags.js"
+ "generateFlags": "node scripts/generateFlags.ts"
},
"keywords": [
"nodesecure",
diff --git a/workspaces/flags/src/index.ts b/workspaces/flags/src/index.ts
index 1b0c867a..b90d2775 100644
--- a/workspaces/flags/src/index.ts
+++ b/workspaces/flags/src/index.ts
@@ -1,2 +1,2 @@
-export * from "./node.js";
-export * from "./web.js";
+export * from "./node.ts";
+export * from "./web.ts";
diff --git a/workspaces/flags/src/node.ts b/workspaces/flags/src/node.ts
index 8096c37d..cdc74315 100644
--- a/workspaces/flags/src/node.ts
+++ b/workspaces/flags/src/node.ts
@@ -6,7 +6,7 @@ import { fileURLToPath } from "node:url";
import { Readable } from "node:stream";
// Import Internal Dependencies
-import { getFlags } from "./web.js";
+import { getFlags } from "./web.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/flags/src/web.ts b/workspaces/flags/src/web.ts
index 2d3423f8..8010889d 100644
--- a/workspaces/flags/src/web.ts
+++ b/workspaces/flags/src/web.ts
@@ -3,7 +3,7 @@ import {
FLAGS,
type Flag,
type FlagDescriptor
-} from "./manifest.js";
+} from "./manifest.ts";
// CONSTANTS
const kNotFoundFlags = "🔴";
diff --git a/workspaces/flags/test/fetchFlagFile.spec.ts b/workspaces/flags/test/fetchFlagFile.spec.ts
index cf8eb377..e0f4c797 100644
--- a/workspaces/flags/test/fetchFlagFile.spec.ts
+++ b/workspaces/flags/test/fetchFlagFile.spec.ts
@@ -3,7 +3,7 @@ import { describe, it } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { getFlags, lazyFetchFlagFile } from "../src/index.js";
+import { getFlags, lazyFetchFlagFile } from "../src/index.ts";
describe("lazyFetchFlagFile()", () => {
it("should throw an Error if no flag name is provided", () => {
diff --git a/workspaces/flags/test/getFlags.spec.ts b/workspaces/flags/test/getFlags.spec.ts
index cd6e31fe..2974f469 100644
--- a/workspaces/flags/test/getFlags.spec.ts
+++ b/workspaces/flags/test/getFlags.spec.ts
@@ -3,7 +3,7 @@ import { describe, it } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { getFlags, getManifest } from "../src/index.js";
+import { getFlags, getManifest } from "../src/index.ts";
describe("getFlags()", () => {
it("should return a Set with multiple flags", () => {
diff --git a/workspaces/flags/test/getManifest.spec.ts b/workspaces/flags/test/getManifest.spec.ts
index e3848154..0765fed6 100644
--- a/workspaces/flags/test/getManifest.spec.ts
+++ b/workspaces/flags/test/getManifest.spec.ts
@@ -3,7 +3,12 @@ import { describe, it } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { getManifest, getEmojiFromTitle, getManifestEmoji, FlagDescriptor } from "../src/index.js";
+import {
+ getManifest,
+ getEmojiFromTitle,
+ getManifestEmoji,
+ type FlagDescriptor
+} from "../src/index.ts";
describe("getManifest()", () => {
it("should return a Record", () => {
diff --git a/workspaces/fs-walk/README.md b/workspaces/fs-walk/README.md
index 64411920..c586db18 100644
--- a/workspaces/fs-walk/README.md
+++ b/workspaces/fs-walk/README.md
@@ -22,7 +22,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/fs-walk/package.json b/workspaces/fs-walk/package.json
index c8bb4a9c..45653db4 100644
--- a/workspaces/fs-walk/package.json
+++ b/workspaces/fs-walk/package.json
@@ -11,7 +11,7 @@
"scripts": {
"build": "tsc -b",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test \"./test/**/*.spec.ts\"",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types"
},
diff --git a/workspaces/fs-walk/src/index.ts b/workspaces/fs-walk/src/index.ts
index 84b6e1cf..bc2e1b21 100644
--- a/workspaces/fs-walk/src/index.ts
+++ b/workspaces/fs-walk/src/index.ts
@@ -1,3 +1,3 @@
-export * from "./walk.js";
-export * from "./walkSync.js";
-export * from "./types.js";
+export * from "./walk.ts";
+export * from "./walkSync.ts";
+export * from "./types.ts";
diff --git a/workspaces/fs-walk/src/walk.ts b/workspaces/fs-walk/src/walk.ts
index a8ac0bb2..f4169c6c 100644
--- a/workspaces/fs-walk/src/walk.ts
+++ b/workspaces/fs-walk/src/walk.ts
@@ -3,8 +3,8 @@ import * as fs from "node:fs/promises";
import * as path from "node:path";
// Import Internal Dependencies
-import { EXCLUDED_DIRECTORY } from "./constants.js";
-import type { WalkOptions, WalkEntry } from "./types.js";
+import { EXCLUDED_DIRECTORY } from "./constants.ts";
+import type { WalkOptions, WalkEntry } from "./types.ts";
/**
* @example
diff --git a/workspaces/fs-walk/src/walkSync.ts b/workspaces/fs-walk/src/walkSync.ts
index 03cd2373..9ea45254 100644
--- a/workspaces/fs-walk/src/walkSync.ts
+++ b/workspaces/fs-walk/src/walkSync.ts
@@ -3,8 +3,8 @@ import * as fs from "node:fs";
import * as path from "node:path";
// Import Internal Dependencies
-import { EXCLUDED_DIRECTORY } from "./constants.js";
-import type { WalkOptions, WalkEntry } from "./types.js";
+import { EXCLUDED_DIRECTORY } from "./constants.ts";
+import type { WalkOptions, WalkEntry } from "./types.ts";
/**
* @example
diff --git a/workspaces/fs-walk/test/walk.spec.ts b/workspaces/fs-walk/test/walk.spec.ts
index 46ec1363..4033f999 100644
--- a/workspaces/fs-walk/test/walk.spec.ts
+++ b/workspaces/fs-walk/test/walk.spec.ts
@@ -5,7 +5,7 @@ import path from "node:path";
import { fileURLToPath } from "node:url";
// Import Internal Dependencies
-import { walk, walkSync } from "../src/index.js";
+import { walk, walkSync } from "../src/index.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/github/README.md b/workspaces/github/README.md
index 96c83073..48cfce50 100644
--- a/workspaces/github/README.md
+++ b/workspaces/github/README.md
@@ -8,7 +8,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/github/package.json b/workspaces/github/package.json
index 0ef5fb20..f7b6183b 100644
--- a/workspaces/github/package.json
+++ b/workspaces/github/package.json
@@ -8,7 +8,7 @@
"scripts": {
"build": "tsc -b",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test \"./test/**/*.spec.ts\"",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types"
},
diff --git a/workspaces/github/src/functions/downloadAndExtract.ts b/workspaces/github/src/functions/downloadAndExtract.ts
index b27ca6e4..d0c633be 100644
--- a/workspaces/github/src/functions/downloadAndExtract.ts
+++ b/workspaces/github/src/functions/downloadAndExtract.ts
@@ -13,7 +13,7 @@ import {
download,
type DownloadOptions,
type DownloadResult
-} from "./download.js";
+} from "./download.ts";
export interface DownloadExtractOptions extends DownloadOptions {
/**
diff --git a/workspaces/github/src/index.ts b/workspaces/github/src/index.ts
index 1a291b45..b4685503 100644
--- a/workspaces/github/src/index.ts
+++ b/workspaces/github/src/index.ts
@@ -1,2 +1,2 @@
-export * from "./functions/download.js";
-export * from "./functions/downloadAndExtract.js";
+export * from "./functions/download.ts";
+export * from "./functions/downloadAndExtract.ts";
diff --git a/workspaces/github/test/download.spec.ts b/workspaces/github/test/download.spec.ts
index 88a6dd65..53e5707e 100644
--- a/workspaces/github/test/download.spec.ts
+++ b/workspaces/github/test/download.spec.ts
@@ -9,7 +9,7 @@ import { describe, after, test, before } from "node:test";
import is from "@slimio/is";
// Import Internal Dependencies
-import * as github from "../src/index.js";
+import * as github from "../src/index.ts";
describe("download", () => {
let tempDownloadDir: string;
diff --git a/workspaces/github/test/downloadAndExtract.spec.ts b/workspaces/github/test/downloadAndExtract.spec.ts
index 05660434..a8d1d164 100644
--- a/workspaces/github/test/downloadAndExtract.spec.ts
+++ b/workspaces/github/test/downloadAndExtract.spec.ts
@@ -9,7 +9,7 @@ import { describe, after, test, before } from "node:test";
import is from "@slimio/is";
// Import Internal Dependencies
-import * as github from "../src/index.js";
+import * as github from "../src/index.ts";
describe("downloadAndExtract", () => {
let tempDownloadDir: string;
diff --git a/workspaces/gitlab/README.md b/workspaces/gitlab/README.md
index 2a65c696..e0169052 100644
--- a/workspaces/gitlab/README.md
+++ b/workspaces/gitlab/README.md
@@ -8,7 +8,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/gitlab/package.json b/workspaces/gitlab/package.json
index f3f17256..8407e7b0 100644
--- a/workspaces/gitlab/package.json
+++ b/workspaces/gitlab/package.json
@@ -8,7 +8,7 @@
"scripts": {
"build": "tsc -b",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test \"./test/**/*.spec.ts\"",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types"
},
diff --git a/workspaces/gitlab/src/functions/download.ts b/workspaces/gitlab/src/functions/download.ts
index 6c0c18f7..87838579 100644
--- a/workspaces/gitlab/src/functions/download.ts
+++ b/workspaces/gitlab/src/functions/download.ts
@@ -8,8 +8,8 @@ import {
import * as httpie from "@openally/httpie";
// Import Internal Dependencies
-import * as utils from "../utils.js";
-import * as gitlab from "../gitlab/types.js";
+import * as utils from "../utils.ts";
+import type { Project } from "../gitlab/types.ts";
// CONSTANTS
export const GITLAB_DEFAULT_URL = new URL("https://gitlab.com/api/v4/projects/");
@@ -73,7 +73,7 @@ export async function download(
};
const repositoryURL = new URL(utils.getRepositoryPath(repository), gitlab);
- const { data: gitlabManifest } = await httpie.get(repositoryURL, {
+ const { data: gitlabManifest } = await httpie.get(repositoryURL, {
headers,
agent
});
diff --git a/workspaces/gitlab/src/functions/downloadAndExtract.ts b/workspaces/gitlab/src/functions/downloadAndExtract.ts
index 544b915d..c38901d6 100644
--- a/workspaces/gitlab/src/functions/downloadAndExtract.ts
+++ b/workspaces/gitlab/src/functions/downloadAndExtract.ts
@@ -15,7 +15,7 @@ import {
download,
type DownloadResult,
type DownloadOptions
-} from "./download.js";
+} from "./download.ts";
export interface DownloadExtractOptions extends DownloadOptions {
/**
diff --git a/workspaces/gitlab/src/index.ts b/workspaces/gitlab/src/index.ts
index 1a291b45..b4685503 100644
--- a/workspaces/gitlab/src/index.ts
+++ b/workspaces/gitlab/src/index.ts
@@ -1,2 +1,2 @@
-export * from "./functions/download.js";
-export * from "./functions/downloadAndExtract.js";
+export * from "./functions/download.ts";
+export * from "./functions/downloadAndExtract.ts";
diff --git a/workspaces/gitlab/test/functions/download.spec.ts b/workspaces/gitlab/test/functions/download.spec.ts
index 0529d0bb..344f8d67 100644
--- a/workspaces/gitlab/test/functions/download.spec.ts
+++ b/workspaces/gitlab/test/functions/download.spec.ts
@@ -8,7 +8,7 @@ import { describe, test } from "node:test";
import is from "@slimio/is";
// Import Internal Dependencies
-import * as gitlab from "../../src/index.js";
+import * as gitlab from "../../src/index.ts";
describe("download", () => {
test("should be an asyncFunction", () => {
diff --git a/workspaces/gitlab/test/functions/downloadAndExtract.spec.ts b/workspaces/gitlab/test/functions/downloadAndExtract.spec.ts
index fff0972b..808f8041 100644
--- a/workspaces/gitlab/test/functions/downloadAndExtract.spec.ts
+++ b/workspaces/gitlab/test/functions/downloadAndExtract.spec.ts
@@ -9,7 +9,7 @@ import { describe, test, it, beforeEach, afterEach } from "node:test";
import is from "@slimio/is";
// Import Internal Dependencies
-import * as gitlab from "../../src/index.js";
+import * as gitlab from "../../src/index.ts";
describe("downloadAndExtract", () => {
let tempDownloadDir: string;
diff --git a/workspaces/gitlab/test/utils.spec.ts b/workspaces/gitlab/test/utils.spec.ts
index 0deac9ca..a8f5a368 100644
--- a/workspaces/gitlab/test/utils.spec.ts
+++ b/workspaces/gitlab/test/utils.spec.ts
@@ -3,7 +3,7 @@ import { describe, test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { getRepositoryPath } from "../src/utils.js";
+import { getRepositoryPath } from "../src/utils.ts";
describe("getRepositoryPath", () => {
test("must return id", () => {
diff --git a/workspaces/i18n/README.md b/workspaces/i18n/README.md
index 7ff652c8..1690a61e 100644
--- a/workspaces/i18n/README.md
+++ b/workspaces/i18n/README.md
@@ -7,7 +7,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/i18n/package.json b/workspaces/i18n/package.json
index 58983a58..f7af8483 100644
--- a/workspaces/i18n/package.json
+++ b/workspaces/i18n/package.json
@@ -7,10 +7,10 @@
"scripts": {
"build": "tsc -b",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test ./test/**/*.spec.ts",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types",
- "build:documentation": "tsx ./scripts/buildDocumentation.ts"
+ "build:documentation": "node ./scripts/buildDocumentation.ts"
},
"repository": {
"type": "git",
diff --git a/workspaces/i18n/scripts/buildDocumentation.ts b/workspaces/i18n/scripts/buildDocumentation.ts
index c7d23b61..478cf5b2 100644
--- a/workspaces/i18n/scripts/buildDocumentation.ts
+++ b/workspaces/i18n/scripts/buildDocumentation.ts
@@ -8,8 +8,8 @@ import { fileURLToPath, pathToFileURL } from "node:url";
import zup from "zup";
// Import Internal Dependencies
-import { english } from "../src/languages/english.js";
-import { french } from "../src/languages/french.js";
+import { english } from "../src/languages/english.ts";
+import { french } from "../src/languages/french.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/i18n/src/index.ts b/workspaces/i18n/src/index.ts
index 634d5e58..dfa5056c 100644
--- a/workspaces/i18n/src/index.ts
+++ b/workspaces/i18n/src/index.ts
@@ -9,9 +9,9 @@ import lodashGet from "lodash.get";
import deepmerge from "deepmerge";
// Import Internal Dependencies
-import { CACHE_PATH, CURRENT_LANG, type Languages } from "./constants.js";
-import { languages } from "./languages/index.js";
-import { taggedString } from "./utils.js";
+import { CACHE_PATH, CURRENT_LANG, type Languages } from "./constants.ts";
+import { languages } from "./languages/index.ts";
+import { taggedString } from "./utils.ts";
export const CONSTANTS = Object.seal({
CACHE_PATH,
diff --git a/workspaces/i18n/src/languages/english.ts b/workspaces/i18n/src/languages/english.ts
index 15c0b759..06f473f6 100644
--- a/workspaces/i18n/src/languages/english.ts
+++ b/workspaces/i18n/src/languages/english.ts
@@ -1,5 +1,5 @@
// Require Internal Dependencies
-import { taggedString as tS } from "../utils.js";
+import { taggedString as tS } from "../utils.ts";
const lang = "en";
diff --git a/workspaces/i18n/src/languages/french.ts b/workspaces/i18n/src/languages/french.ts
index 6f84f3ce..1a06e68c 100644
--- a/workspaces/i18n/src/languages/french.ts
+++ b/workspaces/i18n/src/languages/french.ts
@@ -1,5 +1,5 @@
// Import Internal Dependencies
-import { taggedString as tS } from "../utils.js";
+import { taggedString as tS } from "../utils.ts";
const lang = "fr";
diff --git a/workspaces/i18n/src/languages/index.ts b/workspaces/i18n/src/languages/index.ts
index 63e09a90..590f1281 100644
--- a/workspaces/i18n/src/languages/index.ts
+++ b/workspaces/i18n/src/languages/index.ts
@@ -1,5 +1,5 @@
-import { english } from "./english.js";
-import { french } from "./french.js";
+import { english } from "./english.ts";
+import { french } from "./french.ts";
export const languages: Record = {
english,
diff --git a/workspaces/i18n/test/i18n.spec.ts b/workspaces/i18n/test/i18n.spec.ts
index 991a6d81..09486803 100644
--- a/workspaces/i18n/test/i18n.spec.ts
+++ b/workspaces/i18n/test/i18n.spec.ts
@@ -8,8 +8,8 @@ import assert from "node:assert";
import cacache from "cacache";
// Import Internal Dependencies
-import * as i18n from "../src/index.js";
-import { CACHE_PATH } from "../src/constants.js";
+import * as i18n from "../src/index.ts";
+import { CACHE_PATH } from "../src/constants.ts";
const kI18nDir = "./i18n";
diff --git a/workspaces/i18n/test/utils.spec.ts b/workspaces/i18n/test/utils.spec.ts
index 2e82093b..23d1d651 100644
--- a/workspaces/i18n/test/utils.spec.ts
+++ b/workspaces/i18n/test/utils.spec.ts
@@ -3,7 +3,7 @@ import { test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { taggedString } from "../src/utils.js";
+import { taggedString } from "../src/utils.ts";
test("taggedString", () => {
const clojureHello = taggedString`Hello ${0}`;
diff --git a/workspaces/mama/README.md b/workspaces/mama/README.md
index 32f60f73..1e24389a 100644
--- a/workspaces/mama/README.md
+++ b/workspaces/mama/README.md
@@ -7,7 +7,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/mama/package.json b/workspaces/mama/package.json
index d735c729..f76683c3 100644
--- a/workspaces/mama/package.json
+++ b/workspaces/mama/package.json
@@ -8,7 +8,7 @@
"scripts": {
"build": "tsc -b",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test ./test/**/*.spec.ts",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "npm run build && tsd && attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types"
},
diff --git a/workspaces/mama/src/ManifestManager.class.ts b/workspaces/mama/src/ManifestManager.class.ts
index 7cceefac..225d0f48 100644
--- a/workspaces/mama/src/ManifestManager.class.ts
+++ b/workspaces/mama/src/ManifestManager.class.ts
@@ -16,7 +16,7 @@ import type {
import {
packageJSONIntegrityHash,
inspectModuleType
-} from "./utils/index.js";
+} from "./utils/index.ts";
type WithRequired = T & { [P in K]-?: T[P] };
diff --git a/workspaces/mama/src/index.ts b/workspaces/mama/src/index.ts
index 325f2104..1dabb0ab 100644
--- a/workspaces/mama/src/index.ts
+++ b/workspaces/mama/src/index.ts
@@ -1,7 +1,7 @@
-export * from "./ManifestManager.class.js";
+export * from "./ManifestManager.class.ts";
export {
packageJSONIntegrityHash,
parseNpmSpec,
inspectModuleType,
type PackageModuleType
-} from "./utils/index.js";
+} from "./utils/index.ts";
diff --git a/workspaces/mama/src/utils/index.ts b/workspaces/mama/src/utils/index.ts
index ef0b4564..d081be93 100644
--- a/workspaces/mama/src/utils/index.ts
+++ b/workspaces/mama/src/utils/index.ts
@@ -1,3 +1,3 @@
-export * from "./integrity-hash.js";
-export * from "./inspectModuleType.js";
-export * from "./parseNpmSpec.js";
+export * from "./integrity-hash.ts";
+export * from "./inspectModuleType.ts";
+export * from "./parseNpmSpec.ts";
diff --git a/workspaces/mama/test/ManifestManager.spec.ts b/workspaces/mama/test/ManifestManager.spec.ts
index 4ba8b811..48ef796b 100644
--- a/workspaces/mama/test/ManifestManager.spec.ts
+++ b/workspaces/mama/test/ManifestManager.spec.ts
@@ -14,7 +14,7 @@ import type {
import hash from "object-hash";
// Import Internal Dependencies
-import { ManifestManager } from "../src/index.js";
+import { ManifestManager } from "../src/index.ts";
// CONSTANTS
const kMinimalPackageJSON = {
@@ -122,7 +122,7 @@ describe("ManifestManager", () => {
process.cwd()
);
}
- catch (error) {
+ catch (error: any) {
t.assert.strictEqual(error.name, "Error");
t.assert.strictEqual(
error.message,
@@ -225,7 +225,7 @@ describe("ManifestManager", () => {
process.cwd()
);
}
- catch (error) {
+ catch (error: any) {
t.assert.strictEqual(error.name, "Error");
t.assert.strictEqual(
error.message,
diff --git a/workspaces/mama/test/inspectModuleType.spec.ts b/workspaces/mama/test/inspectModuleType.spec.ts
index 7ec2e1d9..93ab95a4 100644
--- a/workspaces/mama/test/inspectModuleType.spec.ts
+++ b/workspaces/mama/test/inspectModuleType.spec.ts
@@ -8,7 +8,7 @@ import type {
} from "@nodesecure/npm-types";
// Import Internal Dependencies
-import { inspectModuleType } from "../src/utils/index.js";
+import { inspectModuleType } from "../src/utils/index.ts";
// CONSTANTS
const kMinimalPackageJSON = {
diff --git a/workspaces/mama/test/packageJSONIntegrityHash.spec.ts b/workspaces/mama/test/packageJSONIntegrityHash.spec.ts
index c36ca518..5e91d410 100644
--- a/workspaces/mama/test/packageJSONIntegrityHash.spec.ts
+++ b/workspaces/mama/test/packageJSONIntegrityHash.spec.ts
@@ -6,7 +6,7 @@ import { describe, test } from "node:test";
import hash from "object-hash";
// Import Internal Dependencies
-import { packageJSONIntegrityHash } from "../src/utils/index.js";
+import { packageJSONIntegrityHash } from "../src/utils/index.ts";
// CONSTANTS
const kMinimalPackageJSON = {
diff --git a/workspaces/mama/test/parseNpmSpec.spec.ts b/workspaces/mama/test/parseNpmSpec.spec.ts
index c6eae980..c61dd981 100644
--- a/workspaces/mama/test/parseNpmSpec.spec.ts
+++ b/workspaces/mama/test/parseNpmSpec.spec.ts
@@ -3,7 +3,7 @@ import { describe, test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { parseNpmSpec } from "../src/index.js";
+import { parseNpmSpec } from "../src/index.ts";
describe("parseNpmSpec", () => {
test("should parse the simplest package spec", () => {
diff --git a/workspaces/npm-types/README.md b/workspaces/npm-types/README.md
index d29a4fb7..12c0c04a 100644
--- a/workspaces/npm-types/README.md
+++ b/workspaces/npm-types/README.md
@@ -7,7 +7,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/rc/README.md b/workspaces/rc/README.md
index fb21c5b1..df0bbcee 100644
--- a/workspaces/rc/README.md
+++ b/workspaces/rc/README.md
@@ -8,7 +8,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/rc/package.json b/workspaces/rc/package.json
index c9dd7a6f..360bb258 100644
--- a/workspaces/rc/package.json
+++ b/workspaces/rc/package.json
@@ -11,7 +11,7 @@
"scripts": {
"build": "tsc -b",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test ./test/**/*.spec.ts",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "npm run build && tsd && attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types"
},
@@ -36,7 +36,7 @@
"devDependencies": {
"@types/lodash.merge": "^4.6.7",
"@types/zen-observable": "^0.8.4",
- "ajv": "^8.12.0"
+ "ajv": "6.12.6"
},
"dependencies": {
"@nodesecure/js-x-ray": "^10.0.0",
diff --git a/workspaces/rc/src/functions/memoize.ts b/workspaces/rc/src/functions/memoize.ts
index 82166f35..5b1ab093 100644
--- a/workspaces/rc/src/functions/memoize.ts
+++ b/workspaces/rc/src/functions/memoize.ts
@@ -3,7 +3,7 @@ import merge from "lodash.merge";
import { Some, None, type Option } from "@openally/result";
// Import Internal Dependencies
-import type { RC } from "../rc.js";
+import type { RC } from "../rc.ts";
let memoizedValue: Partial | null = null;
diff --git a/workspaces/rc/src/functions/read.ts b/workspaces/rc/src/functions/read.ts
index 4df38abf..351f9ca9 100644
--- a/workspaces/rc/src/functions/read.ts
+++ b/workspaces/rc/src/functions/read.ts
@@ -13,9 +13,9 @@ import {
generateDefaultRC,
type RCGenerationMode,
type RC
-} from "../rc.js";
-import * as CONSTANTS from "../constants.js";
-import { memoize } from "./memoize.js";
+} from "../rc.ts";
+import * as CONSTANTS from "../constants.ts";
+import { memoize } from "./memoize.ts";
interface CreateReadOptions {
/**
diff --git a/workspaces/rc/src/functions/write.ts b/workspaces/rc/src/functions/write.ts
index 8719c4b2..b4ffdc14 100644
--- a/workspaces/rc/src/functions/write.ts
+++ b/workspaces/rc/src/functions/write.ts
@@ -6,8 +6,8 @@ import { AsynchronousConfig } from "@openally/config";
import { Ok, Err, Result } from "@openally/result";
// Import Internal Dependencies
-import { JSONSchema, type RC } from "../rc.js";
-import * as CONSTANTS from "../constants.js";
+import { JSONSchema, type RC } from "../rc.ts";
+import * as CONSTANTS from "../constants.ts";
/**
* Overwrite the complete payload. partialUpdate property is mandatory.
*/
diff --git a/workspaces/rc/src/index.ts b/workspaces/rc/src/index.ts
index 29154385..244903d2 100644
--- a/workspaces/rc/src/index.ts
+++ b/workspaces/rc/src/index.ts
@@ -1,7 +1,7 @@
-export * from "./functions/read.js";
-export * from "./functions/write.js";
-export * from "./functions/memoize.js";
-export * as CONSTANTS from "./constants.js";
+export * from "./functions/read.ts";
+export * from "./functions/write.ts";
+export * from "./functions/memoize.ts";
+export * as CONSTANTS from "./constants.ts";
export {
type RC,
@@ -12,4 +12,4 @@ export {
type ScannerConfiguration,
JSONSchema,
homedir
-} from "./rc.js";
+} from "./rc.ts";
diff --git a/workspaces/rc/src/rc.ts b/workspaces/rc/src/rc.ts
index b357bf01..34c73412 100644
--- a/workspaces/rc/src/rc.ts
+++ b/workspaces/rc/src/rc.ts
@@ -6,23 +6,23 @@ import path from "node:path";
import * as vulnera from "@nodesecure/vulnera";
// Import Internal Dependencies
-import { GLOBAL_CONFIGURATION_DIRECTORY } from "./constants.js";
-import { loadJSONSchemaSync } from "./schema/loader.js";
+import { GLOBAL_CONFIGURATION_DIRECTORY } from "./constants.ts";
+import { loadJSONSchemaSync } from "./schema/loader.ts";
import {
generateCIConfiguration,
type CiConfiguration,
type CiWarnings
-} from "./projects/ci.js";
+} from "./projects/ci.ts";
import {
generateReportConfiguration,
type ReportConfiguration,
type ReportChart
-} from "./projects/report.js";
+} from "./projects/report.ts";
import {
generateScannerConfiguration,
type ScannerConfiguration
-} from "./projects/scanner.js";
+} from "./projects/scanner.ts";
// CONSTANTS
// eslint-disable-next-line @openally/constants
diff --git a/workspaces/rc/src/schema/loader.ts b/workspaces/rc/src/schema/loader.ts
index a2d95763..5d473b43 100644
--- a/workspaces/rc/src/schema/loader.ts
+++ b/workspaces/rc/src/schema/loader.ts
@@ -3,7 +3,7 @@ import { readdirSync } from "node:fs";
import path from "node:path";
// Import Internal Dependencies
-import { readJSONSync } from "../utils/index.js";
+import { readJSONSync } from "../utils/index.ts";
// CONSTANTS
const kDefsDirectory = new URL("./defs", import.meta.url);
diff --git a/workspaces/rc/src/utils/index.ts b/workspaces/rc/src/utils/index.ts
index af56599c..8f1a0842 100644
--- a/workspaces/rc/src/utils/index.ts
+++ b/workspaces/rc/src/utils/index.ts
@@ -1 +1 @@
-export * from "./readJSON.js";
+export * from "./readJSON.ts";
diff --git a/workspaces/rc/test/index.spec.ts b/workspaces/rc/test/index.spec.ts
index cd456419..97ecfdc1 100644
--- a/workspaces/rc/test/index.spec.ts
+++ b/workspaces/rc/test/index.spec.ts
@@ -10,9 +10,9 @@ import Ajv from "ajv";
import merge from "lodash.merge";
// Import Internal Dependencies
-import * as RC from "../src/index.js";
-import { readJSONSync } from "../src/utils/readJSON.js";
-import { generateDefaultRC } from "../src/rc.js";
+import * as RC from "../src/index.ts";
+import { readJSONSync } from "../src/utils/readJSON.ts";
+import { generateDefaultRC } from "../src/rc.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/rc/test/memoize.spec.ts b/workspaces/rc/test/memoize.spec.ts
index 423c8b98..2f136548 100644
--- a/workspaces/rc/test/memoize.spec.ts
+++ b/workspaces/rc/test/memoize.spec.ts
@@ -3,8 +3,13 @@ import assert from "node:assert";
import { describe, beforeEach, it } from "node:test";
// Import Internal Dependencies
-import { generateDefaultRC, RC } from "../src/rc.js";
-import { memoize, memoized, maybeMemoized, clearMemoized } from "../src/index.js";
+import { generateDefaultRC, type RC } from "../src/rc.ts";
+import {
+ memoize,
+ memoized,
+ maybeMemoized,
+ clearMemoized
+} from "../src/index.ts";
describe("memoize", () => {
beforeEach(() => {
diff --git a/workspaces/rc/test/rc.spec.ts b/workspaces/rc/test/rc.spec.ts
index fb8c3a4a..a2986e84 100644
--- a/workspaces/rc/test/rc.spec.ts
+++ b/workspaces/rc/test/rc.spec.ts
@@ -8,7 +8,7 @@ import {
generateCIConfiguration,
generateReportConfiguration,
generateScannerConfiguration
-} from "../src/rc.js";
+} from "../src/rc.ts";
describe("generateDefaultRC (internals)", () => {
it(`should generate a RC with argument 'mode' equal 'ci' and
diff --git a/workspaces/rc/test/read.spec.ts b/workspaces/rc/test/read.spec.ts
index 7973d6ef..4f24a268 100644
--- a/workspaces/rc/test/read.spec.ts
+++ b/workspaces/rc/test/read.spec.ts
@@ -13,8 +13,8 @@ import {
memoized,
memoize,
clearMemoized
-} from "../src/index.js";
-import { generateDefaultRC } from "../src/rc.js";
+} from "../src/index.ts";
+import { generateDefaultRC } from "../src/rc.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/rc/test/write.spec.ts b/workspaces/rc/test/write.spec.ts
index ba5a1af8..fe93baf5 100644
--- a/workspaces/rc/test/write.spec.ts
+++ b/workspaces/rc/test/write.spec.ts
@@ -6,8 +6,8 @@ import assert from "node:assert";
import { describe, it, before, beforeEach, after } from "node:test";
// Import Internal Dependencies
-import { read, write, CONSTANTS } from "../src/index.js";
-import { generateDefaultRC } from "../src/rc.js";
+import { read, write, CONSTANTS } from "../src/index.ts";
+import { generateDefaultRC } from "../src/rc.ts";
describe("write and/or update .nodesecurerc", () => {
const location = path.join(os.tmpdir(), "rcwrite");
diff --git a/workspaces/scanner/package.json b/workspaces/scanner/package.json
index 5d891f19..3b29c84f 100644
--- a/workspaces/scanner/package.json
+++ b/workspaces/scanner/package.json
@@ -22,7 +22,7 @@
"lint": "eslint src test",
"prepublishOnly": "npm run build && pkg-ok",
"test": "c8 -r html npm run test-only && npm run test-types",
- "test-only": "tsx --test ./test/**/*.spec.ts",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "attw --pack . --profile esm-only"
},
"files": [
@@ -84,7 +84,6 @@
"@types/node": "^24.0.2",
"@types/npmcli__config": "^6.0.3",
"c8": "^10.1.3",
- "tsx": "^4.19.4",
"typescript": "^5.8.3"
}
}
diff --git a/workspaces/scanner/src/class/TopPackages.class.ts b/workspaces/scanner/src/class/TopPackages.class.ts
index 68c2102a..b39a662b 100644
--- a/workspaces/scanner/src/class/TopPackages.class.ts
+++ b/workspaces/scanner/src/class/TopPackages.class.ts
@@ -6,7 +6,7 @@ import fs from "node:fs/promises";
import { distance } from "fastest-levenshtein";
// Import Internal Dependencies
-import { getDirNameFromUrl } from "../utils/index.js";
+import { getDirNameFromUrl } from "../utils/index.ts";
// CONSTANTS
const __dirname = getDirNameFromUrl(import.meta.url);
diff --git a/workspaces/scanner/src/comparePayloads.ts b/workspaces/scanner/src/comparePayloads.ts
index 07fd1a56..053579ce 100644
--- a/workspaces/scanner/src/comparePayloads.ts
+++ b/workspaces/scanner/src/comparePayloads.ts
@@ -13,7 +13,7 @@ import type {
Repository,
DependencyLinks,
GlobalWarning
-} from "./types.js";
+} from "./types.ts";
export interface PayloadComparison {
title: string;
diff --git a/workspaces/scanner/src/depWalker.ts b/workspaces/scanner/src/depWalker.ts
index 7a114a3f..97323cc2 100644
--- a/workspaces/scanner/src/depWalker.ts
+++ b/workspaces/scanner/src/depWalker.ts
@@ -24,11 +24,11 @@ import {
getUsedDeps,
getManifestLinks,
NPM_TOKEN
-} from "./utils/index.js";
-import { NpmRegistryProvider } from "./registry/NpmRegistryProvider.js";
-import { RegistryTokenStore } from "./registry/RegistryTokenStore.js";
-import { TempDirectory } from "./class/TempDirectory.class.js";
-import { Logger, ScannerLoggerEvents } from "./class/logger.class.js";
+} from "./utils/index.ts";
+import { NpmRegistryProvider } from "./registry/NpmRegistryProvider.ts";
+import { RegistryTokenStore } from "./registry/RegistryTokenStore.ts";
+import { TempDirectory } from "./class/TempDirectory.class.ts";
+import { Logger, ScannerLoggerEvents } from "./class/logger.class.ts";
import type {
Dependency,
DependencyVersion,
@@ -36,7 +36,7 @@ import type {
DependencyConfusionWarning,
Options,
Payload
-} from "./types.js";
+} from "./types.ts";
// CONSTANTS
const kDefaultDependencyVersionFields = {
diff --git a/workspaces/scanner/src/extractors/index.ts b/workspaces/scanner/src/extractors/index.ts
index 0d5d6fb0..eed7a075 100644
--- a/workspaces/scanner/src/extractors/index.ts
+++ b/workspaces/scanner/src/extractors/index.ts
@@ -7,9 +7,9 @@ import {
type ManifestProbeExtractor,
type PackumentProbeNextCallback,
type ManifestProbeNextCallback
-} from "./payload.js";
+} from "./payload.ts";
-import * as Probes from "./probes/index.js";
+import * as Probes from "./probes/index.ts";
export const Extractors = {
Payload,
diff --git a/workspaces/scanner/src/extractors/payload.ts b/workspaces/scanner/src/extractors/payload.ts
index 1561faa4..bdce25f1 100644
--- a/workspaces/scanner/src/extractors/payload.ts
+++ b/workspaces/scanner/src/extractors/payload.ts
@@ -8,8 +8,8 @@ import type {
Dependency,
DependencyVersion,
Payload as NodesecurePayload
-} from "../types.js";
-import { isNodesecurePayload } from "../utils/isNodesecurePayload.js";
+} from "../types.ts";
+import { isNodesecurePayload } from "../utils/isNodesecurePayload.ts";
// CONSTANTS
const kFastMerge = deepmerge({ all: true });
diff --git a/workspaces/scanner/src/extractors/probes/ContactExtractor.class.ts b/workspaces/scanner/src/extractors/probes/ContactExtractor.class.ts
index 1f4a0450..4544cfa6 100644
--- a/workspaces/scanner/src/extractors/probes/ContactExtractor.class.ts
+++ b/workspaces/scanner/src/extractors/probes/ContactExtractor.class.ts
@@ -5,8 +5,8 @@ import type { Contact } from "@nodesecure/npm-types";
import type {
ManifestProbeExtractor,
ProbeExtractorManifestParent
-} from "../payload.js";
-import type { DependencyVersion } from "../../types.js";
+} from "../payload.ts";
+import type { DependencyVersion } from "../../types.ts";
export type ContactsResult = {
contacts: Record;
diff --git a/workspaces/scanner/src/extractors/probes/ExtensionsExtractor.class.ts b/workspaces/scanner/src/extractors/probes/ExtensionsExtractor.class.ts
index cad4e3f8..aaf323fa 100644
--- a/workspaces/scanner/src/extractors/probes/ExtensionsExtractor.class.ts
+++ b/workspaces/scanner/src/extractors/probes/ExtensionsExtractor.class.ts
@@ -4,8 +4,8 @@ import FrequencySet from "frequency-set";
// Import Internal Dependencies
import type {
ManifestProbeExtractor
-} from "../payload.js";
-import type { DependencyVersion } from "../../types.js";
+} from "../payload.ts";
+import type { DependencyVersion } from "../../types.ts";
export type ExtensionsResult = {
extensions: Record;
diff --git a/workspaces/scanner/src/extractors/probes/FlagsExtractor.class.ts b/workspaces/scanner/src/extractors/probes/FlagsExtractor.class.ts
index 1895109a..43d64580 100644
--- a/workspaces/scanner/src/extractors/probes/FlagsExtractor.class.ts
+++ b/workspaces/scanner/src/extractors/probes/FlagsExtractor.class.ts
@@ -5,8 +5,8 @@ import { getFlags } from "@nodesecure/flags/web";
// Import Internal Dependencies
import type {
ManifestProbeExtractor
-} from "../payload.js";
-import type { DependencyVersion } from "../../types.js";
+} from "../payload.ts";
+import type { DependencyVersion } from "../../types.ts";
export type FlagsResult = {
flags: Record;
diff --git a/workspaces/scanner/src/extractors/probes/LicensesExtractor.class.ts b/workspaces/scanner/src/extractors/probes/LicensesExtractor.class.ts
index 5ccc31d6..e2fe9b91 100644
--- a/workspaces/scanner/src/extractors/probes/LicensesExtractor.class.ts
+++ b/workspaces/scanner/src/extractors/probes/LicensesExtractor.class.ts
@@ -1,8 +1,8 @@
// Import Internal Dependencies
import type {
ManifestProbeExtractor
-} from "../payload.js";
-import type { DependencyVersion } from "../../types.js";
+} from "../payload.ts";
+import type { DependencyVersion } from "../../types.ts";
export type LicensesResult = {
licenses: Record;
diff --git a/workspaces/scanner/src/extractors/probes/NodeDependenciesExtractor.class.ts b/workspaces/scanner/src/extractors/probes/NodeDependenciesExtractor.class.ts
index 3e46d971..7fcbff3b 100644
--- a/workspaces/scanner/src/extractors/probes/NodeDependenciesExtractor.class.ts
+++ b/workspaces/scanner/src/extractors/probes/NodeDependenciesExtractor.class.ts
@@ -2,8 +2,8 @@
// Import Internal Dependencies
import type {
ManifestProbeExtractor
-} from "../payload.js";
-import type { DependencyVersion } from "../../types.js";
+} from "../payload.ts";
+import type { DependencyVersion } from "../../types.ts";
export type NodeDependenciesResult = {
nodeDeps: string[];
diff --git a/workspaces/scanner/src/extractors/probes/SizeExtractor.class.ts b/workspaces/scanner/src/extractors/probes/SizeExtractor.class.ts
index 3986e0e1..35a84cf6 100644
--- a/workspaces/scanner/src/extractors/probes/SizeExtractor.class.ts
+++ b/workspaces/scanner/src/extractors/probes/SizeExtractor.class.ts
@@ -5,8 +5,8 @@ import { formatBytes } from "@nodesecure/utils";
import type {
ManifestProbeExtractor,
ProbeExtractorManifestParent
-} from "../payload.js";
-import type { DependencyVersion } from "../../types.js";
+} from "../payload.ts";
+import type { DependencyVersion } from "../../types.ts";
export type SizeResult = {
size: {
diff --git a/workspaces/scanner/src/extractors/probes/VulnerabilitiesExtractor.class.ts b/workspaces/scanner/src/extractors/probes/VulnerabilitiesExtractor.class.ts
index e04fc0b5..a25ee0aa 100644
--- a/workspaces/scanner/src/extractors/probes/VulnerabilitiesExtractor.class.ts
+++ b/workspaces/scanner/src/extractors/probes/VulnerabilitiesExtractor.class.ts
@@ -4,8 +4,8 @@ import type { StandardVulnerability } from "@nodesecure/vulnera";
// Import Internal Dependencies
import type {
PackumentProbeExtractor
-} from "../payload.js";
-import type { Dependency } from "../../types.js";
+} from "../payload.ts";
+import type { Dependency } from "../../types.ts";
export type VulnerabilitiesResult = {
vulnerabilities: StandardVulnerability[];
diff --git a/workspaces/scanner/src/extractors/probes/WarningsExtractor.class.ts b/workspaces/scanner/src/extractors/probes/WarningsExtractor.class.ts
index 31c1989b..682a75a7 100644
--- a/workspaces/scanner/src/extractors/probes/WarningsExtractor.class.ts
+++ b/workspaces/scanner/src/extractors/probes/WarningsExtractor.class.ts
@@ -9,8 +9,8 @@ import FrequencySet from "frequency-set";
import type {
ManifestProbeExtractor,
ProbeExtractorManifestParent
-} from "../payload.js";
-import type { DependencyVersion } from "../../types.js";
+} from "../payload.ts";
+import type { DependencyVersion } from "../../types.ts";
export type WarningsResult = {
warnings: {
diff --git a/workspaces/scanner/src/extractors/probes/index.ts b/workspaces/scanner/src/extractors/probes/index.ts
index d66abe81..8bd4c9d6 100644
--- a/workspaces/scanner/src/extractors/probes/index.ts
+++ b/workspaces/scanner/src/extractors/probes/index.ts
@@ -1,8 +1,8 @@
-export * from "./SizeExtractor.class.js";
-export * from "./LicensesExtractor.class.js";
-export * from "./ContactExtractor.class.js";
-export * from "./WarningsExtractor.class.js";
-export * from "./VulnerabilitiesExtractor.class.js";
-export * from "./FlagsExtractor.class.js";
-export * from "./ExtensionsExtractor.class.js";
-export * from "./NodeDependenciesExtractor.class.js";
+export * from "./SizeExtractor.class.ts";
+export * from "./LicensesExtractor.class.ts";
+export * from "./ContactExtractor.class.ts";
+export * from "./WarningsExtractor.class.ts";
+export * from "./VulnerabilitiesExtractor.class.ts";
+export * from "./FlagsExtractor.class.ts";
+export * from "./ExtensionsExtractor.class.ts";
+export * from "./NodeDependenciesExtractor.class.ts";
diff --git a/workspaces/scanner/src/index.ts b/workspaces/scanner/src/index.ts
index bd3bcec3..e3db7e58 100644
--- a/workspaces/scanner/src/index.ts
+++ b/workspaces/scanner/src/index.ts
@@ -11,12 +11,12 @@ import type { PackageJSON } from "@nodesecure/npm-types";
import type Config from "@npmcli/config";
// Import Internal Dependencies
-import { depWalker } from "./depWalker.js";
-import { NPM_TOKEN, urlToString } from "./utils/index.js";
-import { Logger, ScannerLoggerEvents } from "./class/logger.class.js";
-import { TempDirectory } from "./class/TempDirectory.class.js";
-import { comparePayloads } from "./comparePayloads.js";
-import type { Options } from "./types.js";
+import { depWalker } from "./depWalker.ts";
+import { NPM_TOKEN, urlToString } from "./utils/index.ts";
+import { Logger, ScannerLoggerEvents } from "./class/logger.class.ts";
+import { TempDirectory } from "./class/TempDirectory.class.ts";
+import { comparePayloads } from "./comparePayloads.ts";
+import type { Options } from "./types.ts";
// CONSTANTS
const kDefaultCwdOptions = {
@@ -24,8 +24,8 @@ const kDefaultCwdOptions = {
includeDevDeps: false
};
-export * from "./types.js";
-export * from "./extractors/index.js";
+export * from "./types.ts";
+export * from "./extractors/index.ts";
export type CwdOptions = Options & {
/**
diff --git a/workspaces/scanner/src/registry/NpmRegistryProvider.ts b/workspaces/scanner/src/registry/NpmRegistryProvider.ts
index 4766bf39..c6d8b323 100644
--- a/workspaces/scanner/src/registry/NpmRegistryProvider.ts
+++ b/workspaces/scanner/src/registry/NpmRegistryProvider.ts
@@ -11,16 +11,16 @@ import * as i18n from "@nodesecure/i18n";
import { isHTTPError } from "@openally/httpie";
// Import Internal Dependencies
-import { PackumentExtractor, type DateProvider } from "./PackumentExtractor.js";
-import { fetchNpmAvatars } from "./fetchNpmAvatars.js";
+import { PackumentExtractor, type DateProvider } from "./PackumentExtractor.ts";
+import { fetchNpmAvatars } from "./fetchNpmAvatars.ts";
import type {
Dependency,
DependencyConfusionWarning,
TokenStore
-} from "../types.js";
-import { Logger } from "../class/logger.class.js";
-import { getLinks } from "../utils/getLinks.js";
-import { getDirNameFromUrl } from "../utils/dirname.js";
+} from "../types.ts";
+import { Logger } from "../class/logger.class.ts";
+import { getLinks } from "../utils/getLinks.ts";
+import { getDirNameFromUrl } from "../utils/dirname.ts";
// CONSTANTS
const kNotFoundStatusCode = 404;
diff --git a/workspaces/scanner/src/registry/PackumentExtractor.ts b/workspaces/scanner/src/registry/PackumentExtractor.ts
index 45dca5af..29b7e463 100644
--- a/workspaces/scanner/src/registry/PackumentExtractor.ts
+++ b/workspaces/scanner/src/registry/PackumentExtractor.ts
@@ -5,7 +5,7 @@ import { packageJSONIntegrityHash } from "@nodesecure/mama";
// Import Internal Dependencies
import type {
Dependency
-} from "../types.js";
+} from "../types.ts";
export interface DateProvider {
oneYearAgo(): Date;
diff --git a/workspaces/scanner/src/registry/RegistryTokenStore.ts b/workspaces/scanner/src/registry/RegistryTokenStore.ts
index 699ce822..f2accdaa 100644
--- a/workspaces/scanner/src/registry/RegistryTokenStore.ts
+++ b/workspaces/scanner/src/registry/RegistryTokenStore.ts
@@ -2,7 +2,7 @@
import type Config from "@npmcli/config";
// Import Internal Dependencies
-import { type TokenStore } from "../types.js";
+import { type TokenStore } from "../types.ts";
export class RegistryTokenStore implements TokenStore {
#memo: Map = new Map();
diff --git a/workspaces/scanner/src/registry/fetchNpmAvatars.ts b/workspaces/scanner/src/registry/fetchNpmAvatars.ts
index 0826b0b8..edd7f2ec 100644
--- a/workspaces/scanner/src/registry/fetchNpmAvatars.ts
+++ b/workspaces/scanner/src/registry/fetchNpmAvatars.ts
@@ -6,7 +6,7 @@ import type {
Dependency,
Maintainer,
Publisher
-} from "../types.js";
+} from "../types.ts";
type Contributor = Maintainer | Publisher;
diff --git a/workspaces/scanner/src/utils/addMissingVersionFlags.ts b/workspaces/scanner/src/utils/addMissingVersionFlags.ts
index ecf59ab1..6dcbb570 100644
--- a/workspaces/scanner/src/utils/addMissingVersionFlags.ts
+++ b/workspaces/scanner/src/utils/addMissingVersionFlags.ts
@@ -1,5 +1,5 @@
// Import Internal Dependencies
-import type { Dependency } from "../types.js";
+import type { Dependency } from "../types.ts";
// TODO: add strict flags type
export function* addMissingVersionFlags(
diff --git a/workspaces/scanner/src/utils/index.ts b/workspaces/scanner/src/utils/index.ts
index 2710abbb..28e474fd 100644
--- a/workspaces/scanner/src/utils/index.ts
+++ b/workspaces/scanner/src/utils/index.ts
@@ -1,10 +1,10 @@
-export * from "./dirname.js";
-export * from "./warnings.js";
-export * from "./addMissingVersionFlags.js";
-export * from "./getLinks.js";
-export * from "./urlToString.js";
-export * from "./getUsedDeps.js";
-export * from "./isNodesecurePayload.js";
+export * from "./dirname.ts";
+export * from "./warnings.ts";
+export * from "./addMissingVersionFlags.ts";
+export * from "./getLinks.ts";
+export * from "./urlToString.ts";
+export * from "./getUsedDeps.ts";
+export * from "./isNodesecurePayload.ts";
export const NPM_TOKEN = typeof process.env.NODE_SECURE_TOKEN === "string" ?
{ token: process.env.NODE_SECURE_TOKEN } :
diff --git a/workspaces/scanner/src/utils/isNodesecurePayload.ts b/workspaces/scanner/src/utils/isNodesecurePayload.ts
index ca5e0457..28804e4b 100644
--- a/workspaces/scanner/src/utils/isNodesecurePayload.ts
+++ b/workspaces/scanner/src/utils/isNodesecurePayload.ts
@@ -1,5 +1,5 @@
// Import Internal Dependencies
-import type { Payload } from "../types.js";
+import type { Payload } from "../types.ts";
export function isNodesecurePayload(
data: Payload | Payload["dependencies"]
diff --git a/workspaces/scanner/src/utils/warnings.ts b/workspaces/scanner/src/utils/warnings.ts
index 22ae4640..f0b1e74c 100644
--- a/workspaces/scanner/src/utils/warnings.ts
+++ b/workspaces/scanner/src/utils/warnings.ts
@@ -12,9 +12,9 @@ import {
import type { Contact } from "@nodesecure/npm-types";
// Import Internal Dependencies
-import { getDirNameFromUrl } from "./dirname.js";
-import { TopPackages } from "../class/TopPackages.class.js";
-import type { Dependency, GlobalWarning } from "../types.js";
+import { getDirNameFromUrl } from "./dirname.ts";
+import { TopPackages } from "../class/TopPackages.class.ts";
+import type { Dependency, GlobalWarning } from "../types.ts";
await i18n.extendFromSystemPath(
path.join(getDirNameFromUrl(import.meta.url), "..", "i18n")
diff --git a/workspaces/scanner/test/NpmRegistryProvider.spec.ts b/workspaces/scanner/test/NpmRegistryProvider.spec.ts
index ed471bd3..1f4ab44b 100644
--- a/workspaces/scanner/test/NpmRegistryProvider.spec.ts
+++ b/workspaces/scanner/test/NpmRegistryProvider.spec.ts
@@ -7,14 +7,18 @@ import assert from "node:assert";
import semver from "semver";
import is from "@slimio/is";
import * as i18n from "@nodesecure/i18n";
-import { PackumentVersion, Packument } from "@nodesecure/npm-types";
import { getNpmRegistryURL } from "@nodesecure/npm-registry-sdk";
import { HttpieOnHttpError } from "@openally/httpie";
+import type { PackumentVersion, Packument } from "@nodesecure/npm-types";
// Import Internal Dependencies
-import { Logger, type Dependency, type DependencyConfusionWarning } from "../src/index.js";
-import { NpmRegistryProvider } from "../src/registry/NpmRegistryProvider.js";
-import { type TokenStore } from "../src/types.js";
+import {
+ Logger,
+ type Dependency,
+ type DependencyConfusionWarning
+} from "../src/index.ts";
+import { NpmRegistryProvider } from "../src/registry/NpmRegistryProvider.ts";
+import { type TokenStore } from "../src/types.ts";
class FakeTokenStore implements TokenStore {
#store: Record = {
diff --git a/workspaces/scanner/test/RegistryTokenStore.spec.ts b/workspaces/scanner/test/RegistryTokenStore.spec.ts
index 0a991f36..6050c77c 100644
--- a/workspaces/scanner/test/RegistryTokenStore.spec.ts
+++ b/workspaces/scanner/test/RegistryTokenStore.spec.ts
@@ -9,8 +9,8 @@ import path from "node:path";
import Config from "@npmcli/config";
// Import Internal Dependencies
-import { RegistryTokenStore } from "../src/registry/RegistryTokenStore.js";
-import { TempDirectory } from "../src/class/TempDirectory.class.js";
+import { RegistryTokenStore } from "../src/registry/RegistryTokenStore.ts";
+import { TempDirectory } from "../src/class/TempDirectory.class.ts";
const require = createRequire(import.meta.url);
diff --git a/workspaces/scanner/test/comparePayloads.spec.ts b/workspaces/scanner/test/comparePayloads.spec.ts
index 1c88f08a..97c09b19 100644
--- a/workspaces/scanner/test/comparePayloads.spec.ts
+++ b/workspaces/scanner/test/comparePayloads.spec.ts
@@ -6,7 +6,7 @@ import { fileURLToPath } from "node:url";
import { readFileSync } from "node:fs";
// Import Internal Dependencies
-import { comparePayloads } from "../src/index.js";
+import { comparePayloads } from "../src/index.ts";
// CONSTANTS
const __dirname = dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/scanner/test/depWalker.spec.ts b/workspaces/scanner/test/depWalker.spec.ts
index 7db19f08..e2b778f6 100644
--- a/workspaces/scanner/test/depWalker.spec.ts
+++ b/workspaces/scanner/test/depWalker.spec.ts
@@ -10,14 +10,14 @@ import * as Vulnera from "@nodesecure/vulnera";
import { getLocalRegistryURL } from "@nodesecure/npm-registry-sdk";
// Import Internal Dependencies
-import { depWalker } from "../src/depWalker.js";
+import { depWalker } from "../src/depWalker.ts";
import {
Logger,
from,
cwd,
type Payload,
type DependencyVersion
-} from "../src/index.js";
+} from "../src/index.ts";
// CONSTANTS
const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
diff --git a/workspaces/scanner/test/extractors/payload.spec.ts b/workspaces/scanner/test/extractors/payload.spec.ts
index 22500201..c94f3663 100644
--- a/workspaces/scanner/test/extractors/payload.spec.ts
+++ b/workspaces/scanner/test/extractors/payload.spec.ts
@@ -5,8 +5,8 @@ import path from "node:path";
import { describe, it } from "node:test";
// Import Internal Dependencies
-import { type ExtractorCallbackParams } from "../../src/extractors/payload.js";
-import { Extractors, type Payload } from "../../src/index.js";
+import { type ExtractorCallbackParams } from "../../src/extractors/payload.ts";
+import { Extractors, type Payload } from "../../src/index.ts";
// CONSTANTS
const kFixturePath = path.join("fixtures", "extractors");
diff --git a/workspaces/scanner/test/integrityWarning.spec.ts b/workspaces/scanner/test/integrityWarning.spec.ts
index 40584a50..cdb12c85 100644
--- a/workspaces/scanner/test/integrityWarning.spec.ts
+++ b/workspaces/scanner/test/integrityWarning.spec.ts
@@ -3,7 +3,7 @@ import { test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { from } from "../src/index.js";
+import { from } from "../src/index.ts";
test("expect one warning from 'darcyclarke-manifest-pkg' with an integrity issue", async() => {
const result = await from("darcyclarke-manifest-pkg", {
diff --git a/workspaces/scanner/test/logger.spec.ts b/workspaces/scanner/test/logger.spec.ts
index 1a2f5038..a73097d3 100644
--- a/workspaces/scanner/test/logger.spec.ts
+++ b/workspaces/scanner/test/logger.spec.ts
@@ -7,7 +7,7 @@ import assert from "node:assert";
import is from "@slimio/is";
// Import Internal Dependencies
-import { Logger } from "../src/index.js";
+import { Logger } from "../src/index.ts";
test("Logger: Creating a new class instance and assert all properties", () => {
assert.ok(is.classObject(Logger));
diff --git a/workspaces/scanner/test/utils/addMissingVersionFlags.spec.ts b/workspaces/scanner/test/utils/addMissingVersionFlags.spec.ts
index b4d0dac3..55a2872f 100644
--- a/workspaces/scanner/test/utils/addMissingVersionFlags.spec.ts
+++ b/workspaces/scanner/test/utils/addMissingVersionFlags.spec.ts
@@ -3,7 +3,7 @@ import { test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { addMissingVersionFlags } from "../../src/utils/index.js";
+import { addMissingVersionFlags } from "../../src/utils/index.ts";
test("addMissingVersionFlags should return all missing flags", () => {
const flags = new Set([
diff --git a/workspaces/scanner/test/utils/getLinks.spec.ts b/workspaces/scanner/test/utils/getLinks.spec.ts
index 199871ac..79e9ed3d 100644
--- a/workspaces/scanner/test/utils/getLinks.spec.ts
+++ b/workspaces/scanner/test/utils/getLinks.spec.ts
@@ -6,7 +6,7 @@ import { describe, it } from "node:test";
import { type PackumentVersion } from "@nodesecure/npm-types";
// Import Internal Dependencies
-import * as utils from "../../src/utils/index.js";
+import * as utils from "../../src/utils/index.ts";
describe("utils.getLinks", () => {
it("should return all links", () => {
diff --git a/workspaces/scanner/test/utils/getUsedDeps.spec.ts b/workspaces/scanner/test/utils/getUsedDeps.spec.ts
index c4752f04..dc161f3c 100644
--- a/workspaces/scanner/test/utils/getUsedDeps.spec.ts
+++ b/workspaces/scanner/test/utils/getUsedDeps.spec.ts
@@ -3,7 +3,7 @@ import { test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { getUsedDeps } from "../../src/utils/index.js";
+import { getUsedDeps } from "../../src/utils/index.ts";
test("getUsedDeps should handle scoped packages", () => {
const deps = getUsedDeps(new Set([
diff --git a/workspaces/scanner/test/utils/warnings.spec.ts b/workspaces/scanner/test/utils/warnings.spec.ts
index 6eec82e5..d4661c43 100644
--- a/workspaces/scanner/test/utils/warnings.spec.ts
+++ b/workspaces/scanner/test/utils/warnings.spec.ts
@@ -6,8 +6,8 @@ import assert from "node:assert";
import * as i18n from "@nodesecure/i18n";
// Import Internal Dependencies
-import { getDependenciesWarnings } from "../../src/utils/index.js";
-import type { Dependency } from "../../src/types.js";
+import { getDependenciesWarnings } from "../../src/utils/index.ts";
+import type { Dependency } from "../../src/types.ts";
function createDependency(maintainers = [], publishers = []) {
return {
diff --git a/workspaces/scanner/test/verify.spec.ts b/workspaces/scanner/test/verify.spec.ts
index 9b87276d..27745335 100644
--- a/workspaces/scanner/test/verify.spec.ts
+++ b/workspaces/scanner/test/verify.spec.ts
@@ -6,7 +6,7 @@ import { fileURLToPath } from "node:url";
import { test } from "node:test";
// Import Internal Dependencies
-import { verify } from "../src/index.js";
+import { verify } from "../src/index.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/tarball/README.md b/workspaces/tarball/README.md
index 8d4750d4..a123ec1f 100644
--- a/workspaces/tarball/README.md
+++ b/workspaces/tarball/README.md
@@ -7,7 +7,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/tarball/package.json b/workspaces/tarball/package.json
index 6a359da7..913841fb 100644
--- a/workspaces/tarball/package.json
+++ b/workspaces/tarball/package.json
@@ -17,7 +17,7 @@
"scripts": {
"build": "tsc -b",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test ./test/**/*.spec.ts",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types"
},
diff --git a/workspaces/tarball/src/class/NpmTarball.class.ts b/workspaces/tarball/src/class/NpmTarball.class.ts
index 4fbce105..47d352de 100644
--- a/workspaces/tarball/src/class/NpmTarball.class.ts
+++ b/workspaces/tarball/src/class/NpmTarball.class.ts
@@ -16,11 +16,11 @@ import {
import {
SourceCodeReport,
SourceCodeScanner
-} from "./SourceCodeScanner.class.js";
+} from "./SourceCodeScanner.class.ts";
import {
getTarballComposition,
type TarballComposition
-} from "../utils/index.js";
+} from "../utils/index.ts";
export interface ScannedFilesResult {
composition: TarballComposition;
diff --git a/workspaces/tarball/src/class/SourceCodeScanner.class.ts b/workspaces/tarball/src/class/SourceCodeScanner.class.ts
index c9a775a1..98a8877d 100644
--- a/workspaces/tarball/src/class/SourceCodeScanner.class.ts
+++ b/workspaces/tarball/src/class/SourceCodeScanner.class.ts
@@ -18,7 +18,7 @@ import {
import {
filterDependencyKind,
analyzeDependencies
-} from "../utils/index.js";
+} from "../utils/index.ts";
export interface SourceCodeAggregator {
readonly consumed: boolean;
diff --git a/workspaces/tarball/src/index.ts b/workspaces/tarball/src/index.ts
index 1b0477e5..236de616 100644
--- a/workspaces/tarball/src/index.ts
+++ b/workspaces/tarball/src/index.ts
@@ -1,2 +1,2 @@
-export * from "./tarball.js";
-export * from "./class/NpmTarball.class.js";
+export * from "./tarball.ts";
+export * from "./class/NpmTarball.class.ts";
diff --git a/workspaces/tarball/src/tarball.ts b/workspaces/tarball/src/tarball.ts
index e778f314..be2eb3fe 100644
--- a/workspaces/tarball/src/tarball.ts
+++ b/workspaces/tarball/src/tarball.ts
@@ -19,10 +19,12 @@ import pacote from "pacote";
import {
isSensitiveFile,
booleanToFlags
-} from "./utils/index.js";
-import { NpmTarball } from "./class/NpmTarball.class.js";
-import * as warnings from "./warnings.js";
-import { getEmptyPackageWarning } from "./warnings.js";
+} from "./utils/index.ts";
+import { NpmTarball } from "./class/NpmTarball.class.ts";
+import {
+ getEmptyPackageWarning,
+ getSemVerWarning
+} from "./warnings.ts";
export interface DependencyRef {
id: number;
@@ -96,11 +98,11 @@ export async function scanDirOrArchive(
composition.files.length === 1 &&
composition.files.includes("package.json")
) {
- ref.warnings.push(warnings.getEmptyPackageWarning());
+ ref.warnings.push(getEmptyPackageWarning());
}
if (mama.hasZeroSemver) {
- ref.warnings.push(warnings.getSemVerWarning(mama.document.version!));
+ ref.warnings.push(getSemVerWarning(mama.document.version!));
}
ref.warnings.push(...code.warnings);
diff --git a/workspaces/tarball/src/utils/index.ts b/workspaces/tarball/src/utils/index.ts
index fd1fed9f..036bd61b 100644
--- a/workspaces/tarball/src/utils/index.ts
+++ b/workspaces/tarball/src/utils/index.ts
@@ -1,5 +1,5 @@
-export * from "./analyzeDependencies.js";
-export * from "./booleanToFlags.js";
-export * from "./isSensitiveFile.js";
-export * from "./getTarballComposition.js";
-export * from "./filterDependencyKind.js";
+export * from "./analyzeDependencies.ts";
+export * from "./booleanToFlags.ts";
+export * from "./isSensitiveFile.ts";
+export * from "./getTarballComposition.ts";
+export * from "./filterDependencyKind.ts";
diff --git a/workspaces/tarball/test/SourceCodeReport.spec.ts b/workspaces/tarball/test/SourceCodeReport.spec.ts
index 1210aaf2..ab792bb4 100644
--- a/workspaces/tarball/test/SourceCodeReport.spec.ts
+++ b/workspaces/tarball/test/SourceCodeReport.spec.ts
@@ -5,7 +5,7 @@ import { test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { SourceCodeScanner } from "../src/class/SourceCodeScanner.class.js";
+import { SourceCodeScanner } from "../src/class/SourceCodeScanner.class.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -112,6 +112,7 @@ test("should catch the invalid syntax and report a ParsingError warning", async(
assert.deepEqual(report.warnings, [
{
+ experimental: false,
file: "parsingError.js",
i18n: "sast_warnings.parsing_error",
kind: "parsing-error",
diff --git a/workspaces/tarball/test/SourceCodeScanner.spec.ts b/workspaces/tarball/test/SourceCodeScanner.spec.ts
index eba0326b..aa1c025d 100644
--- a/workspaces/tarball/test/SourceCodeScanner.spec.ts
+++ b/workspaces/tarball/test/SourceCodeScanner.spec.ts
@@ -14,7 +14,7 @@ import { type ReportOnFile, AstAnalyser } from "@nodesecure/js-x-ray";
import {
SourceCodeScanner,
type SourceCodeAggregator
-} from "../src/class/SourceCodeScanner.class.js";
+} from "../src/class/SourceCodeScanner.class.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/tarball/test/tarball/scanPackage.spec.ts b/workspaces/tarball/test/tarball/scanPackage.spec.ts
index 3a7c99b7..1dbeb807 100644
--- a/workspaces/tarball/test/tarball/scanPackage.spec.ts
+++ b/workspaces/tarball/test/tarball/scanPackage.spec.ts
@@ -5,8 +5,8 @@ import { test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { scanPackage } from "../../src/index.js";
-import { getEmptyPackageWarning } from "../../src/warnings.js";
+import { scanPackage } from "../../src/index.ts";
+import { getEmptyPackageWarning } from "../../src/warnings.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/tarball/test/utils/analyzeDependencies.spec.ts b/workspaces/tarball/test/utils/analyzeDependencies.spec.ts
index 0b2e559c..1679b923 100644
--- a/workspaces/tarball/test/utils/analyzeDependencies.spec.ts
+++ b/workspaces/tarball/test/utils/analyzeDependencies.spec.ts
@@ -3,7 +3,7 @@ import { test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { analyzeDependencies } from "../../src/utils/index.js";
+import { analyzeDependencies } from "../../src/utils/index.ts";
test("analyzeDependencies should detect Node.js dependencies and also flag hasExternalCapacity", () => {
const mama = {
diff --git a/workspaces/tarball/test/utils/booleanToFlags.spec.ts b/workspaces/tarball/test/utils/booleanToFlags.spec.ts
index b06971e4..19e392cf 100644
--- a/workspaces/tarball/test/utils/booleanToFlags.spec.ts
+++ b/workspaces/tarball/test/utils/booleanToFlags.spec.ts
@@ -3,7 +3,7 @@ import { test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { booleanToFlags } from "../../src/utils/index.js";
+import { booleanToFlags } from "../../src/utils/index.ts";
test("booleanToFlags should transform the Record in flag list where value are true", () => {
const flags = booleanToFlags({ hasScript: true, foo: false, bar: true });
diff --git a/workspaces/tarball/test/utils/filterDependencyKind.spec.ts b/workspaces/tarball/test/utils/filterDependencyKind.spec.ts
index 2738e60d..d1763524 100644
--- a/workspaces/tarball/test/utils/filterDependencyKind.spec.ts
+++ b/workspaces/tarball/test/utils/filterDependencyKind.spec.ts
@@ -4,7 +4,7 @@ import { test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { filterDependencyKind } from "../../src/utils/index.js";
+import { filterDependencyKind } from "../../src/utils/index.ts";
test("filterDependencyKind should be able to split files and packages", () => {
const result = filterDependencyKind(["mocha", "."], process.cwd());
diff --git a/workspaces/tarball/test/utils/getTarballComposition.spec.ts b/workspaces/tarball/test/utils/getTarballComposition.spec.ts
index 8736512d..eb18282e 100644
--- a/workspaces/tarball/test/utils/getTarballComposition.spec.ts
+++ b/workspaces/tarball/test/utils/getTarballComposition.spec.ts
@@ -8,7 +8,7 @@ import { test } from "node:test";
import getSize from "get-folder-size";
// Import Internal Dependencies
-import { getTarballComposition } from "../../src/utils/index.js";
+import { getTarballComposition } from "../../src/utils/index.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/tarball/test/utils/isSensitiveFile.spec.ts b/workspaces/tarball/test/utils/isSensitiveFile.spec.ts
index 35b67a15..8459b7c2 100644
--- a/workspaces/tarball/test/utils/isSensitiveFile.spec.ts
+++ b/workspaces/tarball/test/utils/isSensitiveFile.spec.ts
@@ -3,7 +3,7 @@ import { test } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { isSensitiveFile } from "../../src/utils/index.js";
+import { isSensitiveFile } from "../../src/utils/index.ts";
test("isSensitiveFile should return true for sensitive files", () => {
assert.ok(isSensitiveFile(".npmrc"));
diff --git a/workspaces/tarball/test/warnings.spec.ts b/workspaces/tarball/test/warnings.spec.ts
index 3412f965..3bfc87aa 100644
--- a/workspaces/tarball/test/warnings.spec.ts
+++ b/workspaces/tarball/test/warnings.spec.ts
@@ -3,7 +3,7 @@ import assert from "node:assert";
import { test } from "node:test";
// Import Internal Dependencies
-import { getSemVerWarning } from "../src/warnings.js";
+import { getSemVerWarning } from "../src/warnings.ts";
// CONSTANTS
const kDefaultWarning = {
diff --git a/workspaces/tree-walker/README.md b/workspaces/tree-walker/README.md
index 617b60e2..88e58baf 100644
--- a/workspaces/tree-walker/README.md
+++ b/workspaces/tree-walker/README.md
@@ -7,7 +7,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/tree-walker/package.json b/workspaces/tree-walker/package.json
index fa83ddaa..a8bc1008 100644
--- a/workspaces/tree-walker/package.json
+++ b/workspaces/tree-walker/package.json
@@ -8,7 +8,7 @@
"scripts": {
"build": "tsc -b",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test ./test/**/*.spec.ts",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types"
},
diff --git a/workspaces/tree-walker/src/index.ts b/workspaces/tree-walker/src/index.ts
index d43d1794..8fb7559e 100644
--- a/workspaces/tree-walker/src/index.ts
+++ b/workspaces/tree-walker/src/index.ts
@@ -1,2 +1,2 @@
-export * as npm from "./npm/walker.js";
-export * from "./Dependency.class.js";
+export * as npm from "./npm/walker.ts";
+export * from "./Dependency.class.ts";
diff --git a/workspaces/tree-walker/src/npm/LocalDependencyTreeLoader.ts b/workspaces/tree-walker/src/npm/LocalDependencyTreeLoader.ts
index 844f1cf7..560ba454 100644
--- a/workspaces/tree-walker/src/npm/LocalDependencyTreeLoader.ts
+++ b/workspaces/tree-walker/src/npm/LocalDependencyTreeLoader.ts
@@ -9,8 +9,8 @@ import Arborist from "@npmcli/arborist";
import {
TreeDependencies,
type TreeDependenciesOptions
-} from "./TreeDependencies.js";
-import * as utils from "../utils/index.js";
+} from "./TreeDependencies.ts";
+import * as utils from "../utils/index.ts";
export interface LocalDependencyTreeLoaderProvider {
load(
diff --git a/workspaces/tree-walker/src/npm/walker.ts b/workspaces/tree-walker/src/npm/walker.ts
index bca2d27c..970ccc53 100644
--- a/workspaces/tree-walker/src/npm/walker.ts
+++ b/workspaces/tree-walker/src/npm/walker.ts
@@ -12,19 +12,19 @@ import { getNpmRegistryURL } from "@nodesecure/npm-registry-sdk";
import type { PackageJSON, WorkspacesPackageJSON, ManifestVersion } from "@nodesecure/npm-types";
// Import Internal Dependencies
-import * as utils from "../utils/index.js";
+import * as utils from "../utils/index.ts";
import {
LocalDependencyTreeLoader,
type LocalDependencyTreeLoaderProvider
-} from "./LocalDependencyTreeLoader.js";
+} from "./LocalDependencyTreeLoader.ts";
import {
Dependency,
type DependencyJSON,
type NpmSpec
-} from "../Dependency.class.js";
+} from "../Dependency.class.ts";
import {
TreeDependencies
-} from "./TreeDependencies.js";
+} from "./TreeDependencies.ts";
interface BaseWalkOptions {
parent: Dependency;
diff --git a/workspaces/tree-walker/src/utils/index.ts b/workspaces/tree-walker/src/utils/index.ts
index a4ca4bb3..79f708d0 100644
--- a/workspaces/tree-walker/src/utils/index.ts
+++ b/workspaces/tree-walker/src/utils/index.ts
@@ -3,6 +3,6 @@ export const NPM_TOKEN = typeof process.env.NODE_SECURE_TOKEN === "string" ?
{ token: process.env.NODE_SECURE_TOKEN } :
{};
-export * from "./mergeDependencies.js";
-export * from "./isGitDependency.js";
-export * from "./semver.js";
+export * from "./mergeDependencies.ts";
+export * from "./isGitDependency.ts";
+export * from "./semver.ts";
diff --git a/workspaces/tree-walker/test/Dependency.spec.ts b/workspaces/tree-walker/test/Dependency.spec.ts
index 43bb724c..949b30e8 100644
--- a/workspaces/tree-walker/test/Dependency.spec.ts
+++ b/workspaces/tree-walker/test/Dependency.spec.ts
@@ -6,7 +6,7 @@ import assert from "node:assert";
import is from "@slimio/is";
// Import Internal Dependencies
-import { Dependency } from "../src/Dependency.class.js";
+import { Dependency } from "../src/Dependency.class.ts";
test("Dependency class should act as expected by assertions", () => {
assert.ok(is.classObject(Dependency));
diff --git a/workspaces/tree-walker/test/npm/LocalDependencyTreeLoader.spec.ts b/workspaces/tree-walker/test/npm/LocalDependencyTreeLoader.spec.ts
index bb3bd7e9..a65c4207 100644
--- a/workspaces/tree-walker/test/npm/LocalDependencyTreeLoader.spec.ts
+++ b/workspaces/tree-walker/test/npm/LocalDependencyTreeLoader.spec.ts
@@ -10,7 +10,7 @@ import { fileURLToPath } from "node:url";
// Import Internal Dependencies
import {
LocalDependencyTreeLoader
-} from "../../src/npm/LocalDependencyTreeLoader.js";
+} from "../../src/npm/LocalDependencyTreeLoader.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/tree-walker/test/npm/TreeWalker.spec.ts b/workspaces/tree-walker/test/npm/TreeWalker.spec.ts
index 219f2a94..6891e878 100644
--- a/workspaces/tree-walker/test/npm/TreeWalker.spec.ts
+++ b/workspaces/tree-walker/test/npm/TreeWalker.spec.ts
@@ -9,7 +9,7 @@ import pacote from "pacote";
import type { PackageJSON, WorkspacesPackageJSON } from "@nodesecure/npm-types";
// Import Internal Dependencies
-import { npm, type DependencyJSON } from "../../src/index.js";
+import { npm, type DependencyJSON } from "../../src/index.ts";
// CONSTANTS
const __dirname = path.dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/tree-walker/test/utils/cleanRange.spec.ts b/workspaces/tree-walker/test/utils/cleanRange.spec.ts
index 49521986..dd3c8e50 100644
--- a/workspaces/tree-walker/test/utils/cleanRange.spec.ts
+++ b/workspaces/tree-walker/test/utils/cleanRange.spec.ts
@@ -3,7 +3,7 @@ import { describe, it } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { cleanRange } from "../../src/utils/index.js";
+import { cleanRange } from "../../src/utils/index.ts";
describe("cleanRange", () => {
it("should return cleaned SemVer range", () => {
diff --git a/workspaces/tree-walker/test/utils/isGitDependency.spec.ts b/workspaces/tree-walker/test/utils/isGitDependency.spec.ts
index 88a26823..d3d6fd3b 100644
--- a/workspaces/tree-walker/test/utils/isGitDependency.spec.ts
+++ b/workspaces/tree-walker/test/utils/isGitDependency.spec.ts
@@ -3,7 +3,7 @@ import { describe, it } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import { isGitDependency } from "../../src/utils/index.js";
+import { isGitDependency } from "../../src/utils/index.ts";
describe("isGitDependency", () => {
it("should return true for git related package versions", () => {
diff --git a/workspaces/tree-walker/test/utils/mergeDependencies.spec.ts b/workspaces/tree-walker/test/utils/mergeDependencies.spec.ts
index 855f5a54..76bf905a 100644
--- a/workspaces/tree-walker/test/utils/mergeDependencies.spec.ts
+++ b/workspaces/tree-walker/test/utils/mergeDependencies.spec.ts
@@ -9,7 +9,7 @@ import assert from "node:assert";
import is from "@slimio/is";
// Import Internal Dependencies
-import { mergeDependencies } from "../../src/utils/index.js";
+import { mergeDependencies } from "../../src/utils/index.ts";
// CONSTANTS
const __dirname = dirname(fileURLToPath(import.meta.url));
diff --git a/workspaces/utils/README.md b/workspaces/utils/README.md
index b341c387..d32f38dc 100644
--- a/workspaces/utils/README.md
+++ b/workspaces/utils/README.md
@@ -8,7 +8,7 @@
## Requirements
-- [Node.js](https://nodejs.org/en/) v20 or higher
+- [Node.js](https://nodejs.org/en/) v24 or higher
## Getting Started
diff --git a/workspaces/utils/package.json b/workspaces/utils/package.json
index e7394692..82315963 100644
--- a/workspaces/utils/package.json
+++ b/workspaces/utils/package.json
@@ -11,7 +11,7 @@
"scripts": {
"build": "tsc -b",
"prepublishOnly": "npm run build",
- "test-only": "tsx --test \"./test/**/*.spec.ts\"",
+ "test-only": "node --test ./test/**/*.spec.ts",
"test-types": "attw --pack . --profile esm-only",
"test": "c8 -r html npm run test-only && npm run test-types"
},
diff --git a/workspaces/utils/src/index.ts b/workspaces/utils/src/index.ts
index bb43204c..9f1cd89b 100644
--- a/workspaces/utils/src/index.ts
+++ b/workspaces/utils/src/index.ts
@@ -1,5 +1,5 @@
-export * from "./formatBytes.js";
-export * from "./locationToString.js";
-export * from "./taggedString.js";
-export * from "./parseManifestAuthor.js";
-export * from "./scorecard.js";
+export * from "./formatBytes.ts";
+export * from "./locationToString.ts";
+export * from "./taggedString.ts";
+export * from "./parseManifestAuthor.ts";
+export * from "./scorecard.ts";
diff --git a/workspaces/utils/test/formatBytes.spec.ts b/workspaces/utils/test/formatBytes.spec.ts
index 4a1fbc7b..81af3677 100644
--- a/workspaces/utils/test/formatBytes.spec.ts
+++ b/workspaces/utils/test/formatBytes.spec.ts
@@ -3,7 +3,7 @@ import { describe, it } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import * as utils from "../src/formatBytes";
+import * as utils from "../src/formatBytes.ts";
describe("formatBytes", () => {
it("should return '0 B' if bytes argument is equal zero", () => {
diff --git a/workspaces/utils/test/locationToString.spec.ts b/workspaces/utils/test/locationToString.spec.ts
index c74d729f..d8eb77fa 100644
--- a/workspaces/utils/test/locationToString.spec.ts
+++ b/workspaces/utils/test/locationToString.spec.ts
@@ -3,7 +3,7 @@ import { describe, it } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import * as utils from "../src/locationToString";
+import * as utils from "../src/locationToString.ts";
describe("locationToString", () => {
it("should return the location array in string syntax", () => {
diff --git a/workspaces/utils/test/parseManifestAuthor.spec.ts b/workspaces/utils/test/parseManifestAuthor.spec.ts
index 0b0d8dfe..7bb600f6 100644
--- a/workspaces/utils/test/parseManifestAuthor.spec.ts
+++ b/workspaces/utils/test/parseManifestAuthor.spec.ts
@@ -3,7 +3,7 @@ import { describe, it } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import * as utils from "../src/parseManifestAuthor.js";
+import * as utils from "../src/parseManifestAuthor.ts";
describe("parseAuthor", () => {
it("should be able to parse a string (without email)", () => {
@@ -99,7 +99,7 @@ describe("parseManifestAuthor", () => {
try {
utils.parseManifestAuthor(null as unknown as string);
}
- catch (error) {
+ catch (error: any) {
assert.strictEqual(error.message, "expected manifestAuthorField to be a string");
}
});
diff --git a/workspaces/utils/test/scorecard.spec.ts b/workspaces/utils/test/scorecard.spec.ts
index bc757ff6..b4550c8f 100644
--- a/workspaces/utils/test/scorecard.spec.ts
+++ b/workspaces/utils/test/scorecard.spec.ts
@@ -3,7 +3,7 @@ import { describe, it } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import * as utils from "../src/scorecard.js";
+import * as utils from "../src/scorecard.ts";
describe("getScoreColor", () => {
it("should return red", () => {
diff --git a/workspaces/utils/test/taggedString.spec.ts b/workspaces/utils/test/taggedString.spec.ts
index e9321cba..a949f8e2 100644
--- a/workspaces/utils/test/taggedString.spec.ts
+++ b/workspaces/utils/test/taggedString.spec.ts
@@ -3,7 +3,7 @@ import { describe, it } from "node:test";
import assert from "node:assert";
// Import Internal Dependencies
-import * as utils from "../src/taggedString.js";
+import * as utils from "../src/taggedString.ts";
describe("taggedString", () => {
it("with numeric parameter", () => {