Compare commits

...

45 Commits

Author SHA1 Message Date
renovate[bot]
cbda684547 chore(deps): update dependency @types/node to v20.11.5 2024-01-17 07:29:39 +00:00
Tonye Jack
3f8189989b fix: bug with incorrect action path (#1866)
Co-authored-by: GitHub Action <action@github.com>
2024-01-17 07:20:30 +00:00
renovate[bot]
67a1f54f6f chore(deps): update dependency prettier to v3.2.3 2024-01-17 05:17:08 +00:00
renovate[bot]
99248a4438 chore(deps): update tj-actions/eslint-changed-files action to v22 (#1864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-01-16 22:31:01 +00:00
renovate[bot]
878743189b chore(deps): update dependency @types/node to v20.11.4 2024-01-16 11:36:30 +00:00
renovate[bot]
98d1d84e2f chore(deps): update dependency @types/node to v20.11.3 2024-01-15 22:18:38 +00:00
Tonye Jack
a60bf3759e feat: enhance error handling and working directory resolution (#1859)
Co-authored-by: GitHub Action <action@github.com>
2024-01-15 11:54:08 -07:00
renovate[bot]
bc46e4c422 chore(deps): update typescript-eslint monorepo to v6.19.0 2024-01-15 18:51:11 +00:00
renovate[bot]
fba4067348 chore(deps): update dependency @types/node to v20.11.2 2024-01-15 13:13:53 +00:00
renovate[bot]
e4b8674732 chore(deps): update dependency @types/node to v20.11.1 2024-01-15 04:26:58 +00:00
renovate[bot]
bc2b5aef20 chore(deps): lock file maintenance 2024-01-15 02:09:33 +00:00
renovate[bot]
63c36a563a chore(deps): update dependency prettier to v3.2.2 2024-01-14 05:44:42 +00:00
tj-actions[bot]
44b77505fe Upgraded to v41.1.1 (#1854)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2024-01-13 22:07:22 +00:00
Tonye Jack
62f4729b5d fix: bug with inaccurate warnings (#1853)
Co-authored-by: GitHub Action <action@github.com>
2024-01-13 21:53:17 +00:00
tj-actions[bot]
e0579abf95 Upgraded to v41.1.0 (#1852)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2024-01-13 10:27:11 +00:00
Tonye Jack
8e0194b29b fix: permission with release workflow (#1851) 2024-01-13 03:16:09 -07:00
tj-actions[bot]
3649d2842d Updated README.md (#1850)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2024-01-13 08:58:40 +00:00
Tonye Jack
0ca1c07b47 feat: add support for forcing the use of GitHub’s REST API (#1849)
Co-authored-by: GitHub Action <action@github.com>
2024-01-13 08:48:42 +00:00
Tonye Jack
a57f4dcc81 chore: update top level workflow permissions (#1848) 2024-01-13 07:31:45 +00:00
renovate[bot]
9c39b0b6e9 chore(deps): update dependency prettier to v3.2.1 2024-01-12 23:37:28 +00:00
renovate[bot]
8b141f3906 chore(deps): update dependency eslint-plugin-jest to v27.6.3 2024-01-12 17:54:52 +00:00
Tonye Jack
17e07d8bc0 chore: create multi-job-test.yml (#1843)
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2024-01-12 17:43:51 +00:00
Tonye Jack
13fa1c06fc chore: update warning message (#1845)
Co-authored-by: GitHub Action <action@github.com>
2024-01-12 10:28:21 -07:00
renovate[bot]
0deb29d192 chore(deps): update dependency prettier to v3.2.0 2024-01-12 17:07:01 +00:00
renovate[bot]
28267ee8b7 chore(deps): update dependency @types/node to v20.11.0 2024-01-11 08:04:44 +00:00
renovate[bot]
094d3441f8 chore(deps): update dependency eslint-plugin-jest to v27.6.2 2024-01-10 11:27:40 +00:00
renovate[bot]
aeec36b035 chore(deps): update dependency eslint-plugin-prettier to v5.1.3 2024-01-10 05:05:32 +00:00
dependabot[bot]
2d0270c489 chore(deps-dev): bump @types/node from 20.10.7 to 20.10.8 (#1836)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-10 01:23:30 +00:00
renovate[bot]
0e0adfa0d3 chore(deps): update typescript-eslint monorepo to v6.18.1 2024-01-09 01:42:46 +00:00
Tonye Jack
5313e6bbe3 chore: update jest.config.js (#1834) 2024-01-08 13:53:44 +00:00
renovate[bot]
54789be3a1 chore(deps): lock file maintenance 2024-01-08 00:42:20 +00:00
renovate[bot]
1675238cfd chore(deps): update dependency @types/node to v20.10.7 2024-01-07 17:13:54 +00:00
tj-actions[bot]
3fbf5fb588 Updated README.md (#1830)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2024-01-07 06:40:56 -07:00
Tonye Jack
95230678db Update README.md 2024-01-07 06:37:07 -07:00
Tonye Jack
fdccafbb6e chore: create workflow-run-test.yml (#1828) 2024-01-06 10:50:54 -07:00
renovate[bot]
0e8d796ee0 chore(deps): update typescript-eslint monorepo to v6.18.0 2024-01-06 16:49:14 +00:00
renovate[bot]
0c6f2ac488 chore(deps): update dependency eslint-plugin-jest to v27.6.1 2024-01-01 22:49:49 +00:00
renovate[bot]
1db97adba4 chore(deps): update typescript-eslint monorepo to v6.17.0 2024-01-01 19:03:11 +00:00
renovate[bot]
fb8f6db383 chore(deps): lock file maintenance 2023-12-31 19:28:53 +00:00
renovate[bot]
efd7ecef11 chore(deps): update dependency @types/node to v20.10.6 2023-12-30 02:47:54 +00:00
renovate[bot]
4f8e12c098 chore(deps): update tj-actions/verify-changed-files action to v17 (#1820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-29 04:36:04 +00:00
Tonye Jack
032add13e8 Update README.md 2023-12-28 11:36:43 -07:00
renovate[bot]
0f0747e79d chore(deps): update typescript-eslint monorepo to v6.16.0 2023-12-25 20:16:19 +00:00
Tonye Jack
0c2a758b81 chore: update matrix-test.yml (#1814) 2023-12-24 18:06:18 +00:00
tj-actions[bot]
1b6d7b6fb6 Upgraded to v41.0.1 (#1816)
Co-authored-by: jackton1 <jackton1@users.noreply.github.com>
2023-12-24 17:48:54 +00:00
25 changed files with 761 additions and 387 deletions

View File

@@ -17,6 +17,11 @@ on:
schedule:
- cron: '15 16 * * 2'
permissions:
actions: read
contents: read
security-events: write
jobs:
codacy-security-scan:
# Cancel other workflows that are running for the same branch

View File

@@ -20,6 +20,11 @@ on:
schedule:
- cron: '44 20 * * 0'
permissions:
actions: read
contents: read
security-events: write
jobs:
analyze:
name: Analyze

View File

@@ -1,4 +1,8 @@
name: Issue Comment Test
permissions:
contents: read
on:
issue_comment:

View File

@@ -1,5 +1,8 @@
name: Manual Test
permissions:
contents: read
on:
workflow_dispatch:

View File

@@ -1,5 +1,8 @@
name: Matrix Test
permissions:
contents: read
on:
workflow_dispatch:
pull_request:
@@ -22,7 +25,6 @@ jobs:
uses: ./
with:
json: true
quotepath: false
escape_json: false
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}'

67
.github/workflows/multi-job-test.yml vendored Normal file
View File

@@ -0,0 +1,67 @@
name: Multi Job Test
permissions:
contents: read
on:
push:
branches:
- "**"
pull_request:
branches:
- "**"
jobs:
changed-files:
name: Get changed files
runs-on: ubuntu-latest
outputs:
all_changed_files: ${{ steps.changed-files.outputs.all_changed_files }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed files
id: changed-files
uses: ./
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}'
view-changed-files:
name: View all changed files
runs-on: ubuntu-latest
needs: [changed-files]
steps:
- name: List all changed files
run: |
echo '${{ needs.changed-files.outputs.all_changed_files }}'
changed-files-rest-api:
name: Get changed files using REST API
runs-on: ubuntu-latest
outputs:
all_changed_files: ${{ steps.changed-files.outputs.all_changed_files }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Get changed files
id: changed-files
continue-on-error: ${{ github.event_name == 'push' }}
uses: ./
with:
use_rest_api: true
- name: List all changed files
run: echo '${{ steps.changed-files.outputs.all_changed_files }}'
view-changed-files-rest-api:
name: View all changed files using REST API
runs-on: ubuntu-latest
needs: [changed-files-rest-api]
steps:
- name: List all changed files
run: |
echo '${{ needs.changed-files-rest-api.outputs.all_changed_files }}'

View File

@@ -1,4 +1,9 @@
name: Update release version.
name: Update release version
permissions:
contents: write
pull-requests: write
on:
release:
types: [published]

View File

@@ -1,5 +1,9 @@
name: CI
permissions:
contents: read
pull-requests: write
on:
push:
branches:
@@ -54,7 +58,7 @@ jobs:
yarn install
- name: Run eslint on changed files
uses: tj-actions/eslint-changed-files@v21
uses: tj-actions/eslint-changed-files@v22
if: github.event_name == 'pull_request'
with:
token: ${{ secrets.PAT_TOKEN }}
@@ -66,7 +70,7 @@ jobs:
yarn all
- name: Verify Changed files
uses: tj-actions/verify-changed-files@v16
uses: tj-actions/verify-changed-files@v17
id: changed_files
with:
files: |

View File

@@ -1,5 +1,9 @@
name: Format README.md
permissions:
contents: read
pull-requests: write
on:
push:
branches:
@@ -23,7 +27,7 @@ jobs:
uses: tj-actions/remark@v3
- name: Verify Changed files
uses: tj-actions/verify-changed-files@v16
uses: tj-actions/verify-changed-files@v17
id: verify_changed_files
with:
files: |

20
.github/workflows/workflow-run-test.yml vendored Normal file
View File

@@ -0,0 +1,20 @@
name: Workflow Run Example
on:
workflow_run:
workflows: [Matrix Test]
types: [completed]
permissions:
contents: read
jobs:
on-success:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- run: echo 'The triggering workflow passed'
on-failure:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'failure' }}
steps:
- run: echo 'The triggering workflow failed'

View File

@@ -1,5 +1,86 @@
# Changelog
# [41.1.1](https://github.com/tj-actions/changed-files/compare/v41.1.0...v41.1.1) - (2024-01-13)
## <!-- 1 -->🐛 Bug Fixes
- Bug with inaccurate warnings ([#1853](https://github.com/tj-actions/changed-files/issues/1853)) ([62f4729](https://github.com/tj-actions/changed-files/commit/62f4729b5df35e6e0e01265fa70a82ccaf196b4b)) - (Tonye Jack)
## <!-- 9 -->⬆️ Upgrades
- Upgraded to v41.1.0 ([#1852](https://github.com/tj-actions/changed-files/issues/1852))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([e0579ab](https://github.com/tj-actions/changed-files/commit/e0579abf95abec8042468976c7822e6867542199)) - (tj-actions[bot])
# [41.1.0](https://github.com/tj-actions/changed-files/compare/v41.0.1...v41.1.0) - (2024-01-13)
## <!-- 0 -->🚀 Features
- Add support for forcing the use of GitHubs REST API ([#1849](https://github.com/tj-actions/changed-files/issues/1849)) ([0ca1c07](https://github.com/tj-actions/changed-files/commit/0ca1c07b47b66abe421382a891da70a506e60e8a)) - (Tonye Jack)
## <!-- 1 -->🐛 Bug Fixes
- Permission with release workflow ([#1851](https://github.com/tj-actions/changed-files/issues/1851)) ([8e0194b](https://github.com/tj-actions/changed-files/commit/8e0194b29bc4bb6dd2338b6b7b915c56c2df6f58)) - (Tonye Jack)
## <!-- 26 -->🔄 Update
- Updated README.md ([#1850](https://github.com/tj-actions/changed-files/issues/1850))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([3649d28](https://github.com/tj-actions/changed-files/commit/3649d2842d46e7cc679c204d917887f7821cf08a)) - (tj-actions[bot])
- Updated README.md ([#1830](https://github.com/tj-actions/changed-files/issues/1830))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([3fbf5fb](https://github.com/tj-actions/changed-files/commit/3fbf5fb588c7e1fdbc140668150a2b725984c6ed)) - (tj-actions[bot])
- Update README.md ([9523067](https://github.com/tj-actions/changed-files/commit/95230678db8c15d57cd678fbcd2a7e87e83ac1e1)) - (Tonye Jack)
- Update README.md ([032add1](https://github.com/tj-actions/changed-files/commit/032add13e8e88878dc3238258baee58dcb4a528a)) - (Tonye Jack)
## <!-- 7 -->⚙️ Miscellaneous Tasks
- Update top level workflow permissions ([#1848](https://github.com/tj-actions/changed-files/issues/1848)) ([a57f4dc](https://github.com/tj-actions/changed-files/commit/a57f4dcc814fa55691c9ee5fc6e07c7487cb69f1)) - (Tonye Jack)
- **deps:** Update dependency prettier to v3.2.1 ([9c39b0b](https://github.com/tj-actions/changed-files/commit/9c39b0b6e9d3a1e534a35da2e6142c8b1d0204b3)) - (renovate[bot])
- **deps:** Update dependency eslint-plugin-jest to v27.6.3 ([8b141f3](https://github.com/tj-actions/changed-files/commit/8b141f390680a108c54963421dbc9ed587516859)) - (renovate[bot])
- Create multi-job-test.yml ([#1843](https://github.com/tj-actions/changed-files/issues/1843)) ([17e07d8](https://github.com/tj-actions/changed-files/commit/17e07d8bc032c41929a28e4ac0180f5fd41e62e8)) - (Tonye Jack)
- Update warning message ([#1845](https://github.com/tj-actions/changed-files/issues/1845)) ([13fa1c0](https://github.com/tj-actions/changed-files/commit/13fa1c06fc72cd769f43877df4deb2fcef0070bf)) - (Tonye Jack)
- **deps:** Update dependency prettier to v3.2.0 ([0deb29d](https://github.com/tj-actions/changed-files/commit/0deb29d192a79307172c8ca2af53b9163e1f2dce)) - (renovate[bot])
- **deps:** Update dependency @types/node to v20.11.0 ([28267ee](https://github.com/tj-actions/changed-files/commit/28267ee8b7e9d0a1510577b3da5c95991e566f8d)) - (renovate[bot])
- **deps:** Update dependency eslint-plugin-jest to v27.6.2 ([094d344](https://github.com/tj-actions/changed-files/commit/094d3441f851cdd60b3184c559065cff58998103)) - (renovate[bot])
- **deps:** Update dependency eslint-plugin-prettier to v5.1.3 ([aeec36b](https://github.com/tj-actions/changed-files/commit/aeec36b0354dca21f43136a2a5be79815ad013b9)) - (renovate[bot])
- **deps-dev:** Bump @types/node from 20.10.7 to 20.10.8 ([#1836](https://github.com/tj-actions/changed-files/issues/1836)) ([2d0270c](https://github.com/tj-actions/changed-files/commit/2d0270c489bf57145dd4a63d0a5fcf35a7147bc3)) - (dependabot[bot])
- **deps:** Update typescript-eslint monorepo to v6.18.1 ([0e0adfa](https://github.com/tj-actions/changed-files/commit/0e0adfa0d3cc3663f8db2d833bbec96034e98250)) - (renovate[bot])
- Update jest.config.js ([#1834](https://github.com/tj-actions/changed-files/issues/1834)) ([5313e6b](https://github.com/tj-actions/changed-files/commit/5313e6bbe36db02444adb6db8803c3fb020fbeef)) - (Tonye Jack)
- **deps:** Lock file maintenance ([54789be](https://github.com/tj-actions/changed-files/commit/54789be3a182749c98b3750327225ef16ae72b85)) - (renovate[bot])
- **deps:** Update dependency @types/node to v20.10.7 ([1675238](https://github.com/tj-actions/changed-files/commit/1675238cfd53ec058721786adb67a77f56f46987)) - (renovate[bot])
- Create workflow-run-test.yml ([#1828](https://github.com/tj-actions/changed-files/issues/1828)) ([fdccafb](https://github.com/tj-actions/changed-files/commit/fdccafbb6e5c278dc3360f8a44f7c2878206751f)) - (Tonye Jack)
- **deps:** Update typescript-eslint monorepo to v6.18.0 ([0e8d796](https://github.com/tj-actions/changed-files/commit/0e8d796ee02804f613950c68e90685e43f22c9d5)) - (renovate[bot])
- **deps:** Update dependency eslint-plugin-jest to v27.6.1 ([0c6f2ac](https://github.com/tj-actions/changed-files/commit/0c6f2ac4885216b1830ecbcc3573209980c97716)) - (renovate[bot])
- **deps:** Update typescript-eslint monorepo to v6.17.0 ([1db97ad](https://github.com/tj-actions/changed-files/commit/1db97adba438afdc3741c78fd02aa2ac621332b0)) - (renovate[bot])
- **deps:** Lock file maintenance ([fb8f6db](https://github.com/tj-actions/changed-files/commit/fb8f6db383582a9d4ee2fadc1601db53b2fe1c2b)) - (renovate[bot])
- **deps:** Update dependency @types/node to v20.10.6 ([efd7ece](https://github.com/tj-actions/changed-files/commit/efd7ecef11e1ce94fc5121243c09ad2be618d175)) - (renovate[bot])
- **deps:** Update tj-actions/verify-changed-files action to v17 ([#1820](https://github.com/tj-actions/changed-files/issues/1820)) ([4f8e12c](https://github.com/tj-actions/changed-files/commit/4f8e12c0984394b03e7c4015292f8f644e2e5426)) - (renovate[bot])
- **deps:** Update typescript-eslint monorepo to v6.16.0 ([0f0747e](https://github.com/tj-actions/changed-files/commit/0f0747e79dd8b1e79730cb9aeb9adbc1d45b79da)) - (renovate[bot])
- Update matrix-test.yml ([#1814](https://github.com/tj-actions/changed-files/issues/1814)) ([0c2a758](https://github.com/tj-actions/changed-files/commit/0c2a758b81c9fe6c9dc0b17f46d87e68707e8054)) - (Tonye Jack)
## <!-- 9 -->⬆️ Upgrades
- Upgraded to v41.0.1 ([#1816](https://github.com/tj-actions/changed-files/issues/1816))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([1b6d7b6](https://github.com/tj-actions/changed-files/commit/1b6d7b6fb62c81ae85b9114bbb15ebeb21c2833d)) - (tj-actions[bot])
# [41.0.1](https://github.com/tj-actions/changed-files/compare/v41.0.0...v41.0.1) - (2023-12-24)
## <!-- 1 -->🐛 Bug Fixes
- Update characters escaped by safe output ([#1815](https://github.com/tj-actions/changed-files/issues/1815)) ([716b1e1](https://github.com/tj-actions/changed-files/commit/716b1e13042866565e00e85fd4ec490e186c4a2f)) - (Tonye Jack)
## <!-- 7 -->⚙️ Miscellaneous Tasks
- **deps:** Update dependency eslint-plugin-prettier to v5.1.2 ([7aaf10d](https://github.com/tj-actions/changed-files/commit/7aaf10d9eef19e8a2432a967b88124171152caaf)) - (renovate[bot])
## <!-- 9 -->⬆️ Upgrades
- Upgraded to v41 ([#1811](https://github.com/tj-actions/changed-files/issues/1811))
Co-authored-by: jackton1 <jackton1@users.noreply.github.com> ([cc08e17](https://github.com/tj-actions/changed-files/commit/cc08e170f4447237bcaf8acaacfa615b9cb86612)) - (tj-actions[bot])
# [41.0.0](https://github.com/tj-actions/changed-files/compare/v40.2.3...v41.0.0) - (2023-12-23)
## <!-- 1 -->🐛 Bug Fixes

View File

@@ -3,7 +3,7 @@
[![Windows](https://img.shields.io/badge/Windows-0078D6?style=for-the-badge\&logo=windows\&logoColor=white)](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
[![Public workflows that use this action.](https://img.shields.io/endpoint?style=for-the-badge\&url=https%3A%2F%2Fused-by.vercel.app%2Fapi%2Fgithub-actions%2Fused-by%3Faction%3Dtj-actions%2Fchanged-files%26badge%3Dtrue)](https://github.com/search?o=desc\&q=tj-actions+changed-files+language%3AYAML\&s=\&type=Code)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/4a625e9b62794b5b98e169c15c0e673c)](https://app.codacy.com/gh/tj-actions/changed-files/dashboard?utm_source=gh\&utm_medium=referral\&utm_content=\&utm_campaign=Badge_grade)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/4fe2f49c3ab144b0bbe4effc85a061a0)](https://app.codacy.com/gh/tj-actions/changed-files/dashboard?utm_source=gh\&utm_medium=referral\&utm_content=\&utm_campaign=Badge_grade)
[![CI](https://github.com/tj-actions/changed-files/actions/workflows/test.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/test.yml)
[![Update release version.](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml/badge.svg)](https://github.com/tj-actions/changed-files/actions/workflows/sync-release-version.yml)
@@ -162,7 +162,6 @@ jobs:
doc:
- '**.md'
- docs/**
- README.md
test:
- test/**
- '!test/**.md'
@@ -603,6 +602,12 @@ Support this project with a :star:
# Type: string
until: ''
# Force the use of Github's REST API even when
# a local copy of the repository exists
# Type: boolean
# Default: "false"
use_rest_api: ''
# Write outputs to the `output_dir` defaults to `.github/outputs` folder.
# NOTE: This creates a `.txt` file by default and
# a `.json` file if `json` is set to `true`.

View File

@@ -203,6 +203,10 @@ inputs:
description: "Github API URL."
required: false
default: ${{ github.api_url }}
use_rest_api:
description: "Force the use of Github's REST API even when a local copy of the repository exists"
required: false
default: "false"
fail_on_initial_diff_error:
description: "Fail when the initial diff fails."
required: false

159
dist/index.js generated vendored
View File

@@ -157,7 +157,7 @@ const getRenamedFiles = ({ inputs, workingDirectory, hasSubmodule, diffResult, s
diff
}))) {
let message = `Unable to use three dot diff for: ${submodulePath} submodule. Falling back to two dot diff. You can set 'fetch_additional_submodule_history: true' to fetch additional submodule history in order to use three dot diff`;
if (inputs.fetchSubmoduleHistory) {
if (inputs.fetchAdditionalSubmoduleHistory) {
message = `To fetch additional submodule history for: ${submodulePath} you can increase history depth using 'fetch_depth' input`;
}
core.info(message);
@@ -199,7 +199,7 @@ var ChangeTypeEnum;
ChangeTypeEnum["Unmerged"] = "U";
ChangeTypeEnum["Unknown"] = "X";
})(ChangeTypeEnum || (exports.ChangeTypeEnum = ChangeTypeEnum = {}));
const getAllDiffFiles = ({ workingDirectory, hasSubmodule, diffResult, submodulePaths, outputRenamedFilesAsDeletedAndAdded, fetchSubmoduleHistory, failOnInitialDiffError, failOnSubmoduleDiffError }) => __awaiter(void 0, void 0, void 0, function* () {
const getAllDiffFiles = ({ workingDirectory, hasSubmodule, diffResult, submodulePaths, outputRenamedFilesAsDeletedAndAdded, fetchAdditionalSubmoduleHistory, failOnInitialDiffError, failOnSubmoduleDiffError }) => __awaiter(void 0, void 0, void 0, function* () {
const files = yield (0, utils_1.getAllChangedFiles)({
cwd: workingDirectory,
sha1: diffResult.previousSha,
@@ -227,7 +227,7 @@ const getAllDiffFiles = ({ workingDirectory, hasSubmodule, diffResult, submodule
diff
}))) {
let message = `Set 'fetch_additional_submodule_history: true' to fetch additional submodule history for: ${submodulePath}`;
if (fetchSubmoduleHistory) {
if (fetchAdditionalSubmoduleHistory) {
message = `To fetch additional submodule history for: ${submodulePath} you can increase history depth using 'fetch_depth' input`;
}
core.warning(message);
@@ -981,7 +981,7 @@ const getSHAForNonPullRequestEvent = (inputs, env, workingDirectory, isShallow,
}
}
else {
if (hasSubmodule && inputs.fetchSubmoduleHistory) {
if (hasSubmodule && inputs.fetchAdditionalSubmoduleHistory) {
yield (0, utils_1.gitFetchSubmodules)({
cwd: workingDirectory,
args: [
@@ -1170,7 +1170,7 @@ const getSHAForPullRequestEvent = (inputs, env, workingDirectory, isShallow, has
}
}
else {
if (hasSubmodule && inputs.fetchSubmoduleHistory) {
if (hasSubmodule && inputs.fetchAdditionalSubmoduleHistory) {
yield (0, utils_1.gitFetchSubmodules)({
cwd: workingDirectory,
args: [
@@ -1350,6 +1350,39 @@ const getSHAForPullRequestEvent = (inputs, env, workingDirectory, isShallow, has
exports.getSHAForPullRequestEvent = getSHAForPullRequestEvent;
/***/ }),
/***/ 2363:
/***/ ((__unused_webpack_module, exports) => {
"use strict";
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.UNSUPPORTED_REST_API_INPUTS = void 0;
exports.UNSUPPORTED_REST_API_INPUTS = [
'sha',
'baseSha',
'since',
'until',
'path',
'quotepath',
'diffRelative',
'sinceLastRemoteCommit',
'recoverDeletedFiles',
'recoverDeletedFilesToDestination',
'recoverFiles',
'recoverFilesSeparator',
'recoverFilesIgnore',
'recoverFilesIgnoreSeparator',
'includeAllOldNewRenamedFiles',
'oldNewSeparator',
'oldNewFilesSeparator',
'skipInitialFetch',
'fetchAdditionalSubmoduleHistory',
'dirNamesDeletedFilesIncludeOnlyDeletedDirs'
];
/***/ }),
/***/ 9763:
@@ -1491,7 +1524,7 @@ const getInputs = () => {
const since = core.getInput('since', { required: false });
const until = core.getInput('until', { required: false });
const path = core.getInput('path', { required: false });
const quotePath = core.getBooleanInput('quotepath', { required: false });
const quotepath = core.getBooleanInput('quotepath', { required: false });
const diffRelative = core.getBooleanInput('diff_relative', { required: false });
const dirNames = core.getBooleanInput('dir_names', { required: false });
const dirNamesMaxDepth = core.getInput('dir_names_max_depth', {
@@ -1538,7 +1571,7 @@ const getInputs = () => {
const skipInitialFetch = core.getBooleanInput('skip_initial_fetch', {
required: false
});
const fetchSubmoduleHistory = core.getBooleanInput('fetch_additional_submodule_history', {
const fetchAdditionalSubmoduleHistory = core.getBooleanInput('fetch_additional_submodule_history', {
required: false
});
const failOnInitialDiffError = core.getBooleanInput('fail_on_initial_diff_error', {
@@ -1553,6 +1586,9 @@ const getInputs = () => {
const negationPatternsFirst = core.getBooleanInput('negation_patterns_first', {
required: false
});
const useRestApi = core.getBooleanInput('use_rest_api', {
required: false
});
const inputs = {
files,
filesSeparator,
@@ -1577,7 +1613,7 @@ const getInputs = () => {
since,
until,
path,
quotePath,
quotepath,
diffRelative,
sinceLastRemoteCommit,
recoverDeletedFiles,
@@ -1590,7 +1626,7 @@ const getInputs = () => {
oldNewSeparator,
oldNewFilesSeparator,
skipInitialFetch,
fetchSubmoduleHistory,
fetchAdditionalSubmoduleHistory,
dirNamesDeletedFilesIncludeOnlyDeletedDirs,
// End Not Supported via REST API
dirNames,
@@ -1605,7 +1641,8 @@ const getInputs = () => {
outputRenamedFilesAsDeletedAndAdded,
token,
apiUrl,
negationPatternsFirst
negationPatternsFirst,
useRestApi
};
if (fetchDepth) {
inputs.fetchDepth = Math.max(parseInt(fetchDepth, 10), 2);
@@ -1673,13 +1710,13 @@ const utils_1 = __nccwpck_require__(918);
const getChangedFilesFromLocalGitHistory = ({ inputs, env, workingDirectory, filePatterns, yamlFilePatterns }) => __awaiter(void 0, void 0, void 0, function* () {
var _a, _b, _c;
yield (0, utils_1.verifyMinimumGitVersion)();
let quotePathValue = 'on';
if (!inputs.quotePath) {
quotePathValue = 'off';
let quotepathValue = 'on';
if (!inputs.quotepath) {
quotepathValue = 'off';
}
yield (0, utils_1.updateGitGlobalConfig)({
name: 'core.quotepath',
value: quotePathValue
value: quotepathValue
});
if (inputs.diffRelative) {
yield (0, utils_1.updateGitGlobalConfig)({
@@ -1720,7 +1757,7 @@ const getChangedFilesFromLocalGitHistory = ({ inputs, env, workingDirectory, fil
diffResult,
submodulePaths,
outputRenamedFilesAsDeletedAndAdded,
fetchSubmoduleHistory: inputs.fetchSubmoduleHistory,
fetchAdditionalSubmoduleHistory: inputs.fetchAdditionalSubmoduleHistory,
failOnInitialDiffError: inputs.failOnInitialDiffError,
failOnSubmoduleDiffError: inputs.failOnSubmoduleDiffError
});
@@ -1793,7 +1830,7 @@ const getChangedFilesFromRESTAPI = ({ inputs, filePatterns, yamlFilePatterns })
});
});
function run() {
var _a;
var _a, _b;
return __awaiter(this, void 0, void 0, function* () {
core.startGroup('changed-files');
const env = yield (0, env_1.getEnv)();
@@ -1801,7 +1838,7 @@ function run() {
const inputs = (0, inputs_1.getInputs)();
core.debug(`Inputs: ${JSON.stringify(inputs, null, 2)}`);
core.debug(`Github Context: ${JSON.stringify(github.context, null, 2)}`);
const workingDirectory = path_1.default.resolve(env.GITHUB_WORKSPACE || process.cwd(), inputs.path);
const workingDirectory = path_1.default.resolve(env.GITHUB_WORKSPACE || process.cwd(), inputs.useRestApi ? '.' : inputs.path);
core.debug(`Working directory: ${workingDirectory}`);
const hasGitDirectory = yield (0, utils_1.hasLocalGitDirectory)({ workingDirectory });
core.debug(`Has git directory: ${hasGitDirectory}`);
@@ -1815,29 +1852,18 @@ function run() {
workingDirectory
});
core.debug(`Yaml file patterns: ${JSON.stringify(yamlFilePatterns)}`);
if (inputs.useRestApi && !((_a = github.context.payload.pull_request) === null || _a === void 0 ? void 0 : _a.number)) {
throw new Error("Only pull_request* events are supported when using GitHub's REST API.");
}
if (inputs.token &&
((_a = github.context.payload.pull_request) === null || _a === void 0 ? void 0 : _a.number) &&
!hasGitDirectory) {
((_b = github.context.payload.pull_request) === null || _b === void 0 ? void 0 : _b.number) &&
(!hasGitDirectory || inputs.useRestApi)) {
core.info("Using GitHub's REST API to get changed files");
const unsupportedInputs = [
'sha',
'baseSha',
'since',
'until',
'sinceLastRemoteCommit',
'recoverDeletedFiles',
'recoverDeletedFilesToDestination',
'recoverFiles',
'recoverFilesIgnore',
'includeAllOldNewRenamedFiles',
'skipInitialFetch',
'fetchSubmoduleHistory',
'dirNamesDeletedFilesIncludeOnlyDeletedDirs'
];
for (const input of unsupportedInputs) {
if (inputs[input]) {
core.warning(`Input "${input}" is not supported when using GitHub's REST API to get changed files`);
}
if (process.env.GITHUB_ACTION_PATH) {
yield (0, utils_1.warnUnsupportedRESTAPIInputs)({
actionPath: path_1.default.join(process.env.GITHUB_ACTION_PATH, 'action.yml'),
inputs
});
}
yield getChangedFilesFromRESTAPI({
inputs,
@@ -1847,8 +1873,8 @@ function run() {
}
else {
if (!hasGitDirectory) {
core.setFailed("Can't find local .git directory. Please run actions/checkout before this action");
return;
core.info(`Running on a ${github.context.eventName} event...`);
throw new Error(`Can't find local .git in ${workingDirectory} directory. Please run actions/checkout before this action (Make sure the 'path' input is correct). If you intend to use Github's REST API note that only pull_request* events are supported.`);
}
core.info('Using local .git directory');
yield getChangedFilesFromLocalGitHistory({
@@ -1867,6 +1893,7 @@ if (!process.env.TESTING) {
// eslint-disable-next-line github/no-then
run().catch(e => {
core.setFailed(e.message || e);
process.exit(1);
});
}
@@ -1934,19 +1961,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", ({ value: true }));
exports.hasLocalGitDirectory = exports.recoverDeletedFiles = exports.setOutput = exports.setArrayOutput = exports.getOutputKey = exports.getRecoverFilePatterns = exports.getYamlFilePatterns = exports.getFilePatterns = exports.getDirNamesIncludeFilesPattern = exports.jsonOutput = exports.getDirnameMaxDepth = exports.canDiffCommits = exports.getPreviousGitTag = exports.cleanShaInput = exports.verifyCommitSha = exports.getParentSha = exports.getCurrentBranchName = exports.getRemoteBranchHeadSha = exports.isInsideWorkTree = exports.getHeadSha = exports.gitLog = exports.getFilteredChangedFiles = exports.getAllChangedFiles = exports.gitRenamedFiles = exports.gitSubmoduleDiffSHA = exports.getSubmodulePath = exports.gitFetchSubmodules = exports.gitFetch = exports.submoduleExists = exports.isRepoShallow = exports.updateGitGlobalConfig = exports.exists = exports.verifyMinimumGitVersion = exports.getDirname = exports.normalizeSeparators = exports.isWindows = void 0;
exports.warnUnsupportedRESTAPIInputs = exports.hasLocalGitDirectory = exports.recoverDeletedFiles = exports.setOutput = exports.setArrayOutput = exports.getOutputKey = exports.getRecoverFilePatterns = exports.getYamlFilePatterns = exports.getFilePatterns = exports.getDirNamesIncludeFilesPattern = exports.jsonOutput = exports.getDirnameMaxDepth = exports.canDiffCommits = exports.getPreviousGitTag = exports.cleanShaInput = exports.verifyCommitSha = exports.getParentSha = exports.getCurrentBranchName = exports.getRemoteBranchHeadSha = exports.isInsideWorkTree = exports.getHeadSha = exports.gitLog = exports.getFilteredChangedFiles = exports.getAllChangedFiles = exports.gitRenamedFiles = exports.gitSubmoduleDiffSHA = exports.getSubmodulePath = exports.gitFetchSubmodules = exports.gitFetch = exports.submoduleExists = exports.isRepoShallow = exports.updateGitGlobalConfig = exports.exists = exports.verifyMinimumGitVersion = exports.getDirname = exports.normalizeSeparators = exports.isWindows = void 0;
/*global AsyncIterableIterator*/
const core = __importStar(__nccwpck_require__(2186));
const exec = __importStar(__nccwpck_require__(1514));
const github = __importStar(__nccwpck_require__(5438));
const fs_1 = __nccwpck_require__(7147);
const promises_1 = __nccwpck_require__(3292);
const lodash_1 = __nccwpck_require__(250);
const micromatch_1 = __importDefault(__nccwpck_require__(6228));
const path = __importStar(__nccwpck_require__(1017));
const readline_1 = __nccwpck_require__(4521);
const yaml_1 = __nccwpck_require__(4083);
const changedFiles_1 = __nccwpck_require__(7358);
const constant_1 = __nccwpck_require__(2363);
const MINIMUM_GIT_VERSION = '2.18.0';
const isWindows = () => {
return process.platform === 'win32';
@@ -2187,6 +2214,7 @@ exports.submoduleExists = submoduleExists;
* Fetches the git repository
* @param args - arguments for fetch command
* @param cwd - working directory
* @returns exit code
*/
const gitFetch = ({ args, cwd }) => __awaiter(void 0, void 0, void 0, function* () {
const { exitCode } = yield exec.getExecOutput('git', ['fetch', '-q', ...args], {
@@ -2217,6 +2245,7 @@ exports.gitFetchSubmodules = gitFetchSubmodules;
/**
* Retrieves all the submodule paths
* @param cwd - working directory
* @returns submodule paths
*/
const getSubmodulePath = ({ cwd }) => __awaiter(void 0, void 0, void 0, function* () {
const { exitCode, stdout, stderr } = yield exec.getExecOutput('git', ['submodule', 'status'], {
@@ -2241,6 +2270,7 @@ exports.getSubmodulePath = getSubmodulePath;
* @param parentSha2 - parent commit sha
* @param submodulePath - path of submodule
* @param diff - diff type between parent commits (`..` or `...`)
* @returns commit sha of submodule
*/
const gitSubmoduleDiffSHA = ({ cwd, parentSha1, parentSha2, submodulePath, diff }) => __awaiter(void 0, void 0, void 0, function* () {
var _h, _j, _k, _l;
@@ -2682,7 +2712,7 @@ const getYamlFilePatternsFromContents = ({ content = '', filePath = '', excluded
core.error(`File does not exist: ${filePath}`);
throw new Error(`File does not exist: ${filePath}`);
}
source = yield (0, promises_1.readFile)(filePath, 'utf8');
source = yield fs_1.promises.readFile(filePath, 'utf8');
}
else {
source = content;
@@ -2912,12 +2942,47 @@ const recoverDeletedFiles = ({ inputs, workingDirectory, deletedFiles, recoverPa
}
});
exports.recoverDeletedFiles = recoverDeletedFiles;
/**
* Determines whether the specified working directory has a local Git directory.
*
* @param workingDirectory - The path of the working directory.
* @returns A boolean value indicating whether the working directory has a local Git directory.
*/
const hasLocalGitDirectory = ({ workingDirectory }) => __awaiter(void 0, void 0, void 0, function* () {
return yield (0, exports.isInsideWorkTree)({
cwd: workingDirectory
});
});
exports.hasLocalGitDirectory = hasLocalGitDirectory;
/**
* Warns about unsupported inputs when using the REST API.
*
* @param actionPath - The path to the action file.
* @param inputs - The inputs object.
*/
const warnUnsupportedRESTAPIInputs = ({ actionPath, inputs }) => __awaiter(void 0, void 0, void 0, function* () {
var _m;
const actionContents = yield fs_1.promises.readFile(actionPath, 'utf8');
const actionYaml = (0, yaml_1.parseDocument)(actionContents, { schema: 'failsafe' });
if (actionYaml.errors.length > 0) {
throw new Error(`YAML errors in ${actionPath}: ${actionYaml.errors.join(', ')}`);
}
if (actionYaml.warnings.length > 0) {
throw new Error(`YAML warnings in ${actionPath}: ${actionYaml.warnings.join(', ')}`);
}
const action = actionYaml.toJS();
const actionInputs = action.inputs;
for (const key of constant_1.UNSUPPORTED_REST_API_INPUTS) {
const inputKey = (0, lodash_1.snakeCase)(key);
const defaultValue = Object.hasOwnProperty.call(actionInputs[inputKey], 'default')
? actionInputs[inputKey].default.toString()
: '';
if (defaultValue !== ((_m = inputs[key]) === null || _m === void 0 ? void 0 : _m.toString())) {
core.warning(`Input "${inputKey}" is not supported when using GitHub's REST API to get changed files`);
}
}
});
exports.warnUnsupportedRESTAPIInputs = warnUnsupportedRESTAPIInputs;
/***/ }),
@@ -54871,14 +54936,6 @@ module.exports = require("fs");
/***/ }),
/***/ 3292:
/***/ ((module) => {
"use strict";
module.exports = require("fs/promises");
/***/ }),
/***/ 3685:
/***/ ((module) => {

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

View File

@@ -10,4 +10,4 @@ module.exports = {
setupFiles: [
"<rootDir>/jest/setupEnv.cjs"
]
}
};

View File

@@ -1,6 +1,6 @@
{
"name": "@tj-actions/changed-files",
"version": "41.0.0",
"version": "41.1.1",
"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

@@ -1,12 +1,18 @@
import * as core from '@actions/core'
import {promises as fs} from 'fs'
import path from 'path'
import {ChangeTypeEnum} from '../changedFiles'
import {Inputs} from '../inputs'
import {
getDirname,
getDirnameMaxDepth,
getFilteredChangedFiles,
normalizeSeparators
normalizeSeparators,
warnUnsupportedRESTAPIInputs
} from '../utils'
const originalPlatform = process.platform
const ACTION_PATH = path.resolve(__dirname, '..', '..', 'action.yml')
function mockedPlatform(platform: string): void {
Object.defineProperty(process, 'platform', {
@@ -575,4 +581,160 @@ describe('utils test', () => {
expect(filteredFiles[ChangeTypeEnum.Modified]).toEqual([])
})
})
describe('warnUnsupportedRESTAPIInputs', () => {
// Warns about unsupported inputs when using the REST API.
it('should warn about unsupported inputs when all inputs are supported', async () => {
const inputs: Inputs = {
files: '',
filesSeparator: '\n',
filesFromSourceFile: '',
filesFromSourceFileSeparator: '\n',
filesYaml: '',
filesYamlFromSourceFile: '',
filesYamlFromSourceFileSeparator: '\n',
filesIgnore: '',
filesIgnoreSeparator: '\n',
filesIgnoreFromSourceFile: '',
filesIgnoreFromSourceFileSeparator: '\n',
filesIgnoreYaml: '',
filesIgnoreYamlFromSourceFile: '',
filesIgnoreYamlFromSourceFileSeparator: '\n',
separator: ' ',
includeAllOldNewRenamedFiles: false,
oldNewSeparator: ',',
oldNewFilesSeparator: ' ',
sha: '1313123',
baseSha: '',
since: '',
until: '',
path: '.',
quotepath: true,
diffRelative: true,
dirNames: false,
dirNamesMaxDepth: undefined,
dirNamesExcludeCurrentDir: false,
dirNamesIncludeFiles: '',
dirNamesIncludeFilesSeparator: '\n',
dirNamesDeletedFilesIncludeOnlyDeletedDirs: false,
json: false,
escapeJson: true,
safeOutput: true,
fetchDepth: 50,
fetchAdditionalSubmoduleHistory: false,
sinceLastRemoteCommit: false,
writeOutputFiles: false,
outputDir: '.github/outputs',
outputRenamedFilesAsDeletedAndAdded: false,
recoverDeletedFiles: false,
recoverDeletedFilesToDestination: '',
recoverFiles: '',
recoverFilesSeparator: '\n',
recoverFilesIgnore: '',
recoverFilesIgnoreSeparator: '\n',
token: '${{ github.token }}',
apiUrl: '${{ github.api_url }}',
skipInitialFetch: false,
failOnInitialDiffError: false,
failOnSubmoduleDiffError: false,
negationPatternsFirst: false,
useRestApi: false
}
const coreWarningSpy = jest.spyOn(core, 'warning')
await warnUnsupportedRESTAPIInputs({
actionPath: ACTION_PATH,
inputs
})
expect(coreWarningSpy).toHaveBeenCalledWith(
'Input "sha" is not supported when using GitHub\'s REST API to get changed files'
)
})
// Throws an error if there are YAML errors in the action file.
it('should throw an error if there are YAML errors in the action file', async () => {
const actionPath = './path/to/action.yml'
const inputs: Inputs = {
files: '',
filesSeparator: '\n',
filesFromSourceFile: '',
filesFromSourceFileSeparator: '\n',
filesYaml: '',
filesYamlFromSourceFile: '',
filesYamlFromSourceFileSeparator: '\n',
filesIgnore: '',
filesIgnoreSeparator: '\n',
filesIgnoreFromSourceFile: '',
filesIgnoreFromSourceFileSeparator: '\n',
filesIgnoreYaml: '',
filesIgnoreYamlFromSourceFile: '',
filesIgnoreYamlFromSourceFileSeparator: '\n',
separator: ' ',
includeAllOldNewRenamedFiles: false,
oldNewSeparator: ',',
oldNewFilesSeparator: ' ',
sha: '1313123',
baseSha: '',
since: '',
until: '',
path: '.',
quotepath: true,
diffRelative: true,
dirNames: false,
dirNamesMaxDepth: undefined,
dirNamesExcludeCurrentDir: false,
dirNamesIncludeFiles: '',
dirNamesIncludeFilesSeparator: '\n',
dirNamesDeletedFilesIncludeOnlyDeletedDirs: false,
json: false,
escapeJson: true,
safeOutput: true,
fetchDepth: 50,
fetchAdditionalSubmoduleHistory: false,
sinceLastRemoteCommit: false,
writeOutputFiles: false,
outputDir: '.github/outputs',
outputRenamedFilesAsDeletedAndAdded: false,
recoverDeletedFiles: false,
recoverDeletedFilesToDestination: '',
recoverFiles: '',
recoverFilesSeparator: '\n',
recoverFilesIgnore: '',
recoverFilesIgnoreSeparator: '\n',
token: '${{ github.token }}',
apiUrl: '${{ github.api_url }}',
skipInitialFetch: false,
failOnInitialDiffError: false,
failOnSubmoduleDiffError: false,
negationPatternsFirst: false,
useRestApi: false
}
// Mocking readFile to return action file contents with errors
jest.spyOn(fs, 'readFile').mockResolvedValue(`
inputs:
files:
description: Files
required: true
default: ""
sha:
description: SHA
required: true
default: abc123
token:
description: Token
required: true
default: my-token
warnings:
| Invalid input value`)
await expect(
warnUnsupportedRESTAPIInputs({actionPath, inputs})
).rejects.toThrow(
/YAML errors in .\/path\/to\/action.yml: YAMLParseError: Not a YAML token: Invalid input value at line 16, column 13:/
)
})
})
})

View File

@@ -166,7 +166,7 @@ export const getRenamedFiles = async ({
}))
) {
let message = `Unable to use three dot diff for: ${submodulePath} submodule. Falling back to two dot diff. You can set 'fetch_additional_submodule_history: true' to fetch additional submodule history in order to use three dot diff`
if (inputs.fetchSubmoduleHistory) {
if (inputs.fetchAdditionalSubmoduleHistory) {
message = `To fetch additional submodule history for: ${submodulePath} you can increase history depth using 'fetch_depth' input`
}
core.info(message)
@@ -221,7 +221,7 @@ export const getAllDiffFiles = async ({
diffResult,
submodulePaths,
outputRenamedFilesAsDeletedAndAdded,
fetchSubmoduleHistory,
fetchAdditionalSubmoduleHistory,
failOnInitialDiffError,
failOnSubmoduleDiffError
}: {
@@ -230,7 +230,7 @@ export const getAllDiffFiles = async ({
diffResult: DiffResult
submodulePaths: string[]
outputRenamedFilesAsDeletedAndAdded: boolean
fetchSubmoduleHistory: boolean
fetchAdditionalSubmoduleHistory: boolean
failOnInitialDiffError: boolean
failOnSubmoduleDiffError: boolean
}): Promise<ChangedFiles> => {
@@ -270,7 +270,7 @@ export const getAllDiffFiles = async ({
}))
) {
let message = `Set 'fetch_additional_submodule_history: true' to fetch additional submodule history for: ${submodulePath}`
if (fetchSubmoduleHistory) {
if (fetchAdditionalSubmoduleHistory) {
message = `To fetch additional submodule history for: ${submodulePath} you can increase history depth using 'fetch_depth' input`
}
core.warning(message)

View File

@@ -152,7 +152,7 @@ export const getSHAForNonPullRequestEvent = async (
})
}
} else {
if (hasSubmodule && inputs.fetchSubmoduleHistory) {
if (hasSubmodule && inputs.fetchAdditionalSubmoduleHistory) {
await gitFetchSubmodules({
cwd: workingDirectory,
args: [
@@ -382,7 +382,7 @@ export const getSHAForPullRequestEvent = async (
}
}
} else {
if (hasSubmodule && inputs.fetchSubmoduleHistory) {
if (hasSubmodule && inputs.fetchAdditionalSubmoduleHistory) {
await gitFetchSubmodules({
cwd: workingDirectory,
args: [

24
src/constant.ts Normal file
View File

@@ -0,0 +1,24 @@
import {Inputs} from './inputs'
export const UNSUPPORTED_REST_API_INPUTS: (keyof Inputs)[] = [
'sha',
'baseSha',
'since',
'until',
'path',
'quotepath',
'diffRelative',
'sinceLastRemoteCommit',
'recoverDeletedFiles',
'recoverDeletedFilesToDestination',
'recoverFiles',
'recoverFilesSeparator',
'recoverFilesIgnore',
'recoverFilesIgnoreSeparator',
'includeAllOldNewRenamedFiles',
'oldNewSeparator',
'oldNewFilesSeparator',
'skipInitialFetch',
'fetchAdditionalSubmoduleHistory',
'dirNamesDeletedFilesIncludeOnlyDeletedDirs'
]

View File

@@ -24,7 +24,7 @@ export type Inputs = {
since: string
until: string
path: string
quotePath: boolean
quotepath: boolean
diffRelative: boolean
dirNames: boolean
dirNamesMaxDepth?: number
@@ -36,7 +36,7 @@ export type Inputs = {
escapeJson: boolean
safeOutput: boolean
fetchDepth?: number
fetchSubmoduleHistory: boolean
fetchAdditionalSubmoduleHistory: boolean
sinceLastRemoteCommit: boolean
writeOutputFiles: boolean
outputDir: string
@@ -53,6 +53,7 @@ export type Inputs = {
failOnInitialDiffError: boolean
failOnSubmoduleDiffError: boolean
negationPatternsFirst: boolean
useRestApi: boolean
}
export const getInputs = (): Inputs => {
@@ -131,7 +132,7 @@ export const getInputs = (): Inputs => {
const since = core.getInput('since', {required: false})
const until = core.getInput('until', {required: false})
const path = core.getInput('path', {required: false})
const quotePath = core.getBooleanInput('quotepath', {required: false})
const quotepath = core.getBooleanInput('quotepath', {required: false})
const diffRelative = core.getBooleanInput('diff_relative', {required: false})
const dirNames = core.getBooleanInput('dir_names', {required: false})
const dirNamesMaxDepth = core.getInput('dir_names_max_depth', {
@@ -196,7 +197,7 @@ export const getInputs = (): Inputs => {
const skipInitialFetch = core.getBooleanInput('skip_initial_fetch', {
required: false
})
const fetchSubmoduleHistory = core.getBooleanInput(
const fetchAdditionalSubmoduleHistory = core.getBooleanInput(
'fetch_additional_submodule_history',
{
required: false
@@ -228,6 +229,10 @@ export const getInputs = (): Inputs => {
}
)
const useRestApi = core.getBooleanInput('use_rest_api', {
required: false
})
const inputs: Inputs = {
files,
filesSeparator,
@@ -252,7 +257,7 @@ export const getInputs = (): Inputs => {
since,
until,
path,
quotePath,
quotepath,
diffRelative,
sinceLastRemoteCommit,
recoverDeletedFiles,
@@ -265,7 +270,7 @@ export const getInputs = (): Inputs => {
oldNewSeparator,
oldNewFilesSeparator,
skipInitialFetch,
fetchSubmoduleHistory,
fetchAdditionalSubmoduleHistory,
dirNamesDeletedFilesIncludeOnlyDeletedDirs,
// End Not Supported via REST API
dirNames,
@@ -280,7 +285,8 @@ export const getInputs = (): Inputs => {
outputRenamedFilesAsDeletedAndAdded,
token,
apiUrl,
negationPatternsFirst
negationPatternsFirst,
useRestApi
}
if (fetchDepth) {

View File

@@ -26,7 +26,8 @@ import {
setOutput,
submoduleExists,
updateGitGlobalConfig,
verifyMinimumGitVersion
verifyMinimumGitVersion,
warnUnsupportedRESTAPIInputs
} from './utils'
const getChangedFilesFromLocalGitHistory = async ({
@@ -44,15 +45,15 @@ const getChangedFilesFromLocalGitHistory = async ({
}): Promise<void> => {
await verifyMinimumGitVersion()
let quotePathValue = 'on'
let quotepathValue = 'on'
if (!inputs.quotePath) {
quotePathValue = 'off'
if (!inputs.quotepath) {
quotepathValue = 'off'
}
await updateGitGlobalConfig({
name: 'core.quotepath',
value: quotePathValue
value: quotepathValue
})
if (inputs.diffRelative) {
@@ -123,7 +124,7 @@ const getChangedFilesFromLocalGitHistory = async ({
diffResult,
submodulePaths,
outputRenamedFilesAsDeletedAndAdded,
fetchSubmoduleHistory: inputs.fetchSubmoduleHistory,
fetchAdditionalSubmoduleHistory: inputs.fetchAdditionalSubmoduleHistory,
failOnInitialDiffError: inputs.failOnInitialDiffError,
failOnSubmoduleDiffError: inputs.failOnSubmoduleDiffError
})
@@ -224,7 +225,7 @@ export async function run(): Promise<void> {
const workingDirectory = path.resolve(
env.GITHUB_WORKSPACE || process.cwd(),
inputs.path
inputs.useRestApi ? '.' : inputs.path
)
core.debug(`Working directory: ${workingDirectory}`)
@@ -243,34 +244,23 @@ export async function run(): Promise<void> {
})
core.debug(`Yaml file patterns: ${JSON.stringify(yamlFilePatterns)}`)
if (inputs.useRestApi && !github.context.payload.pull_request?.number) {
throw new Error(
"Only pull_request* events are supported when using GitHub's REST API."
)
}
if (
inputs.token &&
github.context.payload.pull_request?.number &&
!hasGitDirectory
(!hasGitDirectory || inputs.useRestApi)
) {
core.info("Using GitHub's REST API to get changed files")
const unsupportedInputs: (keyof Inputs)[] = [
'sha',
'baseSha',
'since',
'until',
'sinceLastRemoteCommit',
'recoverDeletedFiles',
'recoverDeletedFilesToDestination',
'recoverFiles',
'recoverFilesIgnore',
'includeAllOldNewRenamedFiles',
'skipInitialFetch',
'fetchSubmoduleHistory',
'dirNamesDeletedFilesIncludeOnlyDeletedDirs'
]
for (const input of unsupportedInputs) {
if (inputs[input]) {
core.warning(
`Input "${input}" is not supported when using GitHub's REST API to get changed files`
)
}
if (process.env.GITHUB_ACTION_PATH) {
await warnUnsupportedRESTAPIInputs({
actionPath: path.join(process.env.GITHUB_ACTION_PATH, 'action.yml'),
inputs
})
}
await getChangedFilesFromRESTAPI({
inputs,
@@ -279,10 +269,10 @@ export async function run(): Promise<void> {
})
} else {
if (!hasGitDirectory) {
core.setFailed(
"Can't find local .git directory. Please run actions/checkout before this action"
core.info(`Running on a ${github.context.eventName} event...`)
throw new Error(
`Can't find local .git in ${workingDirectory} directory. Please run actions/checkout before this action (Make sure the 'path' input is correct). If you intend to use Github's REST API note that only pull_request* events are supported.`
)
return
}
core.info('Using local .git directory')
@@ -301,5 +291,6 @@ if (!process.env.TESTING) {
// eslint-disable-next-line github/no-then
run().catch(e => {
core.setFailed(e.message || e)
process.exit(1)
})
}

View File

@@ -3,14 +3,14 @@ import * as core from '@actions/core'
import * as exec from '@actions/exec'
import * as github from '@actions/github'
import {createReadStream, promises as fs} from 'fs'
import {readFile} from 'fs/promises'
import {flattenDeep} from 'lodash'
import {flattenDeep, snakeCase} from 'lodash'
import mm from 'micromatch'
import * as path from 'path'
import {createInterface} from 'readline'
import {parseDocument} from 'yaml'
import {ChangedFiles, ChangeTypeEnum} from './changedFiles'
import {DiffResult} from './commitSha'
import {UNSUPPORTED_REST_API_INPUTS} from './constant'
import {Inputs} from './inputs'
const MINIMUM_GIT_VERSION = '2.18.0'
@@ -285,6 +285,7 @@ export const submoduleExists = async ({
* Fetches the git repository
* @param args - arguments for fetch command
* @param cwd - working directory
* @returns exit code
*/
export const gitFetch = async ({
args,
@@ -333,6 +334,7 @@ export const gitFetchSubmodules = async ({
/**
* Retrieves all the submodule paths
* @param cwd - working directory
* @returns submodule paths
*/
export const getSubmodulePath = async ({
cwd
@@ -367,6 +369,7 @@ export const getSubmodulePath = async ({
* @param parentSha2 - parent commit sha
* @param submodulePath - path of submodule
* @param diff - diff type between parent commits (`..` or `...`)
* @returns commit sha of submodule
*/
export const gitSubmoduleDiffSHA = async ({
cwd,
@@ -1128,7 +1131,7 @@ const getYamlFilePatternsFromContents = async ({
throw new Error(`File does not exist: ${filePath}`)
}
source = await readFile(filePath, 'utf8')
source = await fs.readFile(filePath, 'utf8')
} else {
source = content
}
@@ -1491,6 +1494,12 @@ export const recoverDeletedFiles = async ({
}
}
/**
* Determines whether the specified working directory has a local Git directory.
*
* @param workingDirectory - The path of the working directory.
* @returns A boolean value indicating whether the working directory has a local Git directory.
*/
export const hasLocalGitDirectory = async ({
workingDirectory
}: {
@@ -1500,3 +1509,57 @@ export const hasLocalGitDirectory = async ({
cwd: workingDirectory
})
}
/**
* Warns about unsupported inputs when using the REST API.
*
* @param actionPath - The path to the action file.
* @param inputs - The inputs object.
*/
export const warnUnsupportedRESTAPIInputs = async ({
actionPath,
inputs
}: {
actionPath: string
inputs: Inputs
}): Promise<void> => {
const actionContents = await fs.readFile(actionPath, 'utf8')
const actionYaml = parseDocument(actionContents, {schema: 'failsafe'})
if (actionYaml.errors.length > 0) {
throw new Error(
`YAML errors in ${actionPath}: ${actionYaml.errors.join(', ')}`
)
}
if (actionYaml.warnings.length > 0) {
throw new Error(
`YAML warnings in ${actionPath}: ${actionYaml.warnings.join(', ')}`
)
}
const action = actionYaml.toJS() as {
inputs: {
[key: string]: {description: string; required: boolean; default: string}
}
}
const actionInputs = action.inputs
for (const key of UNSUPPORTED_REST_API_INPUTS) {
const inputKey = snakeCase(key) as keyof Inputs
const defaultValue = Object.hasOwnProperty.call(
actionInputs[inputKey],
'default'
)
? actionInputs[inputKey].default.toString()
: ''
if (defaultValue !== inputs[key]?.toString()) {
core.warning(
`Input "${inputKey}" is not supported when using GitHub's REST API to get changed files`
)
}
}
}

414
yarn.lock
View File

@@ -67,19 +67,19 @@
integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
"@babel/core@^7.11.6", "@babel/core@^7.12.3":
version "7.23.6"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.6.tgz#8be77cd77c55baadcc1eae1c33df90ab6d2151d4"
integrity sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw==
version "7.23.7"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.7.tgz#4d8016e06a14b5f92530a13ed0561730b5c6483f"
integrity sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==
dependencies:
"@ampproject/remapping" "^2.2.0"
"@babel/code-frame" "^7.23.5"
"@babel/generator" "^7.23.6"
"@babel/helper-compilation-targets" "^7.23.6"
"@babel/helper-module-transforms" "^7.23.3"
"@babel/helpers" "^7.23.6"
"@babel/helpers" "^7.23.7"
"@babel/parser" "^7.23.6"
"@babel/template" "^7.22.15"
"@babel/traverse" "^7.23.6"
"@babel/traverse" "^7.23.7"
"@babel/types" "^7.23.6"
convert-source-map "^2.0.0"
debug "^4.1.0"
@@ -180,13 +180,13 @@
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307"
integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
"@babel/helpers@^7.23.6":
version "7.23.6"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a"
integrity sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA==
"@babel/helpers@^7.23.7":
version "7.23.8"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.8.tgz#fc6b2d65b16847fd50adddbd4232c76378959e34"
integrity sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==
dependencies:
"@babel/template" "^7.22.15"
"@babel/traverse" "^7.23.6"
"@babel/traverse" "^7.23.7"
"@babel/types" "^7.23.6"
"@babel/highlight@^7.23.4":
@@ -302,9 +302,9 @@
"@babel/helper-plugin-utils" "^7.22.5"
"@babel/runtime@^7.23.2":
version "7.23.6"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.6.tgz#c05e610dc228855dc92ef1b53d07389ed8ab521d"
integrity sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==
version "7.23.8"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.8.tgz#8ee6fe1ac47add7122902f257b8ddf55c898f650"
integrity sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==
dependencies:
regenerator-runtime "^0.14.0"
@@ -317,10 +317,10 @@
"@babel/parser" "^7.22.15"
"@babel/types" "^7.22.15"
"@babel/traverse@^7.23.6":
version "7.23.6"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5"
integrity sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ==
"@babel/traverse@^7.23.7":
version "7.23.7"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.7.tgz#9a7bf285c928cb99b5ead19c3b1ce5b310c9c305"
integrity sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==
dependencies:
"@babel/code-frame" "^7.23.5"
"@babel/generator" "^7.23.6"
@@ -390,12 +390,12 @@
integrity sha512-gIhjdJp/c2beaIWWIlsXdqXVRUz3r2BxBCpfz/F3JXHvSAQ1paMYjLH+maEATtENg+k5eLV7gA+9yPp762ieuw==
"@humanwhocodes/config-array@^0.11.13":
version "0.11.13"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297"
integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==
version "0.11.14"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b"
integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==
dependencies:
"@humanwhocodes/object-schema" "^2.0.1"
debug "^4.1.1"
"@humanwhocodes/object-schema" "^2.0.2"
debug "^4.3.1"
minimatch "^3.0.5"
"@humanwhocodes/module-importer@^1.0.1":
@@ -403,10 +403,10 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
"@humanwhocodes/object-schema@^2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044"
integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==
"@humanwhocodes/object-schema@^2.0.2":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917"
integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==
"@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0"
@@ -641,9 +641,9 @@
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9":
version "0.3.20"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f"
integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==
version "0.3.21"
resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.21.tgz#5dc1df7b3dc4a6209e503a924e1ca56097a2bb15"
integrity sha512-SRfKmRe1KvYnxjEMtxEr+J4HIeMX5YBg/qhRHpxEIGjhX1rshcHlnFUE9K0GazhVKWM7B+nARSkV8LuvJdJ5/g==
dependencies:
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
@@ -764,17 +764,10 @@
dependencies:
"@octokit/openapi-types" "^19.1.0"
"@pkgr/utils@^2.4.2":
version "2.4.2"
resolved "https://registry.yarnpkg.com/@pkgr/utils/-/utils-2.4.2.tgz#9e638bbe9a6a6f165580dc943f138fd3309a2cbc"
integrity sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==
dependencies:
cross-spawn "^7.0.3"
fast-glob "^3.3.0"
is-glob "^4.0.3"
open "^9.1.0"
picocolors "^1.0.0"
tslib "^2.6.0"
"@pkgr/core@^0.1.0":
version "0.1.0"
resolved "https://registry.yarnpkg.com/@pkgr/core/-/core-0.1.0.tgz#7d8dacb7fdef0e4387caf7396cbd77f179867d06"
integrity sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==
"@sinclair/typebox@^0.27.8":
version "0.27.8"
@@ -822,9 +815,9 @@
"@babel/types" "^7.0.0"
"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6":
version "7.20.4"
resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.4.tgz#ec2c06fed6549df8bc0eb4615b683749a4a92e1b"
integrity sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==
version "7.20.5"
resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd"
integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==
dependencies:
"@babel/types" "^7.20.7"
@@ -890,9 +883,9 @@
"@types/braces" "*"
"@types/node@*", "@types/node@^20.3.2":
version "20.10.5"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.10.5.tgz#47ad460b514096b7ed63a1dae26fad0914ed3ab2"
integrity sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==
version "20.11.5"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.5.tgz#be10c622ca7fcaa3cf226cf80166abc31389d86e"
integrity sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==
dependencies:
undici-types "~5.26.4"
@@ -924,15 +917,15 @@
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^6.0.0":
version "6.15.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz#b0b3e15fa8c3e67ed4386b765cc0ba98ad3a303b"
integrity sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg==
version "6.19.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.0.tgz#db03f3313b57a30fbbdad2e6929e88fc7feaf9ba"
integrity sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==
dependencies:
"@eslint-community/regexpp" "^4.5.1"
"@typescript-eslint/scope-manager" "6.15.0"
"@typescript-eslint/type-utils" "6.15.0"
"@typescript-eslint/utils" "6.15.0"
"@typescript-eslint/visitor-keys" "6.15.0"
"@typescript-eslint/scope-manager" "6.19.0"
"@typescript-eslint/type-utils" "6.19.0"
"@typescript-eslint/utils" "6.19.0"
"@typescript-eslint/visitor-keys" "6.19.0"
debug "^4.3.4"
graphemer "^1.4.0"
ignore "^5.2.4"
@@ -941,14 +934,14 @@
ts-api-utils "^1.0.1"
"@typescript-eslint/parser@^6.0.0":
version "6.15.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.15.0.tgz#1af69741cfa314a13c1434d0bdd5a0c3096699d7"
integrity sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==
version "6.19.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.19.0.tgz#80344086f362181890ade7e94fc35fe0480bfdf5"
integrity sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==
dependencies:
"@typescript-eslint/scope-manager" "6.15.0"
"@typescript-eslint/types" "6.15.0"
"@typescript-eslint/typescript-estree" "6.15.0"
"@typescript-eslint/visitor-keys" "6.15.0"
"@typescript-eslint/scope-manager" "6.19.0"
"@typescript-eslint/types" "6.19.0"
"@typescript-eslint/typescript-estree" "6.19.0"
"@typescript-eslint/visitor-keys" "6.19.0"
debug "^4.3.4"
"@typescript-eslint/scope-manager@5.62.0":
@@ -959,21 +952,21 @@
"@typescript-eslint/types" "5.62.0"
"@typescript-eslint/visitor-keys" "5.62.0"
"@typescript-eslint/scope-manager@6.15.0":
version "6.15.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.15.0.tgz#40e5214a3e9e048aca55ce33381bc61b6b51c32a"
integrity sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==
"@typescript-eslint/scope-manager@6.19.0":
version "6.19.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz#b6d2abb825b29ab70cb542d220e40c61c1678116"
integrity sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==
dependencies:
"@typescript-eslint/types" "6.15.0"
"@typescript-eslint/visitor-keys" "6.15.0"
"@typescript-eslint/types" "6.19.0"
"@typescript-eslint/visitor-keys" "6.19.0"
"@typescript-eslint/type-utils@6.15.0":
version "6.15.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz#c22261bd00566821a300d08f4632533a8f9bed01"
integrity sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==
"@typescript-eslint/type-utils@6.19.0":
version "6.19.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.19.0.tgz#522a494ef0d3e9fdc5e23a7c22c9331bbade0101"
integrity sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==
dependencies:
"@typescript-eslint/typescript-estree" "6.15.0"
"@typescript-eslint/utils" "6.15.0"
"@typescript-eslint/typescript-estree" "6.19.0"
"@typescript-eslint/utils" "6.19.0"
debug "^4.3.4"
ts-api-utils "^1.0.1"
@@ -982,10 +975,10 @@
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
"@typescript-eslint/types@6.15.0":
version "6.15.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.15.0.tgz#a9f7b006aee52b0948be6e03f521814bf435ddd5"
integrity sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==
"@typescript-eslint/types@6.19.0":
version "6.19.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.19.0.tgz#689b0498c436272a6a2059b09f44bcbd90de294a"
integrity sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==
"@typescript-eslint/typescript-estree@5.62.0":
version "5.62.0"
@@ -1000,30 +993,31 @@
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/typescript-estree@6.15.0":
version "6.15.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz#2f8a513df1ce5e6e1ba8e5c6aa52f392ae023fc5"
integrity sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==
"@typescript-eslint/typescript-estree@6.19.0":
version "6.19.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz#0813ba364a409afb4d62348aec0202600cb468fa"
integrity sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==
dependencies:
"@typescript-eslint/types" "6.15.0"
"@typescript-eslint/visitor-keys" "6.15.0"
"@typescript-eslint/types" "6.19.0"
"@typescript-eslint/visitor-keys" "6.19.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
minimatch "9.0.3"
semver "^7.5.4"
ts-api-utils "^1.0.1"
"@typescript-eslint/utils@6.15.0":
version "6.15.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.15.0.tgz#f80dbb79f3b0f569077a8711dd44186a8933fa4c"
integrity sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==
"@typescript-eslint/utils@6.19.0":
version "6.19.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.19.0.tgz#557b72c3eeb4f73bef8037c85dae57b21beb1a4b"
integrity sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
"@types/json-schema" "^7.0.12"
"@types/semver" "^7.5.0"
"@typescript-eslint/scope-manager" "6.15.0"
"@typescript-eslint/types" "6.15.0"
"@typescript-eslint/typescript-estree" "6.15.0"
"@typescript-eslint/scope-manager" "6.19.0"
"@typescript-eslint/types" "6.19.0"
"@typescript-eslint/typescript-estree" "6.19.0"
semver "^7.5.4"
"@typescript-eslint/utils@^5.10.0":
@@ -1048,12 +1042,12 @@
"@typescript-eslint/types" "5.62.0"
eslint-visitor-keys "^3.3.0"
"@typescript-eslint/visitor-keys@6.15.0":
version "6.15.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz#5baf97a7bfeec6f4894d400437055155a46b2330"
integrity sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==
"@typescript-eslint/visitor-keys@6.19.0":
version "6.19.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz#4565e0ecd63ca1f81b96f1dd76e49f746c6b2b49"
integrity sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==
dependencies:
"@typescript-eslint/types" "6.15.0"
"@typescript-eslint/types" "6.19.0"
eslint-visitor-keys "^3.4.1"
"@ungap/structured-clone@^1.2.0":
@@ -1072,9 +1066,9 @@ acorn-jsx@^5.3.2:
integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
acorn@^8.9.0:
version "8.11.2"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b"
integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
version "8.11.3"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
ajv@^6.12.4:
version "6.12.6"
@@ -1311,18 +1305,6 @@ before-after-hook@^2.2.0:
resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c"
integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==
big-integer@^1.6.44:
version "1.6.52"
resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.52.tgz#60a887f3047614a8e1bffe5d7173490a97dc8c85"
integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==
bplist-parser@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e"
integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==
dependencies:
big-integer "^1.6.44"
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -1331,6 +1313,13 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
brace-expansion@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
dependencies:
balanced-match "^1.0.0"
braces@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
@@ -1367,13 +1356,6 @@ buffer-from@^1.0.0:
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
bundle-name@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/bundle-name/-/bundle-name-3.0.0.tgz#ba59bcc9ac785fb67ccdbf104a2bf60c099f0e1a"
integrity sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==
dependencies:
run-applescript "^5.0.0"
call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513"
@@ -1399,9 +1381,9 @@ camelcase@^6.2.0:
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
caniuse-lite@^1.0.30001565:
version "1.0.30001571"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001571.tgz#4182e93d696ff42930f4af7eba515ddeb57917ac"
integrity sha512-tYq/6MoXhdezDLFZuCO/TKboTzuQ/xR5cFdgXPfDtM7/kchBO3b4VWghE/OAi/DV7tTdhmLjZiZBZi1fA/GheQ==
version "1.0.30001576"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz#893be772cf8ee6056d6c1e2d07df365b9ec0a5c4"
integrity sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==
chalk@^2.4.2:
version "2.4.2"
@@ -1544,24 +1526,6 @@ deepmerge@^4.2.2:
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
default-browser-id@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c"
integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==
dependencies:
bplist-parser "^0.2.0"
untildify "^4.0.0"
default-browser@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/default-browser/-/default-browser-4.0.0.tgz#53c9894f8810bf86696de117a6ce9085a3cbc7da"
integrity sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==
dependencies:
bundle-name "^3.0.0"
default-browser-id "^3.0.0"
execa "^7.1.1"
titleize "^3.0.0"
define-data-property@^1.0.1, define-data-property@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3"
@@ -1571,11 +1535,6 @@ define-data-property@^1.0.1, define-data-property@^1.1.1:
gopd "^1.0.1"
has-property-descriptors "^1.0.0"
define-lazy-prop@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz#dbb19adfb746d7fc6d734a06b72f4a00d021255f"
integrity sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==
define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c"
@@ -1627,9 +1586,9 @@ doctrine@^3.0.0:
esutils "^2.0.2"
electron-to-chromium@^1.4.601:
version "1.4.616"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.616.tgz#4bddbc2c76e1e9dbf449ecd5da3d8119826ea4fb"
integrity sha512-1n7zWYh8eS0L9Uy+GskE0lkBUNK83cXTVJI0pU3mGprFsbfSdAc15VTFbo+A+Bq4pwstmL30AVcEU3Fo463lNg==
version "1.4.630"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.630.tgz#1d9f4169653784997bec98975e11a2c05214ce39"
integrity sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==
emittery@^0.13.1:
version "0.13.1"
@@ -1861,9 +1820,9 @@ eslint-plugin-import@^2.25.2:
tsconfig-paths "^3.15.0"
eslint-plugin-jest@^27.2.2:
version "27.6.0"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.6.0.tgz#e5c0cf735b3c8cad0ef9db5b565b2fc99f5e55ed"
integrity sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==
version "27.6.3"
resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-27.6.3.tgz#8acb8b1e45597fe1f4d4cf25163d90119efc12be"
integrity sha512-+YsJFVH6R+tOiO3gCJon5oqn4KWc+mDq2leudk8mrp8RFubLOo9CVyi3cib4L7XMpxExmkmBZQTPDYVBzgpgOA==
dependencies:
"@typescript-eslint/utils" "^5.10.0"
@@ -1895,9 +1854,9 @@ eslint-plugin-no-only-tests@^3.0.0:
integrity sha512-Lf4YW/bL6Un1R6A76pRZyE1dl1vr31G/ev8UzIc/geCgFWyrKil8hVjYqWVKGB/UIGmb6Slzs9T0wNezdSVegw==
eslint-plugin-prettier@^5.0.0, eslint-plugin-prettier@^5.0.0-alpha.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz#584c94d4bf31329b2d4cbeb10fd600d17d6de742"
integrity sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==
version "5.1.3"
resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz#17cfade9e732cef32b5f5be53bd4e07afd8e67e1"
integrity sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==
dependencies:
prettier-linter-helpers "^1.0.0"
synckit "^0.8.6"
@@ -2030,21 +1989,6 @@ execa@^5.0.0:
signal-exit "^3.0.3"
strip-final-newline "^2.0.0"
execa@^7.1.1:
version "7.2.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-7.2.0.tgz#657e75ba984f42a70f38928cedc87d6f2d4fe4e9"
integrity sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==
dependencies:
cross-spawn "^7.0.3"
get-stream "^6.0.1"
human-signals "^4.3.0"
is-stream "^3.0.0"
merge-stream "^2.0.0"
npm-run-path "^5.1.0"
onetime "^6.0.0"
signal-exit "^3.0.7"
strip-final-newline "^3.0.0"
exit@^0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
@@ -2071,7 +2015,7 @@ fast-diff@^1.1.2:
resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0"
integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==
fast-glob@^3.2.9, fast-glob@^3.3.0:
fast-glob@^3.2.9:
version "3.3.2"
resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129"
integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==
@@ -2212,7 +2156,7 @@ get-package-type@^0.1.0:
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
get-stream@^6.0.0, get-stream@^6.0.1:
get-stream@^6.0.0:
version "6.0.1"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
@@ -2314,7 +2258,7 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
has-property-descriptors@^1.0.0:
has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340"
integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==
@@ -2355,11 +2299,6 @@ human-signals@^2.1.0:
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
human-signals@^4.3.0:
version "4.3.1"
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-4.3.1.tgz#ab7f811e851fca97ffbd2c1fe9a958964de321b2"
integrity sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==
ignore@^5.0.5, ignore@^5.2.0, ignore@^5.2.4:
version "5.3.0"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.0.tgz#67418ae40d34d6999c95ff56016759c718c82f78"
@@ -2463,16 +2402,6 @@ is-date-object@^1.0.1, is-date-object@^1.0.5:
dependencies:
has-tostringtag "^1.0.0"
is-docker@^2.0.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
is-docker@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-3.0.0.tgz#90093aa3106277d8a77a5910dbae71747e15a200"
integrity sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@@ -2509,13 +2438,6 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3:
dependencies:
is-extglob "^2.1.1"
is-inside-container@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-inside-container/-/is-inside-container-1.0.0.tgz#e81fba699662eb31dbdaf26766a61d4814717ea4"
integrity sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==
dependencies:
is-docker "^3.0.0"
is-map@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127"
@@ -2568,11 +2490,6 @@ is-stream@^2.0.0:
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
is-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
is-string@^1.0.5, is-string@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
@@ -2614,13 +2531,6 @@ is-weakset@^2.0.1:
call-bind "^1.0.2"
get-intrinsic "^1.1.1"
is-wsl@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
dependencies:
is-docker "^2.0.0"
isarray@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
@@ -3267,10 +3177,12 @@ mimic-fn@^2.1.0:
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
mimic-fn@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
minimatch@9.0.3:
version "9.0.3"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-9.0.3.tgz#a6e00c3de44c3a542bfaae70abfc22420a6da825"
integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==
dependencies:
brace-expansion "^2.0.1"
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
@@ -3321,13 +3233,6 @@ npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
npm-run-path@^5.1.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.2.0.tgz#224cdd22c755560253dd71b83a1ef2f758b2e955"
integrity sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==
dependencies:
path-key "^4.0.0"
object-inspect@^1.13.1, object-inspect@^1.9.0:
version "1.13.1"
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2"
@@ -3399,23 +3304,6 @@ onetime@^5.1.2:
dependencies:
mimic-fn "^2.1.0"
onetime@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4"
integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==
dependencies:
mimic-fn "^4.0.0"
open@^9.1.0:
version "9.1.0"
resolved "https://registry.yarnpkg.com/open/-/open-9.1.0.tgz#684934359c90ad25742f5a26151970ff8c6c80b6"
integrity sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==
dependencies:
default-browser "^4.0.0"
define-lazy-prop "^3.0.0"
is-inside-container "^1.0.0"
is-wsl "^2.2.0"
optionator@^0.9.3:
version "0.9.3"
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
@@ -3493,11 +3381,6 @@ path-key@^3.0.0, path-key@^3.1.0:
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
path-key@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18"
integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
@@ -3543,9 +3426,9 @@ prettier-linter-helpers@^1.0.0:
fast-diff "^1.1.2"
prettier@^3.0.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.1.1.tgz#6ba9f23165d690b6cbdaa88cb0807278f7019848"
integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==
version "3.2.3"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.3.tgz#98501d99141a9a10d5ceaf74cf39c8b7cbddd380"
integrity sha512-QNhUTBq+mqt1oH1dTfY3phOKNhcDdJkfttHI6u0kj7M2+c+7fmNKlgh2GhnHiqMcbxJ+a0j2igz/2jfl9QKLuw==
pretty-format@^29.0.0, pretty-format@^29.7.0:
version "29.7.0"
@@ -3658,13 +3541,6 @@ rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
run-applescript@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/run-applescript/-/run-applescript-5.0.0.tgz#e11e1c932e055d5c6b40d98374e0268d9b11899c"
integrity sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==
dependencies:
execa "^5.0.0"
run-parallel@^1.1.9:
version "1.2.0"
resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
@@ -3683,12 +3559,12 @@ safe-array-concat@^1.0.1:
isarray "^2.0.5"
safe-regex-test@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295"
integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==
version "1.0.2"
resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.2.tgz#3ba32bdb3ea35f940ee87e5087c60ee786c3f6c5"
integrity sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==
dependencies:
call-bind "^1.0.2"
get-intrinsic "^1.1.3"
call-bind "^1.0.5"
get-intrinsic "^1.2.2"
is-regex "^1.1.4"
semver@^6.3.0, semver@^6.3.1:
@@ -3704,14 +3580,15 @@ semver@^7.3.7, semver@^7.5.3, semver@^7.5.4:
lru-cache "^6.0.0"
set-function-length@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed"
integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==
version "1.2.0"
resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.0.tgz#2f81dc6c16c7059bda5ab7c82c11f03a515ed8e1"
integrity sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==
dependencies:
define-data-property "^1.1.1"
get-intrinsic "^1.2.1"
function-bind "^1.1.2"
get-intrinsic "^1.2.2"
gopd "^1.0.1"
has-property-descriptors "^1.0.0"
has-property-descriptors "^1.0.1"
set-function-name@^2.0.0, set-function-name@^2.0.1:
version "2.0.1"
@@ -3849,11 +3726,6 @@ strip-final-newline@^2.0.0:
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
strip-final-newline@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd"
integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==
strip-json-comments@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
@@ -3891,11 +3763,11 @@ svg-element-attributes@^1.3.1:
integrity sha512-Bh05dSOnJBf3miNMqpsormfNtfidA/GxQVakhtn0T4DECWKeXQRQUceYjJ+OxYiiLdGe4Jo9iFV8wICFapFeIA==
synckit@^0.8.6:
version "0.8.6"
resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.6.tgz#b69b7fbce3917c2673cbdc0d87fb324db4a5b409"
integrity sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==
version "0.8.8"
resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.8.tgz#fe7fe446518e3d3d49f5e429f443cf08b6edfcd7"
integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==
dependencies:
"@pkgr/utils" "^2.4.2"
"@pkgr/core" "^0.1.0"
tslib "^2.6.2"
test-exclude@^6.0.0:
@@ -3912,11 +3784,6 @@ text-table@^0.2.0:
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
titleize@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/titleize/-/titleize-3.0.0.tgz#71c12eb7fdd2558aa8a44b0be83b8a76694acd53"
integrity sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==
tmpl@1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
@@ -3968,7 +3835,7 @@ tslib@^1.8.1:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tslib@^2.6.0, tslib@^2.6.2:
tslib@^2.6.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae"
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
@@ -4078,11 +3945,6 @@ universal-user-agent@^6.0.0:
resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.1.tgz#15f20f55da3c930c57bddbf1734c6654d5fd35aa"
integrity sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==
untildify@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b"
integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==
update-browserslist-db@^1.0.13:
version "1.0.13"
resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4"