@hexonet/semantic-release-whmcs 4.0.2 → 4.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">84.05% </span>
26
+ <span class="strong">87.5% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>58/69</span>
28
+ <span class='fraction'>42/48</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">84.05% </span>
47
+ <span class="strong">87.5% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>58/69</span>
49
+ <span class='fraction'>42/48</span>
50
50
  </div>
51
51
 
52
52
 
@@ -149,26 +149,7 @@
149
149
  <a name='L84'></a><a href='#L84'>84</a>
150
150
  <a name='L85'></a><a href='#L85'>85</a>
151
151
  <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
152
+ <a name='L87'></a><a href='#L87'>87</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
172
153
  <span class="cline-any cline-yes">1x</span>
173
154
  <span class="cline-any cline-yes">1x</span>
174
155
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -179,85 +160,69 @@
179
160
  <span class="cline-any cline-neutral">&nbsp;</span>
180
161
  <span class="cline-any cline-neutral">&nbsp;</span>
181
162
  <span class="cline-any cline-neutral">&nbsp;</span>
163
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-yes">1x</span>
182
165
  <span class="cline-any cline-yes">1x</span>
183
166
  <span class="cline-any cline-neutral">&nbsp;</span>
184
167
  <span class="cline-any cline-yes">1x</span>
185
- <span class="cline-any cline-no">&nbsp;</span>
168
+ <span class="cline-any cline-yes">1x</span>
186
169
  <span class="cline-any cline-no">&nbsp;</span>
187
170
  <span class="cline-any cline-no">&nbsp;</span>
188
171
  <span class="cline-any cline-neutral">&nbsp;</span>
189
172
  <span class="cline-any cline-neutral">&nbsp;</span>
190
173
  <span class="cline-any cline-yes">1x</span>
191
- <span class="cline-any cline-yes">1x</span>
192
- <span class="cline-any cline-yes">1x</span>
193
174
  <span class="cline-any cline-neutral">&nbsp;</span>
194
175
  <span class="cline-any cline-yes">1x</span>
195
176
  <span class="cline-any cline-yes">1x</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-yes">1x</span>
198
177
  <span class="cline-any cline-yes">1x</span>
178
+ <span class="cline-any cline-no">&nbsp;</span>
199
179
  <span class="cline-any cline-neutral">&nbsp;</span>
200
180
  <span class="cline-any cline-neutral">&nbsp;</span>
201
181
  <span class="cline-any cline-yes">1x</span>
202
- <span class="cline-any cline-yes">1x</span>
203
182
  <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-yes">1x</span>
205
- <span class="cline-any cline-yes">1x</span>
206
183
  <span class="cline-any cline-neutral">&nbsp;</span>
207
184
  <span class="cline-any cline-yes">1x</span>
208
- <span class="cline-any cline-yes">1x</span>
209
- <span class="cline-any cline-yes">1x</span>
210
- <span class="cline-any cline-yes">1x</span>
211
- <span class="cline-any cline-yes">1x</span>
212
- <span class="cline-any cline-yes">1x</span>
213
- <span class="cline-any cline-yes">1x</span>
214
- <span class="cline-any cline-yes">1x</span>
215
- <span class="cline-any cline-yes">1x</span>
185
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
186
  <span class="cline-any cline-yes">1x</span>
217
187
  <span class="cline-any cline-yes">1x</span>
218
188
  <span class="cline-any cline-yes">1x</span>
219
189
  <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-no">&nbsp;</span>
221
- <span class="cline-any cline-no">&nbsp;</span>
222
- <span class="cline-any cline-no">&nbsp;</span>
223
190
  <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-yes">1x</span>
225
- <span class="cline-any cline-yes">1x</span>
226
- <span class="cline-any cline-yes">1x</span>
227
- <span class="cline-any cline-no">&nbsp;</span>
228
191
  <span class="cline-any cline-neutral">&nbsp;</span>
229
192
  <span class="cline-any cline-neutral">&nbsp;</span>
230
- <span class="cline-any cline-yes">1x</span>
231
- <span class="cline-any cline-yes">1x</span>
232
- <span class="cline-any cline-yes">1x</span>
233
193
  <span class="cline-any cline-neutral">&nbsp;</span>
234
194
  <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-yes">1x</span>
236
- <span class="cline-any cline-yes">1x</span>
237
- <span class="cline-any cline-yes">1x</span>
238
- <span class="cline-any cline-yes">1x</span>
195
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
196
  <span class="cline-any cline-neutral">&nbsp;</span>
240
197
  <span class="cline-any cline-neutral">&nbsp;</span>
241
198
  <span class="cline-any cline-yes">1x</span>
242
199
  <span class="cline-any cline-yes">1x</span>
243
- <span class="cline-any cline-yes">1x</span>
244
- <span class="cline-any cline-yes">1x</span>
245
- <span class="cline-any cline-yes">1x</span>
246
- <span class="cline-any cline-yes">1x</span>
200
+ <span class="cline-any cline-yes">3x</span>
201
+ <span class="cline-any cline-yes">3x</span>
202
+ <span class="cline-any cline-yes">2x</span>
203
+ <span class="cline-any cline-yes">2x</span>
204
+ <span class="cline-any cline-yes">2x</span>
205
+ <span class="cline-any cline-yes">2x</span>
206
+ <span class="cline-any cline-yes">2x</span>
207
+ <span class="cline-any cline-yes">2x</span>
208
+ <span class="cline-any cline-yes">2x</span>
209
+ <span class="cline-any cline-yes">2x</span>
210
+ <span class="cline-any cline-yes">2x</span>
211
+ <span class="cline-any cline-yes">2x</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-yes">2x</span>
214
+ <span class="cline-any cline-yes">2x</span>
215
+ <span class="cline-any cline-yes">2x</span>
216
+ <span class="cline-any cline-yes">2x</span>
217
+ <span class="cline-any cline-yes">2x</span>
218
+ <span class="cline-any cline-yes">2x</span>
219
+ <span class="cline-any cline-yes">2x</span>
220
+ <span class="cline-any cline-yes">2x</span>
247
221
  <span class="cline-any cline-neutral">&nbsp;</span>
248
222
  <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-yes">1x</span>
250
- <span class="cline-any cline-yes">1x</span>
251
- <span class="cline-any cline-yes">1x</span>
252
- <span class="cline-any cline-yes">1x</span>
253
- <span class="cline-any cline-yes">1x</span>
254
- <span class="cline-any cline-yes">1x</span>
255
- <span class="cline-any cline-yes">1x</span>
256
223
  <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-yes">1x</span>
258
- <span class="cline-any cline-yes">1x</span>
259
- <span class="cline-any cline-yes">1x</span>
260
224
  <span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-yes">1x</span>
261
226
  <span class="cline-any cline-no">&nbsp;</span>
262
227
  <span class="cline-any cline-no">&nbsp;</span>
263
228
  <span class="cline-any cline-no">&nbsp;</span>
@@ -266,116 +231,94 @@
266
231
  <span class="cline-any cline-neutral">&nbsp;</span>
267
232
  <span class="cline-any cline-yes">1x</span>
268
233
  <span class="cline-any cline-yes">1x</span>
269
- <span class="cline-any cline-no">&nbsp;</span>
270
- <span class="cline-any cline-neutral">&nbsp;</span>
271
- <span class="cline-any cline-yes">1x</span>
272
234
  <span class="cline-any cline-neutral">&nbsp;</span>
273
235
  <span class="cline-any cline-neutral">&nbsp;</span>
274
236
  <span class="cline-any cline-neutral">&nbsp;</span>
275
237
  <span class="cline-any cline-neutral">&nbsp;</span>
276
238
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const debug = require('debug')('semantic-release:whmcs')
277
- const resolveConfig = require('./resolve-config')
278
239
  const puppet = require('./puppet')
240
+ const path = require('path')
279
241
  &nbsp;
280
242
  /**
281
243
  * A method to publish the module update on whmcs market place
282
244
  */
283
245
  module.exports = async (pluginConfig, context) =&gt; {
284
- const {
285
- version,
286
- logger
287
- } = context
246
+ // if (!context.logger) {
247
+ // context.logger = console;
248
+ // }
249
+ &nbsp;
250
+ const sep = '+++++++++++++++++++++++++++++++++++++++++++++++++++'
251
+ const out = `\n${sep}\n${path.basename(__filename)}\n${sep}\n`
288
252
  &nbsp;
253
+ const { version } = context
289
254
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!version || !version.length) {
290
- <span class="cstat-no" title="statement not covered" > debug('deleting product version failed. No input data available.')</span>
291
- <span class="cstat-no" title="statement not covered" > logger.error('WHMCS Marketplace deleting product version failed. No input data available.')</span>
255
+ <span class="cstat-no" title="statement not covered" > debug(`${out}Deleting product version failed. No input data available.`)</span>
292
256
  <span class="cstat-no" title="statement not covered" > return false</span>
293
257
  }
294
258
  &nbsp;
295
- let success = true
296
- const { whmcsLOGIN, whmcsPASSWORD, whmcsPRODUCTID, withHEAD, DEBUG } = resolveConfig(context)
297
- const { gotoOpts, navOpts, selectorOpts, page } = await puppet(withHEAD, DEBUG, logger)
259
+ debug(`${out}Delete Version: ${version}`)
298
260
  &nbsp;
299
- debug(`WHMCS Marketplace Product ID: ${whmcsPRODUCTID}`)
300
- logger.log(`WHMCS Marketplace Product ID: ${whmcsPRODUCTID}`)
301
- &nbsp;
302
- debug(`Delete Version: ${version}`)
303
- logger.log(`Delete Version: ${version}`)
261
+ const püppi = await puppet(context)
262
+ const result = await püppi.login()
263
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!result) {
264
+ <span class="cstat-no" title="statement not covered" > return result</span>
265
+ }
266
+ const { page, navOpts, gotoOpts, selectorOpts, productid, urlbase } =
267
+ püppi.config
304
268
  &nbsp;
305
269
  // strip markdown links from notes as not allowed to keep
306
- const wmbase = 'https://marketplace.whmcs.com'
307
- let url = `${wmbase}/user/login`
308
- &nbsp;
309
270
  try {
271
+ // navigate to product administration
272
+ const url = `${urlbase}/product/${productid}/edit#versions`
310
273
  await page.goto(url, gotoOpts)
311
- // do login
312
- const selector = 'div.login-leftcol form button[type="submit"]'
313
- await page.waitForSelector(selector, selectorOpts)
314
- debug('login form loaded at %s', url)
315
- await page.type('#email', whmcsLOGIN)
316
- await page.type('#password', whmcsPASSWORD)
317
- debug('WHMCS Marketplace credentials entered')
318
- const nav = page.waitForNavigation(navOpts)
319
- await page.hover(selector)
320
- await page.click(selector)
321
- await nav
322
- debug('Login form successfully submitted.')
323
- logger.log('WHMCS Marketplace Login Form successfully submitted.')
324
- } catch (error) {
325
- <span class="cstat-no" title="statement not covered" > debug('WHMCS Marketplace login failed.', error.message)</span>
326
- <span class="cstat-no" title="statement not covered" > logger.error('WHMCS Marketplace login failed.', error.message)</span>
327
- <span class="cstat-no" title="statement not covered" > success = false</span>
328
- }
329
- <span class="missing-if-branch" title="else path not taken" >E</span>if (success) {
330
- try {
331
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!parseInt(whmcsPRODUCTID, 10)) {
332
- <span class="cstat-no" title="statement not covered" > return false</span>
333
- }
334
- // open versions tab
335
- url = `${wmbase}/product/${whmcsPRODUCTID}/edit#versions`
336
- await page.goto(url, gotoOpts)
337
- debug('product page loaded at %s', url)
274
+ debug('product page loaded at %s', url)
275
+ // open versions tab (instead of doing it via url)
276
+ // let selector = '#nav-tabs li a[href="#versions"]';
277
+ // await page.waitForSelector(selector, selectorOpts);
278
+ // await page.click(selector);
338
279
  &nbsp;
339
- // delete version
340
- const xpath = `//td[contains(., "Version ${version}")]/following-sibling::td/a[contains(@class, "btn-styled-red")]`
341
- await page.waitForXPath(xpath, selectorOpts)
280
+ // delete version
281
+ // xpath improvements / changes with v16.1.0
282
+ // -&gt; https://github.com/puppeteer/puppeteer/pull/8730
283
+ // https://github.com/puppeteer/puppeteer/blob/d1681ec06b7c3db4b51c20b17b3339f852efbd4d/test/src/queryhandler.spec.ts
284
+ let elements = []
285
+ do {
286
+ const xpath = `xpath/.//td[contains(., "Version ${version}")]/following-sibling::td/a[contains(@class, "btn-styled-red")]`
287
+ await page.waitForSelector(xpath, selectorOpts)
342
288
  debug('XPath found.')
343
- let nav = page.waitForNavigation(navOpts)
344
- /* istanbul ignore next */
345
- const elements = await page.$x(xpath)
346
- debug('Delete Button - click.')
347
- await elements[0].hover()
348
- await elements[0].click()
349
- debug('Delete Button - clicked.')
350
- await nav
351
- debug('Navigation finished.')
352
- &nbsp;
353
- // confirm deletion
354
- const selector = 'div.listing-edit-container form button[type="submit"]'
355
- await page.waitForSelector(selector, selectorOpts)
356
- debug('confirmation form loaded at %s', url)
357
- nav = page.waitForNavigation(navOpts)
358
- await page.hover(selector)
359
- await page.click(selector)
360
- await nav
361
- &nbsp;
362
- debug('deleting product version succeeded.')
363
- logger.log('WHMCS Marketplace deleting product version succeeded.')
364
- success = true
365
- } catch (error) {
366
- <span class="cstat-no" title="statement not covered" > debug('deleting product version failed.', error.message)</span>
367
- <span class="cstat-no" title="statement not covered" > logger.error('WHMCS Marketplace deleting product version failed.', error.message)</span>
368
- <span class="cstat-no" title="statement not covered" > success = false</span>
289
+ const nav = page.waitForNavigation(navOpts)
290
+ elements = await page.$$(xpath)
291
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (elements.length) {
292
+ debug('Delete Button - click.')
293
+ await elements[0].hover()
294
+ await elements[0].click()
295
+ debug('Delete Button - clicked.')
296
+ await nav
297
+ debug('Navigation finished.')
298
+ // confirm deletion
299
+ const selector = 'button.btn-styled-red'
300
+ await page.waitForSelector(selector, selectorOpts)
301
+ debug('deletion confirmation button available')
302
+ debug('click confirmation button')
303
+ await page.clickAndNavigate(selector)
304
+ debug('clicked confirmation button')
305
+ await nav
306
+ debug('WHMCS Marketplace deleting product version succeeded.')
307
+ }
308
+ } while (elements.length)
309
+ } catch (error) {
310
+ // while loop and having all versions deleted
311
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (!/waiting for selector `.\/\//i.test(error.message)) {
312
+ <span class="cstat-no" title="statement not covered" > debug('Deleting product version failed.', error.message)</span>
313
+ <span class="cstat-no" title="statement not covered" > await page.browser().close()</span>
314
+ <span class="cstat-no" title="statement not covered" > return false</span>
369
315
  }
370
316
  }
371
317
  &nbsp;
372
318
  await page.browser().close()
373
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!success) {
374
- <span class="cstat-no" title="statement not covered" > return false</span>
375
- }
376
319
  return {
377
320
  name: 'WHMCS Marketplace Product Version',
378
- url: `${wmbase}/product/${whmcsPRODUCTID}`
321
+ url: `${urlbase}/product/${productid}`
379
322
  }
380
323
  }
381
324
  &nbsp;</pre></td></tr></table></pre>
@@ -385,7 +328,7 @@ module.exports = async (pluginConfig, context) =&gt; {
385
328
  <div class='footer quiet pad2 space-top1 center small'>
386
329
  Code coverage generated by
387
330
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
388
- at Wed Jun 29 2022 13:20:57 GMT+0000 (Coordinated Universal Time)
331
+ at 2022-08-09T11:01:27.229Z
389
332
  </div>
390
333
  <script src="../prettify.js"></script>
391
334
  <script>
@@ -91,7 +91,7 @@ module.exports = (code) =&gt; {
91
91
  <div class='footer quiet pad2 space-top1 center small'>
92
92
  Code coverage generated by
93
93
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
94
- at Wed Jun 29 2022 13:20:57 GMT+0000 (Coordinated Universal Time)
94
+ at 2022-08-09T11:01:27.229Z
95
95
  </div>
96
96
  <script src="../prettify.js"></script>
97
97
  <script>
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/19</span>
28
+ <span class='fraction'>0/17</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/18</span>
49
+ <span class='fraction'>0/17</span>
50
50
  </div>
51
51
 
52
52
 
@@ -96,9 +96,7 @@
96
96
  <a name='L31'></a><a href='#L31'>31</a>
97
97
  <a name='L32'></a><a href='#L32'>32</a>
98
98
  <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
99
+ <a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
102
100
  <span class="cline-any cline-no">&nbsp;</span>
103
101
  <span class="cline-any cline-no">&nbsp;</span>
104
102
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -109,23 +107,21 @@
109
107
  <span class="cline-any cline-neutral">&nbsp;</span>
110
108
  <span class="cline-any cline-neutral">&nbsp;</span>
111
109
  <span class="cline-any cline-no">&nbsp;</span>
112
- <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-neutral">&nbsp;</span>
114
110
  <span class="cline-any cline-no">&nbsp;</span>
115
111
  <span class="cline-any cline-neutral">&nbsp;</span>
116
112
  <span class="cline-any cline-no">&nbsp;</span>
117
- <span class="cline-any cline-no">&nbsp;</span>
118
113
  <span class="cline-any cline-neutral">&nbsp;</span>
119
114
  <span class="cline-any cline-no">&nbsp;</span>
120
115
  <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-no">&nbsp;</span>
122
116
  <span class="cline-any cline-neutral">&nbsp;</span>
117
+ <span class="cline-any cline-no">&nbsp;</span>
123
118
  <span class="cline-any cline-neutral">&nbsp;</span>
124
119
  <span class="cline-any cline-no">&nbsp;</span>
125
120
  <span class="cline-any cline-no">&nbsp;</span>
126
121
  <span class="cline-any cline-no">&nbsp;</span>
127
122
  <span class="cline-any cline-no">&nbsp;</span>
128
123
  <span class="cline-any cline-no">&nbsp;</span>
124
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
125
  <span class="cline-any cline-no">&nbsp;</span>
130
126
  <span class="cline-any cline-no">&nbsp;</span>
131
127
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -144,27 +140,25 @@ const GitHub = <span class="cstat-no" title="statement not covered" >require('gi
144
140
  * A method to get releases from github repository
145
141
  */
146
142
  <span class="cstat-no" title="statement not covered" >module.exports = <span class="fstat-no" title="function not covered" >as</span>ync (pluginConfig, context) =&gt; {</span>
147
- const {
148
- logger
149
- } = <span class="cstat-no" title="statement not covered" >context</span>
150
- &nbsp;
151
143
  <span class="cstat-no" title="statement not covered" > debug('Getting releases from GitHub')</span>
152
- <span class="cstat-no" title="statement not covered" > logger.log('Getting releases from GitHub')</span>
153
144
  &nbsp;
154
- const { githubREPO, githubTOKEN } = <span class="cstat-no" title="statement not covered" >resolveConfig(context)</span>
145
+ const { ghrepo, ghtoken } = <span class="cstat-no" title="statement not covered" >resolveConfig(context)</span>
155
146
  &nbsp;
156
147
  const gh = <span class="cstat-no" title="statement not covered" >new GitHub({</span>
157
- token: githubTOKEN
148
+ token: ghtoken
158
149
  })
159
- <span class="cstat-no" title="statement not covered" > if (githubREPO) { // optional by default false</span>
160
- const repo = <span class="cstat-no" title="statement not covered" >githubREPO.split('/')</span>
150
+ <span class="cstat-no" title="statement not covered" > if (ghrepo) {</span>
151
+ // optional by default false
152
+ const repo = <span class="cstat-no" title="statement not covered" >ghrepo.split('/')</span>
161
153
  const githubReleases = <span class="cstat-no" title="statement not covered" >await gh.getRepo(repo[0], repo[1]).listReleases()</span>
162
154
  <span class="cstat-no" title="statement not covered" > if (githubReleases.status === 200) {</span>
163
- <span class="cstat-no" title="statement not covered" > githubReleases.data.forEach(<span class="fstat-no" title="function not covered" >r </span>=&gt; <span class="cstat-no" title="statement not covered" >logger.log(`Detected GitHub release ${r.name.substring(1)}`))</span></span>
155
+ <span class="cstat-no" title="statement not covered" > githubReleases.data.forEach(<span class="fstat-no" title="function not covered" >(r</span>) =&gt;</span>
156
+ <span class="cstat-no" title="statement not covered" > debug(`Detected GitHub release ${r.name.substring(1)}`)</span>
157
+ )
164
158
  <span class="cstat-no" title="statement not covered" > githubReleases.data.reverse()</span>
165
159
  <span class="cstat-no" title="statement not covered" > return githubReleases.data</span>
166
160
  }
167
- <span class="cstat-no" title="statement not covered" > logger.log('Failed to get releases from GitHub')</span>
161
+ <span class="cstat-no" title="statement not covered" > debug('Failed to get releases from GitHub')</span>
168
162
  }
169
163
  <span class="cstat-no" title="statement not covered" > return false</span>
170
164
  }
@@ -175,7 +169,7 @@ const GitHub = <span class="cstat-no" title="statement not covered" >require('gi
175
169
  <div class='footer quiet pad2 space-top1 center small'>
176
170
  Code coverage generated by
177
171
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
178
- at Wed Jun 29 2022 13:20:57 GMT+0000 (Coordinated Universal Time)
172
+ at 2022-08-09T11:01:27.229Z
179
173
  </div>
180
174
  <script src="../prettify.js"></script>
181
175
  <script>