mirror of
https://github.com/orhun/git-cliff.git
synced 2024-08-16 18:30:30 +03:00
Compare commits
11 Commits
e5b31a26e5
...
6cdf69c17b
Author | SHA1 | Date | |
---|---|---|---|
|
6cdf69c17b | ||
|
3eb828e69a | ||
|
5f31e0fac6 | ||
|
8e03356706 | ||
|
d642d33c27 | ||
|
9e152a2dc0 | ||
|
4a3edcaf5d | ||
|
2a4998db06 | ||
|
7f594e0425 | ||
|
7ff4196287 | ||
|
1d4d955955 |
37
.github/fixtures/test-bump-unreleased-with-tag-message-arg/cliff.toml
vendored
Normal file
37
.github/fixtures/test-bump-unreleased-with-tag-message-arg/cliff.toml
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
[changelog]
|
||||
# template for the changelog footer
|
||||
header = """
|
||||
# Changelog\n
|
||||
All notable changes to this project will be documented in this file.\n
|
||||
"""
|
||||
# template for the changelog body
|
||||
# https://keats.github.io/tera/docs/#introduction
|
||||
body = """
|
||||
{% if version %}\
|
||||
## [{{ version | trim_start_matches(pat="v") }}]
|
||||
{% if message %}
|
||||
{{ message }}
|
||||
{% endif %}\
|
||||
{% else %}\
|
||||
## [unreleased]
|
||||
{% endif %}\
|
||||
{% for group, commits in commits | group_by(attribute="group") %}
|
||||
### {{ group | upper_first }}
|
||||
{% for commit in commits %}
|
||||
- {{ commit.message | upper_first }}\
|
||||
{% endfor %}
|
||||
{% endfor %}\n
|
||||
"""
|
||||
# template for the changelog footer
|
||||
footer = """
|
||||
<!-- generated by git-cliff -->
|
||||
"""
|
||||
# remove the leading and trailing whitespace from the templates
|
||||
trim = true
|
||||
|
||||
[git]
|
||||
# regex for parsing and grouping commits
|
||||
commit_parsers = [
|
||||
{ message = "^feat", group = "Features", default_scope = "app" },
|
||||
{ message = "^fix", group = "Bug Fixes", scope = "cli" },
|
||||
]
|
11
.github/fixtures/test-bump-unreleased-with-tag-message-arg/commit.sh
vendored
Executable file
11
.github/fixtures/test-bump-unreleased-with-tag-message-arg/commit.sh
vendored
Executable file
@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:08" git commit --allow-empty -m "Initial commit"
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:09" git commit --allow-empty -m "feat: add feature 1"
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:10" git commit --allow-empty -m "fix: fix feature 1"
|
||||
git tag v0.1.0
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:11" git commit --allow-empty -m "feat(gui): add feature 2"
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:12" git commit --allow-empty -m "fix(gui): fix feature 2"
|
||||
git tag v0.2.0
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:13" git commit --allow-empty -m "test: add tests"
|
13
.github/fixtures/test-bump-unreleased-with-tag-message-arg/expected.md
vendored
Normal file
13
.github/fixtures/test-bump-unreleased-with-tag-message-arg/expected.md
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [0.2.1]
|
||||
|
||||
Some text
|
||||
|
||||
### Test
|
||||
|
||||
- Add tests
|
||||
|
||||
<!-- generated by git-cliff -->
|
32
.github/fixtures/test-bump-version-custom-minor/cliff.toml
vendored
Normal file
32
.github/fixtures/test-bump-version-custom-minor/cliff.toml
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
[changelog]
|
||||
# template for the changelog footer
|
||||
header = """
|
||||
# Changelog\n
|
||||
All notable changes to this project will be documented in this file.\n
|
||||
"""
|
||||
# template for the changelog body
|
||||
# https://keats.github.io/tera/docs/#introduction
|
||||
body = """
|
||||
{% if version %}\
|
||||
## [{{ version | trim_start_matches(pat="v") }}]
|
||||
{% else %}\
|
||||
## [unreleased]
|
||||
{% endif %}\
|
||||
{% for group, commits in commits | group_by(attribute="group") %}
|
||||
### {{ group | upper_first }}
|
||||
{% for commit in commits %}
|
||||
- {% if commit.breaking %}[**breaking**] {% endif %}{{ commit.message | upper_first }}\
|
||||
{% endfor %}
|
||||
{% endfor %}\n
|
||||
"""
|
||||
# template for the changelog footer
|
||||
footer = """
|
||||
<!-- generated by git-cliff -->
|
||||
"""
|
||||
# remove the leading and trailing whitespace from the templates
|
||||
trim = true
|
||||
|
||||
[bump]
|
||||
features_always_bump_minor = true
|
||||
breaking_always_bump_major = true
|
||||
custom_minor_increment_regex = "minor|more"
|
9
.github/fixtures/test-bump-version-custom-minor/commit.sh
vendored
Executable file
9
.github/fixtures/test-bump-version-custom-minor/commit.sh
vendored
Executable file
@ -0,0 +1,9 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
GIT_COMMITTER_DATE="2021-01-23 01:23:45" git commit --allow-empty -m "feat: add feature 1"
|
||||
GIT_COMMITTER_DATE="2021-01-23 01:23:45" git commit --allow-empty -m "feat: add feature 2"
|
||||
git tag v0.1.0
|
||||
|
||||
GIT_COMMITTER_DATE="2021-01-23 01:23:46" git commit --allow-empty -m "minor: add minor"
|
||||
GIT_COMMITTER_DATE="2021-01-23 01:23:46" git commit --allow-empty -m "fix: fix feature 2"
|
22
.github/fixtures/test-bump-version-custom-minor/expected.md
vendored
Normal file
22
.github/fixtures/test-bump-version-custom-minor/expected.md
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [0.2.0]
|
||||
|
||||
### Fix
|
||||
|
||||
- Fix feature 2
|
||||
|
||||
### Minor
|
||||
|
||||
- Add minor
|
||||
|
||||
## [0.1.0]
|
||||
|
||||
### Feat
|
||||
|
||||
- Add feature 1
|
||||
- Add feature 2
|
||||
|
||||
<!-- generated by git-cliff -->
|
37
.github/fixtures/test-tag-message/cliff.toml
vendored
Normal file
37
.github/fixtures/test-tag-message/cliff.toml
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
[changelog]
|
||||
# template for the changelog footer
|
||||
header = """
|
||||
# Changelog\n
|
||||
All notable changes to this project will be documented in this file.\n
|
||||
"""
|
||||
# template for the changelog body
|
||||
# https://keats.github.io/tera/docs/#introduction
|
||||
body = """
|
||||
{% if version %}\
|
||||
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
|
||||
{% if message %}
|
||||
{{ message }}
|
||||
{% endif %}\
|
||||
{% else %}\
|
||||
## [unreleased]
|
||||
{% endif %}\
|
||||
{% for group, commits in commits | group_by(attribute="group") %}
|
||||
### {{ group | upper_first }}
|
||||
{% for commit in commits %}
|
||||
- {{ commit.message | upper_first }}\
|
||||
{% endfor %}
|
||||
{% endfor %}\n
|
||||
"""
|
||||
# template for the changelog footer
|
||||
footer = """
|
||||
<!-- generated by git-cliff -->
|
||||
"""
|
||||
# remove the leading and trailing whitespace from the templates
|
||||
trim = true
|
||||
|
||||
[git]
|
||||
# regex for parsing and grouping commits
|
||||
commit_parsers = [
|
||||
{ message = "^feat", group = "Features", default_scope = "app" },
|
||||
{ message = "^fix", group = "Bug Fixes", scope = "cli" },
|
||||
]
|
11
.github/fixtures/test-tag-message/commit.sh
vendored
Executable file
11
.github/fixtures/test-tag-message/commit.sh
vendored
Executable file
@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:08" git commit --allow-empty -m "Initial commit"
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:09" git commit --allow-empty -m "feat: add feature 1"
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:10" git commit --allow-empty -m "fix: fix feature 1"
|
||||
git tag v0.1.0 -m "Some text"
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:11" git commit --allow-empty -m "feat(gui): add feature 2"
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:12" git commit --allow-empty -m "fix(gui): fix feature 2"
|
||||
git tag v0.2.0
|
||||
GIT_COMMITTER_DATE="2022-04-06 01:25:13" git commit --allow-empty -m "test: add tests"
|
33
.github/fixtures/test-tag-message/expected.md
vendored
Normal file
33
.github/fixtures/test-tag-message/expected.md
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [unreleased]
|
||||
|
||||
### Test
|
||||
|
||||
- Add tests
|
||||
|
||||
## [0.2.0] - 2022-04-06
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix feature 2
|
||||
|
||||
### Features
|
||||
|
||||
- Add feature 2
|
||||
|
||||
## [0.1.0] - 2022-04-06
|
||||
|
||||
Some text
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
- Fix feature 1
|
||||
|
||||
### Features
|
||||
|
||||
- Add feature 1
|
||||
|
||||
<!-- generated by git-cliff -->
|
2
.github/workflows/docker.yml
vendored
2
.github/workflows/docker.yml
vendored
@ -69,7 +69,7 @@ jobs:
|
||||
|
||||
- name: Build and push
|
||||
id: docker_build
|
||||
uses: docker/build-push-action@v5
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: ./
|
||||
file: ./Dockerfile
|
||||
|
5
.github/workflows/test-fixtures.yml
vendored
5
.github/workflows/test-fixtures.yml
vendored
@ -38,6 +38,8 @@ jobs:
|
||||
- fixtures-name: test-split-commits
|
||||
- fixtures-name: test-bump-version
|
||||
command: --bump
|
||||
- fixtures-name: test-bump-version-custom-minor
|
||||
command: --bump
|
||||
- fixtures-name: test-bumped-version
|
||||
command: --bumped-version
|
||||
- fixtures-name: test-footer-template
|
||||
@ -79,6 +81,9 @@ jobs:
|
||||
command: --bump --tag=2.1.1
|
||||
- fixtures-name: test-cli-arg-ignore-tags
|
||||
command: --ignore-tags ".*beta"
|
||||
- fixtures-name: test-tag-message
|
||||
- fixtures-name: test-bump-unreleased-with-tag-message-arg
|
||||
command: --bump --unreleased --with-tag-message "Some text"
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
|
423
Cargo.lock
generated
423
Cargo.lock
generated
@ -315,9 +315,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap_complete"
|
||||
version = "4.5.5"
|
||||
version = "4.5.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d2020fa13af48afc65a9a87335bda648309ab3d154cd03c7ff95b378c7ed39c4"
|
||||
checksum = "fbca90c87c2a04da41e95d1856e8bcd22f159bdbfa147314d2ce5218057b0e58"
|
||||
dependencies = [
|
||||
"clap",
|
||||
]
|
||||
@ -523,17 +523,6 @@ dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "displaydoc"
|
||||
version = "0.2.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dissimilar"
|
||||
version = "1.0.9"
|
||||
@ -810,7 +799,7 @@ dependencies = [
|
||||
"next_version",
|
||||
"pretty_assertions",
|
||||
"regex",
|
||||
"reqwest 0.12.4",
|
||||
"reqwest 0.12.5",
|
||||
"reqwest-middleware",
|
||||
"rust-embed",
|
||||
"secrecy",
|
||||
@ -1006,7 +995,7 @@ dependencies = [
|
||||
"http 1.1.0",
|
||||
"http-cache",
|
||||
"http-cache-semantics",
|
||||
"reqwest 0.12.4",
|
||||
"reqwest 0.12.5",
|
||||
"reqwest-middleware",
|
||||
"serde",
|
||||
"url",
|
||||
@ -1120,19 +1109,20 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hyper-rustls"
|
||||
version = "0.26.0"
|
||||
version = "0.27.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c"
|
||||
checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155"
|
||||
dependencies = [
|
||||
"futures-util",
|
||||
"http 1.1.0",
|
||||
"hyper 1.3.1",
|
||||
"hyper-util",
|
||||
"rustls 0.22.4",
|
||||
"rustls 0.23.10",
|
||||
"rustls-pki-types",
|
||||
"tokio",
|
||||
"tokio-rustls 0.25.0",
|
||||
"tokio-rustls 0.26.0",
|
||||
"tower-service",
|
||||
"webpki-roots 0.26.1",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1178,134 +1168,14 @@ dependencies = [
|
||||
"cc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "icu_collections"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "db2fa452206ebee18c4b5c2274dbf1de17008e874b4dc4f0aea9d01ca79e4526"
|
||||
dependencies = [
|
||||
"displaydoc",
|
||||
"yoke",
|
||||
"zerofrom",
|
||||
"zerovec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "icu_locid"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637"
|
||||
dependencies = [
|
||||
"displaydoc",
|
||||
"litemap",
|
||||
"tinystr",
|
||||
"writeable",
|
||||
"zerovec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "icu_locid_transform"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "01d11ac35de8e40fdeda00d9e1e9d92525f3f9d887cdd7aa81d727596788b54e"
|
||||
dependencies = [
|
||||
"displaydoc",
|
||||
"icu_locid",
|
||||
"icu_locid_transform_data",
|
||||
"icu_provider",
|
||||
"tinystr",
|
||||
"zerovec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "icu_locid_transform_data"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "fdc8ff3388f852bede6b579ad4e978ab004f139284d7b28715f773507b946f6e"
|
||||
|
||||
[[package]]
|
||||
name = "icu_normalizer"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "19ce3e0da2ec68599d193c93d088142efd7f9c5d6fc9b803774855747dc6a84f"
|
||||
dependencies = [
|
||||
"displaydoc",
|
||||
"icu_collections",
|
||||
"icu_normalizer_data",
|
||||
"icu_properties",
|
||||
"icu_provider",
|
||||
"smallvec",
|
||||
"utf16_iter",
|
||||
"utf8_iter",
|
||||
"write16",
|
||||
"zerovec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "icu_normalizer_data"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f8cafbf7aa791e9b22bec55a167906f9e1215fd475cd22adfcf660e03e989516"
|
||||
|
||||
[[package]]
|
||||
name = "icu_properties"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f8ac670d7422d7f76b32e17a5db556510825b29ec9154f235977c9caba61036"
|
||||
dependencies = [
|
||||
"displaydoc",
|
||||
"icu_collections",
|
||||
"icu_locid_transform",
|
||||
"icu_properties_data",
|
||||
"icu_provider",
|
||||
"tinystr",
|
||||
"zerovec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "icu_properties_data"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "67a8effbc3dd3e4ba1afa8ad918d5684b8868b3b26500753effea8d2eed19569"
|
||||
|
||||
[[package]]
|
||||
name = "icu_provider"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6ed421c8a8ef78d3e2dbc98a973be2f3770cb42b606e3ab18d6237c4dfde68d9"
|
||||
dependencies = [
|
||||
"displaydoc",
|
||||
"icu_locid",
|
||||
"icu_provider_macros",
|
||||
"stable_deref_trait",
|
||||
"tinystr",
|
||||
"writeable",
|
||||
"yoke",
|
||||
"zerofrom",
|
||||
"zerovec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "icu_provider_macros"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1ec89e9337638ecdc08744df490b221a7399bf8d164eb52a665454e60e075ad6"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "idna"
|
||||
version = "1.0.0"
|
||||
version = "0.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4716a3a0933a1d01c2f72450e89596eb51dd34ef3c211ccd875acdf1f8fe47ed"
|
||||
checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
|
||||
dependencies = [
|
||||
"icu_normalizer",
|
||||
"icu_properties",
|
||||
"smallvec",
|
||||
"utf8_iter",
|
||||
"unicode-bidi",
|
||||
"unicode-normalization",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -1462,9 +1332,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.4.0"
|
||||
version = "1.5.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
@ -1544,12 +1414,6 @@ version = "0.4.13"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
|
||||
|
||||
[[package]]
|
||||
name = "litemap"
|
||||
version = "0.7.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "643cb0b8d4fcc284004d5fd0d67ccf61dfffadb7f75e1e71bc420f4688a3a704"
|
||||
|
||||
[[package]]
|
||||
name = "litrs"
|
||||
version = "0.4.1"
|
||||
@ -1634,11 +1498,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "next_version"
|
||||
version = "0.2.17"
|
||||
version = "0.2.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7beae5e84c3330a90f0f89eae10f5cd4c17c3be0f119ab36d94fd908c7b8c8fb"
|
||||
checksum = "a0c2cdfd777d2aef50e83560295f35b11a934efdaae1eb92c807c6b4844b435b"
|
||||
dependencies = [
|
||||
"conventional_commit_parser",
|
||||
"regex",
|
||||
"semver",
|
||||
]
|
||||
|
||||
@ -1889,6 +1754,53 @@ dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quinn"
|
||||
version = "0.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e4ceeeeabace7857413798eb1ffa1e9c905a9946a57d81fb69b4b71c4d8eb3ad"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"pin-project-lite",
|
||||
"quinn-proto",
|
||||
"quinn-udp",
|
||||
"rustc-hash",
|
||||
"rustls 0.23.10",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quinn-proto"
|
||||
version = "0.11.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ddf517c03a109db8100448a4be38d498df8a210a99fe0e1b9eaf39e78c640efe"
|
||||
dependencies = [
|
||||
"bytes",
|
||||
"rand",
|
||||
"ring",
|
||||
"rustc-hash",
|
||||
"rustls 0.23.10",
|
||||
"slab",
|
||||
"thiserror",
|
||||
"tinyvec",
|
||||
"tracing",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quinn-udp"
|
||||
version = "0.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9096629c45860fc7fb143e125eb826b5e721e10be3263160c7d60ca832cf8c46"
|
||||
dependencies = [
|
||||
"libc",
|
||||
"once_cell",
|
||||
"socket2",
|
||||
"tracing",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "quote"
|
||||
version = "1.0.36"
|
||||
@ -2007,7 +1919,7 @@ dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_urlencoded",
|
||||
"sync_wrapper",
|
||||
"sync_wrapper 0.1.2",
|
||||
"system-configuration",
|
||||
"tokio",
|
||||
"tokio-rustls 0.24.1",
|
||||
@ -2022,9 +1934,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "reqwest"
|
||||
version = "0.12.4"
|
||||
version = "0.12.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10"
|
||||
checksum = "c7d6d2a27d57148378eb5e111173f4276ad26340ecc5c49a4a2152167a2d6a37"
|
||||
dependencies = [
|
||||
"async-compression",
|
||||
"base64 0.22.1",
|
||||
@ -2035,7 +1947,7 @@ dependencies = [
|
||||
"http-body 1.0.0",
|
||||
"http-body-util",
|
||||
"hyper 1.3.1",
|
||||
"hyper-rustls 0.26.0",
|
||||
"hyper-rustls 0.27.2",
|
||||
"hyper-util",
|
||||
"ipnet",
|
||||
"js-sys",
|
||||
@ -2044,15 +1956,16 @@ dependencies = [
|
||||
"once_cell",
|
||||
"percent-encoding",
|
||||
"pin-project-lite",
|
||||
"rustls 0.22.4",
|
||||
"quinn",
|
||||
"rustls 0.23.10",
|
||||
"rustls-pemfile 2.1.2",
|
||||
"rustls-pki-types",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_urlencoded",
|
||||
"sync_wrapper",
|
||||
"sync_wrapper 1.0.1",
|
||||
"tokio",
|
||||
"tokio-rustls 0.25.0",
|
||||
"tokio-rustls 0.26.0",
|
||||
"tokio-util",
|
||||
"tower-service",
|
||||
"url",
|
||||
@ -2072,7 +1985,7 @@ dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
"http 1.1.0",
|
||||
"reqwest 0.12.4",
|
||||
"reqwest 0.12.5",
|
||||
"serde",
|
||||
"thiserror",
|
||||
"tower-service",
|
||||
@ -2146,6 +2059,12 @@ version = "0.1.24"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
||||
|
||||
[[package]]
|
||||
name = "rustc-hash"
|
||||
version = "1.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "0.38.34"
|
||||
@ -2180,7 +2099,21 @@ dependencies = [
|
||||
"log",
|
||||
"ring",
|
||||
"rustls-pki-types",
|
||||
"rustls-webpki 0.102.3",
|
||||
"rustls-webpki 0.102.4",
|
||||
"subtle",
|
||||
"zeroize",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rustls"
|
||||
version = "0.23.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "05cff451f60db80f490f3c182b77c35260baace73209e9cdbbe526bfe3a4d402"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"ring",
|
||||
"rustls-pki-types",
|
||||
"rustls-webpki 0.102.4",
|
||||
"subtle",
|
||||
"zeroize",
|
||||
]
|
||||
@ -2222,9 +2155,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustls-webpki"
|
||||
version = "0.102.3"
|
||||
version = "0.102.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf"
|
||||
checksum = "ff448f7e92e913c4b7d4c6d8e4540a1724b319b4152b8aef6d4cf8339712b33e"
|
||||
dependencies = [
|
||||
"ring",
|
||||
"rustls-pki-types",
|
||||
@ -2440,12 +2373,6 @@ dependencies = [
|
||||
"xxhash-rust",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "stable_deref_trait"
|
||||
version = "1.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
|
||||
|
||||
[[package]]
|
||||
name = "strsim"
|
||||
version = "0.11.1"
|
||||
@ -2487,15 +2414,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
|
||||
|
||||
[[package]]
|
||||
name = "synstructure"
|
||||
version = "0.13.1"
|
||||
name = "sync_wrapper"
|
||||
version = "1.0.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
]
|
||||
checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
|
||||
|
||||
[[package]]
|
||||
name = "system-configuration"
|
||||
@ -2623,15 +2545,20 @@ dependencies = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tinystr"
|
||||
version = "0.7.6"
|
||||
name = "tinyvec"
|
||||
version = "1.6.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f"
|
||||
checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
|
||||
dependencies = [
|
||||
"displaydoc",
|
||||
"zerovec",
|
||||
"tinyvec_macros",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tinyvec_macros"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
||||
|
||||
[[package]]
|
||||
name = "tokio"
|
||||
version = "1.38.0"
|
||||
@ -2672,11 +2599,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tokio-rustls"
|
||||
version = "0.25.0"
|
||||
version = "0.26.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
|
||||
checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
|
||||
dependencies = [
|
||||
"rustls 0.22.4",
|
||||
"rustls 0.23.10",
|
||||
"rustls-pki-types",
|
||||
"tokio",
|
||||
]
|
||||
@ -2775,9 +2702,21 @@ checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
|
||||
dependencies = [
|
||||
"log",
|
||||
"pin-project-lite",
|
||||
"tracing-attributes",
|
||||
"tracing-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-attributes"
|
||||
version = "0.1.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-core"
|
||||
version = "0.1.32"
|
||||
@ -2864,12 +2803,27 @@ dependencies = [
|
||||
"version_check",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-bidi"
|
||||
version = "0.3.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-ident"
|
||||
version = "1.0.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
|
||||
|
||||
[[package]]
|
||||
name = "unicode-normalization"
|
||||
version = "0.1.23"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
|
||||
dependencies = [
|
||||
"tinyvec",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "unicode-width"
|
||||
version = "0.1.12"
|
||||
@ -2908,7 +2862,7 @@ dependencies = [
|
||||
"once_cell",
|
||||
"rustls 0.22.4",
|
||||
"rustls-pki-types",
|
||||
"rustls-webpki 0.102.3",
|
||||
"rustls-webpki 0.102.4",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"url",
|
||||
@ -2917,9 +2871,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "url"
|
||||
version = "2.5.1"
|
||||
version = "2.5.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f7c25da092f0a868cdf09e8674cd3b7ef3a7d92a24253e663a2fb85e2496de56"
|
||||
checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
|
||||
dependencies = [
|
||||
"form_urlencoded",
|
||||
"idna",
|
||||
@ -2927,18 +2881,6 @@ dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "utf16_iter"
|
||||
version = "1.0.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c8232dd3cdaed5356e0f716d285e4b40b932ac434100fe9b7e0e8e935b9e6246"
|
||||
|
||||
[[package]]
|
||||
name = "utf8_iter"
|
||||
version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
|
||||
|
||||
[[package]]
|
||||
name = "utf8parse"
|
||||
version = "0.2.1"
|
||||
@ -3312,18 +3254,6 @@ dependencies = [
|
||||
"windows-sys 0.48.0",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "write16"
|
||||
version = "1.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d1890f4022759daae28ed4fe62859b1236caebfc61ede2f63ed4e695f3f6d936"
|
||||
|
||||
[[package]]
|
||||
name = "writeable"
|
||||
version = "0.5.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
|
||||
|
||||
[[package]]
|
||||
name = "xxhash-rust"
|
||||
version = "0.8.10"
|
||||
@ -3345,79 +3275,12 @@ version = "0.5.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"
|
||||
|
||||
[[package]]
|
||||
name = "yoke"
|
||||
version = "0.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"stable_deref_trait",
|
||||
"yoke-derive",
|
||||
"zerofrom",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "yoke-derive"
|
||||
version = "0.7.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"synstructure",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerofrom"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55"
|
||||
dependencies = [
|
||||
"zerofrom-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerofrom-derive"
|
||||
version = "0.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
"synstructure",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zeroize"
|
||||
version = "1.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
|
||||
|
||||
[[package]]
|
||||
name = "zerovec"
|
||||
version = "0.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "bb2cc8827d6c0994478a15c53f374f46fbd41bea663d809b14744bc42e6b109c"
|
||||
dependencies = [
|
||||
"yoke",
|
||||
"zerofrom",
|
||||
"zerovec-derive",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zerovec-derive"
|
||||
version = "0.10.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "97cf56601ee5052b4417d90c8755c6683473c926039908196cf35d99f893ebe7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.63",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "zstd"
|
||||
version = "0.13.1"
|
||||
|
@ -7,7 +7,7 @@ regex = "1.10.5"
|
||||
glob = "0.3.1"
|
||||
log = "0.4.21"
|
||||
secrecy = { version = "0.8.0", features = ["serde"] }
|
||||
lazy_static = "1.4.0"
|
||||
lazy_static = "1.5.0"
|
||||
dirs = "5.0.1"
|
||||
|
||||
[profile.dev]
|
||||
|
@ -57,10 +57,10 @@ tera = "1.20.0"
|
||||
indexmap = { version = "2.2.6", optional = true }
|
||||
toml = "0.8.14"
|
||||
lazy-regex = "3.1.0"
|
||||
next_version = "0.2.17"
|
||||
next_version = "0.2.18"
|
||||
semver = "1.0.23"
|
||||
document-features = { version = "0.2.8", optional = true }
|
||||
reqwest = { version = "0.12.4", default-features = false, features = [
|
||||
reqwest = { version = "0.12.5", default-features = false, features = [
|
||||
"rustls-tls",
|
||||
"json",
|
||||
"zstd",
|
||||
@ -72,7 +72,7 @@ tokio = { version = "1.38.0", features = [
|
||||
"macros",
|
||||
], optional = true }
|
||||
futures = { version = "0.3.30", optional = true }
|
||||
url = "2.5.1"
|
||||
url = "2.5.2"
|
||||
dyn-clone = "1.0.17"
|
||||
|
||||
[dependencies.git2]
|
||||
|
@ -815,6 +815,7 @@ mod test {
|
||||
};
|
||||
let test_release = Release {
|
||||
version: Some(String::from("v1.0.0")),
|
||||
message: None,
|
||||
commits: vec![
|
||||
Commit::new(
|
||||
String::from("coffee"),
|
||||
@ -910,6 +911,7 @@ mod test {
|
||||
},
|
||||
Release {
|
||||
version: None,
|
||||
message: None,
|
||||
commits: vec![
|
||||
Commit::new(
|
||||
String::from("abc123"),
|
||||
|
@ -200,6 +200,24 @@ pub struct Bump {
|
||||
///
|
||||
/// When set, the version will be set to this value if no tags are found.
|
||||
pub initial_tag: Option<String>,
|
||||
|
||||
/// Configure a custom regex pattern for major version increments.
|
||||
///
|
||||
/// This will check only the type of the commit against the given pattern.
|
||||
///
|
||||
/// ### Note
|
||||
///
|
||||
/// `commit type` according to the spec is only `[a-zA-Z]+`
|
||||
pub custom_major_increment_regex: Option<String>,
|
||||
|
||||
/// Configure a custom regex pattern for minor version increments.
|
||||
///
|
||||
/// This will check only the type of the commit against the given pattern.
|
||||
///
|
||||
/// ### Note
|
||||
///
|
||||
/// `commit type` according to the spec is only `[a-zA-Z]+`
|
||||
pub custom_minor_increment_regex: Option<String>,
|
||||
}
|
||||
|
||||
/// Parser for grouping commits.
|
||||
|
@ -33,6 +33,8 @@ pub mod remote;
|
||||
/// Git repository.
|
||||
#[cfg(feature = "repo")]
|
||||
pub mod repo;
|
||||
/// Git tag.
|
||||
pub mod tag;
|
||||
/// Template engine.
|
||||
pub mod template;
|
||||
|
||||
|
@ -21,6 +21,8 @@ use serde::{
|
||||
pub struct Release<'a> {
|
||||
/// Release version, git tag.
|
||||
pub version: Option<String>,
|
||||
/// git tag's message.
|
||||
pub message: Option<String>,
|
||||
/// Commits made for the release.
|
||||
pub commits: Vec<Commit<'a>>,
|
||||
/// Commit ID of the tag.
|
||||
@ -101,13 +103,28 @@ impl<'a> Release<'a> {
|
||||
}
|
||||
}
|
||||
}
|
||||
let next_version = VersionUpdater::new()
|
||||
let mut next_version = VersionUpdater::new()
|
||||
.with_features_always_increment_minor(
|
||||
config.features_always_bump_minor.unwrap_or(true),
|
||||
)
|
||||
.with_breaking_always_increment_major(
|
||||
config.breaking_always_bump_major.unwrap_or(true),
|
||||
)
|
||||
);
|
||||
if let Some(custom_major_increment_regex) =
|
||||
&config.custom_major_increment_regex
|
||||
{
|
||||
next_version = next_version.with_custom_major_increment_regex(
|
||||
custom_major_increment_regex,
|
||||
)?;
|
||||
}
|
||||
if let Some(custom_minor_increment_regex) =
|
||||
&config.custom_minor_increment_regex
|
||||
{
|
||||
next_version = next_version.with_custom_minor_increment_regex(
|
||||
custom_minor_increment_regex,
|
||||
)?;
|
||||
}
|
||||
let next_version = next_version
|
||||
.increment(
|
||||
&semver?,
|
||||
self.commits
|
||||
@ -161,6 +178,7 @@ mod test {
|
||||
fn build_release<'a>(version: &str, commits: &'a [&str]) -> Release<'a> {
|
||||
Release {
|
||||
version: None,
|
||||
message: None,
|
||||
commits: commits
|
||||
.iter()
|
||||
.map(|v| Commit::from(v.to_string()))
|
||||
@ -259,9 +277,11 @@ mod test {
|
||||
let release = build_release(version, commits);
|
||||
let next_version =
|
||||
release.calculate_next_version_with_config(&Bump {
|
||||
features_always_bump_minor: Some(false),
|
||||
breaking_always_bump_major: Some(false),
|
||||
initial_tag: None,
|
||||
features_always_bump_minor: Some(false),
|
||||
breaking_always_bump_major: Some(false),
|
||||
initial_tag: None,
|
||||
custom_major_increment_regex: None,
|
||||
custom_minor_increment_regex: None,
|
||||
})?;
|
||||
assert_eq!(expected_version, &next_version);
|
||||
}
|
||||
@ -280,9 +300,11 @@ mod test {
|
||||
let release = build_release(version, commits);
|
||||
let next_version =
|
||||
release.calculate_next_version_with_config(&Bump {
|
||||
features_always_bump_minor: Some(true),
|
||||
breaking_always_bump_major: Some(false),
|
||||
initial_tag: None,
|
||||
features_always_bump_minor: Some(true),
|
||||
breaking_always_bump_major: Some(false),
|
||||
initial_tag: None,
|
||||
custom_major_increment_regex: None,
|
||||
custom_minor_increment_regex: None,
|
||||
})?;
|
||||
assert_eq!(expected_version, &next_version);
|
||||
}
|
||||
@ -301,9 +323,11 @@ mod test {
|
||||
let release = build_release(version, commits);
|
||||
let next_version =
|
||||
release.calculate_next_version_with_config(&Bump {
|
||||
features_always_bump_minor: Some(false),
|
||||
breaking_always_bump_major: Some(true),
|
||||
initial_tag: None,
|
||||
features_always_bump_minor: Some(false),
|
||||
breaking_always_bump_major: Some(true),
|
||||
initial_tag: None,
|
||||
custom_major_increment_regex: None,
|
||||
custom_minor_increment_regex: None,
|
||||
})?;
|
||||
assert_eq!(expected_version, &next_version);
|
||||
}
|
||||
@ -322,9 +346,11 @@ mod test {
|
||||
assert_eq!(
|
||||
"0.1.0",
|
||||
empty_release.calculate_next_version_with_config(&Bump {
|
||||
features_always_bump_minor: Some(features_always_bump_minor),
|
||||
breaking_always_bump_major: Some(breaking_always_bump_major),
|
||||
initial_tag: None,
|
||||
features_always_bump_minor: Some(features_always_bump_minor),
|
||||
breaking_always_bump_major: Some(breaking_always_bump_major),
|
||||
initial_tag: None,
|
||||
custom_major_increment_regex: None,
|
||||
custom_minor_increment_regex: None,
|
||||
})?
|
||||
);
|
||||
}
|
||||
@ -343,6 +369,7 @@ mod test {
|
||||
|
||||
let mut release = Release {
|
||||
version: None,
|
||||
message: None,
|
||||
commits: vec![
|
||||
Commit::from(String::from(
|
||||
"1d244937ee6ceb8e0314a4a201ba93a7a61f2071 add github \
|
||||
@ -629,6 +656,7 @@ mod test {
|
||||
|
||||
let mut release = Release {
|
||||
version: None,
|
||||
message: None,
|
||||
commits: vec![
|
||||
Commit::from(String::from(
|
||||
"1d244937ee6ceb8e0314a4a201ba93a7a61f2071 add github \
|
||||
@ -973,6 +1001,7 @@ mod test {
|
||||
|
||||
let mut release = Release {
|
||||
version: None,
|
||||
message: None,
|
||||
commits: vec![
|
||||
Commit::from(String::from(
|
||||
"1d244937ee6ceb8e0314a4a201ba93a7a61f2071 add github \
|
||||
|
@ -3,6 +3,7 @@ use crate::error::{
|
||||
Error,
|
||||
Result,
|
||||
};
|
||||
use crate::tag::Tag;
|
||||
use git2::{
|
||||
BranchType,
|
||||
Commit,
|
||||
@ -13,11 +14,20 @@ use git2::{
|
||||
};
|
||||
use glob::Pattern;
|
||||
use indexmap::IndexMap;
|
||||
use regex::Regex;
|
||||
use lazy_regex::{
|
||||
lazy_regex,
|
||||
Lazy,
|
||||
Regex,
|
||||
};
|
||||
use std::io;
|
||||
use std::path::PathBuf;
|
||||
use url::Url;
|
||||
|
||||
/// Regex for replacing the signature part of a tag message.
|
||||
static TAG_SIGNATURE_REGEX: Lazy<Regex> = lazy_regex!(
|
||||
r"(?s)-----BEGIN PGP SIGNATURE-----(.*?)-----END PGP SIGNATURE-----"
|
||||
);
|
||||
|
||||
/// Wrapper for [`Repository`] type from git2.
|
||||
///
|
||||
/// [`Repository`]: GitRepository
|
||||
@ -98,11 +108,38 @@ impl Repository {
|
||||
/// Returns the current tag.
|
||||
///
|
||||
/// It is the same as running `git describe --tags`
|
||||
pub fn current_tag(&self) -> Option<String> {
|
||||
pub fn current_tag(&self) -> Option<Tag> {
|
||||
self.inner
|
||||
.describe(DescribeOptions::new().describe_tags())
|
||||
.ok()
|
||||
.and_then(|describe| describe.format(None).ok())
|
||||
.and_then(|describe| {
|
||||
describe
|
||||
.format(None)
|
||||
.ok()
|
||||
.map(|name| self.resolve_tag(&name))
|
||||
})
|
||||
}
|
||||
|
||||
/// Returns the tag object of the given name.
|
||||
///
|
||||
/// If given name doesn't exist, it still returns `Tag` with the given name.
|
||||
pub fn resolve_tag(&self, name: &str) -> Tag {
|
||||
match self
|
||||
.inner
|
||||
.resolve_reference_from_short_name(name)
|
||||
.and_then(|r| r.peel_to_tag())
|
||||
{
|
||||
Ok(tag) => Tag {
|
||||
name: tag.name().unwrap_or_default().to_owned(),
|
||||
message: tag.message().map(|msg| {
|
||||
TAG_SIGNATURE_REGEX.replace(msg, "").trim().to_owned()
|
||||
}),
|
||||
},
|
||||
_ => Tag {
|
||||
name: name.to_owned(),
|
||||
message: None,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
/// Returns the commit object of the given ID.
|
||||
@ -122,8 +159,8 @@ impl Repository {
|
||||
&self,
|
||||
pattern: &Option<Regex>,
|
||||
topo_order: bool,
|
||||
) -> Result<IndexMap<String, String>> {
|
||||
let mut tags: Vec<(Commit, String)> = Vec::new();
|
||||
) -> Result<IndexMap<String, Tag>> {
|
||||
let mut tags: Vec<(Commit, Tag)> = Vec::new();
|
||||
let tag_names = self.inner.tag_names(None)?;
|
||||
for name in tag_names
|
||||
.iter()
|
||||
@ -135,14 +172,22 @@ impl Repository {
|
||||
{
|
||||
let obj = self.inner.revparse_single(&name)?;
|
||||
if let Ok(commit) = obj.clone().into_commit() {
|
||||
tags.push((commit, name));
|
||||
tags.push((commit, Tag {
|
||||
name,
|
||||
message: None,
|
||||
}));
|
||||
} else if let Some(tag) = obj.as_tag() {
|
||||
if let Some(commit) = tag
|
||||
.target()
|
||||
.ok()
|
||||
.and_then(|target| target.into_commit().ok())
|
||||
{
|
||||
tags.push((commit, name));
|
||||
tags.push((commit, Tag {
|
||||
name: tag.name().map(String::from).unwrap_or(name),
|
||||
message: tag.message().map(|msg| {
|
||||
TAG_SIGNATURE_REGEX.replace(msg, "").trim().to_owned()
|
||||
}),
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -264,7 +309,7 @@ mod test {
|
||||
fn get_latest_tag() -> Result<()> {
|
||||
let repository = get_repository()?;
|
||||
let tags = repository.tags(&None, false)?;
|
||||
assert_eq!(&get_last_tag()?, tags.last().expect("no tags found").1);
|
||||
assert_eq!(get_last_tag()?, tags.last().expect("no tags found").1.name);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@ -273,16 +318,20 @@ mod test {
|
||||
let repository = get_repository()?;
|
||||
let tags = repository.tags(&None, true)?;
|
||||
assert_eq!(
|
||||
tags.get("2b8b4d3535f29231e05c3572e919634b9af907b6").expect(
|
||||
"the commit hash does not exist in the repository (tag v0.1.0)"
|
||||
),
|
||||
tags.get("2b8b4d3535f29231e05c3572e919634b9af907b6")
|
||||
.expect(
|
||||
"the commit hash does not exist in the repository (tag v0.1.0)"
|
||||
)
|
||||
.name,
|
||||
"v0.1.0"
|
||||
);
|
||||
assert_eq!(
|
||||
tags.get("4ddef08debfff48117586296e49d5caa0800d1b5").expect(
|
||||
"the commit hash does not exist in the repository (tag \
|
||||
v0.1.0-beta.4)"
|
||||
),
|
||||
tags.get("4ddef08debfff48117586296e49d5caa0800d1b5")
|
||||
.expect(
|
||||
"the commit hash does not exist in the repository (tag \
|
||||
v0.1.0-beta.4)"
|
||||
)
|
||||
.name,
|
||||
"v0.1.0-beta.4"
|
||||
);
|
||||
let tags = repository.tags(
|
||||
@ -293,9 +342,11 @@ mod test {
|
||||
true,
|
||||
)?;
|
||||
assert_eq!(
|
||||
tags.get("2b8b4d3535f29231e05c3572e919634b9af907b6").expect(
|
||||
"the commit hash does not exist in the repository (tag v0.1.0)"
|
||||
),
|
||||
tags.get("2b8b4d3535f29231e05c3572e919634b9af907b6")
|
||||
.expect(
|
||||
"the commit hash does not exist in the repository (tag v0.1.0)"
|
||||
)
|
||||
.name,
|
||||
"v0.1.0"
|
||||
);
|
||||
assert!(!tags.contains_key("4ddef08debfff48117586296e49d5caa0800d1b5"));
|
||||
@ -316,4 +367,30 @@ mod test {
|
||||
);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn resolves_existing_tag_with_name_and_message() -> Result<()> {
|
||||
let repository = get_repository()?;
|
||||
let tag = repository.resolve_tag("v0.2.3");
|
||||
assert_eq!(tag.name, "v0.2.3");
|
||||
assert_eq!(
|
||||
tag.message,
|
||||
Some(
|
||||
"Release v0.2.3\n\nBug Fixes\n- Fetch the dependencies before \
|
||||
copying the file to embed (9e29c95)"
|
||||
.to_string()
|
||||
)
|
||||
);
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn resolves_tag_when_no_tags_exist() -> Result<()> {
|
||||
let repository = get_repository()?;
|
||||
let tag = repository.resolve_tag("nonexistent-tag");
|
||||
assert_eq!(tag.name, "nonexistent-tag");
|
||||
assert_eq!(tag.message, None);
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
47
git-cliff-core/src/tag.rs
Normal file
47
git-cliff-core/src/tag.rs
Normal file
@ -0,0 +1,47 @@
|
||||
/// Common tag object that is parsed from a repository.
|
||||
///
|
||||
/// Lightweight tags will have `None` as message.
|
||||
#[derive(Debug)]
|
||||
pub struct Tag {
|
||||
/// The name of the tag
|
||||
pub name: String,
|
||||
/// The message of the tag (only if it was annotated).
|
||||
pub message: Option<String>,
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn create_tag_with_name_and_message() {
|
||||
let tag = Tag {
|
||||
name: String::from("v1.0"),
|
||||
message: Some(String::from("Initial release")),
|
||||
};
|
||||
assert_eq!(tag.name, "v1.0");
|
||||
assert_eq!(tag.message, Some(String::from("Initial release")));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn create_tag_with_name_and_no_message() {
|
||||
let tag = Tag {
|
||||
name: String::from("v1.0"),
|
||||
message: None,
|
||||
};
|
||||
assert_eq!(tag.name, "v1.0");
|
||||
assert_eq!(tag.message, None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn debug_print_tag_with_message() {
|
||||
let tag = Tag {
|
||||
name: String::from("v1.0"),
|
||||
message: Some(String::from("Initial release")),
|
||||
};
|
||||
assert_eq!(
|
||||
format!("{:?}", tag),
|
||||
"Tag { name: \"v1.0\", message: Some(\"Initial release\") }"
|
||||
);
|
||||
}
|
||||
}
|
@ -189,6 +189,7 @@ mod test {
|
||||
fn get_fake_release_data() -> Release<'static> {
|
||||
Release {
|
||||
version: Some(String::from("1.0")),
|
||||
message: None,
|
||||
commits: vec![
|
||||
Commit::new(
|
||||
String::from("123123"),
|
||||
|
@ -149,6 +149,7 @@ fn generate_changelog() -> Result<()> {
|
||||
let releases = vec![
|
||||
Release {
|
||||
version: Some(String::from("v2.0.0")),
|
||||
message: None,
|
||||
commits: vec![
|
||||
|
||||
Commit::new(
|
||||
@ -213,6 +214,7 @@ fn generate_changelog() -> Result<()> {
|
||||
},
|
||||
Release {
|
||||
version: Some(String::from("v1.0.0")),
|
||||
message: None,
|
||||
commits: vec![
|
||||
Commit::new(
|
||||
String::from("0bc123"),
|
||||
|
@ -45,7 +45,7 @@ secrecy.workspace = true
|
||||
lazy_static.workspace = true
|
||||
dirs.workspace = true
|
||||
clap = { version = "4.5.7", features = ["derive", "env", "wrap_help", "cargo"] }
|
||||
clap_complete = "4.5.5"
|
||||
clap_complete = "4.5.6"
|
||||
clap_mangen = "0.2.21"
|
||||
shellexpand = "3.1.0"
|
||||
update-informer = { version = "1.1.0", optional = true }
|
||||
|
@ -64,7 +64,7 @@ pub struct Opt {
|
||||
help = "Prints help information",
|
||||
help_heading = "FLAGS"
|
||||
)]
|
||||
pub help: Option<bool>,
|
||||
pub help: Option<bool>,
|
||||
#[arg(
|
||||
short = 'V',
|
||||
long,
|
||||
@ -73,10 +73,10 @@ pub struct Opt {
|
||||
help = "Prints version information",
|
||||
help_heading = "FLAGS"
|
||||
)]
|
||||
pub version: Option<bool>,
|
||||
pub version: Option<bool>,
|
||||
/// Increases the logging verbosity.
|
||||
#[arg(short, long, action = ArgAction::Count, alias = "debug", help_heading = Some("FLAGS"))]
|
||||
pub verbose: u8,
|
||||
pub verbose: u8,
|
||||
/// Writes the default configuration file to cliff.toml
|
||||
#[arg(
|
||||
short,
|
||||
@ -85,7 +85,7 @@ pub struct Opt {
|
||||
num_args = 0..=1,
|
||||
required = false
|
||||
)]
|
||||
pub init: Option<Option<String>>,
|
||||
pub init: Option<Option<String>>,
|
||||
/// Sets the configuration file.
|
||||
#[arg(
|
||||
short,
|
||||
@ -95,7 +95,7 @@ pub struct Opt {
|
||||
default_value = DEFAULT_CONFIG,
|
||||
value_parser = Opt::parse_dir
|
||||
)]
|
||||
pub config: PathBuf,
|
||||
pub config: PathBuf,
|
||||
/// Sets the working directory.
|
||||
#[arg(
|
||||
short,
|
||||
@ -104,7 +104,7 @@ pub struct Opt {
|
||||
value_name = "PATH",
|
||||
value_parser = Opt::parse_dir
|
||||
)]
|
||||
pub workdir: Option<PathBuf>,
|
||||
pub workdir: Option<PathBuf>,
|
||||
/// Sets the git repository.
|
||||
#[arg(
|
||||
short,
|
||||
@ -114,7 +114,7 @@ pub struct Opt {
|
||||
num_args(1..),
|
||||
value_parser = Opt::parse_dir
|
||||
)]
|
||||
pub repository: Option<Vec<PathBuf>>,
|
||||
pub repository: Option<Vec<PathBuf>>,
|
||||
/// Sets the path to include related commits.
|
||||
#[arg(
|
||||
long,
|
||||
@ -122,7 +122,7 @@ pub struct Opt {
|
||||
value_name = "PATTERN",
|
||||
num_args(1..)
|
||||
)]
|
||||
pub include_path: Option<Vec<Pattern>>,
|
||||
pub include_path: Option<Vec<Pattern>>,
|
||||
/// Sets the path to exclude related commits.
|
||||
#[arg(
|
||||
long,
|
||||
@ -130,10 +130,10 @@ pub struct Opt {
|
||||
value_name = "PATTERN",
|
||||
num_args(1..)
|
||||
)]
|
||||
pub exclude_path: Option<Vec<Pattern>>,
|
||||
pub exclude_path: Option<Vec<Pattern>>,
|
||||
/// Sets the regex for matching git tags.
|
||||
#[arg(long, env = "GIT_CLIFF_TAG_PATTERN", value_name = "PATTERN")]
|
||||
pub tag_pattern: Option<Regex>,
|
||||
pub tag_pattern: Option<Regex>,
|
||||
/// Sets custom commit messages to include in the changelog.
|
||||
#[arg(
|
||||
long,
|
||||
@ -141,10 +141,18 @@ pub struct Opt {
|
||||
value_name = "MSG",
|
||||
num_args(1..)
|
||||
)]
|
||||
pub with_commit: Option<Vec<String>>,
|
||||
pub with_commit: Option<Vec<String>>,
|
||||
/// Sets custom message for the latest release.
|
||||
#[arg(
|
||||
long,
|
||||
env = "GIT_CLIFF_WITH_TAG_MESSAGE",
|
||||
value_name = "MSG",
|
||||
num_args = 0..=1,
|
||||
)]
|
||||
pub with_tag_message: Option<String>,
|
||||
/// Sets the tags to ignore in the changelog.
|
||||
#[arg(long, env = "GIT_CLIFF_IGNORE_TAGS", value_name = "PATTERN")]
|
||||
pub ignore_tags: Option<Regex>,
|
||||
pub ignore_tags: Option<Regex>,
|
||||
/// Sets commits that will be skipped in the changelog.
|
||||
#[arg(
|
||||
long,
|
||||
@ -152,7 +160,7 @@ pub struct Opt {
|
||||
value_name = "SHA1",
|
||||
num_args(1..)
|
||||
)]
|
||||
pub skip_commit: Option<Vec<String>>,
|
||||
pub skip_commit: Option<Vec<String>>,
|
||||
/// Prepends entries to the given changelog file.
|
||||
#[arg(
|
||||
short,
|
||||
@ -161,7 +169,7 @@ pub struct Opt {
|
||||
value_name = "PATH",
|
||||
value_parser = Opt::parse_dir
|
||||
)]
|
||||
pub prepend: Option<PathBuf>,
|
||||
pub prepend: Option<PathBuf>,
|
||||
/// Writes output to the given file.
|
||||
#[arg(
|
||||
short,
|
||||
@ -172,7 +180,7 @@ pub struct Opt {
|
||||
num_args = 0..=1,
|
||||
default_missing_value = DEFAULT_OUTPUT
|
||||
)]
|
||||
pub output: Option<PathBuf>,
|
||||
pub output: Option<PathBuf>,
|
||||
/// Sets the tag for the latest version.
|
||||
#[arg(
|
||||
short,
|
||||
@ -181,13 +189,13 @@ pub struct Opt {
|
||||
value_name = "TAG",
|
||||
allow_hyphen_values = true
|
||||
)]
|
||||
pub tag: Option<String>,
|
||||
pub tag: Option<String>,
|
||||
/// Bumps the version for unreleased changes.
|
||||
#[arg(long, help_heading = Some("FLAGS"))]
|
||||
pub bump: bool,
|
||||
pub bump: bool,
|
||||
/// Prints bumped version for unreleased changes.
|
||||
#[arg(long, help_heading = Some("FLAGS"))]
|
||||
pub bumped_version: bool,
|
||||
pub bumped_version: bool,
|
||||
/// Sets the template for the changelog body.
|
||||
#[arg(
|
||||
short,
|
||||
@ -196,38 +204,38 @@ pub struct Opt {
|
||||
value_name = "TEMPLATE",
|
||||
allow_hyphen_values = true
|
||||
)]
|
||||
pub body: Option<String>,
|
||||
pub body: Option<String>,
|
||||
/// Processes the commits starting from the latest tag.
|
||||
#[arg(short, long, help_heading = Some("FLAGS"))]
|
||||
pub latest: bool,
|
||||
pub latest: bool,
|
||||
/// Processes the commits that belong to the current tag.
|
||||
#[arg(long, help_heading = Some("FLAGS"))]
|
||||
pub current: bool,
|
||||
pub current: bool,
|
||||
/// Processes the commits that do not belong to a tag.
|
||||
#[arg(short, long, help_heading = Some("FLAGS"))]
|
||||
pub unreleased: bool,
|
||||
pub unreleased: bool,
|
||||
/// Sorts the tags topologically.
|
||||
#[arg(long, help_heading = Some("FLAGS"))]
|
||||
pub topo_order: bool,
|
||||
pub topo_order: bool,
|
||||
/// Disables the external command execution.
|
||||
#[arg(long, help_heading = Some("FLAGS"))]
|
||||
pub no_exec: bool,
|
||||
pub no_exec: bool,
|
||||
/// Prints changelog context as JSON.
|
||||
#[arg(short = 'x', long, help_heading = Some("FLAGS"))]
|
||||
pub context: bool,
|
||||
pub context: bool,
|
||||
/// Strips the given parts from the changelog.
|
||||
#[arg(short, long, value_name = "PART", value_enum)]
|
||||
pub strip: Option<Strip>,
|
||||
pub strip: Option<Strip>,
|
||||
/// Sets sorting of the commits inside sections.
|
||||
#[arg(
|
||||
long,
|
||||
value_enum,
|
||||
default_value_t = Sort::Oldest
|
||||
)]
|
||||
pub sort: Sort,
|
||||
pub sort: Sort,
|
||||
/// Sets the commit range to process.
|
||||
#[arg(value_name = "RANGE", help_heading = Some("ARGS"))]
|
||||
pub range: Option<String>,
|
||||
pub range: Option<String>,
|
||||
/// Sets the GitHub API token.
|
||||
#[arg(
|
||||
long,
|
||||
@ -236,7 +244,7 @@ pub struct Opt {
|
||||
hide_env_values = true,
|
||||
hide = !cfg!(feature = "github"),
|
||||
)]
|
||||
pub github_token: Option<SecretString>,
|
||||
pub github_token: Option<SecretString>,
|
||||
/// Sets the GitHub repository.
|
||||
#[arg(
|
||||
long,
|
||||
@ -245,7 +253,7 @@ pub struct Opt {
|
||||
value_name = "OWNER/REPO",
|
||||
hide = !cfg!(feature = "github"),
|
||||
)]
|
||||
pub github_repo: Option<RemoteValue>,
|
||||
pub github_repo: Option<RemoteValue>,
|
||||
/// Sets the GitLab API token.
|
||||
#[arg(
|
||||
long,
|
||||
@ -254,7 +262,7 @@ pub struct Opt {
|
||||
hide_env_values = true,
|
||||
hide = !cfg!(feature = "gitlab"),
|
||||
)]
|
||||
pub gitlab_token: Option<SecretString>,
|
||||
pub gitlab_token: Option<SecretString>,
|
||||
/// Sets the GitLab repository.
|
||||
#[arg(
|
||||
long,
|
||||
@ -263,7 +271,7 @@ pub struct Opt {
|
||||
value_name = "OWNER/REPO",
|
||||
hide = !cfg!(feature = "gitlab"),
|
||||
)]
|
||||
pub gitlab_repo: Option<RemoteValue>,
|
||||
pub gitlab_repo: Option<RemoteValue>,
|
||||
/// Sets the Gitea API token.
|
||||
#[arg(
|
||||
long,
|
||||
@ -272,7 +280,7 @@ pub struct Opt {
|
||||
hide_env_values = true,
|
||||
hide = !cfg!(feature = "gitea"),
|
||||
)]
|
||||
pub gitea_token: Option<SecretString>,
|
||||
pub gitea_token: Option<SecretString>,
|
||||
/// Sets the GitLab repository.
|
||||
#[arg(
|
||||
long,
|
||||
@ -281,7 +289,7 @@ pub struct Opt {
|
||||
value_name = "OWNER/REPO",
|
||||
hide = !cfg!(feature = "gitea"),
|
||||
)]
|
||||
pub gitea_repo: Option<RemoteValue>,
|
||||
pub gitea_repo: Option<RemoteValue>,
|
||||
/// Sets the Bitbucket API token.
|
||||
#[arg(
|
||||
long,
|
||||
@ -290,7 +298,7 @@ pub struct Opt {
|
||||
hide_env_values = true,
|
||||
hide = !cfg!(feature = "bitbucket"),
|
||||
)]
|
||||
pub bitbucket_token: Option<SecretString>,
|
||||
pub bitbucket_token: Option<SecretString>,
|
||||
/// Sets the Bitbucket repository.
|
||||
#[arg(
|
||||
long,
|
||||
@ -299,7 +307,7 @@ pub struct Opt {
|
||||
value_name = "OWNER/REPO",
|
||||
hide = !cfg!(feature = "bitbucket"),
|
||||
)]
|
||||
pub bitbucket_repo: Option<RemoteValue>,
|
||||
pub bitbucket_repo: Option<RemoteValue>,
|
||||
}
|
||||
|
||||
/// Custom type for the remote value.
|
||||
|
@ -90,7 +90,9 @@ fn process_repository<'a>(
|
||||
let ignore_regex = config.git.ignore_tags.as_ref();
|
||||
tags = tags
|
||||
.into_iter()
|
||||
.filter(|(_, name)| {
|
||||
.filter(|(_, tag)| {
|
||||
let name = &tag.name;
|
||||
|
||||
// Keep skip tags to drop commits in the later stage.
|
||||
let skip = skip_regex.map(|r| r.is_match(name)).unwrap_or_default();
|
||||
|
||||
@ -184,7 +186,7 @@ fn process_repository<'a>(
|
||||
repository.current_tag().as_ref().and_then(|tag| {
|
||||
tags.iter()
|
||||
.enumerate()
|
||||
.find(|(_, (_, v))| v == &tag)
|
||||
.find(|(_, (_, v))| v.name == tag.name)
|
||||
.map(|(i, _)| i)
|
||||
}) {
|
||||
match current_tag_index.checked_sub(1) {
|
||||
@ -226,10 +228,10 @@ fn process_repository<'a>(
|
||||
if let Some(commit_id) = commits.first().map(|c| c.id().to_string()) {
|
||||
match tags.get(&commit_id) {
|
||||
Some(tag) => {
|
||||
warn!("There is already a tag ({}) for {}", tag, commit_id)
|
||||
warn!("There is already a tag ({:?}) for {}", tag, commit_id)
|
||||
}
|
||||
None => {
|
||||
tags.insert(commit_id, tag.to_string());
|
||||
tags.insert(commit_id, repository.resolve_tag(tag));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -251,9 +253,13 @@ fn process_repository<'a>(
|
||||
releases[release_index].commits.push(commit);
|
||||
}
|
||||
if let Some(tag) = tags.get(&commit_id) {
|
||||
releases[release_index].version = Some(tag.to_string());
|
||||
let tag_name = &tag.name;
|
||||
|
||||
releases[release_index].version = Some(tag_name.clone());
|
||||
releases[release_index].message = tag.message.clone();
|
||||
releases[release_index].commit_id = Some(commit_id);
|
||||
releases[release_index].timestamp = if args.tag.as_deref() == Some(tag) {
|
||||
releases[release_index].timestamp = if args.tag == Some(tag_name.clone())
|
||||
{
|
||||
SystemTime::now()
|
||||
.duration_since(UNIX_EPOCH)?
|
||||
.as_secs()
|
||||
@ -288,6 +294,13 @@ fn process_repository<'a>(
|
||||
}
|
||||
}
|
||||
|
||||
// Set custom message for the latest release.
|
||||
if let Some(message) = &args.with_tag_message {
|
||||
if let Some(latest_release) = releases.iter_mut().last() {
|
||||
latest_release.message = Some(message.to_owned());
|
||||
}
|
||||
}
|
||||
|
||||
// Set the previous release if the first release does not have one set.
|
||||
if !releases.is_empty() &&
|
||||
releases
|
||||
@ -301,7 +314,7 @@ fn process_repository<'a>(
|
||||
.map(|tag| {
|
||||
tags.iter()
|
||||
.enumerate()
|
||||
.find(|(_, (_, v))| v == &tag)
|
||||
.find(|(_, (_, v))| v.name == tag.name)
|
||||
.and_then(|(i, _)| i.checked_sub(1))
|
||||
.and_then(|i| tags.get_index(i))
|
||||
})
|
||||
@ -309,10 +322,10 @@ fn process_repository<'a>(
|
||||
.flatten();
|
||||
|
||||
// Set the previous release if the first tag is found.
|
||||
if let Some((commit_id, version)) = first_tag {
|
||||
if let Some((commit_id, tag)) = first_tag {
|
||||
let previous_release = Release {
|
||||
commit_id: Some(commit_id.to_string()),
|
||||
version: Some(version.to_string()),
|
||||
version: Some(tag.name.clone()),
|
||||
timestamp: repository
|
||||
.find_commit(commit_id.to_string())
|
||||
.map(|v| v.time().seconds())
|
||||
|
@ -33,3 +33,51 @@ When `false`, a breaking change commit will trigger:
|
||||
Configures the initial version of the project.
|
||||
|
||||
When set, the version will be set to this value if no tags are found.
|
||||
|
||||
### custom_major_increment_regex & custom_minor_increment_regex
|
||||
|
||||
Configures additional commit types that should increment the major or minor accordingly.
|
||||
|
||||
They should be used rarely, only in the case you have a spacial case for incrementing versions.
|
||||
|
||||
Expects a valid regex pattern.
|
||||
|
||||
For example:
|
||||
|
||||
```toml
|
||||
[bump]
|
||||
features_always_bump_minor = true
|
||||
breaking_always_bump_major = true
|
||||
custom_major_increment_regex = "major"
|
||||
custom_minor_increment_regex = "minor|more"
|
||||
```
|
||||
|
||||
with this history:
|
||||
|
||||
```
|
||||
5189568 (HEAD -> main) major: 1
|
||||
0b17b48 (tag: 0.1.0) initial commit
|
||||
```
|
||||
|
||||
will result in:
|
||||
|
||||
```bash
|
||||
git-cliff --bumped-version
|
||||
|
||||
1.0.0
|
||||
```
|
||||
|
||||
or, with history:
|
||||
|
||||
```
|
||||
47206d0 (HEAD -> main) more: 1
|
||||
0b17b48 (tag: 0.1.0) initial commit
|
||||
```
|
||||
|
||||
will result in:
|
||||
|
||||
```bash
|
||||
git-cliff --bumped-version
|
||||
|
||||
0.2.0
|
||||
```
|
||||
|
@ -25,6 +25,7 @@ following context is generated to use for templating:
|
||||
```json
|
||||
{
|
||||
"version": "v0.1.0-rc.21",
|
||||
"message": "The annotated tag message for the release"
|
||||
"commits": [
|
||||
{
|
||||
"id": "e795460c9bb7275294d1fa53a9d73258fb51eb10",
|
||||
@ -130,6 +131,7 @@ If [`conventional_commits`](/docs/configuration/git#conventional_commits) is set
|
||||
```json
|
||||
{
|
||||
"version": "v0.1.0-rc.21",
|
||||
"message": "The annotated tag message for the release"
|
||||
"commits": [
|
||||
{
|
||||
"id": "e795460c9bb7275294d1fa53a9d73258fb51eb10",
|
||||
|
42
website/docs/usage/adding-tag-messages.md
Normal file
42
website/docs/usage/adding-tag-messages.md
Normal file
@ -0,0 +1,42 @@
|
||||
---
|
||||
sidebar_position: 9
|
||||
---
|
||||
|
||||
# Adding version (tag) message
|
||||
|
||||
Sometimes, you might want to include a special message or note related to a version of your project.
|
||||
This can be used to highlight significant milestones, provide additional context, or share information not captured by individual commit messages.
|
||||
|
||||
There are currently 2 ways of doing this, in both ways, the message is available in the context of the template under the name `message`:
|
||||
|
||||
```
|
||||
{% if message %}
|
||||
{{ message }}
|
||||
{% endif %}\
|
||||
```
|
||||
|
||||
## Using annotated tags
|
||||
|
||||
The recommended way of adding a version message is to add the message to the tag:
|
||||
|
||||
```bash
|
||||
git tag v1.0.0 -m "first release, yay!"
|
||||
```
|
||||
|
||||
So in the release's context, `message` will be "first release, yay!" (even if it is signed).
|
||||
|
||||
## Using `--with-tag-message`
|
||||
|
||||
If for some reason you don't want to have the message in the tag (or don't have a tag yet) but want to include it in the generated changelog, you can use the `--with-tag-message` flag:
|
||||
|
||||
```bash
|
||||
git cliff --bump --unreleased --with-tag-message "some text"
|
||||
```
|
||||
|
||||
In this case, you can only add a message to the latest release.
|
||||
|
||||
:::note
|
||||
|
||||
Please note that if you use `--with-tag-message` on a version it will ignore the original tag's message and use the one from the argument.
|
||||
|
||||
:::
|
@ -20,33 +20,38 @@ git-cliff [FLAGS] [OPTIONS] [--] [RANGE]
|
||||
--current Processes the commits that belong to the current tag
|
||||
-u, --unreleased Processes the commits that do not belong to a tag
|
||||
--topo-order Sorts the tags topologically
|
||||
-x, --context Prints changelog context as JSON
|
||||
--no-exec Disables the external command execution
|
||||
-x, --context Prints changelog context as JSON
|
||||
```
|
||||
|
||||
## Options
|
||||
|
||||
```
|
||||
-i, --init [<CONFIG>] Writes the default configuration file to cliff.toml
|
||||
-c, --config <PATH> Sets the configuration file [env: GIT_CLIFF_CONFIG=] [default: cliff.toml]
|
||||
-w, --workdir <PATH> Sets the working directory [env: GIT_CLIFF_WORKDIR=]
|
||||
-r, --repository <PATH>... Sets the git repository [env: GIT_CLIFF_REPOSITORY=]
|
||||
--include-path <PATTERN>... Sets the path to include related commits [env: GIT_CLIFF_INCLUDE_PATH=]
|
||||
--exclude-path <PATTERN>... Sets the path to exclude related commits [env: GIT_CLIFF_EXCLUDE_PATH=]
|
||||
--tag-pattern <PATTERN> Sets the regex for matching git tags [env: GIT_CLIFF_TAG_PATTERN=]
|
||||
--with-commit <MSG>... Sets custom commit messages to include in the changelog [env: GIT_CLIFF_WITH_COMMIT=]
|
||||
--ignore-tags <PATTERN> Sets the tags to ignore in the changelog [env: GIT_CLIFF_IGNORE_TAGS=]
|
||||
--skip-commit <SHA1>... Sets commits that will be skipped in the changelog [env: GIT_CLIFF_SKIP_COMMIT=]
|
||||
-p, --prepend <PATH> Prepends entries to the given changelog file [env: GIT_CLIFF_PREPEND=]
|
||||
-o, --output [<PATH>] Writes output to the given file [env: GIT_CLIFF_OUTPUT=]
|
||||
-t, --tag <TAG> Sets the tag for the latest version [env: GIT_CLIFF_TAG=]
|
||||
-b, --body <TEMPLATE> Sets the template for the changelog body [env: GIT_CLIFF_TEMPLATE=]
|
||||
-s, --strip <PART> Strips the given parts from the changelog [possible values: header, footer, all]
|
||||
--sort <SORT> Sets sorting of the commits inside sections [default: oldest] [possible values: oldest, newest]
|
||||
--github-token <TOKEN> Sets the GitHub API token [env: GITHUB_TOKEN]
|
||||
--github-repo <OWNER/REPO> Sets the GitHub repository [env: GITHUB_REPO=]
|
||||
--gitlab-token <TOKEN> Sets the GitLab API token [env: GITLAB_TOKEN]
|
||||
--gitlab-repo <OWNER/REPO> Sets the GitLab repository [env: GITLAB_REPO=]
|
||||
-i, --init [<CONFIG>] Writes the default configuration file to cliff.toml
|
||||
-c, --config <PATH> Sets the configuration file [env: GIT_CLIFF_CONFIG=] [default: cliff.toml]
|
||||
-w, --workdir <PATH> Sets the working directory [env: GIT_CLIFF_WORKDIR=]
|
||||
-r, --repository <PATH>... Sets the git repository [env: GIT_CLIFF_REPOSITORY=]
|
||||
--include-path <PATTERN>... Sets the path to include related commits [env: GIT_CLIFF_INCLUDE_PATH=]
|
||||
--exclude-path <PATTERN>... Sets the path to exclude related commits [env: GIT_CLIFF_EXCLUDE_PATH=]
|
||||
--tag-pattern <PATTERN> Sets the regex for matching git tags [env: GIT_CLIFF_TAG_PATTERN=]
|
||||
--with-commit <MSG>... Sets custom commit messages to include in the changelog [env: GIT_CLIFF_WITH_COMMIT=]
|
||||
--with-tag-message [<MSG>] Sets custom message for the latest release [env: GIT_CLIFF_WITH_TAG_MESSAGE=]
|
||||
--ignore-tags <PATTERN> Sets the tags to ignore in the changelog [env: GIT_CLIFF_IGNORE_TAGS=]
|
||||
--skip-commit <SHA1>... Sets commits that will be skipped in the changelog [env: GIT_CLIFF_SKIP_COMMIT=]
|
||||
-p, --prepend <PATH> Prepends entries to the given changelog file [env: GIT_CLIFF_PREPEND=]
|
||||
-o, --output [<PATH>] Writes output to the given file [env: GIT_CLIFF_OUTPUT=]
|
||||
-t, --tag <TAG> Sets the tag for the latest version [env: GIT_CLIFF_TAG=]
|
||||
-b, --body <TEMPLATE> Sets the template for the changelog body [env: GIT_CLIFF_TEMPLATE=]
|
||||
-s, --strip <PART> Strips the given parts from the changelog [possible values: header, footer, all]
|
||||
--sort <SORT> Sets sorting of the commits inside sections [default: oldest] [possible values: oldest, newest]
|
||||
--github-token <TOKEN> Sets the GitHub API token [env: GITHUB_TOKEN]
|
||||
--github-repo <OWNER/REPO> Sets the GitHub repository [env: GITHUB_REPO=]
|
||||
--gitlab-token <TOKEN> Sets the GitLab API token [env: GITLAB_TOKEN]
|
||||
--gitlab-repo <OWNER/REPO> Sets the GitLab repository [env: GITLAB_REPO=]
|
||||
--gitea-token <TOKEN> Sets the Gitea API token [env: GITEA_TOKEN]
|
||||
--gitea-repo <OWNER/REPO> Sets the GitLab repository [env: GITEA_REPO=]
|
||||
--bitbucket-token <TOKEN> Sets the Bitbucket API token [env: BITBUCKET_TOKEN]
|
||||
--bitbucket-repo <OWNER/REPO> Sets the Bitbucket repository [env: BITBUCKET_REPO=]
|
||||
```
|
||||
|
||||
## Args
|
||||
|
@ -1,5 +1,5 @@
|
||||
---
|
||||
sidebar_position: 9
|
||||
sidebar_position: 10
|
||||
---
|
||||
|
||||
# Print context
|
||||
|
10152
website/package-lock.json
generated
10152
website/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -18,7 +18,7 @@
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^3.4.0",
|
||||
"@docusaurus/preset-classic": "^3.4.0",
|
||||
"@easyops-cn/docusaurus-search-local": "^0.44.0",
|
||||
"@easyops-cn/docusaurus-search-local": "^0.44.2",
|
||||
"@mdx-js/react": "^3.0.1",
|
||||
"clsx": "^2.1.1",
|
||||
"prism-react-renderer": "^2.3.0",
|
||||
@ -28,7 +28,7 @@
|
||||
"devDependencies": {
|
||||
"@docusaurus/module-type-aliases": "^3.4.0",
|
||||
"@docusaurus/tsconfig": "^3.4.0",
|
||||
"typescript": "^5.4.5"
|
||||
"typescript": "^5.5.2"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
|
@ -84,7 +84,7 @@
|
||||
"@algolia/requester-common" "4.23.3"
|
||||
"@algolia/transporter" "4.23.3"
|
||||
|
||||
"@algolia/client-search@>= 4.9.1 < 6", "@algolia/client-search@4.23.3":
|
||||
"@algolia/client-search@4.23.3":
|
||||
version "4.23.3"
|
||||
resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.23.3.tgz"
|
||||
integrity sha512-P4VAKFHqU0wx9O+q29Q8YVuaowaZ5EM77rxfmGnkHUJggh28useXQdopokgwMeYw2XUht49WX5RcTQ40rZIabw==
|
||||
@ -176,7 +176,7 @@
|
||||
resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz"
|
||||
integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==
|
||||
|
||||
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.21.3", "@babel/core@^7.23.3", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0":
|
||||
"@babel/core@^7.21.3", "@babel/core@^7.23.3":
|
||||
version "7.24.7"
|
||||
resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz"
|
||||
integrity sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==
|
||||
@ -1243,7 +1243,7 @@
|
||||
"@docsearch/css" "3.6.0"
|
||||
algoliasearch "^4.19.1"
|
||||
|
||||
"@docusaurus/core@^3.4.0", "@docusaurus/core@3.4.0":
|
||||
"@docusaurus/core@3.4.0", "@docusaurus/core@^3.4.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/core/-/core-3.4.0.tgz"
|
||||
integrity sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==
|
||||
@ -1365,7 +1365,7 @@
|
||||
vfile "^6.0.1"
|
||||
webpack "^5.88.1"
|
||||
|
||||
"@docusaurus/module-type-aliases@^3.4.0", "@docusaurus/module-type-aliases@3.4.0":
|
||||
"@docusaurus/module-type-aliases@3.4.0", "@docusaurus/module-type-aliases@^3.4.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz"
|
||||
integrity sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==
|
||||
@ -1401,7 +1401,7 @@
|
||||
utility-types "^3.10.0"
|
||||
webpack "^5.88.1"
|
||||
|
||||
"@docusaurus/plugin-content-docs@^2 || ^3", "@docusaurus/plugin-content-docs@3.4.0":
|
||||
"@docusaurus/plugin-content-docs@3.4.0", "@docusaurus/plugin-content-docs@^2 || ^3":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz"
|
||||
integrity sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==
|
||||
@ -1545,7 +1545,7 @@
|
||||
tslib "^2.6.0"
|
||||
utility-types "^3.10.0"
|
||||
|
||||
"@docusaurus/theme-common@^2 || ^3", "@docusaurus/theme-common@3.4.0":
|
||||
"@docusaurus/theme-common@3.4.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.4.0.tgz"
|
||||
integrity sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==
|
||||
@ -1588,7 +1588,7 @@
|
||||
tslib "^2.6.0"
|
||||
utility-types "^3.10.0"
|
||||
|
||||
"@docusaurus/theme-translations@^2 || ^3", "@docusaurus/theme-translations@3.4.0":
|
||||
"@docusaurus/theme-translations@3.4.0", "@docusaurus/theme-translations@^2 || ^3":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz"
|
||||
integrity sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==
|
||||
@ -1601,7 +1601,7 @@
|
||||
resolved "https://registry.npmjs.org/@docusaurus/tsconfig/-/tsconfig-3.4.0.tgz"
|
||||
integrity sha512-0qENiJ+TRaeTzcg4olrnh0BQ7eCxTgbYWBnWUeQDc84UYkt/T3pDNnm3SiQkqPb+YQ1qtYFlC0RriAElclo8Dg==
|
||||
|
||||
"@docusaurus/types@*", "@docusaurus/types@3.4.0":
|
||||
"@docusaurus/types@3.4.0":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/types/-/types-3.4.0.tgz"
|
||||
integrity sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==
|
||||
@ -1616,14 +1616,14 @@
|
||||
webpack "^5.88.1"
|
||||
webpack-merge "^5.9.0"
|
||||
|
||||
"@docusaurus/utils-common@^2 || ^3", "@docusaurus/utils-common@3.4.0":
|
||||
"@docusaurus/utils-common@3.4.0", "@docusaurus/utils-common@^2 || ^3":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.4.0.tgz"
|
||||
integrity sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==
|
||||
dependencies:
|
||||
tslib "^2.6.0"
|
||||
|
||||
"@docusaurus/utils-validation@^2 || ^3", "@docusaurus/utils-validation@3.4.0":
|
||||
"@docusaurus/utils-validation@3.4.0", "@docusaurus/utils-validation@^2 || ^3":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz"
|
||||
integrity sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==
|
||||
@ -1637,7 +1637,7 @@
|
||||
lodash "^4.17.21"
|
||||
tslib "^2.6.0"
|
||||
|
||||
"@docusaurus/utils@^2 || ^3", "@docusaurus/utils@3.4.0":
|
||||
"@docusaurus/utils@3.4.0", "@docusaurus/utils@^2 || ^3":
|
||||
version "3.4.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.4.0.tgz"
|
||||
integrity sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==
|
||||
@ -1671,10 +1671,10 @@
|
||||
cssesc "^3.0.0"
|
||||
immediate "^3.2.3"
|
||||
|
||||
"@easyops-cn/docusaurus-search-local@^0.44.0":
|
||||
version "0.44.0"
|
||||
resolved "https://registry.yarnpkg.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.44.0.tgz#8f5ef8e68971223a69ecfd4956bf834319ccdeba"
|
||||
integrity sha512-sgLpvkRtYuEGvd4peYQW2oInI4JkcQfxo7HgEnkhcxn9kxDY5laA8DiCx9qMKAkM9cMed9e8IsLk5gBeDh8Rqw==
|
||||
"@easyops-cn/docusaurus-search-local@^0.44.2":
|
||||
version "0.44.2"
|
||||
resolved "https://registry.yarnpkg.com/@easyops-cn/docusaurus-search-local/-/docusaurus-search-local-0.44.2.tgz#580925d8b94220cecbe30c466bdc0b32cb275cf6"
|
||||
integrity sha512-4tMBU54R1O6ITxkMGwOEifSHNkZLa2fb4ajGc8rd6TYZ0a8+jlu/u/5gYtw1s6sGGMRkwyG+QI6HD0bEnCRa1w==
|
||||
dependencies:
|
||||
"@docusaurus/plugin-content-docs" "^2 || ^3"
|
||||
"@docusaurus/theme-translations" "^2 || ^3"
|
||||
@ -1693,6 +1693,28 @@
|
||||
mark.js "^8.11.1"
|
||||
tslib "^2.4.0"
|
||||
|
||||
"@emnapi/core@^1.1.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@emnapi/core/-/core-1.2.0.tgz#7b738e5033738132bf6af0b8fae7b05249bdcbd7"
|
||||
integrity sha512-E7Vgw78I93we4ZWdYCb4DGAwRROGkMIXk7/y87UmANR+J6qsWusmC3gLt0H+O0KOt5e6O38U8oJamgbudrES/w==
|
||||
dependencies:
|
||||
"@emnapi/wasi-threads" "1.0.1"
|
||||
tslib "^2.4.0"
|
||||
|
||||
"@emnapi/runtime@^1.1.0":
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/@emnapi/runtime/-/runtime-1.2.0.tgz#71d018546c3a91f3b51106530edbc056b9f2f2e3"
|
||||
integrity sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==
|
||||
dependencies:
|
||||
tslib "^2.4.0"
|
||||
|
||||
"@emnapi/wasi-threads@1.0.1":
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@emnapi/wasi-threads/-/wasi-threads-1.0.1.tgz#d7ae71fd2166b1c916c6cd2d0df2ef565a2e1a5b"
|
||||
integrity sha512-iIBu7mwkq4UQGeMEM8bLwNK962nXdhodeScX4slfQnRhEMMzvYivHhutCIk8uojvmASXXPC2WNEjwxFWk72Oqw==
|
||||
dependencies:
|
||||
tslib "^2.4.0"
|
||||
|
||||
"@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0":
|
||||
version "9.3.0"
|
||||
resolved "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz"
|
||||
@ -1805,6 +1827,55 @@
|
||||
dependencies:
|
||||
"@types/mdx" "^2.0.0"
|
||||
|
||||
"@napi-rs/wasm-runtime@^0.2.3":
|
||||
version "0.2.4"
|
||||
resolved "https://registry.yarnpkg.com/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz#d27788176f250d86e498081e3c5ff48a17606918"
|
||||
integrity sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==
|
||||
dependencies:
|
||||
"@emnapi/core" "^1.1.0"
|
||||
"@emnapi/runtime" "^1.1.0"
|
||||
"@tybys/wasm-util" "^0.9.0"
|
||||
|
||||
"@node-rs/jieba-android-arm-eabi@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-android-arm-eabi/-/jieba-android-arm-eabi-1.10.3.tgz#821af26a4953b3fbdf2f80a4d08a9d9114b40bea"
|
||||
integrity sha512-fuqVtaYlUKZg3cqagYFxj1DSa7ZHKXLle4iGH2kbQWg7Kw6cf7aCYBHIUZuH5sliK10M/CWccZ+SGRUwcSGfbg==
|
||||
|
||||
"@node-rs/jieba-android-arm64@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-android-arm64/-/jieba-android-arm64-1.10.3.tgz#e5c285fb8de71739dfa3a83d894adcadb799c404"
|
||||
integrity sha512-iuZZZq5yD9lT+AgaXpFe19gtAsIecUODRLLaBFbavjgjLk5cumv38ytWjS36s/eqptwI15MQfysSYOlWtMEG5g==
|
||||
|
||||
"@node-rs/jieba-darwin-arm64@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-darwin-arm64/-/jieba-darwin-arm64-1.10.3.tgz#67df85df39ff60dcc3e084f6e36e5182779b69ad"
|
||||
integrity sha512-dwPhkav1tEARskwPz91UUXL2NXy4h0lJYTuJzpGgwXxm552zBM2JJ41kjah1364j+EOq5At3NQvf5r5rH89phQ==
|
||||
|
||||
"@node-rs/jieba-darwin-x64@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-darwin-x64/-/jieba-darwin-x64-1.10.3.tgz#ffdc8a63335294d7c68d3aebec870ec0824ebe98"
|
||||
integrity sha512-kjxvV6G1baQo/2I3mELv5qGv4Q0rhd5srwXhypSxMWZFtSpNwCDsLcIOR5bvMBci6QVFfZOs6WD6DKiWVz0SlA==
|
||||
|
||||
"@node-rs/jieba-freebsd-x64@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-freebsd-x64/-/jieba-freebsd-x64-1.10.3.tgz#188349a9074b200af4a3e8a0ea169f45efd6c162"
|
||||
integrity sha512-QYTsn+zlWRil+MuBeLfTK5Md4GluOf2lHnFqjrOZW2oMgNOvxB3qoLV4TUf70S/E2XHeP6PUdjCKItX8C7GQPg==
|
||||
|
||||
"@node-rs/jieba-linux-arm-gnueabihf@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm-gnueabihf/-/jieba-linux-arm-gnueabihf-1.10.3.tgz#e1831b7b08a32904b12860555978c50222a97b54"
|
||||
integrity sha512-UFB43kDOvqmbRl99e3GPwaTuwJZaAvgLaMTvBkmxww4MpQH6G1k31RLzMW/S21uSQso2lj6W/Mm59gaJk2FiyA==
|
||||
|
||||
"@node-rs/jieba-linux-arm64-gnu@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm64-gnu/-/jieba-linux-arm64-gnu-1.10.3.tgz#326712eb7418f9796b113af93afe59ab64c37add"
|
||||
integrity sha512-bu++yWi10wZtnS5uLcwxzxKmHVT77NgQMK8JiQr1TWCl3Y1Th7CnEHQtxfVB489edDK8l644h1/4zSTe5fRnOQ==
|
||||
|
||||
"@node-rs/jieba-linux-arm64-musl@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-linux-arm64-musl/-/jieba-linux-arm64-musl-1.10.3.tgz#6a3149d5abbe09f7c7748da219d5c39522b36c8a"
|
||||
integrity sha512-pJh+SzrK1HaKakhdFM+ew9vXwpZqMxy9u0U7J4GT+3GvOwnAZ+KjeaHebIfgOz7ZHvp/T4YBNf8oWW4zwj3AJw==
|
||||
|
||||
"@node-rs/jieba-linux-x64-gnu@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.npmjs.org/@node-rs/jieba-linux-x64-gnu/-/jieba-linux-x64-gnu-1.10.3.tgz"
|
||||
@ -1815,6 +1886,28 @@
|
||||
resolved "https://registry.npmjs.org/@node-rs/jieba-linux-x64-musl/-/jieba-linux-x64-musl-1.10.3.tgz"
|
||||
integrity sha512-h45HMVU/hgzQ0saXNsK9fKlGdah1i1cXZULpB5vQRlRL2ZIaGp+ULtWTogS7vkoo2K8s2l4tqakWMg9eUjIJ2A==
|
||||
|
||||
"@node-rs/jieba-wasm32-wasi@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-wasm32-wasi/-/jieba-wasm32-wasi-1.10.3.tgz#b852eb2c9b8c81c5514ed8bb76d74c1cdf66fe76"
|
||||
integrity sha512-vuoQ62vVoedNGcBmIi4UWdtNBOZG8B+vDYfjx3FD6rNg6g/RgwbVjYXbOVMOQwX06Ob9CfrutICXdUGHgoxzEQ==
|
||||
dependencies:
|
||||
"@napi-rs/wasm-runtime" "^0.2.3"
|
||||
|
||||
"@node-rs/jieba-win32-arm64-msvc@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-win32-arm64-msvc/-/jieba-win32-arm64-msvc-1.10.3.tgz#eefce48df8ec0496a0e45593d0b5f8981bb32b80"
|
||||
integrity sha512-B8t4dh56TZnMLBoYWDkopf1ed37Ru/iU1qiIeBkbZWXGmNBChNZUOd//eaPOFjx8m9Sfc8bkj3FBRWt/kTAhmw==
|
||||
|
||||
"@node-rs/jieba-win32-ia32-msvc@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-win32-ia32-msvc/-/jieba-win32-ia32-msvc-1.10.3.tgz#edfb74e880a32f66a6810502957b62f9b042b487"
|
||||
integrity sha512-SKuPGZJ5T+X4jOn1S8LklOSZ6HC7UBiw0hwi2z9uqX6WgElquLjGi/xfZ2gPqffeR/5K/PUu7aqYUUPL1XonVQ==
|
||||
|
||||
"@node-rs/jieba-win32-x64-msvc@1.10.3":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.yarnpkg.com/@node-rs/jieba-win32-x64-msvc/-/jieba-win32-x64-msvc-1.10.3.tgz#285a24134d9c367b11d73060bdc37c351c3e60b5"
|
||||
integrity sha512-j9I4+a/tf2hsLu8Sr0NhcLBVNBBQctO2mzcjemMpRa1SlEeODyic9RIyP8Ljz3YTN6MYqKh1KA9iR1xvxjxYFg==
|
||||
|
||||
"@node-rs/jieba@^1.6.0":
|
||||
version "1.10.3"
|
||||
resolved "https://registry.npmjs.org/@node-rs/jieba/-/jieba-1.10.3.tgz"
|
||||
@ -1843,7 +1936,7 @@
|
||||
"@nodelib/fs.stat" "2.0.5"
|
||||
run-parallel "^1.1.9"
|
||||
|
||||
"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5":
|
||||
"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
|
||||
version "2.0.5"
|
||||
resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz"
|
||||
integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
|
||||
@ -1977,7 +2070,7 @@
|
||||
"@svgr/babel-plugin-transform-react-native-svg" "8.1.0"
|
||||
"@svgr/babel-plugin-transform-svg-component" "8.0.0"
|
||||
|
||||
"@svgr/core@*", "@svgr/core@8.1.0":
|
||||
"@svgr/core@8.1.0":
|
||||
version "8.1.0"
|
||||
resolved "https://registry.npmjs.org/@svgr/core/-/core-8.1.0.tgz"
|
||||
integrity sha512-8QqtOQT5ACVlmsvKOJNEaWmRPmcojMOzCz4Hs2BGG/toAp/K38LcsMRyLp349glq5AzJbCEeimEoxaX6v/fLrA==
|
||||
@ -2041,6 +2134,13 @@
|
||||
resolved "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz"
|
||||
integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
|
||||
|
||||
"@tybys/wasm-util@^0.9.0":
|
||||
version "0.9.0"
|
||||
resolved "https://registry.yarnpkg.com/@tybys/wasm-util/-/wasm-util-0.9.0.tgz#3e75eb00604c8d6db470bf18c37b7d984a0e3355"
|
||||
integrity sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==
|
||||
dependencies:
|
||||
tslib "^2.4.0"
|
||||
|
||||
"@types/acorn@^4.0.0":
|
||||
version "4.0.6"
|
||||
resolved "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz"
|
||||
@ -2288,7 +2388,7 @@
|
||||
"@types/history" "^4.7.11"
|
||||
"@types/react" "*"
|
||||
|
||||
"@types/react@*", "@types/react@>= 16.8.0 < 19.0.0", "@types/react@>=16":
|
||||
"@types/react@*":
|
||||
version "18.3.3"
|
||||
resolved "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz"
|
||||
integrity sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==
|
||||
@ -2373,7 +2473,7 @@
|
||||
resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz"
|
||||
integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==
|
||||
|
||||
"@webassemblyjs/ast@^1.12.1", "@webassemblyjs/ast@1.12.1":
|
||||
"@webassemblyjs/ast@1.12.1", "@webassemblyjs/ast@^1.12.1":
|
||||
version "1.12.1"
|
||||
resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz"
|
||||
integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==
|
||||
@ -2474,7 +2574,7 @@
|
||||
"@webassemblyjs/wasm-gen" "1.12.1"
|
||||
"@webassemblyjs/wasm-parser" "1.12.1"
|
||||
|
||||
"@webassemblyjs/wasm-parser@^1.12.1", "@webassemblyjs/wasm-parser@1.12.1":
|
||||
"@webassemblyjs/wasm-parser@1.12.1", "@webassemblyjs/wasm-parser@^1.12.1":
|
||||
version "1.12.1"
|
||||
resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz"
|
||||
integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==
|
||||
@ -2527,7 +2627,7 @@ acorn-walk@^8.0.0:
|
||||
resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz"
|
||||
integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==
|
||||
|
||||
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2:
|
||||
acorn@^8.0.0, acorn@^8.0.4, acorn@^8.7.1, acorn@^8.8.2:
|
||||
version "8.11.3"
|
||||
resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz"
|
||||
integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
|
||||
@ -2552,12 +2652,7 @@ ajv-formats@^2.1.1:
|
||||
dependencies:
|
||||
ajv "^8.0.0"
|
||||
|
||||
ajv-keywords@^3.4.1:
|
||||
version "3.5.2"
|
||||
resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz"
|
||||
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
|
||||
|
||||
ajv-keywords@^3.5.2:
|
||||
ajv-keywords@^3.4.1, ajv-keywords@^3.5.2:
|
||||
version "3.5.2"
|
||||
resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz"
|
||||
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
|
||||
@ -2569,7 +2664,7 @@ ajv-keywords@^5.1.0:
|
||||
dependencies:
|
||||
fast-deep-equal "^3.1.3"
|
||||
|
||||
ajv@^6.12.2, ajv@^6.12.5, ajv@^6.9.1:
|
||||
ajv@^6.12.2, ajv@^6.12.5:
|
||||
version "6.12.6"
|
||||
resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
|
||||
integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
|
||||
@ -2579,7 +2674,7 @@ ajv@^6.12.2, ajv@^6.12.5, ajv@^6.9.1:
|
||||
json-schema-traverse "^0.4.1"
|
||||
uri-js "^4.2.2"
|
||||
|
||||
ajv@^8.0.0, ajv@^8.8.2, ajv@^8.9.0:
|
||||
ajv@^8.0.0, ajv@^8.9.0:
|
||||
version "8.16.0"
|
||||
resolved "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz"
|
||||
integrity sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==
|
||||
@ -2596,7 +2691,7 @@ algoliasearch-helper@^3.13.3:
|
||||
dependencies:
|
||||
"@algolia/events" "^4.0.1"
|
||||
|
||||
algoliasearch@^4.18.0, algoliasearch@^4.19.1, "algoliasearch@>= 3.1 < 6", "algoliasearch@>= 4.9.1 < 6":
|
||||
algoliasearch@^4.18.0, algoliasearch@^4.19.1:
|
||||
version "4.23.3"
|
||||
resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.23.3.tgz"
|
||||
integrity sha512-Le/3YgNvjW9zxIQMRhUHuhiUjAlKY/zsdZpfq4dlLqg6mEm0nL6yk+7f2hDOtLpxsgE4jSzDmvHL7nXdBp5feg==
|
||||
@ -2853,7 +2948,7 @@ braces@^3.0.3, braces@~3.0.2:
|
||||
dependencies:
|
||||
fill-range "^7.1.1"
|
||||
|
||||
browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.23.0, "browserslist@>= 4.21.0":
|
||||
browserslist@^4.0.0, browserslist@^4.18.1, browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.23.0:
|
||||
version "4.23.1"
|
||||
resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz"
|
||||
integrity sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==
|
||||
@ -3111,16 +3206,16 @@ color-convert@^2.0.1:
|
||||
dependencies:
|
||||
color-name "~1.1.4"
|
||||
|
||||
color-name@~1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
color-name@1.1.3:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
|
||||
integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
|
||||
|
||||
color-name@~1.1.4:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
|
||||
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
||||
|
||||
colord@^2.9.3:
|
||||
version "2.9.3"
|
||||
resolved "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz"
|
||||
@ -3491,27 +3586,20 @@ debounce@^1.2.1:
|
||||
resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz"
|
||||
integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==
|
||||
|
||||
debug@^2.6.0:
|
||||
debug@2.6.9, debug@^2.6.0:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
|
||||
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@4:
|
||||
debug@4, debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1:
|
||||
version "4.3.5"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz"
|
||||
integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
debug@2.6.9:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
|
||||
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
decode-named-character-reference@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz"
|
||||
@ -3585,16 +3673,16 @@ del@^6.1.1:
|
||||
rimraf "^3.0.2"
|
||||
slash "^3.0.0"
|
||||
|
||||
depd@~1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
|
||||
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
|
||||
|
||||
depd@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
|
||||
integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
|
||||
|
||||
depd@~1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz"
|
||||
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
|
||||
|
||||
dequal@^2.0.0:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz"
|
||||
@ -4083,7 +4171,7 @@ feed@^4.2.2:
|
||||
dependencies:
|
||||
xml-js "^1.6.11"
|
||||
|
||||
file-loader@*, file-loader@^6.2.0:
|
||||
file-loader@^6.2.0:
|
||||
version "6.2.0"
|
||||
resolved "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz"
|
||||
integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==
|
||||
@ -4239,6 +4327,11 @@ fs.realpath@^1.0.0:
|
||||
resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
|
||||
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
|
||||
|
||||
fsevents@~2.3.2:
|
||||
version "2.3.3"
|
||||
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
|
||||
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
|
||||
|
||||
function-bind@^1.1.2:
|
||||
version "1.1.2"
|
||||
resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
|
||||
@ -4381,16 +4474,16 @@ got@^12.1.0:
|
||||
p-cancelable "^3.0.0"
|
||||
responselike "^3.0.0"
|
||||
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
|
||||
version "4.2.11"
|
||||
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz"
|
||||
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
|
||||
|
||||
graceful-fs@4.2.10:
|
||||
version "4.2.10"
|
||||
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz"
|
||||
integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
|
||||
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
|
||||
version "4.2.11"
|
||||
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz"
|
||||
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
|
||||
|
||||
gray-matter@^4.0.3:
|
||||
version "4.0.3"
|
||||
resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz"
|
||||
@ -4687,16 +4780,6 @@ http-deceiver@^1.2.7:
|
||||
resolved "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz"
|
||||
integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==
|
||||
|
||||
http-errors@~1.6.2:
|
||||
version "1.6.3"
|
||||
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
|
||||
integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
|
||||
dependencies:
|
||||
depd "~1.1.2"
|
||||
inherits "2.0.3"
|
||||
setprototypeof "1.1.0"
|
||||
statuses ">= 1.4.0 < 2"
|
||||
|
||||
http-errors@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
|
||||
@ -4708,6 +4791,16 @@ http-errors@2.0.0:
|
||||
statuses "2.0.1"
|
||||
toidentifier "1.0.1"
|
||||
|
||||
http-errors@~1.6.2:
|
||||
version "1.6.3"
|
||||
resolved "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz"
|
||||
integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
|
||||
dependencies:
|
||||
depd "~1.1.2"
|
||||
inherits "2.0.3"
|
||||
setprototypeof "1.1.0"
|
||||
statuses ">= 1.4.0 < 2"
|
||||
|
||||
http-parser-js@>=0.5.1:
|
||||
version "0.5.8"
|
||||
resolved "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz"
|
||||
@ -4816,7 +4909,7 @@ inflight@^1.0.4:
|
||||
once "^1.3.0"
|
||||
wrappy "1"
|
||||
|
||||
inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3, inherits@2, inherits@2.0.4:
|
||||
inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.3:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
|
||||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
@ -4826,16 +4919,16 @@ inherits@2.0.3:
|
||||
resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
|
||||
integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
|
||||
|
||||
ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
|
||||
version "1.3.8"
|
||||
resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz"
|
||||
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
|
||||
|
||||
ini@2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz"
|
||||
integrity sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==
|
||||
|
||||
ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
|
||||
version "1.3.8"
|
||||
resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz"
|
||||
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
|
||||
|
||||
inline-style-parser@0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz"
|
||||
@ -4858,16 +4951,16 @@ invariant@^2.2.4:
|
||||
dependencies:
|
||||
loose-envify "^1.0.0"
|
||||
|
||||
ipaddr.js@^2.0.1:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz"
|
||||
integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==
|
||||
|
||||
ipaddr.js@1.9.1:
|
||||
version "1.9.1"
|
||||
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
|
||||
integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
|
||||
|
||||
ipaddr.js@^2.0.1:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz"
|
||||
integrity sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==
|
||||
|
||||
is-alphabetical@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz"
|
||||
@ -5038,16 +5131,16 @@ is-yarn-global@^0.4.0:
|
||||
resolved "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz"
|
||||
integrity sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==
|
||||
|
||||
isarray@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
|
||||
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
|
||||
|
||||
isarray@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
|
||||
integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
|
||||
|
||||
isarray@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
|
||||
integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
|
||||
|
||||
isexe@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
|
||||
@ -6023,7 +6116,7 @@ micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
|
||||
braces "^3.0.3"
|
||||
picomatch "^2.3.1"
|
||||
|
||||
"mime-db@>= 1.43.0 < 2":
|
||||
mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
|
||||
version "1.52.0"
|
||||
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
|
||||
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
|
||||
@ -6033,40 +6126,14 @@ mime-db@~1.33.0:
|
||||
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz"
|
||||
integrity sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==
|
||||
|
||||
mime-db@1.52.0:
|
||||
version "1.52.0"
|
||||
resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
|
||||
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
|
||||
|
||||
mime-types@^2.1.27:
|
||||
version "2.1.35"
|
||||
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
|
||||
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
|
||||
dependencies:
|
||||
mime-db "1.52.0"
|
||||
|
||||
mime-types@^2.1.31:
|
||||
version "2.1.35"
|
||||
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
|
||||
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
|
||||
dependencies:
|
||||
mime-db "1.52.0"
|
||||
|
||||
mime-types@~2.1.17, mime-types@2.1.18:
|
||||
mime-types@2.1.18, mime-types@~2.1.17:
|
||||
version "2.1.18"
|
||||
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz"
|
||||
integrity sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==
|
||||
dependencies:
|
||||
mime-db "~1.33.0"
|
||||
|
||||
mime-types@~2.1.24:
|
||||
version "2.1.35"
|
||||
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
|
||||
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
|
||||
dependencies:
|
||||
mime-db "1.52.0"
|
||||
|
||||
mime-types@~2.1.34:
|
||||
mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.24, mime-types@~2.1.34:
|
||||
version "2.1.35"
|
||||
resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
|
||||
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
|
||||
@ -6106,7 +6173,7 @@ minimalistic-assert@^1.0.0:
|
||||
resolved "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"
|
||||
integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
|
||||
|
||||
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@3.1.2:
|
||||
minimatch@3.1.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
|
||||
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
|
||||
@ -6477,13 +6544,6 @@ path-parse@^1.0.7:
|
||||
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
|
||||
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
|
||||
|
||||
path-to-regexp@^1.7.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz"
|
||||
integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==
|
||||
dependencies:
|
||||
isarray "0.0.1"
|
||||
|
||||
path-to-regexp@0.1.7:
|
||||
version "0.1.7"
|
||||
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
|
||||
@ -6494,6 +6554,13 @@ path-to-regexp@2.2.1:
|
||||
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz"
|
||||
integrity sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==
|
||||
|
||||
path-to-regexp@^1.7.0:
|
||||
version "1.8.0"
|
||||
resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz"
|
||||
integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==
|
||||
dependencies:
|
||||
isarray "0.0.1"
|
||||
|
||||
path-type@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
|
||||
@ -6812,7 +6879,7 @@ postcss-zindex@^6.0.2:
|
||||
resolved "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-6.0.2.tgz"
|
||||
integrity sha512-5BxW9l1evPB/4ZIc+2GobEBoKC+h8gPGCMi+jxsYvd2x0mjq7wazk6DrP71pStqxE9Foxh5TVnonbWpFZzXaYg==
|
||||
|
||||
"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.2, postcss@^8.4.21, postcss@^8.4.23, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.31, postcss@^8.4.33, postcss@^8.4.38:
|
||||
postcss@^8.4.21, postcss@^8.4.24, postcss@^8.4.26, postcss@^8.4.33, postcss@^8.4.38:
|
||||
version "8.4.38"
|
||||
resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz"
|
||||
integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
|
||||
@ -6935,21 +7002,16 @@ randombytes@^2.1.0:
|
||||
dependencies:
|
||||
safe-buffer "^5.1.0"
|
||||
|
||||
range-parser@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
|
||||
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
|
||||
|
||||
range-parser@~1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
|
||||
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
|
||||
|
||||
range-parser@1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz"
|
||||
integrity sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==
|
||||
|
||||
range-parser@^1.2.1, range-parser@~1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
|
||||
integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
|
||||
|
||||
raw-body@2.5.2:
|
||||
version "2.5.2"
|
||||
resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz"
|
||||
@ -7000,7 +7062,7 @@ react-dev-utils@^12.0.1:
|
||||
strip-ansi "^6.0.1"
|
||||
text-table "^0.2.0"
|
||||
|
||||
react-dom@*, "react-dom@^16.14.0 || 17 || ^18", "react-dom@^16.6.0 || ^17.0.0 || ^18.0.0", react-dom@^18.0.0, react-dom@^18.3.1, "react-dom@>= 16.8.0 < 19.0.0":
|
||||
react-dom@^18.3.1:
|
||||
version "18.3.1"
|
||||
resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz"
|
||||
integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==
|
||||
@ -7046,7 +7108,7 @@ react-loadable-ssr-addon-v5-slorber@^1.0.1:
|
||||
dependencies:
|
||||
"@babel/runtime" "^7.10.3"
|
||||
|
||||
react-loadable@*, "react-loadable@npm:@docusaurus/react-loadable@6.0.0":
|
||||
"react-loadable@npm:@docusaurus/react-loadable@6.0.0":
|
||||
version "6.0.0"
|
||||
resolved "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-6.0.0.tgz"
|
||||
integrity sha512-YMMxTUQV/QFSnbgrP3tjDzLHRg7vsbMn8e9HAa8o/1iXoiomo48b7sk/kkmWEuWNDPJVlKSJRB6Y2fHqdJk+SQ==
|
||||
@ -7073,7 +7135,7 @@ react-router-dom@^5.3.4:
|
||||
tiny-invariant "^1.0.2"
|
||||
tiny-warning "^1.0.0"
|
||||
|
||||
react-router@^5.3.4, react-router@>=5, react-router@5.3.4:
|
||||
react-router@5.3.4, react-router@^5.3.4:
|
||||
version "5.3.4"
|
||||
resolved "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz"
|
||||
integrity sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==
|
||||
@ -7088,7 +7150,7 @@ react-router@^5.3.4, react-router@>=5, react-router@5.3.4:
|
||||
tiny-invariant "^1.0.2"
|
||||
tiny-warning "^1.0.0"
|
||||
|
||||
react@*, "react@^16.13.1 || ^17.0.0 || ^18.0.0", "react@^16.14.0 || ^17 || ^18", "react@^16.6.0 || ^17.0.0 || ^18.0.0", react@^18.0.0, react@^18.3.1, "react@>= 16.8.0 < 19.0.0", react@>=15, react@>=16, react@>=16.0.0:
|
||||
react@^18.3.1:
|
||||
version "18.3.1"
|
||||
resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz"
|
||||
integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==
|
||||
@ -7391,21 +7453,16 @@ run-parallel@^1.1.9:
|
||||
dependencies:
|
||||
queue-microtask "^1.2.2"
|
||||
|
||||
safe-buffer@^5.1.0, safe-buffer@>=5.1.0, safe-buffer@~5.2.0, safe-buffer@5.2.1:
|
||||
safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
|
||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||
|
||||
safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
|
||||
version "5.2.1"
|
||||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
|
||||
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
||||
|
||||
safe-buffer@~5.1.0, safe-buffer@~5.1.1:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
|
||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||
|
||||
safe-buffer@5.1.2:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
|
||||
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
|
||||
|
||||
"safer-buffer@>= 2.1.2 < 3":
|
||||
version "2.1.2"
|
||||
resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
|
||||
@ -7423,25 +7480,16 @@ scheduler@^0.23.2:
|
||||
dependencies:
|
||||
loose-envify "^1.1.0"
|
||||
|
||||
schema-utils@^3.0.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz"
|
||||
integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
|
||||
schema-utils@2.7.0:
|
||||
version "2.7.0"
|
||||
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz"
|
||||
integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
|
||||
dependencies:
|
||||
"@types/json-schema" "^7.0.8"
|
||||
ajv "^6.12.5"
|
||||
ajv-keywords "^3.5.2"
|
||||
"@types/json-schema" "^7.0.4"
|
||||
ajv "^6.12.2"
|
||||
ajv-keywords "^3.4.1"
|
||||
|
||||
schema-utils@^3.1.1:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz"
|
||||
integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
|
||||
dependencies:
|
||||
"@types/json-schema" "^7.0.8"
|
||||
ajv "^6.12.5"
|
||||
ajv-keywords "^3.5.2"
|
||||
|
||||
schema-utils@^3.2.0:
|
||||
schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz"
|
||||
integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
|
||||
@ -7460,20 +7508,6 @@ schema-utils@^4.0.0, schema-utils@^4.0.1:
|
||||
ajv-formats "^2.1.1"
|
||||
ajv-keywords "^5.1.0"
|
||||
|
||||
schema-utils@2.7.0:
|
||||
version "2.7.0"
|
||||
resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz"
|
||||
integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==
|
||||
dependencies:
|
||||
"@types/json-schema" "^7.0.4"
|
||||
ajv "^6.12.2"
|
||||
ajv-keywords "^3.4.1"
|
||||
|
||||
"search-insights@>= 1 < 3":
|
||||
version "2.14.0"
|
||||
resolved "https://registry.npmjs.org/search-insights/-/search-insights-2.14.0.tgz"
|
||||
integrity sha512-OLN6MsPMCghDOqlCtsIsYgtsC0pnwVTyT9Mu6A3ewOj1DxvzZF6COrn2g86E/c05xbktB0XN04m/t1Z+n+fTGw==
|
||||
|
||||
section-matter@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz"
|
||||
@ -7726,7 +7760,7 @@ source-map-support@~0.5.20:
|
||||
buffer-from "^1.0.0"
|
||||
source-map "^0.6.0"
|
||||
|
||||
source-map@^0.6.0:
|
||||
source-map@^0.6.0, source-map@~0.6.0:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
|
||||
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
|
||||
@ -7736,11 +7770,6 @@ source-map@^0.7.0:
|
||||
resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz"
|
||||
integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==
|
||||
|
||||
source-map@~0.6.0:
|
||||
version "0.6.1"
|
||||
resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
|
||||
integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
|
||||
|
||||
space-separated-tokens@^2.0.0:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz"
|
||||
@ -7779,45 +7808,22 @@ srcset@^4.0.0:
|
||||
resolved "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz"
|
||||
integrity sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==
|
||||
|
||||
"statuses@>= 1.4.0 < 2":
|
||||
version "1.5.0"
|
||||
resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
|
||||
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
|
||||
|
||||
statuses@2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
|
||||
integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
|
||||
|
||||
"statuses@>= 1.4.0 < 2":
|
||||
version "1.5.0"
|
||||
resolved "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz"
|
||||
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
|
||||
|
||||
std-env@^3.0.1:
|
||||
version "3.7.0"
|
||||
resolved "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz"
|
||||
integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==
|
||||
|
||||
string_decoder@^1.1.1:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
|
||||
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
|
||||
dependencies:
|
||||
safe-buffer "~5.2.0"
|
||||
|
||||
string_decoder@~1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
|
||||
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
||||
dependencies:
|
||||
safe-buffer "~5.1.0"
|
||||
|
||||
string-width@^4.1.0:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
|
||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||
dependencies:
|
||||
emoji-regex "^8.0.0"
|
||||
is-fullwidth-code-point "^3.0.0"
|
||||
strip-ansi "^6.0.1"
|
||||
|
||||
string-width@^4.2.0:
|
||||
string-width@^4.1.0, string-width@^4.2.0:
|
||||
version "4.2.3"
|
||||
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
|
||||
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
|
||||
@ -7835,6 +7841,20 @@ string-width@^5.0.1, string-width@^5.1.2:
|
||||
emoji-regex "^9.2.2"
|
||||
strip-ansi "^7.0.1"
|
||||
|
||||
string_decoder@^1.1.1:
|
||||
version "1.3.0"
|
||||
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
|
||||
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
|
||||
dependencies:
|
||||
safe-buffer "~5.2.0"
|
||||
|
||||
string_decoder@~1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
|
||||
integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
|
||||
dependencies:
|
||||
safe-buffer "~5.1.0"
|
||||
|
||||
stringify-entities@^4.0.0:
|
||||
version "4.0.4"
|
||||
resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz"
|
||||
@ -8065,10 +8085,10 @@ typedarray-to-buffer@^3.1.5:
|
||||
dependencies:
|
||||
is-typedarray "^1.0.0"
|
||||
|
||||
typescript@^5.4.5, "typescript@>= 2.7", typescript@>=4.9.5:
|
||||
version "5.4.5"
|
||||
resolved "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz"
|
||||
integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==
|
||||
typescript@^5.5.2:
|
||||
version "5.5.2"
|
||||
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.2.tgz#c26f023cb0054e657ce04f72583ea2d85f8d0507"
|
||||
integrity sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==
|
||||
|
||||
undici-types@~5.26.4:
|
||||
version "5.26.5"
|
||||
@ -8181,7 +8201,7 @@ universalify@^2.0.0:
|
||||
resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz"
|
||||
integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
|
||||
|
||||
unpipe@~1.0.0, unpipe@1.0.0:
|
||||
unpipe@1.0.0, unpipe@~1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
|
||||
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
|
||||
@ -8389,7 +8409,7 @@ webpack-sources@^3.2.3:
|
||||
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
|
||||
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
|
||||
|
||||
"webpack@^4.0.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.88.1, "webpack@>= 4", "webpack@>=4.41.1 || 5.x", webpack@>=5, "webpack@3 || 4 || 5":
|
||||
webpack@^5.88.1:
|
||||
version "5.92.0"
|
||||
resolved "https://registry.npmjs.org/webpack/-/webpack-5.92.0.tgz"
|
||||
integrity sha512-Bsw2X39MYIgxouNATyVpCNVWBCuUwDgWtN78g6lSdPJRLaQ/PUVm/oXcaRAyY/sMFoKFQrsPeqvTizWtq7QPCA==
|
||||
@ -8429,7 +8449,7 @@ webpackbar@^5.0.2:
|
||||
pretty-time "^1.1.0"
|
||||
std-env "^3.0.1"
|
||||
|
||||
websocket-driver@^0.7.4, websocket-driver@>=0.5.1:
|
||||
websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
|
||||
version "0.7.4"
|
||||
resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz"
|
||||
integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
|
||||
|
Loading…
Reference in New Issue
Block a user