Compare commits

...

9 Commits

Author SHA1 Message Date
tj-actions[bot]
1754cd4b9e Updated README.md (#2099)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-05-20 22:21:52 -06:00
Tonye Jack
03c184259a feat: add support for providing patterns to match tags (#2098)
Co-authored-by: GitHub Action <action@github.com>
2024-05-21 04:17:52 +00:00
renovate[bot]
5f0139347a chore(deps): update typescript-eslint monorepo to v7.10.0 2024-05-20 22:14:31 +00:00
renovate[bot]
58a98867a7 chore(deps): update dependency @types/lodash to v4.17.4 2024-05-17 05:16:35 +00:00
renovate[bot]
9216b0cec2 chore(deps): update dependency @types/lodash to v4.17.3 2024-05-16 21:22:57 +00:00
renovate[bot]
0e3a6c3e99 chore(deps): update dependency @types/node to v20.12.12 2024-05-14 09:26:49 +00:00
renovate[bot]
e86678fe3a chore(deps): update typescript-eslint monorepo to v7.9.0 2024-05-13 20:27:08 +00:00
renovate[bot]
35d5a4d79f chore(deps): lock file maintenance 2024-05-13 01:27:13 +00:00
tj-actions[bot]
887f93673c Upgraded to v44.4.0 (#2086)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
2024-05-12 20:23:48 +00:00
13 changed files with 429 additions and 63 deletions

View File

@@ -1,5 +1,66 @@
# Changelog
# [44.4.0](https://github.com/tj-actions/changed-files/compare/v44.3.0...v44.4.0) - (2024-05-08)
## <!-- 0 -->🚀 Features
- Reduce the default fetch_depth from 50 to 25 and increase fetch_missing_history_max_retries ([#2060](https://github.com/tj-actions/changed-files/issues/2060)) ([44ce9f4](https://github.com/tj-actions/changed-files/commit/44ce9f434167298fce8f9edf203176c014d51ed8)) - (Tonye Jack)
## <!-- 1 -->🐛 Bug Fixes
- **deps:** Update dependency @octokit/rest to v20.1.1 ([396e5a5](https://github.com/tj-actions/changed-files/commit/396e5a51d5444a68abd0ca86795e40144b22875a)) - (renovate[bot])
- **deps:** Update dependency yaml to v2.4.2 ([1c5b7dc](https://github.com/tj-actions/changed-files/commit/1c5b7dc5f490a91e3ffe2a80a32b6ec53fee8627)) - (renovate[bot])
## <!-- 16 --> Add
- Added missing changes and modified dist assets.
([c393672](https://github.com/tj-actions/changed-files/commit/c393672835f5e9934c60b73f14af88cbb3eb9d6d)) - (GitHub Action)
- Added missing changes and modified dist assets.
([15fa7fb](https://github.com/tj-actions/changed-files/commit/15fa7fb9550e318cd8c7889812750e3baf85741a)) - (GitHub Action)
## <!-- 26 -->🔄 Update
- Updated README.md ([#2068](https://github.com/tj-actions/changed-files/issues/2068))
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> ([0c82494](https://github.com/tj-actions/changed-files/commit/0c82494d634648c00ea121dc17d3c790888d84b7)) - (tj-actions[bot])
- Updated README.md ([#2061](https://github.com/tj-actions/changed-files/issues/2061))
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com> ([cee950d](https://github.com/tj-actions/changed-files/commit/cee950d7423ea9b9e2f1398edb7c203aa8e3b6a8)) - (tj-actions[bot])
- Updated README.md ([#2059](https://github.com/tj-actions/changed-files/issues/2059))
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com> ([7b65c37](https://github.com/tj-actions/changed-files/commit/7b65c377b1a5352050b3f1765e89e8c1498b7151)) - (tj-actions[bot])
- Update action.yml ([532b66a](https://github.com/tj-actions/changed-files/commit/532b66aa5cdd78ac95381a5837593c4e2c1cc689)) - (Tonye Jack)
- Updated README.md ([#2057](https://github.com/tj-actions/changed-files/issues/2057))
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com> ([461ea4f](https://github.com/tj-actions/changed-files/commit/461ea4f9bf72cc903116a1f7832c259517033c4f)) - (tj-actions[bot])
## <!-- 7 -->⚙️ Miscellaneous Tasks
- **deps:** Update dependency @types/node to v20.12.11 ([a29e8b5](https://github.com/tj-actions/changed-files/commit/a29e8b565651ce417abb5db7164b4a2ad8b6155c)) - (renovate[bot])
- **deps:** Update codacy/codacy-analysis-cli-action action to v4.4.1 ([5a12705](https://github.com/tj-actions/changed-files/commit/5a127050b23a670857f37c398ad95d4258ad2cd9)) - (renovate[bot])
- **deps:** Update dependency @types/node to v20.12.10 ([5819343](https://github.com/tj-actions/changed-files/commit/581934340b529e43033415c4777d68fef0a77728)) - (renovate[bot])
- **deps:** Update dependency @types/node to v20.12.9 ([5587afb](https://github.com/tj-actions/changed-files/commit/5587afbef7d18ac15b8dcb6728b4cef8dd65a3ca)) - (renovate[bot])
- **deps:** Lock file maintenance ([0f039f3](https://github.com/tj-actions/changed-files/commit/0f039f361bfe87006120af15e65aca81bbf83a85)) - (renovate[bot])
- **deps:** Update tj-actions/verify-changed-files action to v20 ([#2079](https://github.com/tj-actions/changed-files/issues/2079)) ([6d4230d](https://github.com/tj-actions/changed-files/commit/6d4230d4f04050b0b2748f51b7e45411c80556fb)) - (renovate[bot])
- **deps:** Update dependency @types/lodash to v4.17.1 ([1711887](https://github.com/tj-actions/changed-files/commit/1711887607a8b90e5a2c940b679d755bfb77d002)) - (renovate[bot])
- **deps:** Update dependency eslint-plugin-jest to v28.5.0 ([47a2d62](https://github.com/tj-actions/changed-files/commit/47a2d62412bf64a49abd7b7679f33b424ceca288)) - (renovate[bot])
- **deps:** Update dependency eslint-plugin-jest to v28.4.0 ([c73b12c](https://github.com/tj-actions/changed-files/commit/c73b12cc6d5217a79bf78cf8a07ffc67de3ee4ad)) - (renovate[bot])
- **deps-dev:** Bump @types/node from 20.12.7 to 20.12.8 ([#2074](https://github.com/tj-actions/changed-files/issues/2074)) ([41ce994](https://github.com/tj-actions/changed-files/commit/41ce994be96a740b53ae11ecbf86d1619a7bd640)) - (dependabot[bot])
- **deps:** Lock file maintenance ([192e174](https://github.com/tj-actions/changed-files/commit/192e174507517360f2917c06114bc29c1b6f87cc)) - (renovate[bot])
- **deps:** Update typescript-eslint monorepo to v7.8.0 ([5e85e31](https://github.com/tj-actions/changed-files/commit/5e85e31a0187e8df23b438284aa04f21b55f1510)) - (renovate[bot])
- **deps:** Lock file maintenance ([7871e84](https://github.com/tj-actions/changed-files/commit/7871e848ad730c5f0f07beb4b552d981666d0113)) - (renovate[bot])
- **deps:** Update tj-actions/eslint-changed-files action to v25 ([#2069](https://github.com/tj-actions/changed-files/issues/2069)) ([4765b9f](https://github.com/tj-actions/changed-files/commit/4765b9f7755d935bfd5b817fd54c1644a3e353e6)) - (renovate[bot])
- **deps:** Update dependency eslint-plugin-jest to v28.3.0 ([7d02310](https://github.com/tj-actions/changed-files/commit/7d02310f6e619682280fc882083625c6fdea15a8)) - (renovate[bot])
- **deps:** Update peter-evans/create-pull-request action to v6.0.5 ([0df48f8](https://github.com/tj-actions/changed-files/commit/0df48f84094b1c181560c74c366be7aa482f69f9)) - (renovate[bot])
- **deps:** Update typescript-eslint monorepo to v7.7.1 ([b76e23c](https://github.com/tj-actions/changed-files/commit/b76e23c88a5fd49bbf61e0ed56e3bf863400619c)) - (renovate[bot])
- **deps:** Lock file maintenance ([549c203](https://github.com/tj-actions/changed-files/commit/549c203ec243ad37c57a0aacc725543b643c2c9b)) - (renovate[bot])
## <!-- 9 -->⬆️ Upgrades
- Upgraded to v44.3.0 ([#2058](https://github.com/tj-actions/changed-files/issues/2058))
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com> ([d9384bb](https://github.com/tj-actions/changed-files/commit/d9384bba72acecf39972b06ec7f323d370f357fb)) - (tj-actions[bot])
# [44.3.0](https://github.com/tj-actions/changed-files/compare/v44.2.0...v44.3.0) - (2024-04-18)
## <!-- 0 -->🚀 Features

View File

@@ -674,6 +674,15 @@ Support this project with a :star:
# Default: "false"
skip_initial_fetch: ''
# Tags pattern to ignore.
# Type: string
tags_ignore_pattern: ''
# Tags pattern to include.
# Type: string
# Default: "*"
tags_pattern: ''
# GitHub token used to fetch
# changed files from Github's API.
# Type: string

View File

@@ -235,6 +235,15 @@ inputs:
description: "Use POSIX path separator `/` for output file paths on Windows."
required: false
default: "false"
tags_pattern:
description: "Tags pattern to include."
required: false
default: "*"
tags_ignore_pattern:
description: "Tags pattern to ignore."
required: false
default: ""
outputs:
added_files:

30
dist/index.js generated vendored
View File

@@ -1055,7 +1055,11 @@ const getSHAForNonPullRequestEvent = (_j) => __awaiter(void 0, [_j], void 0, fun
}
else if (isTag) {
core.debug('Getting previous SHA for tag...');
const { sha, tag } = yield (0, utils_1.getPreviousGitTag)({ cwd: workingDirectory });
const { sha, tag } = yield (0, utils_1.getPreviousGitTag)({
cwd: workingDirectory,
tagsPattern: inputs.tagsPattern,
tagsIgnorePattern: inputs.tagsIgnorePattern
});
previousSha = sha;
targetBranch = tag;
}
@@ -1388,7 +1392,9 @@ exports.DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS = {
dirNamesDeletedFilesIncludeOnlyDeletedDirs: false,
excludeSubmodules: false,
fetchMissingHistoryMaxRetries: 10,
usePosixPathSeparator: false
usePosixPathSeparator: false,
tagsPattern: '*',
tagsIgnorePattern: ''
};
@@ -1610,6 +1616,14 @@ const getInputs = () => {
const usePosixPathSeparator = core.getBooleanInput('use_posix_path_separator', {
required: false
});
const tagsPattern = core.getInput('tags_pattern', {
required: false,
trimWhitespace: false
});
const tagsIgnorePattern = core.getInput('tags_ignore_pattern', {
required: false,
trimWhitespace: false
});
const inputs = {
files,
filesSeparator,
@@ -1651,6 +1665,8 @@ const getInputs = () => {
dirNamesDeletedFilesIncludeOnlyDeletedDirs,
excludeSubmodules,
usePosixPathSeparator,
tagsPattern,
tagsIgnorePattern,
// End Not Supported via REST API
dirNames,
dirNamesExcludeCurrentDir,
@@ -2604,12 +2620,18 @@ const cleanShaInput = (_5) => __awaiter(void 0, [_5], void 0, function* ({ sha,
return stdout.trim();
});
exports.cleanShaInput = cleanShaInput;
const getPreviousGitTag = (_6) => __awaiter(void 0, [_6], void 0, function* ({ cwd }) {
const getPreviousGitTag = (_6) => __awaiter(void 0, [_6], void 0, function* ({ cwd, tagsPattern, tagsIgnorePattern }) {
const { stdout } = yield exec.getExecOutput('git', ['tag', '--sort=-creatordate'], {
cwd,
silent: !core.isDebug()
});
const tags = stdout.trim().split('\n');
let tags = stdout.trim().split('\n');
if (tagsPattern) {
tags = tags.filter(tag => micromatch_1.default.isMatch(tag, tagsPattern));
}
if (tagsIgnorePattern) {
tags = tags.filter(tag => !micromatch_1.default.isMatch(tag, tagsIgnorePattern));
}
if (tags.length < 2) {
core.warning('No previous tag found');
return { tag: '', sha: '' };

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": "44.3.0",
"version": "44.4.0",
"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

@@ -53,6 +53,8 @@ exports[`getInputs should correctly parse boolean inputs 1`] = `
"since": "",
"sinceLastRemoteCommit": "false",
"skipInitialFetch": "true",
"tagsIgnorePattern": "",
"tagsPattern": "*",
"token": "",
"until": "",
"usePosixPathSeparator": "false",
@@ -113,6 +115,8 @@ exports[`getInputs should correctly parse numeric inputs 1`] = `
"since": "",
"sinceLastRemoteCommit": false,
"skipInitialFetch": false,
"tagsIgnorePattern": "",
"tagsPattern": "",
"token": "",
"until": "",
"usePosixPathSeparator": false,
@@ -171,6 +175,8 @@ exports[`getInputs should correctly parse string inputs 1`] = `
"since": "",
"sinceLastRemoteCommit": false,
"skipInitialFetch": false,
"tagsIgnorePattern": "",
"tagsPattern": "",
"token": "token",
"until": "",
"usePosixPathSeparator": false,
@@ -231,6 +237,8 @@ exports[`getInputs should handle invalid numeric inputs correctly 1`] = `
"since": "",
"sinceLastRemoteCommit": false,
"skipInitialFetch": false,
"tagsIgnorePattern": "",
"tagsPattern": "",
"token": "",
"until": "",
"usePosixPathSeparator": false,
@@ -291,6 +299,8 @@ exports[`getInputs should handle negative numeric inputs correctly 1`] = `
"since": "",
"sinceLastRemoteCommit": false,
"skipInitialFetch": false,
"tagsIgnorePattern": "",
"tagsPattern": "",
"token": "",
"until": "",
"usePosixPathSeparator": false,
@@ -352,6 +362,8 @@ exports[`getInputs should return default values when no inputs are provided 1`]
"since": "",
"sinceLastRemoteCommit": false,
"skipInitialFetch": false,
"tagsIgnorePattern": "",
"tagsPattern": "*",
"token": "",
"until": "",
"usePosixPathSeparator": false,

View File

@@ -1,10 +1,12 @@
import * as core from '@actions/core'
import * as exec from '@actions/exec'
import {ChangeTypeEnum} from '../changedFiles'
import {Inputs} from '../inputs'
import {
getDirname,
getDirnameMaxDepth,
getFilteredChangedFiles,
getPreviousGitTag,
normalizeSeparators,
warnUnsupportedRESTAPIInputs
} from '../utils'
@@ -638,7 +640,9 @@ describe('utils test', () => {
useRestApi: false,
excludeSubmodules: false,
fetchMissingHistoryMaxRetries: 10,
usePosixPathSeparator: false
usePosixPathSeparator: false,
tagsPattern: '*',
tagsIgnorePattern: ''
}
const coreWarningSpy = jest.spyOn(core, 'warning')
@@ -654,4 +658,193 @@ describe('utils test', () => {
expect(coreWarningSpy).toHaveBeenCalledTimes(1)
})
})
describe('getPreviousGitTag', () => {
// Function returns the second latest tag and its SHA
it('should return the second latest tag and its SHA when multiple tags are present', async () => {
jest
.spyOn(exec, 'getExecOutput')
.mockResolvedValueOnce({
stdout: 'v1.0.1\nv1.0.0\nv0.9.9',
stderr: '',
exitCode: 0
})
.mockResolvedValueOnce({
stdout: 'abc123',
stderr: '',
exitCode: 0
})
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: ''
})
expect(result).toEqual({tag: 'v1.0.0', sha: 'abc123'})
})
// Tags are filtered by a specified pattern when 'tagsPattern' is provided
it('should filter tags by the specified pattern', async () => {
jest
.spyOn(exec, 'getExecOutput')
.mockResolvedValueOnce({
stdout: 'v1.0.1\nv1.0.0\nv0.9.9',
stderr: '',
exitCode: 0
})
.mockResolvedValueOnce({
stdout: 'def456',
stderr: '',
exitCode: 0
})
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: 'v1.*',
tagsIgnorePattern: ''
})
expect(result).toEqual({tag: 'v1.0.0', sha: 'def456'})
})
// Tags are excluded by a specified ignore pattern when 'tagsIgnorePattern' is provided
it('should exclude tags by the specified ignore pattern', async () => {
jest
.spyOn(exec, 'getExecOutput')
.mockResolvedValueOnce({
stdout: 'v1.0.1\nv1.0.0\nv0.9.9',
stderr: '',
exitCode: 0
})
.mockResolvedValueOnce({
stdout: 'ghi789',
stderr: '',
exitCode: 0
})
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: 'v0.*.*'
})
expect(result).toEqual({tag: 'v1.0.0', sha: 'ghi789'})
})
// Function executes silently when debug mode is not active
it('should execute silently when debug mode is not active', async () => {
jest.spyOn(core, 'isDebug').mockReturnValue(false)
const spy = jest
.spyOn(exec, 'getExecOutput')
.mockResolvedValueOnce({
stdout: 'v1.0.1\nv1.0.0',
stderr: '',
exitCode: 0
})
.mockResolvedValueOnce({
stdout: 'jkl012',
stderr: '',
exitCode: 0
})
await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: ''
})
expect(spy).toHaveBeenCalledWith('git', ['tag', '--sort=-creatordate'], {
cwd: '.',
silent: true
})
})
// No tags are available in the repository
it('should return empty values when no tags are available in the repository', async () => {
jest.spyOn(exec, 'getExecOutput').mockResolvedValueOnce({
stdout: '',
stderr: '',
exitCode: 0
})
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: ''
})
expect(result).toEqual({tag: '', sha: ''})
})
// Only one tag is available, making it impossible to find a previous tag
it('should return empty values when only one tag is available', async () => {
jest.spyOn(exec, 'getExecOutput').mockResolvedValueOnce({
stdout: 'v1.0.1',
stderr: '',
exitCode: 0
})
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: ''
})
expect(result).toEqual({tag: '', sha: ''})
})
// Provided 'tagsPattern' matches no tags
it('should return empty values when provided tagsPattern matches no tags', async () => {
jest.spyOn(exec, 'getExecOutput').mockResolvedValueOnce({
stdout: 'v1.0.1\nv1.0.0',
stderr: '',
exitCode: 0
})
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: 'nonexistent*',
tagsIgnorePattern: ''
})
expect(result).toEqual({tag: '', sha: ''})
})
// Provided 'tagsIgnorePattern' excludes all tags
it('should return empty values when provided tagsIgnorePattern excludes all tags', async () => {
jest.spyOn(exec, 'getExecOutput').mockResolvedValueOnce({
stdout: 'v1.0.1\nv1.0.0',
stderr: '',
exitCode: 0
})
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: 'v*'
})
expect(result).toEqual({tag: '', sha: ''})
})
// Git commands fail and throw errors
it('should throw an error when git commands fail', async () => {
jest
.spyOn(exec, 'getExecOutput')
.mockRejectedValue(new Error('git command failed'))
await expect(
getPreviousGitTag({cwd: '.', tagsPattern: '*', tagsIgnorePattern: ''})
).rejects.toThrow('git command failed')
})
// Debug mode logs additional information
it('should log additional information when debug mode is active', async () => {
jest.spyOn(core, 'isDebug').mockReturnValue(true)
const spy = jest
.spyOn(exec, 'getExecOutput')
.mockResolvedValueOnce({
stdout: 'v1.0.1\nv1.0.0',
stderr: '',
exitCode: 0
})
.mockResolvedValueOnce({
stdout: 'mno345',
stderr: '',
exitCode: 0
})
await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: ''
})
expect(spy).toHaveBeenCalledWith('git', ['tag', '--sort=-creatordate'], {
cwd: '.',
silent: false
})
})
})
})

View File

@@ -240,7 +240,11 @@ export const getSHAForNonPullRequestEvent = async ({
}
} else if (isTag) {
core.debug('Getting previous SHA for tag...')
const {sha, tag} = await getPreviousGitTag({cwd: workingDirectory})
const {sha, tag} = await getPreviousGitTag({
cwd: workingDirectory,
tagsPattern: inputs.tagsPattern,
tagsIgnorePattern: inputs.tagsIgnorePattern
})
previousSha = sha
targetBranch = tag
} else {

View File

@@ -23,5 +23,7 @@ export const DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS: Partial<Inputs> = {
dirNamesDeletedFilesIncludeOnlyDeletedDirs: false,
excludeSubmodules: false,
fetchMissingHistoryMaxRetries: 10,
usePosixPathSeparator: false
usePosixPathSeparator: false,
tagsPattern: '*',
tagsIgnorePattern: ''
}

View File

@@ -57,6 +57,8 @@ export type Inputs = {
excludeSubmodules: boolean
fetchMissingHistoryMaxRetries?: number
usePosixPathSeparator: boolean
tagsPattern: string
tagsIgnorePattern?: string
}
export const getInputs = (): Inputs => {
@@ -259,6 +261,15 @@ export const getInputs = (): Inputs => {
}
)
const tagsPattern = core.getInput('tags_pattern', {
required: false,
trimWhitespace: false
})
const tagsIgnorePattern = core.getInput('tags_ignore_pattern', {
required: false,
trimWhitespace: false
})
const inputs: Inputs = {
files,
filesSeparator,
@@ -300,6 +311,8 @@ export const getInputs = (): Inputs => {
dirNamesDeletedFilesIncludeOnlyDeletedDirs,
excludeSubmodules,
usePosixPathSeparator,
tagsPattern,
tagsIgnorePattern,
// End Not Supported via REST API
dirNames,
dirNamesExcludeCurrentDir,

View File

@@ -832,9 +832,13 @@ export const cleanShaInput = async ({
return stdout.trim()
}
export const getPreviousGitTag = async ({
cwd
cwd,
tagsPattern,
tagsIgnorePattern
}: {
cwd: string
tagsPattern: string
tagsIgnorePattern?: string
}): Promise<{tag: string; sha: string}> => {
const {stdout} = await exec.getExecOutput(
'git',
@@ -845,7 +849,15 @@ export const getPreviousGitTag = async ({
}
)
const tags = stdout.trim().split('\n')
let tags = stdout.trim().split('\n')
if (tagsPattern) {
tags = tags.filter(tag => mm.isMatch(tag, tagsPattern))
}
if (tagsIgnorePattern) {
tags = tags.filter(tag => !mm.isMatch(tag, tagsIgnorePattern))
}
if (tags.length < 2) {
core.warning('No previous tag found')

133
yarn.lock
View File

@@ -1111,9 +1111,9 @@
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
"@types/lodash@^4.14.195":
version "4.17.1"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.1.tgz#0fabfcf2f2127ef73b119d98452bd317c4a17eb8"
integrity sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==
version "4.17.4"
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.17.4.tgz#0303b64958ee070059e3a7184048a55159fe20b7"
integrity sha512-wYCP26ZLxaT3R39kiN2+HcJ4kTd3U1waI/cY7ivWYqFP6pW3ZNpvi6Wd6PHZx7T/t8z0vlkXMg3QYLa7DZ/IJQ==
"@types/micromatch@^4.0.2":
version "4.0.7"
@@ -1123,9 +1123,9 @@
"@types/braces" "*"
"@types/node@*", "@types/node@^20.3.2":
version "20.12.11"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.11.tgz#c4ef00d3507000d17690643278a60dc55a9dc9be"
integrity sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==
version "20.12.12"
resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.12.tgz#7cbecdf902085cec634fdb362172dfe12b8f2050"
integrity sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==
dependencies:
undici-types "~5.26.4"
@@ -1157,33 +1157,39 @@
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^7.0.0", "@typescript-eslint/eslint-plugin@^7.0.1":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.8.0.tgz#c78e309fe967cb4de05b85cdc876fb95f8e01b6f"
integrity sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==
version "7.10.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.10.0.tgz#07854a236f107bb45cbf4f62b89474cbea617f50"
integrity sha512-PzCr+a/KAef5ZawX7nbyNwBDtM1HdLIT53aSA2DDlxmxMngZ43O8SIePOeX8H5S+FHXeI6t97mTt/dDdzY4Fyw==
dependencies:
"@eslint-community/regexpp" "^4.10.0"
"@typescript-eslint/scope-manager" "7.8.0"
"@typescript-eslint/type-utils" "7.8.0"
"@typescript-eslint/utils" "7.8.0"
"@typescript-eslint/visitor-keys" "7.8.0"
debug "^4.3.4"
"@typescript-eslint/scope-manager" "7.10.0"
"@typescript-eslint/type-utils" "7.10.0"
"@typescript-eslint/utils" "7.10.0"
"@typescript-eslint/visitor-keys" "7.10.0"
graphemer "^1.4.0"
ignore "^5.3.1"
natural-compare "^1.4.0"
semver "^7.6.0"
ts-api-utils "^1.3.0"
"@typescript-eslint/parser@^7.0.0", "@typescript-eslint/parser@^7.0.1":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.8.0.tgz#1e1db30c8ab832caffee5f37e677dbcb9357ddc8"
integrity sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==
version "7.10.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.10.0.tgz#e6ac1cba7bc0400a4459e7eb5b23115bd71accfb"
integrity sha512-2EjZMA0LUW5V5tGQiaa2Gys+nKdfrn2xiTIBLR4fxmPmVSvgPcKNW+AE/ln9k0A4zDUti0J/GZXMDupQoI+e1w==
dependencies:
"@typescript-eslint/scope-manager" "7.8.0"
"@typescript-eslint/types" "7.8.0"
"@typescript-eslint/typescript-estree" "7.8.0"
"@typescript-eslint/visitor-keys" "7.8.0"
"@typescript-eslint/scope-manager" "7.10.0"
"@typescript-eslint/types" "7.10.0"
"@typescript-eslint/typescript-estree" "7.10.0"
"@typescript-eslint/visitor-keys" "7.10.0"
debug "^4.3.4"
"@typescript-eslint/scope-manager@7.10.0":
version "7.10.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.10.0.tgz#054a27b1090199337a39cf755f83d9f2ce26546b"
integrity sha512-7L01/K8W/VGl7noe2mgH0K7BE29Sq6KAbVmxurj8GGaPDZXPr8EEQ2seOeAS+mEV9DnzxBQB6ax6qQQ5C6P4xg==
dependencies:
"@typescript-eslint/types" "7.10.0"
"@typescript-eslint/visitor-keys" "7.10.0"
"@typescript-eslint/scope-manager@7.8.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.8.0.tgz#bb19096d11ec6b87fb6640d921df19b813e02047"
@@ -1192,21 +1198,40 @@
"@typescript-eslint/types" "7.8.0"
"@typescript-eslint/visitor-keys" "7.8.0"
"@typescript-eslint/type-utils@7.8.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.8.0.tgz#9de166f182a6e4d1c5da76e94880e91831e3e26f"
integrity sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==
"@typescript-eslint/type-utils@7.10.0":
version "7.10.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.10.0.tgz#8a75accce851d0a331aa9331268ef64e9b300270"
integrity sha512-D7tS4WDkJWrVkuzgm90qYw9RdgBcrWmbbRkrLA4d7Pg3w0ttVGDsvYGV19SH8gPR5L7OtcN5J1hTtyenO9xE9g==
dependencies:
"@typescript-eslint/typescript-estree" "7.8.0"
"@typescript-eslint/utils" "7.8.0"
"@typescript-eslint/typescript-estree" "7.10.0"
"@typescript-eslint/utils" "7.10.0"
debug "^4.3.4"
ts-api-utils "^1.3.0"
"@typescript-eslint/types@7.10.0":
version "7.10.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.10.0.tgz#da92309c97932a3a033762fd5faa8b067de84e3b"
integrity sha512-7fNj+Ya35aNyhuqrA1E/VayQX9Elwr8NKZ4WueClR3KwJ7Xx9jcCdOrLW04h51de/+gNbyFMs+IDxh5xIwfbNg==
"@typescript-eslint/types@7.8.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.8.0.tgz#1fd2577b3ad883b769546e2d1ef379f929a7091d"
integrity sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==
"@typescript-eslint/typescript-estree@7.10.0":
version "7.10.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.10.0.tgz#6dcdc5de3149916a6a599fa89dde5c471b88b8bb"
integrity sha512-LXFnQJjL9XIcxeVfqmNj60YhatpRLt6UhdlFwAkjNc6jSUlK8zQOl1oktAP8PlWFzPQC1jny/8Bai3/HPuvN5g==
dependencies:
"@typescript-eslint/types" "7.10.0"
"@typescript-eslint/visitor-keys" "7.10.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
minimatch "^9.0.4"
semver "^7.6.0"
ts-api-utils "^1.3.0"
"@typescript-eslint/typescript-estree@7.8.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.8.0.tgz#b028a9226860b66e623c1ee55cc2464b95d2987c"
@@ -1221,7 +1246,17 @@
semver "^7.6.0"
ts-api-utils "^1.3.0"
"@typescript-eslint/utils@7.8.0", "@typescript-eslint/utils@^6.0.0 || ^7.0.0":
"@typescript-eslint/utils@7.10.0":
version "7.10.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.10.0.tgz#8ee43e5608c9f439524eaaea8de5b358b15c51b3"
integrity sha512-olzif1Fuo8R8m/qKkzJqT7qwy16CzPRWBvERS0uvyc+DHd8AKbO4Jb7kpAvVzMmZm8TrHnI7hvjN4I05zow+tg==
dependencies:
"@eslint-community/eslint-utils" "^4.4.0"
"@typescript-eslint/scope-manager" "7.10.0"
"@typescript-eslint/types" "7.10.0"
"@typescript-eslint/typescript-estree" "7.10.0"
"@typescript-eslint/utils@^6.0.0 || ^7.0.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.8.0.tgz#57a79f9c0c0740ead2f622e444cfaeeb9fd047cd"
integrity sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==
@@ -1234,6 +1269,14 @@
"@typescript-eslint/typescript-estree" "7.8.0"
semver "^7.6.0"
"@typescript-eslint/visitor-keys@7.10.0":
version "7.10.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.10.0.tgz#2af2e91e73a75dd6b70b4486c48ae9d38a485a78"
integrity sha512-9ntIVgsi6gg6FIq9xjEO4VQJvwOqA3jaBFQJ/6TK5AvEup2+cECI6Fh7QiBxmfMHXU0V0J4RyPeOU1VDNzl9cg==
dependencies:
"@typescript-eslint/types" "7.10.0"
eslint-visitor-keys "^3.4.3"
"@typescript-eslint/visitor-keys@7.8.0":
version "7.8.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.8.0.tgz#7285aab991da8bee411a42edbd5db760d22fdd91"
@@ -1573,9 +1616,9 @@ camelcase@^6.2.0:
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
caniuse-lite@^1.0.30001587:
version "1.0.30001616"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001616.tgz#4342712750d35f71ebba9fcac65e2cf8870013c3"
integrity sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==
version "1.0.30001617"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz#809bc25f3f5027ceb33142a7d6c40759d7a901eb"
integrity sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==
chalk@^2.4.2:
version "2.4.2"
@@ -1805,9 +1848,9 @@ doctrine@^3.0.0:
esutils "^2.0.2"
electron-to-chromium@^1.4.668:
version "1.4.756"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.756.tgz#7b872ed8c8c5bee571be771730225d6d2a37fe45"
integrity sha512-RJKZ9+vEBMeiPAvKNWyZjuYyUqMndcP1f335oHqn3BEQbs2NFtVrnK5+6Xg5wSM9TknNNpWghGDUCKGYF+xWXw==
version "1.4.763"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.763.tgz#64f2041ed496fd6fc710b9be806fe91da9334f91"
integrity sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==
emittery@^0.13.1:
version "0.13.1"
@@ -3369,13 +3412,6 @@ lru-cache@^5.1.1:
dependencies:
yallist "^3.0.2"
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
dependencies:
yallist "^4.0.0"
make-dir@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e"
@@ -3821,11 +3857,9 @@ semver@^6.3.0, semver@^6.3.1:
integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
semver@^7.5.3, semver@^7.5.4, semver@^7.6.0:
version "7.6.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.0.tgz#1a46a4db4bffcccd97b743b5005c8325f23d4e2d"
integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
dependencies:
lru-cache "^6.0.0"
version "7.6.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13"
integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==
set-function-length@^1.2.1:
version "1.2.2"
@@ -4320,11 +4354,6 @@ yallist@^3.0.2:
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
yallist@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
yaml@^2.3.1:
version "2.4.2"
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.2.tgz#7a2b30f2243a5fc299e1f14ca58d475ed4bc5362"