immosquare-cleaner 0.1.34 → 0.1.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (191) hide show
  1. checksums.yaml +4 -4
  2. data/lib/immosquare-cleaner/version.rb +1 -1
  3. data/lib/immosquare-cleaner.rb +2 -2
  4. data/linters/eslint.config.mjs +30 -0
  5. data/linters/rubocop-3.2.2.yml +2 -0
  6. data/node_modules/function-bind/README.md +27 -25
  7. data/node_modules/function-bind/implementation.js +12 -44
  8. data/node_modules/function-bind/package.json +14 -38
  9. data/node_modules/is-core-module/CHANGELOG.md +0 -7
  10. data/node_modules/is-core-module/index.js +2 -2
  11. data/node_modules/is-core-module/package.json +4 -4
  12. data/package.json +2 -4
  13. metadata +3 -180
  14. data/linters/eslintrc.json +0 -57
  15. data/node_modules/.bin/rimraf +0 -1
  16. data/node_modules/eslint-config-airbnb-base/CHANGELOG.md +0 -374
  17. data/node_modules/eslint-config-airbnb-base/LICENSE.md +0 -21
  18. data/node_modules/eslint-config-airbnb-base/README.md +0 -112
  19. data/node_modules/eslint-config-airbnb-base/index.js +0 -17
  20. data/node_modules/eslint-config-airbnb-base/legacy.js +0 -34
  21. data/node_modules/eslint-config-airbnb-base/node_modules/semver/LICENSE +0 -15
  22. data/node_modules/eslint-config-airbnb-base/node_modules/semver/README.md +0 -443
  23. data/node_modules/eslint-config-airbnb-base/node_modules/semver/bin/semver.js +0 -174
  24. data/node_modules/eslint-config-airbnb-base/node_modules/semver/package.json +0 -38
  25. data/node_modules/eslint-config-airbnb-base/node_modules/semver/range.bnf +0 -16
  26. data/node_modules/eslint-config-airbnb-base/node_modules/semver/semver.js +0 -1643
  27. data/node_modules/eslint-config-airbnb-base/package.json +0 -95
  28. data/node_modules/eslint-config-airbnb-base/rules/best-practices.js +0 -408
  29. data/node_modules/eslint-config-airbnb-base/rules/errors.js +0 -179
  30. data/node_modules/eslint-config-airbnb-base/rules/es6.js +0 -185
  31. data/node_modules/eslint-config-airbnb-base/rules/imports.js +0 -273
  32. data/node_modules/eslint-config-airbnb-base/rules/node.js +0 -43
  33. data/node_modules/eslint-config-airbnb-base/rules/strict.js +0 -6
  34. data/node_modules/eslint-config-airbnb-base/rules/style.js +0 -529
  35. data/node_modules/eslint-config-airbnb-base/rules/variables.js +0 -56
  36. data/node_modules/eslint-config-airbnb-base/test/requires.js +0 -13
  37. data/node_modules/eslint-config-airbnb-base/test/test-base.js +0 -32
  38. data/node_modules/eslint-config-airbnb-base/whitespace-async.js +0 -96
  39. data/node_modules/eslint-config-airbnb-base/whitespace.js +0 -102
  40. data/node_modules/eslint-plugin-import/CHANGELOG.md +0 -1925
  41. data/node_modules/eslint-plugin-import/CONTRIBUTING.md +0 -84
  42. data/node_modules/eslint-plugin-import/LICENSE +0 -22
  43. data/node_modules/eslint-plugin-import/README.md +0 -500
  44. data/node_modules/eslint-plugin-import/RELEASE.md +0 -54
  45. data/node_modules/eslint-plugin-import/SECURITY.md +0 -11
  46. data/node_modules/eslint-plugin-import/config/electron.js +0 -8
  47. data/node_modules/eslint-plugin-import/config/errors.js +0 -14
  48. data/node_modules/eslint-plugin-import/config/react-native.js +0 -13
  49. data/node_modules/eslint-plugin-import/config/react.js +0 -18
  50. data/node_modules/eslint-plugin-import/config/recommended.js +0 -28
  51. data/node_modules/eslint-plugin-import/config/stage-0.js +0 -12
  52. data/node_modules/eslint-plugin-import/config/typescript.js +0 -34
  53. data/node_modules/eslint-plugin-import/config/warnings.js +0 -12
  54. data/node_modules/eslint-plugin-import/docs/rules/consistent-type-specifier-style.md +0 -91
  55. data/node_modules/eslint-plugin-import/docs/rules/default.md +0 -72
  56. data/node_modules/eslint-plugin-import/docs/rules/dynamic-import-chunkname.md +0 -92
  57. data/node_modules/eslint-plugin-import/docs/rules/export.md +0 -37
  58. data/node_modules/eslint-plugin-import/docs/rules/exports-last.md +0 -51
  59. data/node_modules/eslint-plugin-import/docs/rules/extensions.md +0 -174
  60. data/node_modules/eslint-plugin-import/docs/rules/first.md +0 -75
  61. data/node_modules/eslint-plugin-import/docs/rules/group-exports.md +0 -118
  62. data/node_modules/eslint-plugin-import/docs/rules/imports-first.md +0 -9
  63. data/node_modules/eslint-plugin-import/docs/rules/max-dependencies.md +0 -70
  64. data/node_modules/eslint-plugin-import/docs/rules/named.md +0 -102
  65. data/node_modules/eslint-plugin-import/docs/rules/namespace.md +0 -106
  66. data/node_modules/eslint-plugin-import/docs/rules/newline-after-import.md +0 -167
  67. data/node_modules/eslint-plugin-import/docs/rules/no-absolute-path.md +0 -54
  68. data/node_modules/eslint-plugin-import/docs/rules/no-amd.md +0 -37
  69. data/node_modules/eslint-plugin-import/docs/rules/no-anonymous-default-export.md +0 -83
  70. data/node_modules/eslint-plugin-import/docs/rules/no-commonjs.md +0 -96
  71. data/node_modules/eslint-plugin-import/docs/rules/no-cycle.md +0 -111
  72. data/node_modules/eslint-plugin-import/docs/rules/no-default-export.md +0 -65
  73. data/node_modules/eslint-plugin-import/docs/rules/no-deprecated.md +0 -62
  74. data/node_modules/eslint-plugin-import/docs/rules/no-duplicates.md +0 -109
  75. data/node_modules/eslint-plugin-import/docs/rules/no-dynamic-require.md +0 -25
  76. data/node_modules/eslint-plugin-import/docs/rules/no-empty-named-blocks.md +0 -49
  77. data/node_modules/eslint-plugin-import/docs/rules/no-extraneous-dependencies.md +0 -139
  78. data/node_modules/eslint-plugin-import/docs/rules/no-import-module-exports.md +0 -81
  79. data/node_modules/eslint-plugin-import/docs/rules/no-internal-modules.md +0 -136
  80. data/node_modules/eslint-plugin-import/docs/rules/no-mutable-exports.md +0 -54
  81. data/node_modules/eslint-plugin-import/docs/rules/no-named-as-default-member.md +0 -52
  82. data/node_modules/eslint-plugin-import/docs/rules/no-named-as-default.md +0 -53
  83. data/node_modules/eslint-plugin-import/docs/rules/no-named-default.md +0 -36
  84. data/node_modules/eslint-plugin-import/docs/rules/no-named-export.md +0 -79
  85. data/node_modules/eslint-plugin-import/docs/rules/no-namespace.md +0 -44
  86. data/node_modules/eslint-plugin-import/docs/rules/no-nodejs-modules.md +0 -42
  87. data/node_modules/eslint-plugin-import/docs/rules/no-relative-packages.md +0 -70
  88. data/node_modules/eslint-plugin-import/docs/rules/no-relative-parent-imports.md +0 -123
  89. data/node_modules/eslint-plugin-import/docs/rules/no-restricted-paths.md +0 -198
  90. data/node_modules/eslint-plugin-import/docs/rules/no-self-import.md +0 -32
  91. data/node_modules/eslint-plugin-import/docs/rules/no-unassigned-import.md +0 -60
  92. data/node_modules/eslint-plugin-import/docs/rules/no-unresolved.md +0 -110
  93. data/node_modules/eslint-plugin-import/docs/rules/no-unused-modules.md +0 -125
  94. data/node_modules/eslint-plugin-import/docs/rules/no-useless-path-segments.md +0 -85
  95. data/node_modules/eslint-plugin-import/docs/rules/no-webpack-loader-syntax.md +0 -39
  96. data/node_modules/eslint-plugin-import/docs/rules/order.md +0 -365
  97. data/node_modules/eslint-plugin-import/docs/rules/prefer-default-export.md +0 -185
  98. data/node_modules/eslint-plugin-import/docs/rules/unambiguous.md +0 -57
  99. data/node_modules/eslint-plugin-import/lib/ExportMap.js +0 -856
  100. data/node_modules/eslint-plugin-import/lib/core/importType.js +0 -129
  101. data/node_modules/eslint-plugin-import/lib/core/packagePath.js +0 -22
  102. data/node_modules/eslint-plugin-import/lib/core/staticRequire.js +0 -11
  103. data/node_modules/eslint-plugin-import/lib/docsUrl.js +0 -8
  104. data/node_modules/eslint-plugin-import/lib/importDeclaration.js +0 -5
  105. data/node_modules/eslint-plugin-import/lib/index.js +0 -71
  106. data/node_modules/eslint-plugin-import/lib/rules/consistent-type-specifier-style.js +0 -221
  107. data/node_modules/eslint-plugin-import/lib/rules/default.js +0 -40
  108. data/node_modules/eslint-plugin-import/lib/rules/dynamic-import-chunkname.js +0 -120
  109. data/node_modules/eslint-plugin-import/lib/rules/export.js +0 -250
  110. data/node_modules/eslint-plugin-import/lib/rules/exports-last.js +0 -40
  111. data/node_modules/eslint-plugin-import/lib/rules/extensions.js +0 -193
  112. data/node_modules/eslint-plugin-import/lib/rules/first.js +0 -144
  113. data/node_modules/eslint-plugin-import/lib/rules/group-exports.js +0 -155
  114. data/node_modules/eslint-plugin-import/lib/rules/imports-first.js +0 -16
  115. data/node_modules/eslint-plugin-import/lib/rules/max-dependencies.js +0 -60
  116. data/node_modules/eslint-plugin-import/lib/rules/named.js +0 -143
  117. data/node_modules/eslint-plugin-import/lib/rules/namespace.js +0 -218
  118. data/node_modules/eslint-plugin-import/lib/rules/newline-after-import.js +0 -237
  119. data/node_modules/eslint-plugin-import/lib/rules/no-absolute-path.js +0 -40
  120. data/node_modules/eslint-plugin-import/lib/rules/no-amd.js +0 -47
  121. data/node_modules/eslint-plugin-import/lib/rules/no-anonymous-default-export.js +0 -103
  122. data/node_modules/eslint-plugin-import/lib/rules/no-commonjs.js +0 -141
  123. data/node_modules/eslint-plugin-import/lib/rules/no-cycle.js +0 -158
  124. data/node_modules/eslint-plugin-import/lib/rules/no-default-export.js +0 -43
  125. data/node_modules/eslint-plugin-import/lib/rules/no-deprecated.js +0 -138
  126. data/node_modules/eslint-plugin-import/lib/rules/no-duplicates.js +0 -354
  127. data/node_modules/eslint-plugin-import/lib/rules/no-dynamic-require.js +0 -77
  128. data/node_modules/eslint-plugin-import/lib/rules/no-empty-named-blocks.js +0 -105
  129. data/node_modules/eslint-plugin-import/lib/rules/no-extraneous-dependencies.js +0 -301
  130. data/node_modules/eslint-plugin-import/lib/rules/no-import-module-exports.js +0 -85
  131. data/node_modules/eslint-plugin-import/lib/rules/no-internal-modules.js +0 -144
  132. data/node_modules/eslint-plugin-import/lib/rules/no-mutable-exports.js +0 -59
  133. data/node_modules/eslint-plugin-import/lib/rules/no-named-as-default-member.js +0 -96
  134. data/node_modules/eslint-plugin-import/lib/rules/no-named-as-default.js +0 -45
  135. data/node_modules/eslint-plugin-import/lib/rules/no-named-default.js +0 -31
  136. data/node_modules/eslint-plugin-import/lib/rules/no-named-export.js +0 -39
  137. data/node_modules/eslint-plugin-import/lib/rules/no-namespace.js +0 -175
  138. data/node_modules/eslint-plugin-import/lib/rules/no-nodejs-modules.js +0 -44
  139. data/node_modules/eslint-plugin-import/lib/rules/no-relative-packages.js +0 -71
  140. data/node_modules/eslint-plugin-import/lib/rules/no-relative-parent-imports.js +0 -48
  141. data/node_modules/eslint-plugin-import/lib/rules/no-restricted-paths.js +0 -245
  142. data/node_modules/eslint-plugin-import/lib/rules/no-self-import.js +0 -39
  143. data/node_modules/eslint-plugin-import/lib/rules/no-unassigned-import.js +0 -79
  144. data/node_modules/eslint-plugin-import/lib/rules/no-unresolved.js +0 -60
  145. data/node_modules/eslint-plugin-import/lib/rules/no-unused-modules.js +0 -945
  146. data/node_modules/eslint-plugin-import/lib/rules/no-useless-path-segments.js +0 -147
  147. data/node_modules/eslint-plugin-import/lib/rules/no-webpack-loader-syntax.js +0 -26
  148. data/node_modules/eslint-plugin-import/lib/rules/order.js +0 -785
  149. data/node_modules/eslint-plugin-import/lib/rules/prefer-default-export.js +0 -116
  150. data/node_modules/eslint-plugin-import/lib/rules/unambiguous.js +0 -38
  151. data/node_modules/eslint-plugin-import/memo-parser/LICENSE +0 -22
  152. data/node_modules/eslint-plugin-import/memo-parser/README.md +0 -21
  153. data/node_modules/eslint-plugin-import/memo-parser/index.js +0 -41
  154. data/node_modules/eslint-plugin-import/node_modules/debug/CHANGELOG.md +0 -395
  155. data/node_modules/eslint-plugin-import/node_modules/debug/LICENSE +0 -19
  156. data/node_modules/eslint-plugin-import/node_modules/debug/README.md +0 -437
  157. data/node_modules/eslint-plugin-import/node_modules/debug/node.js +0 -1
  158. data/node_modules/eslint-plugin-import/node_modules/debug/node_modules/ms/index.js +0 -162
  159. data/node_modules/eslint-plugin-import/node_modules/debug/node_modules/ms/license.md +0 -21
  160. data/node_modules/eslint-plugin-import/node_modules/debug/node_modules/ms/package.json +0 -38
  161. data/node_modules/eslint-plugin-import/node_modules/debug/node_modules/ms/readme.md +0 -59
  162. data/node_modules/eslint-plugin-import/node_modules/debug/package.json +0 -51
  163. data/node_modules/eslint-plugin-import/node_modules/debug/src/browser.js +0 -180
  164. data/node_modules/eslint-plugin-import/node_modules/debug/src/common.js +0 -249
  165. data/node_modules/eslint-plugin-import/node_modules/debug/src/index.js +0 -12
  166. data/node_modules/eslint-plugin-import/node_modules/debug/src/node.js +0 -177
  167. data/node_modules/eslint-plugin-import/node_modules/doctrine/CHANGELOG.md +0 -94
  168. data/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE +0 -177
  169. data/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.closure-compiler +0 -202
  170. data/node_modules/eslint-plugin-import/node_modules/doctrine/LICENSE.esprima +0 -19
  171. data/node_modules/eslint-plugin-import/node_modules/doctrine/README.md +0 -165
  172. data/node_modules/eslint-plugin-import/node_modules/doctrine/lib/doctrine.js +0 -899
  173. data/node_modules/eslint-plugin-import/node_modules/doctrine/lib/typed.js +0 -1305
  174. data/node_modules/eslint-plugin-import/node_modules/doctrine/lib/utility.js +0 -35
  175. data/node_modules/eslint-plugin-import/node_modules/doctrine/package.json +0 -57
  176. data/node_modules/eslint-plugin-import/node_modules/minimatch/LICENSE +0 -15
  177. data/node_modules/eslint-plugin-import/node_modules/minimatch/README.md +0 -230
  178. data/node_modules/eslint-plugin-import/node_modules/minimatch/minimatch.js +0 -947
  179. data/node_modules/eslint-plugin-import/node_modules/minimatch/node_modules/brace-expansion/LICENSE +0 -21
  180. data/node_modules/eslint-plugin-import/node_modules/minimatch/node_modules/brace-expansion/README.md +0 -129
  181. data/node_modules/eslint-plugin-import/node_modules/minimatch/node_modules/brace-expansion/index.js +0 -201
  182. data/node_modules/eslint-plugin-import/node_modules/minimatch/node_modules/brace-expansion/package.json +0 -47
  183. data/node_modules/eslint-plugin-import/node_modules/minimatch/package.json +0 -33
  184. data/node_modules/eslint-plugin-import/node_modules/semver/LICENSE +0 -15
  185. data/node_modules/eslint-plugin-import/node_modules/semver/README.md +0 -443
  186. data/node_modules/eslint-plugin-import/node_modules/semver/bin/semver.js +0 -174
  187. data/node_modules/eslint-plugin-import/node_modules/semver/package.json +0 -38
  188. data/node_modules/eslint-plugin-import/node_modules/semver/range.bnf +0 -16
  189. data/node_modules/eslint-plugin-import/node_modules/semver/semver.js +0 -1643
  190. data/node_modules/eslint-plugin-import/package.json +0 -124
  191. data/node_modules/function-bind/CHANGELOG.md +0 -136
@@ -1,443 +0,0 @@
1
- semver(1) -- The semantic versioner for npm
2
- ===========================================
3
-
4
- ## Install
5
-
6
- ```bash
7
- npm install semver
8
- ````
9
-
10
- ## Usage
11
-
12
- As a node module:
13
-
14
- ```js
15
- const semver = require('semver')
16
-
17
- semver.valid('1.2.3') // '1.2.3'
18
- semver.valid('a.b.c') // null
19
- semver.clean(' =v1.2.3 ') // '1.2.3'
20
- semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true
21
- semver.gt('1.2.3', '9.8.7') // false
22
- semver.lt('1.2.3', '9.8.7') // true
23
- semver.minVersion('>=1.0.0') // '1.0.0'
24
- semver.valid(semver.coerce('v2')) // '2.0.0'
25
- semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7'
26
- ```
27
-
28
- As a command-line utility:
29
-
30
- ```
31
- $ semver -h
32
-
33
- A JavaScript implementation of the https://semver.org/ specification
34
- Copyright Isaac Z. Schlueter
35
-
36
- Usage: semver [options] <version> [<version> [...]]
37
- Prints valid versions sorted by SemVer precedence
38
-
39
- Options:
40
- -r --range <range>
41
- Print versions that match the specified range.
42
-
43
- -i --increment [<level>]
44
- Increment a version by the specified level. Level can
45
- be one of: major, minor, patch, premajor, preminor,
46
- prepatch, or prerelease. Default level is 'patch'.
47
- Only one version may be specified.
48
-
49
- --preid <identifier>
50
- Identifier to be used to prefix premajor, preminor,
51
- prepatch or prerelease version increments.
52
-
53
- -l --loose
54
- Interpret versions and ranges loosely
55
-
56
- -p --include-prerelease
57
- Always include prerelease versions in range matching
58
-
59
- -c --coerce
60
- Coerce a string into SemVer if possible
61
- (does not imply --loose)
62
-
63
- --rtl
64
- Coerce version strings right to left
65
-
66
- --ltr
67
- Coerce version strings left to right (default)
68
-
69
- Program exits successfully if any valid version satisfies
70
- all supplied ranges, and prints all satisfying versions.
71
-
72
- If no satisfying versions are found, then exits failure.
73
-
74
- Versions are printed in ascending order, so supplying
75
- multiple versions to the utility will just sort them.
76
- ```
77
-
78
- ## Versions
79
-
80
- A "version" is described by the `v2.0.0` specification found at
81
- <https://semver.org/>.
82
-
83
- A leading `"="` or `"v"` character is stripped off and ignored.
84
-
85
- ## Ranges
86
-
87
- A `version range` is a set of `comparators` which specify versions
88
- that satisfy the range.
89
-
90
- A `comparator` is composed of an `operator` and a `version`. The set
91
- of primitive `operators` is:
92
-
93
- * `<` Less than
94
- * `<=` Less than or equal to
95
- * `>` Greater than
96
- * `>=` Greater than or equal to
97
- * `=` Equal. If no operator is specified, then equality is assumed,
98
- so this operator is optional, but MAY be included.
99
-
100
- For example, the comparator `>=1.2.7` would match the versions
101
- `1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6`
102
- or `1.1.0`.
103
-
104
- Comparators can be joined by whitespace to form a `comparator set`,
105
- which is satisfied by the **intersection** of all of the comparators
106
- it includes.
107
-
108
- A range is composed of one or more comparator sets, joined by `||`. A
109
- version matches a range if and only if every comparator in at least
110
- one of the `||`-separated comparator sets is satisfied by the version.
111
-
112
- For example, the range `>=1.2.7 <1.3.0` would match the versions
113
- `1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`,
114
- or `1.1.0`.
115
-
116
- The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`,
117
- `1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`.
118
-
119
- ### Prerelease Tags
120
-
121
- If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then
122
- it will only be allowed to satisfy comparator sets if at least one
123
- comparator with the same `[major, minor, patch]` tuple also has a
124
- prerelease tag.
125
-
126
- For example, the range `>1.2.3-alpha.3` would be allowed to match the
127
- version `1.2.3-alpha.7`, but it would *not* be satisfied by
128
- `3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater
129
- than" `1.2.3-alpha.3` according to the SemVer sort rules. The version
130
- range only accepts prerelease tags on the `1.2.3` version. The
131
- version `3.4.5` *would* satisfy the range, because it does not have a
132
- prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`.
133
-
134
- The purpose for this behavior is twofold. First, prerelease versions
135
- frequently are updated very quickly, and contain many breaking changes
136
- that are (by the author's design) not yet fit for public consumption.
137
- Therefore, by default, they are excluded from range matching
138
- semantics.
139
-
140
- Second, a user who has opted into using a prerelease version has
141
- clearly indicated the intent to use *that specific* set of
142
- alpha/beta/rc versions. By including a prerelease tag in the range,
143
- the user is indicating that they are aware of the risk. However, it
144
- is still not appropriate to assume that they have opted into taking a
145
- similar risk on the *next* set of prerelease versions.
146
-
147
- Note that this behavior can be suppressed (treating all prerelease
148
- versions as if they were normal versions, for the purpose of range
149
- matching) by setting the `includePrerelease` flag on the options
150
- object to any
151
- [functions](https://github.com/npm/node-semver#functions) that do
152
- range matching.
153
-
154
- #### Prerelease Identifiers
155
-
156
- The method `.inc` takes an additional `identifier` string argument that
157
- will append the value of the string as a prerelease identifier:
158
-
159
- ```javascript
160
- semver.inc('1.2.3', 'prerelease', 'beta')
161
- // '1.2.4-beta.0'
162
- ```
163
-
164
- command-line example:
165
-
166
- ```bash
167
- $ semver 1.2.3 -i prerelease --preid beta
168
- 1.2.4-beta.0
169
- ```
170
-
171
- Which then can be used to increment further:
172
-
173
- ```bash
174
- $ semver 1.2.4-beta.0 -i prerelease
175
- 1.2.4-beta.1
176
- ```
177
-
178
- ### Advanced Range Syntax
179
-
180
- Advanced range syntax desugars to primitive comparators in
181
- deterministic ways.
182
-
183
- Advanced ranges may be combined in the same way as primitive
184
- comparators using white space or `||`.
185
-
186
- #### Hyphen Ranges `X.Y.Z - A.B.C`
187
-
188
- Specifies an inclusive set.
189
-
190
- * `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4`
191
-
192
- If a partial version is provided as the first version in the inclusive
193
- range, then the missing pieces are replaced with zeroes.
194
-
195
- * `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4`
196
-
197
- If a partial version is provided as the second version in the
198
- inclusive range, then all versions that start with the supplied parts
199
- of the tuple are accepted, but nothing that would be greater than the
200
- provided tuple parts.
201
-
202
- * `1.2.3 - 2.3` := `>=1.2.3 <2.4.0`
203
- * `1.2.3 - 2` := `>=1.2.3 <3.0.0`
204
-
205
- #### X-Ranges `1.2.x` `1.X` `1.2.*` `*`
206
-
207
- Any of `X`, `x`, or `*` may be used to "stand in" for one of the
208
- numeric values in the `[major, minor, patch]` tuple.
209
-
210
- * `*` := `>=0.0.0` (Any version satisfies)
211
- * `1.x` := `>=1.0.0 <2.0.0` (Matching major version)
212
- * `1.2.x` := `>=1.2.0 <1.3.0` (Matching major and minor versions)
213
-
214
- A partial version range is treated as an X-Range, so the special
215
- character is in fact optional.
216
-
217
- * `""` (empty string) := `*` := `>=0.0.0`
218
- * `1` := `1.x.x` := `>=1.0.0 <2.0.0`
219
- * `1.2` := `1.2.x` := `>=1.2.0 <1.3.0`
220
-
221
- #### Tilde Ranges `~1.2.3` `~1.2` `~1`
222
-
223
- Allows patch-level changes if a minor version is specified on the
224
- comparator. Allows minor-level changes if not.
225
-
226
- * `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0`
227
- * `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0` (Same as `1.2.x`)
228
- * `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0` (Same as `1.x`)
229
- * `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0`
230
- * `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0` (Same as `0.2.x`)
231
- * `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0` (Same as `0.x`)
232
- * `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0` Note that prereleases in
233
- the `1.2.3` version will be allowed, if they are greater than or
234
- equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
235
- `1.2.4-beta.2` would not, because it is a prerelease of a
236
- different `[major, minor, patch]` tuple.
237
-
238
- #### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4`
239
-
240
- Allows changes that do not modify the left-most non-zero element in the
241
- `[major, minor, patch]` tuple. In other words, this allows patch and
242
- minor updates for versions `1.0.0` and above, patch updates for
243
- versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`.
244
-
245
- Many authors treat a `0.x` version as if the `x` were the major
246
- "breaking-change" indicator.
247
-
248
- Caret ranges are ideal when an author may make breaking changes
249
- between `0.2.4` and `0.3.0` releases, which is a common practice.
250
- However, it presumes that there will *not* be breaking changes between
251
- `0.2.4` and `0.2.5`. It allows for changes that are presumed to be
252
- additive (but non-breaking), according to commonly observed practices.
253
-
254
- * `^1.2.3` := `>=1.2.3 <2.0.0`
255
- * `^0.2.3` := `>=0.2.3 <0.3.0`
256
- * `^0.0.3` := `>=0.0.3 <0.0.4`
257
- * `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0` Note that prereleases in
258
- the `1.2.3` version will be allowed, if they are greater than or
259
- equal to `beta.2`. So, `1.2.3-beta.4` would be allowed, but
260
- `1.2.4-beta.2` would not, because it is a prerelease of a
261
- different `[major, minor, patch]` tuple.
262
- * `^0.0.3-beta` := `>=0.0.3-beta <0.0.4` Note that prereleases in the
263
- `0.0.3` version *only* will be allowed, if they are greater than or
264
- equal to `beta`. So, `0.0.3-pr.2` would be allowed.
265
-
266
- When parsing caret ranges, a missing `patch` value desugars to the
267
- number `0`, but will allow flexibility within that value, even if the
268
- major and minor versions are both `0`.
269
-
270
- * `^1.2.x` := `>=1.2.0 <2.0.0`
271
- * `^0.0.x` := `>=0.0.0 <0.1.0`
272
- * `^0.0` := `>=0.0.0 <0.1.0`
273
-
274
- A missing `minor` and `patch` values will desugar to zero, but also
275
- allow flexibility within those values, even if the major version is
276
- zero.
277
-
278
- * `^1.x` := `>=1.0.0 <2.0.0`
279
- * `^0.x` := `>=0.0.0 <1.0.0`
280
-
281
- ### Range Grammar
282
-
283
- Putting all this together, here is a Backus-Naur grammar for ranges,
284
- for the benefit of parser authors:
285
-
286
- ```bnf
287
- range-set ::= range ( logical-or range ) *
288
- logical-or ::= ( ' ' ) * '||' ( ' ' ) *
289
- range ::= hyphen | simple ( ' ' simple ) * | ''
290
- hyphen ::= partial ' - ' partial
291
- simple ::= primitive | partial | tilde | caret
292
- primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
293
- partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
294
- xr ::= 'x' | 'X' | '*' | nr
295
- nr ::= '0' | ['1'-'9'] ( ['0'-'9'] ) *
296
- tilde ::= '~' partial
297
- caret ::= '^' partial
298
- qualifier ::= ( '-' pre )? ( '+' build )?
299
- pre ::= parts
300
- build ::= parts
301
- parts ::= part ( '.' part ) *
302
- part ::= nr | [-0-9A-Za-z]+
303
- ```
304
-
305
- ## Functions
306
-
307
- All methods and classes take a final `options` object argument. All
308
- options in this object are `false` by default. The options supported
309
- are:
310
-
311
- - `loose` Be more forgiving about not-quite-valid semver strings.
312
- (Any resulting output will always be 100% strict compliant, of
313
- course.) For backwards compatibility reasons, if the `options`
314
- argument is a boolean value instead of an object, it is interpreted
315
- to be the `loose` param.
316
- - `includePrerelease` Set to suppress the [default
317
- behavior](https://github.com/npm/node-semver#prerelease-tags) of
318
- excluding prerelease tagged versions from ranges unless they are
319
- explicitly opted into.
320
-
321
- Strict-mode Comparators and Ranges will be strict about the SemVer
322
- strings that they parse.
323
-
324
- * `valid(v)`: Return the parsed version, or null if it's not valid.
325
- * `inc(v, release)`: Return the version incremented by the release
326
- type (`major`, `premajor`, `minor`, `preminor`, `patch`,
327
- `prepatch`, or `prerelease`), or null if it's not valid
328
- * `premajor` in one call will bump the version up to the next major
329
- version and down to a prerelease of that major version.
330
- `preminor`, and `prepatch` work the same way.
331
- * If called from a non-prerelease version, the `prerelease` will work the
332
- same as `prepatch`. It increments the patch version, then makes a
333
- prerelease. If the input version is already a prerelease it simply
334
- increments it.
335
- * `prerelease(v)`: Returns an array of prerelease components, or null
336
- if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]`
337
- * `major(v)`: Return the major version number.
338
- * `minor(v)`: Return the minor version number.
339
- * `patch(v)`: Return the patch version number.
340
- * `intersects(r1, r2, loose)`: Return true if the two supplied ranges
341
- or comparators intersect.
342
- * `parse(v)`: Attempt to parse a string as a semantic version, returning either
343
- a `SemVer` object or `null`.
344
-
345
- ### Comparison
346
-
347
- * `gt(v1, v2)`: `v1 > v2`
348
- * `gte(v1, v2)`: `v1 >= v2`
349
- * `lt(v1, v2)`: `v1 < v2`
350
- * `lte(v1, v2)`: `v1 <= v2`
351
- * `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent,
352
- even if they're not the exact same string. You already know how to
353
- compare strings.
354
- * `neq(v1, v2)`: `v1 != v2` The opposite of `eq`.
355
- * `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call
356
- the corresponding function above. `"==="` and `"!=="` do simple
357
- string comparison, but are included for completeness. Throws if an
358
- invalid comparison string is provided.
359
- * `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if
360
- `v2` is greater. Sorts in ascending order if passed to `Array.sort()`.
361
- * `rcompare(v1, v2)`: The reverse of compare. Sorts an array of versions
362
- in descending order when passed to `Array.sort()`.
363
- * `compareBuild(v1, v2)`: The same as `compare` but considers `build` when two versions
364
- are equal. Sorts in ascending order if passed to `Array.sort()`.
365
- `v2` is greater. Sorts in ascending order if passed to `Array.sort()`.
366
- * `diff(v1, v2)`: Returns difference between two versions by the release type
367
- (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`),
368
- or null if the versions are the same.
369
-
370
- ### Comparators
371
-
372
- * `intersects(comparator)`: Return true if the comparators intersect
373
-
374
- ### Ranges
375
-
376
- * `validRange(range)`: Return the valid range or null if it's not valid
377
- * `satisfies(version, range)`: Return true if the version satisfies the
378
- range.
379
- * `maxSatisfying(versions, range)`: Return the highest version in the list
380
- that satisfies the range, or `null` if none of them do.
381
- * `minSatisfying(versions, range)`: Return the lowest version in the list
382
- that satisfies the range, or `null` if none of them do.
383
- * `minVersion(range)`: Return the lowest version that can possibly match
384
- the given range.
385
- * `gtr(version, range)`: Return `true` if version is greater than all the
386
- versions possible in the range.
387
- * `ltr(version, range)`: Return `true` if version is less than all the
388
- versions possible in the range.
389
- * `outside(version, range, hilo)`: Return true if the version is outside
390
- the bounds of the range in either the high or low direction. The
391
- `hilo` argument must be either the string `'>'` or `'<'`. (This is
392
- the function called by `gtr` and `ltr`.)
393
- * `intersects(range)`: Return true if any of the ranges comparators intersect
394
-
395
- Note that, since ranges may be non-contiguous, a version might not be
396
- greater than a range, less than a range, *or* satisfy a range! For
397
- example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9`
398
- until `2.0.0`, so the version `1.2.10` would not be greater than the
399
- range (because `2.0.1` satisfies, which is higher), nor less than the
400
- range (since `1.2.8` satisfies, which is lower), and it also does not
401
- satisfy the range.
402
-
403
- If you want to know if a version satisfies or does not satisfy a
404
- range, use the `satisfies(version, range)` function.
405
-
406
- ### Coercion
407
-
408
- * `coerce(version, options)`: Coerces a string to semver if possible
409
-
410
- This aims to provide a very forgiving translation of a non-semver string to
411
- semver. It looks for the first digit in a string, and consumes all
412
- remaining characters which satisfy at least a partial semver (e.g., `1`,
413
- `1.2`, `1.2.3`) up to the max permitted length (256 characters). Longer
414
- versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`). All
415
- surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes
416
- `3.4.0`). Only text which lacks digits will fail coercion (`version one`
417
- is not valid). The maximum length for any semver component considered for
418
- coercion is 16 characters; longer components will be ignored
419
- (`10000000000000000.4.7.4` becomes `4.7.4`). The maximum value for any
420
- semver component is `Integer.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value
421
- components are invalid (`9999999999999999.4.7.4` is likely invalid).
422
-
423
- If the `options.rtl` flag is set, then `coerce` will return the right-most
424
- coercible tuple that does not share an ending index with a longer coercible
425
- tuple. For example, `1.2.3.4` will return `2.3.4` in rtl mode, not
426
- `4.0.0`. `1.2.3/4` will return `4.0.0`, because the `4` is not a part of
427
- any other overlapping SemVer tuple.
428
-
429
- ### Clean
430
-
431
- * `clean(version)`: Clean a string to be a valid semver if possible
432
-
433
- This will return a cleaned and trimmed semver version. If the provided version is not valid a null will be returned. This does not work for ranges.
434
-
435
- ex.
436
- * `s.clean(' = v 2.1.5foo')`: `null`
437
- * `s.clean(' = v 2.1.5foo', { loose: true })`: `'2.1.5-foo'`
438
- * `s.clean(' = v 2.1.5-foo')`: `null`
439
- * `s.clean(' = v 2.1.5-foo', { loose: true })`: `'2.1.5-foo'`
440
- * `s.clean('=v2.1.5')`: `'2.1.5'`
441
- * `s.clean(' =v2.1.5')`: `2.1.5`
442
- * `s.clean(' 2.1.5 ')`: `'2.1.5'`
443
- * `s.clean('~1.0.0')`: `null`
@@ -1,174 +0,0 @@
1
- #!/usr/bin/env node
2
- // Standalone semver comparison program.
3
- // Exits successfully and prints matching version(s) if
4
- // any supplied version is valid and passes all tests.
5
-
6
- var argv = process.argv.slice(2)
7
-
8
- var versions = []
9
-
10
- var range = []
11
-
12
- var inc = null
13
-
14
- var version = require('../package.json').version
15
-
16
- var loose = false
17
-
18
- var includePrerelease = false
19
-
20
- var coerce = false
21
-
22
- var rtl = false
23
-
24
- var identifier
25
-
26
- var semver = require('../semver')
27
-
28
- var reverse = false
29
-
30
- var options = {}
31
-
32
- main()
33
-
34
- function main () {
35
- if (!argv.length) return help()
36
- while (argv.length) {
37
- var a = argv.shift()
38
- var indexOfEqualSign = a.indexOf('=')
39
- if (indexOfEqualSign !== -1) {
40
- a = a.slice(0, indexOfEqualSign)
41
- argv.unshift(a.slice(indexOfEqualSign + 1))
42
- }
43
- switch (a) {
44
- case '-rv': case '-rev': case '--rev': case '--reverse':
45
- reverse = true
46
- break
47
- case '-l': case '--loose':
48
- loose = true
49
- break
50
- case '-p': case '--include-prerelease':
51
- includePrerelease = true
52
- break
53
- case '-v': case '--version':
54
- versions.push(argv.shift())
55
- break
56
- case '-i': case '--inc': case '--increment':
57
- switch (argv[0]) {
58
- case 'major': case 'minor': case 'patch': case 'prerelease':
59
- case 'premajor': case 'preminor': case 'prepatch':
60
- inc = argv.shift()
61
- break
62
- default:
63
- inc = 'patch'
64
- break
65
- }
66
- break
67
- case '--preid':
68
- identifier = argv.shift()
69
- break
70
- case '-r': case '--range':
71
- range.push(argv.shift())
72
- break
73
- case '-c': case '--coerce':
74
- coerce = true
75
- break
76
- case '--rtl':
77
- rtl = true
78
- break
79
- case '--ltr':
80
- rtl = false
81
- break
82
- case '-h': case '--help': case '-?':
83
- return help()
84
- default:
85
- versions.push(a)
86
- break
87
- }
88
- }
89
-
90
- var options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl }
91
-
92
- versions = versions.map(function (v) {
93
- return coerce ? (semver.coerce(v, options) || { version: v }).version : v
94
- }).filter(function (v) {
95
- return semver.valid(v)
96
- })
97
- if (!versions.length) return fail()
98
- if (inc && (versions.length !== 1 || range.length)) { return failInc() }
99
-
100
- for (var i = 0, l = range.length; i < l; i++) {
101
- versions = versions.filter(function (v) {
102
- return semver.satisfies(v, range[i], options)
103
- })
104
- if (!versions.length) return fail()
105
- }
106
- return success(versions)
107
- }
108
-
109
- function failInc () {
110
- console.error('--inc can only be used on a single version with no range')
111
- fail()
112
- }
113
-
114
- function fail () { process.exit(1) }
115
-
116
- function success () {
117
- var compare = reverse ? 'rcompare' : 'compare'
118
- versions.sort(function (a, b) {
119
- return semver[compare](a, b, options)
120
- }).map(function (v) {
121
- return semver.clean(v, options)
122
- }).map(function (v) {
123
- return inc ? semver.inc(v, inc, options, identifier) : v
124
- }).forEach(function (v, i, _) { console.log(v) })
125
- }
126
-
127
- function help () {
128
- console.log(['SemVer ' + version,
129
- '',
130
- 'A JavaScript implementation of the https://semver.org/ specification',
131
- 'Copyright Isaac Z. Schlueter',
132
- '',
133
- 'Usage: semver [options] <version> [<version> [...]]',
134
- 'Prints valid versions sorted by SemVer precedence',
135
- '',
136
- 'Options:',
137
- '-r --range <range>',
138
- ' Print versions that match the specified range.',
139
- '',
140
- '-i --increment [<level>]',
141
- ' Increment a version by the specified level. Level can',
142
- ' be one of: major, minor, patch, premajor, preminor,',
143
- " prepatch, or prerelease. Default level is 'patch'.",
144
- ' Only one version may be specified.',
145
- '',
146
- '--preid <identifier>',
147
- ' Identifier to be used to prefix premajor, preminor,',
148
- ' prepatch or prerelease version increments.',
149
- '',
150
- '-l --loose',
151
- ' Interpret versions and ranges loosely',
152
- '',
153
- '-p --include-prerelease',
154
- ' Always include prerelease versions in range matching',
155
- '',
156
- '-c --coerce',
157
- ' Coerce a string into SemVer if possible',
158
- ' (does not imply --loose)',
159
- '',
160
- '--rtl',
161
- ' Coerce version strings right to left',
162
- '',
163
- '--ltr',
164
- ' Coerce version strings left to right (default)',
165
- '',
166
- 'Program exits successfully if any valid version satisfies',
167
- 'all supplied ranges, and prints all satisfying versions.',
168
- '',
169
- 'If no satisfying versions are found, then exits failure.',
170
- '',
171
- 'Versions are printed in ascending order, so supplying',
172
- 'multiple versions to the utility will just sort them.'
173
- ].join('\n'))
174
- }
@@ -1,38 +0,0 @@
1
- {
2
- "name": "semver",
3
- "version": "6.3.1",
4
- "description": "The semantic version parser used by npm.",
5
- "main": "semver.js",
6
- "scripts": {
7
- "test": "tap test/ --100 --timeout=30",
8
- "lint": "echo linting disabled",
9
- "postlint": "template-oss-check",
10
- "template-oss-apply": "template-oss-apply --force",
11
- "lintfix": "npm run lint -- --fix",
12
- "snap": "tap test/ --100 --timeout=30",
13
- "posttest": "npm run lint"
14
- },
15
- "devDependencies": {
16
- "@npmcli/template-oss": "4.17.0",
17
- "tap": "^12.7.0"
18
- },
19
- "license": "ISC",
20
- "repository": {
21
- "type": "git",
22
- "url": "https://github.com/npm/node-semver.git"
23
- },
24
- "bin": {
25
- "semver": "./bin/semver.js"
26
- },
27
- "files": [
28
- "bin",
29
- "range.bnf",
30
- "semver.js"
31
- ],
32
- "author": "GitHub Inc.",
33
- "templateOSS": {
34
- "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
35
- "content": "./scripts/template-oss",
36
- "version": "4.17.0"
37
- }
38
- }
@@ -1,16 +0,0 @@
1
- range-set ::= range ( logical-or range ) *
2
- logical-or ::= ( ' ' ) * '||' ( ' ' ) *
3
- range ::= hyphen | simple ( ' ' simple ) * | ''
4
- hyphen ::= partial ' - ' partial
5
- simple ::= primitive | partial | tilde | caret
6
- primitive ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial
7
- partial ::= xr ( '.' xr ( '.' xr qualifier ? )? )?
8
- xr ::= 'x' | 'X' | '*' | nr
9
- nr ::= '0' | [1-9] ( [0-9] ) *
10
- tilde ::= '~' partial
11
- caret ::= '^' partial
12
- qualifier ::= ( '-' pre )? ( '+' build )?
13
- pre ::= parts
14
- build ::= parts
15
- parts ::= part ( '.' part ) *
16
- part ::= nr | [-0-9A-Za-z]+