From d7eee33d2653d1749bbb6835426a9b7e8522e833 Mon Sep 17 00:00:00 2001 From: GENTILHOMME Thomas Date: Tue, 17 Mar 2026 14:01:36 +0100 Subject: [PATCH] chore: update JS-X-Ray to v14.1.0 and fix broken tarball ws --- .changeset/legal-wombats-send.md | 8 +++++++ workspaces/rc/package.json | 2 +- workspaces/scanner/package.json | 2 +- workspaces/tarball/package.json | 2 +- .../class/DependencyCollectableSet.class.ts | 5 ++++- .../src/class/SourceCodeScanner.class.ts | 9 ++++++-- .../tarball/test/SourceCodeScanner.spec.ts | 22 ++++++++++++++----- workspaces/tree-walker/package.json | 2 +- 8 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 .changeset/legal-wombats-send.md diff --git a/.changeset/legal-wombats-send.md b/.changeset/legal-wombats-send.md new file mode 100644 index 00000000..331e4c1b --- /dev/null +++ b/.changeset/legal-wombats-send.md @@ -0,0 +1,8 @@ +--- +"@nodesecure/tree-walker": minor +"@nodesecure/scanner": minor +"@nodesecure/rc": minor +"@nodesecure/tarball": patch +--- + +Update JS-X-Ray to v14.1.0 diff --git a/workspaces/rc/package.json b/workspaces/rc/package.json index 6e5c4ad6..f28a622a 100644 --- a/workspaces/rc/package.json +++ b/workspaces/rc/package.json @@ -45,7 +45,7 @@ "ajv": "8.18.0" }, "dependencies": { - "@nodesecure/js-x-ray": "14.0.0", + "@nodesecure/js-x-ray": "14.1.0", "@nodesecure/npm-types": "^1.2.0", "@nodesecure/vulnera": "^2.0.1", "@openally/config": "^1.0.1", diff --git a/workspaces/scanner/package.json b/workspaces/scanner/package.json index 1fc58646..56852899 100644 --- a/workspaces/scanner/package.json +++ b/workspaces/scanner/package.json @@ -68,7 +68,7 @@ "@nodesecure/contact": "^3.0.0", "@nodesecure/flags": "^3.0.3", "@nodesecure/i18n": "^4.1.0", - "@nodesecure/js-x-ray": "14.0.0", + "@nodesecure/js-x-ray": "14.1.0", "@nodesecure/mama": "^2.1.1", "@nodesecure/npm-registry-sdk": "^4.4.0", "@nodesecure/npm-types": "^1.3.0", diff --git a/workspaces/tarball/package.json b/workspaces/tarball/package.json index 62d93bbc..13a8de8c 100644 --- a/workspaces/tarball/package.json +++ b/workspaces/tarball/package.json @@ -47,7 +47,7 @@ "dependencies": { "@nodesecure/conformance": "^1.2.1", "@nodesecure/fs-walk": "^2.0.0", - "@nodesecure/js-x-ray": "14.0.0", + "@nodesecure/js-x-ray": "14.1.0", "@nodesecure/mama": "^2.1.1", "@nodesecure/npm-types": "^1.2.0", "@nodesecure/utils": "^2.3.0", diff --git a/workspaces/tarball/src/class/DependencyCollectableSet.class.ts b/workspaces/tarball/src/class/DependencyCollectableSet.class.ts index ce4b5b39..e6575840 100644 --- a/workspaces/tarball/src/class/DependencyCollectableSet.class.ts +++ b/workspaces/tarball/src/class/DependencyCollectableSet.class.ts @@ -176,7 +176,10 @@ export class DependencyCollectableSet implements CollectableSet { this.#values.add(value); } - #filerDependencyByKind(dependency: string, relativeFileLocation: string) { + #filerDependencyByKind( + dependency: string, + relativeFileLocation: string = "" + ) { const firstChar = dependency.charAt(0); /** diff --git a/workspaces/tarball/src/class/SourceCodeScanner.class.ts b/workspaces/tarball/src/class/SourceCodeScanner.class.ts index 95758e64..aa87510a 100644 --- a/workspaces/tarball/src/class/SourceCodeScanner.class.ts +++ b/workspaces/tarball/src/class/SourceCodeScanner.class.ts @@ -7,7 +7,8 @@ import { AstAnalyser, type Warning, type Dependency, - type ReportOnFile + type ReportOnFile, + DefaultCollectableSet } from "@nodesecure/js-x-ray"; import { type LocatedManifestManager @@ -85,7 +86,11 @@ export class SourceCodeScanner< ) { const { reportInitiator = () => new SourceCodeReport(), - astAnalyser = new AstAnalyser() + astAnalyser = new AstAnalyser({ + collectables: [ + new DefaultCollectableSet("dependency") + ] + }) } = options; this.manifest = manifest; diff --git a/workspaces/tarball/test/SourceCodeScanner.spec.ts b/workspaces/tarball/test/SourceCodeScanner.spec.ts index 05fb6088..23a5daa6 100644 --- a/workspaces/tarball/test/SourceCodeScanner.spec.ts +++ b/workspaces/tarball/test/SourceCodeScanner.spec.ts @@ -8,9 +8,14 @@ import { describe, test } from "node:test"; import { ManifestManager } from "@nodesecure/mama"; -import { type ReportOnFile, AstAnalyser, DefaultCollectableSet } from "@nodesecure/js-x-ray"; +import { + type ReportOnFile, + AstAnalyser, + DefaultCollectableSet +} from "@nodesecure/js-x-ray"; // Import Internal Dependencies +import { DependencyCollectableSet } from "../src/index.ts"; import { SourceCodeScanner, type SourceCodeAggregator @@ -143,7 +148,10 @@ describe("SourceCodeScanner", () => { const scanner = new SourceCodeScanner(mama, { astAnalyser: new AstAnalyser({ - collectables: [emailSet] + collectables: [ + emailSet, + new DefaultCollectableSet("dependency") + ] }) }); await scanner.iterate({ @@ -158,7 +166,10 @@ describe("SourceCodeScanner", () => { test("iterate() should report typescript files", async() => { const mama = loadFixtureManifest("tsOnly"); - const astAnalyser = new AstAnalyser(); + const depsSet = new DependencyCollectableSet(mama); + const astAnalyser = new AstAnalyser({ + collectables: [depsSet] + }); const aggregator = createAggregator(); const scanner = new SourceCodeScanner(mama, { @@ -176,8 +187,9 @@ describe("SourceCodeScanner", () => { const firstReport = reports[0]; if (firstReport.ok) { - assert.ok(firstReport.dependencies.has("node:http")); - assert.ok(firstReport.dependencies.has("./bar.ts")); + const { files, dependencies } = depsSet.extract(); + assert.ok(dependencies.nodeJs.includes("node:http")); + assert.ok(files.has("bar.ts")); } else { assert.fail("First report should be ok"); diff --git a/workspaces/tree-walker/package.json b/workspaces/tree-walker/package.json index c6273aac..00d35186 100644 --- a/workspaces/tree-walker/package.json +++ b/workspaces/tree-walker/package.json @@ -37,7 +37,7 @@ }, "homepage": "https://github.com/NodeSecure/tree/master/workspaces/tree-walker#readme", "dependencies": { - "@nodesecure/js-x-ray": "14.0.0", + "@nodesecure/js-x-ray": "14.1.0", "@nodesecure/npm-registry-sdk": "^4.0.0", "@nodesecure/npm-types": "^1.1.0", "@npmcli/arborist": "9.4.0",