keep-a-changelog 2.5.3 → 2.6.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.
- package/CHANGELOG.md +22 -1
- package/README.md +15 -14
- package/esm/keep-a-changelog/bin.d.ts +2 -0
- package/esm/{bin.js → keep-a-changelog/bin.js} +85 -13
- package/esm/{mod.d.ts → keep-a-changelog/mod.d.ts} +1 -1
- package/esm/{mod.js → keep-a-changelog/mod.js} +1 -1
- package/esm/keep-a-changelog/test/changelog.azdo.md +24 -0
- package/esm/keep-a-changelog/test/changelog.sort.md +17 -0
- package/esm/std/cli/parse_args.d.ts +193 -0
- package/esm/std/cli/parse_args.js +357 -0
- package/esm/std/ini/_ini_map.d.ts +90 -0
- package/esm/std/ini/_ini_map.js +371 -0
- package/esm/std/ini/mod.d.ts +31 -0
- package/esm/std/ini/mod.js +33 -0
- package/esm/std/ini/parse.d.ts +77 -0
- package/esm/std/ini/parse.js +72 -0
- package/esm/std/ini/stringify.d.ts +83 -0
- package/esm/std/ini/stringify.js +66 -0
- package/esm/std/path/_common/assert_path.d.ts +1 -0
- package/esm/std/path/_common/assert_path.js +7 -0
- package/esm/std/path/_common/basename.d.ts +3 -0
- package/esm/std/path/_common/basename.js +40 -0
- package/esm/std/path/_common/common.d.ts +1 -0
- package/esm/std/path/_common/common.js +23 -0
- package/esm/{deps/deno.land/std@0.189.0/path/_constants.js → std/path/_common/constants.js} +1 -1
- package/esm/std/path/_common/dirname.d.ts +1 -0
- package/esm/std/path/_common/dirname.js +8 -0
- package/esm/std/path/_common/format.d.ts +3 -0
- package/esm/std/path/_common/format.js +19 -0
- package/esm/std/path/_common/from_file_url.d.ts +2 -0
- package/esm/std/path/_common/from_file_url.js +9 -0
- package/esm/std/path/_common/glob_to_reg_exp.d.ts +34 -0
- package/esm/std/path/_common/glob_to_reg_exp.js +234 -0
- package/esm/std/path/_common/normalize.d.ts +1 -0
- package/esm/std/path/_common/normalize.js +8 -0
- package/esm/std/path/_common/normalize_string.d.ts +1 -0
- package/esm/std/path/_common/normalize_string.js +77 -0
- package/esm/std/path/_common/relative.d.ts +1 -0
- package/esm/std/path/_common/relative.js +9 -0
- package/esm/std/path/_common/strip_trailing_separators.d.ts +1 -0
- package/esm/std/path/_common/strip_trailing_separators.js +19 -0
- package/esm/std/path/_common/to_file_url.d.ts +1 -0
- package/esm/std/path/_common/to_file_url.js +15 -0
- package/esm/std/path/_os.d.ts +1 -0
- package/esm/std/path/_os.js +9 -0
- package/esm/std/path/basename.d.ts +27 -0
- package/esm/std/path/basename.js +36 -0
- package/esm/std/path/common.d.ts +27 -0
- package/esm/std/path/common.js +33 -0
- package/esm/std/path/constants.d.ts +14 -0
- package/esm/std/path/constants.js +17 -0
- package/esm/std/path/dirname.d.ts +22 -0
- package/esm/std/path/dirname.js +29 -0
- package/esm/std/path/extname.d.ts +22 -0
- package/esm/std/path/extname.js +29 -0
- package/esm/std/path/format.d.ts +21 -0
- package/esm/std/path/format.js +27 -0
- package/esm/std/path/from_file_url.d.ts +22 -0
- package/esm/std/path/from_file_url.js +28 -0
- package/esm/std/path/glob_to_regexp.d.ts +76 -0
- package/esm/std/path/glob_to_regexp.js +83 -0
- package/esm/std/path/is_absolute.d.ts +21 -0
- package/esm/std/path/is_absolute.js +28 -0
- package/esm/std/path/is_glob.d.ts +16 -0
- package/esm/std/path/is_glob.js +42 -0
- package/esm/std/path/join.d.ts +22 -0
- package/esm/std/path/join.js +29 -0
- package/esm/std/path/join_globs.d.ts +27 -0
- package/esm/std/path/join_globs.js +34 -0
- package/esm/std/path/mod.d.ts +53 -0
- package/esm/std/path/mod.js +57 -0
- package/esm/std/path/normalize.d.ts +26 -0
- package/esm/std/path/normalize.js +33 -0
- package/esm/std/path/normalize_glob.d.ts +28 -0
- package/esm/std/path/normalize_glob.js +35 -0
- package/esm/std/path/parse.d.ts +34 -0
- package/esm/std/path/parse.js +39 -0
- package/esm/std/path/posix/_util.d.ts +1 -0
- package/esm/std/path/posix/_util.js +8 -0
- package/esm/std/path/posix/basename.d.ts +39 -0
- package/esm/std/path/posix/basename.js +49 -0
- package/esm/std/path/posix/constants.d.ts +12 -0
- package/esm/std/path/posix/constants.js +14 -0
- package/esm/std/path/posix/dirname.d.ts +31 -0
- package/esm/std/path/posix/dirname.js +62 -0
- package/esm/std/path/posix/extname.d.ts +36 -0
- package/esm/std/path/posix/extname.js +89 -0
- package/esm/std/path/posix/format.d.ts +23 -0
- package/esm/std/path/posix/format.js +28 -0
- package/esm/std/path/posix/from_file_url.d.ts +16 -0
- package/esm/std/path/posix/from_file_url.js +21 -0
- package/esm/std/path/posix/glob_to_regexp.d.ts +71 -0
- package/{script/deps/deno.land/std@0.189.0/path/glob.d.ts → esm/std/path/posix/glob_to_regexp.js} +28 -29
- package/esm/std/path/posix/is_absolute.d.ts +16 -0
- package/esm/std/path/posix/is_absolute.js +23 -0
- package/esm/std/path/posix/join.d.ts +32 -0
- package/esm/std/path/posix/join.js +42 -0
- package/esm/std/path/posix/join_globs.d.ts +19 -0
- package/esm/std/path/posix/join_globs.js +40 -0
- package/esm/std/path/posix/normalize.d.ts +39 -0
- package/esm/std/path/posix/normalize.js +57 -0
- package/esm/std/path/posix/normalize_glob.d.ts +19 -0
- package/esm/std/path/posix/normalize_glob.js +32 -0
- package/esm/std/path/posix/parse.d.ts +24 -0
- package/esm/std/path/posix/parse.js +115 -0
- package/esm/std/path/posix/relative.d.ts +19 -0
- package/esm/std/path/posix/relative.js +106 -0
- package/esm/std/path/posix/resolve.d.ts +16 -0
- package/esm/std/path/posix/resolve.js +59 -0
- package/esm/std/path/posix/to_file_url.d.ts +17 -0
- package/esm/std/path/posix/to_file_url.js +27 -0
- package/esm/std/path/posix/to_namespaced_path.d.ts +15 -0
- package/esm/std/path/posix/to_namespaced_path.js +20 -0
- package/esm/std/path/relative.d.ts +23 -0
- package/esm/std/path/relative.js +30 -0
- package/esm/std/path/resolve.d.ts +21 -0
- package/esm/std/path/resolve.js +30 -0
- package/esm/std/path/to_file_url.d.ts +22 -0
- package/esm/std/path/to_file_url.js +28 -0
- package/esm/std/path/to_namespaced_path.d.ts +20 -0
- package/esm/std/path/to_namespaced_path.js +29 -0
- package/esm/{deps/deno.land/std@0.189.0/path/_interface.d.ts → std/path/types.d.ts} +13 -2
- package/esm/std/path/types.js +3 -0
- package/esm/std/path/windows/_util.d.ts +3 -0
- package/esm/std/path/windows/_util.js +15 -0
- package/esm/std/path/windows/basename.d.ts +22 -0
- package/esm/std/path/windows/basename.js +44 -0
- package/esm/std/path/windows/constants.d.ts +12 -0
- package/esm/std/path/windows/constants.js +14 -0
- package/esm/std/path/windows/dirname.d.ts +19 -0
- package/esm/std/path/windows/dirname.js +112 -0
- package/esm/std/path/windows/extname.d.ts +19 -0
- package/esm/std/path/windows/extname.js +81 -0
- package/esm/std/path/windows/format.d.ts +23 -0
- package/esm/std/path/windows/format.js +28 -0
- package/esm/std/path/windows/from_file_url.d.ts +18 -0
- package/esm/std/path/windows/from_file_url.js +30 -0
- package/esm/std/path/windows/glob_to_regexp.d.ts +70 -0
- package/esm/{deps/deno.land/std@0.189.0/path/glob.d.ts → std/path/windows/glob_to_regexp.js} +28 -29
- package/esm/std/path/windows/is_absolute.d.ts +16 -0
- package/esm/std/path/windows/is_absolute.js +38 -0
- package/esm/std/path/windows/join.d.ts +19 -0
- package/esm/std/path/windows/join.js +74 -0
- package/esm/std/path/windows/join_globs.d.ts +20 -0
- package/esm/std/path/windows/join_globs.js +41 -0
- package/esm/std/path/windows/normalize.d.ts +21 -0
- package/esm/std/path/windows/normalize.js +134 -0
- package/esm/std/path/windows/normalize_glob.d.ts +19 -0
- package/esm/std/path/windows/normalize_glob.js +32 -0
- package/esm/std/path/windows/parse.d.ts +24 -0
- package/esm/std/path/windows/parse.js +176 -0
- package/esm/std/path/windows/relative.d.ts +22 -0
- package/esm/std/path/windows/relative.js +131 -0
- package/esm/std/path/windows/resolve.d.ts +16 -0
- package/esm/std/path/windows/resolve.js +154 -0
- package/esm/std/path/windows/to_file_url.d.ts +17 -0
- package/esm/std/path/windows/to_file_url.js +34 -0
- package/esm/std/path/windows/to_namespaced_path.d.ts +16 -0
- package/esm/std/path/windows/to_namespaced_path.js +49 -0
- package/esm/std/semver/_constants.d.ts +15 -0
- package/esm/std/semver/_constants.js +38 -0
- package/esm/std/semver/_shared.d.ts +43 -0
- package/esm/std/semver/_shared.js +162 -0
- package/esm/std/semver/_test_comparator_set.d.ts +2 -0
- package/esm/std/semver/_test_comparator_set.js +58 -0
- package/esm/std/semver/can_parse.d.ts +16 -0
- package/esm/std/semver/can_parse.js +27 -0
- package/esm/std/semver/compare.d.ts +27 -0
- package/esm/std/semver/compare.js +35 -0
- package/esm/std/semver/difference.d.ts +26 -0
- package/esm/std/semver/difference.js +41 -0
- package/esm/std/semver/equals.d.ts +23 -0
- package/esm/std/semver/equals.js +27 -0
- package/esm/std/semver/format.d.ts +21 -0
- package/esm/std/semver/format.js +32 -0
- package/esm/std/semver/format_range.d.ts +17 -0
- package/esm/std/semver/format_range.js +27 -0
- package/esm/std/semver/greater_or_equal.d.ts +24 -0
- package/esm/std/semver/greater_or_equal.js +26 -0
- package/esm/std/semver/greater_than.d.ts +24 -0
- package/esm/std/semver/greater_than.js +28 -0
- package/esm/std/semver/greater_than_range.d.ts +22 -0
- package/esm/std/semver/greater_than_range.js +58 -0
- package/{script/deps/deno.land/std@0.205.0 → esm/std}/semver/increment.d.ts +27 -5
- package/esm/std/semver/increment.js +176 -0
- package/esm/std/semver/is_range.d.ts +22 -0
- package/esm/std/semver/is_range.js +38 -0
- package/{script/deps/deno.land/std@0.205.0 → esm/std}/semver/is_semver.d.ts +16 -0
- package/esm/{deps/deno.land/std@0.205.0 → std}/semver/is_semver.js +25 -13
- package/esm/std/semver/less_or_equal.d.ts +24 -0
- package/esm/std/semver/less_or_equal.js +26 -0
- package/esm/std/semver/less_than.d.ts +24 -0
- package/esm/std/semver/less_than.js +26 -0
- package/esm/std/semver/less_than_range.d.ts +22 -0
- package/esm/std/semver/less_than_range.js +58 -0
- package/esm/std/semver/max_satisfying.d.ts +21 -0
- package/esm/std/semver/max_satisfying.js +30 -0
- package/esm/std/semver/min_satisfying.d.ts +21 -0
- package/esm/std/semver/min_satisfying.js +30 -0
- package/{script/deps/deno.land/std@0.205.0 → esm/std}/semver/mod.d.ts +72 -85
- package/esm/{deps/deno.land/std@0.205.0 → std}/semver/mod.js +73 -86
- package/esm/std/semver/not_equals.d.ts +23 -0
- package/esm/std/semver/not_equals.js +25 -0
- package/esm/std/semver/parse.d.ts +24 -0
- package/esm/std/semver/parse.js +44 -0
- package/esm/std/semver/parse_range.d.ts +26 -0
- package/esm/std/semver/parse_range.js +358 -0
- package/esm/std/semver/range_intersects.d.ts +24 -0
- package/esm/std/semver/range_intersects.js +89 -0
- package/esm/std/semver/satisfies.d.ts +23 -0
- package/esm/std/semver/satisfies.js +26 -0
- package/esm/std/semver/try_parse.d.ts +20 -0
- package/esm/std/semver/try_parse.js +27 -0
- package/esm/std/semver/try_parse_range.d.ts +22 -0
- package/esm/std/semver/try_parse_range.js +33 -0
- package/esm/std/semver/types.d.ts +57 -0
- package/esm/std/semver/types.js +3 -0
- package/package.json +14 -13
- package/script/keep-a-changelog/bin.d.ts +2 -0
- package/script/{bin.js → keep-a-changelog/bin.js} +86 -14
- package/script/{mod.d.ts → keep-a-changelog/mod.d.ts} +1 -1
- package/script/{mod.js → keep-a-changelog/mod.js} +1 -1
- package/script/keep-a-changelog/test/changelog.azdo.md +24 -0
- package/script/keep-a-changelog/test/changelog.sort.md +17 -0
- package/script/std/cli/parse_args.d.ts +193 -0
- package/script/std/cli/parse_args.js +361 -0
- package/script/std/ini/_ini_map.d.ts +90 -0
- package/script/std/ini/_ini_map.js +375 -0
- package/script/std/ini/mod.d.ts +31 -0
- package/script/std/ini/mod.js +49 -0
- package/script/std/ini/parse.d.ts +77 -0
- package/script/std/ini/parse.js +76 -0
- package/script/std/ini/stringify.d.ts +83 -0
- package/script/std/ini/stringify.js +70 -0
- package/script/std/path/_common/assert_path.d.ts +1 -0
- package/script/std/path/_common/assert_path.js +11 -0
- package/script/std/path/_common/basename.d.ts +3 -0
- package/script/std/path/_common/basename.js +46 -0
- package/script/std/path/_common/common.d.ts +1 -0
- package/script/std/path/_common/common.js +27 -0
- package/script/{deps/deno.land/std@0.189.0/path/_constants.js → std/path/_common/constants.js} +1 -1
- package/script/std/path/_common/dirname.d.ts +1 -0
- package/script/std/path/_common/dirname.js +12 -0
- package/script/std/path/_common/format.d.ts +3 -0
- package/script/std/path/_common/format.js +24 -0
- package/script/std/path/_common/from_file_url.d.ts +2 -0
- package/script/std/path/_common/from_file_url.js +13 -0
- package/script/std/path/_common/glob_to_reg_exp.d.ts +34 -0
- package/script/std/path/_common/glob_to_reg_exp.js +238 -0
- package/script/std/path/_common/normalize.d.ts +1 -0
- package/script/std/path/_common/normalize.js +12 -0
- package/script/std/path/_common/normalize_string.d.ts +1 -0
- package/script/std/path/_common/normalize_string.js +81 -0
- package/script/std/path/_common/relative.d.ts +1 -0
- package/script/std/path/_common/relative.js +13 -0
- package/script/std/path/_common/strip_trailing_separators.d.ts +1 -0
- package/script/std/path/_common/strip_trailing_separators.js +23 -0
- package/script/std/path/_common/to_file_url.d.ts +1 -0
- package/script/std/path/_common/to_file_url.js +19 -0
- package/script/std/path/_os.d.ts +1 -0
- package/script/{deps/deno.land/std@0.189.0/_util/os.js → std/path/_os.js} +10 -19
- package/script/std/path/basename.d.ts +27 -0
- package/script/std/path/basename.js +40 -0
- package/script/std/path/common.d.ts +27 -0
- package/script/std/path/common.js +37 -0
- package/script/std/path/constants.d.ts +14 -0
- package/script/std/path/constants.js +20 -0
- package/script/std/path/dirname.d.ts +22 -0
- package/script/std/path/dirname.js +33 -0
- package/script/std/path/extname.d.ts +22 -0
- package/script/std/path/extname.js +33 -0
- package/script/std/path/format.d.ts +21 -0
- package/script/std/path/format.js +31 -0
- package/script/std/path/from_file_url.d.ts +22 -0
- package/script/std/path/from_file_url.js +32 -0
- package/script/std/path/glob_to_regexp.d.ts +76 -0
- package/script/std/path/glob_to_regexp.js +87 -0
- package/script/std/path/is_absolute.d.ts +21 -0
- package/script/std/path/is_absolute.js +32 -0
- package/script/std/path/is_glob.d.ts +16 -0
- package/script/std/path/is_glob.js +46 -0
- package/script/std/path/join.d.ts +22 -0
- package/script/std/path/join.js +33 -0
- package/script/std/path/join_globs.d.ts +27 -0
- package/script/std/path/join_globs.js +38 -0
- package/script/std/path/mod.d.ts +53 -0
- package/script/std/path/mod.js +73 -0
- package/script/std/path/normalize.d.ts +26 -0
- package/script/std/path/normalize.js +37 -0
- package/script/std/path/normalize_glob.d.ts +28 -0
- package/script/std/path/normalize_glob.js +39 -0
- package/script/std/path/parse.d.ts +34 -0
- package/script/std/path/parse.js +43 -0
- package/script/std/path/posix/_util.d.ts +1 -0
- package/script/std/path/posix/_util.js +12 -0
- package/script/std/path/posix/basename.d.ts +39 -0
- package/script/std/path/posix/basename.js +53 -0
- package/script/std/path/posix/constants.d.ts +12 -0
- package/script/std/path/posix/constants.js +17 -0
- package/script/std/path/posix/dirname.d.ts +31 -0
- package/script/std/path/posix/dirname.js +66 -0
- package/script/std/path/posix/extname.d.ts +36 -0
- package/script/std/path/posix/extname.js +93 -0
- package/script/std/path/posix/format.d.ts +23 -0
- package/script/std/path/posix/format.js +32 -0
- package/script/std/path/posix/from_file_url.d.ts +16 -0
- package/script/std/path/posix/from_file_url.js +25 -0
- package/script/std/path/posix/glob_to_regexp.d.ts +71 -0
- package/script/std/path/posix/glob_to_regexp.js +86 -0
- package/script/std/path/posix/is_absolute.d.ts +16 -0
- package/script/std/path/posix/is_absolute.js +27 -0
- package/script/std/path/posix/join.d.ts +32 -0
- package/script/std/path/posix/join.js +46 -0
- package/script/std/path/posix/join_globs.d.ts +19 -0
- package/script/std/path/posix/join_globs.js +44 -0
- package/script/std/path/posix/normalize.d.ts +39 -0
- package/script/std/path/posix/normalize.js +61 -0
- package/script/std/path/posix/normalize_glob.d.ts +19 -0
- package/script/std/path/posix/normalize_glob.js +36 -0
- package/script/std/path/posix/parse.d.ts +24 -0
- package/script/std/path/posix/parse.js +119 -0
- package/script/std/path/posix/relative.d.ts +19 -0
- package/script/std/path/posix/relative.js +110 -0
- package/script/std/path/posix/resolve.d.ts +16 -0
- package/script/std/path/posix/resolve.js +86 -0
- package/script/std/path/posix/to_file_url.d.ts +17 -0
- package/script/std/path/posix/to_file_url.js +31 -0
- package/script/std/path/posix/to_namespaced_path.d.ts +15 -0
- package/script/std/path/posix/to_namespaced_path.js +24 -0
- package/script/std/path/relative.d.ts +23 -0
- package/script/std/path/relative.js +34 -0
- package/script/std/path/resolve.d.ts +21 -0
- package/script/std/path/resolve.js +34 -0
- package/script/std/path/to_file_url.d.ts +22 -0
- package/script/std/path/to_file_url.js +32 -0
- package/script/std/path/to_namespaced_path.d.ts +20 -0
- package/script/std/path/to_namespaced_path.js +33 -0
- package/script/{deps/deno.land/std@0.189.0/path/_interface.d.ts → std/path/types.d.ts} +13 -2
- package/script/{deps/deno.land/std@0.189.0/path/_interface.js → std/path/types.js} +1 -1
- package/script/std/path/windows/_util.d.ts +3 -0
- package/script/std/path/windows/_util.js +21 -0
- package/script/std/path/windows/basename.d.ts +22 -0
- package/script/std/path/windows/basename.js +48 -0
- package/script/std/path/windows/constants.d.ts +12 -0
- package/script/std/path/windows/constants.js +17 -0
- package/script/std/path/windows/dirname.d.ts +19 -0
- package/script/std/path/windows/dirname.js +116 -0
- package/script/std/path/windows/extname.d.ts +19 -0
- package/script/std/path/windows/extname.js +85 -0
- package/script/std/path/windows/format.d.ts +23 -0
- package/script/std/path/windows/format.js +32 -0
- package/script/std/path/windows/from_file_url.d.ts +18 -0
- package/script/std/path/windows/from_file_url.js +34 -0
- package/script/std/path/windows/glob_to_regexp.d.ts +70 -0
- package/script/std/path/windows/glob_to_regexp.js +86 -0
- package/script/std/path/windows/is_absolute.d.ts +16 -0
- package/script/std/path/windows/is_absolute.js +42 -0
- package/script/std/path/windows/join.d.ts +19 -0
- package/script/std/path/windows/join.js +78 -0
- package/script/std/path/windows/join_globs.d.ts +20 -0
- package/script/std/path/windows/join_globs.js +45 -0
- package/script/std/path/windows/normalize.d.ts +21 -0
- package/script/std/path/windows/normalize.js +138 -0
- package/script/std/path/windows/normalize_glob.d.ts +19 -0
- package/script/std/path/windows/normalize_glob.js +36 -0
- package/script/std/path/windows/parse.d.ts +24 -0
- package/script/std/path/windows/parse.js +180 -0
- package/script/std/path/windows/relative.d.ts +22 -0
- package/script/std/path/windows/relative.js +135 -0
- package/script/std/path/windows/resolve.d.ts +16 -0
- package/script/std/path/windows/resolve.js +181 -0
- package/script/std/path/windows/to_file_url.d.ts +17 -0
- package/script/std/path/windows/to_file_url.js +38 -0
- package/script/std/path/windows/to_namespaced_path.d.ts +16 -0
- package/script/std/path/windows/to_namespaced_path.js +53 -0
- package/script/std/semver/_constants.d.ts +15 -0
- package/script/std/semver/_constants.js +41 -0
- package/script/std/semver/_shared.d.ts +43 -0
- package/script/std/semver/_shared.js +174 -0
- package/script/std/semver/_test_comparator_set.d.ts +2 -0
- package/script/std/semver/_test_comparator_set.js +62 -0
- package/script/std/semver/can_parse.d.ts +16 -0
- package/script/std/semver/can_parse.js +31 -0
- package/script/std/semver/compare.d.ts +27 -0
- package/script/std/semver/compare.js +39 -0
- package/script/std/semver/difference.d.ts +26 -0
- package/script/std/semver/difference.js +45 -0
- package/script/std/semver/equals.d.ts +23 -0
- package/script/std/semver/equals.js +31 -0
- package/script/std/semver/format.d.ts +21 -0
- package/script/std/semver/format.js +36 -0
- package/script/std/semver/format_range.d.ts +17 -0
- package/script/std/semver/format_range.js +31 -0
- package/script/std/semver/greater_or_equal.d.ts +24 -0
- package/script/std/semver/greater_or_equal.js +30 -0
- package/script/std/semver/greater_than.d.ts +24 -0
- package/script/std/semver/greater_than.js +32 -0
- package/script/std/semver/greater_than_range.d.ts +22 -0
- package/script/std/semver/greater_than_range.js +62 -0
- package/{esm/deps/deno.land/std@0.205.0 → script/std}/semver/increment.d.ts +27 -5
- package/script/std/semver/increment.js +180 -0
- package/script/std/semver/is_range.d.ts +22 -0
- package/script/std/semver/is_range.js +42 -0
- package/{esm/deps/deno.land/std@0.205.0 → script/std}/semver/is_semver.d.ts +16 -0
- package/script/{deps/deno.land/std@0.205.0 → std}/semver/is_semver.js +26 -14
- package/script/std/semver/less_or_equal.d.ts +24 -0
- package/script/std/semver/less_or_equal.js +30 -0
- package/script/std/semver/less_than.d.ts +24 -0
- package/script/std/semver/less_than.js +30 -0
- package/script/std/semver/less_than_range.d.ts +22 -0
- package/script/std/semver/less_than_range.js +62 -0
- package/script/std/semver/max_satisfying.d.ts +21 -0
- package/script/std/semver/max_satisfying.js +34 -0
- package/script/std/semver/min_satisfying.d.ts +21 -0
- package/script/std/semver/min_satisfying.js +34 -0
- package/{esm/deps/deno.land/std@0.205.0 → script/std}/semver/mod.d.ts +72 -85
- package/script/{deps/deno.land/std@0.205.0 → std}/semver/mod.js +73 -87
- package/script/std/semver/not_equals.d.ts +23 -0
- package/script/std/semver/not_equals.js +29 -0
- package/script/std/semver/parse.d.ts +24 -0
- package/script/std/semver/parse.js +48 -0
- package/script/std/semver/parse_range.d.ts +26 -0
- package/script/std/semver/parse_range.js +362 -0
- package/script/std/semver/range_intersects.d.ts +24 -0
- package/script/std/semver/range_intersects.js +93 -0
- package/script/std/semver/satisfies.d.ts +23 -0
- package/script/std/semver/satisfies.js +30 -0
- package/script/std/semver/try_parse.d.ts +20 -0
- package/script/std/semver/try_parse.js +31 -0
- package/script/std/semver/try_parse_range.d.ts +22 -0
- package/script/std/semver/try_parse_range.js +37 -0
- package/script/std/semver/types.d.ts +57 -0
- package/script/std/semver/types.js +4 -0
- package/esm/bin.d.ts +0 -2
- package/esm/deps/deno.land/std@0.189.0/_util/asserts.d.ts +0 -10
- package/esm/deps/deno.land/std@0.189.0/_util/asserts.js +0 -21
- package/esm/deps/deno.land/std@0.189.0/_util/os.d.ts +0 -4
- package/esm/deps/deno.land/std@0.189.0/_util/os.js +0 -18
- package/esm/deps/deno.land/std@0.189.0/flags/mod.d.ts +0 -166
- package/esm/deps/deno.land/std@0.189.0/flags/mod.js +0 -365
- package/esm/deps/deno.land/std@0.189.0/path/_interface.js +0 -3
- package/esm/deps/deno.land/std@0.189.0/path/_util.d.ts +0 -11
- package/esm/deps/deno.land/std@0.189.0/path/_util.js +0 -161
- package/esm/deps/deno.land/std@0.189.0/path/common.d.ts +0 -13
- package/esm/deps/deno.land/std@0.189.0/path/common.js +0 -36
- package/esm/deps/deno.land/std@0.189.0/path/glob.js +0 -361
- package/esm/deps/deno.land/std@0.189.0/path/mod.d.ts +0 -11
- package/esm/deps/deno.land/std@0.189.0/path/mod.js +0 -35
- package/esm/deps/deno.land/std@0.189.0/path/posix.d.ts +0 -86
- package/esm/deps/deno.land/std@0.189.0/path/posix.js +0 -442
- package/esm/deps/deno.land/std@0.189.0/path/separator.d.ts +0 -2
- package/esm/deps/deno.land/std@0.189.0/path/separator.js +0 -5
- package/esm/deps/deno.land/std@0.189.0/path/win32.d.ts +0 -91
- package/esm/deps/deno.land/std@0.189.0/path/win32.js +0 -909
- package/esm/deps/deno.land/std@0.205.0/semver/_shared.d.ts +0 -42
- package/esm/deps/deno.land/std@0.205.0/semver/_shared.js +0 -230
- package/esm/deps/deno.land/std@0.205.0/semver/cmp.d.ts +0 -9
- package/esm/deps/deno.land/std@0.205.0/semver/cmp.js +0 -35
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_format.d.ts +0 -8
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_format.js +0 -11
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_intersects.d.ts +0 -8
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_intersects.js +0 -45
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_max.d.ts +0 -9
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_max.js +0 -45
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_min.d.ts +0 -8
- package/esm/deps/deno.land/std@0.205.0/semver/comparator_min.js +0 -32
- package/esm/deps/deno.land/std@0.205.0/semver/compare.d.ts +0 -10
- package/esm/deps/deno.land/std@0.205.0/semver/compare.js +0 -18
- package/esm/deps/deno.land/std@0.205.0/semver/compare_build.d.ts +0 -13
- package/esm/deps/deno.land/std@0.205.0/semver/compare_build.js +0 -23
- package/esm/deps/deno.land/std@0.205.0/semver/constants.d.ts +0 -42
- package/esm/deps/deno.land/std@0.205.0/semver/constants.js +0 -75
- package/esm/deps/deno.land/std@0.205.0/semver/difference.d.ts +0 -4
- package/esm/deps/deno.land/std@0.205.0/semver/difference.js +0 -26
- package/esm/deps/deno.land/std@0.205.0/semver/eq.d.ts +0 -4
- package/esm/deps/deno.land/std@0.205.0/semver/eq.js +0 -7
- package/esm/deps/deno.land/std@0.205.0/semver/format.d.ts +0 -12
- package/esm/deps/deno.land/std@0.205.0/semver/format.js +0 -54
- package/esm/deps/deno.land/std@0.205.0/semver/gt.d.ts +0 -3
- package/esm/deps/deno.land/std@0.205.0/semver/gt.js +0 -5
- package/esm/deps/deno.land/std@0.205.0/semver/gte.d.ts +0 -3
- package/esm/deps/deno.land/std@0.205.0/semver/gte.js +0 -5
- package/esm/deps/deno.land/std@0.205.0/semver/gtr.d.ts +0 -3
- package/esm/deps/deno.land/std@0.205.0/semver/gtr.js +0 -5
- package/esm/deps/deno.land/std@0.205.0/semver/increment.js +0 -207
- package/esm/deps/deno.land/std@0.205.0/semver/is_semver_comparator.d.ts +0 -12
- package/esm/deps/deno.land/std@0.205.0/semver/is_semver_comparator.js +0 -31
- package/esm/deps/deno.land/std@0.205.0/semver/is_semver_range.d.ts +0 -12
- package/esm/deps/deno.land/std@0.205.0/semver/is_semver_range.js +0 -22
- package/esm/deps/deno.land/std@0.205.0/semver/lt.d.ts +0 -3
- package/esm/deps/deno.land/std@0.205.0/semver/lt.js +0 -5
- package/esm/deps/deno.land/std@0.205.0/semver/lte.d.ts +0 -3
- package/esm/deps/deno.land/std@0.205.0/semver/lte.js +0 -5
- package/esm/deps/deno.land/std@0.205.0/semver/ltr.d.ts +0 -3
- package/esm/deps/deno.land/std@0.205.0/semver/ltr.js +0 -5
- package/esm/deps/deno.land/std@0.205.0/semver/max_satisfying.d.ts +0 -9
- package/esm/deps/deno.land/std@0.205.0/semver/max_satisfying.js +0 -14
- package/esm/deps/deno.land/std@0.205.0/semver/min_satisfying.d.ts +0 -9
- package/esm/deps/deno.land/std@0.205.0/semver/min_satisfying.js +0 -14
- package/esm/deps/deno.land/std@0.205.0/semver/neq.d.ts +0 -3
- package/esm/deps/deno.land/std@0.205.0/semver/neq.js +0 -5
- package/esm/deps/deno.land/std@0.205.0/semver/outside.d.ts +0 -11
- package/esm/deps/deno.land/std@0.205.0/semver/outside.js +0 -67
- package/esm/deps/deno.land/std@0.205.0/semver/parse.d.ts +0 -8
- package/esm/deps/deno.land/std@0.205.0/semver/parse.js +0 -66
- package/esm/deps/deno.land/std@0.205.0/semver/parse_comparator.d.ts +0 -7
- package/esm/deps/deno.land/std@0.205.0/semver/parse_comparator.js +0 -28
- package/esm/deps/deno.land/std@0.205.0/semver/parse_range.d.ts +0 -7
- package/esm/deps/deno.land/std@0.205.0/semver/parse_range.js +0 -292
- package/esm/deps/deno.land/std@0.205.0/semver/range_format.d.ts +0 -8
- package/esm/deps/deno.land/std@0.205.0/semver/range_format.js +0 -11
- package/esm/deps/deno.land/std@0.205.0/semver/range_intersects.d.ts +0 -8
- package/esm/deps/deno.land/std@0.205.0/semver/range_intersects.js +0 -35
- package/esm/deps/deno.land/std@0.205.0/semver/range_max.d.ts +0 -7
- package/esm/deps/deno.land/std@0.205.0/semver/range_max.js +0 -15
- package/esm/deps/deno.land/std@0.205.0/semver/range_min.d.ts +0 -7
- package/esm/deps/deno.land/std@0.205.0/semver/range_min.js +0 -14
- package/esm/deps/deno.land/std@0.205.0/semver/rcompare.d.ts +0 -8
- package/esm/deps/deno.land/std@0.205.0/semver/rcompare.js +0 -10
- package/esm/deps/deno.land/std@0.205.0/semver/rsort.d.ts +0 -3
- package/esm/deps/deno.land/std@0.205.0/semver/rsort.js +0 -5
- package/esm/deps/deno.land/std@0.205.0/semver/sort.d.ts +0 -3
- package/esm/deps/deno.land/std@0.205.0/semver/sort.js +0 -5
- package/esm/deps/deno.land/std@0.205.0/semver/test_comparator.d.ts +0 -8
- package/esm/deps/deno.land/std@0.205.0/semver/test_comparator.js +0 -10
- package/esm/deps/deno.land/std@0.205.0/semver/test_range.d.ts +0 -8
- package/esm/deps/deno.land/std@0.205.0/semver/test_range.js +0 -16
- package/esm/deps/deno.land/std@0.205.0/semver/types.d.ts +0 -44
- package/esm/deps/deno.land/std@0.205.0/semver/types.js +0 -2
- package/esm/deps/deno.land/std@0.51.0/fs/eol.d.ts +0 -12
- package/esm/deps/deno.land/std@0.51.0/fs/eol.js +0 -29
- package/esm/deps/deno.land/x/ini@v2.1.0/ini.d.ts +0 -53
- package/esm/deps/deno.land/x/ini@v2.1.0/ini.js +0 -226
- package/esm/deps/deno.land/x/ini@v2.1.0/mod.d.ts +0 -1
- package/esm/deps/deno.land/x/ini@v2.1.0/mod.js +0 -1
- package/esm/src/Change.d.ts +0 -8
- package/esm/src/Change.js +0 -48
- package/esm/src/Changelog.d.ts +0 -23
- package/esm/src/Changelog.js +0 -183
- package/esm/src/Release.d.ts +0 -28
- package/esm/src/Release.js +0 -220
- package/esm/src/deps.d.ts +0 -2
- package/esm/src/deps.js +0 -1
- package/esm/src/parser.d.ts +0 -11
- package/esm/src/parser.js +0 -178
- package/esm/src/settings.d.ts +0 -17
- package/esm/src/settings.js +0 -47
- package/script/bin.d.ts +0 -2
- package/script/deps/deno.land/std@0.189.0/_util/asserts.d.ts +0 -10
- package/script/deps/deno.land/std@0.189.0/_util/asserts.js +0 -27
- package/script/deps/deno.land/std@0.189.0/_util/os.d.ts +0 -4
- package/script/deps/deno.land/std@0.189.0/flags/mod.d.ts +0 -166
- package/script/deps/deno.land/std@0.189.0/flags/mod.js +0 -369
- package/script/deps/deno.land/std@0.189.0/path/_util.d.ts +0 -11
- package/script/deps/deno.land/std@0.189.0/path/_util.js +0 -174
- package/script/deps/deno.land/std@0.189.0/path/common.d.ts +0 -13
- package/script/deps/deno.land/std@0.189.0/path/common.js +0 -40
- package/script/deps/deno.land/std@0.189.0/path/glob.js +0 -391
- package/script/deps/deno.land/std@0.189.0/path/mod.d.ts +0 -11
- package/script/deps/deno.land/std@0.189.0/path/mod.js +0 -66
- package/script/deps/deno.land/std@0.189.0/path/posix.d.ts +0 -86
- package/script/deps/deno.land/std@0.189.0/path/posix.js +0 -481
- package/script/deps/deno.land/std@0.189.0/path/separator.d.ts +0 -2
- package/script/deps/deno.land/std@0.189.0/path/separator.js +0 -8
- package/script/deps/deno.land/std@0.189.0/path/win32.d.ts +0 -91
- package/script/deps/deno.land/std@0.189.0/path/win32.js +0 -948
- package/script/deps/deno.land/std@0.205.0/semver/_shared.d.ts +0 -42
- package/script/deps/deno.land/std@0.205.0/semver/_shared.js +0 -248
- package/script/deps/deno.land/std@0.205.0/semver/cmp.d.ts +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/cmp.js +0 -39
- package/script/deps/deno.land/std@0.205.0/semver/comparator_format.d.ts +0 -8
- package/script/deps/deno.land/std@0.205.0/semver/comparator_format.js +0 -15
- package/script/deps/deno.land/std@0.205.0/semver/comparator_intersects.d.ts +0 -8
- package/script/deps/deno.land/std@0.205.0/semver/comparator_intersects.js +0 -49
- package/script/deps/deno.land/std@0.205.0/semver/comparator_max.d.ts +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/comparator_max.js +0 -49
- package/script/deps/deno.land/std@0.205.0/semver/comparator_min.d.ts +0 -8
- package/script/deps/deno.land/std@0.205.0/semver/comparator_min.js +0 -36
- package/script/deps/deno.land/std@0.205.0/semver/compare.d.ts +0 -10
- package/script/deps/deno.land/std@0.205.0/semver/compare.js +0 -22
- package/script/deps/deno.land/std@0.205.0/semver/compare_build.d.ts +0 -13
- package/script/deps/deno.land/std@0.205.0/semver/compare_build.js +0 -27
- package/script/deps/deno.land/std@0.205.0/semver/constants.d.ts +0 -42
- package/script/deps/deno.land/std@0.205.0/semver/constants.js +0 -78
- package/script/deps/deno.land/std@0.205.0/semver/difference.d.ts +0 -4
- package/script/deps/deno.land/std@0.205.0/semver/difference.js +0 -30
- package/script/deps/deno.land/std@0.205.0/semver/eq.d.ts +0 -4
- package/script/deps/deno.land/std@0.205.0/semver/eq.js +0 -11
- package/script/deps/deno.land/std@0.205.0/semver/format.d.ts +0 -12
- package/script/deps/deno.land/std@0.205.0/semver/format.js +0 -58
- package/script/deps/deno.land/std@0.205.0/semver/gt.d.ts +0 -3
- package/script/deps/deno.land/std@0.205.0/semver/gt.js +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/gte.d.ts +0 -3
- package/script/deps/deno.land/std@0.205.0/semver/gte.js +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/gtr.d.ts +0 -3
- package/script/deps/deno.land/std@0.205.0/semver/gtr.js +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/increment.js +0 -211
- package/script/deps/deno.land/std@0.205.0/semver/is_semver_comparator.d.ts +0 -12
- package/script/deps/deno.land/std@0.205.0/semver/is_semver_comparator.js +0 -35
- package/script/deps/deno.land/std@0.205.0/semver/is_semver_range.d.ts +0 -12
- package/script/deps/deno.land/std@0.205.0/semver/is_semver_range.js +0 -26
- package/script/deps/deno.land/std@0.205.0/semver/lt.d.ts +0 -3
- package/script/deps/deno.land/std@0.205.0/semver/lt.js +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/lte.d.ts +0 -3
- package/script/deps/deno.land/std@0.205.0/semver/lte.js +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/ltr.d.ts +0 -3
- package/script/deps/deno.land/std@0.205.0/semver/ltr.js +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/max_satisfying.d.ts +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/max_satisfying.js +0 -18
- package/script/deps/deno.land/std@0.205.0/semver/min_satisfying.d.ts +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/min_satisfying.js +0 -18
- package/script/deps/deno.land/std@0.205.0/semver/neq.d.ts +0 -3
- package/script/deps/deno.land/std@0.205.0/semver/neq.js +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/outside.d.ts +0 -11
- package/script/deps/deno.land/std@0.205.0/semver/outside.js +0 -71
- package/script/deps/deno.land/std@0.205.0/semver/parse.d.ts +0 -8
- package/script/deps/deno.land/std@0.205.0/semver/parse.js +0 -70
- package/script/deps/deno.land/std@0.205.0/semver/parse_comparator.d.ts +0 -7
- package/script/deps/deno.land/std@0.205.0/semver/parse_comparator.js +0 -32
- package/script/deps/deno.land/std@0.205.0/semver/parse_range.d.ts +0 -7
- package/script/deps/deno.land/std@0.205.0/semver/parse_range.js +0 -296
- package/script/deps/deno.land/std@0.205.0/semver/range_format.d.ts +0 -8
- package/script/deps/deno.land/std@0.205.0/semver/range_format.js +0 -15
- package/script/deps/deno.land/std@0.205.0/semver/range_intersects.d.ts +0 -8
- package/script/deps/deno.land/std@0.205.0/semver/range_intersects.js +0 -39
- package/script/deps/deno.land/std@0.205.0/semver/range_max.d.ts +0 -7
- package/script/deps/deno.land/std@0.205.0/semver/range_max.js +0 -19
- package/script/deps/deno.land/std@0.205.0/semver/range_min.d.ts +0 -7
- package/script/deps/deno.land/std@0.205.0/semver/range_min.js +0 -18
- package/script/deps/deno.land/std@0.205.0/semver/rcompare.d.ts +0 -8
- package/script/deps/deno.land/std@0.205.0/semver/rcompare.js +0 -14
- package/script/deps/deno.land/std@0.205.0/semver/rsort.d.ts +0 -3
- package/script/deps/deno.land/std@0.205.0/semver/rsort.js +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/sort.d.ts +0 -3
- package/script/deps/deno.land/std@0.205.0/semver/sort.js +0 -9
- package/script/deps/deno.land/std@0.205.0/semver/test_comparator.d.ts +0 -8
- package/script/deps/deno.land/std@0.205.0/semver/test_comparator.js +0 -14
- package/script/deps/deno.land/std@0.205.0/semver/test_range.d.ts +0 -8
- package/script/deps/deno.land/std@0.205.0/semver/test_range.js +0 -20
- package/script/deps/deno.land/std@0.205.0/semver/types.d.ts +0 -44
- package/script/deps/deno.land/std@0.205.0/semver/types.js +0 -3
- package/script/deps/deno.land/std@0.51.0/fs/eol.d.ts +0 -12
- package/script/deps/deno.land/std@0.51.0/fs/eol.js +0 -34
- package/script/deps/deno.land/x/ini@v2.1.0/ini.d.ts +0 -53
- package/script/deps/deno.land/x/ini@v2.1.0/ini.js +0 -256
- package/script/deps/deno.land/x/ini@v2.1.0/mod.d.ts +0 -1
- package/script/deps/deno.land/x/ini@v2.1.0/mod.js +0 -17
- package/script/src/Change.d.ts +0 -8
- package/script/src/Change.js +0 -51
- package/script/src/Changelog.d.ts +0 -23
- package/script/src/Changelog.js +0 -186
- package/script/src/Release.d.ts +0 -28
- package/script/src/Release.js +0 -226
- package/script/src/deps.d.ts +0 -2
- package/script/src/deps.js +0 -8
- package/script/src/parser.d.ts +0 -11
- package/script/src/parser.js +0 -184
- package/script/src/settings.d.ts +0 -17
- package/script/src/settings.js +0 -51
- /package/esm/{test → keep-a-changelog/test}/changelog.custom.type.md +0 -0
- /package/esm/{test → keep-a-changelog/test}/changelog.expected.linted.md +0 -0
- /package/esm/{test → keep-a-changelog/test}/changelog.expected.md +0 -0
- /package/esm/{test → keep-a-changelog/test}/changelog.gitlab.md +0 -0
- /package/esm/{test → keep-a-changelog/test}/changelog.md +0 -0
- /package/esm/{test → keep-a-changelog/test}/empty.expected.md +0 -0
- /package/esm/{deps/deno.land/std@0.189.0/path/_constants.d.ts → std/path/_common/constants.d.ts} +0 -0
- /package/script/{test → keep-a-changelog/test}/changelog.custom.type.md +0 -0
- /package/script/{test → keep-a-changelog/test}/changelog.expected.linted.md +0 -0
- /package/script/{test → keep-a-changelog/test}/changelog.expected.md +0 -0
- /package/script/{test → keep-a-changelog/test}/changelog.gitlab.md +0 -0
- /package/script/{test → keep-a-changelog/test}/changelog.md +0 -0
- /package/script/{test → keep-a-changelog/test}/empty.expected.md +0 -0
- /package/script/{deps/deno.land/std@0.189.0/path/_constants.d.ts → std/path/_common/constants.d.ts} +0 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Copyright 2018-2025 the Deno authors. MIT license.
|
|
2
|
+
import { isWildcardComparator } from "./_shared.js";
|
|
3
|
+
import { compare } from "./compare.js";
|
|
4
|
+
function testComparator(version, comparator) {
|
|
5
|
+
if (isWildcardComparator(comparator)) {
|
|
6
|
+
return true;
|
|
7
|
+
}
|
|
8
|
+
const cmp = compare(version, comparator);
|
|
9
|
+
switch (comparator.operator) {
|
|
10
|
+
case "=":
|
|
11
|
+
case undefined: {
|
|
12
|
+
return cmp === 0;
|
|
13
|
+
}
|
|
14
|
+
case "!=": {
|
|
15
|
+
return cmp !== 0;
|
|
16
|
+
}
|
|
17
|
+
case ">": {
|
|
18
|
+
return cmp > 0;
|
|
19
|
+
}
|
|
20
|
+
case "<": {
|
|
21
|
+
return cmp < 0;
|
|
22
|
+
}
|
|
23
|
+
case ">=": {
|
|
24
|
+
return cmp >= 0;
|
|
25
|
+
}
|
|
26
|
+
case "<=": {
|
|
27
|
+
return cmp <= 0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
export function testComparatorSet(version, set) {
|
|
32
|
+
for (const comparator of set) {
|
|
33
|
+
if (!testComparator(version, comparator)) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
if (version.prerelease && version.prerelease.length > 0) {
|
|
38
|
+
// Find the comparator that is allowed to have prereleases
|
|
39
|
+
// For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0
|
|
40
|
+
// That should allow `1.2.3-pr.2` to pass.
|
|
41
|
+
// However, `1.2.4-alpha.notready` should NOT be allowed,
|
|
42
|
+
// even though it's within the range set by the comparators.
|
|
43
|
+
for (const comparator of set) {
|
|
44
|
+
if (isWildcardComparator(comparator)) {
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const { major, minor, patch, prerelease } = comparator;
|
|
48
|
+
if (prerelease && prerelease.length > 0) {
|
|
49
|
+
if (version.major === major && version.minor === minor &&
|
|
50
|
+
version.patch === patch) {
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns true if the string can be parsed as SemVer.
|
|
3
|
+
*
|
|
4
|
+
* @example Usage
|
|
5
|
+
* ```ts
|
|
6
|
+
* import { canParse } from "can_parse.ts";
|
|
7
|
+
* import { assert, assertFalse } from "../assert/mod.ts";
|
|
8
|
+
*
|
|
9
|
+
* assert(canParse("1.2.3"));
|
|
10
|
+
* assertFalse(canParse("invalid"));
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* @param value The version string to check
|
|
14
|
+
* @returns `true` if the string can be parsed as SemVer, `false` otherwise
|
|
15
|
+
*/
|
|
16
|
+
export declare function canParse(value: string): boolean;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Copyright 2018-2025 the Deno authors. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
import { parse } from "./parse.js";
|
|
4
|
+
/**
|
|
5
|
+
* Returns true if the string can be parsed as SemVer.
|
|
6
|
+
*
|
|
7
|
+
* @example Usage
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { canParse } from "can_parse.ts";
|
|
10
|
+
* import { assert, assertFalse } from "../assert/mod.ts";
|
|
11
|
+
*
|
|
12
|
+
* assert(canParse("1.2.3"));
|
|
13
|
+
* assertFalse(canParse("invalid"));
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* @param value The version string to check
|
|
17
|
+
* @returns `true` if the string can be parsed as SemVer, `false` otherwise
|
|
18
|
+
*/
|
|
19
|
+
export function canParse(value) {
|
|
20
|
+
try {
|
|
21
|
+
parse(value);
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SemVer } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Compare two SemVers.
|
|
4
|
+
*
|
|
5
|
+
* Returns `0` if `version1` equals `version2`, or `1` if `version1` is greater, or `-1` if `version2` is
|
|
6
|
+
* greater.
|
|
7
|
+
*
|
|
8
|
+
* Sorts in ascending order if passed to {@linkcode Array.sort}.
|
|
9
|
+
*
|
|
10
|
+
* @example Usage
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { parse, compare } from "mod.ts";
|
|
13
|
+
* import { assertEquals } from "../assert/mod.ts";
|
|
14
|
+
*
|
|
15
|
+
* const version1 = parse("1.2.3");
|
|
16
|
+
* const version2 = parse("1.2.4");
|
|
17
|
+
*
|
|
18
|
+
* assertEquals(compare(version1, version2), -1);
|
|
19
|
+
* assertEquals(compare(version2, version1), 1);
|
|
20
|
+
* assertEquals(compare(version1, version1), 0);
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @param version1 The first SemVer to compare
|
|
24
|
+
* @param version2 The second SemVer to compare
|
|
25
|
+
* @returns `1` if `version1` is greater, `0` if equal, or `-1` if `version2` is greater
|
|
26
|
+
*/
|
|
27
|
+
export declare function compare(version1: SemVer, version2: SemVer): 1 | 0 | -1;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { checkIdentifier, compareIdentifier, compareNumber, } from "./_shared.js";
|
|
2
|
+
/**
|
|
3
|
+
* Compare two SemVers.
|
|
4
|
+
*
|
|
5
|
+
* Returns `0` if `version1` equals `version2`, or `1` if `version1` is greater, or `-1` if `version2` is
|
|
6
|
+
* greater.
|
|
7
|
+
*
|
|
8
|
+
* Sorts in ascending order if passed to {@linkcode Array.sort}.
|
|
9
|
+
*
|
|
10
|
+
* @example Usage
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { parse, compare } from "mod.ts";
|
|
13
|
+
* import { assertEquals } from "../assert/mod.ts";
|
|
14
|
+
*
|
|
15
|
+
* const version1 = parse("1.2.3");
|
|
16
|
+
* const version2 = parse("1.2.4");
|
|
17
|
+
*
|
|
18
|
+
* assertEquals(compare(version1, version2), -1);
|
|
19
|
+
* assertEquals(compare(version2, version1), 1);
|
|
20
|
+
* assertEquals(compare(version1, version1), 0);
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* @param version1 The first SemVer to compare
|
|
24
|
+
* @param version2 The second SemVer to compare
|
|
25
|
+
* @returns `1` if `version1` is greater, `0` if equal, or `-1` if `version2` is greater
|
|
26
|
+
*/
|
|
27
|
+
export function compare(version1, version2) {
|
|
28
|
+
if (version1 === version2)
|
|
29
|
+
return 0;
|
|
30
|
+
return (compareNumber(version1.major, version2.major) ||
|
|
31
|
+
compareNumber(version1.minor, version2.minor) ||
|
|
32
|
+
compareNumber(version1.patch, version2.patch) ||
|
|
33
|
+
checkIdentifier(version1.prerelease, version2.prerelease) ||
|
|
34
|
+
compareIdentifier(version1.prerelease, version2.prerelease));
|
|
35
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ReleaseType, SemVer } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns difference between two SemVers by the release type,
|
|
4
|
+
* or `undefined` if the SemVers are the same.
|
|
5
|
+
*
|
|
6
|
+
* @example Usage
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { parse, difference } from "mod.ts";
|
|
9
|
+
* import { assertEquals } from "../assert/mod.ts";
|
|
10
|
+
*
|
|
11
|
+
* const version1 = parse("1.2.3");
|
|
12
|
+
* const version2 = parse("1.2.4");
|
|
13
|
+
* const version3 = parse("1.3.0");
|
|
14
|
+
* const version4 = parse("2.0.0");
|
|
15
|
+
*
|
|
16
|
+
* assertEquals(difference(version1, version2), "patch");
|
|
17
|
+
* assertEquals(difference(version1, version3), "minor");
|
|
18
|
+
* assertEquals(difference(version1, version4), "major");
|
|
19
|
+
* assertEquals(difference(version1, version1), undefined);
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @param version1 The first SemVer to compare
|
|
23
|
+
* @param version2 The second SemVer to compare
|
|
24
|
+
* @returns The release type difference or `undefined` if the versions are the same
|
|
25
|
+
*/
|
|
26
|
+
export declare function difference(version1: SemVer, version2: SemVer): ReleaseType | undefined;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { compareIdentifier } from "./_shared.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns difference between two SemVers by the release type,
|
|
4
|
+
* or `undefined` if the SemVers are the same.
|
|
5
|
+
*
|
|
6
|
+
* @example Usage
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { parse, difference } from "mod.ts";
|
|
9
|
+
* import { assertEquals } from "../assert/mod.ts";
|
|
10
|
+
*
|
|
11
|
+
* const version1 = parse("1.2.3");
|
|
12
|
+
* const version2 = parse("1.2.4");
|
|
13
|
+
* const version3 = parse("1.3.0");
|
|
14
|
+
* const version4 = parse("2.0.0");
|
|
15
|
+
*
|
|
16
|
+
* assertEquals(difference(version1, version2), "patch");
|
|
17
|
+
* assertEquals(difference(version1, version3), "minor");
|
|
18
|
+
* assertEquals(difference(version1, version4), "major");
|
|
19
|
+
* assertEquals(difference(version1, version1), undefined);
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @param version1 The first SemVer to compare
|
|
23
|
+
* @param version2 The second SemVer to compare
|
|
24
|
+
* @returns The release type difference or `undefined` if the versions are the same
|
|
25
|
+
*/
|
|
26
|
+
export function difference(version1, version2) {
|
|
27
|
+
const hasPrerelease = version1.prerelease?.length ||
|
|
28
|
+
version2.prerelease?.length;
|
|
29
|
+
if (version1.major !== version2.major) {
|
|
30
|
+
return hasPrerelease ? "premajor" : "major";
|
|
31
|
+
}
|
|
32
|
+
if (version1.minor !== version2.minor) {
|
|
33
|
+
return hasPrerelease ? "preminor" : "minor";
|
|
34
|
+
}
|
|
35
|
+
if (version1.patch !== version2.patch) {
|
|
36
|
+
return hasPrerelease ? "prepatch" : "patch";
|
|
37
|
+
}
|
|
38
|
+
if (compareIdentifier(version1.prerelease, version2.prerelease) !== 0) {
|
|
39
|
+
return "prerelease";
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { SemVer } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Returns `true` if both SemVers are equivalent.
|
|
4
|
+
*
|
|
5
|
+
* This is equal to `compare(version1, version2) === 0`.
|
|
6
|
+
*
|
|
7
|
+
* @example Usage
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { parse, equals } from "mod.ts";
|
|
10
|
+
* import { assert } from "../assert/mod.ts";
|
|
11
|
+
*
|
|
12
|
+
* const version1 = parse("1.2.3");
|
|
13
|
+
* const version2 = parse("1.2.3");
|
|
14
|
+
*
|
|
15
|
+
* assert(equals(version1, version2));
|
|
16
|
+
* assert(!equals(version1, parse("1.2.4")));
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @param version1 The first SemVer to compare
|
|
20
|
+
* @param version2 The second SemVer to compare
|
|
21
|
+
* @returns `true` if `version1` is equal to `version2`, `false` otherwise
|
|
22
|
+
*/
|
|
23
|
+
export declare function equals(version1: SemVer, version2: SemVer): boolean;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Copyright 2018-2025 the Deno authors. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
import { compare } from "./compare.js";
|
|
4
|
+
/**
|
|
5
|
+
* Returns `true` if both SemVers are equivalent.
|
|
6
|
+
*
|
|
7
|
+
* This is equal to `compare(version1, version2) === 0`.
|
|
8
|
+
*
|
|
9
|
+
* @example Usage
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { parse, equals } from "mod.ts";
|
|
12
|
+
* import { assert } from "../assert/mod.ts";
|
|
13
|
+
*
|
|
14
|
+
* const version1 = parse("1.2.3");
|
|
15
|
+
* const version2 = parse("1.2.3");
|
|
16
|
+
*
|
|
17
|
+
* assert(equals(version1, version2));
|
|
18
|
+
* assert(!equals(version1, parse("1.2.4")));
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @param version1 The first SemVer to compare
|
|
22
|
+
* @param version2 The second SemVer to compare
|
|
23
|
+
* @returns `true` if `version1` is equal to `version2`, `false` otherwise
|
|
24
|
+
*/
|
|
25
|
+
export function equals(version1, version2) {
|
|
26
|
+
return compare(version1, version2) === 0;
|
|
27
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SemVer } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Format a SemVer object into a string.
|
|
4
|
+
*
|
|
5
|
+
* @example Usage
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { format } from "format.ts";
|
|
8
|
+
* import { assertEquals } from "../assert/mod.ts";
|
|
9
|
+
*
|
|
10
|
+
* const semver = {
|
|
11
|
+
* major: 1,
|
|
12
|
+
* minor: 2,
|
|
13
|
+
* patch: 3,
|
|
14
|
+
* };
|
|
15
|
+
* assertEquals(format(semver), "1.2.3");
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @param version The SemVer to format
|
|
19
|
+
* @returns The string representation of a semantic version.
|
|
20
|
+
*/
|
|
21
|
+
export declare function format(version: SemVer): string;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
function formatNumber(value) {
|
|
2
|
+
return value.toFixed(0);
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Format a SemVer object into a string.
|
|
6
|
+
*
|
|
7
|
+
* @example Usage
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { format } from "format.ts";
|
|
10
|
+
* import { assertEquals } from "../assert/mod.ts";
|
|
11
|
+
*
|
|
12
|
+
* const semver = {
|
|
13
|
+
* major: 1,
|
|
14
|
+
* minor: 2,
|
|
15
|
+
* patch: 3,
|
|
16
|
+
* };
|
|
17
|
+
* assertEquals(format(semver), "1.2.3");
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @param version The SemVer to format
|
|
21
|
+
* @returns The string representation of a semantic version.
|
|
22
|
+
*/
|
|
23
|
+
export function format(version) {
|
|
24
|
+
const major = formatNumber(version.major);
|
|
25
|
+
const minor = formatNumber(version.minor);
|
|
26
|
+
const patch = formatNumber(version.patch);
|
|
27
|
+
const pre = version.prerelease?.join(".") ?? "";
|
|
28
|
+
const build = version.build?.join(".") ?? "";
|
|
29
|
+
const primary = `${major}.${minor}.${patch}`;
|
|
30
|
+
const release = [primary, pre].filter((v) => v).join("-");
|
|
31
|
+
return [release, build].filter((v) => v).join("+");
|
|
32
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Range } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Formats the SemVerrange into a string.
|
|
4
|
+
*
|
|
5
|
+
* @example Usage
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { formatRange, parseRange } from "mod.ts";
|
|
8
|
+
* import { assertEquals } from "../assert/mod.ts";
|
|
9
|
+
*
|
|
10
|
+
* const range = parseRange(">=1.2.3 <1.2.4");
|
|
11
|
+
* assertEquals(formatRange(range), ">=1.2.3 <1.2.4");
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @param range The range to format
|
|
15
|
+
* @returns A string representation of the SemVer range
|
|
16
|
+
*/
|
|
17
|
+
export declare function formatRange(range: Range): string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Copyright 2018-2025 the Deno authors. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
import { format } from "./format.js";
|
|
4
|
+
import { isWildcardComparator } from "./_shared.js";
|
|
5
|
+
function formatComparator(comparator) {
|
|
6
|
+
const { operator } = comparator;
|
|
7
|
+
return `${operator === undefined ? "" : operator}${isWildcardComparator(comparator) ? "*" : format(comparator)}`;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Formats the SemVerrange into a string.
|
|
11
|
+
*
|
|
12
|
+
* @example Usage
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { formatRange, parseRange } from "mod.ts";
|
|
15
|
+
* import { assertEquals } from "../assert/mod.ts";
|
|
16
|
+
*
|
|
17
|
+
* const range = parseRange(">=1.2.3 <1.2.4");
|
|
18
|
+
* assertEquals(formatRange(range), ">=1.2.3 <1.2.4");
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @param range The range to format
|
|
22
|
+
* @returns A string representation of the SemVer range
|
|
23
|
+
*/
|
|
24
|
+
export function formatRange(range) {
|
|
25
|
+
return range.map((c) => c.map((c) => formatComparator(c)).join(" "))
|
|
26
|
+
.join("||");
|
|
27
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SemVer } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Greater than or equal to comparison for two SemVers.
|
|
4
|
+
*
|
|
5
|
+
* This is equal to `compare(version1, version2) >= 0`.
|
|
6
|
+
*
|
|
7
|
+
* @example Usage
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { parse, greaterOrEqual } from "mod.ts";
|
|
10
|
+
* import { assert } from "../assert/mod.ts";
|
|
11
|
+
*
|
|
12
|
+
* const version1 = parse("1.2.3");
|
|
13
|
+
* const version2 = parse("1.2.4");
|
|
14
|
+
*
|
|
15
|
+
* assert(greaterOrEqual(version2, version1));
|
|
16
|
+
* assert(!greaterOrEqual(version1, version2));
|
|
17
|
+
* assert(greaterOrEqual(version1, version1));
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @param version1 The first version to compare
|
|
21
|
+
* @param version2 The second version to compare
|
|
22
|
+
* @returns `true` if `version1` is greater than or equal to `version2`, `false` otherwise
|
|
23
|
+
*/
|
|
24
|
+
export declare function greaterOrEqual(version1: SemVer, version2: SemVer): boolean;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { compare } from "./compare.js";
|
|
2
|
+
/**
|
|
3
|
+
* Greater than or equal to comparison for two SemVers.
|
|
4
|
+
*
|
|
5
|
+
* This is equal to `compare(version1, version2) >= 0`.
|
|
6
|
+
*
|
|
7
|
+
* @example Usage
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { parse, greaterOrEqual } from "mod.ts";
|
|
10
|
+
* import { assert } from "../assert/mod.ts";
|
|
11
|
+
*
|
|
12
|
+
* const version1 = parse("1.2.3");
|
|
13
|
+
* const version2 = parse("1.2.4");
|
|
14
|
+
*
|
|
15
|
+
* assert(greaterOrEqual(version2, version1));
|
|
16
|
+
* assert(!greaterOrEqual(version1, version2));
|
|
17
|
+
* assert(greaterOrEqual(version1, version1));
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @param version1 The first version to compare
|
|
21
|
+
* @param version2 The second version to compare
|
|
22
|
+
* @returns `true` if `version1` is greater than or equal to `version2`, `false` otherwise
|
|
23
|
+
*/
|
|
24
|
+
export function greaterOrEqual(version1, version2) {
|
|
25
|
+
return compare(version1, version2) >= 0;
|
|
26
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SemVer } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Greater than comparison for two SemVers.
|
|
4
|
+
*
|
|
5
|
+
* This is equal to `compare(version1, version2) > 0`.
|
|
6
|
+
*
|
|
7
|
+
* @example Usage
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { parse, greaterThan } from "mod.ts";
|
|
10
|
+
* import { assert } from "../assert/mod.ts";
|
|
11
|
+
*
|
|
12
|
+
* const version1 = parse("1.2.3");
|
|
13
|
+
* const version2 = parse("1.2.4");
|
|
14
|
+
*
|
|
15
|
+
* assert(greaterThan(version2, version1));
|
|
16
|
+
* assert(!greaterThan(version1, version2));
|
|
17
|
+
* assert(!greaterThan(version1, version1));
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @param version1 The first version to compare
|
|
21
|
+
* @param version2 The second version to compare
|
|
22
|
+
* @returns `true` if `version1` is greater than `version2`, `false` otherwise
|
|
23
|
+
*/
|
|
24
|
+
export declare function greaterThan(version1: SemVer, version2: SemVer): boolean;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Copyright 2018-2025 the Deno authors. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
import { compare } from "./compare.js";
|
|
4
|
+
/**
|
|
5
|
+
* Greater than comparison for two SemVers.
|
|
6
|
+
*
|
|
7
|
+
* This is equal to `compare(version1, version2) > 0`.
|
|
8
|
+
*
|
|
9
|
+
* @example Usage
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { parse, greaterThan } from "mod.ts";
|
|
12
|
+
* import { assert } from "../assert/mod.ts";
|
|
13
|
+
*
|
|
14
|
+
* const version1 = parse("1.2.3");
|
|
15
|
+
* const version2 = parse("1.2.4");
|
|
16
|
+
*
|
|
17
|
+
* assert(greaterThan(version2, version1));
|
|
18
|
+
* assert(!greaterThan(version1, version2));
|
|
19
|
+
* assert(!greaterThan(version1, version1));
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @param version1 The first version to compare
|
|
23
|
+
* @param version2 The second version to compare
|
|
24
|
+
* @returns `true` if `version1` is greater than `version2`, `false` otherwise
|
|
25
|
+
*/
|
|
26
|
+
export function greaterThan(version1, version2) {
|
|
27
|
+
return compare(version1, version2) > 0;
|
|
28
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Range, SemVer } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Check if the SemVer is greater than the range.
|
|
4
|
+
*
|
|
5
|
+
* @example Usage
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { parse, parseRange, greaterThanRange } from "mod.ts";
|
|
8
|
+
* import { assert } from "../assert/mod.ts";
|
|
9
|
+
*
|
|
10
|
+
* const version1 = parse("1.2.3");
|
|
11
|
+
* const version2 = parse("1.2.4");
|
|
12
|
+
* const range = parseRange(">=1.2.3 <1.2.4");
|
|
13
|
+
*
|
|
14
|
+
* assert(!greaterThanRange(version1, range));
|
|
15
|
+
* assert(greaterThanRange(version2, range));
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* @param version The version to check.
|
|
19
|
+
* @param range The range to check against.
|
|
20
|
+
* @returns `true` if the semver is greater than the range, `false` otherwise.
|
|
21
|
+
*/
|
|
22
|
+
export declare function greaterThanRange(version: SemVer, range: Range): boolean;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Copyright 2018-2025 the Deno authors. MIT license.
|
|
2
|
+
// This module is browser compatible.
|
|
3
|
+
import { testComparatorSet } from "./_test_comparator_set.js";
|
|
4
|
+
import { isWildcardComparator } from "./_shared.js";
|
|
5
|
+
import { compare } from "./compare.js";
|
|
6
|
+
/**
|
|
7
|
+
* Check if the SemVer is greater than the range.
|
|
8
|
+
*
|
|
9
|
+
* @example Usage
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { parse, parseRange, greaterThanRange } from "mod.ts";
|
|
12
|
+
* import { assert } from "../assert/mod.ts";
|
|
13
|
+
*
|
|
14
|
+
* const version1 = parse("1.2.3");
|
|
15
|
+
* const version2 = parse("1.2.4");
|
|
16
|
+
* const range = parseRange(">=1.2.3 <1.2.4");
|
|
17
|
+
*
|
|
18
|
+
* assert(!greaterThanRange(version1, range));
|
|
19
|
+
* assert(greaterThanRange(version2, range));
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @param version The version to check.
|
|
23
|
+
* @param range The range to check against.
|
|
24
|
+
* @returns `true` if the semver is greater than the range, `false` otherwise.
|
|
25
|
+
*/
|
|
26
|
+
export function greaterThanRange(version, range) {
|
|
27
|
+
return range.every((comparatorSet) => greaterThanComparatorSet(version, comparatorSet));
|
|
28
|
+
}
|
|
29
|
+
function greaterThanComparatorSet(version, comparatorSet) {
|
|
30
|
+
// If the comparator set contains wildcard, then the semver is not greater than the range.
|
|
31
|
+
if (comparatorSet.some(isWildcardComparator))
|
|
32
|
+
return false;
|
|
33
|
+
// If the semver satisfies the comparator set, then it's not greater than the range.
|
|
34
|
+
if (testComparatorSet(version, comparatorSet))
|
|
35
|
+
return false;
|
|
36
|
+
// If the semver is less than any of the comparator set, then it's not greater than the range.
|
|
37
|
+
if (comparatorSet.some((comparator) => lessThanComparator(version, comparator)))
|
|
38
|
+
return false;
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
function lessThanComparator(version, comparator) {
|
|
42
|
+
const cmp = compare(version, comparator);
|
|
43
|
+
switch (comparator.operator) {
|
|
44
|
+
case "=":
|
|
45
|
+
case undefined:
|
|
46
|
+
return cmp < 0;
|
|
47
|
+
case "!=":
|
|
48
|
+
return false;
|
|
49
|
+
case ">":
|
|
50
|
+
return cmp <= 0;
|
|
51
|
+
case "<":
|
|
52
|
+
return false;
|
|
53
|
+
case ">=":
|
|
54
|
+
return cmp < 0;
|
|
55
|
+
case "<=":
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import type { ReleaseType, SemVer } from "./types.js";
|
|
2
|
+
/** Options for {@linkcode increment}. */
|
|
3
|
+
export interface IncrementOptions {
|
|
4
|
+
/** The pre-release metadata of the new version. */
|
|
5
|
+
prerelease?: string;
|
|
6
|
+
/** The build metadata of the new version. */
|
|
7
|
+
build?: string;
|
|
8
|
+
}
|
|
2
9
|
/**
|
|
3
|
-
* Returns the new
|
|
10
|
+
* Returns the new SemVer resulting from an increment by release type.
|
|
4
11
|
*
|
|
5
12
|
* `premajor`, `preminor` and `prepatch` will bump the version up to the next version,
|
|
6
13
|
* based on the type, and will also add prerelease metadata.
|
|
@@ -19,10 +26,25 @@ import type { ReleaseType, SemVer } from "./types.js";
|
|
|
19
26
|
* If the input version has build metadata it will be preserved on the resulting version
|
|
20
27
|
* unless a new build parameter is specified. Specifying `""` will unset existing build
|
|
21
28
|
* metadata.
|
|
29
|
+
*
|
|
30
|
+
* @example Usage
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { increment, parse } from "mod.ts";
|
|
33
|
+
* import { assertEquals } from "../assert/mod.ts";
|
|
34
|
+
*
|
|
35
|
+
* const version = parse("1.2.3");
|
|
36
|
+
* assertEquals(increment(version, "major"), parse("2.0.0"));
|
|
37
|
+
* assertEquals(increment(version, "minor"), parse("1.3.0"));
|
|
38
|
+
* assertEquals(increment(version, "patch"), parse("1.2.4"));
|
|
39
|
+
* assertEquals(increment(version, "prerelease"), parse("1.2.4-0"));
|
|
40
|
+
*
|
|
41
|
+
* const prerelease = parse("1.2.3-beta.0");
|
|
42
|
+
* assertEquals(increment(prerelease, "prerelease"), parse("1.2.3-beta.1"));
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
22
45
|
* @param version The version to increment
|
|
23
46
|
* @param release The type of increment to perform
|
|
24
|
-
* @param
|
|
25
|
-
* @
|
|
26
|
-
* @returns
|
|
47
|
+
* @param options Additional options
|
|
48
|
+
* @returns The new version
|
|
27
49
|
*/
|
|
28
|
-
export declare function increment(version: SemVer, release: ReleaseType,
|
|
50
|
+
export declare function increment(version: SemVer, release: ReleaseType, options?: IncrementOptions): SemVer;
|