1 | <!doctype html>
|
2 | <html lang="en">
|
3 | <head>
|
4 | <title>Code coverage report for resolve-dir.js</title>
|
5 | <meta charset="utf-8" />
|
6 | <link rel="stylesheet" href="prettify.css" />
|
7 | <link rel="stylesheet" href="base.css" />
|
8 | <meta name="viewport" content="width=device-width, initial-scale=1">
|
9 | <style type='text/css'>
|
10 | .coverage-summary .sorter {
|
11 | background-image: url(sort-arrow-sprite.png);
|
12 | }
|
13 | </style>
|
14 | </head>
|
15 | <body>
|
16 | <div class='wrapper'>
|
17 | <div class='pad1'>
|
18 | <h1>
|
19 | <a href="index.html">All files</a> resolve-dir.js
|
20 | </h1>
|
21 | <div class='clearfix'>
|
22 | <div class='fl pad1y space-right2'>
|
23 | <span class="strong">5.88% </span>
|
24 | <span class="quiet">Statements</span>
|
25 | <span class='fraction'>1/17</span>
|
26 | </div>
|
27 | <div class='fl pad1y space-right2'>
|
28 | <span class="strong">0% </span>
|
29 | <span class="quiet">Branches</span>
|
30 | <span class='fraction'>0/12</span>
|
31 | </div>
|
32 | <div class='fl pad1y space-right2'>
|
33 | <span class="strong">0% </span>
|
34 | <span class="quiet">Functions</span>
|
35 | <span class='fraction'>0/1</span>
|
36 | </div>
|
37 | <div class='fl pad1y space-right2'>
|
38 | <span class="strong">5.88% </span>
|
39 | <span class="quiet">Lines</span>
|
40 | <span class='fraction'>1/17</span>
|
41 | </div>
|
42 | </div>
|
43 | </div>
|
44 | <div class='status-line low'></div>
|
45 | <pre><table class="coverage">
|
46 | <tr><td class="line-count quiet">1
|
47 | 2
|
48 | 3
|
49 | 4
|
50 | 5
|
51 | 6
|
52 | 7
|
53 | 8
|
54 | 9
|
55 | 10
|
56 | 11
|
57 | 12
|
58 | 13
|
59 | 14
|
60 | 15
|
61 | 16
|
62 | 17
|
63 | 18
|
64 | 19
|
65 | 20
|
66 | 21
|
67 | 22
|
68 | 23
|
69 | 24
|
70 | 25
|
71 | 26
|
72 | 27
|
73 | 28
|
74 | 29
|
75 | 30
|
76 | 31
|
77 | 32
|
78 | 33
|
79 | 34
|
80 | 35
|
81 | 36
|
82 | 37</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
83 | <span class="cline-any cline-neutral"> </span>
|
84 | <span class="cline-any cline-neutral"> </span>
|
85 | <span class="cline-any cline-neutral"> </span>
|
86 | <span class="cline-any cline-neutral"> </span>
|
87 | <span class="cline-any cline-yes">1x</span>
|
88 | <span class="cline-any cline-neutral"> </span>
|
89 | <span class="cline-any cline-neutral"> </span>
|
90 | <span class="cline-any cline-no"> </span>
|
91 | <span class="cline-any cline-neutral"> </span>
|
92 | <span class="cline-any cline-no"> </span>
|
93 | <span class="cline-any cline-no"> </span>
|
94 | <span class="cline-any cline-no"> </span>
|
95 | <span class="cline-any cline-no"> </span>
|
96 | <span class="cline-any cline-no"> </span>
|
97 | <span class="cline-any cline-no"> </span>
|
98 | <span class="cline-any cline-neutral"> </span>
|
99 | <span class="cline-any cline-no"> </span>
|
100 | <span class="cline-any cline-no"> </span>
|
101 | <span class="cline-any cline-neutral"> </span>
|
102 | <span class="cline-any cline-no"> </span>
|
103 | <span class="cline-any cline-neutral"> </span>
|
104 | <span class="cline-any cline-neutral"> </span>
|
105 | <span class="cline-any cline-neutral"> </span>
|
106 | <span class="cline-any cline-no"> </span>
|
107 | <span class="cline-any cline-neutral"> </span>
|
108 | <span class="cline-any cline-neutral"> </span>
|
109 | <span class="cline-any cline-no"> </span>
|
110 | <span class="cline-any cline-no"> </span>
|
111 | <span class="cline-any cline-no"> </span>
|
112 | <span class="cline-any cline-neutral"> </span>
|
113 | <span class="cline-any cline-neutral"> </span>
|
114 | <span class="cline-any cline-no"> </span>
|
115 | <span class="cline-any cline-neutral"> </span>
|
116 | <span class="cline-any cline-no"> </span>
|
117 | <span class="cline-any cline-neutral"> </span>
|
118 | <span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import debug from 'debug';
|
119 | import fs from 'fs-promise';
|
120 | import path from 'path';
|
121 | import readPackageJSON from './read-package-json';
|
122 |
|
123 | const d = debug('electron-forge:project-resolver');
|
124 |
|
125 | export default <span class="fstat-no" title="function not covered" >as</span>ync (dir) => {
|
126 | let mDir = <span class="cstat-no" title="statement not covered" >dir;</span>
|
127 | let prevDir;
|
128 | <span class="cstat-no" title="statement not covered" > while (prevDir !== mDir) {</span>
|
129 | <span class="cstat-no" title="statement not covered" > prevDir = mDir;</span>
|
130 | const testPath = <span class="cstat-no" title="statement not covered" >path.resolve(mDir, 'package.json');</span>
|
131 | <span class="cstat-no" title="statement not covered" > d('searching for project in:', mDir);</span>
|
132 | <span class="cstat-no" title="statement not covered" > if (await fs.exists(testPath)) {</span>
|
133 | const packageJSON = <span class="cstat-no" title="statement not covered" >await readPackageJSON(mDir);</span>
|
134 |
|
135 | <span class="cstat-no" title="statement not covered" > if (packageJSON.devDependencies && packageJSON.devDependencies['electron-prebuilt-compile']) {</span>
|
136 | <span class="cstat-no" title="statement not covered" > if (!/[0-9]/.test(packageJSON.devDependencies['electron-prebuilt-compile'][0])) {</span>
|
137 | // eslint-disable-next-line no-throw-literal
|
138 | <span class="cstat-no" title="statement not covered" > throw 'You must depend on an EXACT version of "electron-prebuilt-compile" not a range';</span>
|
139 | }
|
140 | } else {
|
141 | // eslint-disable-next-line no-throw-literal
|
142 | <span class="cstat-no" title="statement not covered" > throw 'You must depend on "electron-prebuilt-compile" in your devDependencies';</span>
|
143 | }
|
144 |
|
145 | <span class="cstat-no" title="statement not covered" > if (packageJSON.config && packageJSON.config.forge) {</span>
|
146 | <span class="cstat-no" title="statement not covered" > d('electron-forge compatible package.json found in', testPath);</span>
|
147 | <span class="cstat-no" title="statement not covered" > return mDir;</span>
|
148 | }
|
149 | }
|
150 | <span class="cstat-no" title="statement not covered" > mDir = path.dirname(mDir);</span>
|
151 | }
|
152 | <span class="cstat-no" title="statement not covered" > return null;</span>
|
153 | };
|
154 | </pre></td></tr>
|
155 | </table></pre>
|
156 | <div class='push'></div>
|
157 | </div>
|
158 | <div class='footer quiet pad2 space-top1 center small'>
|
159 | Code coverage
|
160 | generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sun Jan 15 2017 17:17:26 GMT+1100 (AEDT)
|
161 | </div>
|
162 | </div>
|
163 | <script src="prettify.js"></script>
|
164 | <script>
|
165 | window.onload = function () {
|
166 | if (typeof prettyPrint === 'function') {
|
167 | prettyPrint();
|
168 | }
|
169 | };
|
170 | </script>
|
171 | <script src="sorter.js"></script>
|
172 | </body>
|
173 | </html>
|