Skip to content

Commit 2850e37

Browse files
authored
fix: default to no trust (#24)
1 parent 82884e3 commit 2850e37

File tree

3 files changed

+22
-15
lines changed

3 files changed

+22
-15
lines changed

main.js

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24159,7 +24159,7 @@ function getBaseRef() {
2415924159
var core2 = __toESM(require_core(), 1);
2416024160
function getProvenance(meta) {
2416124161
if (meta._npmUser?.trustedPublisher) {
24162-
return "trusted";
24162+
return "trusted-with-provenance";
2416324163
}
2416424164
if (meta.dist?.attestations?.provenance) {
2416524165
return "provenance";
@@ -24168,7 +24168,7 @@ function getProvenance(meta) {
2416824168
}
2416924169
function getTrustLevel(status) {
2417024170
switch (status) {
24171-
case "trusted":
24171+
case "trusted-with-provenance":
2417224172
return 2;
2417324173
case "provenance":
2417424174
return 1;
@@ -24189,14 +24189,16 @@ async function getProvenanceForPackageVersions(packageName, versions) {
2418924189
return result;
2419024190
}
2419124191
function getMinTrustLevel(statuses) {
24192-
const result = { level: 2, status: "trusted" };
24192+
let result = null;
2419324193
for (const status of statuses) {
2419424194
const level = getTrustLevel(status);
24195-
if (level < result.level) {
24196-
result.level = level;
24197-
result.status = status;
24195+
if (result === null || level < result.level) {
24196+
result = { level, status };
2419824197
}
2419924198
}
24199+
if (!result) {
24200+
return { level: 0, status: "none" };
24201+
}
2420024202
return result;
2420124203
}
2420224204
var metaCache = /* @__PURE__ */ new Map();
@@ -24536,7 +24538,7 @@ ${packageRows}`
2453624538
if (!baseVersionSet || baseVersionSet.size === 0) {
2453724539
continue;
2453824540
}
24539-
if (baseVersionSet.isSubsetOf(currentVersionSet)) {
24541+
if (currentVersionSet.isSubsetOf(baseVersionSet)) {
2454024542
continue;
2454124543
}
2454224544
try {

src/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ ${packageRows}`
212212
continue;
213213
}
214214

215-
if (baseVersionSet.isSubsetOf(currentVersionSet)) {
215+
if (currentVersionSet.isSubsetOf(baseVersionSet)) {
216216
continue;
217217
}
218218

src/npm.ts

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,14 @@ export interface PackageIndex {
2222
versions: Record<string, PackageMetadata>;
2323
}
2424

25-
export type ProvenanceStatus = 'trusted' | 'provenance' | 'none';
25+
export type ProvenanceStatus =
26+
| 'trusted-with-provenance'
27+
| 'provenance'
28+
| 'none';
2629

2730
export function getProvenance(meta: PackageMetadata): ProvenanceStatus {
2831
if (meta._npmUser?.trustedPublisher) {
29-
return 'trusted';
32+
return 'trusted-with-provenance';
3033
}
3134
if (meta.dist?.attestations?.provenance) {
3235
return 'provenance';
@@ -36,7 +39,7 @@ export function getProvenance(meta: PackageMetadata): ProvenanceStatus {
3639

3740
export function getTrustLevel(status: ProvenanceStatus): number {
3841
switch (status) {
39-
case 'trusted':
42+
case 'trusted-with-provenance':
4043
return 2;
4144
case 'provenance':
4245
return 1;
@@ -69,14 +72,16 @@ export interface MinTrustLevelResult {
6972
export function getMinTrustLevel(
7073
statuses: Iterable<ProvenanceStatus>
7174
): MinTrustLevelResult {
72-
const result: MinTrustLevelResult = {level: 2, status: 'trusted'};
75+
let result: MinTrustLevelResult | null = null;
7376
for (const status of statuses) {
7477
const level = getTrustLevel(status);
75-
if (level < result.level) {
76-
result.level = level;
77-
result.status = status;
78+
if (result === null || level < result.level) {
79+
result = {level, status};
7880
}
7981
}
82+
if (!result) {
83+
return {level: 0, status: 'none'};
84+
}
8085
return result;
8186
}
8287

0 commit comments

Comments
 (0)