Skip to content

Commit eccb1f2

Browse files
committed
fix: reuse parsed options
1 parent 9edf714 commit eccb1f2

File tree

8 files changed

+15
-3
lines changed

8 files changed

+15
-3
lines changed

bin/semver.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ let rtl = false
2424
let identifier
2525

2626
const semver = require('../')
27+
const parseOptions = require('../internal/parse-options')
2728

2829
let reverse = false
2930

@@ -88,7 +89,7 @@ const main = () => {
8889
}
8990
}
9091

91-
options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl }
92+
options = parseOptions({ loose, includePrerelease, rtl })
9293

9394
versions = versions.map((v) => {
9495
return coerce ? (semver.coerce(v, options) || { version: v }).version : v

functions/parse.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ const SemVer = require('../classes/semver')
44

55
const parseOptions = require('../internal/parse-options')
66
const parse = (version, options) => {
7-
options = parseOptions(options)
8-
97
if (version instanceof SemVer) {
108
return version
119
}
@@ -18,6 +16,7 @@ const parse = (version, options) => {
1816
return null
1917
}
2018

19+
options = parseOptions(options)
2120
const r = options.loose ? re[t.LOOSE] : re[t.FULL]
2221
if (!r.test(version)) {
2322
return null

ranges/intersects.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
const Range = require('../classes/range')
2+
const parseOptions = require('../internal/parse-options')
23
const intersects = (r1, r2, options) => {
4+
options = parseOptions(options)
35
r1 = new Range(r1, options)
46
r2 = new Range(r2, options)
57
return r1.intersects(r2)

ranges/max-satisfying.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
const SemVer = require('../classes/semver')
22
const Range = require('../classes/range')
3+
const parseOptions = require('../internal/parse-options')
34

45
const maxSatisfying = (versions, range, options) => {
56
let max = null
67
let maxSV = null
78
let rangeObj = null
9+
options = parseOptions(options)
810
try {
911
rangeObj = new Range(range, options)
1012
} catch (er) {

ranges/min-satisfying.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
const SemVer = require('../classes/semver')
22
const Range = require('../classes/range')
3+
const parseOptions = require('../internal/parse-options')
34
const minSatisfying = (versions, range, options) => {
45
let min = null
56
let minSV = null
67
let rangeObj = null
8+
options = parseOptions(options)
79
try {
810
rangeObj = new Range(range, options)
911
} catch (er) {

ranges/outside.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@ const gt = require('../functions/gt')
77
const lt = require('../functions/lt')
88
const lte = require('../functions/lte')
99
const gte = require('../functions/gte')
10+
const parseOptions = require('../internal/parse-options')
1011

1112
const outside = (version, range, hilo, options) => {
13+
options = parseOptions(options)
1214
version = new SemVer(version, options)
1315
range = new Range(range, options)
1416

ranges/simplify.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@
33
// If the original range is shorter than the simplified one, return that.
44
const satisfies = require('../functions/satisfies.js')
55
const compare = require('../functions/compare.js')
6+
const parseOptions = require('../internal/parse-options.js')
67
module.exports = (versions, range, options) => {
8+
options = parseOptions(options)
79
const set = []
810
let first = null
911
let prev = null

ranges/subset.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ const Comparator = require('../classes/comparator.js')
33
const { ANY } = Comparator
44
const satisfies = require('../functions/satisfies.js')
55
const compare = require('../functions/compare.js')
6+
const parseOptions = require('../internal/parse-options.js')
67

78
// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff:
89
// - Every simple range `r1, r2, ...` is a null set, OR
@@ -45,6 +46,7 @@ const subset = (sub, dom, options = {}) => {
4546
return true
4647
}
4748

49+
options = parseOptions(options)
4850
sub = new Range(sub, options)
4951
dom = new Range(dom, options)
5052
let sawNonNull = false

0 commit comments

Comments
 (0)