@@ -24033,11 +24033,23 @@ var supportedLockfiles = [
2403324033 "yarn.lock",
2403424034 "bun.lock"
2403524035];
24036- function computeDependencyVersions(lockFile) {
24036+ function computeDependencyVersions(lockFile, includeDevDeps ) {
2403724037 const result = /* @__PURE__ */ new Map();
24038- for (const pkg of lockFile.packages) {
24039- if (!pkg.name || !pkg.version) continue;
24040- addVersion(result, pkg.name, pkg.version);
24038+ if (!includeDevDeps) {
24039+ const visitorFn = (node) => {
24040+ if (!node.name || !node.version) return;
24041+ addVersion(result, node.name, node.version);
24042+ };
24043+ traverse(lockFile.root, {
24044+ dependency: visitorFn,
24045+ optionalDependency: visitorFn,
24046+ peerDependency: visitorFn
24047+ });
24048+ } else {
24049+ for (const pkg of lockFile.packages) {
24050+ if (!pkg.name || !pkg.version) continue;
24051+ addVersion(result, pkg.name, pkg.version);
24052+ }
2404124053 }
2404224054 return result;
2404324055}
@@ -24452,7 +24464,7 @@ function getLsCommand(lockfilePath, packageName) {
2445224464 }
2445324465 return void 0;
2445424466}
24455- function computeParentPaths(lockfile, duplicateDependencyNames, dependencyMap) {
24467+ function computeParentPaths(lockfile, duplicateDependencyNames, dependencyMap, includeDevDeps ) {
2445624468 const parentPaths = /* @__PURE__ */ new Map();
2445724469 const visitorFn = (node, _parent, path2) => {
2445824470 if (!duplicateDependencyNames.has(node.name) || !path2) {
@@ -24471,13 +24483,13 @@ function computeParentPaths(lockfile, duplicateDependencyNames, dependencyMap) {
2447124483 };
2447224484 const visitor = {
2447324485 dependency: visitorFn,
24474- devDependency: visitorFn,
24486+ ...includeDevDeps ? { devDependency: visitorFn } : {} ,
2447524487 optionalDependency: visitorFn
2447624488 };
2447724489 traverse(lockfile.root, visitor);
2447824490 return parentPaths;
2447924491}
24480- function scanForDuplicates(messages, threshold, dependencyMap, lockfilePath, lockfile) {
24492+ function scanForDuplicates(messages, threshold, dependencyMap, lockfilePath, lockfile, includeDevDeps ) {
2448124493 const duplicateRows = [];
2448224494 const duplicateDependencyNames = /* @__PURE__ */ new Set();
2448324495 for (const [packageName, currentVersionSet] of dependencyMap) {
@@ -24491,7 +24503,8 @@ function scanForDuplicates(messages, threshold, dependencyMap, lockfilePath, loc
2449124503 const parentPaths = computeParentPaths(
2449224504 lockfile,
2449324505 duplicateDependencyNames,
24494- dependencyMap
24506+ dependencyMap,
24507+ includeDevDeps
2449524508 );
2449624509 for (const name of duplicateDependencyNames) {
2449724510 const versionSet = dependencyMap.get(name);
@@ -24820,6 +24833,7 @@ async function run() {
2482024833 const token = getInput("github-token", { required: true });
2482124834 const prNumber = parseInt(getInput("pr-number", { required: true }), 10);
2482224835 const detectReplacements = getBooleanInput("detect-replacements");
24836+ const includeDevDeps = getBooleanInput("include-dev-deps");
2482324837 const dependencyThreshold = parseInt(
2482424838 getInput("dependency-threshold") || "10",
2482524839 10
@@ -24906,8 +24920,11 @@ async function run() {
2490624920 setFailed(`Failed to parse base lockfile: ${err}`);
2490724921 return;
2490824922 }
24909- const currentDeps = computeDependencyVersions(parsedCurrentLock);
24910- const baseDeps = computeDependencyVersions(parsedBaseLock);
24923+ const currentDeps = computeDependencyVersions(
24924+ parsedCurrentLock,
24925+ includeDevDeps
24926+ );
24927+ const baseDeps = computeDependencyVersions(parsedBaseLock, includeDevDeps);
2491124928 info(`Dependency threshold set to ${dependencyThreshold}`);
2491224929 info(`Size threshold set to ${formatBytes(sizeThreshold)}`);
2491324930 info(`Duplicate threshold set to ${duplicateThreshold}`);
@@ -24924,7 +24941,8 @@ async function run() {
2492424941 duplicateThreshold,
2492524942 currentDeps,
2492624943 lockfilePath,
24927- parsedCurrentLock
24944+ parsedCurrentLock,
24945+ includeDevDeps
2492824946 );
2492924947 await scanForDependencySize(
2493024948 messages,
@@ -24964,15 +24982,14 @@ async function run() {
2496424982 );
2496524983 return;
2496624984 }
24967- const baseDependencies = getDependenciesFromPackageJson(basePackageJson, [
24968- "optional",
24969- "peer",
24970- "dev",
24971- "prod"
24972- ]);
24985+ const depTypes = includeDevDeps ? ["optional", "peer", "dev", "prod"] : ["optional", "peer", "prod"];
24986+ const baseDependencies = getDependenciesFromPackageJson(
24987+ basePackageJson,
24988+ depTypes
24989+ );
2497324990 const currentDependencies = getDependenciesFromPackageJson(
2497424991 currentPackageJson,
24975- ["optional", "peer", "dev", "prod"]
24992+ depTypes
2497624993 );
2497724994 scanForReplacements(messages, baseDependencies, currentDependencies);
2497824995 }
0 commit comments