Compare commits

..

31 Commits

Author SHA1 Message Date
tj-actions[bot]
18c8a4eceb Updated README.md (#1694)
Co-authored-by: repo-ranger[bot] <repo-ranger[bot]@users.noreply.github.com>
2023-11-03 20:30:38 +00:00
Tonye Jack
892553a457 feat: add support for controlling the pattern order (#1693)
Co-authored-by: GitHub Action <action@github.com>
2023-11-03 20:19:40 +00:00
GitHub Action
50a9cc9b7b Added missing changes and modified dist assets. 2023-11-03 04:57:00 +00:00
renovate[bot]
c300d15dae fix(deps): update dependency yaml to v2.3.4 2023-11-03 04:57:00 +00:00
tj-actions[bot]
c076064636 Upgraded to v40.0.2 (#1689)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-10-31 18:56:37 +00:00
Tonye Jack
40526807ee fix: order of file patterns (#1688)
Co-authored-by: GitHub Action <action@github.com>
2023-10-31 18:39:35 +00:00
renovate[bot]
a59bf8ffcf chore(deps): update dependency @types/node to v20.8.10 2023-10-31 12:31:02 +00:00
tj-actions[bot]
6821899764 Upgraded to v40.0.1 (#1686)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-10-31 00:37:06 +00:00
renovate[bot]
bfc49f4cff chore(deps): update dependency @types/jest to v29.5.7 2023-10-30 22:36:16 +00:00
Tonye Jack
7549e1e4b9 fix: bug with order in which the files and files ignore patterns are combined (#1684)
Co-authored-by: GitHub Action <action@github.com>
2023-10-30 22:18:54 +00:00
renovate[bot]
2fc653d87d chore(deps): update dependency @typescript-eslint/eslint-plugin to v6.9.1 2023-10-30 20:51:25 +00:00
renovate[bot]
273a7c1641 chore(deps): update dependency @typescript-eslint/parser to v6.9.1 2023-10-30 17:47:17 +00:00
GitHub Action
905fcf74f4 Added missing changes and modified dist assets. 2023-10-30 01:41:37 +00:00
renovate[bot]
229fe310d2 chore(deps): lock file maintenance 2023-10-30 01:41:37 +00:00
Tonye Jack
85073ea010 Update README.md 2023-10-28 22:42:46 -06:00
Tonye Jack
e622bd9227 Update README.md 2023-10-28 09:35:56 -06:00
Tonye Jack
003b42ec7f Update README.md 2023-10-28 09:34:36 -06:00
Tonye Jack
0a5a862874 Update README.md 2023-10-27 11:24:18 -06:00
tj-actions[bot]
1864dc5311 Updated README.md (#1678)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-10-27 07:13:13 +00:00
Tonye Jack
1be6574035 Update action.yml 2023-10-27 01:01:11 -06:00
tj-actions[bot]
51bc7ab145 Updated README.md (#1677)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-10-27 04:50:16 +00:00
Tonye Jack
b49b468c28 Update README.md 2023-10-26 22:36:00 -06:00
Tonye Jack
8055b31e95 Update README.md 2023-10-26 22:34:26 -06:00
renovate[bot]
c371c6f055 chore(deps): update dependency eslint-plugin-jest to v27.6.0 2023-10-26 22:10:59 +00:00
renovate[bot]
7448ec4f69 chore(deps): update dependency eslint-plugin-jest to v27.5.0 2023-10-26 21:01:49 +00:00
tj-actions[bot]
d1f3041043 Updated README.md (#1675)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-10-26 14:45:16 -06:00
Tonye Jack
d0064d8549 Update README.md 2023-10-26 14:44:18 -06:00
Tonye Jack
4270b9fd4b Update README.md 2023-10-26 14:35:10 -06:00
tj-actions[bot]
cd07d32e58 Updated README.md (#1673)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-10-26 12:39:20 +00:00
Tonye Jack
33ddc07d8b Update action.yml 2023-10-26 06:28:05 -06:00
tj-actions[bot]
1c7fbaba14 Upgraded to v40 (#1672)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-10-26 04:24:35 +00:00
9 changed files with 425 additions and 231 deletions

View File

@@ -1,5 +1,105 @@
# Changelog
# [40.0.2](https://github.com/tj-actions/changed-files/compare/v40.0.1...v40.0.2) - (2023-10-31)
## <!-- 1 -->🐛 Bug Fixes
- Order of file patterns ([#1688](https://github.com/tj-actions/changed-files/issues/1688)) ([4052680](https://github.com/tj-actions/changed-files/commit/40526807ee1e208a1a8c1bbe6bd2d1b044ef6368)) - (Tonye Jack)
## <!-- 7 -->⚙️ Miscellaneous Tasks
- **deps:** Update dependency @types/node to v20.8.10 ([a59bf8f](https://github.com/tj-actions/changed-files/commit/a59bf8ffcfcfdd831463eff511b55a7123a04aca)) - (renovate[bot])
## <!-- 9 -->⬆️ Upgrades
- Upgraded to v40.0.1 ([#1686](https://github.com/tj-actions/changed-files/issues/1686))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([6821899](https://github.com/tj-actions/changed-files/commit/68218997649ac879f47639455e9669b94750b50f)) - (tj-actions[bot])
# [40.0.1](https://github.com/tj-actions/changed-files/compare/v40.0.0...v40.0.1) - (2023-10-30)
## <!-- 1 -->🐛 Bug Fixes
- Bug with order in which the files and files ignore patterns are combined ([#1684](https://github.com/tj-actions/changed-files/issues/1684)) ([7549e1e](https://github.com/tj-actions/changed-files/commit/7549e1e4b967bf5f827b32249ec181ba542de0f9)) - (Tonye Jack)
## <!-- 16 --> Add
- Added missing changes and modified dist assets.
([905fcf7](https://github.com/tj-actions/changed-files/commit/905fcf74f4150b8b22f004a92bec5b19fb317419)) - (GitHub Action)
## <!-- 26 -->🔄 Update
- Update README.md ([85073ea](https://github.com/tj-actions/changed-files/commit/85073ea010ba5b57f37c14644d27dfb8a3d0de0a)) - (Tonye Jack)
- Update README.md ([e622bd9](https://github.com/tj-actions/changed-files/commit/e622bd9227b3f21e2558a1ce4a648c4fb004fded)) - (Tonye Jack)
- Update README.md ([003b42e](https://github.com/tj-actions/changed-files/commit/003b42ec7f4e3777746f3e170bfc1ec0cdd4c7a2)) - (Tonye Jack)
- Update README.md ([0a5a862](https://github.com/tj-actions/changed-files/commit/0a5a86287477b9fcb4280d5141902816c2b86e46)) - (Tonye Jack)
- Updated README.md ([#1678](https://github.com/tj-actions/changed-files/issues/1678))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([1864dc5](https://github.com/tj-actions/changed-files/commit/1864dc5311069c2319e40ddda20ebf24336dcba9)) - (tj-actions[bot])
- Update action.yml ([1be6574](https://github.com/tj-actions/changed-files/commit/1be6574035556e1f982a4378491409b8daecec9a)) - (Tonye Jack)
- Updated README.md ([#1677](https://github.com/tj-actions/changed-files/issues/1677))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([51bc7ab](https://github.com/tj-actions/changed-files/commit/51bc7ab1452b8422fc78f6bdda196b87881d0b1c)) - (tj-actions[bot])
- Update README.md ([b49b468](https://github.com/tj-actions/changed-files/commit/b49b468c28d456fb7e7a75328e46efa820c4ff68)) - (Tonye Jack)
- Update README.md ([8055b31](https://github.com/tj-actions/changed-files/commit/8055b31e957360a13988a323449bde618630f601)) - (Tonye Jack)
- Updated README.md ([#1675](https://github.com/tj-actions/changed-files/issues/1675))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([d1f3041](https://github.com/tj-actions/changed-files/commit/d1f3041043a609731d86adbad78ca7a3b61dad33)) - (tj-actions[bot])
- Update README.md ([d0064d8](https://github.com/tj-actions/changed-files/commit/d0064d854901a65f6b91787bd76dbadda53ebf83)) - (Tonye Jack)
- Update README.md ([4270b9f](https://github.com/tj-actions/changed-files/commit/4270b9fd4b274ad12e0952979e8f32178abfaa06)) - (Tonye Jack)
- Updated README.md ([#1673](https://github.com/tj-actions/changed-files/issues/1673))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([cd07d32](https://github.com/tj-actions/changed-files/commit/cd07d32e580fc8203249c9a435df3395a5edfd1b)) - (tj-actions[bot])
- Update action.yml ([33ddc07](https://github.com/tj-actions/changed-files/commit/33ddc07d8b23cf31a8f614111160c5cc320f8f3d)) - (Tonye Jack)
## <!-- 7 -->⚙️ Miscellaneous Tasks
- **deps:** Update dependency @types/jest to v29.5.7 ([bfc49f4](https://github.com/tj-actions/changed-files/commit/bfc49f4cff6934aa236c171f9bcbf1dd6b1ef438)) - (renovate[bot])
- **deps:** Update dependency @typescript-eslint/eslint-plugin to v6.9.1 ([2fc653d](https://github.com/tj-actions/changed-files/commit/2fc653d87dc9507b87b24805ab59d23f7d3be7e5)) - (renovate[bot])
- **deps:** Update dependency @typescript-eslint/parser to v6.9.1 ([273a7c1](https://github.com/tj-actions/changed-files/commit/273a7c1641fcdbffd00e804734185c2d99950485)) - (renovate[bot])
- **deps:** Lock file maintenance ([229fe31](https://github.com/tj-actions/changed-files/commit/229fe310d2b3917af799b70b7b77fbed41df4961)) - (renovate[bot])
- **deps:** Update dependency eslint-plugin-jest to v27.6.0 ([c371c6f](https://github.com/tj-actions/changed-files/commit/c371c6f055f523227ed33447a1a6fbd9d4d47aeb)) - (renovate[bot])
- **deps:** Update dependency eslint-plugin-jest to v27.5.0 ([7448ec4](https://github.com/tj-actions/changed-files/commit/7448ec4f69ea819a3e647c5f057ba092aafb91f8)) - (renovate[bot])
## <!-- 9 -->⬆️ Upgrades
- Upgraded to v40 ([#1672](https://github.com/tj-actions/changed-files/issues/1672))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([1c7fbab](https://github.com/tj-actions/changed-files/commit/1c7fbaba144b87b134cd6c2c351477722fef4396)) - (tj-actions[bot])
# [40.0.0](https://github.com/tj-actions/changed-files/compare/v39.2.4...v40.0.0) - (2023-10-26)
## <!-- 13 -->📦 Bumps
- Bump @types/node from 20.8.7 to 20.8.8 ([#1666](https://github.com/tj-actions/changed-files/issues/1666))
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ([955cdc8](https://github.com/tj-actions/changed-files/commit/955cdc8d81246052a366a9a1c4e570774fe2b1c6)) - (dependabot[bot])
## <!-- 16 --> Add
- Added missing changes and modified dist assets.
([af292f1](https://github.com/tj-actions/changed-files/commit/af292f1e845a0377b596972698a8598734eb2796)) - (GitHub Action)
- Added missing changes and modified dist assets.
([e48cacb](https://github.com/tj-actions/changed-files/commit/e48cacbca52c259aaa62f428dd90bc4e374a8cda)) - (GitHub Action)
## <!-- 17 --> Remove
- Appending globstar pattern for directories to prevent bugs with path matching ([#1670](https://github.com/tj-actions/changed-files/issues/1670)) ([3ce5a29](https://github.com/tj-actions/changed-files/commit/3ce5a2970f30e3278949b12f08ed68f90cc8e482)) - (Tonye Jack)
## <!-- 7 -->⚙️ Miscellaneous Tasks
- **deps:** Lock file maintenance ([2ddcb04](https://github.com/tj-actions/changed-files/commit/2ddcb04986856a468e97e777e87741f528cbad2b)) - (renovate[bot])
- Update test.yml ([d898dd0](https://github.com/tj-actions/changed-files/commit/d898dd09e4531bdc144c5149b2d4de056819d8a4)) - (Tonye Jack)
- **deps:** Update dependency @types/node to v20.8.9 ([0e08afd](https://github.com/tj-actions/changed-files/commit/0e08afd95d354d7dfa67484142cc153c96b816df)) - (renovate[bot])
- **deps:** Lock file maintenance ([5aee572](https://github.com/tj-actions/changed-files/commit/5aee57257118b7f1a34194ed31f5faf4d56a1b04)) - (renovate[bot])
## <!-- 9 -->⬆️ Upgrades
- Upgraded to v39.2.4 ([#1664](https://github.com/tj-actions/changed-files/issues/1664))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([c83cb31](https://github.com/tj-actions/changed-files/commit/c83cb31f5b2aea1959056c29027ee2b838d88747)) - (tj-actions[bot])
# [39.2.4](https://github.com/tj-actions/changed-files/compare/v39.2.3...v39.2.4) - (2023-10-23)
## <!-- 16 --> Add

118
README.md
View File

@@ -31,6 +31,7 @@ Effortlessly track all changed files and directories relative to a target branch
* [Using local .git history 📁](#using-local-git-history-)
* [Using Github's API :octocat:](#using-githubs-api-octocat)
* [On `push` ⬆️](#on-push-)
* [Other supported events :electron:](#other-supported-events-electron)
* [Useful Acronyms 🧮](#useful-acronyms-)
* [Outputs 📤](#outputs-)
* [Inputs ⚙️](#inputs-)
@@ -84,15 +85,15 @@ And many more...
> **Important**
>
> * For `push` events: When configuring [`actions/checkout`](https://github.com/actions/checkout#usage), make sure to set [`fetch-depth`](https://github.com/actions/checkout#usage) to either `0` or `2`, depending on your use case.
> * For mono repositories where pulling all branch history might not be desired, you can still use the default [`fetch-depth`](https://github.com/actions/checkout#usage), which is set to `1` for `pull_request` events.
> * Avoid using single or double quotes for multiline inputs, as the value is already a string separated by a newline character. See [Examples](#examples) for more information.
> * If [`fetch-depth`](https://github.com/actions/checkout#usage) isn't set to `0`, ensure that [`persist-credentials`](https://github.com/actions/checkout#usage) is set to `true` when configuring [`actions/checkout`](https://github.com/actions/checkout#usage).
> * For matching all files and folders under a directory you'll need to use `dir_name/**`
> * **Push Events**: When configuring [`actions/checkout`](https://github.com/actions/checkout#usage), make sure to set [`fetch-depth`](https://github.com/actions/checkout#usage) to either `0` or `2`, depending on your use case.
> * **Mono Repositories**: To avoid pulling the entire branch history, you can utilize the default [`actions/checkout`](https://github.com/actions/checkout#usage)'s [`fetch-depth`](https://github.com/actions/checkout#usage) of `1` for [`pull_request`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request) events.
> * **Quoting Multiline Inputs**: Avoid using single or double quotes for [multiline](https://github.com/tj-actions/changed-files/blob/main/test/changed-files.yml#L13-L16) inputs. The value is already a string separated by a newline character. Refer to the [Examples](#examples-) section for more information.
> * **Credentials Persistence**: If [`fetch-depth`](https://github.com/actions/checkout#usage) is not set to 0, make sure to set [`persist-credentials`](https://github.com/actions/checkout#usage) to `true` when configuring [`actions/checkout`](https://github.com/actions/checkout#usage).
> * **Matching Files and Folders**: To match all files and folders under a directory, this requires a globstar pattern e.g. `dir_name/**` which matches any number of subdirectories and files.
Visit the [discussions for more information](https://github.com/tj-actions/changed-files/discussions) or [create a new discussion](https://github.com/tj-actions/changed-files/discussions/new/choose) for usage-related questions.
### On `pull_request` 🔀
### On [`pull_request`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request) 🔀
Detect changes to all files in a Pull request relative to the target branch or since the last pushed commit.
@@ -121,7 +122,7 @@ jobs:
# Example 1
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
# To compare changes between the current commit and the last pushed remote commit set `since_last_remote_commit: true`. e.g
# with:
@@ -134,13 +135,28 @@ jobs:
done
# Example 2
- name: Get all changed markdown files
id: changed-markdown-files
uses: tj-actions/changed-files@v40
with:
files: |
**.md
# Avoid using single or double quotes for multiline patterns
- name: List all changed files markdown files
run: |
for file in ${{ steps.changed-markdown-files.outputs.all_changed_files }}; do
echo "$file was changed"
done
# Example 3
- name: Get all test, doc and src files that have changed
id: changed-files-yaml
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
files_yaml: |
doc:
- '**/*.md'
- '**.md'
- docs/**
- README.md
test:
@@ -166,7 +182,7 @@ jobs:
# Example 3
- name: Get changed files in the docs folder
id: changed-files-specific
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
files: docs/*.{js,html} # Alternatively using: `docs/**`
files_ignore: docs/static.js
@@ -206,7 +222,7 @@ jobs:
steps:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
- name: List all changed files
run: |
@@ -215,7 +231,7 @@ jobs:
done
```
### On `push` ⬆️
### On [`push`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push) ⬆️
Detect changes to files made since the last pushed commit.
@@ -227,26 +243,6 @@ on:
branches:
- main
# -------------------------------
# Optionally run on other events
# -------------------------------
# schedule:
# - cron: '0 0 * * *'
#
# release:
# types: [...]
#
# workflow_dispatch:
#
# push:
# tags:
# - '**'
#
# merge_group:
#
# ...and many more
jobs:
# -------------------------------------------------------------
# Using GitHub's API is not supported for push events
@@ -267,7 +263,7 @@ jobs:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
# NOTE: `since_last_remote_commit: true` is implied by default and falls back to the previous local commit.
@@ -279,6 +275,15 @@ jobs:
...
```
### Other supported events :electron:
* [schedule](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule)
* [release](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#release)
* [workflow\_dispatch](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch)
* [merge\_group](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#merge_group)
* [issue\_comment](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#issue_comment)
* ...and many more
To access more examples, navigate to the [Examples](#examples-) section.
If you feel generous and want to show some extra appreciation:
@@ -363,12 +368,12 @@ Support this project with a :star:
| INPUT | TYPE | REQUIRED | DEFAULT | DESCRIPTION |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------|----------|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| <a name="input_api_url"></a>[api\_url](#input_api_url) | string | false | `"${{ github.api_url }}"` | Github API URL. |
| <a name="input_base_sha"></a>[base\_sha](#input_base_sha) | string | false | | Specify a different base commit <br>SHA used for comparing changes |
| <a name="input_base_sha"></a>[base\_sha](#input_base_sha) | string | false | | Specify a different base commit <br>SHA or branch used for <br>comparing changes |
| <a name="input_diff_relative"></a>[diff\_relative](#input_diff_relative) | string | false | `"true"` | Exclude changes outside the current <br>directory and show path names <br>relative to it. **NOTE:** This <br>requires you to specify the <br>top level directory via the <br>`path` input. |
| <a name="input_dir_names"></a>[dir\_names](#input_dir_names) | string | false | `"false"` | Output unique changed directories instead <br>of filenames. **NOTE:** This returns <br>`.` for changed files located <br>in the current working directory <br>which defaults to `$GITHUB_WORKSPACE`. |
| <a name="input_dir_names_deleted_files_include_only_deleted_dirs"></a>[dir\_names\_deleted\_files\_include\_only\_deleted\_dirs](#input_dir_names_deleted_files_include_only_deleted_dirs) | string | false | `"false"` | Include only directories that have <br>been deleted as opposed to <br>directory names of files that <br>have been deleted in the <br>`deleted_files` output when `dir_names` is <br>set to `true`. |
| <a name="input_dir_names_exclude_current_dir"></a>[dir\_names\_exclude\_current\_dir](#input_dir_names_exclude_current_dir) | string | false | `"false"` | Exclude the current directory represented <br>by `.` from the output <br>when `dir_names` is set to <br>`true`. |
| <a name="input_dir_names_include_files"></a>[dir\_names\_include\_files](#input_dir_names_include_files) | string | false | | Include files in the output <br>when `dir_names` is set to <br>`true`. **NOTE:** This returns only <br>the matching files and also <br>the directory names. |
| <a name="input_dir_names_include_files"></a>[dir\_names\_include\_files](#input_dir_names_include_files) | string | false | | File and directory patterns to <br>include in the output when <br>`dir_names` is set to `true`. <br>**NOTE:** This returns only the <br>matching files and also the <br>directory names. |
| <a name="input_dir_names_include_files_separator"></a>[dir\_names\_include\_files\_separator](#input_dir_names_include_files_separator) | string | false | `"\n"` | Separator used to split the <br>`dir_names_include_files` input |
| <a name="input_dir_names_max_depth"></a>[dir\_names\_max\_depth](#input_dir_names_max_depth) | string | false | | Limit the directory output to <br>a maximum depth e.g `test/test1/test2` <br>with max depth of `2` <br>returns `test/test1`. |
| <a name="input_escape_json"></a>[escape\_json](#input_escape_json) | string | false | `"true"` | Escape JSON output. |
@@ -392,6 +397,7 @@ Support this project with a :star:
| <a name="input_files_yaml_from_source_file_separator"></a>[files\_yaml\_from\_source\_file\_separator](#input_files_yaml_from_source_file_separator) | string | false | `"\n"` | Separator used to split the <br>`files_yaml_from_source_file` input |
| <a name="input_include_all_old_new_renamed_files"></a>[include\_all\_old\_new\_renamed\_files](#input_include_all_old_new_renamed_files) | string | false | `"false"` | Include `all_old_new_renamed_files` output. Note this <br>can generate a large output <br>See: [#501](https://github.com/tj-actions/changed-files/issues/501). |
| <a name="input_json"></a>[json](#input_json) | string | false | `"false"` | Output list of changed files <br>in a JSON formatted string <br>which can be used for <br>matrix jobs. [Example](https://github.com/tj-actions/changed-files/blob/main/.github/workflows/matrix-test.yml) |
| <a name="input_negation_patterns_first"></a>[negation\_patterns\_first](#input_negation_patterns_first) | string | false | `"false"` | Apply the negation patterns first. <br>**NOTE:** This affects how changed <br>files are matched. |
| <a name="input_old_new_files_separator"></a>[old\_new\_files\_separator](#input_old_new_files_separator) | string | false | `" "` | Split character for old and <br>new renamed filename pairs. |
| <a name="input_old_new_separator"></a>[old\_new\_separator](#input_old_new_separator) | string | false | `","` | Split character for old and <br>new filename pairs. |
| <a name="input_output_dir"></a>[output\_dir](#input_output_dir) | string | false | `".github/outputs"` | Directory to store output files. |
@@ -405,7 +411,7 @@ Support this project with a :star:
| <a name="input_recover_files_ignore_separator"></a>[recover\_files\_ignore\_separator](#input_recover_files_ignore_separator) | string | false | `"\n"` | Separator used to split the <br>`recover_files_ignore` input |
| <a name="input_recover_files_separator"></a>[recover\_files\_separator](#input_recover_files_separator) | string | false | `"\n"` | Separator used to split the <br>`recover_files` input |
| <a name="input_separator"></a>[separator](#input_separator) | string | false | `" "` | Split character for output strings |
| <a name="input_sha"></a>[sha](#input_sha) | string | false | | Specify a different commit SHA <br>used for comparing changes |
| <a name="input_sha"></a>[sha](#input_sha) | string | false | | Specify a different commit SHA <br>or branch used for comparing <br>changes |
| <a name="input_since"></a>[since](#input_since) | string | false | | Get changed files for commits <br>whose timestamp is older than <br>the given time. |
| <a name="input_since_last_remote_commit"></a>[since\_last\_remote\_commit](#input_since_last_remote_commit) | string | false | `"false"` | Use the last commit on <br>the remote branch as the <br>`base_sha`. Defaults to the last <br>non-merge commit on the target <br>branch for pull request events <br>and the previous remote commit <br>of the current branch for <br>push events. |
| <a name="input_skip_initial_fetch"></a>[skip\_initial\_fetch](#input_skip_initial_fetch) | string | false | `"false"` | Skip the initial fetch to <br>improve performance for shallow repositories. <br>**NOTE**: This could lead to <br>errors with missing history and <br>the intended use is limited <br>to when you've fetched the <br>history necessary to perform the <br>diff. |
@@ -436,7 +442,7 @@ The format of the version string is as follows:
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
...
```
@@ -449,7 +455,7 @@ The format of the version string is as follows:
...
- name: Get all changed files and use a comma separator in the output
id: changed-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
separator: ","
...
@@ -466,7 +472,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
- name: List all added files
run: |
@@ -487,7 +493,7 @@ See [outputs](#outputs) for a list of all available outputs.
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
- name: Run a step if my-file.txt was modified
if: contains(steps.changed-files.outputs.modified_files, 'my-file.txt')
@@ -547,7 +553,7 @@ See [outputs](#outputs) for a list of all available outputs.
...
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
files: |
my-file.txt
@@ -570,7 +576,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files
id: changed-files-specific
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
files: |
my-file.txt
@@ -617,7 +623,7 @@ See [outputs](#outputs) for a list of all available outputs.
...
- name: Get changed files using a source file or list of file(s) to populate to files input.
id: changed-files-specific-source-file
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
files_from_source_file: test/changed-files-list.txt
...
@@ -634,7 +640,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files using a source file or list of file(s) to populate to files input and optionally specify more files.
id: changed-files-specific-source-file-and-specify-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
files_from_source_file: |
test/changed-files-list.txt
@@ -655,7 +661,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files using a different SHA
id: changed-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
sha: ${{ github.event.pull_request.head.sha }}
...
@@ -672,7 +678,7 @@ See [inputs](#inputs) for more information.
...
- name: Get changed files using a different base SHA
id: changed-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
base_sha: ${{ github.event.pull_request.base.sha }}
...
@@ -704,11 +710,11 @@ jobs:
- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
- name: Get changed files in the .github folder
id: changed-files-specific
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
base_sha: ${{ steps.get-base-sha.outputs.base_sha }}
files: .github/**
@@ -738,7 +744,7 @@ See [inputs](#inputs) for more information.
- name: Run changed-files with defaults in dir1
id: changed-files-for-dir1
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
path: dir1
@@ -761,7 +767,7 @@ See [inputs](#inputs) for more information.
...
- name: Run changed-files with quotepath disabled
id: changed-files-quotepath
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
quotepath: "false"
@@ -800,7 +806,7 @@ See [inputs](#inputs) for more information.
- name: Run changed-files with the commit of the last successful test workflow run
id: changed-files-base-sha-push
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
base_sha: ${{ steps.last_successful_commit_push.outputs.base }}
...
@@ -827,7 +833,7 @@ See [inputs](#inputs) for more information.
- name: Run changed-files with the commit of the last successful test workflow run on the main branch
id: changed-files-base-sha-pull-request
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
base_sha: ${{ steps.last_successful_commit_pull_request.outputs.base }}
...
@@ -853,7 +859,7 @@ See [inputs](#inputs) for more information.
...
- name: Run changed-files with dir_names
id: changed-files-dir-names
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
dir_names: "true"
...
@@ -870,7 +876,7 @@ See [inputs](#inputs) for more information.
...
- name: Run changed-files with JSON output
id: changed-files-json
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
json: "true"
...
@@ -887,13 +893,13 @@ See [inputs](#inputs) for more information.
...
- name: Get changed-files since 2022-08-19
id: changed-files-since
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
since: "2022-08-19"
- name: Get changed-files until 2022-08-20
id: changed-files-until
uses: tj-actions/changed-files@v39
uses: tj-actions/changed-files@v40
with:
until: "2022-08-20"
...

View File

@@ -76,10 +76,10 @@ inputs:
default: "\n"
required: false
sha:
description: "Specify a different commit SHA used for comparing changes"
description: "Specify a different commit SHA or branch used for comparing changes"
required: false
base_sha:
description: "Specify a different base commit SHA used for comparing changes"
description: "Specify a different base commit SHA or branch used for comparing changes"
required: false
since:
description: "Get changed files for commits whose timestamp is older than the given time."
@@ -113,7 +113,7 @@ inputs:
required: false
default: "false"
dir_names_include_files:
description: "Include files in the output when `dir_names` is set to `true`. **NOTE:** This returns only the matching files and also the directory names."
description: "File and directory patterns to include in the output when `dir_names` is set to `true`. **NOTE:** This returns only the matching files and also the directory names."
required: false
default: ""
dir_names_include_files_separator:
@@ -200,6 +200,10 @@ inputs:
description: "Fail when the submodule diff fails."
required: false
default: "false"
negation_patterns_first:
description: "Apply the negation patterns first. **NOTE:** This affects how changed files are matched."
required: false
default: "false"
outputs:
added_files:

169
dist/index.js generated vendored
View File

@@ -1528,6 +1528,9 @@ const getInputs = () => {
const dirNamesDeletedFilesIncludeOnlyDeletedDirs = core.getBooleanInput('dir_names_deleted_files_include_only_deleted_dirs', {
required: false
});
const negationPatternsFirst = core.getBooleanInput('negation_patterns_first', {
required: false
});
const inputs = {
files,
filesSeparator,
@@ -1578,7 +1581,8 @@ const getInputs = () => {
outputDir,
outputRenamedFilesAsDeletedAndAdded,
token,
apiUrl
apiUrl,
negationPatternsFirst
};
if (fetchDepth) {
inputs.fetchDepth = Math.max(parseInt(fetchDepth, 10), 2);
@@ -2542,53 +2546,68 @@ const getDirNamesIncludeFilesPattern = ({ inputs }) => {
};
exports.getDirNamesIncludeFilesPattern = getDirNamesIncludeFilesPattern;
const getFilePatterns = ({ inputs, workingDirectory }) => __awaiter(void 0, void 0, void 0, function* () {
let filePatterns = inputs.files
.split(inputs.filesSeparator)
.filter(Boolean)
.join('\n');
let cleanedFilePatterns = [];
if (inputs.files) {
const filesPatterns = inputs.files
.split(inputs.filesSeparator)
.filter(Boolean);
cleanedFilePatterns.push(...filesPatterns);
core.debug(`files patterns: ${filesPatterns.join('\n')}`);
}
if (inputs.filesFromSourceFile !== '') {
const inputFilesFromSourceFile = inputs.filesFromSourceFile
.split(inputs.filesFromSourceFileSeparator)
.filter(p => p !== '')
.filter(Boolean)
.map(p => path.join(workingDirectory, p));
core.debug(`files from source file: ${inputFilesFromSourceFile}`);
const filesFromSourceFiles = (yield getFilesFromSourceFile({ filePaths: inputFilesFromSourceFile })).join('\n');
core.debug(`files from source files patterns: ${filesFromSourceFiles}`);
filePatterns = filePatterns.concat('\n', filesFromSourceFiles);
const filesFromSourceFiles = yield getFilesFromSourceFile({
filePaths: inputFilesFromSourceFile
});
core.debug(`files from source files patterns: ${filesFromSourceFiles.join('\n')}`);
cleanedFilePatterns.push(...filesFromSourceFiles);
}
if (inputs.filesIgnore) {
const filesIgnorePatterns = inputs.filesIgnore
.split(inputs.filesIgnoreSeparator)
.filter(p => p !== '')
.filter(Boolean)
.map(p => {
if (!p.startsWith('!')) {
p = `!${p}`;
}
return p;
})
.join('\n');
core.debug(`files ignore patterns: ${filesIgnorePatterns}`);
filePatterns = filePatterns.concat('\n', filesIgnorePatterns);
});
core.debug(`files ignore patterns: ${filesIgnorePatterns.join('\n')}`);
cleanedFilePatterns.push(...filesIgnorePatterns);
}
if (inputs.filesIgnoreFromSourceFile) {
const inputFilesIgnoreFromSourceFile = inputs.filesIgnoreFromSourceFile
.split(inputs.filesIgnoreFromSourceFileSeparator)
.filter(p => p !== '')
.filter(Boolean)
.map(p => path.join(workingDirectory, p));
core.debug(`files ignore from source file: ${inputFilesIgnoreFromSourceFile}`);
const filesIgnoreFromSourceFiles = (yield getFilesFromSourceFile({
const filesIgnoreFromSourceFiles = yield getFilesFromSourceFile({
filePaths: inputFilesIgnoreFromSourceFile,
excludedFiles: true
})).join('\n');
core.debug(`files ignore from source files patterns: ${filesIgnoreFromSourceFiles}`);
filePatterns = filePatterns.concat('\n', filesIgnoreFromSourceFiles);
});
core.debug(`files ignore from source files patterns: ${filesIgnoreFromSourceFiles.join('\n')}`);
cleanedFilePatterns.push(...filesIgnoreFromSourceFiles);
}
if (inputs.negationPatternsFirst) {
cleanedFilePatterns.sort((a, b) => {
return a.startsWith('!') ? -1 : b.startsWith('!') ? 1 : 0;
});
}
// Reorder file patterns '**' should come first
if (cleanedFilePatterns.includes('**')) {
cleanedFilePatterns.sort((a, b) => {
return a === '**' ? -1 : b === '**' ? 1 : 0;
});
}
if ((0, exports.isWindows)()) {
filePatterns = filePatterns.replace(/\r\n/g, '\n');
filePatterns = filePatterns.replace(/\r/g, '\n');
cleanedFilePatterns = cleanedFilePatterns.map(pattern => pattern.replace(/\r\n/g, '\n').replace(/\r/g, '\n'));
}
core.debug(`Input file patterns: ${filePatterns}`);
return filePatterns.trim().split('\n').filter(Boolean);
core.debug(`Input file patterns: \n${cleanedFilePatterns.join('\n')}`);
return cleanedFilePatterns;
});
exports.getFilePatterns = getFilePatterns;
const getYamlFilePatternsFromContents = ({ content = '', filePath = '', excludedFiles = false }) => __awaiter(void 0, void 0, void 0, function* () {
@@ -7830,7 +7849,7 @@ module.exports = __toCommonJS(dist_src_exports);
var import_universal_user_agent = __nccwpck_require__(5030);
// pkg/dist-src/version.js
var VERSION = "9.0.1";
var VERSION = "9.0.2";
// pkg/dist-src/defaults.js
var userAgent = `octokit-endpoint.js/${VERSION} ${(0, import_universal_user_agent.getUserAgent)()}`;
@@ -8038,7 +8057,7 @@ function parseUrl(template) {
}
function expand(template, context) {
var operators = ["+", "#", ".", "/", ";", "?", "&"];
return template.replace(
template = template.replace(
/\{([^\{\}]+)\}|([^\{\}]+)/g,
function(_, expression, literal) {
if (expression) {
@@ -8068,6 +8087,11 @@ function expand(template, context) {
}
}
);
if (template === "/") {
return template;
} else {
return template.replace(/\/$/, "");
}
}
// pkg/dist-src/parse.js
@@ -8352,7 +8376,7 @@ __export(dist_src_exports, {
module.exports = __toCommonJS(dist_src_exports);
// pkg/dist-src/version.js
var VERSION = "9.1.1";
var VERSION = "9.1.2";
// pkg/dist-src/normalize-paginated-list-response.js
function normalizePaginatedListResponse(response) {
@@ -8749,7 +8773,7 @@ __export(dist_src_exports, {
module.exports = __toCommonJS(dist_src_exports);
// pkg/dist-src/version.js
var VERSION = "10.1.1";
var VERSION = "10.1.2";
// pkg/dist-src/generated/endpoints.js
var Endpoints = {
@@ -40239,6 +40263,14 @@ class Request {
if (channels.bodySent.hasSubscribers) {
channels.bodySent.publish({ request: this })
}
if (this[kHandler].onRequestSent) {
try {
this[kHandler].onRequestSent()
} catch (err) {
this.onError(err)
}
}
}
onConnect (abort) {
@@ -41292,6 +41324,8 @@ let ReadableStream = globalThis.ReadableStream
/** @type {globalThis['File']} */
const File = NativeFile ?? UndiciFile
const textEncoder = new TextEncoder()
const textDecoder = new TextDecoder()
// https://fetch.spec.whatwg.org/#concept-bodyinit-extract
function extractBody (object, keepalive = false) {
@@ -41315,7 +41349,7 @@ function extractBody (object, keepalive = false) {
stream = new ReadableStream({
async pull (controller) {
controller.enqueue(
typeof source === 'string' ? new TextEncoder().encode(source) : source
typeof source === 'string' ? textEncoder.encode(source) : source
)
queueMicrotask(() => readableStreamClose(controller))
},
@@ -41385,7 +41419,6 @@ function extractBody (object, keepalive = false) {
// - That the content-length is calculated in advance.
// - And that all parts are pre-encoded and ready to be sent.
const enc = new TextEncoder()
const blobParts = []
const rn = new Uint8Array([13, 10]) // '\r\n'
length = 0
@@ -41393,13 +41426,13 @@ function extractBody (object, keepalive = false) {
for (const [name, value] of object) {
if (typeof value === 'string') {
const chunk = enc.encode(prefix +
const chunk = textEncoder.encode(prefix +
`; name="${escape(normalizeLinefeeds(name))}"` +
`\r\n\r\n${normalizeLinefeeds(value)}\r\n`)
blobParts.push(chunk)
length += chunk.byteLength
} else {
const chunk = enc.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` +
const chunk = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` +
(value.name ? `; filename="${escape(value.name)}"` : '') + '\r\n' +
`Content-Type: ${
value.type || 'application/octet-stream'
@@ -41413,7 +41446,7 @@ function extractBody (object, keepalive = false) {
}
}
const chunk = enc.encode(`--${boundary}--`)
const chunk = textEncoder.encode(`--${boundary}--`)
blobParts.push(chunk)
length += chunk.byteLength
if (hasUnknownSizeValue) {
@@ -41709,14 +41742,16 @@ function bodyMixinMethods (instance) {
let text = ''
// application/x-www-form-urlencoded parser will keep the BOM.
// https://url.spec.whatwg.org/#concept-urlencoded-parser
const textDecoder = new TextDecoder('utf-8', { ignoreBOM: true })
// Note that streaming decoder is stateful and cannot be reused
const streamingDecoder = new TextDecoder('utf-8', { ignoreBOM: true })
for await (const chunk of consumeBody(this[kState].body)) {
if (!isUint8Array(chunk)) {
throw new TypeError('Expected Uint8Array chunk')
}
text += textDecoder.decode(chunk, { stream: true })
text += streamingDecoder.decode(chunk, { stream: true })
}
text += textDecoder.decode()
text += streamingDecoder.decode()
entries = new URLSearchParams(text)
} catch (err) {
// istanbul ignore next: Unclear when new URLSearchParams can fail on a string.
@@ -41831,7 +41866,7 @@ function utf8DecodeBytes (buffer) {
// 3. Process a queue with an instance of UTF-8s
// decoder, ioQueue, output, and "replacement".
const output = new TextDecoder().decode(buffer)
const output = textDecoder.decode(buffer)
// 4. Return output.
return output
@@ -41879,10 +41914,12 @@ module.exports = {
const { MessageChannel, receiveMessageOnPort } = __nccwpck_require__(1267)
const corsSafeListedMethods = ['GET', 'HEAD', 'POST']
const corsSafeListedMethodsSet = new Set(corsSafeListedMethods)
const nullBodyStatus = [101, 204, 205, 304]
const redirectStatus = [301, 302, 303, 307, 308]
const redirectStatusSet = new Set(redirectStatus)
// https://fetch.spec.whatwg.org/#block-bad-port
const badPorts = [
@@ -41894,6 +41931,8 @@ const badPorts = [
'10080'
]
const badPortsSet = new Set(badPorts)
// https://w3c.github.io/webappsec-referrer-policy/#referrer-policies
const referrerPolicy = [
'',
@@ -41906,10 +41945,12 @@ const referrerPolicy = [
'strict-origin-when-cross-origin',
'unsafe-url'
]
const referrerPolicySet = new Set(referrerPolicy)
const requestRedirect = ['follow', 'manual', 'error']
const safeMethods = ['GET', 'HEAD', 'OPTIONS', 'TRACE']
const safeMethodsSet = new Set(safeMethods)
const requestMode = ['navigate', 'same-origin', 'no-cors', 'cors']
@@ -41944,6 +41985,7 @@ const requestDuplex = [
// http://fetch.spec.whatwg.org/#forbidden-method
const forbiddenMethods = ['CONNECT', 'TRACE', 'TRACK']
const forbiddenMethodsSet = new Set(forbiddenMethods)
const subresource = [
'audio',
@@ -41959,6 +42001,7 @@ const subresource = [
'xslt',
''
]
const subresourceSet = new Set(subresource)
/** @type {globalThis['DOMException']} */
const DOMException = globalThis.DOMException ?? (() => {
@@ -42008,7 +42051,14 @@ module.exports = {
nullBodyStatus,
safeMethods,
badPorts,
requestDuplex
requestDuplex,
subresourceSet,
badPortsSet,
redirectStatusSet,
corsSafeListedMethodsSet,
safeMethodsSet,
forbiddenMethodsSet,
referrerPolicySet
}
@@ -42664,6 +42714,7 @@ const { isBlobLike } = __nccwpck_require__(2538)
const { webidl } = __nccwpck_require__(1744)
const { parseMIMEType, serializeAMimeType } = __nccwpck_require__(685)
const { kEnumerableProperty } = __nccwpck_require__(3983)
const encoder = new TextEncoder()
class File extends Blob {
constructor (fileBits, fileName, options = {}) {
@@ -42937,7 +42988,7 @@ function processBlobParts (parts, options) {
}
// 3. Append the result of UTF-8 encoding s to bytes.
bytes.push(new TextEncoder().encode(s))
bytes.push(encoder.encode(s))
} else if (
types.isAnyArrayBuffer(element) ||
types.isTypedArray(element)
@@ -43935,11 +43986,11 @@ const { kState, kHeaders, kGuard, kRealm } = __nccwpck_require__(5861)
const assert = __nccwpck_require__(9491)
const { safelyExtractBody } = __nccwpck_require__(1472)
const {
redirectStatus,
redirectStatusSet,
nullBodyStatus,
safeMethods,
safeMethodsSet,
requestBodyHeader,
subresource,
subresourceSet,
DOMException
} = __nccwpck_require__(1037)
const { kHeadersList } = __nccwpck_require__(2785)
@@ -43951,6 +44002,7 @@ const { TransformStream } = __nccwpck_require__(5356)
const { getGlobalDispatcher } = __nccwpck_require__(1892)
const { webidl } = __nccwpck_require__(1744)
const { STATUS_CODES } = __nccwpck_require__(3685)
const GET_OR_HEAD = ['GET', 'HEAD']
/** @type {import('buffer').resolveObjectURL} */
let resolveObjectURL
@@ -44398,7 +44450,7 @@ function fetching ({
}
// 15. If request is a subresource request, then:
if (subresource.includes(request.destination)) {
if (subresourceSet.has(request.destination)) {
// TODO
}
@@ -44952,7 +45004,7 @@ async function httpFetch (fetchParams) {
}
// 8. If actualResponses status is a redirect status, then:
if (redirectStatus.includes(actualResponse.status)) {
if (redirectStatusSet.has(actualResponse.status)) {
// 1. If actualResponses status is not 303, requests body is not null,
// and the connection uses HTTP/2, then user agents may, and are even
// encouraged to, transmit an RST_STREAM frame.
@@ -45070,7 +45122,7 @@ function httpRedirectFetch (fetchParams, response) {
if (
([301, 302].includes(actualResponse.status) && request.method === 'POST') ||
(actualResponse.status === 303 &&
!['GET', 'HEAD'].includes(request.method))
!GET_OR_HEAD.includes(request.method))
) {
// then:
// 1. Set requests method to `GET` and requests body to null.
@@ -45354,7 +45406,7 @@ async function httpNetworkOrCacheFetch (
// responses in httpCache, as per the "Invalidation" chapter of HTTP
// Caching, and set storedResponse to null. [HTTP-CACHING]
if (
!safeMethods.includes(httpRequest.method) &&
!safeMethodsSet.has(httpRequest.method) &&
forwardResponse.status >= 200 &&
forwardResponse.status <= 399
) {
@@ -45914,7 +45966,7 @@ async function httpNetworkFetch (
const willFollow = request.redirect === 'follow' &&
location &&
redirectStatus.includes(status)
redirectStatusSet.has(status)
// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Encoding
if (request.method !== 'HEAD' && request.method !== 'CONNECT' && !nullBodyStatus.includes(status) && !willFollow) {
@@ -46054,8 +46106,8 @@ const {
makePolicyContainer
} = __nccwpck_require__(2538)
const {
forbiddenMethods,
corsSafeListedMethods,
forbiddenMethodsSet,
corsSafeListedMethodsSet,
referrerPolicy,
requestRedirect,
requestMode,
@@ -46360,7 +46412,7 @@ class Request {
throw TypeError(`'${init.method}' is not a valid HTTP method.`)
}
if (forbiddenMethods.indexOf(method.toUpperCase()) !== -1) {
if (forbiddenMethodsSet.has(method.toUpperCase())) {
throw TypeError(`'${init.method}' HTTP method is unsupported.`)
}
@@ -46445,7 +46497,7 @@ class Request {
if (mode === 'no-cors') {
// 1. If thiss requests method is not a CORS-safelisted method,
// then throw a TypeError.
if (!corsSafeListedMethods.includes(request.method)) {
if (!corsSafeListedMethodsSet.has(request.method)) {
throw new TypeError(
`'${request.method} is unsupported in no-cors mode.`
)
@@ -47007,7 +47059,7 @@ const {
isomorphicEncode
} = __nccwpck_require__(2538)
const {
redirectStatus,
redirectStatusSet,
nullBodyStatus,
DOMException
} = __nccwpck_require__(1037)
@@ -47021,6 +47073,7 @@ const assert = __nccwpck_require__(9491)
const { types } = __nccwpck_require__(3837)
const ReadableStream = globalThis.ReadableStream || (__nccwpck_require__(5356).ReadableStream)
const textEncoder = new TextEncoder('utf-8')
// https://fetch.spec.whatwg.org/#response-class
class Response {
@@ -47050,7 +47103,7 @@ class Response {
}
// 1. Let bytes the result of running serialize a JavaScript value to JSON bytes on data.
const bytes = new TextEncoder('utf-8').encode(
const bytes = textEncoder.encode(
serializeJavascriptValueToJSONString(data)
)
@@ -47095,7 +47148,7 @@ class Response {
}
// 3. If status is not a redirect status, then throw a RangeError.
if (!redirectStatus.includes(status)) {
if (!redirectStatusSet.has(status)) {
throw new RangeError('Invalid status code ' + status)
}
@@ -47593,7 +47646,7 @@ module.exports = {
"use strict";
const { redirectStatus, badPorts, referrerPolicy: referrerPolicyTokens } = __nccwpck_require__(1037)
const { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = __nccwpck_require__(1037)
const { getGlobalOrigin } = __nccwpck_require__(1246)
const { performance } = __nccwpck_require__(4074)
const { isBlobLike, toUSVString, ReadableStreamFrom } = __nccwpck_require__(3983)
@@ -47622,7 +47675,7 @@ function responseURL (response) {
// https://fetch.spec.whatwg.org/#concept-response-location-url
function responseLocationURL (response, requestFragment) {
// 1. If responses status is not a redirect status, then return null.
if (!redirectStatus.includes(response.status)) {
if (!redirectStatusSet.has(response.status)) {
return null
}
@@ -47657,7 +47710,7 @@ function requestBadPort (request) {
// 2. If urls scheme is an HTTP(S) scheme and urls port is a bad port,
// then return blocked.
if (urlIsHttpHttpsScheme(url) && badPorts.includes(url.port)) {
if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
return 'blocked'
}
@@ -47799,7 +47852,7 @@ function setRequestReferrerPolicyOnRedirect (request, actualResponse) {
// The left-most policy is the fallback.
for (let i = policyHeader.length; i !== 0; i--) {
const token = policyHeader[i - 1].trim()
if (referrerPolicyTokens.includes(token)) {
if (referrerPolicyTokens.has(token)) {
policy = token
break
}
@@ -58276,7 +58329,7 @@ class Directives {
onError('Verbatim tags must end with a >');
return verbatim;
}
const [, handle, suffix] = source.match(/^(.*!)([^!]*)$/);
const [, handle, suffix] = source.match(/^(.*!)([^!]*)$/s);
if (!suffix)
onError(`The ${source} tag has no suffix`);
const prefix = this.tags[handle];

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"name": "@tj-actions/changed-files",
"version": "39.2.4",
"version": "40.0.2",
"description": "Github action to retrieve all (added, copied, modified, deleted, renamed, type changed, unmerged, unknown) files and directories.",
"main": "lib/main.js",
"publishConfig": {

View File

@@ -51,6 +51,7 @@ export type Inputs = {
skipInitialFetch: boolean
failOnInitialDiffError: boolean
failOnSubmoduleDiffError: boolean
negationPatternsFirst: boolean
}
export const getInputs = (): Inputs => {
@@ -218,6 +219,13 @@ export const getInputs = (): Inputs => {
}
)
const negationPatternsFirst = core.getBooleanInput(
'negation_patterns_first',
{
required: false
}
)
const inputs: Inputs = {
files,
filesSeparator,
@@ -268,7 +276,8 @@ export const getInputs = (): Inputs => {
outputDir,
outputRenamedFilesAsDeletedAndAdded,
token,
apiUrl
apiUrl,
negationPatternsFirst
}
if (fetchDepth) {

View File

@@ -938,77 +938,99 @@ export const getFilePatterns = async ({
inputs: Inputs
workingDirectory: string
}): Promise<string[]> => {
let filePatterns = inputs.files
.split(inputs.filesSeparator)
.filter(Boolean)
.join('\n')
let cleanedFilePatterns: string[] = []
if (inputs.files) {
const filesPatterns = inputs.files
.split(inputs.filesSeparator)
.filter(Boolean)
cleanedFilePatterns.push(...filesPatterns)
core.debug(`files patterns: ${filesPatterns.join('\n')}`)
}
if (inputs.filesFromSourceFile !== '') {
const inputFilesFromSourceFile = inputs.filesFromSourceFile
.split(inputs.filesFromSourceFileSeparator)
.filter(p => p !== '')
.filter(Boolean)
.map(p => path.join(workingDirectory, p))
core.debug(`files from source file: ${inputFilesFromSourceFile}`)
const filesFromSourceFiles = (
await getFilesFromSourceFile({filePaths: inputFilesFromSourceFile})
).join('\n')
const filesFromSourceFiles = await getFilesFromSourceFile({
filePaths: inputFilesFromSourceFile
})
core.debug(`files from source files patterns: ${filesFromSourceFiles}`)
core.debug(
`files from source files patterns: ${filesFromSourceFiles.join('\n')}`
)
filePatterns = filePatterns.concat('\n', filesFromSourceFiles)
cleanedFilePatterns.push(...filesFromSourceFiles)
}
if (inputs.filesIgnore) {
const filesIgnorePatterns = inputs.filesIgnore
.split(inputs.filesIgnoreSeparator)
.filter(p => p !== '')
.filter(Boolean)
.map(p => {
if (!p.startsWith('!')) {
p = `!${p}`
}
return p
})
.join('\n')
core.debug(`files ignore patterns: ${filesIgnorePatterns}`)
core.debug(`files ignore patterns: ${filesIgnorePatterns.join('\n')}`)
filePatterns = filePatterns.concat('\n', filesIgnorePatterns)
cleanedFilePatterns.push(...filesIgnorePatterns)
}
if (inputs.filesIgnoreFromSourceFile) {
const inputFilesIgnoreFromSourceFile = inputs.filesIgnoreFromSourceFile
.split(inputs.filesIgnoreFromSourceFileSeparator)
.filter(p => p !== '')
.filter(Boolean)
.map(p => path.join(workingDirectory, p))
core.debug(
`files ignore from source file: ${inputFilesIgnoreFromSourceFile}`
)
const filesIgnoreFromSourceFiles = (
await getFilesFromSourceFile({
filePaths: inputFilesIgnoreFromSourceFile,
excludedFiles: true
})
).join('\n')
const filesIgnoreFromSourceFiles = await getFilesFromSourceFile({
filePaths: inputFilesIgnoreFromSourceFile,
excludedFiles: true
})
core.debug(
`files ignore from source files patterns: ${filesIgnoreFromSourceFiles}`
`files ignore from source files patterns: ${filesIgnoreFromSourceFiles.join(
'\n'
)}`
)
filePatterns = filePatterns.concat('\n', filesIgnoreFromSourceFiles)
cleanedFilePatterns.push(...filesIgnoreFromSourceFiles)
}
if (inputs.negationPatternsFirst) {
cleanedFilePatterns.sort((a, b) => {
return a.startsWith('!') ? -1 : b.startsWith('!') ? 1 : 0
})
}
// Reorder file patterns '**' should come first
if (cleanedFilePatterns.includes('**')) {
cleanedFilePatterns.sort((a, b) => {
return a === '**' ? -1 : b === '**' ? 1 : 0
})
}
if (isWindows()) {
filePatterns = filePatterns.replace(/\r\n/g, '\n')
filePatterns = filePatterns.replace(/\r/g, '\n')
cleanedFilePatterns = cleanedFilePatterns.map(pattern =>
pattern.replace(/\r\n/g, '\n').replace(/\r/g, '\n')
)
}
core.debug(`Input file patterns: ${filePatterns}`)
core.debug(`Input file patterns: \n${cleanedFilePatterns.join('\n')}`)
return filePatterns.trim().split('\n').filter(Boolean)
return cleanedFilePatterns
}
// Example YAML input:

168
yarn.lock
View File

@@ -688,9 +688,9 @@
universal-user-agent "^6.0.0"
"@octokit/endpoint@^9.0.0":
version "9.0.1"
resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-9.0.1.tgz#c3f69d27accddcb04a3199fcef541804288149d2"
integrity sha512-hRlOKAovtINHQPYHZlfyFwaM8OyetxeoC81lAkBy34uLb8exrZB50SQdeW3EROqiY9G9yxQTpp5OHTV54QD+vA==
version "9.0.2"
resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-9.0.2.tgz#f9098bf15b893ac30c144c5e77da0322ad41b008"
integrity sha512-qhKW8YLIi+Kmc92FQUFGr++DYtkx/1fBv+Thua6baqnjnOsgBYJDCvWZR1YcINuHGOEQt416WOfE+A/oG60NBQ==
dependencies:
"@octokit/types" "^12.0.0"
is-plain-object "^5.0.0"
@@ -711,11 +711,11 @@
integrity sha512-8li32fUDUeml/ACRp/njCWTsk5t17cfTM1jp9n08pBrqs5cDFJubtjsSnuz56r5Tad6jdEPJld7LxNp9dNcyjQ==
"@octokit/plugin-paginate-rest@^9.0.0":
version "9.1.1"
resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.1.1.tgz#c86c9727d3eaa463d831cf585708f19748ffc072"
integrity sha512-e48ypUbfVWWXHyWsjVHdYFMLSdVaWJkAF5Tg9yfO92ltqd3JmuxWLlmwA5B1n9niSy7qsjBWPbEvREyCXqBQkA==
version "9.1.2"
resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.1.2.tgz#3d6196db8463bd0d935f4c9bc78de6325c95cbb8"
integrity sha512-euDbNV6fxX6btsCDnZoZM4vw3zO1nj1Z7TskHAulO6mZ9lHoFTpwll6farf+wh31mlBabgU81bBYdflp0GLVAQ==
dependencies:
"@octokit/types" "^12.1.0"
"@octokit/types" "^12.1.1"
"@octokit/plugin-request-log@^4.0.0":
version "4.0.0"
@@ -723,11 +723,11 @@
integrity sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==
"@octokit/plugin-rest-endpoint-methods@^10.0.0":
version "10.1.1"
resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.1.1.tgz#b9d471cc254130104fd4cf0450164e4f763c722a"
integrity sha512-yDinjvUmNMGiUVkzNafNer0wvJ6XDZf3Xd2W6RUTMJX7dp21KrISjYRvCd92xWFjLNadJlBBHz3ndsfoizeM1Q==
version "10.1.2"
resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.1.2.tgz#bf503f47881171bc9380d110793d8d3150158ed3"
integrity sha512-JztgZ82CY4JNlPTuF0jh4iWuuGpEi5czFCoXyAbMg4F2XyFBbG5DWAKfa3odRvdZww6Df1tQgBKnqpd9X0WF9g==
dependencies:
"@octokit/types" "^12.1.0"
"@octokit/types" "^12.1.1"
"@octokit/request-error@^5.0.0":
version "5.0.1"
@@ -759,7 +759,7 @@
"@octokit/plugin-request-log" "^4.0.0"
"@octokit/plugin-rest-endpoint-methods" "^10.0.0"
"@octokit/types@^12.0.0", "@octokit/types@^12.1.0":
"@octokit/types@^12.0.0", "@octokit/types@^12.1.1":
version "12.1.1"
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-12.1.1.tgz#376726d8435625b3a1b6fcd8cd3e1b03ade939dc"
integrity sha512-qnJTldJ1NyGT5MTsCg/Zi+y2IFHZ1Jo5+njNCjJ9FcainV7LjuHgmB697kA0g4MjZeDAJsM3B45iqCVsCLVFZg==
@@ -862,9 +862,9 @@
"@types/istanbul-lib-report" "*"
"@types/jest@^29.5.2":
version "29.5.6"
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.6.tgz#f4cf7ef1b5b0bfc1aa744e41b24d9cc52533130b"
integrity sha512-/t9NnzkOpXb4Nfvg17ieHE6EeSjDS2SGSpNYfoLbUAeL/EOueU/RSdOWFpfQTXBEM7BguYW1XQ0EbM+6RlIh6w==
version "29.5.7"
resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.7.tgz#2c0dafe2715dd958a455bc10e2ec3e1ec47b5036"
integrity sha512-HLyetab6KVPSiF+7pFcUyMeLsx25LDNDemw9mGsJBkai/oouwrjTycocSDYopMEwFhN2Y4s9oPyOCZNofgSt2g==
dependencies:
expect "^29.0.0"
pretty-format "^29.0.0"
@@ -892,9 +892,9 @@
"@types/braces" "*"
"@types/node@*", "@types/node@^20.3.2":
version "20.8.9"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.9.tgz#646390b4fab269abce59c308fc286dcd818a2b08"
integrity sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==
version "20.8.10"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.10.tgz#a5448b895c753ae929c26ce85cab557c6d4a365e"
integrity sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==
dependencies:
undici-types "~5.26.4"
@@ -926,15 +926,15 @@
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^6.0.0":
version "6.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.0.tgz#fdb6f3821c0167e3356e9d89c80e8230b2e401f4"
integrity sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==
version "6.9.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.9.1.tgz#d8ce497dc0ed42066e195c8ecc40d45c7b1254f4"
integrity sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==
dependencies:
"@eslint-community/regexpp" "^4.5.1"
"@typescript-eslint/scope-manager" "6.9.0"
"@typescript-eslint/type-utils" "6.9.0"
"@typescript-eslint/utils" "6.9.0"
"@typescript-eslint/visitor-keys" "6.9.0"
"@typescript-eslint/scope-manager" "6.9.1"
"@typescript-eslint/type-utils" "6.9.1"
"@typescript-eslint/utils" "6.9.1"
"@typescript-eslint/visitor-keys" "6.9.1"
debug "^4.3.4"
graphemer "^1.4.0"
ignore "^5.2.4"
@@ -943,14 +943,14 @@
ts-api-utils "^1.0.1"
"@typescript-eslint/parser@^6.0.0":
version "6.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.9.0.tgz#2b402cadeadd3f211c25820e5433413347b27391"
integrity sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==
version "6.9.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.9.1.tgz#4f685f672f8b9580beb38d5fb99d52fc3e34f7a3"
integrity sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==
dependencies:
"@typescript-eslint/scope-manager" "6.9.0"
"@typescript-eslint/types" "6.9.0"
"@typescript-eslint/typescript-estree" "6.9.0"
"@typescript-eslint/visitor-keys" "6.9.0"
"@typescript-eslint/scope-manager" "6.9.1"
"@typescript-eslint/types" "6.9.1"
"@typescript-eslint/typescript-estree" "6.9.1"
"@typescript-eslint/visitor-keys" "6.9.1"
debug "^4.3.4"
"@typescript-eslint/scope-manager@5.62.0":
@@ -961,21 +961,21 @@
"@typescript-eslint/types" "5.62.0"
"@typescript-eslint/visitor-keys" "5.62.0"
"@typescript-eslint/scope-manager@6.9.0":
version "6.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.9.0.tgz#2626e9a7fe0e004c3e25f3b986c75f584431134e"
integrity sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==
"@typescript-eslint/scope-manager@6.9.1":
version "6.9.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.9.1.tgz#e96afeb9a68ad1cd816dba233351f61e13956b75"
integrity sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==
dependencies:
"@typescript-eslint/types" "6.9.0"
"@typescript-eslint/visitor-keys" "6.9.0"
"@typescript-eslint/types" "6.9.1"
"@typescript-eslint/visitor-keys" "6.9.1"
"@typescript-eslint/type-utils@6.9.0":
version "6.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.9.0.tgz#23923c8c9677c2ad41457cf8e10a5f2946be1b04"
integrity sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==
"@typescript-eslint/type-utils@6.9.1":
version "6.9.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.9.1.tgz#efd5db20ed35a74d3c7d8fba51b830ecba09ce32"
integrity sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==
dependencies:
"@typescript-eslint/typescript-estree" "6.9.0"
"@typescript-eslint/utils" "6.9.0"
"@typescript-eslint/typescript-estree" "6.9.1"
"@typescript-eslint/utils" "6.9.1"
debug "^4.3.4"
ts-api-utils "^1.0.1"
@@ -984,10 +984,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
"@typescript-eslint/types@6.9.0":
version "6.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.9.0.tgz#86a0cbe7ac46c0761429f928467ff3d92f841098"
integrity sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==
"@typescript-eslint/types@6.9.1":
version "6.9.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.9.1.tgz#a6cfc20db0fcedcb2f397ea728ef583e0ee72459"
integrity sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==
"@typescript-eslint/typescript-estree@5.62.0":
version "5.62.0"
@@ -1002,30 +1002,30 @@
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/typescript-estree@6.9.0":
version "6.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.0.tgz#d0601b245be873d8fe49f3737f93f8662c8693d4"
integrity sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==
"@typescript-eslint/typescript-estree@6.9.1":
version "6.9.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.9.1.tgz#8c77910a49a04f0607ba94d78772da07dab275ad"
integrity sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==
dependencies:
"@typescript-eslint/types" "6.9.0"
"@typescript-eslint/visitor-keys" "6.9.0"
"@typescript-eslint/types" "6.9.1"
"@typescript-eslint/visitor-keys" "6.9.1"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.5.4"
ts-api-utils "^1.0.1"
"@typescript-eslint/utils@6.9.0":
version "6.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.9.0.tgz#5bdac8604fca4823f090e4268e681c84d3597c9f"
integrity sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==
"@typescript-eslint/utils@6.9.1":
version "6.9.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.9.1.tgz#763da41281ef0d16974517b5f0d02d85897a1c1e"
integrity sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
"@types/json-schema" "^7.0.12"
"@types/semver" "^7.5.0"
"@typescript-eslint/scope-manager" "6.9.0"
"@typescript-eslint/types" "6.9.0"
"@typescript-eslint/typescript-estree" "6.9.0"
"@typescript-eslint/scope-manager" "6.9.1"
"@typescript-eslint/types" "6.9.1"
"@typescript-eslint/typescript-estree" "6.9.1"
semver "^7.5.4"
"@typescript-eslint/utils@^5.10.0":
@@ -1050,12 +1050,12 @@
"@typescript-eslint/types" "5.62.0"
eslint-visitor-keys "^3.3.0"
"@typescript-eslint/visitor-keys@6.9.0":
version "6.9.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.0.tgz#cc69421c10c4ac997ed34f453027245988164e80"
integrity sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==
"@typescript-eslint/visitor-keys@6.9.1":
version "6.9.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.9.1.tgz#6753a9225a0ba00459b15d6456b9c2780b66707d"
integrity sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==
dependencies:
"@typescript-eslint/types" "6.9.0"
"@typescript-eslint/types" "6.9.1"
eslint-visitor-keys "^3.4.1"
"@ungap/structured-clone@^1.2.0":
@@ -1074,9 +1074,9 @@ acorn-jsx@^5.3.2:
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
acorn@^8.9.0:
version "8.10.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
version "8.11.2"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b"
integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
ajv@^6.12.4:
version "6.12.6"
@@ -1394,9 +1394,9 @@ camelcase@^6.2.0:
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
caniuse-lite@^1.0.30001541:
version "1.0.30001554"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001554.tgz#ba80d88dff9acbc0cd4b7535fc30e0191c5e2e2a"
integrity sha512-A2E3U//MBwbJVzebddm1YfNp7Nud5Ip+IPn4BozBmn4KqVX7AvluoIDFWjsv5OkGnKUXQVmMSoMKLa3ScCblcQ==
version "1.0.30001558"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001558.tgz#d2c6e21fdbfe83817f70feab902421a19b7983ee"
integrity sha512-/Et7DwLqpjS47JPEcz6VnxU9PwcIdVi0ciLXRWBQdj1XFye68pSQYpV0QtPTfUKWuOaEig+/Vez2l74eDc1tPQ==
chalk@^2.4.2:
version "2.4.2"
@@ -1622,9 +1622,9 @@ doctrine@^3.0.0:
esutils "^2.0.2"
electron-to-chromium@^1.4.535:
version "1.4.567"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.567.tgz#c92e8fbc2bd15df3068d92571733a218a5413add"
integrity sha512-8KR114CAYQ4/r5EIEsOmOMqQ9j0MRbJZR3aXD/KFA8RuKzyoUB4XrUCg+l8RUGqTVQgKNIgTpjaG8YHRPAbX2w==
version "1.4.569"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.569.tgz#1298b67727187ffbaac005a7425490d157f3ad03"
integrity sha512-LsrJjZ0IbVy12ApW3gpYpcmHS3iRxH4bkKOW98y1/D+3cvDUWGcbzbsFinfUS8knpcZk/PG/2p/RnkMCYN7PVg==
emittery@^0.13.1:
version "0.13.1"
@@ -1836,9 +1836,9 @@ eslint-plugin-import@^2.25.2:
tsconfig-paths "^3.14.2"
eslint-plugin-jest@^27.2.2:
version "27.4.3"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.4.3.tgz#7b2330a9e1819b66d06e66b45dfa8e8ef0c23f79"
integrity sha512-7S6SmmsHsgIm06BAGCAxL+ABd9/IB3MWkz2pudj6Qqor2y1qQpWPfuFU4SG9pWj4xDjF0e+D7Llh5useuSzAZw==
version "27.6.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz#e5c0cf735b3c8cad0ef9db5b565b2fc99f5e55ed"
integrity sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==
dependencies:
"@typescript-eslint/utils" "^5.10.0"
@@ -3985,9 +3985,9 @@ undici-types@~5.26.4:
integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
undici@^5.25.4:
version "5.26.5"
resolved "https://registry.yarnpkg.com/undici/-/undici-5.26.5.tgz#f6dc8c565e3cad8c4475b187f51a13e505092838"
integrity sha512-cSb4bPFd5qgR7qr2jYAi0hlX9n5YKK2ONKkLFkxl+v/9BvC0sOpZjBHDBSXc5lWAf5ty9oZdRXytBIHzgUcerw==
version "5.27.0"
resolved "https://registry.yarnpkg.com/undici/-/undici-5.27.0.tgz#789f2e40ce982b5507899abc2c2ddeb2712b4554"
integrity sha512-l3ydWhlhOJzMVOYkymLykcRRXqbUaQriERtR70B9LzNkZ4bX52Fc8wbTDneMiwo8T+AemZXvXaTx+9o5ROxrXg==
dependencies:
"@fastify/busboy" "^2.0.0"
@@ -4104,9 +4104,9 @@ yallist@^4.0.0:
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
yaml@^2.3.1:
version "2.3.3"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.3.tgz#01f6d18ef036446340007db8e016810e5d64aad9"
integrity sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==
version "2.3.4"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2"
integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==
yargs-parser@^21.0.1, yargs-parser@^21.1.1:
version "21.1.1"