semver 7.0.0 → 7.1.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # changes log
2
2
 
3
+ ## 7.1.0
4
+
5
+ * Add `require('semver/preload')` to load the entire module without using
6
+ lazy getter methods.
7
+
8
+ ## 7.0.0
9
+
10
+ * Refactor module into separate files for better tree-shaking
11
+ * Drop support for very old node versions, use const/let, `=>` functions,
12
+ and classes.
13
+
3
14
  ## 6.3.0
4
15
 
5
16
  * Expose the token enum on the exports
package/README.md CHANGED
@@ -25,6 +25,61 @@ semver.valid(semver.coerce('v2')) // '2.0.0'
25
25
  semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7'
26
26
  ```
27
27
 
28
+ You can also just load the module for the function that you care about, if
29
+ you'd like to minimize your footprint.
30
+
31
+ ```js
32
+ // load the whole API at once in a single object
33
+ const semver = require('semver')
34
+
35
+ // or just load the bits you need
36
+ // all of them listed here, just pick and choose what you want
37
+
38
+ // classes
39
+ const SemVer = require('semver/classes/semver')
40
+ const Comparator = require('semver/classes/comparator')
41
+ const Range = require('semver/classes/range')
42
+
43
+ // functions for working with versions
44
+ const semverParse = require('semver/functions/parse')
45
+ const semverValid = require('semver/functions/valid')
46
+ const semverClean = require('semver/functions/clean')
47
+ const semverInc = require('semver/functions/inc')
48
+ const semverDiff = require('semver/functions/diff')
49
+ const semverMajor = require('semver/functions/major')
50
+ const semverMinor = require('semver/functions/minor')
51
+ const semverPatch = require('semver/functions/patch')
52
+ const semverPrerelease = require('semver/functions/prerelease')
53
+ const semverCompare = require('semver/functions/compare')
54
+ const semverRcompare = require('semver/functions/rcompare')
55
+ const semverCompareLoose = require('semver/functions/compare-loose')
56
+ const semverCompareBuild = require('semver/functions/compare-build')
57
+ const semverSort = require('semver/functions/sort')
58
+ const semverRsort = require('semver/functions/rsort')
59
+
60
+ // low-level comparators between versions
61
+ const semverGt = require('semver/functions/gt')
62
+ const semverLt = require('semver/functions/lt')
63
+ const semverEq = require('semver/functions/eq')
64
+ const semverNeq = require('semver/functions/neq')
65
+ const semverGte = require('semver/functions/gte')
66
+ const semverLte = require('semver/functions/lte')
67
+ const semverCmp = require('semver/functions/cmp')
68
+ const semverCoerce = require('semver/functions/coerce')
69
+
70
+ // working with ranges
71
+ const semverSatisfies = require('semver/functions/satisfies')
72
+ const semverMaxSatisfying = require('semver/ranges/max-satisfying')
73
+ const semverMinSatisfying = require('semver/ranges/min-satisfying')
74
+ const semverToComparators = require('semver/ranges/to-comparators')
75
+ const semverMinVersion = require('semver/ranges/min-version')
76
+ const semverValidRange = require('semver/ranges/valid')
77
+ const semverOutside = require('semver/ranges/outside')
78
+ const semverGtr = require('semver/ranges/gtr')
79
+ const semverLtr = require('semver/ranges/ltr')
80
+ const semverIntersects = require('semver/ranges/intersects')
81
+ ```
82
+
28
83
  As a command-line utility:
29
84
 
30
85
  ```
package/functions/diff.js CHANGED
@@ -7,11 +7,9 @@ const diff = (version1, version2) => {
7
7
  } else {
8
8
  const v1 = parse(version1)
9
9
  const v2 = parse(version2)
10
- let prefix = ''
11
- if (v1.prerelease.length || v2.prerelease.length) {
12
- prefix = 'pre'
13
- var defaultResult = 'prerelease'
14
- }
10
+ const hasPre = v1.prerelease.length || v2.prerelease.length
11
+ const prefix = hasPre ? 'pre' : ''
12
+ const defaultResult = hasPre ? 'prerelease' : ''
15
13
  for (const key in v1) {
16
14
  if (key === 'major' || key === 'minor' || key === 'patch') {
17
15
  if (v1[key] !== v2[key]) {
package/index.js CHANGED
@@ -1,64 +1,46 @@
1
- const lrCache = {}
2
- const lazyRequire = (path, subkey) => {
3
- const module = lrCache[path] || (lrCache[path] = require(path))
4
- return subkey ? module[subkey] : module
1
+ // just pre-load all the stuff that index.js lazily exports
2
+ const internalRe = require('./internal/re')
3
+ module.exports = {
4
+ re: internalRe.re,
5
+ src: internalRe.src,
6
+ tokens: internalRe.t,
7
+ SEMVER_SPEC_VERSION: require('./internal/constants').SEMVER_SPEC_VERSION,
8
+ SemVer: require('./classes/semver'),
9
+ compareIdentifiers: require('./internal/identifiers').compareIdentifiers,
10
+ rcompareIdentifiers: require('./internal/identifiers').rcompareIdentifiers,
11
+ parse: require('./functions/parse'),
12
+ valid: require('./functions/valid'),
13
+ clean: require('./functions/clean'),
14
+ inc: require('./functions/inc'),
15
+ diff: require('./functions/diff'),
16
+ major: require('./functions/major'),
17
+ minor: require('./functions/minor'),
18
+ patch: require('./functions/patch'),
19
+ prerelease: require('./functions/prerelease'),
20
+ compare: require('./functions/compare'),
21
+ rcompare: require('./functions/rcompare'),
22
+ compareLoose: require('./functions/compare-loose'),
23
+ compareBuild: require('./functions/compare-build'),
24
+ sort: require('./functions/sort'),
25
+ rsort: require('./functions/rsort'),
26
+ gt: require('./functions/gt'),
27
+ lt: require('./functions/lt'),
28
+ eq: require('./functions/eq'),
29
+ neq: require('./functions/neq'),
30
+ gte: require('./functions/gte'),
31
+ lte: require('./functions/lte'),
32
+ cmp: require('./functions/cmp'),
33
+ coerce: require('./functions/coerce'),
34
+ Comparator: require('./classes/comparator'),
35
+ Range: require('./classes/range'),
36
+ satisfies: require('./functions/satisfies'),
37
+ toComparators: require('./ranges/to-comparators'),
38
+ maxSatisfying: require('./ranges/max-satisfying'),
39
+ minSatisfying: require('./ranges/min-satisfying'),
40
+ minVersion: require('./ranges/min-version'),
41
+ validRange: require('./ranges/valid'),
42
+ outside: require('./ranges/outside'),
43
+ gtr: require('./ranges/gtr'),
44
+ ltr: require('./ranges/ltr'),
45
+ intersects: require('./ranges/intersects'),
5
46
  }
6
-
7
- const lazyExport = (key, path, subkey) => {
8
- Object.defineProperty(exports, key, {
9
- get: () => {
10
- const res = lazyRequire(path, subkey)
11
- Object.defineProperty(exports, key, {
12
- value: res,
13
- enumerable: true,
14
- configurable: true
15
- })
16
- return res
17
- },
18
- configurable: true,
19
- enumerable: true
20
- })
21
- }
22
-
23
- lazyExport('re', './internal/re', 're')
24
- lazyExport('src', './internal/re', 'src')
25
- lazyExport('tokens', './internal/re', 't')
26
- lazyExport('SEMVER_SPEC_VERSION', './internal/constants', 'SEMVER_SPEC_VERSION')
27
- lazyExport('SemVer', './classes/semver')
28
- lazyExport('compareIdentifiers', './internal/identifiers', 'compareIdentifiers')
29
- lazyExport('rcompareIdentifiers', './internal/identifiers', 'rcompareIdentifiers')
30
- lazyExport('parse', './functions/parse')
31
- lazyExport('valid', './functions/valid')
32
- lazyExport('clean', './functions/clean')
33
- lazyExport('inc', './functions/inc')
34
- lazyExport('diff', './functions/diff')
35
- lazyExport('major', './functions/major')
36
- lazyExport('minor', './functions/minor')
37
- lazyExport('patch', './functions/patch')
38
- lazyExport('prerelease', './functions/prerelease')
39
- lazyExport('compare', './functions/compare')
40
- lazyExport('rcompare', './functions/rcompare')
41
- lazyExport('compareLoose', './functions/compare-loose')
42
- lazyExport('compareBuild', './functions/compare-build')
43
- lazyExport('sort', './functions/sort')
44
- lazyExport('rsort', './functions/rsort')
45
- lazyExport('gt', './functions/gt')
46
- lazyExport('lt', './functions/lt')
47
- lazyExport('eq', './functions/eq')
48
- lazyExport('neq', './functions/neq')
49
- lazyExport('gte', './functions/gte')
50
- lazyExport('lte', './functions/lte')
51
- lazyExport('cmp', './functions/cmp')
52
- lazyExport('coerce', './functions/coerce')
53
- lazyExport('Comparator', './classes/comparator')
54
- lazyExport('Range', './classes/range')
55
- lazyExport('satisfies', './functions/satisfies')
56
- lazyExport('toComparators', './ranges/to-comparators')
57
- lazyExport('maxSatisfying', './ranges/max-satisfying')
58
- lazyExport('minSatisfying', './ranges/min-satisfying')
59
- lazyExport('minVersion', './ranges/min-version')
60
- lazyExport('validRange', './ranges/valid')
61
- lazyExport('outside', './ranges/outside')
62
- lazyExport('gtr', './ranges/gtr')
63
- lazyExport('ltr', './ranges/ltr')
64
- lazyExport('intersects', './ranges/intersects')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "semver",
3
- "version": "7.0.0",
3
+ "version": "7.1.3",
4
4
  "description": "The semantic version parser used by npm.",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -11,7 +11,7 @@
11
11
  "postpublish": "git push origin --follow-tags"
12
12
  },
13
13
  "devDependencies": {
14
- "tap": "^14.10.1"
14
+ "tap": "^14.10.2"
15
15
  },
16
16
  "license": "ISC",
17
17
  "repository": "https://github.com/npm/node-semver",
@@ -25,10 +25,14 @@
25
25
  "functions",
26
26
  "internal",
27
27
  "ranges",
28
- "index.js"
28
+ "index.js",
29
+ "preload.js"
29
30
  ],
30
31
  "tap": {
31
32
  "check-coverage": true,
32
33
  "coverage-map": "map.js"
34
+ },
35
+ "engines": {
36
+ "node": ">=10"
33
37
  }
34
38
  }
package/preload.js ADDED
@@ -0,0 +1,2 @@
1
+ // XXX remove in v8 or beyond
2
+ module.exports = require('./index.js')