Skip to content

Commit 886a906

Browse files
authored
Ignore package.json comments (#534)
1 parent 6a39e15 commit 886a906

File tree

5 files changed

+44
-2
lines changed

5 files changed

+44
-2
lines changed

lib/dependency-versions.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,9 @@ function versionsObjectsWithSortedPackages(
212212
});
213213
}
214214

215+
const HARDCODED_IGNORED_DEPENDENCIES = new Set([
216+
'//', // May be used to add comments to package.json files.
217+
]);
215218
export function filterOutIgnoredDependencies(
216219
mismatchingVersions: MismatchingDependencyVersions,
217220
ignoredDependencies: string[],
@@ -242,13 +245,20 @@ export function filterOutIgnoredDependencies(
242245
}
243246
}
244247

245-
if (ignoredDependencies.length > 0 || ignoredDependencyPatterns.length > 0) {
248+
if (
249+
ignoredDependencies.length > 0 ||
250+
ignoredDependencyPatterns.length > 0 ||
251+
mismatchingVersions.some((mismatchingVersion) =>
252+
HARDCODED_IGNORED_DEPENDENCIES.has(mismatchingVersion.dependency)
253+
)
254+
) {
246255
return mismatchingVersions.filter(
247256
(mismatchingVersion) =>
248257
!ignoredDependencies.includes(mismatchingVersion.dependency) &&
249258
!ignoredDependencyPatterns.some((ignoreDependencyPattern) =>
250259
mismatchingVersion.dependency.match(ignoreDependencyPattern)
251-
)
260+
) &&
261+
!HARDCODED_IGNORED_DEPENDENCIES.has(mismatchingVersion.dependency)
252262
);
253263
}
254264

test/fixtures/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,10 @@ export const FIXTURE_PATH_INCREASABLE_RANGE = join(
4848
FIXTURE_PATH,
4949
'increasable-range'
5050
);
51+
export const FIXTURE_PATH_VALID_WITH_COMMENTS = join(
52+
FIXTURE_PATH,
53+
'valid-with-comments'
54+
);
5155
export const FIXTURE_PATH_VALID_WITH_PACKAGES = join(
5256
FIXTURE_PATH,
5357
'valid-with-packages'
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"workspaces": ["*"],
3+
"devDependencies": {
4+
"//": "comment about bar",
5+
"bar": "^2.0.0",
6+
"//": "comment about baz",
7+
"baz": "^3.0.0"
8+
}
9+
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"name": "package1",
3+
"dependencies": {
4+
"//": "comment about foo",
5+
"foo": "^1.2.3"
6+
}
7+
}

test/lib/dependency-versions-test.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
FIXTURE_PATH_INCONSISTENT_LOCAL_PACKAGE_VERSION,
1515
FIXTURE_PATH_RESOLUTIONS,
1616
FIXTURE_PATH_ALL_VERSION_TYPES,
17+
FIXTURE_PATH_VALID_WITH_COMMENTS,
1718
FIXTURE_PATH_VALID_WITH_WORKSPACE_PREFIX,
1819
FIXTURE_PATH_INCONSISTENT_WITH_WORKSPACE_PREFIX,
1920
} from '../fixtures/index.js';
@@ -361,6 +362,17 @@ describe('Utils | dependency-versions', function () {
361362
).toStrictEqual([]);
362363
});
363364

365+
it('filters out comments', function () {
366+
const dependencyVersions = calculateMismatchingVersions(
367+
calculateVersionsForEachDependency(
368+
getPackagesHelper(FIXTURE_PATH_VALID_WITH_COMMENTS)
369+
)
370+
);
371+
expect(
372+
filterOutIgnoredDependencies(dependencyVersions, [], [])
373+
).toStrictEqual([]);
374+
});
375+
364376
it('throws when unnecessarily ignoring a dependency that has no mismatches', function () {
365377
const dependencyVersions = calculateMismatchingVersions(
366378
calculateVersionsForEachDependency(

0 commit comments

Comments
 (0)