@hexonet/semantic-release-whmcs 4.0.0 → 4.0.3
Sign up to get free protection for your applications and to get access to all the features.
- package/.github/workflows/pull-request.yml +7 -6
- package/.github/workflows/push.yml +7 -6
- package/.releaserc.json +5 -1
- package/HISTORY.md +22 -0
- package/README.md +1 -0
- package/coverage/coverage-final.json +8 -8
- package/coverage/favicon.png +0 -0
- package/coverage/index.html +19 -19
- package/coverage/lib/definitions/errors.js.html +1 -1
- package/coverage/lib/definitions/index.html +1 -1
- package/coverage/lib/delete-marketplace-version.js.html +93 -150
- package/coverage/lib/get-error.js.html +1 -1
- package/coverage/lib/get-github-releases.js.html +15 -21
- package/coverage/lib/index.html +47 -47
- package/coverage/lib/publish.js.html +81 -204
- package/coverage/lib/puppet.js.html +207 -54
- package/coverage/lib/resolve-config.js.html +17 -11
- package/coverage/lib/scrape-marketplace-versions.js.html +32 -134
- package/coverage/lib/set-compatible-versions.js.html +64 -142
- package/coverage/lib/verify.js.html +9 -6
- package/coverage/sort-arrow-sprite.png +0 -0
- package/lib/delete-marketplace-version.js +59 -78
- package/lib/get-github-releases.js +9 -11
- package/lib/publish.js +76 -117
- package/lib/puppet.js +79 -28
- package/lib/resolve-config.js +9 -7
- package/lib/scrape-marketplace-versions.js +27 -61
- package/lib/set-compatible-versions.js +53 -79
- package/lib/verify.js +4 -3
- package/package.json +8 -9
@@ -23,9 +23,9 @@
|
|
23
23
|
<div class='clearfix'>
|
24
24
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
26
|
-
<span class="strong">
|
26
|
+
<span class="strong">87.5% </span>
|
27
27
|
<span class="quiet">Statements</span>
|
28
|
-
<span class='fraction'>
|
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">
|
47
|
+
<span class="strong">87.5% </span>
|
48
48
|
<span class="quiet">Lines</span>
|
49
|
-
<span class='fraction'>
|
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"> </span>
|
@@ -179,85 +160,69 @@
|
|
179
160
|
<span class="cline-any cline-neutral"> </span>
|
180
161
|
<span class="cline-any cline-neutral"> </span>
|
181
162
|
<span class="cline-any cline-neutral"> </span>
|
163
|
+
<span class="cline-any cline-neutral"> </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"> </span>
|
184
167
|
<span class="cline-any cline-yes">1x</span>
|
185
|
-
<span class="cline-any cline-
|
168
|
+
<span class="cline-any cline-yes">1x</span>
|
186
169
|
<span class="cline-any cline-no"> </span>
|
187
170
|
<span class="cline-any cline-no"> </span>
|
188
171
|
<span class="cline-any cline-neutral"> </span>
|
189
172
|
<span class="cline-any cline-neutral"> </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"> </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"> </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"> </span>
|
199
179
|
<span class="cline-any cline-neutral"> </span>
|
200
180
|
<span class="cline-any cline-neutral"> </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"> </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"> </span>
|
207
184
|
<span class="cline-any cline-yes">1x</span>
|
208
|
-
<span class="cline-any cline-
|
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"> </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"> </span>
|
220
|
-
<span class="cline-any cline-no"> </span>
|
221
|
-
<span class="cline-any cline-no"> </span>
|
222
|
-
<span class="cline-any cline-no"> </span>
|
223
190
|
<span class="cline-any cline-neutral"> </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"> </span>
|
228
191
|
<span class="cline-any cline-neutral"> </span>
|
229
192
|
<span class="cline-any cline-neutral"> </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"> </span>
|
234
194
|
<span class="cline-any cline-neutral"> </span>
|
235
|
-
<span class="cline-any cline-
|
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"> </span>
|
239
196
|
<span class="cline-any cline-neutral"> </span>
|
240
197
|
<span class="cline-any cline-neutral"> </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">
|
244
|
-
<span class="cline-any cline-yes">
|
245
|
-
<span class="cline-any cline-yes">
|
246
|
-
<span class="cline-any cline-yes">
|
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"> </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"> </span>
|
248
222
|
<span class="cline-any cline-neutral"> </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"> </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"> </span>
|
225
|
+
<span class="cline-any cline-yes">1x</span>
|
261
226
|
<span class="cline-any cline-no"> </span>
|
262
227
|
<span class="cline-any cline-no"> </span>
|
263
228
|
<span class="cline-any cline-no"> </span>
|
@@ -266,116 +231,94 @@
|
|
266
231
|
<span class="cline-any cline-neutral"> </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"> </span>
|
270
|
-
<span class="cline-any cline-neutral"> </span>
|
271
|
-
<span class="cline-any cline-yes">1x</span>
|
272
234
|
<span class="cline-any cline-neutral"> </span>
|
273
235
|
<span class="cline-any cline-neutral"> </span>
|
274
236
|
<span class="cline-any cline-neutral"> </span>
|
275
237
|
<span class="cline-any cline-neutral"> </span>
|
276
238
|
<span class="cline-any cline-neutral"> </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
|
|
280
242
|
/**
|
281
243
|
* A method to publish the module update on whmcs market place
|
282
244
|
*/
|
283
245
|
module.exports = async (pluginConfig, context) => {
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
246
|
+
// if (!context.logger) {
|
247
|
+
// context.logger = console;
|
248
|
+
// }
|
249
|
+
|
250
|
+
const sep = '+++++++++++++++++++++++++++++++++++++++++++++++++++'
|
251
|
+
const out = `\n${sep}\n${path.basename(__filename)}\n${sep}\n`
|
288
252
|
|
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(
|
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
|
|
295
|
-
|
296
|
-
const { whmcsLOGIN, whmcsPASSWORD, whmcsPRODUCTID, DEBUG } = resolveConfig(context)
|
297
|
-
const { gotoOpts, navOpts, selectorOpts, page } = await puppet(DEBUG, logger)
|
259
|
+
debug(`${out}Delete Version: ${version}`)
|
298
260
|
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
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
|
|
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
|
-
|
309
270
|
try {
|
271
|
+
// navigate to product administration
|
272
|
+
const url = `${urlbase}/product/${productid}/edit#versions`
|
310
273
|
await page.goto(url, gotoOpts)
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
await page.
|
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
|
|
339
|
-
|
340
|
-
|
341
|
-
|
280
|
+
// delete version
|
281
|
+
// xpath improvements / changes with v16.1.0
|
282
|
+
// -> 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
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
352
|
-
|
353
|
-
|
354
|
-
|
355
|
-
|
356
|
-
|
357
|
-
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
<span class="cstat-no" title="statement not covered" > debug('
|
367
|
-
<span class="cstat-no" title="statement not covered" >
|
368
|
-
<span class="cstat-no" title="statement not covered" >
|
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
|
|
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: `${
|
321
|
+
url: `${urlbase}/product/${productid}`
|
379
322
|
}
|
380
323
|
}
|
381
324
|
</pre></td></tr></table></pre>
|
@@ -385,7 +328,7 @@ module.exports = async (pluginConfig, context) => {
|
|
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
|
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) => {
|
|
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
|
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/
|
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/
|
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"> </span>
|
99
|
+
<a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-no"> </span>
|
102
100
|
<span class="cline-any cline-no"> </span>
|
103
101
|
<span class="cline-any cline-no"> </span>
|
104
102
|
<span class="cline-any cline-neutral"> </span>
|
@@ -109,23 +107,21 @@
|
|
109
107
|
<span class="cline-any cline-neutral"> </span>
|
110
108
|
<span class="cline-any cline-neutral"> </span>
|
111
109
|
<span class="cline-any cline-no"> </span>
|
112
|
-
<span class="cline-any cline-neutral"> </span>
|
113
|
-
<span class="cline-any cline-neutral"> </span>
|
114
110
|
<span class="cline-any cline-no"> </span>
|
115
111
|
<span class="cline-any cline-neutral"> </span>
|
116
112
|
<span class="cline-any cline-no"> </span>
|
117
|
-
<span class="cline-any cline-no"> </span>
|
118
113
|
<span class="cline-any cline-neutral"> </span>
|
119
114
|
<span class="cline-any cline-no"> </span>
|
120
115
|
<span class="cline-any cline-neutral"> </span>
|
121
|
-
<span class="cline-any cline-no"> </span>
|
122
116
|
<span class="cline-any cline-neutral"> </span>
|
117
|
+
<span class="cline-any cline-no"> </span>
|
123
118
|
<span class="cline-any cline-neutral"> </span>
|
124
119
|
<span class="cline-any cline-no"> </span>
|
125
120
|
<span class="cline-any cline-no"> </span>
|
126
121
|
<span class="cline-any cline-no"> </span>
|
127
122
|
<span class="cline-any cline-no"> </span>
|
128
123
|
<span class="cline-any cline-no"> </span>
|
124
|
+
<span class="cline-any cline-neutral"> </span>
|
129
125
|
<span class="cline-any cline-no"> </span>
|
130
126
|
<span class="cline-any cline-no"> </span>
|
131
127
|
<span class="cline-any cline-neutral"> </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) => {</span>
|
147
|
-
const {
|
148
|
-
logger
|
149
|
-
} = <span class="cstat-no" title="statement not covered" >context</span>
|
150
|
-
|
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
|
|
154
|
-
const {
|
145
|
+
const { ghrepo, ghtoken } = <span class="cstat-no" title="statement not covered" >resolveConfig(context)</span>
|
155
146
|
|
156
147
|
const gh = <span class="cstat-no" title="statement not covered" >new GitHub({</span>
|
157
|
-
token:
|
148
|
+
token: ghtoken
|
158
149
|
})
|
159
|
-
<span class="cstat-no" title="statement not covered" > if (
|
160
|
-
|
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
|
155
|
+
<span class="cstat-no" title="statement not covered" > githubReleases.data.forEach(<span class="fstat-no" title="function not covered" >(r</span>) =></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" >
|
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
|
172
|
+
at 2022-08-09T11:01:27.229Z
|
179
173
|
</div>
|
180
174
|
<script src="../prettify.js"></script>
|
181
175
|
<script>
|