@rspack/core 0.6.4 → 0.6.5-canary-73c31ab-20240510004618

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/compiled/browserslist/index.d.ts +1 -0
  2. package/compiled/browserslist/index.js +2028 -0
  3. package/compiled/browserslist/license +20 -0
  4. package/compiled/browserslist/package.json +1 -0
  5. package/compiled/graceful-fs/index.d.ts +13 -0
  6. package/compiled/graceful-fs/index.js +1063 -0
  7. package/compiled/graceful-fs/license +15 -0
  8. package/compiled/graceful-fs/package.json +1 -0
  9. package/compiled/json-parse-even-better-errors/index.d.ts +1 -0
  10. package/compiled/json-parse-even-better-errors/index.js +193 -0
  11. package/compiled/json-parse-even-better-errors/package.json +1 -0
  12. package/compiled/neo-async/index.d.ts +685 -0
  13. package/compiled/neo-async/index.js +9207 -0
  14. package/compiled/neo-async/license +22 -0
  15. package/compiled/neo-async/package.json +1 -0
  16. package/compiled/watchpack/index.d.ts +216 -0
  17. package/compiled/watchpack/index.js +2075 -0
  18. package/compiled/watchpack/license +20 -0
  19. package/compiled/watchpack/package.json +1 -0
  20. package/compiled/zod/index.d.ts +1647 -0
  21. package/compiled/zod/index.js +4208 -0
  22. package/compiled/zod/license +21 -0
  23. package/compiled/zod/package.json +1 -0
  24. package/compiled/zod-validation-error/index.d.ts +188 -0
  25. package/compiled/zod-validation-error/index.js +4367 -0
  26. package/compiled/zod-validation-error/license +9 -0
  27. package/compiled/zod-validation-error/package.json +1 -0
  28. package/dist/ChunkGroup.d.ts +2 -0
  29. package/dist/ChunkGroup.js +4 -0
  30. package/dist/Compiler.d.ts +2 -2
  31. package/dist/MultiCompiler.js +1 -1
  32. package/dist/MultiWatching.js +1 -1
  33. package/dist/builtin-plugin/BannerPlugin.d.ts +1 -1
  34. package/dist/builtin-plugin/BannerPlugin.js +1 -1
  35. package/dist/builtin-plugin/HtmlRspackPlugin.d.ts +1 -1
  36. package/dist/builtin-plugin/HtmlRspackPlugin.js +1 -1
  37. package/dist/builtin-plugin/IgnorePlugin.js +1 -1
  38. package/dist/builtin-plugin/SizeLimitsPlugin.d.ts +15 -0
  39. package/dist/builtin-plugin/SizeLimitsPlugin.js +9 -0
  40. package/dist/builtin-plugin/index.d.ts +1 -0
  41. package/dist/builtin-plugin/index.js +1 -0
  42. package/dist/config/browserslistTargetHandler.js +1 -1
  43. package/dist/config/defaults.js +15 -0
  44. package/dist/config/normalization.d.ts +2 -1
  45. package/dist/config/normalization.js +1 -0
  46. package/dist/config/zod.d.ts +60 -6
  47. package/dist/config/zod.js +16 -2
  48. package/dist/exports.d.ts +2 -0
  49. package/dist/exports.js +15 -10
  50. package/dist/lib/CacheFacade.js +1 -1
  51. package/dist/loader-runner/index.js +1 -1
  52. package/dist/node/NodeEnvironmentPlugin.js +1 -1
  53. package/dist/node/NodeWatchFileSystem.d.ts +3 -3
  54. package/dist/node/NodeWatchFileSystem.js +1 -1
  55. package/dist/rspackOptionsApply.js +4 -1
  56. package/dist/util/validate.d.ts +1 -1
  57. package/dist/util/validate.js +1 -1
  58. package/package.json +21 -14
@@ -0,0 +1,2028 @@
1
+ /******/ (() => { // webpackBootstrap
2
+ /******/ var __webpack_modules__ = ({
3
+
4
+ /***/ 446:
5
+ /***/ ((module) => {
6
+
7
+ function BrowserslistError(message) {
8
+ this.name = 'BrowserslistError'
9
+ this.message = message
10
+ this.browserslist = true
11
+ if (Error.captureStackTrace) {
12
+ Error.captureStackTrace(this, BrowserslistError)
13
+ }
14
+ }
15
+
16
+ BrowserslistError.prototype = Error.prototype
17
+
18
+ module.exports = BrowserslistError
19
+
20
+
21
+ /***/ }),
22
+
23
+ /***/ 567:
24
+ /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
25
+
26
+ var jsReleases = __nccwpck_require__(945)
27
+ var agents = (__nccwpck_require__(768).agents)
28
+ var jsEOL = __nccwpck_require__(742)
29
+ var path = __nccwpck_require__(17)
30
+ var e2c = __nccwpck_require__(477)
31
+
32
+ var BrowserslistError = __nccwpck_require__(446)
33
+ var parse = __nccwpck_require__(906)
34
+ var env = __nccwpck_require__(711) // Will load browser.js in webpack
35
+
36
+ var YEAR = 365.259641 * 24 * 60 * 60 * 1000
37
+ var ANDROID_EVERGREEN_FIRST = '37'
38
+ var OP_MOB_BLINK_FIRST = 14
39
+
40
+ // Helpers
41
+
42
+ function isVersionsMatch(versionA, versionB) {
43
+ return (versionA + '.').indexOf(versionB + '.') === 0
44
+ }
45
+
46
+ function isEolReleased(name) {
47
+ var version = name.slice(1)
48
+ return browserslist.nodeVersions.some(function (i) {
49
+ return isVersionsMatch(i, version)
50
+ })
51
+ }
52
+
53
+ function normalize(versions) {
54
+ return versions.filter(function (version) {
55
+ return typeof version === 'string'
56
+ })
57
+ }
58
+
59
+ function normalizeElectron(version) {
60
+ var versionToUse = version
61
+ if (version.split('.').length === 3) {
62
+ versionToUse = version.split('.').slice(0, -1).join('.')
63
+ }
64
+ return versionToUse
65
+ }
66
+
67
+ function nameMapper(name) {
68
+ return function mapName(version) {
69
+ return name + ' ' + version
70
+ }
71
+ }
72
+
73
+ function getMajor(version) {
74
+ return parseInt(version.split('.')[0])
75
+ }
76
+
77
+ function getMajorVersions(released, number) {
78
+ if (released.length === 0) return []
79
+ var majorVersions = uniq(released.map(getMajor))
80
+ var minimum = majorVersions[majorVersions.length - number]
81
+ if (!minimum) {
82
+ return released
83
+ }
84
+ var selected = []
85
+ for (var i = released.length - 1; i >= 0; i--) {
86
+ if (minimum > getMajor(released[i])) break
87
+ selected.unshift(released[i])
88
+ }
89
+ return selected
90
+ }
91
+
92
+ function uniq(array) {
93
+ var filtered = []
94
+ for (var i = 0; i < array.length; i++) {
95
+ if (filtered.indexOf(array[i]) === -1) filtered.push(array[i])
96
+ }
97
+ return filtered
98
+ }
99
+
100
+ function fillUsage(result, name, data) {
101
+ for (var i in data) {
102
+ result[name + ' ' + i] = data[i]
103
+ }
104
+ }
105
+
106
+ function generateFilter(sign, version) {
107
+ version = parseFloat(version)
108
+ if (sign === '>') {
109
+ return function (v) {
110
+ return parseFloat(v) > version
111
+ }
112
+ } else if (sign === '>=') {
113
+ return function (v) {
114
+ return parseFloat(v) >= version
115
+ }
116
+ } else if (sign === '<') {
117
+ return function (v) {
118
+ return parseFloat(v) < version
119
+ }
120
+ } else {
121
+ return function (v) {
122
+ return parseFloat(v) <= version
123
+ }
124
+ }
125
+ }
126
+
127
+ function generateSemverFilter(sign, version) {
128
+ version = version.split('.').map(parseSimpleInt)
129
+ version[1] = version[1] || 0
130
+ version[2] = version[2] || 0
131
+ if (sign === '>') {
132
+ return function (v) {
133
+ v = v.split('.').map(parseSimpleInt)
134
+ return compareSemver(v, version) > 0
135
+ }
136
+ } else if (sign === '>=') {
137
+ return function (v) {
138
+ v = v.split('.').map(parseSimpleInt)
139
+ return compareSemver(v, version) >= 0
140
+ }
141
+ } else if (sign === '<') {
142
+ return function (v) {
143
+ v = v.split('.').map(parseSimpleInt)
144
+ return compareSemver(version, v) > 0
145
+ }
146
+ } else {
147
+ return function (v) {
148
+ v = v.split('.').map(parseSimpleInt)
149
+ return compareSemver(version, v) >= 0
150
+ }
151
+ }
152
+ }
153
+
154
+ function parseSimpleInt(x) {
155
+ return parseInt(x)
156
+ }
157
+
158
+ function compare(a, b) {
159
+ if (a < b) return -1
160
+ if (a > b) return +1
161
+ return 0
162
+ }
163
+
164
+ function compareSemver(a, b) {
165
+ return (
166
+ compare(parseInt(a[0]), parseInt(b[0])) ||
167
+ compare(parseInt(a[1] || '0'), parseInt(b[1] || '0')) ||
168
+ compare(parseInt(a[2] || '0'), parseInt(b[2] || '0'))
169
+ )
170
+ }
171
+
172
+ // this follows the npm-like semver behavior
173
+ function semverFilterLoose(operator, range) {
174
+ range = range.split('.').map(parseSimpleInt)
175
+ if (typeof range[1] === 'undefined') {
176
+ range[1] = 'x'
177
+ }
178
+ // ignore any patch version because we only return minor versions
179
+ // range[2] = 'x'
180
+ switch (operator) {
181
+ case '<=':
182
+ return function (version) {
183
+ version = version.split('.').map(parseSimpleInt)
184
+ return compareSemverLoose(version, range) <= 0
185
+ }
186
+ case '>=':
187
+ default:
188
+ return function (version) {
189
+ version = version.split('.').map(parseSimpleInt)
190
+ return compareSemverLoose(version, range) >= 0
191
+ }
192
+ }
193
+ }
194
+
195
+ // this follows the npm-like semver behavior
196
+ function compareSemverLoose(version, range) {
197
+ if (version[0] !== range[0]) {
198
+ return version[0] < range[0] ? -1 : +1
199
+ }
200
+ if (range[1] === 'x') {
201
+ return 0
202
+ }
203
+ if (version[1] !== range[1]) {
204
+ return version[1] < range[1] ? -1 : +1
205
+ }
206
+ return 0
207
+ }
208
+
209
+ function resolveVersion(data, version) {
210
+ if (data.versions.indexOf(version) !== -1) {
211
+ return version
212
+ } else if (browserslist.versionAliases[data.name][version]) {
213
+ return browserslist.versionAliases[data.name][version]
214
+ } else {
215
+ return false
216
+ }
217
+ }
218
+
219
+ function normalizeVersion(data, version) {
220
+ var resolved = resolveVersion(data, version)
221
+ if (resolved) {
222
+ return resolved
223
+ } else if (data.versions.length === 1) {
224
+ return data.versions[0]
225
+ } else {
226
+ return false
227
+ }
228
+ }
229
+
230
+ function filterByYear(since, context) {
231
+ since = since / 1000
232
+ return Object.keys(agents).reduce(function (selected, name) {
233
+ var data = byName(name, context)
234
+ if (!data) return selected
235
+ var versions = Object.keys(data.releaseDate).filter(function (v) {
236
+ var date = data.releaseDate[v]
237
+ return date !== null && date >= since
238
+ })
239
+ return selected.concat(versions.map(nameMapper(data.name)))
240
+ }, [])
241
+ }
242
+
243
+ function cloneData(data) {
244
+ return {
245
+ name: data.name,
246
+ versions: data.versions,
247
+ released: data.released,
248
+ releaseDate: data.releaseDate
249
+ }
250
+ }
251
+
252
+ function byName(name, context) {
253
+ name = name.toLowerCase()
254
+ name = browserslist.aliases[name] || name
255
+ if (context.mobileToDesktop && browserslist.desktopNames[name]) {
256
+ var desktop = browserslist.data[browserslist.desktopNames[name]]
257
+ if (name === 'android') {
258
+ return normalizeAndroidData(cloneData(browserslist.data[name]), desktop)
259
+ } else {
260
+ var cloned = cloneData(desktop)
261
+ cloned.name = name
262
+ return cloned
263
+ }
264
+ }
265
+ return browserslist.data[name]
266
+ }
267
+
268
+ function normalizeAndroidVersions(androidVersions, chromeVersions) {
269
+ var iFirstEvergreen = chromeVersions.indexOf(ANDROID_EVERGREEN_FIRST)
270
+ return androidVersions
271
+ .filter(function (version) {
272
+ return /^(?:[2-4]\.|[34]$)/.test(version)
273
+ })
274
+ .concat(chromeVersions.slice(iFirstEvergreen))
275
+ }
276
+
277
+ function copyObject(obj) {
278
+ var copy = {}
279
+ for (var key in obj) {
280
+ copy[key] = obj[key]
281
+ }
282
+ return copy
283
+ }
284
+
285
+ function normalizeAndroidData(android, chrome) {
286
+ android.released = normalizeAndroidVersions(android.released, chrome.released)
287
+ android.versions = normalizeAndroidVersions(android.versions, chrome.versions)
288
+ android.releaseDate = copyObject(android.releaseDate)
289
+ android.released.forEach(function (v) {
290
+ if (android.releaseDate[v] === undefined) {
291
+ android.releaseDate[v] = chrome.releaseDate[v]
292
+ }
293
+ })
294
+ return android
295
+ }
296
+
297
+ function checkName(name, context) {
298
+ var data = byName(name, context)
299
+ if (!data) throw new BrowserslistError('Unknown browser ' + name)
300
+ return data
301
+ }
302
+
303
+ function unknownQuery(query) {
304
+ return new BrowserslistError(
305
+ 'Unknown browser query `' +
306
+ query +
307
+ '`. ' +
308
+ 'Maybe you are using old Browserslist or made typo in query.'
309
+ )
310
+ }
311
+
312
+ // Adjusts last X versions queries for some mobile browsers,
313
+ // where caniuse data jumps from a legacy version to the latest
314
+ function filterJumps(list, name, nVersions, context) {
315
+ var jump = 1
316
+ switch (name) {
317
+ case 'android':
318
+ if (context.mobileToDesktop) return list
319
+ var released = browserslist.data.chrome.released
320
+ jump = released.length - released.indexOf(ANDROID_EVERGREEN_FIRST)
321
+ break
322
+ case 'op_mob':
323
+ var latest = browserslist.data.op_mob.released.slice(-1)[0]
324
+ jump = getMajor(latest) - OP_MOB_BLINK_FIRST + 1
325
+ break
326
+ default:
327
+ return list
328
+ }
329
+ if (nVersions <= jump) {
330
+ return list.slice(-1)
331
+ }
332
+ return list.slice(jump - 1 - nVersions)
333
+ }
334
+
335
+ function isSupported(flags, withPartial) {
336
+ return (
337
+ typeof flags === 'string' &&
338
+ (flags.indexOf('y') >= 0 || (withPartial && flags.indexOf('a') >= 0))
339
+ )
340
+ }
341
+
342
+ function resolve(queries, context) {
343
+ return parse(QUERIES, queries).reduce(function (result, node, index) {
344
+ if (node.not && index === 0) {
345
+ throw new BrowserslistError(
346
+ 'Write any browsers query (for instance, `defaults`) ' +
347
+ 'before `' +
348
+ node.query +
349
+ '`'
350
+ )
351
+ }
352
+ var type = QUERIES[node.type]
353
+ var array = type.select.call(browserslist, context, node).map(function (j) {
354
+ var parts = j.split(' ')
355
+ if (parts[1] === '0') {
356
+ return parts[0] + ' ' + byName(parts[0], context).versions[0]
357
+ } else {
358
+ return j
359
+ }
360
+ })
361
+
362
+ if (node.compose === 'and') {
363
+ if (node.not) {
364
+ return result.filter(function (j) {
365
+ return array.indexOf(j) === -1
366
+ })
367
+ } else {
368
+ return result.filter(function (j) {
369
+ return array.indexOf(j) !== -1
370
+ })
371
+ }
372
+ } else {
373
+ if (node.not) {
374
+ var filter = {}
375
+ array.forEach(function (j) {
376
+ filter[j] = true
377
+ })
378
+ return result.filter(function (j) {
379
+ return !filter[j]
380
+ })
381
+ }
382
+ return result.concat(array)
383
+ }
384
+ }, [])
385
+ }
386
+
387
+ function prepareOpts(opts) {
388
+ if (typeof opts === 'undefined') opts = {}
389
+
390
+ if (typeof opts.path === 'undefined') {
391
+ opts.path = path.resolve ? path.resolve('.') : '.'
392
+ }
393
+
394
+ return opts
395
+ }
396
+
397
+ function prepareQueries(queries, opts) {
398
+ if (typeof queries === 'undefined' || queries === null) {
399
+ var config = browserslist.loadConfig(opts)
400
+ if (config) {
401
+ queries = config
402
+ } else {
403
+ queries = browserslist.defaults
404
+ }
405
+ }
406
+
407
+ return queries
408
+ }
409
+
410
+ function checkQueries(queries) {
411
+ if (!(typeof queries === 'string' || Array.isArray(queries))) {
412
+ throw new BrowserslistError(
413
+ 'Browser queries must be an array or string. Got ' + typeof queries + '.'
414
+ )
415
+ }
416
+ }
417
+
418
+ var cache = {}
419
+
420
+ function browserslist(queries, opts) {
421
+ opts = prepareOpts(opts)
422
+ queries = prepareQueries(queries, opts)
423
+ checkQueries(queries)
424
+
425
+ var context = {
426
+ ignoreUnknownVersions: opts.ignoreUnknownVersions,
427
+ dangerousExtend: opts.dangerousExtend,
428
+ mobileToDesktop: opts.mobileToDesktop,
429
+ path: opts.path,
430
+ env: opts.env
431
+ }
432
+
433
+ env.oldDataWarning(browserslist.data)
434
+ var stats = env.getStat(opts, browserslist.data)
435
+ if (stats) {
436
+ context.customUsage = {}
437
+ for (var browser in stats) {
438
+ fillUsage(context.customUsage, browser, stats[browser])
439
+ }
440
+ }
441
+
442
+ var cacheKey = JSON.stringify([queries, context])
443
+ if (cache[cacheKey]) return cache[cacheKey]
444
+
445
+ var result = uniq(resolve(queries, context)).sort(function (name1, name2) {
446
+ name1 = name1.split(' ')
447
+ name2 = name2.split(' ')
448
+ if (name1[0] === name2[0]) {
449
+ // assumptions on caniuse data
450
+ // 1) version ranges never overlaps
451
+ // 2) if version is not a range, it never contains `-`
452
+ var version1 = name1[1].split('-')[0]
453
+ var version2 = name2[1].split('-')[0]
454
+ return compareSemver(version2.split('.'), version1.split('.'))
455
+ } else {
456
+ return compare(name1[0], name2[0])
457
+ }
458
+ })
459
+ if (!env.env.BROWSERSLIST_DISABLE_CACHE) {
460
+ cache[cacheKey] = result
461
+ }
462
+ return result
463
+ }
464
+
465
+ browserslist.parse = function (queries, opts) {
466
+ opts = prepareOpts(opts)
467
+ queries = prepareQueries(queries, opts)
468
+ checkQueries(queries)
469
+ return parse(QUERIES, queries)
470
+ }
471
+
472
+ // Will be filled by Can I Use data below
473
+ browserslist.cache = {}
474
+ browserslist.data = {}
475
+ browserslist.usage = {
476
+ global: {},
477
+ custom: null
478
+ }
479
+
480
+ // Default browsers query
481
+ browserslist.defaults = ['> 0.5%', 'last 2 versions', 'Firefox ESR', 'not dead']
482
+
483
+ // Browser names aliases
484
+ browserslist.aliases = {
485
+ fx: 'firefox',
486
+ ff: 'firefox',
487
+ ios: 'ios_saf',
488
+ explorer: 'ie',
489
+ blackberry: 'bb',
490
+ explorermobile: 'ie_mob',
491
+ operamini: 'op_mini',
492
+ operamobile: 'op_mob',
493
+ chromeandroid: 'and_chr',
494
+ firefoxandroid: 'and_ff',
495
+ ucandroid: 'and_uc',
496
+ qqandroid: 'and_qq'
497
+ }
498
+
499
+ // Can I Use only provides a few versions for some browsers (e.g. and_chr).
500
+ // Fallback to a similar browser for unknown versions
501
+ // Note op_mob is not included as its chromium versions are not in sync with Opera desktop
502
+ browserslist.desktopNames = {
503
+ and_chr: 'chrome',
504
+ and_ff: 'firefox',
505
+ ie_mob: 'ie',
506
+ android: 'chrome' // has extra processing logic
507
+ }
508
+
509
+ // Aliases to work with joined versions like `ios_saf 7.0-7.1`
510
+ browserslist.versionAliases = {}
511
+
512
+ browserslist.clearCaches = env.clearCaches
513
+ browserslist.parseConfig = env.parseConfig
514
+ browserslist.readConfig = env.readConfig
515
+ browserslist.findConfig = env.findConfig
516
+ browserslist.loadConfig = env.loadConfig
517
+
518
+ browserslist.coverage = function (browsers, stats) {
519
+ var data
520
+ if (typeof stats === 'undefined') {
521
+ data = browserslist.usage.global
522
+ } else if (stats === 'my stats') {
523
+ var opts = {}
524
+ opts.path = path.resolve ? path.resolve('.') : '.'
525
+ var customStats = env.getStat(opts)
526
+ if (!customStats) {
527
+ throw new BrowserslistError('Custom usage statistics was not provided')
528
+ }
529
+ data = {}
530
+ for (var browser in customStats) {
531
+ fillUsage(data, browser, customStats[browser])
532
+ }
533
+ } else if (typeof stats === 'string') {
534
+ if (stats.length > 2) {
535
+ stats = stats.toLowerCase()
536
+ } else {
537
+ stats = stats.toUpperCase()
538
+ }
539
+ env.loadCountry(browserslist.usage, stats, browserslist.data)
540
+ data = browserslist.usage[stats]
541
+ } else {
542
+ if ('dataByBrowser' in stats) {
543
+ stats = stats.dataByBrowser
544
+ }
545
+ data = {}
546
+ for (var name in stats) {
547
+ for (var version in stats[name]) {
548
+ data[name + ' ' + version] = stats[name][version]
549
+ }
550
+ }
551
+ }
552
+
553
+ return browsers.reduce(function (all, i) {
554
+ var usage = data[i]
555
+ if (usage === undefined) {
556
+ usage = data[i.replace(/ \S+$/, ' 0')]
557
+ }
558
+ return all + (usage || 0)
559
+ }, 0)
560
+ }
561
+
562
+ function nodeQuery(context, node) {
563
+ var matched = browserslist.nodeVersions.filter(function (i) {
564
+ return isVersionsMatch(i, node.version)
565
+ })
566
+ if (matched.length === 0) {
567
+ if (context.ignoreUnknownVersions) {
568
+ return []
569
+ } else {
570
+ throw new BrowserslistError(
571
+ 'Unknown version ' + node.version + ' of Node.js'
572
+ )
573
+ }
574
+ }
575
+ return ['node ' + matched[matched.length - 1]]
576
+ }
577
+
578
+ function sinceQuery(context, node) {
579
+ var year = parseInt(node.year)
580
+ var month = parseInt(node.month || '01') - 1
581
+ var day = parseInt(node.day || '01')
582
+ return filterByYear(Date.UTC(year, month, day, 0, 0, 0), context)
583
+ }
584
+
585
+ function coverQuery(context, node) {
586
+ var coverage = parseFloat(node.coverage)
587
+ var usage = browserslist.usage.global
588
+ if (node.place) {
589
+ if (node.place.match(/^my\s+stats$/i)) {
590
+ if (!context.customUsage) {
591
+ throw new BrowserslistError('Custom usage statistics was not provided')
592
+ }
593
+ usage = context.customUsage
594
+ } else {
595
+ var place
596
+ if (node.place.length === 2) {
597
+ place = node.place.toUpperCase()
598
+ } else {
599
+ place = node.place.toLowerCase()
600
+ }
601
+ env.loadCountry(browserslist.usage, place, browserslist.data)
602
+ usage = browserslist.usage[place]
603
+ }
604
+ }
605
+ var versions = Object.keys(usage).sort(function (a, b) {
606
+ return usage[b] - usage[a]
607
+ })
608
+ var coveraged = 0
609
+ var result = []
610
+ var version
611
+ for (var i = 0; i < versions.length; i++) {
612
+ version = versions[i]
613
+ if (usage[version] === 0) break
614
+ coveraged += usage[version]
615
+ result.push(version)
616
+ if (coveraged >= coverage) break
617
+ }
618
+ return result
619
+ }
620
+
621
+ var QUERIES = {
622
+ last_major_versions: {
623
+ matches: ['versions'],
624
+ regexp: /^last\s+(\d+)\s+major\s+versions?$/i,
625
+ select: function (context, node) {
626
+ return Object.keys(agents).reduce(function (selected, name) {
627
+ var data = byName(name, context)
628
+ if (!data) return selected
629
+ var list = getMajorVersions(data.released, node.versions)
630
+ list = list.map(nameMapper(data.name))
631
+ list = filterJumps(list, data.name, node.versions, context)
632
+ return selected.concat(list)
633
+ }, [])
634
+ }
635
+ },
636
+ last_versions: {
637
+ matches: ['versions'],
638
+ regexp: /^last\s+(\d+)\s+versions?$/i,
639
+ select: function (context, node) {
640
+ return Object.keys(agents).reduce(function (selected, name) {
641
+ var data = byName(name, context)
642
+ if (!data) return selected
643
+ var list = data.released.slice(-node.versions)
644
+ list = list.map(nameMapper(data.name))
645
+ list = filterJumps(list, data.name, node.versions, context)
646
+ return selected.concat(list)
647
+ }, [])
648
+ }
649
+ },
650
+ last_electron_major_versions: {
651
+ matches: ['versions'],
652
+ regexp: /^last\s+(\d+)\s+electron\s+major\s+versions?$/i,
653
+ select: function (context, node) {
654
+ var validVersions = getMajorVersions(Object.keys(e2c), node.versions)
655
+ return validVersions.map(function (i) {
656
+ return 'chrome ' + e2c[i]
657
+ })
658
+ }
659
+ },
660
+ last_node_major_versions: {
661
+ matches: ['versions'],
662
+ regexp: /^last\s+(\d+)\s+node\s+major\s+versions?$/i,
663
+ select: function (context, node) {
664
+ return getMajorVersions(browserslist.nodeVersions, node.versions).map(
665
+ function (version) {
666
+ return 'node ' + version
667
+ }
668
+ )
669
+ }
670
+ },
671
+ last_browser_major_versions: {
672
+ matches: ['versions', 'browser'],
673
+ regexp: /^last\s+(\d+)\s+(\w+)\s+major\s+versions?$/i,
674
+ select: function (context, node) {
675
+ var data = checkName(node.browser, context)
676
+ var validVersions = getMajorVersions(data.released, node.versions)
677
+ var list = validVersions.map(nameMapper(data.name))
678
+ list = filterJumps(list, data.name, node.versions, context)
679
+ return list
680
+ }
681
+ },
682
+ last_electron_versions: {
683
+ matches: ['versions'],
684
+ regexp: /^last\s+(\d+)\s+electron\s+versions?$/i,
685
+ select: function (context, node) {
686
+ return Object.keys(e2c)
687
+ .slice(-node.versions)
688
+ .map(function (i) {
689
+ return 'chrome ' + e2c[i]
690
+ })
691
+ }
692
+ },
693
+ last_node_versions: {
694
+ matches: ['versions'],
695
+ regexp: /^last\s+(\d+)\s+node\s+versions?$/i,
696
+ select: function (context, node) {
697
+ return browserslist.nodeVersions
698
+ .slice(-node.versions)
699
+ .map(function (version) {
700
+ return 'node ' + version
701
+ })
702
+ }
703
+ },
704
+ last_browser_versions: {
705
+ matches: ['versions', 'browser'],
706
+ regexp: /^last\s+(\d+)\s+(\w+)\s+versions?$/i,
707
+ select: function (context, node) {
708
+ var data = checkName(node.browser, context)
709
+ var list = data.released.slice(-node.versions).map(nameMapper(data.name))
710
+ list = filterJumps(list, data.name, node.versions, context)
711
+ return list
712
+ }
713
+ },
714
+ unreleased_versions: {
715
+ matches: [],
716
+ regexp: /^unreleased\s+versions$/i,
717
+ select: function (context) {
718
+ return Object.keys(agents).reduce(function (selected, name) {
719
+ var data = byName(name, context)
720
+ if (!data) return selected
721
+ var list = data.versions.filter(function (v) {
722
+ return data.released.indexOf(v) === -1
723
+ })
724
+ list = list.map(nameMapper(data.name))
725
+ return selected.concat(list)
726
+ }, [])
727
+ }
728
+ },
729
+ unreleased_electron_versions: {
730
+ matches: [],
731
+ regexp: /^unreleased\s+electron\s+versions?$/i,
732
+ select: function () {
733
+ return []
734
+ }
735
+ },
736
+ unreleased_browser_versions: {
737
+ matches: ['browser'],
738
+ regexp: /^unreleased\s+(\w+)\s+versions?$/i,
739
+ select: function (context, node) {
740
+ var data = checkName(node.browser, context)
741
+ return data.versions
742
+ .filter(function (v) {
743
+ return data.released.indexOf(v) === -1
744
+ })
745
+ .map(nameMapper(data.name))
746
+ }
747
+ },
748
+ last_years: {
749
+ matches: ['years'],
750
+ regexp: /^last\s+(\d*.?\d+)\s+years?$/i,
751
+ select: function (context, node) {
752
+ return filterByYear(Date.now() - YEAR * node.years, context)
753
+ }
754
+ },
755
+ since_y: {
756
+ matches: ['year'],
757
+ regexp: /^since (\d+)$/i,
758
+ select: sinceQuery
759
+ },
760
+ since_y_m: {
761
+ matches: ['year', 'month'],
762
+ regexp: /^since (\d+)-(\d+)$/i,
763
+ select: sinceQuery
764
+ },
765
+ since_y_m_d: {
766
+ matches: ['year', 'month', 'day'],
767
+ regexp: /^since (\d+)-(\d+)-(\d+)$/i,
768
+ select: sinceQuery
769
+ },
770
+ popularity: {
771
+ matches: ['sign', 'popularity'],
772
+ regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%$/,
773
+ select: function (context, node) {
774
+ var popularity = parseFloat(node.popularity)
775
+ var usage = browserslist.usage.global
776
+ return Object.keys(usage).reduce(function (result, version) {
777
+ if (node.sign === '>') {
778
+ if (usage[version] > popularity) {
779
+ result.push(version)
780
+ }
781
+ } else if (node.sign === '<') {
782
+ if (usage[version] < popularity) {
783
+ result.push(version)
784
+ }
785
+ } else if (node.sign === '<=') {
786
+ if (usage[version] <= popularity) {
787
+ result.push(version)
788
+ }
789
+ } else if (usage[version] >= popularity) {
790
+ result.push(version)
791
+ }
792
+ return result
793
+ }, [])
794
+ }
795
+ },
796
+ popularity_in_my_stats: {
797
+ matches: ['sign', 'popularity'],
798
+ regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+my\s+stats$/,
799
+ select: function (context, node) {
800
+ var popularity = parseFloat(node.popularity)
801
+ if (!context.customUsage) {
802
+ throw new BrowserslistError('Custom usage statistics was not provided')
803
+ }
804
+ var usage = context.customUsage
805
+ return Object.keys(usage).reduce(function (result, version) {
806
+ var percentage = usage[version]
807
+ if (percentage == null) {
808
+ return result
809
+ }
810
+
811
+ if (node.sign === '>') {
812
+ if (percentage > popularity) {
813
+ result.push(version)
814
+ }
815
+ } else if (node.sign === '<') {
816
+ if (percentage < popularity) {
817
+ result.push(version)
818
+ }
819
+ } else if (node.sign === '<=') {
820
+ if (percentage <= popularity) {
821
+ result.push(version)
822
+ }
823
+ } else if (percentage >= popularity) {
824
+ result.push(version)
825
+ }
826
+ return result
827
+ }, [])
828
+ }
829
+ },
830
+ popularity_in_config_stats: {
831
+ matches: ['sign', 'popularity', 'config'],
832
+ regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+(\S+)\s+stats$/,
833
+ select: function (context, node) {
834
+ var popularity = parseFloat(node.popularity)
835
+ var stats = env.loadStat(context, node.config, browserslist.data)
836
+ if (stats) {
837
+ context.customUsage = {}
838
+ for (var browser in stats) {
839
+ fillUsage(context.customUsage, browser, stats[browser])
840
+ }
841
+ }
842
+ if (!context.customUsage) {
843
+ throw new BrowserslistError('Custom usage statistics was not provided')
844
+ }
845
+ var usage = context.customUsage
846
+ return Object.keys(usage).reduce(function (result, version) {
847
+ var percentage = usage[version]
848
+ if (percentage == null) {
849
+ return result
850
+ }
851
+
852
+ if (node.sign === '>') {
853
+ if (percentage > popularity) {
854
+ result.push(version)
855
+ }
856
+ } else if (node.sign === '<') {
857
+ if (percentage < popularity) {
858
+ result.push(version)
859
+ }
860
+ } else if (node.sign === '<=') {
861
+ if (percentage <= popularity) {
862
+ result.push(version)
863
+ }
864
+ } else if (percentage >= popularity) {
865
+ result.push(version)
866
+ }
867
+ return result
868
+ }, [])
869
+ }
870
+ },
871
+ popularity_in_place: {
872
+ matches: ['sign', 'popularity', 'place'],
873
+ regexp: /^(>=?|<=?)\s*(\d+|\d+\.\d+|\.\d+)%\s+in\s+((alt-)?\w\w)$/,
874
+ select: function (context, node) {
875
+ var popularity = parseFloat(node.popularity)
876
+ var place = node.place
877
+ if (place.length === 2) {
878
+ place = place.toUpperCase()
879
+ } else {
880
+ place = place.toLowerCase()
881
+ }
882
+ env.loadCountry(browserslist.usage, place, browserslist.data)
883
+ var usage = browserslist.usage[place]
884
+ return Object.keys(usage).reduce(function (result, version) {
885
+ var percentage = usage[version]
886
+ if (percentage == null) {
887
+ return result
888
+ }
889
+
890
+ if (node.sign === '>') {
891
+ if (percentage > popularity) {
892
+ result.push(version)
893
+ }
894
+ } else if (node.sign === '<') {
895
+ if (percentage < popularity) {
896
+ result.push(version)
897
+ }
898
+ } else if (node.sign === '<=') {
899
+ if (percentage <= popularity) {
900
+ result.push(version)
901
+ }
902
+ } else if (percentage >= popularity) {
903
+ result.push(version)
904
+ }
905
+ return result
906
+ }, [])
907
+ }
908
+ },
909
+ cover: {
910
+ matches: ['coverage'],
911
+ regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%$/i,
912
+ select: coverQuery
913
+ },
914
+ cover_in: {
915
+ matches: ['coverage', 'place'],
916
+ regexp: /^cover\s+(\d+|\d+\.\d+|\.\d+)%\s+in\s+(my\s+stats|(alt-)?\w\w)$/i,
917
+ select: coverQuery
918
+ },
919
+ supports: {
920
+ matches: ['supportType', 'feature'],
921
+ regexp: /^(?:(fully|partially)\s+)?supports\s+([\w-]+)$/,
922
+ select: function (context, node) {
923
+ env.loadFeature(browserslist.cache, node.feature)
924
+ var withPartial = node.supportType !== 'fully'
925
+ var features = browserslist.cache[node.feature]
926
+ var result = []
927
+ for (var name in features) {
928
+ var data = byName(name, context)
929
+ // Only check desktop when latest released mobile has support
930
+ var checkDesktop =
931
+ context.mobileToDesktop &&
932
+ name in browserslist.desktopNames &&
933
+ isSupported(features[name][data.released.slice(-1)[0]], withPartial)
934
+ data.versions.forEach(function (version) {
935
+ var flags = features[name][version]
936
+ if (flags === undefined && checkDesktop) {
937
+ flags = features[browserslist.desktopNames[name]][version]
938
+ }
939
+ if (isSupported(flags, withPartial)) {
940
+ result.push(name + ' ' + version)
941
+ }
942
+ })
943
+ }
944
+ return result
945
+ }
946
+ },
947
+ electron_range: {
948
+ matches: ['from', 'to'],
949
+ regexp: /^electron\s+([\d.]+)\s*-\s*([\d.]+)$/i,
950
+ select: function (context, node) {
951
+ var fromToUse = normalizeElectron(node.from)
952
+ var toToUse = normalizeElectron(node.to)
953
+ var from = parseFloat(node.from)
954
+ var to = parseFloat(node.to)
955
+ if (!e2c[fromToUse]) {
956
+ throw new BrowserslistError('Unknown version ' + from + ' of electron')
957
+ }
958
+ if (!e2c[toToUse]) {
959
+ throw new BrowserslistError('Unknown version ' + to + ' of electron')
960
+ }
961
+ return Object.keys(e2c)
962
+ .filter(function (i) {
963
+ var parsed = parseFloat(i)
964
+ return parsed >= from && parsed <= to
965
+ })
966
+ .map(function (i) {
967
+ return 'chrome ' + e2c[i]
968
+ })
969
+ }
970
+ },
971
+ node_range: {
972
+ matches: ['from', 'to'],
973
+ regexp: /^node\s+([\d.]+)\s*-\s*([\d.]+)$/i,
974
+ select: function (context, node) {
975
+ return browserslist.nodeVersions
976
+ .filter(semverFilterLoose('>=', node.from))
977
+ .filter(semverFilterLoose('<=', node.to))
978
+ .map(function (v) {
979
+ return 'node ' + v
980
+ })
981
+ }
982
+ },
983
+ browser_range: {
984
+ matches: ['browser', 'from', 'to'],
985
+ regexp: /^(\w+)\s+([\d.]+)\s*-\s*([\d.]+)$/i,
986
+ select: function (context, node) {
987
+ var data = checkName(node.browser, context)
988
+ var from = parseFloat(normalizeVersion(data, node.from) || node.from)
989
+ var to = parseFloat(normalizeVersion(data, node.to) || node.to)
990
+ function filter(v) {
991
+ var parsed = parseFloat(v)
992
+ return parsed >= from && parsed <= to
993
+ }
994
+ return data.released.filter(filter).map(nameMapper(data.name))
995
+ }
996
+ },
997
+ electron_ray: {
998
+ matches: ['sign', 'version'],
999
+ regexp: /^electron\s*(>=?|<=?)\s*([\d.]+)$/i,
1000
+ select: function (context, node) {
1001
+ var versionToUse = normalizeElectron(node.version)
1002
+ return Object.keys(e2c)
1003
+ .filter(generateFilter(node.sign, versionToUse))
1004
+ .map(function (i) {
1005
+ return 'chrome ' + e2c[i]
1006
+ })
1007
+ }
1008
+ },
1009
+ node_ray: {
1010
+ matches: ['sign', 'version'],
1011
+ regexp: /^node\s*(>=?|<=?)\s*([\d.]+)$/i,
1012
+ select: function (context, node) {
1013
+ return browserslist.nodeVersions
1014
+ .filter(generateSemverFilter(node.sign, node.version))
1015
+ .map(function (v) {
1016
+ return 'node ' + v
1017
+ })
1018
+ }
1019
+ },
1020
+ browser_ray: {
1021
+ matches: ['browser', 'sign', 'version'],
1022
+ regexp: /^(\w+)\s*(>=?|<=?)\s*([\d.]+)$/,
1023
+ select: function (context, node) {
1024
+ var version = node.version
1025
+ var data = checkName(node.browser, context)
1026
+ var alias = browserslist.versionAliases[data.name][version]
1027
+ if (alias) version = alias
1028
+ return data.released
1029
+ .filter(generateFilter(node.sign, version))
1030
+ .map(function (v) {
1031
+ return data.name + ' ' + v
1032
+ })
1033
+ }
1034
+ },
1035
+ firefox_esr: {
1036
+ matches: [],
1037
+ regexp: /^(firefox|ff|fx)\s+esr$/i,
1038
+ select: function () {
1039
+ return ['firefox 115']
1040
+ }
1041
+ },
1042
+ opera_mini_all: {
1043
+ matches: [],
1044
+ regexp: /(operamini|op_mini)\s+all/i,
1045
+ select: function () {
1046
+ return ['op_mini all']
1047
+ }
1048
+ },
1049
+ electron_version: {
1050
+ matches: ['version'],
1051
+ regexp: /^electron\s+([\d.]+)$/i,
1052
+ select: function (context, node) {
1053
+ var versionToUse = normalizeElectron(node.version)
1054
+ var chrome = e2c[versionToUse]
1055
+ if (!chrome) {
1056
+ throw new BrowserslistError(
1057
+ 'Unknown version ' + node.version + ' of electron'
1058
+ )
1059
+ }
1060
+ return ['chrome ' + chrome]
1061
+ }
1062
+ },
1063
+ node_major_version: {
1064
+ matches: ['version'],
1065
+ regexp: /^node\s+(\d+)$/i,
1066
+ select: nodeQuery
1067
+ },
1068
+ node_minor_version: {
1069
+ matches: ['version'],
1070
+ regexp: /^node\s+(\d+\.\d+)$/i,
1071
+ select: nodeQuery
1072
+ },
1073
+ node_patch_version: {
1074
+ matches: ['version'],
1075
+ regexp: /^node\s+(\d+\.\d+\.\d+)$/i,
1076
+ select: nodeQuery
1077
+ },
1078
+ current_node: {
1079
+ matches: [],
1080
+ regexp: /^current\s+node$/i,
1081
+ select: function (context) {
1082
+ return [env.currentNode(resolve, context)]
1083
+ }
1084
+ },
1085
+ maintained_node: {
1086
+ matches: [],
1087
+ regexp: /^maintained\s+node\s+versions$/i,
1088
+ select: function (context) {
1089
+ var now = Date.now()
1090
+ var queries = Object.keys(jsEOL)
1091
+ .filter(function (key) {
1092
+ return (
1093
+ now < Date.parse(jsEOL[key].end) &&
1094
+ now > Date.parse(jsEOL[key].start) &&
1095
+ isEolReleased(key)
1096
+ )
1097
+ })
1098
+ .map(function (key) {
1099
+ return 'node ' + key.slice(1)
1100
+ })
1101
+ return resolve(queries, context)
1102
+ }
1103
+ },
1104
+ phantomjs_1_9: {
1105
+ matches: [],
1106
+ regexp: /^phantomjs\s+1.9$/i,
1107
+ select: function () {
1108
+ return ['safari 5']
1109
+ }
1110
+ },
1111
+ phantomjs_2_1: {
1112
+ matches: [],
1113
+ regexp: /^phantomjs\s+2.1$/i,
1114
+ select: function () {
1115
+ return ['safari 6']
1116
+ }
1117
+ },
1118
+ browser_version: {
1119
+ matches: ['browser', 'version'],
1120
+ regexp: /^(\w+)\s+(tp|[\d.]+)$/i,
1121
+ select: function (context, node) {
1122
+ var version = node.version
1123
+ if (/^tp$/i.test(version)) version = 'TP'
1124
+ var data = checkName(node.browser, context)
1125
+ var alias = normalizeVersion(data, version)
1126
+ if (alias) {
1127
+ version = alias
1128
+ } else {
1129
+ if (version.indexOf('.') === -1) {
1130
+ alias = version + '.0'
1131
+ } else {
1132
+ alias = version.replace(/\.0$/, '')
1133
+ }
1134
+ alias = normalizeVersion(data, alias)
1135
+ if (alias) {
1136
+ version = alias
1137
+ } else if (context.ignoreUnknownVersions) {
1138
+ return []
1139
+ } else {
1140
+ throw new BrowserslistError(
1141
+ 'Unknown version ' + version + ' of ' + node.browser
1142
+ )
1143
+ }
1144
+ }
1145
+ return [data.name + ' ' + version]
1146
+ }
1147
+ },
1148
+ browserslist_config: {
1149
+ matches: [],
1150
+ regexp: /^browserslist config$/i,
1151
+ select: function (context) {
1152
+ return browserslist(undefined, context)
1153
+ }
1154
+ },
1155
+ extends: {
1156
+ matches: ['config'],
1157
+ regexp: /^extends (.+)$/i,
1158
+ select: function (context, node) {
1159
+ return resolve(env.loadQueries(context, node.config), context)
1160
+ }
1161
+ },
1162
+ defaults: {
1163
+ matches: [],
1164
+ regexp: /^defaults$/i,
1165
+ select: function (context) {
1166
+ return resolve(browserslist.defaults, context)
1167
+ }
1168
+ },
1169
+ dead: {
1170
+ matches: [],
1171
+ regexp: /^dead$/i,
1172
+ select: function (context) {
1173
+ var dead = [
1174
+ 'Baidu >= 0',
1175
+ 'ie <= 11',
1176
+ 'ie_mob <= 11',
1177
+ 'bb <= 10',
1178
+ 'op_mob <= 12.1',
1179
+ 'samsung 4'
1180
+ ]
1181
+ return resolve(dead, context)
1182
+ }
1183
+ },
1184
+ unknown: {
1185
+ matches: [],
1186
+ regexp: /^(\w+)$/i,
1187
+ select: function (context, node) {
1188
+ if (byName(node.query, context)) {
1189
+ throw new BrowserslistError(
1190
+ 'Specify versions in Browserslist query for browser ' + node.query
1191
+ )
1192
+ } else {
1193
+ throw unknownQuery(node.query)
1194
+ }
1195
+ }
1196
+ }
1197
+ }
1198
+
1199
+ // Get and convert Can I Use data
1200
+
1201
+ ;(function () {
1202
+ for (var name in agents) {
1203
+ var browser = agents[name]
1204
+ browserslist.data[name] = {
1205
+ name: name,
1206
+ versions: normalize(agents[name].versions),
1207
+ released: normalize(agents[name].versions.slice(0, -3)),
1208
+ releaseDate: agents[name].release_date
1209
+ }
1210
+ fillUsage(browserslist.usage.global, name, browser.usage_global)
1211
+
1212
+ browserslist.versionAliases[name] = {}
1213
+ for (var i = 0; i < browser.versions.length; i++) {
1214
+ var full = browser.versions[i]
1215
+ if (!full) continue
1216
+
1217
+ if (full.indexOf('-') !== -1) {
1218
+ var interval = full.split('-')
1219
+ for (var j = 0; j < interval.length; j++) {
1220
+ browserslist.versionAliases[name][interval[j]] = full
1221
+ }
1222
+ }
1223
+ }
1224
+ }
1225
+
1226
+ browserslist.nodeVersions = jsReleases.map(function (release) {
1227
+ return release.version
1228
+ })
1229
+ })()
1230
+
1231
+ module.exports = browserslist
1232
+
1233
+
1234
+ /***/ }),
1235
+
1236
+ /***/ 711:
1237
+ /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
1238
+
1239
+ var feature = (__nccwpck_require__(379)["default"])
1240
+ var region = (__nccwpck_require__(225)["default"])
1241
+ var path = __nccwpck_require__(17)
1242
+ var fs = __nccwpck_require__(147)
1243
+
1244
+ var BrowserslistError = __nccwpck_require__(446)
1245
+
1246
+ var IS_SECTION = /^\s*\[(.+)]\s*$/
1247
+ var CONFIG_PATTERN = /^browserslist-config-/
1248
+ var SCOPED_CONFIG__PATTERN = /@[^/]+(?:\/[^/]+)?\/browserslist-config(?:-|$|\/)/
1249
+ var TIME_TO_UPDATE_CANIUSE = 6 * 30 * 24 * 60 * 60 * 1000
1250
+ var FORMAT =
1251
+ 'Browserslist config should be a string or an array ' +
1252
+ 'of strings with browser queries'
1253
+
1254
+ var dataTimeChecked = false
1255
+ var filenessCache = {}
1256
+ var configCache = {}
1257
+ function checkExtend(name) {
1258
+ var use = ' Use `dangerousExtend` option to disable.'
1259
+ if (!CONFIG_PATTERN.test(name) && !SCOPED_CONFIG__PATTERN.test(name)) {
1260
+ throw new BrowserslistError(
1261
+ 'Browserslist config needs `browserslist-config-` prefix. ' + use
1262
+ )
1263
+ }
1264
+ if (name.replace(/^@[^/]+\//, '').indexOf('.') !== -1) {
1265
+ throw new BrowserslistError(
1266
+ '`.` not allowed in Browserslist config name. ' + use
1267
+ )
1268
+ }
1269
+ if (name.indexOf('node_modules') !== -1) {
1270
+ throw new BrowserslistError(
1271
+ '`node_modules` not allowed in Browserslist config.' + use
1272
+ )
1273
+ }
1274
+ }
1275
+
1276
+ function isFile(file) {
1277
+ if (file in filenessCache) {
1278
+ return filenessCache[file]
1279
+ }
1280
+ var result = fs.existsSync(file) && fs.statSync(file).isFile()
1281
+ if (!process.env.BROWSERSLIST_DISABLE_CACHE) {
1282
+ filenessCache[file] = result
1283
+ }
1284
+ return result
1285
+ }
1286
+
1287
+ function eachParent(file, callback) {
1288
+ var dir = isFile(file) ? path.dirname(file) : file
1289
+ var loc = path.resolve(dir)
1290
+ do {
1291
+ if (!pathInRoot(loc)) break;
1292
+ var result = callback(loc)
1293
+ if (typeof result !== 'undefined') return result
1294
+ } while (loc !== (loc = path.dirname(loc)))
1295
+ return undefined
1296
+ }
1297
+
1298
+ function pathInRoot(p) {
1299
+ if (!process.env.BROWSERSLIST_ROOT_PATH) return true
1300
+ var rootPath = path.resolve(process.env.BROWSERSLIST_ROOT_PATH);
1301
+ if (path.relative(rootPath, p).substring(0,2) === '..') {
1302
+ return false;
1303
+ }
1304
+ return true
1305
+ }
1306
+
1307
+ function check(section) {
1308
+ if (Array.isArray(section)) {
1309
+ for (var i = 0; i < section.length; i++) {
1310
+ if (typeof section[i] !== 'string') {
1311
+ throw new BrowserslistError(FORMAT)
1312
+ }
1313
+ }
1314
+ } else if (typeof section !== 'string') {
1315
+ throw new BrowserslistError(FORMAT)
1316
+ }
1317
+ }
1318
+
1319
+ function pickEnv(config, opts) {
1320
+ if (typeof config !== 'object') return config
1321
+
1322
+ var name
1323
+ if (typeof opts.env === 'string') {
1324
+ name = opts.env
1325
+ } else if (process.env.BROWSERSLIST_ENV) {
1326
+ name = process.env.BROWSERSLIST_ENV
1327
+ } else if (process.env.NODE_ENV) {
1328
+ name = process.env.NODE_ENV
1329
+ } else {
1330
+ name = 'production'
1331
+ }
1332
+
1333
+ if (opts.throwOnMissing) {
1334
+ if (name && name !== 'defaults' && !config[name]) {
1335
+ throw new BrowserslistError(
1336
+ 'Missing config for Browserslist environment `' + name + '`'
1337
+ )
1338
+ }
1339
+ }
1340
+
1341
+ return config[name] || config.defaults
1342
+ }
1343
+
1344
+ function parsePackage(file) {
1345
+ var config = JSON.parse(
1346
+ fs
1347
+ .readFileSync(file)
1348
+ .toString()
1349
+ .replace(/^\uFEFF/m, '')
1350
+ )
1351
+ if (config.browserlist && !config.browserslist) {
1352
+ throw new BrowserslistError(
1353
+ '`browserlist` key instead of `browserslist` in ' + file
1354
+ )
1355
+ }
1356
+ var list = config.browserslist
1357
+ if (Array.isArray(list) || typeof list === 'string') {
1358
+ list = { defaults: list }
1359
+ }
1360
+ for (var i in list) {
1361
+ check(list[i])
1362
+ }
1363
+
1364
+ return list
1365
+ }
1366
+
1367
+ function latestReleaseTime(agents) {
1368
+ var latest = 0
1369
+ for (var name in agents) {
1370
+ var dates = agents[name].releaseDate || {}
1371
+ for (var key in dates) {
1372
+ if (latest < dates[key]) {
1373
+ latest = dates[key]
1374
+ }
1375
+ }
1376
+ }
1377
+ return latest * 1000
1378
+ }
1379
+
1380
+ function normalizeStats(data, stats) {
1381
+ if (!data) {
1382
+ data = {}
1383
+ }
1384
+ if (stats && 'dataByBrowser' in stats) {
1385
+ stats = stats.dataByBrowser
1386
+ }
1387
+
1388
+ if (typeof stats !== 'object') return undefined
1389
+
1390
+ var normalized = {}
1391
+ for (var i in stats) {
1392
+ var versions = Object.keys(stats[i])
1393
+ if (versions.length === 1 && data[i] && data[i].versions.length === 1) {
1394
+ var normal = data[i].versions[0]
1395
+ normalized[i] = {}
1396
+ normalized[i][normal] = stats[i][versions[0]]
1397
+ } else {
1398
+ normalized[i] = stats[i]
1399
+ }
1400
+ }
1401
+
1402
+ return normalized
1403
+ }
1404
+
1405
+ function normalizeUsageData(usageData, data) {
1406
+ for (var browser in usageData) {
1407
+ var browserUsage = usageData[browser]
1408
+ // eslint-disable-next-line max-len
1409
+ // https://github.com/browserslist/browserslist/issues/431#issuecomment-565230615
1410
+ // caniuse-db returns { 0: "percentage" } for `and_*` regional stats
1411
+ if ('0' in browserUsage) {
1412
+ var versions = data[browser].versions
1413
+ browserUsage[versions[versions.length - 1]] = browserUsage[0]
1414
+ delete browserUsage[0]
1415
+ }
1416
+ }
1417
+ }
1418
+
1419
+ module.exports = {
1420
+ loadQueries: function loadQueries(ctx, name) {
1421
+ if (!ctx.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) {
1422
+ checkExtend(name)
1423
+ }
1424
+ var queries = require(__nccwpck_require__(775).resolve(name, { paths: ['.', ctx.path] }))
1425
+ if (queries) {
1426
+ if (Array.isArray(queries)) {
1427
+ return queries
1428
+ } else if (typeof queries === 'object') {
1429
+ if (!queries.defaults) queries.defaults = []
1430
+ return pickEnv(queries, ctx, name)
1431
+ }
1432
+ }
1433
+ throw new BrowserslistError(
1434
+ '`' +
1435
+ name +
1436
+ '` config exports not an array of queries' +
1437
+ ' or an object of envs'
1438
+ )
1439
+ },
1440
+
1441
+ loadStat: function loadStat(ctx, name, data) {
1442
+ if (!ctx.dangerousExtend && !process.env.BROWSERSLIST_DANGEROUS_EXTEND) {
1443
+ checkExtend(name)
1444
+ }
1445
+ var stats = require(__nccwpck_require__(775).resolve(
1446
+ path.join(name, 'browserslist-stats.json'),
1447
+ { paths: ['.'] }
1448
+ ))
1449
+ return normalizeStats(data, stats)
1450
+ },
1451
+
1452
+ getStat: function getStat(opts, data) {
1453
+ var stats
1454
+ if (opts.stats) {
1455
+ stats = opts.stats
1456
+ } else if (process.env.BROWSERSLIST_STATS) {
1457
+ stats = process.env.BROWSERSLIST_STATS
1458
+ } else if (opts.path && path.resolve && fs.existsSync) {
1459
+ stats = eachParent(opts.path, function (dir) {
1460
+ var file = path.join(dir, 'browserslist-stats.json')
1461
+ return isFile(file) ? file : undefined
1462
+ })
1463
+ }
1464
+ if (typeof stats === 'string') {
1465
+ try {
1466
+ stats = JSON.parse(fs.readFileSync(stats))
1467
+ } catch (e) {
1468
+ throw new BrowserslistError("Can't read " + stats)
1469
+ }
1470
+ }
1471
+ return normalizeStats(data, stats)
1472
+ },
1473
+
1474
+ loadConfig: function loadConfig(opts) {
1475
+ if (process.env.BROWSERSLIST) {
1476
+ return process.env.BROWSERSLIST
1477
+ } else if (opts.config || process.env.BROWSERSLIST_CONFIG) {
1478
+ var file = opts.config || process.env.BROWSERSLIST_CONFIG
1479
+ if (path.basename(file) === 'package.json') {
1480
+ return pickEnv(parsePackage(file), opts)
1481
+ } else {
1482
+ return pickEnv(module.exports.readConfig(file), opts)
1483
+ }
1484
+ } else if (opts.path) {
1485
+ return pickEnv(module.exports.findConfig(opts.path), opts)
1486
+ } else {
1487
+ return undefined
1488
+ }
1489
+ },
1490
+
1491
+ loadCountry: function loadCountry(usage, country, data) {
1492
+ var code = country.replace(/[^\w-]/g, '')
1493
+ if (!usage[code]) {
1494
+ var compressed
1495
+ try {
1496
+ compressed = require('caniuse-lite/data/regions/' + code + '.js')
1497
+ } catch (e) {
1498
+ throw new BrowserslistError('Unknown region name `' + code + '`.')
1499
+ }
1500
+ var usageData = region(compressed)
1501
+ normalizeUsageData(usageData, data)
1502
+ usage[country] = {}
1503
+ for (var i in usageData) {
1504
+ for (var j in usageData[i]) {
1505
+ usage[country][i + ' ' + j] = usageData[i][j]
1506
+ }
1507
+ }
1508
+ }
1509
+ },
1510
+
1511
+ loadFeature: function loadFeature(features, name) {
1512
+ name = name.replace(/[^\w-]/g, '')
1513
+ if (features[name]) return
1514
+ var compressed
1515
+ try {
1516
+ compressed = require('caniuse-lite/data/features/' + name + '.js')
1517
+ } catch (e) {
1518
+ throw new BrowserslistError('Unknown feature name `' + name + '`.')
1519
+ }
1520
+ var stats = feature(compressed).stats
1521
+ features[name] = {}
1522
+ for (var i in stats) {
1523
+ features[name][i] = {}
1524
+ for (var j in stats[i]) {
1525
+ features[name][i][j] = stats[i][j]
1526
+ }
1527
+ }
1528
+ },
1529
+
1530
+ parseConfig: function parseConfig(string) {
1531
+ var result = { defaults: [] }
1532
+ var sections = ['defaults']
1533
+
1534
+ string
1535
+ .toString()
1536
+ .replace(/#[^\n]*/g, '')
1537
+ .split(/\n|,/)
1538
+ .map(function (line) {
1539
+ return line.trim()
1540
+ })
1541
+ .filter(function (line) {
1542
+ return line !== ''
1543
+ })
1544
+ .forEach(function (line) {
1545
+ if (IS_SECTION.test(line)) {
1546
+ sections = line.match(IS_SECTION)[1].trim().split(' ')
1547
+ sections.forEach(function (section) {
1548
+ if (result[section]) {
1549
+ throw new BrowserslistError(
1550
+ 'Duplicate section ' + section + ' in Browserslist config'
1551
+ )
1552
+ }
1553
+ result[section] = []
1554
+ })
1555
+ } else {
1556
+ sections.forEach(function (section) {
1557
+ result[section].push(line)
1558
+ })
1559
+ }
1560
+ })
1561
+
1562
+ return result
1563
+ },
1564
+
1565
+ readConfig: function readConfig(file) {
1566
+ if (!isFile(file)) {
1567
+ throw new BrowserslistError("Can't read " + file + ' config')
1568
+ }
1569
+ return module.exports.parseConfig(fs.readFileSync(file))
1570
+ },
1571
+
1572
+ findConfig: function findConfig(from) {
1573
+ from = path.resolve(from)
1574
+
1575
+ var passed = []
1576
+ var resolved = eachParent(from, function (dir) {
1577
+ if (dir in configCache) {
1578
+ return configCache[dir]
1579
+ }
1580
+
1581
+ passed.push(dir)
1582
+
1583
+ var config = path.join(dir, 'browserslist')
1584
+ var pkg = path.join(dir, 'package.json')
1585
+ var rc = path.join(dir, '.browserslistrc')
1586
+
1587
+ var pkgBrowserslist
1588
+ if (isFile(pkg)) {
1589
+ try {
1590
+ pkgBrowserslist = parsePackage(pkg)
1591
+ } catch (e) {
1592
+ if (e.name === 'BrowserslistError') throw e
1593
+ console.warn(
1594
+ '[Browserslist] Could not parse ' + pkg + '. Ignoring it.'
1595
+ )
1596
+ }
1597
+ }
1598
+
1599
+ if (isFile(config) && pkgBrowserslist) {
1600
+ throw new BrowserslistError(
1601
+ dir + ' contains both browserslist and package.json with browsers'
1602
+ )
1603
+ } else if (isFile(rc) && pkgBrowserslist) {
1604
+ throw new BrowserslistError(
1605
+ dir + ' contains both .browserslistrc and package.json with browsers'
1606
+ )
1607
+ } else if (isFile(config) && isFile(rc)) {
1608
+ throw new BrowserslistError(
1609
+ dir + ' contains both .browserslistrc and browserslist'
1610
+ )
1611
+ } else if (isFile(config)) {
1612
+ return module.exports.readConfig(config)
1613
+ } else if (isFile(rc)) {
1614
+ return module.exports.readConfig(rc)
1615
+ } else {
1616
+ return pkgBrowserslist
1617
+ }
1618
+ })
1619
+ if (!process.env.BROWSERSLIST_DISABLE_CACHE) {
1620
+ passed.forEach(function (dir) {
1621
+ configCache[dir] = resolved
1622
+ })
1623
+ }
1624
+ return resolved
1625
+ },
1626
+
1627
+ clearCaches: function clearCaches() {
1628
+ dataTimeChecked = false
1629
+ filenessCache = {}
1630
+ configCache = {}
1631
+
1632
+ this.cache = {}
1633
+ },
1634
+
1635
+ oldDataWarning: function oldDataWarning(agentsObj) {
1636
+ if (dataTimeChecked) return
1637
+ dataTimeChecked = true
1638
+ if (process.env.BROWSERSLIST_IGNORE_OLD_DATA) return
1639
+
1640
+ var latest = latestReleaseTime(agentsObj)
1641
+ var halfYearAgo = Date.now() - TIME_TO_UPDATE_CANIUSE
1642
+
1643
+ if (latest !== 0 && latest < halfYearAgo) {
1644
+ console.warn(
1645
+ 'Browserslist: caniuse-lite is outdated. Please run:\n' +
1646
+ ' npx update-browserslist-db@latest\n' +
1647
+ ' Why you should do it regularly: ' +
1648
+ 'https://github.com/browserslist/update-db#readme'
1649
+ )
1650
+ }
1651
+ },
1652
+
1653
+ currentNode: function currentNode() {
1654
+ return 'node ' + process.versions.node
1655
+ },
1656
+
1657
+ env: process.env
1658
+ }
1659
+
1660
+
1661
+ /***/ }),
1662
+
1663
+ /***/ 906:
1664
+ /***/ ((module) => {
1665
+
1666
+ var AND_REGEXP = /^\s+and\s+(.*)/i
1667
+ var OR_REGEXP = /^(?:,\s*|\s+or\s+)(.*)/i
1668
+
1669
+ function flatten(array) {
1670
+ if (!Array.isArray(array)) return [array]
1671
+ return array.reduce(function (a, b) {
1672
+ return a.concat(flatten(b))
1673
+ }, [])
1674
+ }
1675
+
1676
+ function find(string, predicate) {
1677
+ for (var n = 1, max = string.length; n <= max; n++) {
1678
+ var parsed = string.substr(-n, n)
1679
+ if (predicate(parsed, n, max)) {
1680
+ return string.slice(0, -n)
1681
+ }
1682
+ }
1683
+ return ''
1684
+ }
1685
+
1686
+ function matchQuery(all, query) {
1687
+ var node = { query: query }
1688
+ if (query.indexOf('not ') === 0) {
1689
+ node.not = true
1690
+ query = query.slice(4)
1691
+ }
1692
+
1693
+ for (var name in all) {
1694
+ var type = all[name]
1695
+ var match = query.match(type.regexp)
1696
+ if (match) {
1697
+ node.type = name
1698
+ for (var i = 0; i < type.matches.length; i++) {
1699
+ node[type.matches[i]] = match[i + 1]
1700
+ }
1701
+ return node
1702
+ }
1703
+ }
1704
+
1705
+ node.type = 'unknown'
1706
+ return node
1707
+ }
1708
+
1709
+ function matchBlock(all, string, qs) {
1710
+ var node
1711
+ return find(string, function (parsed, n, max) {
1712
+ if (AND_REGEXP.test(parsed)) {
1713
+ node = matchQuery(all, parsed.match(AND_REGEXP)[1])
1714
+ node.compose = 'and'
1715
+ qs.unshift(node)
1716
+ return true
1717
+ } else if (OR_REGEXP.test(parsed)) {
1718
+ node = matchQuery(all, parsed.match(OR_REGEXP)[1])
1719
+ node.compose = 'or'
1720
+ qs.unshift(node)
1721
+ return true
1722
+ } else if (n === max) {
1723
+ node = matchQuery(all, parsed.trim())
1724
+ node.compose = 'or'
1725
+ qs.unshift(node)
1726
+ return true
1727
+ }
1728
+ return false
1729
+ })
1730
+ }
1731
+
1732
+ module.exports = function parse(all, queries) {
1733
+ if (!Array.isArray(queries)) queries = [queries]
1734
+ return flatten(
1735
+ queries.map(function (block) {
1736
+ var qs = []
1737
+ do {
1738
+ block = matchBlock(all, block, qs)
1739
+ } while (block)
1740
+ return qs
1741
+ })
1742
+ )
1743
+ }
1744
+
1745
+
1746
+ /***/ }),
1747
+
1748
+ /***/ 477:
1749
+ /***/ ((module) => {
1750
+
1751
+ module.exports = {
1752
+ "0.20": "39",
1753
+ "0.21": "41",
1754
+ "0.22": "41",
1755
+ "0.23": "41",
1756
+ "0.24": "41",
1757
+ "0.25": "42",
1758
+ "0.26": "42",
1759
+ "0.27": "43",
1760
+ "0.28": "43",
1761
+ "0.29": "43",
1762
+ "0.30": "44",
1763
+ "0.31": "45",
1764
+ "0.32": "45",
1765
+ "0.33": "45",
1766
+ "0.34": "45",
1767
+ "0.35": "45",
1768
+ "0.36": "47",
1769
+ "0.37": "49",
1770
+ "1.0": "49",
1771
+ "1.1": "50",
1772
+ "1.2": "51",
1773
+ "1.3": "52",
1774
+ "1.4": "53",
1775
+ "1.5": "54",
1776
+ "1.6": "56",
1777
+ "1.7": "58",
1778
+ "1.8": "59",
1779
+ "2.0": "61",
1780
+ "2.1": "61",
1781
+ "3.0": "66",
1782
+ "3.1": "66",
1783
+ "4.0": "69",
1784
+ "4.1": "69",
1785
+ "4.2": "69",
1786
+ "5.0": "73",
1787
+ "6.0": "76",
1788
+ "6.1": "76",
1789
+ "7.0": "78",
1790
+ "7.1": "78",
1791
+ "7.2": "78",
1792
+ "7.3": "78",
1793
+ "8.0": "80",
1794
+ "8.1": "80",
1795
+ "8.2": "80",
1796
+ "8.3": "80",
1797
+ "8.4": "80",
1798
+ "8.5": "80",
1799
+ "9.0": "83",
1800
+ "9.1": "83",
1801
+ "9.2": "83",
1802
+ "9.3": "83",
1803
+ "9.4": "83",
1804
+ "10.0": "85",
1805
+ "10.1": "85",
1806
+ "10.2": "85",
1807
+ "10.3": "85",
1808
+ "10.4": "85",
1809
+ "11.0": "87",
1810
+ "11.1": "87",
1811
+ "11.2": "87",
1812
+ "11.3": "87",
1813
+ "11.4": "87",
1814
+ "11.5": "87",
1815
+ "12.0": "89",
1816
+ "12.1": "89",
1817
+ "12.2": "89",
1818
+ "13.0": "91",
1819
+ "13.1": "91",
1820
+ "13.2": "91",
1821
+ "13.3": "91",
1822
+ "13.4": "91",
1823
+ "13.5": "91",
1824
+ "13.6": "91",
1825
+ "14.0": "93",
1826
+ "14.1": "93",
1827
+ "14.2": "93",
1828
+ "15.0": "94",
1829
+ "15.1": "94",
1830
+ "15.2": "94",
1831
+ "15.3": "94",
1832
+ "15.4": "94",
1833
+ "15.5": "94",
1834
+ "16.0": "96",
1835
+ "16.1": "96",
1836
+ "16.2": "96",
1837
+ "17.0": "98",
1838
+ "17.1": "98",
1839
+ "17.2": "98",
1840
+ "17.3": "98",
1841
+ "17.4": "98",
1842
+ "18.0": "100",
1843
+ "18.1": "100",
1844
+ "18.2": "100",
1845
+ "18.3": "100",
1846
+ "19.0": "102",
1847
+ "19.1": "102",
1848
+ "20.0": "104",
1849
+ "20.1": "104",
1850
+ "20.2": "104",
1851
+ "20.3": "104",
1852
+ "21.0": "106",
1853
+ "21.1": "106",
1854
+ "21.2": "106",
1855
+ "21.3": "106",
1856
+ "21.4": "106",
1857
+ "22.0": "108",
1858
+ "22.1": "108",
1859
+ "22.2": "108",
1860
+ "22.3": "108",
1861
+ "23.0": "110",
1862
+ "23.1": "110",
1863
+ "23.2": "110",
1864
+ "23.3": "110",
1865
+ "24.0": "112",
1866
+ "24.1": "112",
1867
+ "24.2": "112",
1868
+ "24.3": "112",
1869
+ "24.4": "112",
1870
+ "24.5": "112",
1871
+ "24.6": "112",
1872
+ "24.7": "112",
1873
+ "24.8": "112",
1874
+ "25.0": "114",
1875
+ "25.1": "114",
1876
+ "25.2": "114",
1877
+ "25.3": "114",
1878
+ "25.4": "114",
1879
+ "25.5": "114",
1880
+ "25.6": "114",
1881
+ "25.7": "114",
1882
+ "25.8": "114",
1883
+ "25.9": "114",
1884
+ "26.0": "116",
1885
+ "26.1": "116",
1886
+ "26.2": "116",
1887
+ "26.3": "116",
1888
+ "26.4": "116",
1889
+ "26.5": "116",
1890
+ "26.6": "116",
1891
+ "27.0": "118",
1892
+ "27.1": "118",
1893
+ "27.2": "118",
1894
+ "27.3": "118",
1895
+ "28.0": "120",
1896
+ "28.1": "120",
1897
+ "28.2": "120",
1898
+ "29.0": "122",
1899
+ "29.1": "122",
1900
+ "29.2": "122",
1901
+ "30.0": "124"
1902
+ };
1903
+
1904
+ /***/ }),
1905
+
1906
+ /***/ 775:
1907
+ /***/ ((module) => {
1908
+
1909
+ function webpackEmptyContext(req) {
1910
+ var e = new Error("Cannot find module '" + req + "'");
1911
+ e.code = 'MODULE_NOT_FOUND';
1912
+ throw e;
1913
+ }
1914
+ webpackEmptyContext.keys = () => ([]);
1915
+ webpackEmptyContext.resolve = webpackEmptyContext;
1916
+ webpackEmptyContext.id = 775;
1917
+ module.exports = webpackEmptyContext;
1918
+
1919
+ /***/ }),
1920
+
1921
+ /***/ 768:
1922
+ /***/ ((module) => {
1923
+
1924
+ "use strict";
1925
+ module.exports = require("caniuse-lite/dist/unpacker/agents");
1926
+
1927
+ /***/ }),
1928
+
1929
+ /***/ 379:
1930
+ /***/ ((module) => {
1931
+
1932
+ "use strict";
1933
+ module.exports = require("caniuse-lite/dist/unpacker/feature");
1934
+
1935
+ /***/ }),
1936
+
1937
+ /***/ 225:
1938
+ /***/ ((module) => {
1939
+
1940
+ "use strict";
1941
+ module.exports = require("caniuse-lite/dist/unpacker/region");
1942
+
1943
+ /***/ }),
1944
+
1945
+ /***/ 147:
1946
+ /***/ ((module) => {
1947
+
1948
+ "use strict";
1949
+ module.exports = require("fs");
1950
+
1951
+ /***/ }),
1952
+
1953
+ /***/ 17:
1954
+ /***/ ((module) => {
1955
+
1956
+ "use strict";
1957
+ module.exports = require("path");
1958
+
1959
+ /***/ }),
1960
+
1961
+ /***/ 945:
1962
+ /***/ ((module) => {
1963
+
1964
+ "use strict";
1965
+ module.exports = JSON.parse('[{"name":"nodejs","version":"0.2.0","date":"2011-08-26","lts":false,"security":false,"v8":"2.3.8.0"},{"name":"nodejs","version":"0.3.0","date":"2011-08-26","lts":false,"security":false,"v8":"2.5.1.0"},{"name":"nodejs","version":"0.4.0","date":"2011-08-26","lts":false,"security":false,"v8":"3.1.2.0"},{"name":"nodejs","version":"0.5.0","date":"2011-08-26","lts":false,"security":false,"v8":"3.1.8.25"},{"name":"nodejs","version":"0.6.0","date":"2011-11-04","lts":false,"security":false,"v8":"3.6.6.6"},{"name":"nodejs","version":"0.7.0","date":"2012-01-17","lts":false,"security":false,"v8":"3.8.6.0"},{"name":"nodejs","version":"0.8.0","date":"2012-06-22","lts":false,"security":false,"v8":"3.11.10.10"},{"name":"nodejs","version":"0.9.0","date":"2012-07-20","lts":false,"security":false,"v8":"3.11.10.15"},{"name":"nodejs","version":"0.10.0","date":"2013-03-11","lts":false,"security":false,"v8":"3.14.5.8"},{"name":"nodejs","version":"0.11.0","date":"2013-03-28","lts":false,"security":false,"v8":"3.17.13.0"},{"name":"nodejs","version":"0.12.0","date":"2015-02-06","lts":false,"security":false,"v8":"3.28.73.0"},{"name":"nodejs","version":"4.0.0","date":"2015-09-08","lts":false,"security":false,"v8":"4.5.103.30"},{"name":"nodejs","version":"4.1.0","date":"2015-09-17","lts":false,"security":false,"v8":"4.5.103.33"},{"name":"nodejs","version":"4.2.0","date":"2015-10-12","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.3.0","date":"2016-02-09","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.4.0","date":"2016-03-08","lts":"Argon","security":false,"v8":"4.5.103.35"},{"name":"nodejs","version":"4.5.0","date":"2016-08-16","lts":"Argon","security":false,"v8":"4.5.103.37"},{"name":"nodejs","version":"4.6.0","date":"2016-09-27","lts":"Argon","security":true,"v8":"4.5.103.37"},{"name":"nodejs","version":"4.7.0","date":"2016-12-06","lts":"Argon","security":false,"v8":"4.5.103.43"},{"name":"nodejs","version":"4.8.0","date":"2017-02-21","lts":"Argon","security":false,"v8":"4.5.103.45"},{"name":"nodejs","version":"4.9.0","date":"2018-03-28","lts":"Argon","security":true,"v8":"4.5.103.53"},{"name":"nodejs","version":"5.0.0","date":"2015-10-29","lts":false,"security":false,"v8":"4.6.85.28"},{"name":"nodejs","version":"5.1.0","date":"2015-11-17","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.2.0","date":"2015-12-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.3.0","date":"2015-12-15","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.4.0","date":"2016-01-06","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.5.0","date":"2016-01-21","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.6.0","date":"2016-02-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.7.0","date":"2016-02-23","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.8.0","date":"2016-03-09","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.9.0","date":"2016-03-16","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.10.0","date":"2016-04-01","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.11.0","date":"2016-04-21","lts":false,"security":false,"v8":"4.6.85.31"},{"name":"nodejs","version":"5.12.0","date":"2016-06-23","lts":false,"security":false,"v8":"4.6.85.32"},{"name":"nodejs","version":"6.0.0","date":"2016-04-26","lts":false,"security":false,"v8":"5.0.71.35"},{"name":"nodejs","version":"6.1.0","date":"2016-05-05","lts":false,"security":false,"v8":"5.0.71.35"},{"name":"nodejs","version":"6.2.0","date":"2016-05-17","lts":false,"security":false,"v8":"5.0.71.47"},{"name":"nodejs","version":"6.3.0","date":"2016-07-06","lts":false,"security":false,"v8":"5.0.71.52"},{"name":"nodejs","version":"6.4.0","date":"2016-08-12","lts":false,"security":false,"v8":"5.0.71.60"},{"name":"nodejs","version":"6.5.0","date":"2016-08-26","lts":false,"security":false,"v8":"5.1.281.81"},{"name":"nodejs","version":"6.6.0","date":"2016-09-14","lts":false,"security":false,"v8":"5.1.281.83"},{"name":"nodejs","version":"6.7.0","date":"2016-09-27","lts":false,"security":true,"v8":"5.1.281.83"},{"name":"nodejs","version":"6.8.0","date":"2016-10-12","lts":false,"security":false,"v8":"5.1.281.84"},{"name":"nodejs","version":"6.9.0","date":"2016-10-18","lts":"Boron","security":false,"v8":"5.1.281.84"},{"name":"nodejs","version":"6.10.0","date":"2017-02-21","lts":"Boron","security":false,"v8":"5.1.281.93"},{"name":"nodejs","version":"6.11.0","date":"2017-06-06","lts":"Boron","security":false,"v8":"5.1.281.102"},{"name":"nodejs","version":"6.12.0","date":"2017-11-06","lts":"Boron","security":false,"v8":"5.1.281.108"},{"name":"nodejs","version":"6.13.0","date":"2018-02-10","lts":"Boron","security":false,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.14.0","date":"2018-03-28","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.15.0","date":"2018-11-27","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.16.0","date":"2018-12-26","lts":"Boron","security":false,"v8":"5.1.281.111"},{"name":"nodejs","version":"6.17.0","date":"2019-02-28","lts":"Boron","security":true,"v8":"5.1.281.111"},{"name":"nodejs","version":"7.0.0","date":"2016-10-25","lts":false,"security":false,"v8":"5.4.500.36"},{"name":"nodejs","version":"7.1.0","date":"2016-11-08","lts":false,"security":false,"v8":"5.4.500.36"},{"name":"nodejs","version":"7.2.0","date":"2016-11-22","lts":false,"security":false,"v8":"5.4.500.43"},{"name":"nodejs","version":"7.3.0","date":"2016-12-20","lts":false,"security":false,"v8":"5.4.500.45"},{"name":"nodejs","version":"7.4.0","date":"2017-01-04","lts":false,"security":false,"v8":"5.4.500.45"},{"name":"nodejs","version":"7.5.0","date":"2017-01-31","lts":false,"security":false,"v8":"5.4.500.48"},{"name":"nodejs","version":"7.6.0","date":"2017-02-21","lts":false,"security":false,"v8":"5.5.372.40"},{"name":"nodejs","version":"7.7.0","date":"2017-02-28","lts":false,"security":false,"v8":"5.5.372.41"},{"name":"nodejs","version":"7.8.0","date":"2017-03-29","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"7.9.0","date":"2017-04-11","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"7.10.0","date":"2017-05-02","lts":false,"security":false,"v8":"5.5.372.43"},{"name":"nodejs","version":"8.0.0","date":"2017-05-30","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.1.0","date":"2017-06-08","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.2.0","date":"2017-07-19","lts":false,"security":false,"v8":"5.8.283.41"},{"name":"nodejs","version":"8.3.0","date":"2017-08-08","lts":false,"security":false,"v8":"6.0.286.52"},{"name":"nodejs","version":"8.4.0","date":"2017-08-15","lts":false,"security":false,"v8":"6.0.286.52"},{"name":"nodejs","version":"8.5.0","date":"2017-09-12","lts":false,"security":false,"v8":"6.0.287.53"},{"name":"nodejs","version":"8.6.0","date":"2017-09-26","lts":false,"security":false,"v8":"6.0.287.53"},{"name":"nodejs","version":"8.7.0","date":"2017-10-11","lts":false,"security":false,"v8":"6.1.534.42"},{"name":"nodejs","version":"8.8.0","date":"2017-10-24","lts":false,"security":false,"v8":"6.1.534.42"},{"name":"nodejs","version":"8.9.0","date":"2017-10-31","lts":"Carbon","security":false,"v8":"6.1.534.46"},{"name":"nodejs","version":"8.10.0","date":"2018-03-06","lts":"Carbon","security":false,"v8":"6.2.414.50"},{"name":"nodejs","version":"8.11.0","date":"2018-03-28","lts":"Carbon","security":true,"v8":"6.2.414.50"},{"name":"nodejs","version":"8.12.0","date":"2018-09-10","lts":"Carbon","security":false,"v8":"6.2.414.66"},{"name":"nodejs","version":"8.13.0","date":"2018-11-20","lts":"Carbon","security":false,"v8":"6.2.414.72"},{"name":"nodejs","version":"8.14.0","date":"2018-11-27","lts":"Carbon","security":true,"v8":"6.2.414.72"},{"name":"nodejs","version":"8.15.0","date":"2018-12-26","lts":"Carbon","security":false,"v8":"6.2.414.75"},{"name":"nodejs","version":"8.16.0","date":"2019-04-16","lts":"Carbon","security":false,"v8":"6.2.414.77"},{"name":"nodejs","version":"8.17.0","date":"2019-12-17","lts":"Carbon","security":true,"v8":"6.2.414.78"},{"name":"nodejs","version":"9.0.0","date":"2017-10-31","lts":false,"security":false,"v8":"6.2.414.32"},{"name":"nodejs","version":"9.1.0","date":"2017-11-07","lts":false,"security":false,"v8":"6.2.414.32"},{"name":"nodejs","version":"9.2.0","date":"2017-11-14","lts":false,"security":false,"v8":"6.2.414.44"},{"name":"nodejs","version":"9.3.0","date":"2017-12-12","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.4.0","date":"2018-01-10","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.5.0","date":"2018-01-31","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.6.0","date":"2018-02-21","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.7.0","date":"2018-03-01","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.8.0","date":"2018-03-07","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.9.0","date":"2018-03-21","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.10.0","date":"2018-03-28","lts":false,"security":true,"v8":"6.2.414.46"},{"name":"nodejs","version":"9.11.0","date":"2018-04-04","lts":false,"security":false,"v8":"6.2.414.46"},{"name":"nodejs","version":"10.0.0","date":"2018-04-24","lts":false,"security":false,"v8":"6.6.346.24"},{"name":"nodejs","version":"10.1.0","date":"2018-05-08","lts":false,"security":false,"v8":"6.6.346.27"},{"name":"nodejs","version":"10.2.0","date":"2018-05-23","lts":false,"security":false,"v8":"6.6.346.32"},{"name":"nodejs","version":"10.3.0","date":"2018-05-29","lts":false,"security":false,"v8":"6.6.346.32"},{"name":"nodejs","version":"10.4.0","date":"2018-06-06","lts":false,"security":false,"v8":"6.7.288.43"},{"name":"nodejs","version":"10.5.0","date":"2018-06-20","lts":false,"security":false,"v8":"6.7.288.46"},{"name":"nodejs","version":"10.6.0","date":"2018-07-04","lts":false,"security":false,"v8":"6.7.288.46"},{"name":"nodejs","version":"10.7.0","date":"2018-07-18","lts":false,"security":false,"v8":"6.7.288.49"},{"name":"nodejs","version":"10.8.0","date":"2018-08-01","lts":false,"security":false,"v8":"6.7.288.49"},{"name":"nodejs","version":"10.9.0","date":"2018-08-15","lts":false,"security":false,"v8":"6.8.275.24"},{"name":"nodejs","version":"10.10.0","date":"2018-09-06","lts":false,"security":false,"v8":"6.8.275.30"},{"name":"nodejs","version":"10.11.0","date":"2018-09-19","lts":false,"security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.12.0","date":"2018-10-10","lts":false,"security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.13.0","date":"2018-10-30","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.14.0","date":"2018-11-27","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.15.0","date":"2018-12-26","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.16.0","date":"2019-05-28","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.17.0","date":"2019-10-22","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.18.0","date":"2019-12-17","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.19.0","date":"2020-02-05","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.20.0","date":"2020-03-26","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.21.0","date":"2020-06-02","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.22.0","date":"2020-07-21","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.23.0","date":"2020-10-27","lts":"Dubnium","security":false,"v8":"6.8.275.32"},{"name":"nodejs","version":"10.24.0","date":"2021-02-23","lts":"Dubnium","security":true,"v8":"6.8.275.32"},{"name":"nodejs","version":"11.0.0","date":"2018-10-23","lts":false,"security":false,"v8":"7.0.276.28"},{"name":"nodejs","version":"11.1.0","date":"2018-10-30","lts":false,"security":false,"v8":"7.0.276.32"},{"name":"nodejs","version":"11.2.0","date":"2018-11-15","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.3.0","date":"2018-11-27","lts":false,"security":true,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.4.0","date":"2018-12-07","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.5.0","date":"2018-12-18","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.6.0","date":"2018-12-26","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.7.0","date":"2019-01-17","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.8.0","date":"2019-01-24","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.9.0","date":"2019-01-30","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.10.0","date":"2019-02-14","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.11.0","date":"2019-03-05","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.12.0","date":"2019-03-14","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.13.0","date":"2019-03-28","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.14.0","date":"2019-04-10","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"11.15.0","date":"2019-04-30","lts":false,"security":false,"v8":"7.0.276.38"},{"name":"nodejs","version":"12.0.0","date":"2019-04-23","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.1.0","date":"2019-04-29","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.2.0","date":"2019-05-07","lts":false,"security":false,"v8":"7.4.288.21"},{"name":"nodejs","version":"12.3.0","date":"2019-05-21","lts":false,"security":false,"v8":"7.4.288.27"},{"name":"nodejs","version":"12.4.0","date":"2019-06-04","lts":false,"security":false,"v8":"7.4.288.27"},{"name":"nodejs","version":"12.5.0","date":"2019-06-26","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.6.0","date":"2019-07-03","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.7.0","date":"2019-07-23","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.8.0","date":"2019-08-06","lts":false,"security":false,"v8":"7.5.288.22"},{"name":"nodejs","version":"12.9.0","date":"2019-08-20","lts":false,"security":false,"v8":"7.6.303.29"},{"name":"nodejs","version":"12.10.0","date":"2019-09-04","lts":false,"security":false,"v8":"7.6.303.29"},{"name":"nodejs","version":"12.11.0","date":"2019-09-25","lts":false,"security":false,"v8":"7.7.299.11"},{"name":"nodejs","version":"12.12.0","date":"2019-10-11","lts":false,"security":false,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.13.0","date":"2019-10-21","lts":"Erbium","security":false,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.14.0","date":"2019-12-17","lts":"Erbium","security":true,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.15.0","date":"2020-02-05","lts":"Erbium","security":true,"v8":"7.7.299.13"},{"name":"nodejs","version":"12.16.0","date":"2020-02-11","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.17.0","date":"2020-05-26","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.18.0","date":"2020-06-02","lts":"Erbium","security":true,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.19.0","date":"2020-10-06","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.20.0","date":"2020-11-24","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.21.0","date":"2021-02-23","lts":"Erbium","security":true,"v8":"7.8.279.23"},{"name":"nodejs","version":"12.22.0","date":"2021-03-30","lts":"Erbium","security":false,"v8":"7.8.279.23"},{"name":"nodejs","version":"13.0.0","date":"2019-10-22","lts":false,"security":false,"v8":"7.8.279.17"},{"name":"nodejs","version":"13.1.0","date":"2019-11-05","lts":false,"security":false,"v8":"7.8.279.17"},{"name":"nodejs","version":"13.2.0","date":"2019-11-21","lts":false,"security":false,"v8":"7.9.317.23"},{"name":"nodejs","version":"13.3.0","date":"2019-12-03","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.4.0","date":"2019-12-17","lts":false,"security":true,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.5.0","date":"2019-12-18","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.6.0","date":"2020-01-07","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.7.0","date":"2020-01-21","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.8.0","date":"2020-02-05","lts":false,"security":true,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.9.0","date":"2020-02-18","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.10.0","date":"2020-03-04","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.11.0","date":"2020-03-12","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.12.0","date":"2020-03-26","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.13.0","date":"2020-04-14","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"13.14.0","date":"2020-04-29","lts":false,"security":false,"v8":"7.9.317.25"},{"name":"nodejs","version":"14.0.0","date":"2020-04-21","lts":false,"security":false,"v8":"8.1.307.30"},{"name":"nodejs","version":"14.1.0","date":"2020-04-29","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.2.0","date":"2020-05-05","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.3.0","date":"2020-05-19","lts":false,"security":false,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.4.0","date":"2020-06-02","lts":false,"security":true,"v8":"8.1.307.31"},{"name":"nodejs","version":"14.5.0","date":"2020-06-30","lts":false,"security":false,"v8":"8.3.110.9"},{"name":"nodejs","version":"14.6.0","date":"2020-07-20","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.7.0","date":"2020-07-29","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.8.0","date":"2020-08-11","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.9.0","date":"2020-08-27","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.10.0","date":"2020-09-08","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.11.0","date":"2020-09-15","lts":false,"security":true,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.12.0","date":"2020-09-22","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.13.0","date":"2020-09-29","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.14.0","date":"2020-10-15","lts":false,"security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.15.0","date":"2020-10-27","lts":"Fermium","security":false,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.16.0","date":"2021-02-23","lts":"Fermium","security":true,"v8":"8.4.371.19"},{"name":"nodejs","version":"14.17.0","date":"2021-05-11","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.18.0","date":"2021-09-28","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.19.0","date":"2022-02-01","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.20.0","date":"2022-07-07","lts":"Fermium","security":true,"v8":"8.4.371.23"},{"name":"nodejs","version":"14.21.0","date":"2022-11-01","lts":"Fermium","security":false,"v8":"8.4.371.23"},{"name":"nodejs","version":"15.0.0","date":"2020-10-20","lts":false,"security":false,"v8":"8.6.395.16"},{"name":"nodejs","version":"15.1.0","date":"2020-11-04","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.2.0","date":"2020-11-10","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.3.0","date":"2020-11-24","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.4.0","date":"2020-12-09","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.5.0","date":"2020-12-22","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.6.0","date":"2021-01-14","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.7.0","date":"2021-01-25","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.8.0","date":"2021-02-02","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.9.0","date":"2021-02-18","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.10.0","date":"2021-02-23","lts":false,"security":true,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.11.0","date":"2021-03-03","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.12.0","date":"2021-03-17","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.13.0","date":"2021-03-31","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"15.14.0","date":"2021-04-06","lts":false,"security":false,"v8":"8.6.395.17"},{"name":"nodejs","version":"16.0.0","date":"2021-04-20","lts":false,"security":false,"v8":"9.0.257.17"},{"name":"nodejs","version":"16.1.0","date":"2021-05-04","lts":false,"security":false,"v8":"9.0.257.24"},{"name":"nodejs","version":"16.2.0","date":"2021-05-19","lts":false,"security":false,"v8":"9.0.257.25"},{"name":"nodejs","version":"16.3.0","date":"2021-06-03","lts":false,"security":false,"v8":"9.0.257.25"},{"name":"nodejs","version":"16.4.0","date":"2021-06-23","lts":false,"security":false,"v8":"9.1.269.36"},{"name":"nodejs","version":"16.5.0","date":"2021-07-14","lts":false,"security":false,"v8":"9.1.269.38"},{"name":"nodejs","version":"16.6.0","date":"2021-07-29","lts":false,"security":true,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.7.0","date":"2021-08-18","lts":false,"security":false,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.8.0","date":"2021-08-25","lts":false,"security":false,"v8":"9.2.230.21"},{"name":"nodejs","version":"16.9.0","date":"2021-09-07","lts":false,"security":false,"v8":"9.3.345.16"},{"name":"nodejs","version":"16.10.0","date":"2021-09-22","lts":false,"security":false,"v8":"9.3.345.19"},{"name":"nodejs","version":"16.11.0","date":"2021-10-08","lts":false,"security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.12.0","date":"2021-10-20","lts":false,"security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.13.0","date":"2021-10-26","lts":"Gallium","security":false,"v8":"9.4.146.19"},{"name":"nodejs","version":"16.14.0","date":"2022-02-08","lts":"Gallium","security":false,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.15.0","date":"2022-04-26","lts":"Gallium","security":false,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.16.0","date":"2022-07-07","lts":"Gallium","security":true,"v8":"9.4.146.24"},{"name":"nodejs","version":"16.17.0","date":"2022-08-16","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.18.0","date":"2022-10-12","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.19.0","date":"2022-12-13","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"16.20.0","date":"2023-03-28","lts":"Gallium","security":false,"v8":"9.4.146.26"},{"name":"nodejs","version":"17.0.0","date":"2021-10-19","lts":false,"security":false,"v8":"9.5.172.21"},{"name":"nodejs","version":"17.1.0","date":"2021-11-09","lts":false,"security":false,"v8":"9.5.172.25"},{"name":"nodejs","version":"17.2.0","date":"2021-11-30","lts":false,"security":false,"v8":"9.6.180.14"},{"name":"nodejs","version":"17.3.0","date":"2021-12-17","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.4.0","date":"2022-01-18","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.5.0","date":"2022-02-10","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.6.0","date":"2022-02-22","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.7.0","date":"2022-03-09","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.8.0","date":"2022-03-22","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"17.9.0","date":"2022-04-07","lts":false,"security":false,"v8":"9.6.180.15"},{"name":"nodejs","version":"18.0.0","date":"2022-04-18","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.1.0","date":"2022-05-03","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.2.0","date":"2022-05-17","lts":false,"security":false,"v8":"10.1.124.8"},{"name":"nodejs","version":"18.3.0","date":"2022-06-02","lts":false,"security":false,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.4.0","date":"2022-06-16","lts":false,"security":false,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.5.0","date":"2022-07-06","lts":false,"security":true,"v8":"10.2.154.4"},{"name":"nodejs","version":"18.6.0","date":"2022-07-13","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.7.0","date":"2022-07-26","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.8.0","date":"2022-08-24","lts":false,"security":false,"v8":"10.2.154.13"},{"name":"nodejs","version":"18.9.0","date":"2022-09-07","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.10.0","date":"2022-09-28","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.11.0","date":"2022-10-13","lts":false,"security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.12.0","date":"2022-10-25","lts":"Hydrogen","security":false,"v8":"10.2.154.15"},{"name":"nodejs","version":"18.13.0","date":"2023-01-05","lts":"Hydrogen","security":false,"v8":"10.2.154.23"},{"name":"nodejs","version":"18.14.0","date":"2023-02-01","lts":"Hydrogen","security":false,"v8":"10.2.154.23"},{"name":"nodejs","version":"18.15.0","date":"2023-03-05","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.16.0","date":"2023-04-12","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.17.0","date":"2023-07-18","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.18.0","date":"2023-09-18","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"18.19.0","date":"2023-11-29","lts":"Hydrogen","security":false,"v8":"10.2.154.26"},{"name":"nodejs","version":"19.0.0","date":"2022-10-17","lts":false,"security":false,"v8":"10.7.193.13"},{"name":"nodejs","version":"19.1.0","date":"2022-11-14","lts":false,"security":false,"v8":"10.7.193.20"},{"name":"nodejs","version":"19.2.0","date":"2022-11-29","lts":false,"security":false,"v8":"10.8.168.20"},{"name":"nodejs","version":"19.3.0","date":"2022-12-14","lts":false,"security":false,"v8":"10.8.168.21"},{"name":"nodejs","version":"19.4.0","date":"2023-01-05","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.5.0","date":"2023-01-24","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.6.0","date":"2023-02-01","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.7.0","date":"2023-02-21","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.8.0","date":"2023-03-14","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"19.9.0","date":"2023-04-10","lts":false,"security":false,"v8":"10.8.168.25"},{"name":"nodejs","version":"20.0.0","date":"2023-04-17","lts":false,"security":false,"v8":"11.3.244.4"},{"name":"nodejs","version":"20.1.0","date":"2023-05-03","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.2.0","date":"2023-05-16","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.3.0","date":"2023-06-08","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.4.0","date":"2023-07-04","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.5.0","date":"2023-07-19","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.6.0","date":"2023-08-23","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.7.0","date":"2023-09-18","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.8.0","date":"2023-09-28","lts":false,"security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.9.0","date":"2023-10-24","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"20.10.0","date":"2023-11-22","lts":"Iron","security":false,"v8":"11.3.244.8"},{"name":"nodejs","version":"21.0.0","date":"2023-10-17","lts":false,"security":false,"v8":"11.8.172.13"},{"name":"nodejs","version":"21.1.0","date":"2023-10-24","lts":false,"security":false,"v8":"11.8.172.15"},{"name":"nodejs","version":"21.2.0","date":"2023-11-14","lts":false,"security":false,"v8":"11.8.172.17"},{"name":"nodejs","version":"21.3.0","date":"2023-11-30","lts":false,"security":false,"v8":"11.8.172.17"}]');
1966
+
1967
+ /***/ }),
1968
+
1969
+ /***/ 742:
1970
+ /***/ ((module) => {
1971
+
1972
+ "use strict";
1973
+ module.exports = JSON.parse('{"v0.8":{"start":"2012-06-25","end":"2014-07-31"},"v0.10":{"start":"2013-03-11","end":"2016-10-31"},"v0.12":{"start":"2015-02-06","end":"2016-12-31"},"v4":{"start":"2015-09-08","lts":"2015-10-12","maintenance":"2017-04-01","end":"2018-04-30","codename":"Argon"},"v5":{"start":"2015-10-29","maintenance":"2016-04-30","end":"2016-06-30"},"v6":{"start":"2016-04-26","lts":"2016-10-18","maintenance":"2018-04-30","end":"2019-04-30","codename":"Boron"},"v7":{"start":"2016-10-25","maintenance":"2017-04-30","end":"2017-06-30"},"v8":{"start":"2017-05-30","lts":"2017-10-31","maintenance":"2019-01-01","end":"2019-12-31","codename":"Carbon"},"v9":{"start":"2017-10-01","maintenance":"2018-04-01","end":"2018-06-30"},"v10":{"start":"2018-04-24","lts":"2018-10-30","maintenance":"2020-05-19","end":"2021-04-30","codename":"Dubnium"},"v11":{"start":"2018-10-23","maintenance":"2019-04-22","end":"2019-06-01"},"v12":{"start":"2019-04-23","lts":"2019-10-21","maintenance":"2020-11-30","end":"2022-04-30","codename":"Erbium"},"v13":{"start":"2019-10-22","maintenance":"2020-04-01","end":"2020-06-01"},"v14":{"start":"2020-04-21","lts":"2020-10-27","maintenance":"2021-10-19","end":"2023-04-30","codename":"Fermium"},"v15":{"start":"2020-10-20","maintenance":"2021-04-01","end":"2021-06-01"},"v16":{"start":"2021-04-20","lts":"2021-10-26","maintenance":"2022-10-18","end":"2023-09-11","codename":"Gallium"},"v17":{"start":"2021-10-19","maintenance":"2022-04-01","end":"2022-06-01"},"v18":{"start":"2022-04-19","lts":"2022-10-25","maintenance":"2023-10-18","end":"2025-04-30","codename":"Hydrogen"},"v19":{"start":"2022-10-18","maintenance":"2023-04-01","end":"2023-06-01"},"v20":{"start":"2023-04-18","lts":"2023-10-24","maintenance":"2024-10-22","end":"2026-04-30","codename":"Iron"},"v21":{"start":"2023-10-17","maintenance":"2024-04-01","end":"2024-06-01"},"v22":{"start":"2024-04-23","lts":"2024-10-29","maintenance":"2025-10-21","end":"2027-04-30","codename":""},"v23":{"start":"2024-10-15","maintenance":"2025-04-01","end":"2025-06-01"},"v24":{"start":"2025-04-22","lts":"2025-10-28","maintenance":"2026-10-20","end":"2028-04-30","codename":""}}');
1974
+
1975
+ /***/ })
1976
+
1977
+ /******/ });
1978
+ /************************************************************************/
1979
+ /******/ // The module cache
1980
+ /******/ var __webpack_module_cache__ = {};
1981
+ /******/
1982
+ /******/ // The require function
1983
+ /******/ function __nccwpck_require__(moduleId) {
1984
+ /******/ // Check if module is in cache
1985
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
1986
+ /******/ if (cachedModule !== undefined) {
1987
+ /******/ return cachedModule.exports;
1988
+ /******/ }
1989
+ /******/ // Create a new module (and put it into the cache)
1990
+ /******/ var module = __webpack_module_cache__[moduleId] = {
1991
+ /******/ // no module.id needed
1992
+ /******/ // no module.loaded needed
1993
+ /******/ exports: {}
1994
+ /******/ };
1995
+ /******/
1996
+ /******/ // Execute the module function
1997
+ /******/ var threw = true;
1998
+ /******/ try {
1999
+ /******/ __webpack_modules__[moduleId](module, module.exports, __nccwpck_require__);
2000
+ /******/ threw = false;
2001
+ /******/ } finally {
2002
+ /******/ if(threw) delete __webpack_module_cache__[moduleId];
2003
+ /******/ }
2004
+ /******/
2005
+ /******/ // Return the exports of the module
2006
+ /******/ return module.exports;
2007
+ /******/ }
2008
+ /******/
2009
+ /************************************************************************/
2010
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
2011
+ /******/ (() => {
2012
+ /******/ __nccwpck_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
2013
+ /******/ })();
2014
+ /******/
2015
+ /******/ /* webpack/runtime/compat */
2016
+ /******/
2017
+ /******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = __dirname + "/";
2018
+ /******/
2019
+ /************************************************************************/
2020
+ /******/
2021
+ /******/ // startup
2022
+ /******/ // Load entry module and return exports
2023
+ /******/ // This entry module is referenced by other modules so it can't be inlined
2024
+ /******/ var __webpack_exports__ = __nccwpck_require__(567);
2025
+ /******/ module.exports = __webpack_exports__;
2026
+ /******/
2027
+ /******/ })()
2028
+ ;