UNPKG

4.64 kBTypeScriptView Raw
1// Type definitions for semver 7.3
2// Project: https://github.com/npm/node-semver
3// Definitions by: Bart van der Schoor <https://github.com/Bartvds>
4// BendingBender <https://github.com/BendingBender>
5// Lucian Buzzo <https://github.com/LucianBuzzo>
6// Klaus Meinhardt <https://github.com/ajafff>
7// ExE Boss <https://github.com/ExE-Boss>
8// Piotr Błażejewicz <https://github.com/peterblazejewicz>
9// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
10
11// re-exports for index file
12
13// functions for working with versions
14import semverParse = require('./functions/parse');
15import semverValid = require('./functions/valid');
16import semverClean = require('./functions/clean');
17import semverInc = require('./functions/inc');
18import semverDiff = require('./functions/diff');
19import semverMajor = require('./functions/major');
20import semverMinor = require('./functions/minor');
21import semverPatch = require('./functions/patch');
22import semverPrerelease = require('./functions/prerelease');
23import semverCompare = require('./functions/compare');
24import semverRcompare = require('./functions/rcompare');
25import semverCompareLoose = require('./functions/compare-loose');
26import semverCompareBuild = require('./functions/compare-build');
27import semverSort = require('./functions/sort');
28import semverRsort = require('./functions/rsort');
29
30export {
31 semverParse as parse,
32 semverValid as valid,
33 semverClean as clean,
34 semverInc as inc,
35 semverDiff as diff,
36 semverMajor as major,
37 semverMinor as minor,
38 semverPatch as patch,
39 semverPrerelease as prerelease,
40 semverCompare as compare,
41 semverRcompare as rcompare,
42 semverCompareLoose as compareLoose,
43 semverCompareBuild as compareBuild,
44 semverSort as sort,
45 semverRsort as rsort,
46};
47
48// low-level comparators between versions
49import semverGt = require('./functions/gt');
50import semverLt = require('./functions/lt');
51import semverEq = require('./functions/eq');
52import semverNeq = require('./functions/neq');
53import semverGte = require('./functions/gte');
54import semverLte = require('./functions/lte');
55import semverCmp = require('./functions/cmp');
56import semverCoerce = require('./functions/coerce');
57
58export {
59 semverGt as gt,
60 semverLt as lt,
61 semverEq as eq,
62 semverNeq as neq,
63 semverGte as gte,
64 semverLte as lte,
65 semverCmp as cmp,
66 semverCoerce as coerce,
67};
68
69// working with ranges
70import semverSatisfies = require('./functions/satisfies');
71import semverMaxSatisfying = require('./ranges/max-satisfying');
72import semverMinSatisfying = require('./ranges/min-satisfying');
73import semverToComparators = require('./ranges/to-comparators');
74import semverMinVersion = require('./ranges/min-version');
75import semverValidRange = require('./ranges/valid');
76import semverOutside = require('./ranges/outside');
77import semverGtr = require('./ranges/gtr');
78import semverLtr = require('./ranges/ltr');
79import semverIntersects = require('./ranges/intersects');
80import simplify = require('./ranges/simplify');
81import rangeSubset = require('./ranges/subset');
82
83export {
84 semverSatisfies as satisfies,
85 semverMaxSatisfying as maxSatisfying,
86 semverMinSatisfying as minSatisfying,
87 semverToComparators as toComparators,
88 semverMinVersion as minVersion,
89 semverValidRange as validRange,
90 semverOutside as outside,
91 semverGtr as gtr,
92 semverLtr as ltr,
93 semverIntersects as intersects,
94 simplify as simplifyRange,
95 rangeSubset as subset,
96};
97
98// classes
99import SemVer = require('./classes/semver');
100import Range = require('./classes/range');
101import Comparator = require('./classes/comparator');
102
103export { SemVer, Range, Comparator };
104
105// internals
106import identifiers = require('./internals/identifiers');
107export import compareIdentifiers = identifiers.compareIdentifiers;
108export import rcompareIdentifiers = identifiers.rcompareIdentifiers;
109
110export const SEMVER_SPEC_VERSION: '2.0.0';
111
112export type ReleaseType = 'major' | 'premajor' | 'minor' | 'preminor' | 'patch' | 'prepatch' | 'prerelease';
113
114export interface Options {
115 loose?: boolean | undefined;
116 includePrerelease?: boolean | undefined;
117}
118export interface CoerceOptions extends Options {
119 /**
120 * Used by `coerce()` to coerce from right to left.
121 *
122 * @default false
123 *
124 * @example
125 * coerce('1.2.3.4', { rtl: true });
126 * // => SemVer { version: '2.3.4', ... }
127 *
128 * @since 6.2.0
129 */
130 rtl?: boolean | undefined;
131}
132
133export type Operator = '===' | '!==' | '' | '=' | '==' | '!=' | '>' | '>=' | '<' | '<=';