@nodesecure/scanner 8.1.0 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/class/logger.class.d.ts +11 -1
  2. package/dist/class/logger.class.d.ts.map +1 -1
  3. package/dist/class/logger.class.js +1 -0
  4. package/dist/class/logger.class.js.map +1 -1
  5. package/dist/comparePayloads.d.ts +1 -1
  6. package/dist/depWalker.d.ts +2 -2
  7. package/dist/depWalker.js +188 -262
  8. package/dist/depWalker.js.map +1 -1
  9. package/dist/extractors/index.d.ts +2 -2
  10. package/dist/extractors/payload.d.ts +5 -5
  11. package/dist/extractors/payload.d.ts.map +1 -1
  12. package/dist/extractors/payload.js +1 -3
  13. package/dist/extractors/payload.js.map +1 -1
  14. package/dist/extractors/probes/ContactExtractor.class.d.ts +2 -2
  15. package/dist/extractors/probes/ExtensionsExtractor.class.d.ts +2 -2
  16. package/dist/extractors/probes/FlagsExtractor.class.d.ts +2 -2
  17. package/dist/extractors/probes/FlagsExtractor.class.js +1 -1
  18. package/dist/extractors/probes/FlagsExtractor.class.js.map +1 -1
  19. package/dist/extractors/probes/LicensesExtractor.class.d.ts +2 -2
  20. package/dist/extractors/probes/NodeDependenciesExtractor.class.d.ts +2 -2
  21. package/dist/extractors/probes/SizeExtractor.class.d.ts +2 -2
  22. package/dist/extractors/probes/VulnerabilitiesExtractor.class.d.ts +2 -2
  23. package/dist/extractors/probes/WarningsExtractor.class.d.ts +2 -2
  24. package/dist/extractors/probes/index.d.ts +8 -8
  25. package/dist/index.d.ts +8 -8
  26. package/dist/index.js +9 -73
  27. package/dist/index.js.map +1 -1
  28. package/dist/registry/NpmRegistryProvider.d.ts +6 -6
  29. package/dist/registry/PackumentExtractor.d.ts +1 -1
  30. package/dist/registry/RegistryTokenStore.d.ts +1 -1
  31. package/dist/registry/fetchNpmAvatars.d.ts +1 -1
  32. package/dist/utils/addMissingVersionFlags.d.ts +1 -1
  33. package/dist/utils/index.d.ts +7 -7
  34. package/dist/utils/isNodesecurePayload.d.ts +1 -1
  35. package/dist/utils/warnings.d.ts +1 -1
  36. package/package.json +3 -4
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter } from "node:events";
2
2
  export declare const ScannerLoggerEvents: {
3
+ readonly error: "error";
3
4
  readonly done: "depWalkerFinished";
4
5
  readonly analysis: {
5
6
  readonly tree: "walkTree";
@@ -17,7 +18,16 @@ export interface LoggerEventData {
17
18
  /** Count of triggered event */
18
19
  count: number;
19
20
  }
20
- export declare class Logger extends EventEmitter {
21
+ export type LoggerEventsMap = {
22
+ start: [eventName: string];
23
+ tick: [eventName: string];
24
+ end: [eventName: string, data: LoggerEventData & {
25
+ executionTime: number;
26
+ }];
27
+ depWalkerFinished: [];
28
+ error: [error: Error, phase?: string];
29
+ };
30
+ export declare class Logger extends EventEmitter<LoggerEventsMap> {
21
31
  events: Map<string, LoggerEventData>;
22
32
  start(eventName: string): this;
23
33
  tick(eventName: string): this;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.class.d.ts","sourceRoot":"","sources":["../../src/class/logger.class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,mBAAmB;;;;;;;;;;;CAWtB,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,MAAO,SAAQ,YAAY;IAC/B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAa;IAExD,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAc9B,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAW7B,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIhC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAa7B"}
1
+ {"version":3,"file":"logger.class.d.ts","sourceRoot":"","sources":["../../src/class/logger.class.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;CAYtB,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC3B,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1B,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG;QAAE,aAAa,EAAE,MAAM,CAAC;KAAE,CAAC,CAAC;IAC7E,iBAAiB,EAAE,EAAE,CAAC;IACtB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;CACvC,CAAC;AAEF,qBAAa,MAAO,SAAQ,YAAY,CAAC,eAAe,CAAC;IAChD,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAa;IAExD,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAc9B,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAW7B,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAIhC,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAa7B"}
@@ -2,6 +2,7 @@
2
2
  import { EventEmitter } from "node:events";
3
3
  import { performance } from "node:perf_hooks";
4
4
  export const ScannerLoggerEvents = {
5
+ error: "error",
5
6
  done: "depWalkerFinished",
6
7
  analysis: {
7
8
  tree: "walkTree",
@@ -1 +1 @@
1
- {"version":3,"file":"logger.class.js","sourceRoot":"","sources":["../../src/class/logger.class.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,UAAU;KACrB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,eAAe;KACvB;CACO,CAAC;AASX,MAAM,OAAO,MAAO,SAAQ,YAAY;IAC/B,MAAM,GAAiC,IAAI,GAAG,EAAE,CAAC;IAExD,KAAK,CAAC,SAAiB;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE;YACzB,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE;YAC5B,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,SAAiB;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE;YAC1B,GAAG,IAAI;YACP,aAAa,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;SAClD,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"logger.class.js","sourceRoot":"","sources":["../../src/class/logger.class.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,UAAU;KACrB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,cAAc;QACpB,KAAK,EAAE,eAAe;KACvB;CACO,CAAC;AAiBX,MAAM,OAAO,MAAO,SAAQ,YAA6B;IAChD,MAAM,GAAiC,IAAI,GAAG,EAAE,CAAC;IAExD,KAAK,CAAC,SAAiB;QACrB,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE;YACzB,SAAS,EAAE,WAAW,CAAC,GAAG,EAAE;YAC5B,KAAK,EAAE,CAAC;SACT,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,SAAiB;QACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAE7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,SAAiB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,GAAG,CAAC,SAAiB;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE;YAC1B,GAAG,IAAI;YACP,aAAa,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;SAClD,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,6 +1,6 @@
1
1
  import type { Warning } from "@nodesecure/js-x-ray";
2
2
  import * as Vulnera from "@nodesecure/vulnera";
3
- import type { Payload, Dependency, DependencyVersion, Publisher, Maintainer, Repository, DependencyLinks, GlobalWarning } from "./types.js";
3
+ import type { Payload, Dependency, DependencyVersion, Publisher, Maintainer, Repository, DependencyLinks, GlobalWarning } from "./types.ts";
4
4
  export interface PayloadComparison {
5
5
  title: string;
6
6
  warnings: ArrayDiff<GlobalWarning>;
@@ -1,7 +1,7 @@
1
1
  import type { ManifestVersion, PackageJSON, WorkspacesPackageJSON } from "@nodesecure/npm-types";
2
2
  import type Config from "@npmcli/config";
3
- import { Logger } from "./class/logger.class.js";
4
- import type { Options, Payload } from "./types.js";
3
+ import { Logger } from "./class/logger.class.ts";
4
+ import type { Options, Payload } from "./types.ts";
5
5
  type WalkerOptions = Omit<Options, "registry"> & {
6
6
  registry: string;
7
7
  location?: string;
package/dist/depWalker.js CHANGED
@@ -1,55 +1,3 @@
1
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
- if (value !== null && value !== void 0) {
3
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
- var dispose, inner;
5
- if (async) {
6
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
- dispose = value[Symbol.asyncDispose];
8
- }
9
- if (dispose === void 0) {
10
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
- dispose = value[Symbol.dispose];
12
- if (async) inner = dispose;
13
- }
14
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
- env.stack.push({ value: value, dispose: dispose, async: async });
17
- }
18
- else if (async) {
19
- env.stack.push({ async: true });
20
- }
21
- return value;
22
- };
23
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
- return function (env) {
25
- function fail(e) {
26
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
- env.hasError = true;
28
- }
29
- var r, s = 0;
30
- function next() {
31
- while (r = env.stack.pop()) {
32
- try {
33
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
- if (r.dispose) {
35
- var result = r.dispose.call(r.value);
36
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
- }
38
- else s |= 1;
39
- }
40
- catch (e) {
41
- fail(e);
42
- }
43
- }
44
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
- if (env.hasError) throw env.error;
46
- }
47
- return next();
48
- };
49
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
- var e = new Error(message);
51
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
- });
53
1
  // Import Node.js Dependencies
54
2
  import path from "node:path";
55
3
  import { readFileSync } from "node:fs";
@@ -105,238 +53,216 @@ const kDefaultDependencyMetadata = {
105
53
  const kRootDependencyId = 0;
106
54
  const { version: packageVersion } = JSON.parse(readFileSync(new URL(path.join("..", "package.json"), import.meta.url), "utf-8"));
107
55
  export async function depWalker(manifest, options, logger = new Logger()) {
108
- const env_1 = { stack: [], error: void 0, hasError: false };
109
- try {
110
- const { scanRootNode = false, includeDevDeps = false, packageLock, maxDepth, location, vulnerabilityStrategy = Vulnera.strategies.NONE, registry, npmRcConfig } = options;
111
- const startedAt = Date.now();
112
- const isRemoteScanning = typeof location === "undefined";
113
- const tokenStore = new RegistryTokenStore(npmRcConfig, NPM_TOKEN.token);
114
- const tempDir = __addDisposableResource(env_1, await TempDirectory.create(), true);
115
- const dependencyConfusionWarnings = [];
116
- const payload = {
117
- id: tempDir.id,
118
- rootDependency: {
119
- name: manifest.name ?? "workspace",
120
- version: manifest.version ?? "0.0.0",
121
- integrity: null
122
- },
123
- scannerVersion: packageVersion,
124
- vulnerabilityStrategy,
125
- warnings: [],
126
- metadata: {
127
- startedAt,
128
- executionTime: 0
129
- }
56
+ const { scanRootNode = false, includeDevDeps = false, packageLock, maxDepth, location, vulnerabilityStrategy = Vulnera.strategies.NONE, registry, npmRcConfig } = options;
57
+ const startedAt = Date.now();
58
+ const isRemoteScanning = typeof location === "undefined";
59
+ const tokenStore = new RegistryTokenStore(npmRcConfig, NPM_TOKEN.token);
60
+ await using tempDir = await TempDirectory.create();
61
+ const dependencyConfusionWarnings = [];
62
+ const payload = {
63
+ id: tempDir.id,
64
+ rootDependency: {
65
+ name: manifest.name ?? "workspace",
66
+ version: manifest.version ?? "0.0.0",
67
+ integrity: null
68
+ },
69
+ scannerVersion: packageVersion,
70
+ vulnerabilityStrategy,
71
+ warnings: [],
72
+ metadata: {
73
+ startedAt,
74
+ executionTime: 0
75
+ }
76
+ };
77
+ const dependencies = new Map();
78
+ const npmTreeWalker = new npm.TreeWalker({
79
+ registry
80
+ });
81
+ {
82
+ logger
83
+ .start(ScannerLoggerEvents.analysis.tree)
84
+ .start(ScannerLoggerEvents.analysis.tarball)
85
+ .start(ScannerLoggerEvents.analysis.registry);
86
+ const fetchedMetadataPackages = new Set();
87
+ const operationsQueue = [];
88
+ const locker = new Mutex({ concurrency: 5 });
89
+ locker.on(MutexRelease, () => logger.tick(ScannerLoggerEvents.analysis.tarball));
90
+ const rootDepsOptions = {
91
+ maxDepth,
92
+ includeDevDeps,
93
+ packageLock
130
94
  };
131
- const dependencies = new Map();
132
- const npmTreeWalker = new npm.TreeWalker({
133
- registry
134
- });
135
- {
136
- logger
137
- .start(ScannerLoggerEvents.analysis.tree)
138
- .start(ScannerLoggerEvents.analysis.tarball)
139
- .start(ScannerLoggerEvents.analysis.registry);
140
- const fetchedMetadataPackages = new Set();
141
- const operationsQueue = [];
142
- const locker = new Mutex({ concurrency: 5 });
143
- locker.on(MutexRelease, () => logger.tick(ScannerLoggerEvents.analysis.tarball));
144
- const rootDepsOptions = {
145
- maxDepth,
146
- includeDevDeps,
147
- packageLock
148
- };
149
- for await (const current of npmTreeWalker.walk(manifest, rootDepsOptions)) {
150
- const { name, version, integrity, ...currentVersion } = current;
151
- const dependency = {
152
- versions: {
153
- [version]: {
154
- ...currentVersion,
155
- ...structuredClone(kDefaultDependencyVersionFields)
156
- }
157
- },
158
- vulnerabilities: [],
159
- metadata: structuredClone(kDefaultDependencyMetadata)
160
- };
161
- let proceedDependencyScan = true;
162
- const org = parseNpmSpec(name)?.org;
163
- if (dependencies.has(name)) {
164
- const dep = dependencies.get(name);
165
- operationsQueue.push(new NpmRegistryProvider(name, version, {
166
- registry,
167
- tokenStore
168
- }).enrichDependencyVersion(dep, dependencyConfusionWarnings, org));
169
- if (version in dep.versions) {
170
- // The dependency has already entered the analysis
171
- // This happens if the package is used by multiple packages in the tree
172
- proceedDependencyScan = false;
173
- }
174
- else {
175
- dep.versions[version] = dependency.versions[version];
95
+ for await (const current of npmTreeWalker.walk(manifest, rootDepsOptions)) {
96
+ const { name, version, integrity, ...currentVersion } = current;
97
+ const dependency = {
98
+ versions: {
99
+ [version]: {
100
+ ...currentVersion,
101
+ ...structuredClone(kDefaultDependencyVersionFields)
176
102
  }
103
+ },
104
+ vulnerabilities: [],
105
+ metadata: structuredClone(kDefaultDependencyMetadata)
106
+ };
107
+ let proceedDependencyScan = true;
108
+ const org = parseNpmSpec(name)?.org;
109
+ if (dependencies.has(name)) {
110
+ const dep = dependencies.get(name);
111
+ operationsQueue.push(new NpmRegistryProvider(name, version, {
112
+ registry,
113
+ tokenStore
114
+ }).enrichDependencyVersion(dep, dependencyConfusionWarnings, org));
115
+ if (version in dep.versions) {
116
+ // The dependency has already entered the analysis
117
+ // This happens if the package is used by multiple packages in the tree
118
+ proceedDependencyScan = false;
177
119
  }
178
120
  else {
179
- dependencies.set(name, dependency);
180
- }
181
- const isRoot = current.id === kRootDependencyId;
182
- if (isRoot && payload.rootDependency.integrity) {
183
- payload.rootDependency.integrity = integrity;
121
+ dep.versions[version] = dependency.versions[version];
184
122
  }
185
- else if (isRoot) {
186
- const isWorkspace = options.location && "workspaces" in manifest;
187
- payload.rootDependency.integrity = isWorkspace ?
188
- null :
189
- fromData(JSON.stringify(manifest), { algorithms: ["sha512"] }).toString();
190
- }
191
- // If the dependency is a DevDependencies we ignore it.
192
- if (current.isDevDependency || !proceedDependencyScan) {
193
- continue;
194
- }
195
- logger.tick(ScannerLoggerEvents.analysis.tree);
196
- // There is no need to fetch 'N' times the npm metadata for the same package.
197
- if (fetchedMetadataPackages.has(name) || !current.existOnRemoteRegistry) {
198
- logger.tick(ScannerLoggerEvents.analysis.registry);
199
- }
200
- else {
201
- fetchedMetadataPackages.add(name);
202
- const provider = new NpmRegistryProvider(name, version, {
123
+ }
124
+ else {
125
+ dependencies.set(name, dependency);
126
+ }
127
+ const isRoot = current.id === kRootDependencyId;
128
+ if (isRoot && payload.rootDependency.integrity) {
129
+ payload.rootDependency.integrity = integrity;
130
+ }
131
+ else if (isRoot) {
132
+ const isWorkspace = options.location && "workspaces" in manifest;
133
+ payload.rootDependency.integrity = isWorkspace ?
134
+ null :
135
+ fromData(JSON.stringify(manifest), { algorithms: ["sha512"] }).toString();
136
+ }
137
+ // If the dependency is a DevDependencies we ignore it.
138
+ if (current.isDevDependency || !proceedDependencyScan) {
139
+ continue;
140
+ }
141
+ logger.tick(ScannerLoggerEvents.analysis.tree);
142
+ // There is no need to fetch 'N' times the npm metadata for the same package.
143
+ if (fetchedMetadataPackages.has(name) || !current.existOnRemoteRegistry) {
144
+ logger.tick(ScannerLoggerEvents.analysis.registry);
145
+ }
146
+ else {
147
+ fetchedMetadataPackages.add(name);
148
+ const provider = new NpmRegistryProvider(name, version, {
149
+ registry,
150
+ tokenStore
151
+ });
152
+ operationsQueue.push(provider.enrichDependency(logger, dependency));
153
+ if (registry !== getNpmRegistryURL() && org) {
154
+ operationsQueue.push(new NpmRegistryProvider(name, version, {
203
155
  registry,
204
156
  tokenStore
205
- });
206
- operationsQueue.push(provider.enrichDependency(logger, dependency));
207
- if (registry !== getNpmRegistryURL() && org) {
208
- operationsQueue.push(new NpmRegistryProvider(name, version, {
209
- registry,
210
- tokenStore
211
- }).enrichScopedDependencyConfusionWarnings(dependencyConfusionWarnings, org));
212
- }
157
+ }).enrichScopedDependencyConfusionWarnings(dependencyConfusionWarnings, org));
213
158
  }
214
- const scanDirOptions = {
215
- ref: dependency.versions[version],
216
- location,
217
- isRootNode: scanRootNode && name === manifest.name,
218
- registry
219
- };
220
- operationsQueue.push(scanDirOrArchiveEx(name, version, locker, tempDir, scanDirOptions));
221
159
  }
222
- logger.end(ScannerLoggerEvents.analysis.tree);
223
- await Promise.allSettled(operationsQueue);
224
- logger
225
- .end(ScannerLoggerEvents.analysis.tarball)
226
- .end(ScannerLoggerEvents.analysis.registry);
227
- }
228
- const { hydratePayloadDependencies, strategy } = Vulnera.setStrategy(vulnerabilityStrategy);
229
- const isVulnHydratable = (strategy === "github-advisory" || strategy === "snyk")
230
- && isRemoteScanning;
231
- if (!isVulnHydratable) {
232
- await hydratePayloadDependencies(dependencies, {
233
- useStandardFormat: true,
234
- path: location
235
- });
160
+ const scanDirOptions = {
161
+ ref: dependency.versions[version],
162
+ location,
163
+ isRootNode: scanRootNode && name === manifest.name,
164
+ registry
165
+ };
166
+ operationsQueue.push(scanDirOrArchiveEx(name, version, locker, tempDir, logger, scanDirOptions));
236
167
  }
237
- payload.vulnerabilityStrategy = strategy;
238
- // We do this because it "seem" impossible to link all dependencies in the first walk.
239
- // Because we are dealing with package only one time it may happen sometimes.
240
- const globalWarnings = [];
241
- for (const [packageName, dependency] of dependencies) {
242
- const metadataIntegrities = dependency.metadata?.integrity ?? {};
243
- for (const [version, integrity] of Object.entries(metadataIntegrities)) {
244
- const dependencyVer = dependency.versions[version];
245
- const isEmptyPackage = dependencyVer.warnings.some((warning) => warning.kind === "empty-package");
246
- if (isEmptyPackage) {
247
- globalWarnings.push({
248
- type: "empty-package",
249
- message: `${packageName}@${version} only contain a package.json file!`
250
- });
251
- }
252
- if (!("integrity" in dependencyVer) || dependencyVer.flags.includes("isGit")) {
253
- continue;
254
- }
255
- if (dependencyVer.integrity !== integrity) {
256
- globalWarnings.push({
257
- type: "integrity-mismatch",
258
- message: `${packageName}@${version} manifest & tarball integrity doesn't match!`
259
- });
260
- }
168
+ logger.end(ScannerLoggerEvents.analysis.tree);
169
+ await Promise.allSettled(operationsQueue);
170
+ logger
171
+ .end(ScannerLoggerEvents.analysis.tarball)
172
+ .end(ScannerLoggerEvents.analysis.registry);
173
+ }
174
+ const { hydratePayloadDependencies, strategy } = Vulnera.setStrategy(vulnerabilityStrategy);
175
+ const isVulnHydratable = (strategy === "github-advisory" || strategy === "snyk")
176
+ && isRemoteScanning;
177
+ if (!isVulnHydratable) {
178
+ await hydratePayloadDependencies(dependencies, {
179
+ useStandardFormat: true,
180
+ path: location
181
+ });
182
+ }
183
+ payload.vulnerabilityStrategy = strategy;
184
+ // We do this because it "seem" impossible to link all dependencies in the first walk.
185
+ // Because we are dealing with package only one time it may happen sometimes.
186
+ const globalWarnings = [];
187
+ for (const [packageName, dependency] of dependencies) {
188
+ const metadataIntegrities = dependency.metadata?.integrity ?? {};
189
+ for (const [version, integrity] of Object.entries(metadataIntegrities)) {
190
+ const dependencyVer = dependency.versions[version];
191
+ const isEmptyPackage = dependencyVer.warnings.some((warning) => warning.kind === "empty-package");
192
+ if (isEmptyPackage) {
193
+ globalWarnings.push({
194
+ type: "empty-package",
195
+ message: `${packageName}@${version} only contain a package.json file!`
196
+ });
261
197
  }
262
- for (const version of Object.entries(dependency.versions)) {
263
- const [verStr, verDescriptor] = version;
264
- verDescriptor.flags.push(...addMissingVersionFlags(new Set(verDescriptor.flags), dependency));
265
- if (isLocalManifest(verDescriptor, manifest, packageName)) {
266
- Object.assign(dependency.metadata, {
267
- author: parseAuthor(manifest.author),
268
- homepage: manifest.homepage
269
- });
270
- Object.assign(verDescriptor, {
271
- author: parseAuthor(manifest.author),
272
- links: getManifestLinks(manifest),
273
- repository: manifest.repository
274
- });
275
- }
276
- const usedDeps = npmTreeWalker.relationsMap.get(`${packageName}@${verStr}`) || new Set();
277
- if (usedDeps.size === 0) {
278
- continue;
279
- }
280
- const usedBy = Object.create(null);
281
- for (const [name, version] of getUsedDeps(usedDeps)) {
282
- usedBy[name] = version;
283
- }
284
- Object.assign(verDescriptor.usedBy, usedBy);
198
+ if (!("integrity" in dependencyVer) || dependencyVer.flags.includes("isGit")) {
199
+ continue;
200
+ }
201
+ if (dependencyVer.integrity !== integrity) {
202
+ globalWarnings.push({
203
+ type: "integrity-mismatch",
204
+ message: `${packageName}@${version} manifest & tarball integrity doesn't match!`
205
+ });
285
206
  }
286
207
  }
287
- try {
288
- const { warnings, illuminated } = await getDependenciesWarnings(dependencies, options.highlight?.contacts, isRemoteScanning);
289
- payload.warnings = globalWarnings.concat(dependencyConfusionWarnings).concat(warnings);
290
- payload.highlighted = {
291
- contacts: illuminated
292
- };
293
- payload.dependencies = Object.fromEntries(dependencies);
294
- payload.metadata.executionTime = Date.now() - startedAt;
295
- return payload;
296
- }
297
- finally {
298
- logger.emit(ScannerLoggerEvents.done);
208
+ for (const version of Object.entries(dependency.versions)) {
209
+ const [verStr, verDescriptor] = version;
210
+ verDescriptor.flags.push(...addMissingVersionFlags(new Set(verDescriptor.flags), dependency));
211
+ if (isLocalManifest(verDescriptor, manifest, packageName)) {
212
+ Object.assign(dependency.metadata, {
213
+ author: parseAuthor(manifest.author),
214
+ homepage: manifest.homepage
215
+ });
216
+ Object.assign(verDescriptor, {
217
+ author: parseAuthor(manifest.author),
218
+ links: getManifestLinks(manifest),
219
+ repository: manifest.repository
220
+ });
221
+ }
222
+ const usedDeps = npmTreeWalker.relationsMap.get(`${packageName}@${verStr}`) || new Set();
223
+ if (usedDeps.size === 0) {
224
+ continue;
225
+ }
226
+ const usedBy = Object.create(null);
227
+ for (const [name, version] of getUsedDeps(usedDeps)) {
228
+ usedBy[name] = version;
229
+ }
230
+ Object.assign(verDescriptor.usedBy, usedBy);
299
231
  }
300
232
  }
301
- catch (e_1) {
302
- env_1.error = e_1;
303
- env_1.hasError = true;
233
+ try {
234
+ const { warnings, illuminated } = await getDependenciesWarnings(dependencies, options.highlight?.contacts, isRemoteScanning);
235
+ payload.warnings = globalWarnings.concat(dependencyConfusionWarnings).concat(warnings);
236
+ payload.highlighted = {
237
+ contacts: illuminated
238
+ };
239
+ payload.dependencies = Object.fromEntries(dependencies);
240
+ payload.metadata.executionTime = Date.now() - startedAt;
241
+ return payload;
304
242
  }
305
243
  finally {
306
- const result_1 = __disposeResources(env_1);
307
- if (result_1)
308
- await result_1;
244
+ logger.emit(ScannerLoggerEvents.done);
309
245
  }
310
246
  }
311
247
  // eslint-disable-next-line max-params
312
- async function scanDirOrArchiveEx(name, version, locker, tempDir, options) {
313
- const env_2 = { stack: [], error: void 0, hasError: false };
248
+ async function scanDirOrArchiveEx(name, version, locker, tempDir, logger, options) {
249
+ using _ = await locker.acquire();
314
250
  try {
315
- const _ = __addDisposableResource(env_2, await locker.acquire(), false);
316
- try {
317
- const { registry, location = process.cwd(), isRootNode, ref } = options;
318
- const mama = await (isRootNode ?
319
- ManifestManager.fromPackageJSON(location) :
320
- extractAndResolve(tempDir.location, {
321
- spec: `${name}@${version}`,
322
- registry
323
- }));
324
- await scanDirOrArchive(mama, ref, {
325
- astAnalyserOptions: {
326
- optionalWarnings: typeof location !== "undefined"
327
- }
328
- });
329
- }
330
- catch {
331
- // ignore
332
- }
333
- }
334
- catch (e_2) {
335
- env_2.error = e_2;
336
- env_2.hasError = true;
251
+ const { registry, location = process.cwd(), isRootNode, ref } = options;
252
+ const mama = await (isRootNode ?
253
+ ManifestManager.fromPackageJSON(location) :
254
+ extractAndResolve(tempDir.location, {
255
+ spec: `${name}@${version}`,
256
+ registry
257
+ }));
258
+ await scanDirOrArchive(mama, ref, {
259
+ astAnalyserOptions: {
260
+ optionalWarnings: typeof location !== "undefined"
261
+ }
262
+ });
337
263
  }
338
- finally {
339
- __disposeResources(env_2);
264
+ catch (error) {
265
+ logger.emit(ScannerLoggerEvents.error, error, "tarball-scan");
340
266
  }
341
267
  }
342
268
  function isLocalManifest(verDescriptor, manifest, packageName) {
@@ -1 +1 @@
1
- {"version":3,"file":"depWalker.js","sourceRoot":"","sources":["../src/depWalker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"depWalker.js","sourceRoot":"","sources":["../src/depWalker.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Payload, type ProbeExtractor, type PackumentProbeExtractor, type ManifestProbeExtractor, type PackumentProbeNextCallback, type ManifestProbeNextCallback } from "./payload.js";
2
- import * as Probes from "./probes/index.js";
1
+ import { Payload, type ProbeExtractor, type PackumentProbeExtractor, type ManifestProbeExtractor, type PackumentProbeNextCallback, type ManifestProbeNextCallback } from "./payload.ts";
2
+ import * as Probes from "./probes/index.ts";
3
3
  export declare const Extractors: {
4
4
  readonly Payload: typeof Payload;
5
5
  readonly Callbacks: {
@@ -1,5 +1,5 @@
1
1
  import type { Simplify } from "type-fest";
2
- import * as Scanner from "../types.js";
2
+ import type { Dependency, DependencyVersion, Payload as NodesecurePayload } from "../types.ts";
3
3
  type MergeDeep<T extends unknown[]> = T extends [a: infer A, ...rest: infer R] ? A & MergeDeep<R> : {};
4
4
  export type ExtractProbeResult<T extends ProbeExtractor<any>[]> = {
5
5
  [K in keyof T]: T[K] extends ProbeExtractor<any> ? ReturnType<T[K]["done"]> : never;
@@ -8,10 +8,10 @@ export type MergedExtractProbeResult<T extends ProbeExtractor<any>[]> = Simplify
8
8
  export type ProbeExtractorLevel = "packument" | "manifest";
9
9
  export type ProbeExtractorManifestParent = {
10
10
  name: string;
11
- dependency: Scanner.Dependency;
11
+ dependency: Dependency;
12
12
  };
13
- export type PackumentProbeNextCallback = (name: string, dependency: Scanner.Dependency) => void;
14
- export type ManifestProbeNextCallback = (spec: string, dependencyVersion: Scanner.DependencyVersion, parent: ProbeExtractorManifestParent) => void;
13
+ export type PackumentProbeNextCallback = (name: string, dependency: Dependency) => void;
14
+ export type ManifestProbeNextCallback = (spec: string, dependencyVersion: DependencyVersion, parent: ProbeExtractorManifestParent) => void;
15
15
  export interface ProbeExtractor<Defs> {
16
16
  level: ProbeExtractorLevel;
17
17
  next(...args: any[]): void;
@@ -29,7 +29,7 @@ export declare class Payload<T extends ProbeExtractor<any>[]> extends EventTarge
29
29
  private dependencies;
30
30
  private probes;
31
31
  private cachedResult;
32
- constructor(data: Scanner.Payload | Scanner.Payload["dependencies"], probes: [...T]);
32
+ constructor(data: NodesecurePayload | NodesecurePayload["dependencies"], probes: [...T]);
33
33
  extract(): ExtractProbeResult<T>;
34
34
  extractAndMerge(): MergedExtractProbeResult<T>;
35
35
  emit<T extends ProbeExtractorLevel>(event: T, ...extractionDetails: unknown[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../src/extractors/payload.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAK1C,OAAO,KAAK,OAAO,MAAM,aAAa,CAAC;AAMvC,KAAK,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,IAC9B,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;AAErE,MAAM,MAAM,kBAAkB,CAC5B,CAAC,SAAS,cAAc,CAAC,GAAG,CAAC,EAAE,IAC7B;KACD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,cAAc,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK;CACpF,CAAC;AACF,MAAM,MAAM,wBAAwB,CAClC,CAAC,SAAS,cAAc,CAAC,GAAG,CAAC,EAAE,IAC7B,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAE/C,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG,UAAU,CAAC;AAC3D,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC;AAChG,MAAM,MAAM,yBAAyB,GAAG,CACtC,IAAI,EAAE,MAAM,EACZ,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAC5C,MAAM,EAAE,4BAA4B,KAAK,IAAI,CAAC;AAEhD,MAAM,WAAW,cAAc,CAAC,IAAI;IAClC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3B,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,WAAW,uBAAuB,CAAC,IAAI,CAAE,SAAQ,cAAc,CAAC,IAAI,CAAC;IACzE,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,0BAA0B,CAAC;CAClC;AAED,MAAM,WAAW,sBAAsB,CAAC,IAAI,CAAE,SAAQ,cAAc,CAAC,IAAI,CAAC;IACxE,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,yBAAyB,CAAC;CACjC;AAED,qBAAa,OAAO,CAAC,CAAC,SAAS,cAAc,CAAC,GAAG,CAAC,EAAE,CAAE,SAAQ,WAAW;IACvE,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,YAAY,CAAwB;gBAG1C,IAAI,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EACvD,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;IAchB,OAAO;IAyBP,eAAe,IAGG,wBAAwB,CAAC,CAAC,CAAC;IAG7C,IAAI,CAAC,CAAC,SAAS,mBAAmB,EAChC,KAAK,EAAE,CAAC,EACR,GAAG,iBAAiB,EAAE,OAAO,EAAE;IAQjC,EAAE,CAAC,CAAC,SAAS,mBAAmB,EAC9B,CAAC,EAAE,CAAC,EACJ,QAAQ,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC7B,IAAI;CASR;AAED,eAAO,MAAM,SAAS;mCAER,0BAA0B,KACnC,uBAAuB,CAAC,IAAI,CAAC;kCAQpB,yBAAyB,KAClC,sBAAsB,CAAC,IAAI,CAAC;CAOvB,CAAC;AAEX,KAAK,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,IAAI,UAAU,CAChE,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CACtB,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,uBAAuB,CAAC,CAAC,SAAS,mBAAmB,IAAI,UAAU,CAC7E,iBAAiB,CAAC,CAAC,CAAC,CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,mBAAmB,IAAI,CAC7D,GAAG,MAAM,EAAE,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KACzD,IAAI,CAAC"}
1
+ {"version":3,"file":"payload.d.ts","sourceRoot":"","sources":["../../src/extractors/payload.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  // @ts-ignore
2
2
  import deepmerge from "@fastify/deepmerge";
3
- // Import Internal Dependencies
4
- import * as Scanner from "../types.js";
5
- import { isNodesecurePayload } from "../utils/index.js";
3
+ import { isNodesecurePayload } from "../utils/isNodesecurePayload.js";
6
4
  // CONSTANTS
7
5
  const kFastMerge = deepmerge({ all: true });
8
6
  export class Payload extends EventTarget {
@@ -1 +1 @@
1
- {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/extractors/payload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload.js","sourceRoot":"","sources":["../../src/extractors/payload.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { ManifestProbeExtractor, ProbeExtractorManifestParent } from "../payload.js";
2
- import type { DependencyVersion } from "../../types.js";
1
+ import type { ManifestProbeExtractor, ProbeExtractorManifestParent } from "../payload.ts";
2
+ import type { DependencyVersion } from "../../types.ts";
3
3
  export type ContactsResult = {
4
4
  contacts: Record<string, number>;
5
5
  };
@@ -1,5 +1,5 @@
1
- import type { ManifestProbeExtractor } from "../payload.js";
2
- import type { DependencyVersion } from "../../types.js";
1
+ import type { ManifestProbeExtractor } from "../payload.ts";
2
+ import type { DependencyVersion } from "../../types.ts";
3
3
  export type ExtensionsResult = {
4
4
  extensions: Record<string, number>;
5
5
  };
@@ -1,5 +1,5 @@
1
- import type { ManifestProbeExtractor } from "../payload.js";
2
- import type { DependencyVersion } from "../../types.js";
1
+ import type { ManifestProbeExtractor } from "../payload.ts";
2
+ import type { DependencyVersion } from "../../types.ts";
3
3
  export type FlagsResult = {
4
4
  flags: Record<string, number>;
5
5
  };
@@ -1,6 +1,6 @@
1
1
  // Import Third-party Dependencies
2
2
  import FrequencySet from "frequency-set";
3
- import { getFlags } from "@nodesecure/flags";
3
+ import { getFlags } from "@nodesecure/flags/web";
4
4
  // CONSTANTS
5
5
  const kWantedFlags = getFlags();
6
6
  export class Flags {
@@ -1 +1 @@
1
- {"version":3,"file":"FlagsExtractor.class.js","sourceRoot":"","sources":["../../../src/extractors/probes/FlagsExtractor.class.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAY7C,YAAY;AACZ,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;AAEhC,MAAM,OAAO,KAAK;IAChB,KAAK,GAAG,UAAmB,CAAC;IAE5B,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAE5B,IAAI,CACF,CAAS,EACT,OAA0B;QAE1B,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACzB,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;SACvC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"FlagsExtractor.class.js","sourceRoot":"","sources":["../../../src/extractors/probes/FlagsExtractor.class.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,OAAO,YAAY,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAYjD,YAAY;AACZ,MAAM,YAAY,GAAG,QAAQ,EAAE,CAAC;AAEhC,MAAM,OAAO,KAAK;IAChB,KAAK,GAAG,UAAmB,CAAC;IAE5B,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;IAE5B,IAAI,CACF,CAAS,EACT,OAA0B;QAE1B,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;QAE1B,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACzB,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC;SACvC,CAAC;IACJ,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import type { ManifestProbeExtractor } from "../payload.js";
2
- import type { DependencyVersion } from "../../types.js";
1
+ import type { ManifestProbeExtractor } from "../payload.ts";
2
+ import type { DependencyVersion } from "../../types.ts";
3
3
  export type LicensesResult = {
4
4
  licenses: Record<string, number>;
5
5
  };
@@ -1,5 +1,5 @@
1
- import type { ManifestProbeExtractor } from "../payload.js";
2
- import type { DependencyVersion } from "../../types.js";
1
+ import type { ManifestProbeExtractor } from "../payload.ts";
2
+ import type { DependencyVersion } from "../../types.ts";
3
3
  export type NodeDependenciesResult = {
4
4
  nodeDeps: string[];
5
5
  };
@@ -1,5 +1,5 @@
1
- import type { ManifestProbeExtractor, ProbeExtractorManifestParent } from "../payload.js";
2
- import type { DependencyVersion } from "../../types.js";
1
+ import type { ManifestProbeExtractor, ProbeExtractorManifestParent } from "../payload.ts";
2
+ import type { DependencyVersion } from "../../types.ts";
3
3
  export type SizeResult = {
4
4
  size: {
5
5
  all: string;
@@ -1,6 +1,6 @@
1
1
  import type { StandardVulnerability } from "@nodesecure/vulnera";
2
- import type { PackumentProbeExtractor } from "../payload.js";
3
- import type { Dependency } from "../../types.js";
2
+ import type { PackumentProbeExtractor } from "../payload.ts";
3
+ import type { Dependency } from "../../types.ts";
4
4
  export type VulnerabilitiesResult = {
5
5
  vulnerabilities: StandardVulnerability[];
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import type { Warning, WarningName } from "@nodesecure/js-x-ray";
2
- import type { ManifestProbeExtractor, ProbeExtractorManifestParent } from "../payload.js";
3
- import type { DependencyVersion } from "../../types.js";
2
+ import type { ManifestProbeExtractor, ProbeExtractorManifestParent } from "../payload.ts";
3
+ import type { DependencyVersion } from "../../types.ts";
4
4
  export type WarningsResult = {
5
5
  warnings: {
6
6
  count: number;
@@ -1,9 +1,9 @@
1
- export * from "./SizeExtractor.class.js";
2
- export * from "./LicensesExtractor.class.js";
3
- export * from "./ContactExtractor.class.js";
4
- export * from "./WarningsExtractor.class.js";
5
- export * from "./VulnerabilitiesExtractor.class.js";
6
- export * from "./FlagsExtractor.class.js";
7
- export * from "./ExtensionsExtractor.class.js";
8
- export * from "./NodeDependenciesExtractor.class.js";
1
+ export * from "./SizeExtractor.class.ts";
2
+ export * from "./LicensesExtractor.class.ts";
3
+ export * from "./ContactExtractor.class.ts";
4
+ export * from "./WarningsExtractor.class.ts";
5
+ export * from "./VulnerabilitiesExtractor.class.ts";
6
+ export * from "./FlagsExtractor.class.ts";
7
+ export * from "./ExtensionsExtractor.class.ts";
8
+ export * from "./NodeDependenciesExtractor.class.ts";
9
9
  //# sourceMappingURL=index.d.ts.map
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as tarball from "@nodesecure/tarball";
2
2
  import type Config from "@npmcli/config";
3
- import { depWalker } from "./depWalker.js";
4
- import { Logger, ScannerLoggerEvents } from "./class/logger.class.js";
5
- import { comparePayloads } from "./comparePayloads.js";
6
- import type { Options } from "./types.js";
7
- export * from "./types.js";
8
- export * from "./extractors/index.js";
3
+ import { depWalker } from "./depWalker.ts";
4
+ import { Logger, ScannerLoggerEvents } from "./class/logger.class.ts";
5
+ import { comparePayloads } from "./comparePayloads.ts";
6
+ import type { Options } from "./types.ts";
7
+ export * from "./types.ts";
8
+ export * from "./extractors/index.ts";
9
9
  export type CwdOptions = Options & {
10
10
  /**
11
11
  * NPM runtime configuration (such as local .npmrc file)
@@ -13,9 +13,9 @@ export type CwdOptions = Options & {
13
13
  */
14
14
  npmRcConfig?: Config;
15
15
  };
16
- export declare function cwd(location?: string, options?: CwdOptions, logger?: Logger): Promise<import("./types.js").Payload>;
16
+ export declare function cwd(location?: string, options?: CwdOptions, logger?: Logger): Promise<import("./types.ts").Payload>;
17
17
  export type FromOptions = Omit<Options, "includeDevDeps">;
18
- export declare function from(packageName: string, options?: FromOptions, logger?: Logger): Promise<import("./types.js").Payload>;
18
+ export declare function from(packageName: string, options?: FromOptions, logger?: Logger): Promise<import("./types.ts").Payload>;
19
19
  export declare function verify(packageName?: string): Promise<tarball.ScannedPackageResult>;
20
20
  export { depWalker, tarball, comparePayloads, Logger, ScannerLoggerEvents };
21
21
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,55 +1,3 @@
1
- var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) {
2
- if (value !== null && value !== void 0) {
3
- if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected.");
4
- var dispose, inner;
5
- if (async) {
6
- if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined.");
7
- dispose = value[Symbol.asyncDispose];
8
- }
9
- if (dispose === void 0) {
10
- if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined.");
11
- dispose = value[Symbol.dispose];
12
- if (async) inner = dispose;
13
- }
14
- if (typeof dispose !== "function") throw new TypeError("Object not disposable.");
15
- if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };
16
- env.stack.push({ value: value, dispose: dispose, async: async });
17
- }
18
- else if (async) {
19
- env.stack.push({ async: true });
20
- }
21
- return value;
22
- };
23
- var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) {
24
- return function (env) {
25
- function fail(e) {
26
- env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e;
27
- env.hasError = true;
28
- }
29
- var r, s = 0;
30
- function next() {
31
- while (r = env.stack.pop()) {
32
- try {
33
- if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);
34
- if (r.dispose) {
35
- var result = r.dispose.call(r.value);
36
- if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });
37
- }
38
- else s |= 1;
39
- }
40
- catch (e) {
41
- fail(e);
42
- }
43
- }
44
- if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();
45
- if (env.hasError) throw env.error;
46
- }
47
- return next();
48
- };
49
- })(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
50
- var e = new Error(message);
51
- return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
52
- });
53
1
  // Import Node.js Dependencies
54
2
  import path from "node:path";
55
3
  import fs from "node:fs/promises";
@@ -103,28 +51,16 @@ export async function from(packageName, options = {}, logger = new Logger()) {
103
51
  manifest, Object.assign(options, { registry }), logger);
104
52
  }
105
53
  export async function verify(packageName) {
106
- const env_1 = { stack: [], error: void 0, hasError: false };
107
- try {
108
- if (typeof packageName === "undefined") {
109
- return tarball.scanPackage(process.cwd());
110
- }
111
- const tempDir = __addDisposableResource(env_1, await TempDirectory.create(), true);
112
- const mama = await tarball.extractAndResolve(tempDir.location, {
113
- spec: packageName,
114
- registry: getLocalRegistryURL()
115
- });
116
- const scanResult = await tarball.scanPackage(mama);
117
- return scanResult;
118
- }
119
- catch (e_1) {
120
- env_1.error = e_1;
121
- env_1.hasError = true;
122
- }
123
- finally {
124
- const result_1 = __disposeResources(env_1);
125
- if (result_1)
126
- await result_1;
54
+ if (typeof packageName === "undefined") {
55
+ return tarball.scanPackage(process.cwd());
127
56
  }
57
+ await using tempDir = await TempDirectory.create();
58
+ const mama = await tarball.extractAndResolve(tempDir.location, {
59
+ spec: packageName,
60
+ registry: getLocalRegistryURL()
61
+ });
62
+ const scanResult = await tarball.scanPackage(mama);
63
+ return scanResult;
128
64
  }
129
65
  export { depWalker, tarball, comparePayloads, Logger, ScannerLoggerEvents };
130
66
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as npmRegistrySDK from "@nodesecure/npm-registry-sdk";
2
2
  import type { Packument, PackumentVersion, Signature } from "@nodesecure/npm-types";
3
- import { type DateProvider } from "./PackumentExtractor.js";
4
- import type { Dependency, DependencyConfusionWarning, TokenStore } from "../types.js";
5
- import { Logger } from "../class/logger.class.js";
3
+ import { type DateProvider } from "./PackumentExtractor.ts";
4
+ import type { Dependency, DependencyConfusionWarning, TokenStore } from "../types.ts";
5
+ import { Logger } from "../class/logger.class.ts";
6
6
  type PackumentNpmApiOptions = {
7
7
  registry: string;
8
8
  token?: string;
@@ -47,10 +47,10 @@ export declare class NpmRegistryProvider {
47
47
  hasChangedAuthor: boolean;
48
48
  hasManyPublishers: boolean;
49
49
  hasReceivedUpdateInOneYear: boolean;
50
- author: import("../types.js").Maintainer | null;
50
+ author: import("../types.ts").Maintainer | null;
51
51
  homepage: string | null;
52
- maintainers: import("../types.js").Maintainer[];
53
- publishers: import("../types.js").Publisher[];
52
+ maintainers: import("../types.ts").Maintainer[];
53
+ publishers: import("../types.ts").Publisher[];
54
54
  integrity: Record<string, string>;
55
55
  };
56
56
  flags: string[];
@@ -1,5 +1,5 @@
1
1
  import type { Packument } from "@nodesecure/npm-types";
2
- import type { Dependency } from "../types.js";
2
+ import type { Dependency } from "../types.ts";
3
3
  export interface DateProvider {
4
4
  oneYearAgo(): Date;
5
5
  }
@@ -1,5 +1,5 @@
1
1
  import type Config from "@npmcli/config";
2
- import { type TokenStore } from "../types.js";
2
+ import { type TokenStore } from "../types.ts";
3
3
  export declare class RegistryTokenStore implements TokenStore {
4
4
  #private;
5
5
  constructor(config: Config | undefined, tokenFromEnv: string | undefined);
@@ -1,3 +1,3 @@
1
- import type { Dependency } from "../types.js";
1
+ import type { Dependency } from "../types.ts";
2
2
  export declare function fetchNpmAvatars(metadata: Dependency["metadata"]): Promise<void>;
3
3
  //# sourceMappingURL=fetchNpmAvatars.d.ts.map
@@ -1,3 +1,3 @@
1
- import type { Dependency } from "../types.js";
1
+ import type { Dependency } from "../types.ts";
2
2
  export declare function addMissingVersionFlags(flags: Set<string>, dep: Dependency): IterableIterator<string>;
3
3
  //# sourceMappingURL=addMissingVersionFlags.d.ts.map
@@ -1,10 +1,10 @@
1
- export * from "./dirname.js";
2
- export * from "./warnings.js";
3
- export * from "./addMissingVersionFlags.js";
4
- export * from "./getLinks.js";
5
- export * from "./urlToString.js";
6
- export * from "./getUsedDeps.js";
7
- export * from "./isNodesecurePayload.js";
1
+ export * from "./dirname.ts";
2
+ export * from "./warnings.ts";
3
+ export * from "./addMissingVersionFlags.ts";
4
+ export * from "./getLinks.ts";
5
+ export * from "./urlToString.ts";
6
+ export * from "./getUsedDeps.ts";
7
+ export * from "./isNodesecurePayload.ts";
8
8
  export declare const NPM_TOKEN: {
9
9
  token: string;
10
10
  } | {
@@ -1,3 +1,3 @@
1
- import type { Payload } from "../types.js";
1
+ import type { Payload } from "../types.ts";
2
2
  export declare function isNodesecurePayload(data: Payload | Payload["dependencies"]): data is Payload;
3
3
  //# sourceMappingURL=isNodesecurePayload.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { type IlluminatedContact } from "@nodesecure/contact";
2
2
  import type { Contact } from "@nodesecure/npm-types";
3
- import type { Dependency, GlobalWarning } from "../types.js";
3
+ import type { Dependency, GlobalWarning } from "../types.ts";
4
4
  export interface GetWarningsResult {
5
5
  warnings: GlobalWarning[];
6
6
  illuminated: IlluminatedContact[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nodesecure/scanner",
3
- "version": "8.1.0",
3
+ "version": "8.2.0",
4
4
  "description": "A package API to run a static analysis of your module's dependencies.",
5
5
  "type": "module",
6
6
  "exports": {
@@ -22,7 +22,7 @@
22
22
  "lint": "eslint src test",
23
23
  "prepublishOnly": "npm run build && pkg-ok",
24
24
  "test": "c8 -r html npm run test-only && npm run test-types",
25
- "test-only": "tsx --test ./test/**/*.spec.ts",
25
+ "test-only": "node --test ./test/**/*.spec.ts",
26
26
  "test-types": "attw --pack . --profile esm-only"
27
27
  },
28
28
  "files": [
@@ -68,7 +68,7 @@
68
68
  "@nodesecure/npm-types": "^1.3.0",
69
69
  "@nodesecure/rc": "^5.0.1",
70
70
  "@nodesecure/tarball": "^2.3.0",
71
- "@nodesecure/tree-walker": "^2.0.0",
71
+ "@nodesecure/tree-walker": "^2.1.0",
72
72
  "@nodesecure/utils": "^2.3.0",
73
73
  "@nodesecure/vulnera": "^2.0.1",
74
74
  "@openally/mutex": "^2.0.0",
@@ -84,7 +84,6 @@
84
84
  "@types/node": "^24.0.2",
85
85
  "@types/npmcli__config": "^6.0.3",
86
86
  "c8": "^10.1.3",
87
- "tsx": "^4.19.4",
88
87
  "typescript": "^5.8.3"
89
88
  }
90
89
  }