Compare commits

..

16 Commits

Author SHA1 Message Date
Tonye Jack
03334d095e fix: bug detecting previous tag when workflow is rerun (#2107)
Co-authored-by: GitHub Action <action@github.com>
2024-05-24 04:46:34 +00:00
GitHub Action
8a0655f075 Added missing changes and modified dist assets. 2024-05-22 11:55:42 +00:00
renovate[bot]
98e187efcd fix(deps): update dependency micromatch to v4.0.7 2024-05-22 11:55:42 +00:00
GitHub Action
96f65726ea Added missing changes and modified dist assets. 2024-05-21 17:28:01 +00:00
renovate[bot]
bf548e4af2 fix(deps): update dependency micromatch to v4.0.6 2024-05-21 17:28:01 +00:00
tj-actions[bot]
8b07fd3b11 Upgraded to v44.5.0 (#2101)
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com>
2024-05-21 09:59:35 -06:00
renovate[bot]
d195e6e7c2 chore(deps): update dependency ts-jest to v29.1.3 2024-05-21 04:54:11 +00:00
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
14 changed files with 519 additions and 159 deletions

View File

@@ -1,5 +1,93 @@
# Changelog
# [44.5.0](https://github.com/tj-actions/changed-files/compare/v44.4.0...v44.5.0) - (2024-05-21)
## <!-- 0 -->🚀 Features
- Add support for providing patterns to match tags ([#2098](https://github.com/tj-actions/changed-files/issues/2098)) ([03c1842](https://github.com/tj-actions/changed-files/commit/03c184259aae3c160b1d7281389e51f97ea02e5e)) - (Tonye Jack)
## <!-- 26 -->🔄 Update
- Updated README.md ([#2099](https://github.com/tj-actions/changed-files/issues/2099))
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com> ([1754cd4](https://github.com/tj-actions/changed-files/commit/1754cd4b9e661d1f0eced3b33545a8d8b3bc46d8)) - (tj-actions[bot])
## <!-- 7 -->⚙️ Miscellaneous Tasks
- **deps:** Update typescript-eslint monorepo to v7.10.0 ([5f01393](https://github.com/tj-actions/changed-files/commit/5f0139347aeb65568e336f0250e84595c04c6c0a)) - (renovate[bot])
- **deps:** Update dependency @types/lodash to v4.17.4 ([58a9886](https://github.com/tj-actions/changed-files/commit/58a98867a77169ecf0438862d98cc9eb4bfb3511)) - (renovate[bot])
- **deps:** Update dependency @types/lodash to v4.17.3 ([9216b0c](https://github.com/tj-actions/changed-files/commit/9216b0cec231229441961c892fbdfcda247e6f59)) - (renovate[bot])
- **deps:** Update dependency @types/node to v20.12.12 ([0e3a6c3](https://github.com/tj-actions/changed-files/commit/0e3a6c3e99b91fdd487b056c372f55c0c28e7eaf)) - (renovate[bot])
- **deps:** Update typescript-eslint monorepo to v7.9.0 ([e86678f](https://github.com/tj-actions/changed-files/commit/e86678fe3aea7af0d378326a830158c186101136)) - (renovate[bot])
- **deps:** Lock file maintenance ([35d5a4d](https://github.com/tj-actions/changed-files/commit/35d5a4d79f865a1a8db02b9f6fb4c5cd4b4809ef)) - (renovate[bot])
## <!-- 9 -->⬆️ Upgrades
- Upgraded to v44.4.0 ([#2086](https://github.com/tj-actions/changed-files/issues/2086))
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com> ([887f936](https://github.com/tj-actions/changed-files/commit/887f93673c5c7e05864f59ff35db2cc632163ce3)) - (tj-actions[bot])
# [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:

193
dist/index.js generated vendored
View File

@@ -1055,7 +1055,12 @@ 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,
currentBranch
});
previousSha = sha;
targetBranch = tag;
}
@@ -1388,7 +1393,9 @@ exports.DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS = {
dirNamesDeletedFilesIncludeOnlyDeletedDirs: false,
excludeSubmodules: false,
fetchMissingHistoryMaxRetries: 10,
usePosixPathSeparator: false
usePosixPathSeparator: false,
tagsPattern: '*',
tagsIgnorePattern: ''
};
@@ -1610,6 +1617,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 +1666,8 @@ const getInputs = () => {
dirNamesDeletedFilesIncludeOnlyDeletedDirs,
excludeSubmodules,
usePosixPathSeparator,
tagsPattern,
tagsIgnorePattern,
// End Not Supported via REST API
dirNames,
dirNamesExcludeCurrentDir,
@@ -2604,23 +2621,55 @@ 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 { stdout } = yield exec.getExecOutput('git', ['tag', '--sort=-creatordate'], {
const getPreviousGitTag = (_6) => __awaiter(void 0, [_6], void 0, function* ({ cwd, tagsPattern, currentBranch, tagsIgnorePattern }) {
const ignorePatterns = [];
let currentShaDate = null;
const { stdout } = yield exec.getExecOutput('git', [
'tag',
'--sort=-creatordate',
'--format=%(refname:short)|%(objectname)|%(creatordate:iso)'
], {
cwd,
silent: !core.isDebug()
});
const tags = stdout.trim().split('\n');
if (tags.length < 2) {
core.warning('No previous tag found');
return { tag: '', sha: '' };
if (tagsIgnorePattern) {
ignorePatterns.push(tagsIgnorePattern);
}
const previousTag = tags[1];
const { stdout: stdout2 } = yield exec.getExecOutput('git', ['rev-parse', previousTag], {
cwd,
silent: !core.isDebug()
});
const sha = stdout2.trim();
return { tag: previousTag, sha };
if (currentBranch) {
ignorePatterns.push(currentBranch);
try {
const { stdout: currentShaDateOutput } = yield exec.getExecOutput('git', ['show', '-s', '--format=%ai', currentBranch], {
cwd,
silent: !core.isDebug()
});
currentShaDate = new Date(currentShaDateOutput.trim());
}
catch (error) {
// Handle the case where the current branch doesn't exist
// This might happen in detached head state
core.warning(`Failed to get date for current branch ${currentBranch}`);
}
}
const previousTag = { tag: '', sha: '' };
const tags = stdout.trim().split('\n');
for (const tagData of tags) {
const [tag, sha, dateString] = tagData.split('|');
if (!micromatch_1.default.isMatch(tag, tagsPattern) || micromatch_1.default.isMatch(tag, ignorePatterns)) {
continue;
}
const date = new Date(dateString);
if (currentShaDate && date >= currentShaDate) {
continue;
}
// Found a suitable tag, no need to continue
previousTag.tag = tag;
previousTag.sha = sha;
break;
}
if (!previousTag.tag) {
core.warning('No previous tag found');
}
return previousTag;
});
exports.getPreviousGitTag = getPreviousGitTag;
const canDiffCommits = (_7) => __awaiter(void 0, [_7], void 0, function* ({ cwd, sha1, sha2, diff }) {
@@ -16114,8 +16163,8 @@ const braces = (input, options = {}) => {
let output = [];
if (Array.isArray(input)) {
for (let pattern of input) {
let result = braces.create(pattern, options);
for (const pattern of input) {
const result = braces.create(pattern, options);
if (Array.isArray(result)) {
output.push(...result);
} else {
@@ -16249,7 +16298,7 @@ braces.create = (input, options = {}) => {
return [input];
}
return options.expand !== true
return options.expand !== true
? braces.compile(input, options)
: braces.expand(input, options);
};
@@ -16273,30 +16322,32 @@ const fill = __nccwpck_require__(6330);
const utils = __nccwpck_require__(5207);
const compile = (ast, options = {}) => {
let walk = (node, parent = {}) => {
let invalidBlock = utils.isInvalidBrace(parent);
let invalidNode = node.invalid === true && options.escapeInvalid === true;
let invalid = invalidBlock === true || invalidNode === true;
let prefix = options.escapeInvalid === true ? '\\' : '';
const walk = (node, parent = {}) => {
const invalidBlock = utils.isInvalidBrace(parent);
const invalidNode = node.invalid === true && options.escapeInvalid === true;
const invalid = invalidBlock === true || invalidNode === true;
const prefix = options.escapeInvalid === true ? '\\' : '';
let output = '';
if (node.isOpen === true) {
return prefix + node.value;
}
if (node.isClose === true) {
console.log('node.isClose', prefix, node.value);
return prefix + node.value;
}
if (node.type === 'open') {
return invalid ? (prefix + node.value) : '(';
return invalid ? prefix + node.value : '(';
}
if (node.type === 'close') {
return invalid ? (prefix + node.value) : ')';
return invalid ? prefix + node.value : ')';
}
if (node.type === 'comma') {
return node.prev.type === 'comma' ? '' : (invalid ? node.value : '|');
return node.prev.type === 'comma' ? '' : invalid ? node.value : '|';
}
if (node.value) {
@@ -16304,8 +16355,8 @@ const compile = (ast, options = {}) => {
}
if (node.nodes && node.ranges > 0) {
let args = utils.reduce(node.nodes);
let range = fill(...args, { ...options, wrap: false, toRegex: true });
const args = utils.reduce(node.nodes);
const range = fill(...args, { ...options, wrap: false, toRegex: true, strictZeros: true });
if (range.length !== 0) {
return args.length > 1 && range.length > 1 ? `(${range})` : range;
@@ -16313,10 +16364,11 @@ const compile = (ast, options = {}) => {
}
if (node.nodes) {
for (let child of node.nodes) {
for (const child of node.nodes) {
output += walk(child, node);
}
}
return output;
};
@@ -16335,7 +16387,7 @@ module.exports = compile;
module.exports = {
MAX_LENGTH: 1024 * 64,
MAX_LENGTH: 10000,
// Digits
CHAR_0: '0', /* 0 */
@@ -16404,7 +16456,7 @@ const stringify = __nccwpck_require__(1514);
const utils = __nccwpck_require__(5207);
const append = (queue = '', stash = '', enclose = false) => {
let result = [];
const result = [];
queue = [].concat(queue);
stash = [].concat(stash);
@@ -16414,15 +16466,15 @@ const append = (queue = '', stash = '', enclose = false) => {
return enclose ? utils.flatten(stash).map(ele => `{${ele}}`) : stash;
}
for (let item of queue) {
for (const item of queue) {
if (Array.isArray(item)) {
for (let value of item) {
for (const value of item) {
result.push(append(value, stash, enclose));
}
} else {
for (let ele of stash) {
if (enclose === true && typeof ele === 'string') ele = `{${ele}}`;
result.push(Array.isArray(ele) ? append(item, ele, enclose) : (item + ele));
result.push(Array.isArray(ele) ? append(item, ele, enclose) : item + ele);
}
}
}
@@ -16430,9 +16482,9 @@ const append = (queue = '', stash = '', enclose = false) => {
};
const expand = (ast, options = {}) => {
let rangeLimit = options.rangeLimit === void 0 ? 1000 : options.rangeLimit;
const rangeLimit = options.rangeLimit === undefined ? 1000 : options.rangeLimit;
let walk = (node, parent = {}) => {
const walk = (node, parent = {}) => {
node.queue = [];
let p = parent;
@@ -16454,7 +16506,7 @@ const expand = (ast, options = {}) => {
}
if (node.nodes && node.ranges > 0) {
let args = utils.reduce(node.nodes);
const args = utils.reduce(node.nodes);
if (utils.exceedsLimit(...args, options.step, rangeLimit)) {
throw new RangeError('expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.');
@@ -16470,7 +16522,7 @@ const expand = (ast, options = {}) => {
return;
}
let enclose = utils.encloseBrace(node);
const enclose = utils.encloseBrace(node);
let queue = node.queue;
let block = node;
@@ -16480,7 +16532,7 @@ const expand = (ast, options = {}) => {
}
for (let i = 0; i < node.nodes.length; i++) {
let child = node.nodes[i];
const child = node.nodes[i];
if (child.type === 'comma' && node.type === 'brace') {
if (i === 1) queue.push('');
@@ -16553,22 +16605,21 @@ const parse = (input, options = {}) => {
throw new TypeError('Expected a string');
}
let opts = options || {};
let max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
const opts = options || {};
const max = typeof opts.maxLength === 'number' ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH;
if (input.length > max) {
throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`);
}
let ast = { type: 'root', input, nodes: [] };
let stack = [ast];
const ast = { type: 'root', input, nodes: [] };
const stack = [ast];
let block = ast;
let prev = ast;
let brackets = 0;
let length = input.length;
const length = input.length;
let index = 0;
let depth = 0;
let value;
let memo = {};
/**
* Helpers
@@ -16631,7 +16682,6 @@ const parse = (input, options = {}) => {
if (value === CHAR_LEFT_SQUARE_BRACKET) {
brackets++;
let closed = true;
let next;
while (index < length && (next = advance())) {
@@ -16687,7 +16737,7 @@ const parse = (input, options = {}) => {
*/
if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) {
let open = value;
const open = value;
let next;
if (options.keepQuotes !== true) {
@@ -16719,8 +16769,8 @@ const parse = (input, options = {}) => {
if (value === CHAR_LEFT_CURLY_BRACE) {
depth++;
let dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true;
let brace = {
const dollar = prev.value && prev.value.slice(-1) === '$' || block.dollar === true;
const brace = {
type: 'brace',
open: true,
close: false,
@@ -16747,7 +16797,7 @@ const parse = (input, options = {}) => {
continue;
}
let type = 'close';
const type = 'close';
block = stack.pop();
block.close = true;
@@ -16765,7 +16815,7 @@ const parse = (input, options = {}) => {
if (value === CHAR_COMMA && depth > 0) {
if (block.ranges > 0) {
block.ranges = 0;
let open = block.nodes.shift();
const open = block.nodes.shift();
block.nodes = [open, { type: 'text', value: stringify(block) }];
}
@@ -16779,7 +16829,7 @@ const parse = (input, options = {}) => {
*/
if (value === CHAR_DOT && depth > 0 && block.commas === 0) {
let siblings = block.nodes;
const siblings = block.nodes;
if (depth === 0 || siblings.length === 0) {
push({ type: 'text', value });
@@ -16806,7 +16856,7 @@ const parse = (input, options = {}) => {
if (prev.type === 'range') {
siblings.pop();
let before = siblings[siblings.length - 1];
const before = siblings[siblings.length - 1];
before.value += prev.value + value;
prev = before;
block.ranges--;
@@ -16839,8 +16889,8 @@ const parse = (input, options = {}) => {
});
// get the location of the block on parent.nodes (block's siblings)
let parent = stack[stack.length - 1];
let index = parent.nodes.indexOf(block);
const parent = stack[stack.length - 1];
const index = parent.nodes.indexOf(block);
// replace the (invalid) block with it's nodes
parent.nodes.splice(index, 1, ...block.nodes);
}
@@ -16864,9 +16914,9 @@ module.exports = parse;
const utils = __nccwpck_require__(5207);
module.exports = (ast, options = {}) => {
let stringify = (node, parent = {}) => {
let invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
let invalidNode = node.invalid === true && options.escapeInvalid === true;
const stringify = (node, parent = {}) => {
const invalidBlock = options.escapeInvalid && utils.isInvalidBrace(parent);
const invalidNode = node.invalid === true && options.escapeInvalid === true;
let output = '';
if (node.value) {
@@ -16881,7 +16931,7 @@ module.exports = (ast, options = {}) => {
}
if (node.nodes) {
for (let child of node.nodes) {
for (const child of node.nodes) {
output += stringify(child);
}
}
@@ -16932,7 +16982,7 @@ exports.exceedsLimit = (min, max, step = 1, limit) => {
*/
exports.escapeNode = (block, n = 0, type) => {
let node = block.nodes[n];
const node = block.nodes[n];
if (!node) return;
if ((type && node.type === type) || node.type === 'open' || node.type === 'close') {
@@ -17001,13 +17051,23 @@ exports.reduce = nodes => nodes.reduce((acc, node) => {
exports.flatten = (...args) => {
const result = [];
const flat = arr => {
for (let i = 0; i < arr.length; i++) {
let ele = arr[i];
Array.isArray(ele) ? flat(ele, result) : ele !== void 0 && result.push(ele);
const ele = arr[i];
if (Array.isArray(ele)) {
flat(ele);
continue;
}
if (ele !== undefined) {
result.push(ele);
}
}
return result;
};
flat(args);
return result;
};
@@ -17109,7 +17169,7 @@ const toMaxLen = (input, maxLength) => {
return negative ? ('-' + input) : input;
};
const toSequence = (parts, options) => {
const toSequence = (parts, options, maxLen) => {
parts.negatives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
parts.positives.sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
@@ -17119,11 +17179,11 @@ const toSequence = (parts, options) => {
let result;
if (parts.positives.length) {
positives = parts.positives.join('|');
positives = parts.positives.map(v => toMaxLen(String(v), maxLen)).join('|');
}
if (parts.negatives.length) {
negatives = `-(${prefix}${parts.negatives.join('|')})`;
negatives = `-(${prefix}${parts.negatives.map(v => toMaxLen(String(v), maxLen)).join('|')})`;
}
if (positives && negatives) {
@@ -17221,7 +17281,7 @@ const fillNumbers = (start, end, step = 1, options = {}) => {
if (options.toRegex === true) {
return step > 1
? toSequence(parts, options)
? toSequence(parts, options, maxLen)
: toRegex(range, null, { wrap: false, ...options });
}
@@ -17233,7 +17293,6 @@ const fillLetters = (start, end, step = 1, options = {}) => {
return invalidRange(start, end, options);
}
let format = options.transform || (val => String.fromCharCode(val));
let a = `${start}`.charCodeAt(0);
let b = `${end}`.charCodeAt(0);

2
dist/index.js.map generated vendored

File diff suppressed because one or more lines are too long

2
dist/licenses.txt generated vendored
View File

@@ -5723,7 +5723,7 @@ braces
MIT
The MIT License (MIT)
Copyright (c) 2014-2018, Jon Schlinkert.
Copyright (c) 2014-present, Jon Schlinkert.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@@ -1,6 +1,6 @@
{
"name": "@tj-actions/changed-files",
"version": "44.3.0",
"version": "44.5.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,95 @@ 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 () => {
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: '',
currentBranch: 'v1.0.1'
})
expect(result).toEqual({
tag: 'v1.0.0',
sha: 'f0751de6af436d4e79016e2041cf6400e0833653'
})
})
// Tags are filtered by a specified pattern when 'tagsPattern' is provided
it('should filter tags by the specified pattern', async () => {
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: 'v1.*',
tagsIgnorePattern: '',
currentBranch: 'v1.0.1'
})
expect(result).toEqual({
tag: 'v1.0.0',
sha: 'f0751de6af436d4e79016e2041cf6400e0833653'
})
})
// Tags are excluded by a specified ignore pattern when 'tagsIgnorePattern' is provided
it('should exclude tags by the specified ignore pattern', async () => {
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: 'v0.*.*',
currentBranch: 'v1.0.1'
})
expect(result).toEqual({
tag: 'v1.0.0',
sha: 'f0751de6af436d4e79016e2041cf6400e0833653'
})
})
// 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: '',
currentBranch: ''
})
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|f0751de6af436d4e79016e2041cf6400e0833653|2021-01-01T00:00:00Z',
stderr: '',
exitCode: 0
})
const result = await getPreviousGitTag({
cwd: '.',
tagsPattern: '*',
tagsIgnorePattern: '',
currentBranch: 'v1.0.1'
})
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: '',
currentBranch: 'v1.0.1'
})
).rejects.toThrow('git command failed')
})
})
})

View File

@@ -240,7 +240,12 @@ 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,
currentBranch
})
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

@@ -831,41 +831,80 @@ export const cleanShaInput = async ({
return stdout.trim()
}
export const getPreviousGitTag = async ({
cwd
cwd,
tagsPattern,
currentBranch,
tagsIgnorePattern
}: {
cwd: string
tagsPattern: string
currentBranch: string
tagsIgnorePattern?: string
}): Promise<{tag: string; sha: string}> => {
const ignorePatterns: string[] = []
let currentShaDate: Date | null = null
const {stdout} = await exec.getExecOutput(
'git',
['tag', '--sort=-creatordate'],
[
'tag',
'--sort=-creatordate',
'--format=%(refname:short)|%(objectname)|%(creatordate:iso)'
],
{
cwd,
silent: !core.isDebug()
}
)
const tags = stdout.trim().split('\n')
if (tags.length < 2) {
core.warning('No previous tag found')
return {tag: '', sha: ''}
if (tagsIgnorePattern) {
ignorePatterns.push(tagsIgnorePattern)
}
const previousTag = tags[1]
const {stdout: stdout2} = await exec.getExecOutput(
'git',
['rev-parse', previousTag],
{
cwd,
silent: !core.isDebug()
if (currentBranch) {
ignorePatterns.push(currentBranch)
try {
const {stdout: currentShaDateOutput} = await exec.getExecOutput(
'git',
['show', '-s', '--format=%ai', currentBranch],
{
cwd,
silent: !core.isDebug()
}
)
currentShaDate = new Date(currentShaDateOutput.trim())
} catch (error) {
// Handle the case where the current branch doesn't exist
// This might happen in detached head state
core.warning(`Failed to get date for current branch ${currentBranch}`)
}
)
}
const sha = stdout2.trim()
const previousTag: {tag: string; sha: string} = {tag: '', sha: ''}
return {tag: previousTag, sha}
const tags = stdout.trim().split('\n')
for (const tagData of tags) {
const [tag, sha, dateString] = tagData.split('|')
if (!mm.isMatch(tag, tagsPattern) || mm.isMatch(tag, ignorePatterns)) {
continue
}
const date = new Date(dateString)
if (currentShaDate && date >= currentShaDate) {
continue
}
// Found a suitable tag, no need to continue
previousTag.tag = tag
previousTag.sha = sha
break
}
if (!previousTag.tag) {
core.warning('No previous tag found')
}
return previousTag
}
export const canDiffCommits = async ({

165
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"
@@ -1510,12 +1553,12 @@ brace-expansion@^2.0.1:
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"
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
braces@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
dependencies:
fill-range "^7.0.1"
fill-range "^7.1.1"
browserslist@^4.21.0, browserslist@^4.22.2:
version "4.23.0"
@@ -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"
@@ -2289,10 +2332,10 @@ file-entry-cache@^6.0.1:
dependencies:
flat-cache "^3.0.4"
fill-range@^7.0.1:
version "7.0.1"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
fill-range@^7.1.1:
version "7.1.1"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
dependencies:
to-regex-range "^5.0.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"
@@ -3406,11 +3442,11 @@ merge2@^1.3.0, merge2@^1.4.1:
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
micromatch@^4.0.4, micromatch@^4.0.5:
version "4.0.5"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
version "4.0.7"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5"
integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==
dependencies:
braces "^3.0.2"
braces "^3.0.3"
picomatch "^2.3.1"
mimic-fn@^2.1.0:
@@ -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"
@@ -4059,9 +4093,9 @@ ts-api-utils@^1.3.0:
integrity sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==
ts-jest@^29.1.0:
version "29.1.2"
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.2.tgz#7613d8c81c43c8cb312c6904027257e814c40e09"
integrity sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==
version "29.1.3"
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.3.tgz#2bab16ba5ab0f4896684985f9618acc2cf1197e9"
integrity sha512-6L9qz3ginTd1NKhOxmkP0qU3FyKjj5CPoY+anszfVn6Pmv/RIKzhiMCsH7Yb7UvJR9I2A64rm4zQl531s2F1iw==
dependencies:
bs-logger "0.x"
fast-json-stable-stringify "2.x"
@@ -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"