vers 1.0.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.
data/sig/vers.rbs ADDED
@@ -0,0 +1,4 @@
1
+ module Vers
2
+ VERSION: String
3
+ # See the writing guide of rbs: https://github.com/ruby/rbs#guides
4
+ end
@@ -0,0 +1,335 @@
1
+ [
2
+ {
3
+ "description": "simple npm caret range",
4
+ "input": "^1.2.3",
5
+ "scheme": "npm",
6
+ "canonical_vers": "vers:npm/>=1.2.3|<2.0.0",
7
+ "contains": ["1.2.3", "1.5.0", "1.9.9"],
8
+ "excludes": ["1.2.2", "2.0.0", "0.9.0"],
9
+ "is_invalid": false
10
+ },
11
+ {
12
+ "description": "npm caret range with zero major",
13
+ "input": "^0.2.3",
14
+ "scheme": "npm",
15
+ "canonical_vers": "vers:npm/>=0.2.3|<0.3.0",
16
+ "contains": ["0.2.3", "0.2.9"],
17
+ "excludes": ["0.2.2", "0.3.0", "1.0.0"],
18
+ "is_invalid": false
19
+ },
20
+ {
21
+ "description": "npm caret range with zero major and minor",
22
+ "input": "^0.0.3",
23
+ "scheme": "npm",
24
+ "canonical_vers": "vers:npm/>=0.0.3|<0.0.4",
25
+ "contains": ["0.0.3"],
26
+ "excludes": ["0.0.2", "0.0.4", "0.1.0"],
27
+ "is_invalid": false
28
+ },
29
+ {
30
+ "description": "simple npm tilde range",
31
+ "input": "~1.2.3",
32
+ "scheme": "npm",
33
+ "canonical_vers": "vers:npm/>=1.2.3|<1.3.0",
34
+ "contains": ["1.2.3", "1.2.9"],
35
+ "excludes": ["1.2.2", "1.3.0", "2.0.0"],
36
+ "is_invalid": false
37
+ },
38
+ {
39
+ "description": "npm tilde range with major only",
40
+ "input": "~1",
41
+ "scheme": "npm",
42
+ "canonical_vers": "vers:npm/>=1.0.0|<2.0.0",
43
+ "contains": ["1.0.0", "1.9.9"],
44
+ "excludes": ["0.9.9", "2.0.0"],
45
+ "is_invalid": false
46
+ },
47
+ {
48
+ "description": "npm hyphen range",
49
+ "input": "1.2.3 - 2.3.4",
50
+ "scheme": "npm",
51
+ "canonical_vers": "vers:npm/>=1.2.3|<=2.3.4",
52
+ "contains": ["1.2.3", "2.0.0", "2.3.4"],
53
+ "excludes": ["1.2.2", "2.3.5"],
54
+ "is_invalid": false
55
+ },
56
+ {
57
+ "description": "npm OR logic with ||",
58
+ "input": "1.2.x || 2.x",
59
+ "scheme": "npm",
60
+ "canonical_vers": "vers:npm/>=1.2.0|<1.3.0,>=2.0.0|<3.0.0",
61
+ "contains": ["1.2.3", "2.1.0"],
62
+ "excludes": ["1.1.0", "1.3.0", "3.0.0"],
63
+ "is_invalid": false
64
+ },
65
+ {
66
+ "description": "npm X-range major",
67
+ "input": "1.x",
68
+ "scheme": "npm",
69
+ "canonical_vers": "vers:npm/>=1.0.0|<2.0.0",
70
+ "contains": ["1.0.0", "1.9.9"],
71
+ "excludes": ["0.9.9", "2.0.0"],
72
+ "is_invalid": false
73
+ },
74
+ {
75
+ "description": "npm X-range minor",
76
+ "input": "1.2.x",
77
+ "scheme": "npm",
78
+ "canonical_vers": "vers:npm/>=1.2.0|<1.3.0",
79
+ "contains": ["1.2.0", "1.2.99"],
80
+ "excludes": ["1.1.9", "1.3.0"],
81
+ "is_invalid": false
82
+ },
83
+ {
84
+ "description": "npm wildcard",
85
+ "input": "*",
86
+ "scheme": "npm",
87
+ "canonical_vers": "*",
88
+ "contains": ["0.0.1", "1.2.3", "99.99.99"],
89
+ "excludes": [],
90
+ "is_invalid": false
91
+ },
92
+ {
93
+ "description": "npm space-separated AND constraints",
94
+ "input": ">=1.2.3 <2.0.0",
95
+ "scheme": "npm",
96
+ "canonical_vers": "vers:npm/>=1.2.3|<2.0.0",
97
+ "contains": ["1.2.3", "1.9.9"],
98
+ "excludes": ["1.2.2", "2.0.0"],
99
+ "is_invalid": false
100
+ },
101
+ {
102
+ "description": "gem pessimistic operator patch level",
103
+ "input": "~> 1.2.3",
104
+ "scheme": "gem",
105
+ "canonical_vers": "vers:gem/>=1.2.3|<1.3.0",
106
+ "contains": ["1.2.3", "1.2.9"],
107
+ "excludes": ["1.2.2", "1.3.0"],
108
+ "is_invalid": false
109
+ },
110
+ {
111
+ "description": "gem pessimistic operator minor level",
112
+ "input": "~> 1.2",
113
+ "scheme": "gem",
114
+ "canonical_vers": "vers:gem/>=1.2.0|<2.0.0",
115
+ "contains": ["1.2.0", "1.9.9"],
116
+ "excludes": ["1.1.9", "2.0.0"],
117
+ "is_invalid": false
118
+ },
119
+ {
120
+ "description": "gem comma-separated constraints",
121
+ "input": ">= 1.0, < 2.0",
122
+ "scheme": "gem",
123
+ "canonical_vers": "vers:gem/>=1.0|<2.0",
124
+ "contains": ["1.0", "1.9"],
125
+ "excludes": ["0.9", "2.0"],
126
+ "is_invalid": false
127
+ },
128
+ {
129
+ "description": "pypi comma-separated constraints",
130
+ "input": ">=1.0,<2.0",
131
+ "scheme": "pypi",
132
+ "canonical_vers": "vers:pypi/>=1.0|<2.0",
133
+ "contains": ["1.0", "1.5"],
134
+ "excludes": ["0.9", "2.0"],
135
+ "is_invalid": false
136
+ },
137
+ {
138
+ "description": "pypi range with multiple constraints",
139
+ "input": ">=1.0,<2.0",
140
+ "scheme": "pypi",
141
+ "canonical_vers": "vers:pypi/>=1.0|<2.0",
142
+ "contains": ["1.0", "1.5"],
143
+ "excludes": ["0.9", "2.0"],
144
+ "is_invalid": false
145
+ },
146
+ {
147
+ "description": "maven inclusive range",
148
+ "input": "[1.0,2.0]",
149
+ "scheme": "maven",
150
+ "canonical_vers": "vers:maven/>=1.0|<=2.0",
151
+ "contains": ["1.0", "1.5", "2.0"],
152
+ "excludes": ["0.9", "2.1"],
153
+ "is_invalid": false
154
+ },
155
+ {
156
+ "description": "maven exclusive range",
157
+ "input": "(1.0,2.0)",
158
+ "scheme": "maven",
159
+ "canonical_vers": "vers:maven/>1.0|<2.0",
160
+ "contains": ["1.5"],
161
+ "excludes": ["1.0", "2.0", "0.9", "2.1"],
162
+ "is_invalid": false
163
+ },
164
+ {
165
+ "description": "maven mixed inclusivity left inclusive",
166
+ "input": "[1.0,2.0)",
167
+ "scheme": "maven",
168
+ "canonical_vers": "vers:maven/>=1.0|<2.0",
169
+ "contains": ["1.0", "1.9"],
170
+ "excludes": ["0.9", "2.0"],
171
+ "is_invalid": false
172
+ },
173
+ {
174
+ "description": "maven mixed inclusivity right inclusive",
175
+ "input": "(1.0,2.0]",
176
+ "scheme": "maven",
177
+ "canonical_vers": "vers:maven/>1.0|<=2.0",
178
+ "contains": ["1.5", "2.0"],
179
+ "excludes": ["1.0", "2.1"],
180
+ "is_invalid": false
181
+ },
182
+ {
183
+ "description": "maven exact version",
184
+ "input": "[1.0]",
185
+ "scheme": "maven",
186
+ "canonical_vers": "vers:maven/=1.0",
187
+ "contains": ["1.0"],
188
+ "excludes": ["0.9", "1.1"],
189
+ "is_invalid": false
190
+ },
191
+ {
192
+ "description": "maven open range from version",
193
+ "input": "[1.0,)",
194
+ "scheme": "maven",
195
+ "canonical_vers": "vers:maven/>=1.0",
196
+ "contains": ["1.0", "2.0", "99.0"],
197
+ "excludes": ["0.9"],
198
+ "is_invalid": false
199
+ },
200
+ {
201
+ "description": "maven open range to version",
202
+ "input": "(,2.0]",
203
+ "scheme": "maven",
204
+ "canonical_vers": "vers:maven/<=2.0",
205
+ "contains": ["0.5", "2.0"],
206
+ "excludes": ["2.1"],
207
+ "is_invalid": false
208
+ },
209
+ {
210
+ "description": "maven simple version as minimum",
211
+ "input": "1.0",
212
+ "scheme": "maven",
213
+ "canonical_vers": "vers:maven/>=1.0",
214
+ "contains": ["1.0", "2.0"],
215
+ "excludes": ["0.9"],
216
+ "is_invalid": false
217
+ },
218
+ {
219
+ "description": "maven complex union range",
220
+ "input": "[2.0,2.3.1] , [2.4.0,2.12.2) , [2.13.0,2.15.0)",
221
+ "scheme": "maven",
222
+ "canonical_vers": "vers:maven/>=2.0|<=2.3.1,>=2.4.0|<2.12.2,>=2.13.0|<2.15.0",
223
+ "contains": ["2.0", "2.3.1", "2.4.0", "2.12.1", "2.13.0", "2.14.9"],
224
+ "excludes": ["1.9", "2.3.5", "2.12.2", "2.12.5", "2.15.0", "3.0"],
225
+ "is_invalid": false
226
+ },
227
+ {
228
+ "description": "nuget inclusive range",
229
+ "input": "[1.0,2.0]",
230
+ "scheme": "nuget",
231
+ "canonical_vers": "vers:nuget/>=1.0|<=2.0",
232
+ "contains": ["1.0", "1.5", "2.0"],
233
+ "excludes": ["0.9", "2.1"],
234
+ "is_invalid": false
235
+ },
236
+ {
237
+ "description": "nuget simple version as minimum",
238
+ "input": "1.0",
239
+ "scheme": "nuget",
240
+ "canonical_vers": "vers:nuget/>=1.0",
241
+ "contains": ["1.0", "2.0"],
242
+ "excludes": ["0.9"],
243
+ "is_invalid": false
244
+ },
245
+ {
246
+ "description": "debian standard operators",
247
+ "input": ">> 1.0.0",
248
+ "scheme": "deb",
249
+ "canonical_vers": "vers:deb/>1.0.0",
250
+ "contains": ["1.0.1"],
251
+ "excludes": ["1.0.0"],
252
+ "is_invalid": false
253
+ },
254
+ {
255
+ "description": "rpm standard operators",
256
+ "input": ">=1.0.0",
257
+ "scheme": "rpm",
258
+ "canonical_vers": "vers:rpm/>=1.0.0",
259
+ "contains": ["1.0.0", "2.0.0"],
260
+ "excludes": ["0.9.0"],
261
+ "is_invalid": false
262
+ },
263
+ {
264
+ "description": "semver exact version",
265
+ "input": "=1.3.4",
266
+ "scheme": "semver",
267
+ "canonical_vers": "vers:semver/=1.3.4",
268
+ "contains": ["1.3.4"],
269
+ "excludes": ["1.3.3", "1.3.5"],
270
+ "is_invalid": false
271
+ },
272
+ {
273
+ "description": "npm prerelease in caret range",
274
+ "input": "^1.2.3-beta.4",
275
+ "scheme": "npm",
276
+ "canonical_vers": "vers:npm/>=1.2.3-beta.4|<2.0.0",
277
+ "contains": ["1.2.3", "1.9.0"],
278
+ "excludes": ["1.2.2", "2.0.0"],
279
+ "is_invalid": false
280
+ },
281
+ {
282
+ "description": "npm prerelease in hyphen range",
283
+ "input": "1.2.3-pre - 2.4.3-pre",
284
+ "scheme": "npm",
285
+ "canonical_vers": "vers:npm/>=1.2.3-pre|<=2.4.3-pre",
286
+ "contains": ["1.2.3", "2.0.0", "2.4.3-pre"],
287
+ "excludes": ["1.2.2", "2.5.0"],
288
+ "is_invalid": false
289
+ },
290
+ {
291
+ "description": "invalid npm range - blerg",
292
+ "input": "blerg",
293
+ "scheme": "npm",
294
+ "canonical_vers": null,
295
+ "contains": [],
296
+ "excludes": [],
297
+ "is_invalid": true
298
+ },
299
+ {
300
+ "description": "invalid npm range - git url",
301
+ "input": "git+https://github.com/foo/bar",
302
+ "scheme": "npm",
303
+ "canonical_vers": null,
304
+ "contains": [],
305
+ "excludes": [],
306
+ "is_invalid": true
307
+ },
308
+ {
309
+ "description": "invalid maven range - mismatched brackets",
310
+ "input": "(1.0.0]",
311
+ "scheme": "maven",
312
+ "canonical_vers": null,
313
+ "contains": [],
314
+ "excludes": [],
315
+ "is_invalid": true
316
+ },
317
+ {
318
+ "description": "npm empty range",
319
+ "input": "",
320
+ "scheme": "npm",
321
+ "canonical_vers": "*",
322
+ "contains": ["1.0.0", "2.0.0"],
323
+ "excludes": [],
324
+ "is_invalid": false
325
+ },
326
+ {
327
+ "description": "debian version with double operators",
328
+ "input": ">> 1.0.0",
329
+ "scheme": "debian",
330
+ "canonical_vers": "vers:debian/>1.0.0",
331
+ "contains": ["1.0.1", "2.0.0"],
332
+ "excludes": ["1.0.0", "0.9.0"],
333
+ "is_invalid": false
334
+ }
335
+ ]
metadata ADDED
@@ -0,0 +1,61 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: vers
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Andrew Nesbitt
8
+ bindir: exe
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies: []
12
+ description: Vers provides tools for working with version ranges across different
13
+ package managers, using a mathematical interval model internally and supporting
14
+ the vers specification from the Package URL (PURL) project.
15
+ email:
16
+ - andrewnez@gmail.com
17
+ executables: []
18
+ extensions: []
19
+ extra_rdoc_files: []
20
+ files:
21
+ - CHANGELOG.md
22
+ - CODE_OF_CONDUCT.md
23
+ - CONTRIBUTING.md
24
+ - README.md
25
+ - Rakefile
26
+ - SECURITY.md
27
+ - VERSION-RANGE-SPEC.rst
28
+ - lib/vers.rb
29
+ - lib/vers/constraint.rb
30
+ - lib/vers/interval.rb
31
+ - lib/vers/parser.rb
32
+ - lib/vers/version.rb
33
+ - lib/vers/version_range.rb
34
+ - sig/vers.rbs
35
+ - test-suite-data.json
36
+ homepage: https://github.com/andrew/vers
37
+ licenses: []
38
+ metadata:
39
+ allowed_push_host: https://rubygems.org
40
+ homepage_uri: https://github.com/andrew/vers
41
+ source_code_uri: https://github.com/andrew/vers
42
+ changelog_uri: https://github.com/andrew/vers/blob/main/CHANGELOG.md
43
+ rdoc_options: []
44
+ require_paths:
45
+ - lib
46
+ required_ruby_version: !ruby/object:Gem::Requirement
47
+ requirements:
48
+ - - ">="
49
+ - !ruby/object:Gem::Version
50
+ version: 3.2.0
51
+ required_rubygems_version: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ requirements: []
57
+ rubygems_version: 3.6.9
58
+ specification_version: 4
59
+ summary: A Ruby gem for parsing, comparing and sorting versions according to the VERS
60
+ spec.
61
+ test_files: []