Skip to content

Commit f47b420

Browse files
kaylieEBarcanis
authored andcommitted
Add request pattern to resolver and add tests (#4189)
1 parent 6bfaac3 commit f47b420

File tree

4 files changed

+25
-3
lines changed

4 files changed

+25
-3
lines changed

__tests__/commands/list.js

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* @flow */
2-
2+
import path from 'path';
33
import type {Tree} from '../../src/reporters/types.js';
44
import {BufferReporter} from '../../src/reporters/index.js';
55
import {run as buildRun} from './_helpers.js';
@@ -8,8 +8,6 @@ import * as reporters from '../../src/reporters/index.js';
88

99
jasmine.DEFAULT_TIMEOUT_INTERVAL = 90000;
1010

11-
const path = require('path');
12-
1311
function makeTree(name, {children = [], hint = null, color = null, depth = 0}: Object = {}): Tree {
1412
return {
1513
name,
@@ -56,6 +54,17 @@ test.concurrent('lists everything with no args', (): Promise<void> => {
5654
});
5755
});
5856

57+
test.concurrent('should not throw when list is called with resolutions field', (): Promise<void> => {
58+
return runList([], {}, {source: '', cwd: 'resolutions'}, (config, reporter): ?Promise<void> => {
59+
const rprtr = new BufferReporter({});
60+
const tree = reporter.getBuffer().slice(-1);
61+
const children = [{name: 'left-pad@^1.1.3', color: 'dim', shadow: true}];
62+
const trees = [makeTree('[email protected]', {children, color: 'bold'}), makeTree('[email protected]')];
63+
rprtr.tree('list', trees);
64+
expect(tree).toEqual(rprtr.getBuffer());
65+
});
66+
});
67+
5968
test.concurrent('respects depth flag', (): Promise<void> => {
6069
return runList([], {depth: 1}, 'depth-flag', (config, reporter): ?Promise<void> => {
6170
const rprtr = new BufferReporter({});

__tests__/fixtures/list/no-args/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
{
2+
"name": "depA",
3+
"version": "1.0.0",
24
"dependencies": {
35
"left-pad": "^1.1.3"
46
},
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"name": "project",
3+
"version": "1.0.0",
4+
"dependencies": {
5+
"depA": "file:../no-args"
6+
},
7+
"resolutions": {
8+
"left-pad": "1.0.0"
9+
}
10+
}

src/package-resolver.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -568,6 +568,7 @@ export default class PackageResolver {
568568
invariant(resolutionManifest._reference, 'resolutions should have a resolved reference');
569569

570570
resolutionManifest._reference.patterns.push(pattern);
571+
this.addPattern(pattern, resolutionManifest);
571572
this.lockfile.removePattern(pattern);
572573

573574
return null;

0 commit comments

Comments
 (0)