Skip to content

Commit 5a3a860

Browse files
committed
fix: only remove optionals if new deps
1 parent 5f3e96d commit 5a3a860

File tree

2 files changed

+61
-52
lines changed

2 files changed

+61
-52
lines changed

build/main.js

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24900,27 +24900,6 @@ function formatBytes(bytes) {
2490024900
async function scanForDependencySize(messages, threshold, currentDeps, baseDeps, currentLockFile) {
2490124901
const newVersions = [];
2490224902
const removedVersions = [];
24903-
const skippedVersions = /* @__PURE__ */ new Map();
24904-
const allOptionalVersions = /* @__PURE__ */ new Map();
24905-
for (const pkg of currentLockFile.packages) {
24906-
traverse(pkg, {
24907-
optionalDependency: (node) => {
24908-
const entry = allOptionalVersions.get(node.name) ?? /* @__PURE__ */ new Set();
24909-
entry.add(node.version);
24910-
allOptionalVersions.set(node.name, entry);
24911-
}
24912-
});
24913-
}
24914-
for (const [pkg, versions] of allOptionalVersions) {
24915-
for (const version of versions) {
24916-
const pkgMeta = await fetchPackageMetadata(pkg, version);
24917-
if (pkgMeta && (pkgMeta.os && pkgMeta.os.length > 0 && !pkgMeta.os.includes("linux") || pkgMeta.cpu && pkgMeta.cpu.length > 0 && !pkgMeta.cpu.includes("x64"))) {
24918-
const entry = skippedVersions.get(pkg) ?? /* @__PURE__ */ new Set();
24919-
entry.add(version);
24920-
skippedVersions.set(pkg, entry);
24921-
}
24922-
}
24923-
}
2492424903
for (const [packageName, currentVersionSet] of currentDeps) {
2492524904
const baseVersionSet = baseDeps.get(packageName);
2492624905
for (const version of currentVersionSet) {
@@ -24944,6 +24923,31 @@ async function scanForDependencySize(messages, threshold, currentDeps, baseDeps,
2494424923
}
2494524924
}
2494624925
}
24926+
if (newVersions.length > 0) {
24927+
const allOptionalVersions = /* @__PURE__ */ new Map();
24928+
for (const pkg of currentLockFile.packages) {
24929+
traverse(pkg, {
24930+
optionalDependency: (node) => {
24931+
const entry = allOptionalVersions.get(node.name) ?? /* @__PURE__ */ new Set();
24932+
entry.add(node.version);
24933+
allOptionalVersions.set(node.name, entry);
24934+
}
24935+
});
24936+
}
24937+
for (const [pkg, versions] of allOptionalVersions) {
24938+
for (const version of versions) {
24939+
const pkgMeta = await fetchPackageMetadata(pkg, version);
24940+
if (pkgMeta && (pkgMeta.os && pkgMeta.os.length > 0 && !pkgMeta.os.includes("linux") || pkgMeta.cpu && pkgMeta.cpu.length > 0 && !pkgMeta.cpu.includes("x64"))) {
24941+
const entry = newVersions.findIndex(
24942+
(v) => v.name === pkg && v.version === version
24943+
);
24944+
if (entry !== -1) {
24945+
newVersions.splice(entry, 1);
24946+
}
24947+
}
24948+
}
24949+
}
24950+
}
2494724951
core5.info(`Found ${newVersions.length} new package versions`);
2494824952
core5.info(`Found ${removedVersions.length} removed package versions.`);
2494924953
if (newVersions.length === 0 && removedVersions.length === 0) {

src/checks/dependency-size.ts

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -22,37 +22,6 @@ export async function scanForDependencySize(
2222
name: string;
2323
version: string;
2424
}> = [];
25-
const skippedVersions = new Map<string, Set<string>>();
26-
const allOptionalVersions = new Map<string, Set<string>>();
27-
28-
for (const pkg of currentLockFile.packages) {
29-
traverse(pkg, {
30-
optionalDependency: (node) => {
31-
const entry = allOptionalVersions.get(node.name) ?? new Set<string>();
32-
entry.add(node.version);
33-
allOptionalVersions.set(node.name, entry);
34-
}
35-
});
36-
}
37-
38-
for (const [pkg, versions] of allOptionalVersions) {
39-
for (const version of versions) {
40-
const pkgMeta = await fetchPackageMetadata(pkg, version);
41-
if (
42-
pkgMeta &&
43-
((pkgMeta.os &&
44-
pkgMeta.os.length > 0 &&
45-
!pkgMeta.os.includes('linux')) ||
46-
(pkgMeta.cpu &&
47-
pkgMeta.cpu.length > 0 &&
48-
!pkgMeta.cpu.includes('x64')))
49-
) {
50-
const entry = skippedVersions.get(pkg) ?? new Set<string>();
51-
entry.add(version);
52-
skippedVersions.set(pkg, entry);
53-
}
54-
}
55-
}
5625

5726
for (const [packageName, currentVersionSet] of currentDeps) {
5827
const baseVersionSet = baseDeps.get(packageName);
@@ -81,6 +50,42 @@ export async function scanForDependencySize(
8150
}
8251
}
8352

53+
if (newVersions.length > 0) {
54+
const allOptionalVersions = new Map<string, Set<string>>();
55+
56+
for (const pkg of currentLockFile.packages) {
57+
traverse(pkg, {
58+
optionalDependency: (node) => {
59+
const entry = allOptionalVersions.get(node.name) ?? new Set<string>();
60+
entry.add(node.version);
61+
allOptionalVersions.set(node.name, entry);
62+
}
63+
});
64+
}
65+
66+
for (const [pkg, versions] of allOptionalVersions) {
67+
for (const version of versions) {
68+
const pkgMeta = await fetchPackageMetadata(pkg, version);
69+
if (
70+
pkgMeta &&
71+
((pkgMeta.os &&
72+
pkgMeta.os.length > 0 &&
73+
!pkgMeta.os.includes('linux')) ||
74+
(pkgMeta.cpu &&
75+
pkgMeta.cpu.length > 0 &&
76+
!pkgMeta.cpu.includes('x64')))
77+
) {
78+
const entry = newVersions.findIndex(
79+
(v) => v.name === pkg && v.version === version
80+
);
81+
if (entry !== -1) {
82+
newVersions.splice(entry, 1);
83+
}
84+
}
85+
}
86+
}
87+
}
88+
8489
core.info(`Found ${newVersions.length} new package versions`);
8590
core.info(`Found ${removedVersions.length} removed package versions.`);
8691

0 commit comments

Comments
 (0)