@santi020k/dep-beacon-core 1.0.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.
- package/CHANGELOG.md +7 -0
- package/LICENSE +21 -0
- package/README.md +9 -0
- package/dist/analyzer.d.ts +12 -0
- package/dist/analyzer.d.ts.map +1 -0
- package/dist/analyzer.js +154 -0
- package/dist/analyzer.js.map +1 -0
- package/dist/catalogs.d.ts +5 -0
- package/dist/catalogs.d.ts.map +1 -0
- package/dist/catalogs.js +33 -0
- package/dist/catalogs.js.map +1 -0
- package/dist/fetch.d.ts +3 -0
- package/dist/fetch.d.ts.map +1 -0
- package/dist/fetch.js +25 -0
- package/dist/fetch.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest.d.ts +5 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +28 -0
- package/dist/manifest.js.map +1 -0
- package/dist/osv.d.ts +12 -0
- package/dist/osv.d.ts.map +1 -0
- package/dist/osv.js +165 -0
- package/dist/osv.js.map +1 -0
- package/dist/package-json.d.ts +3 -0
- package/dist/package-json.d.ts.map +1 -0
- package/dist/package-json.js +166 -0
- package/dist/package-json.js.map +1 -0
- package/dist/package-name.d.ts +8 -0
- package/dist/package-name.d.ts.map +1 -0
- package/dist/package-name.js +35 -0
- package/dist/package-name.js.map +1 -0
- package/dist/pnpm-workspace.d.ts +3 -0
- package/dist/pnpm-workspace.d.ts.map +1 -0
- package/dist/pnpm-workspace.js +169 -0
- package/dist/pnpm-workspace.js.map +1 -0
- package/dist/registry.d.ts +16 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +122 -0
- package/dist/registry.js.map +1 -0
- package/dist/sort.d.ts +3 -0
- package/dist/sort.d.ts.map +1 -0
- package/dist/sort.js +44 -0
- package/dist/sort.js.map +1 -0
- package/dist/text.d.ts +6 -0
- package/dist/text.d.ts.map +1 -0
- package/dist/text.js +40 -0
- package/dist/text.js.map +1 -0
- package/dist/types.d.ts +97 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/versions.d.ts +26 -0
- package/dist/versions.d.ts.map +1 -0
- package/dist/versions.js +117 -0
- package/dist/versions.js.map +1 -0
- package/package.json +69 -0
package/dist/text.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export const createLineStarts = (text) => {
|
|
2
|
+
const starts = [0];
|
|
3
|
+
for (let index = 0; index < text.length; index += 1) {
|
|
4
|
+
if (text.charCodeAt(index) === 10) {
|
|
5
|
+
starts.push(index + 1);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return starts;
|
|
9
|
+
};
|
|
10
|
+
export const offsetToPosition = (lineStarts, offset) => {
|
|
11
|
+
let low = 0;
|
|
12
|
+
let high = lineStarts.length - 1;
|
|
13
|
+
while (low <= high) {
|
|
14
|
+
const middle = Math.floor((low + high) / 2);
|
|
15
|
+
const start = lineStarts[middle] ?? 0;
|
|
16
|
+
if (start > offset) {
|
|
17
|
+
high = middle - 1;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
low = middle + 1;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const line = Math.max(0, low - 1);
|
|
24
|
+
const lineStart = lineStarts[line] ?? 0;
|
|
25
|
+
return {
|
|
26
|
+
character: Math.max(0, offset - lineStart),
|
|
27
|
+
line,
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export const createTextRange = (lineStarts, start, end) => ({
|
|
31
|
+
end,
|
|
32
|
+
endPosition: offsetToPosition(lineStarts, end),
|
|
33
|
+
start,
|
|
34
|
+
startPosition: offsetToPosition(lineStarts, start),
|
|
35
|
+
});
|
|
36
|
+
export const createFullRange = (text) => {
|
|
37
|
+
const lineStarts = createLineStarts(text);
|
|
38
|
+
return createTextRange(lineStarts, 0, text.length);
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=text.js.map
|
package/dist/text.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAY,EAAE;IACzD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAA;IAElB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,UAA6B,EAAE,MAAc,EAAgB,EAAE;IAC9F,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,IAAI,IAAI,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAA;IAEhC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAErC,IAAI,KAAK,GAAG,MAAM,EAAE,CAAC;YACnB,IAAI,GAAG,MAAM,GAAG,CAAC,CAAA;QACnB,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,GAAG,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAA;IACjC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEvC,OAAO;QACL,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1C,IAAI;KACL,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,UAA6B,EAC7B,KAAa,EACb,GAAW,EACA,EAAE,CAAC,CAAC;IACf,GAAG;IACH,WAAW,EAAE,gBAAgB,CAAC,UAAU,EAAE,GAAG,CAAC;IAC9C,KAAK;IACL,aAAa,EAAE,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC;CACnD,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAa,EAAE;IACzD,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAEzC,OAAO,eAAe,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;AACpD,CAAC,CAAA"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
export type DependencySourceKind = 'package-json' | 'pnpm-workspace';
|
|
2
|
+
export type DependencyManager = 'npm' | 'pnpm' | 'yarn';
|
|
3
|
+
export type DependencySection = 'catalog' | 'catalogs' | 'dependencies' | 'devDependencies' | 'optionalDependencies' | 'overrides' | 'packageExtensions' | 'peerDependencies' | 'pnpm.overrides' | 'resolutions';
|
|
4
|
+
export type DependencyStatus = 'invalid' | 'missing' | 'outdated' | 'protocol' | 'up-to-date' | 'vulnerable';
|
|
5
|
+
export type Severity = 'critical' | 'high' | 'low' | 'medium' | 'none' | 'unknown';
|
|
6
|
+
export interface TextPosition {
|
|
7
|
+
character: number;
|
|
8
|
+
line: number;
|
|
9
|
+
}
|
|
10
|
+
export interface TextRange {
|
|
11
|
+
end: number;
|
|
12
|
+
endPosition: TextPosition;
|
|
13
|
+
start: number;
|
|
14
|
+
startPosition: TextPosition;
|
|
15
|
+
}
|
|
16
|
+
export interface DependencyEntry {
|
|
17
|
+
catalogName?: string;
|
|
18
|
+
id: string;
|
|
19
|
+
manager: DependencyManager;
|
|
20
|
+
nameRange: TextRange;
|
|
21
|
+
packageName: string;
|
|
22
|
+
path: string[];
|
|
23
|
+
section: DependencySection;
|
|
24
|
+
source: DependencySourceKind;
|
|
25
|
+
spec: string;
|
|
26
|
+
specRange: TextRange;
|
|
27
|
+
}
|
|
28
|
+
export interface CatalogSnapshot {
|
|
29
|
+
default: Map<string, string>;
|
|
30
|
+
named: Map<string, Map<string, string>>;
|
|
31
|
+
}
|
|
32
|
+
export interface ManifestParseResult {
|
|
33
|
+
catalogs: CatalogSnapshot;
|
|
34
|
+
dependencies: DependencyEntry[];
|
|
35
|
+
errors: ManifestParseError[];
|
|
36
|
+
source: DependencySourceKind;
|
|
37
|
+
}
|
|
38
|
+
export interface ManifestParseError {
|
|
39
|
+
message: string;
|
|
40
|
+
range?: TextRange;
|
|
41
|
+
}
|
|
42
|
+
export interface NpmPackageMetadata {
|
|
43
|
+
distTags: Record<string, string>;
|
|
44
|
+
name: string;
|
|
45
|
+
versions: string[];
|
|
46
|
+
}
|
|
47
|
+
export interface RegistryLookupError {
|
|
48
|
+
code: 'network-error' | 'not-found' | 'registry-error';
|
|
49
|
+
message: string;
|
|
50
|
+
status?: number;
|
|
51
|
+
}
|
|
52
|
+
export type RegistryLookupResult = {
|
|
53
|
+
metadata: NpmPackageMetadata;
|
|
54
|
+
ok: true;
|
|
55
|
+
} | {
|
|
56
|
+
error: RegistryLookupError;
|
|
57
|
+
ok: false;
|
|
58
|
+
};
|
|
59
|
+
export interface DependencyUpdateTargets {
|
|
60
|
+
current?: string;
|
|
61
|
+
latest?: string;
|
|
62
|
+
nextMajor?: string;
|
|
63
|
+
nextMinor?: string;
|
|
64
|
+
nextPatch?: string;
|
|
65
|
+
}
|
|
66
|
+
export interface VulnerabilitySummary {
|
|
67
|
+
aliases: string[];
|
|
68
|
+
ids: string[];
|
|
69
|
+
severity: Severity;
|
|
70
|
+
source: 'osv';
|
|
71
|
+
}
|
|
72
|
+
export interface DependencyAnalysis {
|
|
73
|
+
dependency: DependencyEntry;
|
|
74
|
+
displaySpec: string;
|
|
75
|
+
exists: boolean;
|
|
76
|
+
isLatestSatisfied: boolean;
|
|
77
|
+
message: string;
|
|
78
|
+
packageUrl: string;
|
|
79
|
+
registry?: NpmPackageMetadata;
|
|
80
|
+
status: DependencyStatus;
|
|
81
|
+
targets: DependencyUpdateTargets;
|
|
82
|
+
vulnerability?: VulnerabilitySummary;
|
|
83
|
+
}
|
|
84
|
+
export interface AnalyzeDependencyOptions {
|
|
85
|
+
catalogSnapshot?: CatalogSnapshot;
|
|
86
|
+
includePrerelease?: boolean;
|
|
87
|
+
registryUrl?: string;
|
|
88
|
+
}
|
|
89
|
+
export interface AnalyzeManyOptions extends AnalyzeDependencyOptions {
|
|
90
|
+
vulnerabilities?: boolean;
|
|
91
|
+
}
|
|
92
|
+
export type FetchLike = (input: string, init?: RequestInit) => Promise<Response>;
|
|
93
|
+
export interface OsvQuery {
|
|
94
|
+
name: string;
|
|
95
|
+
version: string;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { CatalogSnapshot, DependencyEntry, DependencyStatus, DependencyUpdateTargets, NpmPackageMetadata, Severity, VulnerabilitySummary } from './types.js';
|
|
2
|
+
export interface NormalizedDependencySpec {
|
|
3
|
+
displaySpec: string;
|
|
4
|
+
packageName: string;
|
|
5
|
+
protocol?: 'catalog' | 'unsupported';
|
|
6
|
+
spec: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const normalizeDependencySpec: (dependency: DependencyEntry, catalogSnapshot?: CatalogSnapshot) => NormalizedDependencySpec;
|
|
9
|
+
export declare const isHighRiskSeverity: (severity: Severity | undefined) => boolean;
|
|
10
|
+
export declare const hasModerateRiskSeverity: (severity: Severity | undefined) => boolean;
|
|
11
|
+
export declare const versionCandidates: (metadata: NpmPackageMetadata, includePrerelease: boolean) => string[];
|
|
12
|
+
export declare const getLatestVersion: (metadata: NpmPackageMetadata, includePrerelease: boolean) => string | undefined;
|
|
13
|
+
export declare const getVersionPrefix: (spec: string) => string;
|
|
14
|
+
export declare const createTargetSpec: (currentSpec: string, targetVersion: string) => string;
|
|
15
|
+
export declare const computeUpdateTargets: (spec: string, metadata: NpmPackageMetadata, includePrerelease: boolean) => DependencyUpdateTargets;
|
|
16
|
+
export declare const getDependencyStatus: (args: {
|
|
17
|
+
exists: boolean;
|
|
18
|
+
isLatestSatisfied: boolean;
|
|
19
|
+
statusBeforeVulnerability: DependencyStatus;
|
|
20
|
+
vulnerability?: VulnerabilitySummary;
|
|
21
|
+
}) => DependencyStatus;
|
|
22
|
+
export declare const specLooksPublished: (spec: string, metadata: NpmPackageMetadata) => boolean;
|
|
23
|
+
export declare const specSatisfiesLatest: (spec: string, latest: string | undefined, includePrerelease: boolean) => boolean;
|
|
24
|
+
export declare const parseValidVersion: (version: string) => string | undefined;
|
|
25
|
+
export declare const getInvalidSpecMessage: (spec: string) => string;
|
|
26
|
+
//# sourceMappingURL=versions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.d.ts","sourceRoot":"","sources":["../src/versions.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,kBAAkB,EAClB,QAAQ,EACR,oBAAoB,EACrB,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,SAAS,GAAG,aAAa,CAAA;IACpC,IAAI,EAAE,MAAM,CAAA;CACb;AAID,eAAO,MAAM,uBAAuB,GAClC,YAAY,eAAe,EAC3B,kBAAkB,eAAe,KAChC,wBA4BF,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,UAAU,QAAQ,GAAG,SAAS,KAAG,OACpB,CAAA;AAEhD,eAAO,MAAM,uBAAuB,GAAI,UAAU,QAAQ,GAAG,SAAS,KAAG,OAC5B,CAAA;AAE7C,eAAO,MAAM,iBAAiB,GAAI,UAAU,kBAAkB,EAAE,mBAAmB,OAAO,KAAG,MAAM,EAIjF,CAAA;AAclB,eAAO,MAAM,gBAAgB,GAAI,UAAU,kBAAkB,EAAE,mBAAmB,OAAO,KAAG,MAAM,GAAG,SAGtC,CAAA;AAoC/D,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,MAM/C,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,EAAE,eAAe,MAAM,KAAG,MAC1B,CAAA;AAEpD,eAAO,MAAM,oBAAoB,GAC/B,MAAM,MAAM,EACZ,UAAU,kBAAkB,EAC5B,mBAAmB,OAAO,KACzB,uBAeF,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,MAAM;IACJ,MAAM,EAAE,OAAO,CAAA;IACf,iBAAiB,EAAE,OAAO,CAAA;IAC1B,yBAAyB,EAAE,gBAAgB,CAAA;IAC3C,aAAa,CAAC,EAAE,oBAAoB,CAAA;CACrC,KACA,gBAUF,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,EAAE,UAAU,kBAAkB,KAAG,OAM/E,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,EACZ,QAAQ,MAAM,GAAG,SAAS,EAC1B,mBAAmB,OAAO,KACzB,OAAgG,CAAA;AAEnG,eAAO,MAAM,iBAAiB,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,SAAoC,CAAA;AAEjG,eAAO,MAAM,qBAAqB,GAAI,MAAM,MAAM,KAAG,MAAoE,CAAA"}
|
package/dist/versions.js
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { clean, compare, gt, major, maxSatisfying, minor, minVersion, parse, prerelease, satisfies, valid, validRange, } from 'semver';
|
|
2
|
+
import { resolveCatalogSpec } from './catalogs.js';
|
|
3
|
+
import { isUnsupportedProtocol, stripNpmAlias } from './package-name.js';
|
|
4
|
+
const VERSION_PREFIX_PATTERN = /^(?<prefix>[\^~>=< ]*)\d/u;
|
|
5
|
+
export const normalizeDependencySpec = (dependency, catalogSnapshot) => {
|
|
6
|
+
if (dependency.spec.startsWith('catalog:')) {
|
|
7
|
+
const catalogSpec = resolveCatalogSpec(catalogSnapshot, dependency.packageName, dependency.spec);
|
|
8
|
+
return {
|
|
9
|
+
displaySpec: catalogSpec ? `${dependency.spec} (${catalogSpec})` : dependency.spec,
|
|
10
|
+
packageName: dependency.packageName,
|
|
11
|
+
protocol: catalogSpec ? 'catalog' : 'unsupported',
|
|
12
|
+
spec: catalogSpec ?? dependency.spec,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
if (isUnsupportedProtocol(dependency.spec)) {
|
|
16
|
+
return {
|
|
17
|
+
displaySpec: dependency.spec,
|
|
18
|
+
packageName: dependency.packageName,
|
|
19
|
+
protocol: 'unsupported',
|
|
20
|
+
spec: dependency.spec,
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
const alias = stripNpmAlias(dependency.packageName, dependency.spec);
|
|
24
|
+
return {
|
|
25
|
+
displaySpec: dependency.spec,
|
|
26
|
+
packageName: alias.packageName,
|
|
27
|
+
spec: alias.spec,
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export const isHighRiskSeverity = (severity) => severity === 'critical' || severity === 'high';
|
|
31
|
+
export const hasModerateRiskSeverity = (severity) => severity === 'medium' || severity === 'low';
|
|
32
|
+
export const versionCandidates = (metadata, includePrerelease) => metadata.versions
|
|
33
|
+
.filter((version) => valid(version))
|
|
34
|
+
.filter((version) => includePrerelease || prerelease(version) === null)
|
|
35
|
+
.sort(compare);
|
|
36
|
+
const maxVersion = (versions) => versions.at(-1);
|
|
37
|
+
const distTagVersion = (metadata, tag, includePrerelease) => {
|
|
38
|
+
const version = metadata.distTags[tag];
|
|
39
|
+
if (!version || !valid(version))
|
|
40
|
+
return undefined;
|
|
41
|
+
if (!includePrerelease && prerelease(version) !== null)
|
|
42
|
+
return undefined;
|
|
43
|
+
return version;
|
|
44
|
+
};
|
|
45
|
+
export const getLatestVersion = (metadata, includePrerelease) => distTagVersion(metadata, includePrerelease ? 'next' : 'latest', includePrerelease)
|
|
46
|
+
?? distTagVersion(metadata, 'latest', includePrerelease)
|
|
47
|
+
?? maxVersion(versionCandidates(metadata, includePrerelease));
|
|
48
|
+
const firstHigherMinor = (versions, baseVersion) => {
|
|
49
|
+
const baseMajor = major(baseVersion);
|
|
50
|
+
const baseMinor = minor(baseVersion);
|
|
51
|
+
const higher = versions.filter((version) => major(version) === baseMajor && minor(version) > baseMinor && gt(version, baseVersion));
|
|
52
|
+
const nextMinor = higher.map((version) => minor(version)).sort((left, right) => left - right).at(0);
|
|
53
|
+
if (typeof nextMinor !== 'number')
|
|
54
|
+
return undefined;
|
|
55
|
+
return maxVersion(higher.filter((version) => minor(version) === nextMinor));
|
|
56
|
+
};
|
|
57
|
+
const firstHigherMajor = (versions, baseVersion) => {
|
|
58
|
+
const baseMajor = major(baseVersion);
|
|
59
|
+
const higher = versions.filter((version) => major(version) > baseMajor && gt(version, baseVersion));
|
|
60
|
+
const nextMajor = higher.map((version) => major(version)).sort((left, right) => left - right).at(0);
|
|
61
|
+
if (typeof nextMajor !== 'number')
|
|
62
|
+
return undefined;
|
|
63
|
+
return maxVersion(higher.filter((version) => major(version) === nextMajor));
|
|
64
|
+
};
|
|
65
|
+
const highestPatch = (versions, baseVersion) => maxVersion(versions.filter((version) => major(version) === major(baseVersion) && minor(version) === minor(baseVersion) && gt(version, baseVersion)));
|
|
66
|
+
const isConcreteSpec = (spec) => /^[\^~]?\d/u.test(spec.trim());
|
|
67
|
+
const safeMinVersion = (spec) => {
|
|
68
|
+
try {
|
|
69
|
+
return minVersion(spec)?.version;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
export const getVersionPrefix = (spec) => {
|
|
76
|
+
const prefix = VERSION_PREFIX_PATTERN.exec(spec.trim())?.groups?.prefix?.trim();
|
|
77
|
+
if (prefix === '^' || prefix === '~')
|
|
78
|
+
return prefix;
|
|
79
|
+
return '';
|
|
80
|
+
};
|
|
81
|
+
export const createTargetSpec = (currentSpec, targetVersion) => `${getVersionPrefix(currentSpec)}${targetVersion}`;
|
|
82
|
+
export const computeUpdateTargets = (spec, metadata, includePrerelease) => {
|
|
83
|
+
const range = validRange(spec);
|
|
84
|
+
const candidates = versionCandidates(metadata, includePrerelease);
|
|
85
|
+
const floor = valid(spec) ?? safeMinVersion(spec);
|
|
86
|
+
const current = range ? maxSatisfying(candidates, range, { includePrerelease }) ?? floor : floor;
|
|
87
|
+
if (!current)
|
|
88
|
+
return {};
|
|
89
|
+
return {
|
|
90
|
+
current,
|
|
91
|
+
latest: getLatestVersion(metadata, includePrerelease),
|
|
92
|
+
nextMajor: firstHigherMajor(candidates, current),
|
|
93
|
+
nextMinor: firstHigherMinor(candidates, current),
|
|
94
|
+
nextPatch: highestPatch(candidates, current),
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
export const getDependencyStatus = (args) => {
|
|
98
|
+
if (args.vulnerability && isHighRiskSeverity(args.vulnerability.severity))
|
|
99
|
+
return 'vulnerable';
|
|
100
|
+
if (args.statusBeforeVulnerability === 'invalid' || args.statusBeforeVulnerability === 'missing')
|
|
101
|
+
return args.statusBeforeVulnerability;
|
|
102
|
+
if (args.vulnerability && hasModerateRiskSeverity(args.vulnerability.severity))
|
|
103
|
+
return 'vulnerable';
|
|
104
|
+
if (!args.exists)
|
|
105
|
+
return 'missing';
|
|
106
|
+
return args.isLatestSatisfied ? 'up-to-date' : 'outdated';
|
|
107
|
+
};
|
|
108
|
+
export const specLooksPublished = (spec, metadata) => {
|
|
109
|
+
const floor = clean(spec) ?? minVersion(spec)?.version;
|
|
110
|
+
if (!floor || !isConcreteSpec(spec))
|
|
111
|
+
return true;
|
|
112
|
+
return metadata.versions.includes(floor);
|
|
113
|
+
};
|
|
114
|
+
export const specSatisfiesLatest = (spec, latest, includePrerelease) => Boolean(latest && validRange(spec) && satisfies(latest, spec, { includePrerelease }));
|
|
115
|
+
export const parseValidVersion = (version) => parse(version)?.version;
|
|
116
|
+
export const getInvalidSpecMessage = (spec) => `The version range "${spec}" is not a valid semver range.`;
|
|
117
|
+
//# sourceMappingURL=versions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../src/versions.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@santi020k/dep-beacon-core",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Dependency manifest parsing, npm version intelligence, and OSV advisory checks for Dep Beacon.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"default": "./dist/index.js"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"dist",
|
|
16
|
+
"README.md",
|
|
17
|
+
"CHANGELOG.md",
|
|
18
|
+
"LICENSE"
|
|
19
|
+
],
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"jsonc-parser": "^3.3.1",
|
|
22
|
+
"semver": "^7.8.5",
|
|
23
|
+
"yaml": "^2.9.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@types/node": "^26.0.0",
|
|
27
|
+
"@types/semver": "^7.7.1",
|
|
28
|
+
"@vitest/coverage-v8": "^4.1.9",
|
|
29
|
+
"typescript": "^6.0.3",
|
|
30
|
+
"vitest": "^4.1.9"
|
|
31
|
+
},
|
|
32
|
+
"engines": {
|
|
33
|
+
"node": "^20.19.0 || >=22.13.0"
|
|
34
|
+
},
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "https://github.com/santi020k/dep-beacon.git",
|
|
38
|
+
"directory": "packages/dep-beacon-core"
|
|
39
|
+
},
|
|
40
|
+
"homepage": "https://beacon.santi020k.com",
|
|
41
|
+
"bugs": {
|
|
42
|
+
"url": "https://github.com/santi020k/dep-beacon/issues"
|
|
43
|
+
},
|
|
44
|
+
"keywords": [
|
|
45
|
+
"dependencies",
|
|
46
|
+
"npm",
|
|
47
|
+
"pnpm",
|
|
48
|
+
"semver",
|
|
49
|
+
"vscode",
|
|
50
|
+
"osv",
|
|
51
|
+
"security"
|
|
52
|
+
],
|
|
53
|
+
"author": {
|
|
54
|
+
"name": "Santiago Molina",
|
|
55
|
+
"url": "https://santi020k.com"
|
|
56
|
+
},
|
|
57
|
+
"license": "MIT",
|
|
58
|
+
"scripts": {
|
|
59
|
+
"build": "tsc -p tsconfig.build.json",
|
|
60
|
+
"dev": "tsc -p tsconfig.build.json --watch --preserveWatchOutput",
|
|
61
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
62
|
+
"test": "vitest run --config vitest.config.ts",
|
|
63
|
+
"test:coverage": "vitest run --config vitest.config.ts --coverage",
|
|
64
|
+
"test:watch": "vitest --config vitest.config.ts",
|
|
65
|
+
"lint": "eslint . --no-warn-ignored",
|
|
66
|
+
"lint:fix": "eslint . --fix --no-warn-ignored",
|
|
67
|
+
"clean": "rm -rf dist coverage"
|
|
68
|
+
}
|
|
69
|
+
}
|