dependabot-npm_and_yarn 0.125.3 → 0.125.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8c481909f17f43d71e97d7cbe218288953ba2ef5671dd165f6d68b381030f9a4
4
- data.tar.gz: '09795e1ad695c58f948430b6ed8223db340e16d925659bd8d4954204d826f6b6'
3
+ metadata.gz: 04b236b5c0f0d07bb238c07692d46b76d2c613a6caf7fe7c0c37cd85ae6d5bd0
4
+ data.tar.gz: 0a6ce75e0236a26cf9a313a0081c0b41bdd7da7ce4659e01a729b49c400a4fcc
5
5
  SHA512:
6
- metadata.gz: c89dadf7d2ac717d475678958c4e552ea4366ebf659ef86a3f8369c72aebec245ad9da9e0679eecd885d5110e5bc349dcea7059d7f4fffa5f4bda765342dfa6a
7
- data.tar.gz: 9d0699ff42e496bc667912ddecff429143327bc04008c36c433a2a7943c8ee95219b3efda3f5942c5fbd830b97f88b91b9d747d1e09383168d160c259743d510
6
+ metadata.gz: 0a08d66747e35a3c7788cb81fc45c4aa4389f043beda97fd905c9508bf1e1802beed790f0d1f53b58bf1148ae462d259d55a41feed359970fef34fd87ce56457
7
+ data.tar.gz: d8bd2ba28406cd73e5f3eeb9ab2138584984a4a900169f6b91b654765bd9dfb1f74accfe8f3c8149a7d028f2b3a56c6035cbe37c47194b7b442bcceedac17862
@@ -23,7 +23,7 @@ yarn test path/to/test.js
23
23
 
24
24
  In order to run an interactive debugger:
25
25
 
26
- - `node --inspect-brk node_modules/.bin/jest --runInBand pat/to/test/test.js`
26
+ - `node --inspect-brk node_modules/.bin/jest --runInBand path/to/test/test.js`
27
27
  - In Chrome, nativate to chrome://inspect
28
28
  - Click `Open dedicated DevTools for Node`
29
29
  - You'll now be able to interactively debug using the chrome dev tools.
@@ -9,32 +9,168 @@
9
9
  * - An array of objects with conflicting dependencies
10
10
  */
11
11
 
12
+ const fs = require("fs");
13
+ const path = require("path");
12
14
  const semver = require("semver");
13
15
  const { parse } = require("./lockfile-parser");
14
16
  const { LOCKFILE_ENTRY_REGEX } = require("./helpers");
15
17
 
16
18
  async function findConflictingDependencies(directory, depName, targetVersion) {
17
- var parents = [];
19
+ const lockfileJson = await parse(directory);
20
+ const packageJson = fs
21
+ .readFileSync(path.join(directory, "package.json"))
22
+ .toString();
23
+ const dependencyTypes = [
24
+ "dependencies",
25
+ "devDependencies",
26
+ "optionalDependencies",
27
+ ];
28
+ const topLevelDependencies = dependencyTypes.flatMap((type) => {
29
+ return Object.entries(JSON.parse(packageJson)[type] || {});
30
+ });
31
+
32
+ const conflictingParents = topLevelDependencies.flatMap(
33
+ ([topLevelDepName, topLevelRequirement]) => {
34
+ const topLevelSpec = {
35
+ name: topLevelDepName,
36
+ requirement: topLevelRequirement,
37
+ };
38
+
39
+ return Array.from(
40
+ findConflictingParentDependencies(
41
+ topLevelDepName,
42
+ topLevelRequirement,
43
+ depName,
44
+ targetVersion,
45
+ topLevelSpec,
46
+ lockfileJson
47
+ ).values()
48
+ );
49
+ }
50
+ );
18
51
 
19
- const json = await parse(directory);
52
+ return conflictingParents.map((parentSpec) => {
53
+ const explanation = buildExplanation(parentSpec, depName);
54
+ return {
55
+ explanation: explanation,
56
+ name: parentSpec.name,
57
+ version: parentSpec.version,
58
+ requirement: parentSpec.requirement,
59
+ };
60
+ });
61
+ }
62
+
63
+ function buildExplanation(parentSpec, targetDepName) {
64
+ if (
65
+ parentSpec.name === parentSpec.topLevelSpec.name &&
66
+ parentSpec.version === parentSpec.topLevelSpec.version
67
+ ) {
68
+ // The nodes parent is top-level
69
+ return (
70
+ `${parentSpec.name}@${parentSpec.version} requires ${targetDepName}` +
71
+ `@${parentSpec.requirement}`
72
+ );
73
+ } else if (
74
+ parentSpec.transitiveSpec.name === parentSpec.topLevelSpec.name &&
75
+ parentSpec.transitiveSpec.version === parentSpec.topLevelSpec.version
76
+ ) {
77
+ // The nodes parent is a direct dependency of the top-level dependency
78
+ return (
79
+ `${parentSpec.topLevelSpec.name}@${parentSpec.topLevelSpec.version} requires ` +
80
+ `${targetDepName}@${parentSpec.requirement} ` +
81
+ `via ${parentSpec.name}@${parentSpec.version}`
82
+ );
83
+ } else {
84
+ // The nodes parent is a transitive dependency of the top-level dependency
85
+ return (
86
+ `${parentSpec.topLevelSpec.name}@${parentSpec.topLevelSpec.version} requires ` +
87
+ `${targetDepName}@${parentSpec.requirement} ` +
88
+ `via a transitive dependency on ${parentSpec.name}@${parentSpec.version}`
89
+ );
90
+ }
91
+ }
20
92
 
21
- Object.entries(json).forEach(([entry, pkg]) => {
22
- if (entry.match(LOCKFILE_ENTRY_REGEX) && pkg.dependencies) {
23
- Object.entries(pkg.dependencies).forEach(([subDepName, spec]) => {
24
- if (subDepName === depName && !semver.satisfies(targetVersion, spec)) {
25
- const [_, parentDepName] = entry.match(LOCKFILE_ENTRY_REGEX);
26
- parents.push({
27
- explanation: `${parentDepName}@${pkg.version} requires ${depName}@${spec}`,
93
+ function findConflictingParentDependencies(
94
+ dependency,
95
+ requirement,
96
+ targetDep,
97
+ targetversion,
98
+ topLevelSpec,
99
+ lockfileJson,
100
+ transitiveSpec = {},
101
+ checkedEntries = new Set(),
102
+ conflictingParents = new Map()
103
+ ) {
104
+ // Prevent infinte loops for circular dependencies by only checking each
105
+ // lockfile entry once
106
+ const checkedEntry = [dependency, requirement].join("@");
107
+ if (checkedEntries.has(checkedEntry)) {
108
+ return conflictingParents;
109
+ }
110
+
111
+ checkedEntries.add(checkedEntry);
112
+
113
+ for (const [entry, pkg] of Object.entries(lockfileJson)) {
114
+ const [_, parentDepName, parentDepRequirement] = entry.match(
115
+ LOCKFILE_ENTRY_REGEX
116
+ );
117
+ // Decorate the top-level dependency spec with an installed version as we
118
+ // only have the requirement from the package.json manifest
119
+ if (
120
+ topLevelSpec.name == parentDepName &&
121
+ topLevelSpec.requirement == parentDepRequirement
122
+ ) {
123
+ topLevelSpec.version = pkg.version;
124
+ }
125
+
126
+ if (
127
+ pkg.dependencies &&
128
+ dependency == parentDepName &&
129
+ requirement == parentDepRequirement
130
+ ) {
131
+ // Recursive check for sub-dependencies finding dependencies that don't
132
+ // allow the target version of the vulnerable dependency to be installed
133
+ for (const [subDepName, spec] of Object.entries(pkg.dependencies)) {
134
+ if (
135
+ subDepName === targetDep &&
136
+ !semver.satisfies(targetversion, spec)
137
+ ) {
138
+ // Only add the conflicting parent once per version preventing
139
+ // duplicate dependencies from circular graphs
140
+ const key = [parentDepName, pkg.version].join("@");
141
+ conflictingParents.set(key, {
28
142
  name: parentDepName,
29
143
  version: pkg.version,
30
144
  requirement: spec,
145
+ transitiveSpec,
146
+ topLevelSpec,
31
147
  });
148
+ } else {
149
+ // Keep track of the parent dependency as a way to check if the
150
+ // conflicting dependency ends up being a direct dependency of a
151
+ // top-level dependency
152
+ transitiveSpec = {
153
+ name: parentDepName,
154
+ version: pkg.version,
155
+ requirement: parentDepRequirement,
156
+ };
157
+ findConflictingParentDependencies(
158
+ subDepName,
159
+ spec,
160
+ targetDep,
161
+ targetversion,
162
+ topLevelSpec,
163
+ lockfileJson,
164
+ transitiveSpec,
165
+ checkedEntries,
166
+ conflictingParents
167
+ );
32
168
  }
33
- });
169
+ }
34
170
  }
35
- });
171
+ }
36
172
 
37
- return parents;
173
+ return conflictingParents;
38
174
  }
39
175
 
40
176
  module.exports = { findConflictingDependencies };
@@ -0,0 +1,84 @@
1
+ const path = require("path");
2
+ const os = require("os");
3
+ const fs = require("fs");
4
+ const rimraf = require("rimraf");
5
+ const {
6
+ findConflictingDependencies,
7
+ } = require("../../lib/yarn/conflicting-dependency-parser");
8
+ const helpers = require("./helpers");
9
+
10
+ fdescribe("findConflictingDependencies", () => {
11
+ let tempDir;
12
+ beforeEach(() => {
13
+ tempDir = fs.mkdtempSync(os.tmpdir() + path.sep);
14
+ });
15
+ afterEach(() => rimraf.sync(tempDir));
16
+
17
+ it("finds conflicting dependencies", async () => {
18
+ helpers.copyDependencies("conflicting-dependency-parser/simple", tempDir);
19
+
20
+ const result = await findConflictingDependencies(tempDir, "abind", "2.0.0");
21
+ expect(result).toEqual([
22
+ {
23
+ explanation: "objnest@4.1.4 requires abind@^1.0.0",
24
+ name: "objnest",
25
+ version: "4.1.4",
26
+ requirement: "^1.0.0",
27
+ },
28
+ ]);
29
+ });
30
+
31
+ it("finds the top-level conflicting dependency", async () => {
32
+ helpers.copyDependencies("conflicting-dependency-parser/nested", tempDir);
33
+
34
+ const result = await findConflictingDependencies(tempDir, "abind", "2.0.0");
35
+ expect(result).toEqual([
36
+ {
37
+ explanation: "askconfig@4.0.4 requires abind@^1.0.4 via objnest@5.0.10",
38
+ name: "objnest",
39
+ version: "5.0.10",
40
+ requirement: "^1.0.4",
41
+ },
42
+ ]);
43
+ });
44
+
45
+ it("explains a deeply nested dependency", async () => {
46
+ helpers.copyDependencies(
47
+ "conflicting-dependency-parser/deeply-nested",
48
+ tempDir
49
+ );
50
+
51
+ const result = await findConflictingDependencies(tempDir, "abind", "2.0.0");
52
+ expect(result).toEqual([
53
+ {
54
+ explanation: `apass@1.1.0 requires abind@^1.0.0 via a transitive dependency on objnest@3.0.9`,
55
+ name: "objnest",
56
+ version: "3.0.9",
57
+ requirement: "^1.0.0",
58
+ },
59
+ {
60
+ explanation: "apass@1.1.0 requires abind@^1.0.0 via cipherjson@2.1.0",
61
+ name: "cipherjson",
62
+ version: "2.1.0",
63
+ requirement: "^1.0.0",
64
+ },
65
+ ]);
66
+ });
67
+
68
+ it("explains conflicting devDependencies", async () => {
69
+ helpers.copyDependencies(
70
+ "conflicting-dependency-parser/dev-dependencies",
71
+ tempDir
72
+ );
73
+
74
+ const result = await findConflictingDependencies(tempDir, "abind", "2.0.0");
75
+ expect(result).toEqual([
76
+ {
77
+ explanation: "objnest@4.1.4 requires abind@^1.0.0",
78
+ name: "objnest",
79
+ version: "4.1.4",
80
+ requirement: "^1.0.0",
81
+ },
82
+ ]);
83
+ });
84
+ });
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "test",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "author": "",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "apass": "1.1.0"
13
+ }
14
+ }
@@ -0,0 +1,496 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ abind@^1.0.0:
6
+ version "1.0.5"
7
+ resolved "https://registry.npmjs.org/abind/-/abind-1.0.5.tgz#9fa11e51ebf0fe8a60a316b28a2a85a0bc08495e"
8
+ integrity sha512-dbaEZphdPje0ihqSdWg36Sb8S20TuqQomiz2593oIx+enQ9Q4vDZRjIzhnkWltGRKVKqC28kTribkgRLBexWVQ==
9
+
10
+ aglob@^1.0.2:
11
+ version "1.1.1"
12
+ resolved "https://registry.npmjs.org/aglob/-/aglob-1.1.1.tgz#f952692aadbd9d528775e914b695e07631f9f08a"
13
+ integrity sha1-+VJpKq29nVKHdekUtpXgdjH58Io=
14
+ dependencies:
15
+ babel-runtime "^6.11.6"
16
+ co "^4.6.0"
17
+ glob "^7.0.5"
18
+
19
+ aglob@^2.0.1:
20
+ version "2.0.1"
21
+ resolved "https://registry.npmjs.org/aglob/-/aglob-2.0.1.tgz#925ecf242d750242c0715acd332f95f749066614"
22
+ integrity sha1-kl7PJC11AkLAcVrNMy+V90kGZhQ=
23
+ dependencies:
24
+ co "^4.6.0"
25
+ glob "^7.1.1"
26
+
27
+ aglob@^3.0.1, aglob@^3.0.2:
28
+ version "3.0.2"
29
+ resolved "https://registry.npmjs.org/aglob/-/aglob-3.0.2.tgz#fba77e740a51e36fb3128dfd9fd8fc4f1e1f8996"
30
+ integrity sha512-0khk6p36zn0NbYAMtNov7o4VQpWOZChVt+cQHIEb0KSqxNn5hvGU2+pPI5+6vydUhe8W3ZxREMcpkAmMEi8p9Q==
31
+ dependencies:
32
+ glob "^7.1.3"
33
+
34
+ ansi-regex@^2.1.1:
35
+ version "2.1.1"
36
+ resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
37
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
38
+
39
+ apass@1.1.0:
40
+ version "1.1.0"
41
+ resolved "https://registry.npmjs.org/apass/-/apass-1.1.0.tgz#58d7522265b1413b5cb42ff6bff09f21a2835697"
42
+ integrity sha1-WNdSImWxQTtctC/2v/CfIaKDVpc=
43
+ dependencies:
44
+ asfs "^1.1.1"
45
+ askconfig "^3.0.5"
46
+ cipherjson "^2.1.0"
47
+ co "^4.6.0"
48
+ colorprint "^4.1.0"
49
+ commander "^2.9.0"
50
+ execcli "^4.0.10"
51
+ fmtjson "^3.0.7"
52
+
53
+ argx@^3.0.0, argx@^3.0.1, argx@^3.0.2:
54
+ version "3.0.2"
55
+ resolved "https://registry.npmjs.org/argx/-/argx-3.0.2.tgz#1baa88d160ab6f546b6ece0e07596cc2bb3424a9"
56
+ integrity sha1-G6qI0WCrb1Rrbs4OB1lswrs0JKk=
57
+ dependencies:
58
+ iftype "^3.0.0"
59
+
60
+ argx@^4.0.4:
61
+ version "4.0.4"
62
+ resolved "https://registry.npmjs.org/argx/-/argx-4.0.4.tgz#eac913df14181328a2d33fe4897a56e70dbbcdb8"
63
+ integrity sha512-XLWeRTNBJRzQkbMweLIxdtnvpE7iYUBraPwrIJX57FjL4D1RHLMJRM1AyEP6KZHgvjW7TSnxF8MpGic7YdTGOA==
64
+ dependencies:
65
+ iftype "^4.0.9"
66
+
67
+ arrayreduce@^2.1.0:
68
+ version "2.1.0"
69
+ resolved "https://registry.npmjs.org/arrayreduce/-/arrayreduce-2.1.0.tgz#ea5836e3086b6b54b7a562b479ecf8069c94d10a"
70
+ integrity sha1-6lg24whra1S3pWK0eez4BpyU0Qo=
71
+
72
+ asfs@^1.0.5, asfs@^1.1.1:
73
+ version "1.2.3"
74
+ resolved "https://registry.npmjs.org/asfs/-/asfs-1.2.3.tgz#5671363e83c43908ef15a25c88191c61b5080833"
75
+ integrity sha1-VnE2PoPEOQjvFaJciBkcYbUICDM=
76
+ dependencies:
77
+ aglob "^2.0.1"
78
+ co "^4.6.0"
79
+ filecopy "^3.0.0"
80
+ mkdirp "^0.5.1"
81
+
82
+ asfs@^2.3.0:
83
+ version "2.3.0"
84
+ resolved "https://registry.npmjs.org/asfs/-/asfs-2.3.0.tgz#4e53061f08ab9a44f5add89439ee3707a87c4efa"
85
+ integrity sha512-mPfLlrZuoDFjR0Cd9ructfhJ4Cq0OH3CNVaO2RjMk+I9Utfb28sxFdnAVPByziTzTh2jgd7wX7Wy+8LIBjz2nw==
86
+ dependencies:
87
+ aglob "^3.0.1"
88
+ filecopy "^4.1.0"
89
+ mkdirp "^1.0.3"
90
+
91
+ askconfig@^3.0.5:
92
+ version "3.0.5"
93
+ resolved "https://registry.npmjs.org/askconfig/-/askconfig-3.0.5.tgz#3f0700d3bf14f30e38c801f9ed00c2d9682a9ded"
94
+ integrity sha1-PwcA078U8w44yAH57QDC2Wgqne0=
95
+ dependencies:
96
+ argx "^3.0.0"
97
+ cli-color "^1.1.0"
98
+ co "^4.6.0"
99
+ objnest "^3.0.6"
100
+
101
+ asleep@^1.0.3:
102
+ version "1.0.3"
103
+ resolved "https://registry.npmjs.org/asleep/-/asleep-1.0.3.tgz#a104e24ac229563c425e4ea7e75b578a19ee218e"
104
+ integrity sha1-oQTiSsIpVjxCXk6n51tXihnuIY4=
105
+
106
+ async@^2.1.4:
107
+ version "2.6.3"
108
+ resolved "https://registry.npmjs.org/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff"
109
+ integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==
110
+ dependencies:
111
+ lodash "^4.17.14"
112
+
113
+ async@~1.5:
114
+ version "1.5.2"
115
+ resolved "https://registry.npmjs.org/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
116
+ integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=
117
+
118
+ babel-runtime@^6.11.6, babel-runtime@^6.23.0:
119
+ version "6.26.0"
120
+ resolved "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
121
+ integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
122
+ dependencies:
123
+ core-js "^2.4.0"
124
+ regenerator-runtime "^0.11.0"
125
+
126
+ balanced-match@^1.0.0:
127
+ version "1.0.0"
128
+ resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
129
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
130
+
131
+ brace-expansion@^1.1.7:
132
+ version "1.1.11"
133
+ resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
134
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
135
+ dependencies:
136
+ balanced-match "^1.0.0"
137
+ concat-map "0.0.1"
138
+
139
+ cipherjson@^2.1.0:
140
+ version "2.1.0"
141
+ resolved "https://registry.npmjs.org/cipherjson/-/cipherjson-2.1.0.tgz#3715a26fe3e410a2f65bd8d0c378e7cdd7a2d1e2"
142
+ integrity sha1-NxWib+PkEKL2W9jQw3jnzdei0eI=
143
+ dependencies:
144
+ abind "^1.0.0"
145
+ argx "^3.0.2"
146
+ async "^2.1.4"
147
+ objnest "^3.0.9"
148
+ writeout "^2.1.0"
149
+
150
+ cli-color@^1.1.0:
151
+ version "1.4.0"
152
+ resolved "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f"
153
+ integrity sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==
154
+ dependencies:
155
+ ansi-regex "^2.1.1"
156
+ d "1"
157
+ es5-ext "^0.10.46"
158
+ es6-iterator "^2.0.3"
159
+ memoizee "^0.4.14"
160
+ timers-ext "^0.1.5"
161
+
162
+ co@^4.6.0:
163
+ version "4.6.0"
164
+ resolved "https://registry.npmjs.org/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
165
+ integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
166
+
167
+ colorprint@^4.1.0:
168
+ version "4.1.0"
169
+ resolved "https://registry.npmjs.org/colorprint/-/colorprint-4.1.0.tgz#052ae84c4bfd11dee5ef1bf07c2f625584fc0989"
170
+ integrity sha1-BSroTEv9Ed7l7xvwfC9iVYT8CYk=
171
+ dependencies:
172
+ cli-color "^1.1.0"
173
+ commander "^2.9.0"
174
+
175
+ commander@^2.9.0:
176
+ version "2.20.3"
177
+ resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
178
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
179
+
180
+ concat-map@0.0.1:
181
+ version "0.0.1"
182
+ resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
183
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
184
+
185
+ core-js@^2.4.0:
186
+ version "2.6.11"
187
+ resolved "https://registry.npmjs.org/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c"
188
+ integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg==
189
+
190
+ d@1, d@^1.0.1:
191
+ version "1.0.1"
192
+ resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
193
+ integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
194
+ dependencies:
195
+ es5-ext "^0.10.50"
196
+ type "^1.0.1"
197
+
198
+ es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46:
199
+ version "0.10.53"
200
+ resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
201
+ integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
202
+ dependencies:
203
+ es6-iterator "~2.0.3"
204
+ es6-symbol "~3.1.3"
205
+ next-tick "~1.0.0"
206
+
207
+ es6-iterator@^2.0.3, es6-iterator@~2.0.3:
208
+ version "2.0.3"
209
+ resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
210
+ integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
211
+ dependencies:
212
+ d "1"
213
+ es5-ext "^0.10.35"
214
+ es6-symbol "^3.1.1"
215
+
216
+ es6-symbol@^3.1.1, es6-symbol@~3.1.3:
217
+ version "3.1.3"
218
+ resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
219
+ integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
220
+ dependencies:
221
+ d "^1.0.1"
222
+ ext "^1.1.2"
223
+
224
+ es6-weak-map@^2.0.2:
225
+ version "2.0.3"
226
+ resolved "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53"
227
+ integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==
228
+ dependencies:
229
+ d "1"
230
+ es5-ext "^0.10.46"
231
+ es6-iterator "^2.0.3"
232
+ es6-symbol "^3.1.1"
233
+
234
+ event-emitter@^0.3.5:
235
+ version "0.3.5"
236
+ resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
237
+ integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
238
+ dependencies:
239
+ d "1"
240
+ es5-ext "~0.10.14"
241
+
242
+ execcli@^4.0.10:
243
+ version "4.0.11"
244
+ resolved "https://registry.npmjs.org/execcli/-/execcli-4.0.11.tgz#3db9820a83fa1242b9bfb50d11551d0505927d43"
245
+ integrity sha1-PbmCCoP6EkK5v7UNEVUdBQWSfUM=
246
+ dependencies:
247
+ argx "^3.0.0"
248
+ arrayreduce "^2.1.0"
249
+ babel-runtime "^6.23.0"
250
+ findout "^2.0.1"
251
+ hasbin "^1.2.3"
252
+ stringcase "^3.2.1"
253
+
254
+ ext@^1.1.2:
255
+ version "1.4.0"
256
+ resolved "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
257
+ integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
258
+ dependencies:
259
+ type "^2.0.0"
260
+
261
+ extend@^3.0.0:
262
+ version "3.0.2"
263
+ resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
264
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
265
+
266
+ filecopy@^3.0.0:
267
+ version "3.0.1"
268
+ resolved "https://registry.npmjs.org/filecopy/-/filecopy-3.0.1.tgz#86a5f8a72968ecaeaa5bbb2e3e810a877cd49966"
269
+ integrity sha1-hqX4pylo7K6qW7suPoEKh3zUmWY=
270
+ dependencies:
271
+ aglob "^2.0.1"
272
+ argx "^3.0.0"
273
+ co "^4.6.0"
274
+ mkdirp "^0.5.1"
275
+
276
+ filecopy@^4.1.0:
277
+ version "4.1.0"
278
+ resolved "https://registry.npmjs.org/filecopy/-/filecopy-4.1.0.tgz#24ffd54a1ab7dba58ea1e90f5a11cd5a1363e3fe"
279
+ integrity sha512-1K2VHl+WVzODCwcZzmSrNCUIYTM37F4/yny0bI05bN3PdQHZjfszsW2L2yia7/Xb1B854f6XrA3ZTv0KjBmogA==
280
+ dependencies:
281
+ aglob "^3.0.2"
282
+ argx "^4.0.4"
283
+ mkdirp "^1.0.3"
284
+
285
+ filedel@^4.1.2:
286
+ version "4.1.2"
287
+ resolved "https://registry.npmjs.org/filedel/-/filedel-4.1.2.tgz#8127cb92065cc12532df9e976f923c0592baf078"
288
+ integrity sha512-GmCi+mLI3DgGFde0W3vsZshRtSBK5BxTkrVLioGLoARBY5Ef42anaXP1PmQTI6AI/TVoM8Mkw5mBisGy5MPlTA==
289
+ dependencies:
290
+ aglob "^3.0.2"
291
+ argx "^4.0.4"
292
+ asfs "^2.3.0"
293
+ rimraf "^3.0.2"
294
+
295
+ findout@^2.0.1:
296
+ version "2.1.2"
297
+ resolved "https://registry.npmjs.org/findout/-/findout-2.1.2.tgz#78415cf73ed9e27c02e29a9bc444e7d22af60105"
298
+ integrity sha1-eEFc9z7Z4nwC4pqbxETn0ir2AQU=
299
+ dependencies:
300
+ babel-runtime "^6.11.6"
301
+ co "^4.6.0"
302
+
303
+ fmtjson@^3.0.7:
304
+ version "3.0.7"
305
+ resolved "https://registry.npmjs.org/fmtjson/-/fmtjson-3.0.7.tgz#78633eee1464df70a8b484567cdeeb4be8ffd3cc"
306
+ integrity sha1-eGM+7hRk33CotIRWfN7rS+j/08w=
307
+ dependencies:
308
+ aglob "^1.0.2"
309
+ argx "^3.0.1"
310
+ asfs "^1.0.5"
311
+ co "^4.6.0"
312
+ writeout "^2.0.7"
313
+
314
+ fs.realpath@^1.0.0:
315
+ version "1.0.0"
316
+ resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
317
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
318
+
319
+ glob@^7.0.5, glob@^7.1.1, glob@^7.1.3:
320
+ version "7.1.6"
321
+ resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
322
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
323
+ dependencies:
324
+ fs.realpath "^1.0.0"
325
+ inflight "^1.0.4"
326
+ inherits "2"
327
+ minimatch "^3.0.4"
328
+ once "^1.3.0"
329
+ path-is-absolute "^1.0.0"
330
+
331
+ hasbin@^1.2.3:
332
+ version "1.2.3"
333
+ resolved "https://registry.npmjs.org/hasbin/-/hasbin-1.2.3.tgz#78c5926893c80215c2b568ae1fd3fcab7a2696b0"
334
+ integrity sha1-eMWSaJPIAhXCtWiuH9P8q3omlrA=
335
+ dependencies:
336
+ async "~1.5"
337
+
338
+ iftype@^3.0.0:
339
+ version "3.0.2"
340
+ resolved "https://registry.npmjs.org/iftype/-/iftype-3.0.2.tgz#5771261e64fb35a680d320d3668c7529f925ab74"
341
+ integrity sha1-V3EmHmT7NaaA0yDTZox1Kfklq3Q=
342
+ dependencies:
343
+ babel-runtime "^6.11.6"
344
+
345
+ iftype@^4.0.9:
346
+ version "4.0.9"
347
+ resolved "https://registry.npmjs.org/iftype/-/iftype-4.0.9.tgz#3803c91d518a699720cfba7a9e47c0268664f106"
348
+ integrity sha512-01Klo+04dkDzY193D1GVfOdQzmpqaYFJTAlZKRztkT/BOaU7sSnvxGimSln+7DMqLUP4tpDTNFgxqVPLYZVypA==
349
+
350
+ inflight@^1.0.4:
351
+ version "1.0.6"
352
+ resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
353
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
354
+ dependencies:
355
+ once "^1.3.0"
356
+ wrappy "1"
357
+
358
+ inherits@2:
359
+ version "2.0.4"
360
+ resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
361
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
362
+
363
+ is-promise@^2.1:
364
+ version "2.2.2"
365
+ resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
366
+ integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
367
+
368
+ lodash@^4.17.14:
369
+ version "4.17.20"
370
+ resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
371
+ integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
372
+
373
+ lru-queue@0.1:
374
+ version "0.1.0"
375
+ resolved "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3"
376
+ integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=
377
+ dependencies:
378
+ es5-ext "~0.10.2"
379
+
380
+ memoizee@^0.4.14:
381
+ version "0.4.14"
382
+ resolved "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57"
383
+ integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==
384
+ dependencies:
385
+ d "1"
386
+ es5-ext "^0.10.45"
387
+ es6-weak-map "^2.0.2"
388
+ event-emitter "^0.3.5"
389
+ is-promise "^2.1"
390
+ lru-queue "0.1"
391
+ next-tick "1"
392
+ timers-ext "^0.1.5"
393
+
394
+ minimatch@^3.0.4:
395
+ version "3.0.4"
396
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
397
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
398
+ dependencies:
399
+ brace-expansion "^1.1.7"
400
+
401
+ minimist@^1.2.5:
402
+ version "1.2.5"
403
+ resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
404
+ integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
405
+
406
+ mkdirp@^0.5.1:
407
+ version "0.5.5"
408
+ resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
409
+ integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
410
+ dependencies:
411
+ minimist "^1.2.5"
412
+
413
+ mkdirp@^1.0.3, mkdirp@^1.0.4:
414
+ version "1.0.4"
415
+ resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
416
+ integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
417
+
418
+ next-tick@1:
419
+ version "1.1.0"
420
+ resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
421
+ integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
422
+
423
+ next-tick@~1.0.0:
424
+ version "1.0.0"
425
+ resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
426
+ integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
427
+
428
+ objnest@^3.0.6, objnest@^3.0.9:
429
+ version "3.0.9"
430
+ resolved "https://registry.npmjs.org/objnest/-/objnest-3.0.9.tgz#c811ed3955cf4603ba35cc7e0348fea1951b9395"
431
+ integrity sha1-yBHtOVXPRgO6Ncx+A0j+oZUbk5U=
432
+ dependencies:
433
+ abind "^1.0.0"
434
+ extend "^3.0.0"
435
+
436
+ once@^1.3.0:
437
+ version "1.4.0"
438
+ resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
439
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
440
+ dependencies:
441
+ wrappy "1"
442
+
443
+ path-is-absolute@^1.0.0:
444
+ version "1.0.1"
445
+ resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
446
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
447
+
448
+ regenerator-runtime@^0.11.0:
449
+ version "0.11.1"
450
+ resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
451
+ integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
452
+
453
+ rimraf@^3.0.2:
454
+ version "3.0.2"
455
+ resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
456
+ integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
457
+ dependencies:
458
+ glob "^7.1.3"
459
+
460
+ stringcase@^3.2.1:
461
+ version "3.2.1"
462
+ resolved "https://registry.npmjs.org/stringcase/-/stringcase-3.2.1.tgz#89345163049764cf76abcf5ce02b64bfb6472e56"
463
+ integrity sha1-iTRRYwSXZM92q89c4Ctkv7ZHLlY=
464
+
465
+ timers-ext@^0.1.5:
466
+ version "0.1.7"
467
+ resolved "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6"
468
+ integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==
469
+ dependencies:
470
+ es5-ext "~0.10.46"
471
+ next-tick "1"
472
+
473
+ type@^1.0.1:
474
+ version "1.2.0"
475
+ resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
476
+ integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
477
+
478
+ type@^2.0.0:
479
+ version "2.1.0"
480
+ resolved "https://registry.npmjs.org/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f"
481
+ integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==
482
+
483
+ wrappy@1:
484
+ version "1.0.2"
485
+ resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
486
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
487
+
488
+ writeout@^2.0.7, writeout@^2.1.0:
489
+ version "2.3.4"
490
+ resolved "https://registry.npmjs.org/writeout/-/writeout-2.3.4.tgz#28135ffc708b37bfc88a1dfdbf9007530800ab98"
491
+ integrity sha512-8EO+2MdDKvyhVGGA7hXtCOWIyfpzi1PAkmYTFUhq3/duskEDYzcDvZTiYgVV/CectCRSelGdIW++ym58uNOuYw==
492
+ dependencies:
493
+ argx "^4.0.4"
494
+ asleep "^1.0.3"
495
+ filedel "^4.1.2"
496
+ mkdirp "^1.0.4"
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "test",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "author": "",
10
+ "license": "ISC",
11
+ "devDependencies": {
12
+ "objnest": "^4.1.2"
13
+ }
14
+ }
@@ -0,0 +1,21 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ abind@^1.0.0:
6
+ version "1.0.5"
7
+ resolved "https://registry.npmjs.org/abind/-/abind-1.0.5.tgz#9fa11e51ebf0fe8a60a316b28a2a85a0bc08495e"
8
+ integrity sha512-dbaEZphdPje0ihqSdWg36Sb8S20TuqQomiz2593oIx+enQ9Q4vDZRjIzhnkWltGRKVKqC28kTribkgRLBexWVQ==
9
+
10
+ extend@^3.0.0:
11
+ version "3.0.2"
12
+ resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
13
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
14
+
15
+ objnest@^4.1.2:
16
+ version "4.1.4"
17
+ resolved "https://registry.npmjs.org/objnest/-/objnest-4.1.4.tgz#4a03b9a366a6d738165ae4938e1cdec6bb02b89f"
18
+ integrity sha512-8IpltsOlYtRHpiisBVx6xYkHTScU0EGHSk1tTopjUbm4RfSmMbDVkaclIs6K+Z8hFod9CxDmshDEdTs9CiUfbg==
19
+ dependencies:
20
+ abind "^1.0.0"
21
+ extend "^3.0.0"
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "test",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "author": "",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "askconfig": "^4.0.4"
13
+ }
14
+ }
@@ -0,0 +1,172 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ abind@^1.0.4:
6
+ version "1.0.5"
7
+ resolved "https://registry.npmjs.org/abind/-/abind-1.0.5.tgz#9fa11e51ebf0fe8a60a316b28a2a85a0bc08495e"
8
+ integrity sha512-dbaEZphdPje0ihqSdWg36Sb8S20TuqQomiz2593oIx+enQ9Q4vDZRjIzhnkWltGRKVKqC28kTribkgRLBexWVQ==
9
+
10
+ ansi-regex@^2.1.1:
11
+ version "2.1.1"
12
+ resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
13
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
14
+
15
+ argx@^4.0.2:
16
+ version "4.0.4"
17
+ resolved "https://registry.npmjs.org/argx/-/argx-4.0.4.tgz#eac913df14181328a2d33fe4897a56e70dbbcdb8"
18
+ integrity sha512-XLWeRTNBJRzQkbMweLIxdtnvpE7iYUBraPwrIJX57FjL4D1RHLMJRM1AyEP6KZHgvjW7TSnxF8MpGic7YdTGOA==
19
+ dependencies:
20
+ iftype "^4.0.9"
21
+
22
+ askconfig@^4.0.4:
23
+ version "4.0.4"
24
+ resolved "https://registry.npmjs.org/askconfig/-/askconfig-4.0.4.tgz#d541f755848e83417c423efd139599eaff9ed762"
25
+ integrity sha512-fjB/vmAlUKxGVqcz4mLub3xF8m9rkazhqcXRvrDzeey0iaLhcAg2K8bhJL7pKjE2dFP9qDGv3+yXovYMV9XBJQ==
26
+ dependencies:
27
+ argx "^4.0.2"
28
+ cli-color "^1.4.0"
29
+ objnest "^5.0.6"
30
+
31
+ cli-color@^1.4.0:
32
+ version "1.4.0"
33
+ resolved "https://registry.npmjs.org/cli-color/-/cli-color-1.4.0.tgz#7d10738f48526824f8fe7da51857cb0f572fe01f"
34
+ integrity sha512-xu6RvQqqrWEo6MPR1eixqGPywhYBHRs653F9jfXB2Hx4jdM/3WxiNE1vppRmxtMIfl16SFYTpYlrnqH/HsK/2w==
35
+ dependencies:
36
+ ansi-regex "^2.1.1"
37
+ d "1"
38
+ es5-ext "^0.10.46"
39
+ es6-iterator "^2.0.3"
40
+ memoizee "^0.4.14"
41
+ timers-ext "^0.1.5"
42
+
43
+ d@1, d@^1.0.1:
44
+ version "1.0.1"
45
+ resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a"
46
+ integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==
47
+ dependencies:
48
+ es5-ext "^0.10.50"
49
+ type "^1.0.1"
50
+
51
+ es5-ext@^0.10.35, es5-ext@^0.10.45, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46:
52
+ version "0.10.53"
53
+ resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1"
54
+ integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==
55
+ dependencies:
56
+ es6-iterator "~2.0.3"
57
+ es6-symbol "~3.1.3"
58
+ next-tick "~1.0.0"
59
+
60
+ es6-iterator@^2.0.3, es6-iterator@~2.0.3:
61
+ version "2.0.3"
62
+ resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
63
+ integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
64
+ dependencies:
65
+ d "1"
66
+ es5-ext "^0.10.35"
67
+ es6-symbol "^3.1.1"
68
+
69
+ es6-symbol@^3.1.1, es6-symbol@~3.1.3:
70
+ version "3.1.3"
71
+ resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18"
72
+ integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==
73
+ dependencies:
74
+ d "^1.0.1"
75
+ ext "^1.1.2"
76
+
77
+ es6-weak-map@^2.0.2:
78
+ version "2.0.3"
79
+ resolved "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53"
80
+ integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==
81
+ dependencies:
82
+ d "1"
83
+ es5-ext "^0.10.46"
84
+ es6-iterator "^2.0.3"
85
+ es6-symbol "^3.1.1"
86
+
87
+ event-emitter@^0.3.5:
88
+ version "0.3.5"
89
+ resolved "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
90
+ integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
91
+ dependencies:
92
+ d "1"
93
+ es5-ext "~0.10.14"
94
+
95
+ ext@^1.1.2:
96
+ version "1.4.0"
97
+ resolved "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244"
98
+ integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==
99
+ dependencies:
100
+ type "^2.0.0"
101
+
102
+ extend@^3.0.2:
103
+ version "3.0.2"
104
+ resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
105
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
106
+
107
+ iftype@^4.0.9:
108
+ version "4.0.9"
109
+ resolved "https://registry.npmjs.org/iftype/-/iftype-4.0.9.tgz#3803c91d518a699720cfba7a9e47c0268664f106"
110
+ integrity sha512-01Klo+04dkDzY193D1GVfOdQzmpqaYFJTAlZKRztkT/BOaU7sSnvxGimSln+7DMqLUP4tpDTNFgxqVPLYZVypA==
111
+
112
+ is-promise@^2.1:
113
+ version "2.2.2"
114
+ resolved "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
115
+ integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
116
+
117
+ lru-queue@0.1:
118
+ version "0.1.0"
119
+ resolved "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3"
120
+ integrity sha1-Jzi9nw089PhEkMVzbEhpmsYyzaM=
121
+ dependencies:
122
+ es5-ext "~0.10.2"
123
+
124
+ memoizee@^0.4.14:
125
+ version "0.4.14"
126
+ resolved "https://registry.npmjs.org/memoizee/-/memoizee-0.4.14.tgz#07a00f204699f9a95c2d9e77218271c7cd610d57"
127
+ integrity sha512-/SWFvWegAIYAO4NQMpcX+gcra0yEZu4OntmUdrBaWrJncxOqAziGFlHxc7yjKVK2uu3lpPW27P27wkR82wA8mg==
128
+ dependencies:
129
+ d "1"
130
+ es5-ext "^0.10.45"
131
+ es6-weak-map "^2.0.2"
132
+ event-emitter "^0.3.5"
133
+ is-promise "^2.1"
134
+ lru-queue "0.1"
135
+ next-tick "1"
136
+ timers-ext "^0.1.5"
137
+
138
+ next-tick@1:
139
+ version "1.1.0"
140
+ resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb"
141
+ integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==
142
+
143
+ next-tick@~1.0.0:
144
+ version "1.0.0"
145
+ resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
146
+ integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
147
+
148
+ objnest@^5.0.6:
149
+ version "5.0.10"
150
+ resolved "https://registry.npmjs.org/objnest/-/objnest-5.0.10.tgz#90e43b11870502fcb445e97fcf402499f5f75c75"
151
+ integrity sha512-sIXiWbzbaOszhnaioxGyaLvBUF86nnEX/zgTrGskEJsXEqjBwLCsVy+a7Na93mW474lvtSIc3tOYiaXgHQw7Mg==
152
+ dependencies:
153
+ abind "^1.0.4"
154
+ extend "^3.0.2"
155
+
156
+ timers-ext@^0.1.5:
157
+ version "0.1.7"
158
+ resolved "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6"
159
+ integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==
160
+ dependencies:
161
+ es5-ext "~0.10.46"
162
+ next-tick "1"
163
+
164
+ type@^1.0.1:
165
+ version "1.2.0"
166
+ resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0"
167
+ integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==
168
+
169
+ type@^2.0.0:
170
+ version "2.1.0"
171
+ resolved "https://registry.npmjs.org/type/-/type-2.1.0.tgz#9bdc22c648cf8cf86dd23d32336a41cfb6475e3f"
172
+ integrity sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "test",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "test": "echo \"Error: no test specified\" && exit 1"
8
+ },
9
+ "author": "",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "objnest": "^4.1.2"
13
+ }
14
+ }
@@ -0,0 +1,21 @@
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ abind@^1.0.0:
6
+ version "1.0.5"
7
+ resolved "https://registry.npmjs.org/abind/-/abind-1.0.5.tgz#9fa11e51ebf0fe8a60a316b28a2a85a0bc08495e"
8
+ integrity sha512-dbaEZphdPje0ihqSdWg36Sb8S20TuqQomiz2593oIx+enQ9Q4vDZRjIzhnkWltGRKVKqC28kTribkgRLBexWVQ==
9
+
10
+ extend@^3.0.0:
11
+ version "3.0.2"
12
+ resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
13
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
14
+
15
+ objnest@^4.1.2:
16
+ version "4.1.4"
17
+ resolved "https://registry.npmjs.org/objnest/-/objnest-4.1.4.tgz#4a03b9a366a6d738165ae4938e1cdec6bb02b89f"
18
+ integrity sha512-8IpltsOlYtRHpiisBVx6xYkHTScU0EGHSk1tTopjUbm4RfSmMbDVkaclIs6K+Z8hFod9CxDmshDEdTs9CiUfbg==
19
+ dependencies:
20
+ abind "^1.0.0"
21
+ extend "^3.0.0"
@@ -4,4 +4,15 @@ const fs = require("fs");
4
4
  module.exports = {
5
5
  loadFixture: (fixturePath) =>
6
6
  fs.readFileSync(path.join(__dirname, "fixtures", fixturePath)).toString(),
7
+
8
+ copyDependencies: (sourceDir, destDir) => {
9
+ const srcPackageJson = path.join(
10
+ __dirname,
11
+ `fixtures/${sourceDir}/package.json`
12
+ );
13
+ fs.copyFileSync(srcPackageJson, `${destDir}/package.json`);
14
+
15
+ const srcLockfile = path.join(__dirname, `fixtures/${sourceDir}/yarn.lock`);
16
+ fs.copyFileSync(srcLockfile, `${destDir}/yarn.lock`);
17
+ },
7
18
  };
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-npm_and_yarn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.125.3
4
+ version: 0.125.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-16 00:00:00.000000000 Z
11
+ date: 2020-11-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dependabot-common
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.125.3
19
+ version: 0.125.4
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 0.125.3
26
+ version: 0.125.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: byebug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -204,6 +204,15 @@ files:
204
204
  - helpers/test/npm/fixtures/updater/updated/package-lock.json
205
205
  - helpers/test/npm/helpers.js
206
206
  - helpers/test/npm/updater.test.js
207
+ - helpers/test/yarn/conflicting-dependency-parser.test.js
208
+ - helpers/test/yarn/fixtures/conflicting-dependency-parser/deeply-nested/package.json
209
+ - helpers/test/yarn/fixtures/conflicting-dependency-parser/deeply-nested/yarn.lock
210
+ - helpers/test/yarn/fixtures/conflicting-dependency-parser/dev-dependencies/package.json
211
+ - helpers/test/yarn/fixtures/conflicting-dependency-parser/dev-dependencies/yarn.lock
212
+ - helpers/test/yarn/fixtures/conflicting-dependency-parser/nested/package.json
213
+ - helpers/test/yarn/fixtures/conflicting-dependency-parser/nested/yarn.lock
214
+ - helpers/test/yarn/fixtures/conflicting-dependency-parser/simple/package.json
215
+ - helpers/test/yarn/fixtures/conflicting-dependency-parser/simple/yarn.lock
207
216
  - helpers/test/yarn/fixtures/updater/original/package.json
208
217
  - helpers/test/yarn/fixtures/updater/original/yarn.lock
209
218
  - helpers/test/yarn/fixtures/updater/updated/yarn.lock