@aws-cdk/cloud-assembly-schema 2.20.0 → 2.22.0
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.
- package/.jsii +57 -31
- package/.jsii.tabl.json +68 -3
- package/.warnings.jsii.js +253 -147
- package/NOTICE +0 -17
- package/lib/integ-tests/test-case.d.ts +47 -42
- package/lib/integ-tests/test-case.js +1 -1
- package/lib/manifest.js +57 -8
- package/node_modules/lru-cache/LICENSE +1 -1
- package/node_modules/lru-cache/README.md +632 -99
- package/node_modules/lru-cache/index.js +732 -251
- package/node_modules/lru-cache/package.json +17 -7
- package/node_modules/semver/README.md +3 -1
- package/node_modules/semver/bin/semver.js +17 -8
- package/node_modules/semver/classes/comparator.js +3 -2
- package/node_modules/semver/classes/index.js +1 -1
- package/node_modules/semver/classes/range.js +31 -22
- package/node_modules/semver/functions/cmp.js +8 -4
- package/node_modules/semver/functions/coerce.js +3 -2
- package/node_modules/semver/functions/parse.js +1 -1
- package/node_modules/semver/internal/constants.js +2 -2
- package/node_modules/semver/internal/identifiers.js +1 -1
- package/node_modules/semver/internal/parse-options.js +3 -3
- package/node_modules/semver/internal/re.js +3 -3
- package/node_modules/semver/package.json +46 -13
- package/node_modules/semver/ranges/min-version.js +2 -1
- package/node_modules/semver/ranges/outside.js +1 -1
- package/node_modules/semver/ranges/simplify.js +15 -12
- package/node_modules/semver/ranges/subset.js +53 -31
- package/package.json +6 -5
- package/schema/cloud-assembly.version.json +1 -1
- package/schema/integ.schema.json +1 -1
- package/node_modules/semver/CHANGELOG.md +0 -111
- package/node_modules/yallist/LICENSE +0 -15
- package/node_modules/yallist/README.md +0 -204
- package/node_modules/yallist/iterator.js +0 -8
- package/node_modules/yallist/package.json +0 -29
- package/node_modules/yallist/yallist.js +0 -426
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lru-cache",
|
|
3
3
|
"description": "A cache object that deletes the least-recently-used items.",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "7.8.0",
|
|
5
5
|
"author": "Isaac Z. Schlueter <i@izs.me>",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"mru",
|
|
@@ -9,8 +9,10 @@
|
|
|
9
9
|
"cache"
|
|
10
10
|
],
|
|
11
11
|
"scripts": {
|
|
12
|
+
"build": "",
|
|
12
13
|
"test": "tap",
|
|
13
14
|
"snap": "tap",
|
|
15
|
+
"size": "size-limit",
|
|
14
16
|
"preversion": "npm test",
|
|
15
17
|
"postversion": "npm publish",
|
|
16
18
|
"prepublishOnly": "git push origin --follow-tags"
|
|
@@ -18,17 +20,25 @@
|
|
|
18
20
|
"main": "index.js",
|
|
19
21
|
"repository": "git://github.com/isaacs/node-lru-cache.git",
|
|
20
22
|
"devDependencies": {
|
|
23
|
+
"@size-limit/preset-small-lib": "^7.0.8",
|
|
21
24
|
"benchmark": "^2.1.4",
|
|
22
|
-
"
|
|
25
|
+
"clock-mock": "^1.0.4",
|
|
26
|
+
"size-limit": "^7.0.8",
|
|
27
|
+
"tap": "^15.1.6"
|
|
23
28
|
},
|
|
24
29
|
"license": "ISC",
|
|
25
|
-
"dependencies": {
|
|
26
|
-
"yallist": "^4.0.0"
|
|
27
|
-
},
|
|
28
30
|
"files": [
|
|
29
31
|
"index.js"
|
|
30
32
|
],
|
|
31
33
|
"engines": {
|
|
32
|
-
"node": ">=
|
|
33
|
-
}
|
|
34
|
+
"node": ">=12"
|
|
35
|
+
},
|
|
36
|
+
"tap": {
|
|
37
|
+
"coverage-map": "map.js"
|
|
38
|
+
},
|
|
39
|
+
"size-limit": [
|
|
40
|
+
{
|
|
41
|
+
"path": "./index.js"
|
|
42
|
+
}
|
|
43
|
+
]
|
|
34
44
|
}
|
|
@@ -264,7 +264,9 @@ provided tuple parts.
|
|
|
264
264
|
Any of `X`, `x`, or `*` may be used to "stand in" for one of the
|
|
265
265
|
numeric values in the `[major, minor, patch]` tuple.
|
|
266
266
|
|
|
267
|
-
* `*` := `>=0.0.0` (Any version satisfies
|
|
267
|
+
* `*` := `>=0.0.0` (Any non-prerelease version satisfies, unless
|
|
268
|
+
`includePrerelease` is specified, in which case any version at all
|
|
269
|
+
satisfies)
|
|
268
270
|
* `1.x` := `>=1.0.0 <2.0.0-0` (Matching major version)
|
|
269
271
|
* `1.2.x` := `>=1.2.0 <1.3.0-0` (Matching major and minor versions)
|
|
270
272
|
|
|
@@ -27,10 +27,12 @@ const semver = require('../')
|
|
|
27
27
|
|
|
28
28
|
let reverse = false
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
let options = {}
|
|
31
31
|
|
|
32
32
|
const main = () => {
|
|
33
|
-
if (!argv.length)
|
|
33
|
+
if (!argv.length) {
|
|
34
|
+
return help()
|
|
35
|
+
}
|
|
34
36
|
while (argv.length) {
|
|
35
37
|
let a = argv.shift()
|
|
36
38
|
const indexOfEqualSign = a.indexOf('=')
|
|
@@ -85,26 +87,31 @@ const main = () => {
|
|
|
85
87
|
}
|
|
86
88
|
}
|
|
87
89
|
|
|
88
|
-
|
|
90
|
+
options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl }
|
|
89
91
|
|
|
90
92
|
versions = versions.map((v) => {
|
|
91
93
|
return coerce ? (semver.coerce(v, options) || { version: v }).version : v
|
|
92
94
|
}).filter((v) => {
|
|
93
95
|
return semver.valid(v)
|
|
94
96
|
})
|
|
95
|
-
if (!versions.length)
|
|
96
|
-
|
|
97
|
+
if (!versions.length) {
|
|
98
|
+
return fail()
|
|
99
|
+
}
|
|
100
|
+
if (inc && (versions.length !== 1 || range.length)) {
|
|
101
|
+
return failInc()
|
|
102
|
+
}
|
|
97
103
|
|
|
98
104
|
for (let i = 0, l = range.length; i < l; i++) {
|
|
99
105
|
versions = versions.filter((v) => {
|
|
100
106
|
return semver.satisfies(v, range[i], options)
|
|
101
107
|
})
|
|
102
|
-
if (!versions.length)
|
|
108
|
+
if (!versions.length) {
|
|
109
|
+
return fail()
|
|
110
|
+
}
|
|
103
111
|
}
|
|
104
112
|
return success(versions)
|
|
105
113
|
}
|
|
106
114
|
|
|
107
|
-
|
|
108
115
|
const failInc = () => {
|
|
109
116
|
console.error('--inc can only be used on a single version with no range')
|
|
110
117
|
fail()
|
|
@@ -120,7 +127,9 @@ const success = () => {
|
|
|
120
127
|
return semver.clean(v, options)
|
|
121
128
|
}).map((v) => {
|
|
122
129
|
return inc ? semver.inc(v, inc, options, identifier) : v
|
|
123
|
-
}).forEach((v, i, _) => {
|
|
130
|
+
}).forEach((v, i, _) => {
|
|
131
|
+
console.log(v)
|
|
132
|
+
})
|
|
124
133
|
}
|
|
125
134
|
|
|
126
135
|
const help = () => console.log(
|
|
@@ -4,6 +4,7 @@ class Comparator {
|
|
|
4
4
|
static get ANY () {
|
|
5
5
|
return ANY
|
|
6
6
|
}
|
|
7
|
+
|
|
7
8
|
constructor (comp, options) {
|
|
8
9
|
options = parseOptions(options)
|
|
9
10
|
|
|
@@ -80,7 +81,7 @@ class Comparator {
|
|
|
80
81
|
if (!options || typeof options !== 'object') {
|
|
81
82
|
options = {
|
|
82
83
|
loose: !!options,
|
|
83
|
-
includePrerelease: false
|
|
84
|
+
includePrerelease: false,
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
87
|
|
|
@@ -128,7 +129,7 @@ class Comparator {
|
|
|
128
129
|
module.exports = Comparator
|
|
129
130
|
|
|
130
131
|
const parseOptions = require('../internal/parse-options')
|
|
131
|
-
const {re, t} = require('../internal/re')
|
|
132
|
+
const { re, t } = require('../internal/re')
|
|
132
133
|
const cmp = require('../functions/cmp')
|
|
133
134
|
const debug = require('../internal/debug')
|
|
134
135
|
const SemVer = require('./semver')
|
|
@@ -29,9 +29,9 @@ class Range {
|
|
|
29
29
|
// First, split based on boolean or ||
|
|
30
30
|
this.raw = range
|
|
31
31
|
this.set = range
|
|
32
|
-
.split(
|
|
32
|
+
.split('||')
|
|
33
33
|
// map the range to a 2d array of comparators
|
|
34
|
-
.map(
|
|
34
|
+
.map(r => this.parseRange(r.trim()))
|
|
35
35
|
// throw out any comparator lists that are empty
|
|
36
36
|
// this generally means that it was not a valid range, which is allowed
|
|
37
37
|
// in loose mode, but will still throw if the WHOLE range is invalid.
|
|
@@ -46,9 +46,9 @@ class Range {
|
|
|
46
46
|
// keep the first one, in case they're all null sets
|
|
47
47
|
const first = this.set[0]
|
|
48
48
|
this.set = this.set.filter(c => !isNullSet(c[0]))
|
|
49
|
-
if (this.set.length === 0)
|
|
49
|
+
if (this.set.length === 0) {
|
|
50
50
|
this.set = [first]
|
|
51
|
-
else if (this.set.length > 1) {
|
|
51
|
+
} else if (this.set.length > 1) {
|
|
52
52
|
// if we have any that are *, then the range is just *
|
|
53
53
|
for (const c of this.set) {
|
|
54
54
|
if (c.length === 1 && isAny(c[0])) {
|
|
@@ -84,8 +84,9 @@ class Range {
|
|
|
84
84
|
const memoOpts = Object.keys(this.options).join(',')
|
|
85
85
|
const memoKey = `parseRange:${memoOpts}:${range}`
|
|
86
86
|
const cached = cache.get(memoKey)
|
|
87
|
-
if (cached)
|
|
87
|
+
if (cached) {
|
|
88
88
|
return cached
|
|
89
|
+
}
|
|
89
90
|
|
|
90
91
|
const loose = this.options.loose
|
|
91
92
|
// `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`
|
|
@@ -94,7 +95,7 @@ class Range {
|
|
|
94
95
|
debug('hyphen replace', range)
|
|
95
96
|
// `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`
|
|
96
97
|
range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)
|
|
97
|
-
debug('comparator trim', range
|
|
98
|
+
debug('comparator trim', range)
|
|
98
99
|
|
|
99
100
|
// `~ 1.2.3` => `~1.2.3`
|
|
100
101
|
range = range.replace(re[t.TILDETRIM], tildeTrimReplace)
|
|
@@ -108,30 +109,37 @@ class Range {
|
|
|
108
109
|
// At this point, the range is completely trimmed and
|
|
109
110
|
// ready to be split into comparators.
|
|
110
111
|
|
|
111
|
-
|
|
112
|
-
const rangeList = range
|
|
112
|
+
let rangeList = range
|
|
113
113
|
.split(' ')
|
|
114
114
|
.map(comp => parseComparator(comp, this.options))
|
|
115
115
|
.join(' ')
|
|
116
116
|
.split(/\s+/)
|
|
117
117
|
// >=0.0.0 is equivalent to *
|
|
118
118
|
.map(comp => replaceGTE0(comp, this.options))
|
|
119
|
+
|
|
120
|
+
if (loose) {
|
|
119
121
|
// in loose mode, throw out any that are not valid comparators
|
|
120
|
-
.filter(
|
|
121
|
-
|
|
122
|
+
rangeList = rangeList.filter(comp => {
|
|
123
|
+
debug('loose invalid filter', comp, this.options)
|
|
124
|
+
return !!comp.match(re[t.COMPARATORLOOSE])
|
|
125
|
+
})
|
|
126
|
+
}
|
|
127
|
+
debug('range list', rangeList)
|
|
122
128
|
|
|
123
129
|
// if any comparators are the null set, then replace with JUST null set
|
|
124
130
|
// if more than one comparator, remove any * comparators
|
|
125
131
|
// also, don't include the same comparator more than once
|
|
126
|
-
const l = rangeList.length
|
|
127
132
|
const rangeMap = new Map()
|
|
128
|
-
|
|
129
|
-
|
|
133
|
+
const comparators = rangeList.map(comp => new Comparator(comp, this.options))
|
|
134
|
+
for (const comp of comparators) {
|
|
135
|
+
if (isNullSet(comp)) {
|
|
130
136
|
return [comp]
|
|
137
|
+
}
|
|
131
138
|
rangeMap.set(comp.value, comp)
|
|
132
139
|
}
|
|
133
|
-
if (rangeMap.size > 1 && rangeMap.has(''))
|
|
140
|
+
if (rangeMap.size > 1 && rangeMap.has('')) {
|
|
134
141
|
rangeMap.delete('')
|
|
142
|
+
}
|
|
135
143
|
|
|
136
144
|
const result = [...rangeMap.values()]
|
|
137
145
|
cache.set(memoKey, result)
|
|
@@ -196,7 +204,7 @@ const {
|
|
|
196
204
|
t,
|
|
197
205
|
comparatorTrimReplace,
|
|
198
206
|
tildeTrimReplace,
|
|
199
|
-
caretTrimReplace
|
|
207
|
+
caretTrimReplace,
|
|
200
208
|
} = require('../internal/re')
|
|
201
209
|
|
|
202
210
|
const isNullSet = c => c.value === '<0.0.0-0'
|
|
@@ -245,8 +253,8 @@ const isX = id => !id || id.toLowerCase() === 'x' || id === '*'
|
|
|
245
253
|
// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0
|
|
246
254
|
// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0
|
|
247
255
|
const replaceTildes = (comp, options) =>
|
|
248
|
-
comp.trim().split(/\s+/).map((
|
|
249
|
-
return replaceTilde(
|
|
256
|
+
comp.trim().split(/\s+/).map((c) => {
|
|
257
|
+
return replaceTilde(c, options)
|
|
250
258
|
}).join(' ')
|
|
251
259
|
|
|
252
260
|
const replaceTilde = (comp, options) => {
|
|
@@ -284,8 +292,8 @@ const replaceTilde = (comp, options) => {
|
|
|
284
292
|
// ^1.2.3 --> >=1.2.3 <2.0.0-0
|
|
285
293
|
// ^1.2.0 --> >=1.2.0 <2.0.0-0
|
|
286
294
|
const replaceCarets = (comp, options) =>
|
|
287
|
-
comp.trim().split(/\s+/).map((
|
|
288
|
-
return replaceCaret(
|
|
295
|
+
comp.trim().split(/\s+/).map((c) => {
|
|
296
|
+
return replaceCaret(c, options)
|
|
289
297
|
}).join(' ')
|
|
290
298
|
|
|
291
299
|
const replaceCaret = (comp, options) => {
|
|
@@ -343,8 +351,8 @@ const replaceCaret = (comp, options) => {
|
|
|
343
351
|
|
|
344
352
|
const replaceXRanges = (comp, options) => {
|
|
345
353
|
debug('replaceXRanges', comp, options)
|
|
346
|
-
return comp.split(/\s+/).map((
|
|
347
|
-
return replaceXRange(
|
|
354
|
+
return comp.split(/\s+/).map((c) => {
|
|
355
|
+
return replaceXRange(c, options)
|
|
348
356
|
}).join(' ')
|
|
349
357
|
}
|
|
350
358
|
|
|
@@ -405,8 +413,9 @@ const replaceXRange = (comp, options) => {
|
|
|
405
413
|
}
|
|
406
414
|
}
|
|
407
415
|
|
|
408
|
-
if (gtlt === '<')
|
|
416
|
+
if (gtlt === '<') {
|
|
409
417
|
pr = '-0'
|
|
418
|
+
}
|
|
410
419
|
|
|
411
420
|
ret = `${gtlt + M}.${m}.${p}${pr}`
|
|
412
421
|
} else if (xm) {
|
|
@@ -8,17 +8,21 @@ const lte = require('./lte')
|
|
|
8
8
|
const cmp = (a, op, b, loose) => {
|
|
9
9
|
switch (op) {
|
|
10
10
|
case '===':
|
|
11
|
-
if (typeof a === 'object')
|
|
11
|
+
if (typeof a === 'object') {
|
|
12
12
|
a = a.version
|
|
13
|
-
|
|
13
|
+
}
|
|
14
|
+
if (typeof b === 'object') {
|
|
14
15
|
b = b.version
|
|
16
|
+
}
|
|
15
17
|
return a === b
|
|
16
18
|
|
|
17
19
|
case '!==':
|
|
18
|
-
if (typeof a === 'object')
|
|
20
|
+
if (typeof a === 'object') {
|
|
19
21
|
a = a.version
|
|
20
|
-
|
|
22
|
+
}
|
|
23
|
+
if (typeof b === 'object') {
|
|
21
24
|
b = b.version
|
|
25
|
+
}
|
|
22
26
|
return a !== b
|
|
23
27
|
|
|
24
28
|
case '':
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const SemVer = require('../classes/semver')
|
|
2
2
|
const parse = require('./parse')
|
|
3
|
-
const {re, t} = require('../internal/re')
|
|
3
|
+
const { re, t } = require('../internal/re')
|
|
4
4
|
|
|
5
5
|
const coerce = (version, options) => {
|
|
6
6
|
if (version instanceof SemVer) {
|
|
@@ -43,8 +43,9 @@ const coerce = (version, options) => {
|
|
|
43
43
|
re[t.COERCERTL].lastIndex = -1
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
if (match === null)
|
|
46
|
+
if (match === null) {
|
|
47
47
|
return null
|
|
48
|
+
}
|
|
48
49
|
|
|
49
50
|
return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options)
|
|
50
51
|
}
|
|
@@ -4,7 +4,7 @@ const SEMVER_SPEC_VERSION = '2.0.0'
|
|
|
4
4
|
|
|
5
5
|
const MAX_LENGTH = 256
|
|
6
6
|
const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
|
|
7
|
-
|
|
7
|
+
/* istanbul ignore next */ 9007199254740991
|
|
8
8
|
|
|
9
9
|
// Max safe segment length for coercion.
|
|
10
10
|
const MAX_SAFE_COMPONENT_LENGTH = 16
|
|
@@ -13,5 +13,5 @@ module.exports = {
|
|
|
13
13
|
SEMVER_SPEC_VERSION,
|
|
14
14
|
MAX_LENGTH,
|
|
15
15
|
MAX_SAFE_INTEGER,
|
|
16
|
-
MAX_SAFE_COMPONENT_LENGTH
|
|
16
|
+
MAX_SAFE_COMPONENT_LENGTH,
|
|
17
17
|
}
|
|
@@ -4,8 +4,8 @@ const opts = ['includePrerelease', 'loose', 'rtl']
|
|
|
4
4
|
const parseOptions = options =>
|
|
5
5
|
!options ? {}
|
|
6
6
|
: typeof options !== 'object' ? { loose: true }
|
|
7
|
-
: opts.filter(k => options[k]).reduce((
|
|
8
|
-
|
|
9
|
-
return
|
|
7
|
+
: opts.filter(k => options[k]).reduce((o, k) => {
|
|
8
|
+
o[k] = true
|
|
9
|
+
return o
|
|
10
10
|
}, {})
|
|
11
11
|
module.exports = parseOptions
|
|
@@ -10,7 +10,7 @@ let R = 0
|
|
|
10
10
|
|
|
11
11
|
const createToken = (name, value, isGlobal) => {
|
|
12
12
|
const index = R++
|
|
13
|
-
debug(index, value)
|
|
13
|
+
debug(name, index, value)
|
|
14
14
|
t[name] = index
|
|
15
15
|
src[index] = value
|
|
16
16
|
re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
|
|
@@ -178,5 +178,5 @@ createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` +
|
|
|
178
178
|
// Star ranges basically just allow anything at all.
|
|
179
179
|
createToken('STAR', '(<|>)?=?\\s*\\*')
|
|
180
180
|
// >=0.0.0 is like a star
|
|
181
|
-
createToken('GTE0', '^\\s*>=\\s*0
|
|
182
|
-
createToken('GTE0PRE', '^\\s*>=\\s*0
|
|
181
|
+
createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$')
|
|
182
|
+
createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "semver",
|
|
3
|
-
"version": "7.3.
|
|
3
|
+
"version": "7.3.6",
|
|
4
4
|
"description": "The semantic version parser used by npm.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -8,34 +8,67 @@
|
|
|
8
8
|
"snap": "tap",
|
|
9
9
|
"preversion": "npm test",
|
|
10
10
|
"postversion": "npm publish",
|
|
11
|
-
"postpublish": "git push origin --follow-tags"
|
|
11
|
+
"postpublish": "git push origin --follow-tags",
|
|
12
|
+
"lint": "eslint \"**/*.js\"",
|
|
13
|
+
"postlint": "template-oss-check",
|
|
14
|
+
"lintfix": "npm run lint -- --fix",
|
|
15
|
+
"prepublishOnly": "git push origin --follow-tags",
|
|
16
|
+
"posttest": "npm run lint",
|
|
17
|
+
"template-oss-apply": "template-oss-apply --force"
|
|
12
18
|
},
|
|
13
19
|
"devDependencies": {
|
|
14
|
-
"
|
|
20
|
+
"@npmcli/eslint-config": "^3.0.1",
|
|
21
|
+
"@npmcli/template-oss": "3.2.2",
|
|
22
|
+
"tap": "^16.0.0"
|
|
15
23
|
},
|
|
16
24
|
"license": "ISC",
|
|
17
|
-
"repository":
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://github.com/npm/node-semver.git"
|
|
28
|
+
},
|
|
18
29
|
"bin": {
|
|
19
30
|
"semver": "bin/semver.js"
|
|
20
31
|
},
|
|
21
32
|
"files": [
|
|
22
|
-
"bin
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"ranges/**/*.js",
|
|
33
|
+
"bin/",
|
|
34
|
+
"classes/",
|
|
35
|
+
"functions/",
|
|
36
|
+
"internal/",
|
|
37
|
+
"ranges/",
|
|
28
38
|
"index.js",
|
|
29
|
-
"preload.js"
|
|
39
|
+
"preload.js",
|
|
40
|
+
"range.bnf"
|
|
30
41
|
],
|
|
31
42
|
"tap": {
|
|
32
43
|
"check-coverage": true,
|
|
33
44
|
"coverage-map": "map.js"
|
|
34
45
|
},
|
|
35
46
|
"engines": {
|
|
36
|
-
"node": ">=
|
|
47
|
+
"node": "^10.0.0 || ^12.0.0 || ^14.0.0 || >=16.0.0"
|
|
37
48
|
},
|
|
38
49
|
"dependencies": {
|
|
39
|
-
"lru-cache": "^
|
|
50
|
+
"lru-cache": "^7.4.0"
|
|
51
|
+
},
|
|
52
|
+
"author": "GitHub Inc.",
|
|
53
|
+
"templateOSS": {
|
|
54
|
+
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
|
|
55
|
+
"version": "3.2.2",
|
|
56
|
+
"ciVersions": [
|
|
57
|
+
"10.0.0",
|
|
58
|
+
"10.x",
|
|
59
|
+
"12.x",
|
|
60
|
+
"14.x",
|
|
61
|
+
"16.x"
|
|
62
|
+
],
|
|
63
|
+
"distPaths": [
|
|
64
|
+
"bin/",
|
|
65
|
+
"classes/",
|
|
66
|
+
"functions/",
|
|
67
|
+
"internal/",
|
|
68
|
+
"ranges/",
|
|
69
|
+
"index.js",
|
|
70
|
+
"preload.js",
|
|
71
|
+
"range.bnf"
|
|
72
|
+
]
|
|
40
73
|
}
|
|
41
74
|
}
|
|
@@ -47,8 +47,9 @@ const minVersion = (range, loose) => {
|
|
|
47
47
|
throw new Error(`Unexpected operation: ${comparator.operator}`)
|
|
48
48
|
}
|
|
49
49
|
})
|
|
50
|
-
if (setMin && (!minver || gt(minver, setMin)))
|
|
50
|
+
if (setMin && (!minver || gt(minver, setMin))) {
|
|
51
51
|
minver = setMin
|
|
52
|
+
}
|
|
52
53
|
}
|
|
53
54
|
|
|
54
55
|
if (minver && range.test(minver)) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const SemVer = require('../classes/semver')
|
|
2
2
|
const Comparator = require('../classes/comparator')
|
|
3
|
-
const {ANY} = Comparator
|
|
3
|
+
const { ANY } = Comparator
|
|
4
4
|
const Range = require('../classes/range')
|
|
5
5
|
const satisfies = require('../functions/satisfies')
|
|
6
6
|
const gt = require('../functions/gt')
|
|
@@ -5,38 +5,41 @@ const satisfies = require('../functions/satisfies.js')
|
|
|
5
5
|
const compare = require('../functions/compare.js')
|
|
6
6
|
module.exports = (versions, range, options) => {
|
|
7
7
|
const set = []
|
|
8
|
-
let
|
|
8
|
+
let first = null
|
|
9
9
|
let prev = null
|
|
10
10
|
const v = versions.sort((a, b) => compare(a, b, options))
|
|
11
11
|
for (const version of v) {
|
|
12
12
|
const included = satisfies(version, range, options)
|
|
13
13
|
if (included) {
|
|
14
14
|
prev = version
|
|
15
|
-
if (!
|
|
16
|
-
|
|
15
|
+
if (!first) {
|
|
16
|
+
first = version
|
|
17
|
+
}
|
|
17
18
|
} else {
|
|
18
19
|
if (prev) {
|
|
19
|
-
set.push([
|
|
20
|
+
set.push([first, prev])
|
|
20
21
|
}
|
|
21
22
|
prev = null
|
|
22
|
-
|
|
23
|
+
first = null
|
|
23
24
|
}
|
|
24
25
|
}
|
|
25
|
-
if (
|
|
26
|
-
set.push([
|
|
26
|
+
if (first) {
|
|
27
|
+
set.push([first, null])
|
|
28
|
+
}
|
|
27
29
|
|
|
28
30
|
const ranges = []
|
|
29
31
|
for (const [min, max] of set) {
|
|
30
|
-
if (min === max)
|
|
32
|
+
if (min === max) {
|
|
31
33
|
ranges.push(min)
|
|
32
|
-
else if (!max && min === v[0])
|
|
34
|
+
} else if (!max && min === v[0]) {
|
|
33
35
|
ranges.push('*')
|
|
34
|
-
else if (!max)
|
|
36
|
+
} else if (!max) {
|
|
35
37
|
ranges.push(`>=${min}`)
|
|
36
|
-
else if (min === v[0])
|
|
38
|
+
} else if (min === v[0]) {
|
|
37
39
|
ranges.push(`<=${max}`)
|
|
38
|
-
else
|
|
40
|
+
} else {
|
|
39
41
|
ranges.push(`${min} - ${max}`)
|
|
42
|
+
}
|
|
40
43
|
}
|
|
41
44
|
const simplified = ranges.join(' || ')
|
|
42
45
|
const original = typeof range.raw === 'string' ? range.raw : String(range)
|