Compare commits

..

5 Commits

Author SHA1 Message Date
Alex Dunae
1f1bd92f39 Merge d23de777e0 into cd2651c462 2025-09-09 16:37:53 +02:00
dependabot[bot]
cd2651c462 Bump ts-jest from 29.1.2 to 29.4.1 (#1336)
* Bump ts-jest from 29.1.2 to 29.4.1

Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 29.1.2 to 29.4.1.
- [Release notes](https://github.com/kulshekhar/ts-jest/releases)
- [Changelog](https://github.com/kulshekhar/ts-jest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kulshekhar/ts-jest/compare/v29.1.2...v29.4.1)

---
updated-dependencies:
- dependency-name: ts-jest
  dependency-version: 29.4.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* documentation update

* check failure fix

* text alignment

* doc update

* updated documentation and logs

* doc update

* update

* doc update

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aparna Jyothi <aparnajyothi-y@github.com>
2025-09-08 21:49:38 -05:00
Alex Dunae
d23de777e0 Add output cache-matched-key 2025-01-15 12:03:24 -08:00
Alex Dunae
82af78e9c4 Add dist 2025-01-14 10:46:08 -08:00
Alex Dunae
870d3d8e13 Add cache-key as output 2025-01-14 10:40:03 -08:00
12 changed files with 393 additions and 50 deletions

View File

@@ -1,6 +1,6 @@
--- ---
name: semver name: semver
version: 7.6.3 version: 7.7.2
type: npm type: npm
summary: The semantic version parser used by npm. summary: The semantic version parser used by npm.
homepage: homepage:

View File

@@ -12,6 +12,16 @@ This action provides the following functionality for GitHub Actions users:
- Registering problem matchers for error output - Registering problem matchers for error output
- Configuring authentication for GPR or npm - Configuring authentication for GPR or npm
## Breaking changes in V5
- Enabled caching by default with package manager detection if no cache input is provided.
> For workflows with elevated privileges or access to sensitive information, we recommend disabling automatic caching by setting `package-manager-cache: false` when caching is not needed for secure operation.
- Upgraded action from node20 to node24.
> Make sure your runner is on version v2.327.1 or later to ensure compatibility with this release. [See Release Notes](https://github.com/actions/runner/releases/tag/v2.327.1)
For more details, see the full release notes on the [releases page](https://github.com/actions/setup-node/releases/v5.0.0)
## Usage ## Usage
See [action.yml](action.yml) See [action.yml](action.yml)
@@ -57,6 +67,10 @@ See [action.yml](action.yml)
# Default: '' # Default: ''
cache: '' cache: ''
# Used to disable automatic caching based on the package manager field in package.json. By default, caching is enabled if the package manager field is present and no cache input is provided'
# default: true
package-manager-cache: true
# Used to specify the path to a dependency file: package-lock.json, yarn.lock, etc. # Used to specify the path to a dependency file: package-lock.json, yarn.lock, etc.
# It will generate hash from the target file for primary key. It works only If cache is specified. # It will generate hash from the target file for primary key. It works only If cache is specified.
# Supports wildcards or a list of file names for caching multiple dependencies. # Supports wildcards or a list of file names for caching multiple dependencies.
@@ -137,17 +151,17 @@ It's **always** recommended to commit the lockfile of your package manager for s
The action has a built-in functionality for caching and restoring dependencies. It uses [actions/cache](https://github.com/actions/cache) under the hood for caching global packages data but requires less configuration settings. Supported package managers are `npm`, `yarn`, `pnpm` (v6.10+). The `cache` input is optional. The action has a built-in functionality for caching and restoring dependencies. It uses [actions/cache](https://github.com/actions/cache) under the hood for caching global packages data but requires less configuration settings. Supported package managers are `npm`, `yarn`, `pnpm` (v6.10+). The `cache` input is optional.
Caching is turned on by default when a `packageManager` field is detected in the `package.json` file. The `package-manager-cache` input provides control over this automatic caching behavior. By default, `package-manager-cache` is set to `true`, which enables caching when a valid package manager field is detected in the `package.json` file. To disable this automatic caching, set the `package-manager-cache` input to `false`. Caching is turned on by default when a `packageManager` field is detected in the `package.json` file and no `cache` input is provided. The `package-manager-cache` input provides control over this automatic caching behavior. By default, `package-manager-cache` is set to `true`, which enables caching when a valid package manager field is detected in the `package.json` file. To disable this automatic caching, set the `package-manager-cache` input to `false`.
```yaml ```yaml
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v5
- uses: actions/setup-node@v4 - uses: actions/setup-node@v5
with: with:
package-manager-cache: false package-manager-cache: false
- run: npm ci - run: npm ci
``` ```
> If no valid `packageManager` field is detected in the `package.json` file, caching will remain disabled unless explicitly configured. > If no valid `packageManager` field is detected in the `package.json` file, caching will remain disabled unless explicitly configured. For workflows with elevated privileges or access to sensitive information, we recommend disabling automatic caching by setting `package-manager-cache: false` when caching is not needed for secure operation.
The action defaults to search for the dependency file (`package-lock.json`, `npm-shrinkwrap.json` or `yarn.lock`) in the repository root, and uses its hash as a part of the cache key. Use `cache-dependency-path` for cases when multiple dependency files are used, or they are located in different subdirectories. The action defaults to search for the dependency file (`package-lock.json`, `npm-shrinkwrap.json` or `yarn.lock`) in the repository root, and uses its hash as a part of the cache key. Use `cache-dependency-path` for cases when multiple dependency files are used, or they are located in different subdirectories.
@@ -250,4 +264,4 @@ Contributions are welcome! See [Contributor's Guide](docs/contributors.md)
## Code of Conduct ## Code of Conduct
:wave: Be nice. See [our code of conduct](CODE_OF_CONDUCT.md) :wave: Be nice. See [our code of conduct](CODE_OF_CONDUCT.md)

View File

@@ -131,6 +131,7 @@ describe('cache-restore', () => {
])( ])(
'restored dependencies for %s', 'restored dependencies for %s',
async (packageManager, toolVersion, fileHash) => { async (packageManager, toolVersion, fileHash) => {
const expectedCacheKey = `node-cache-${platform}-${arch}-${packageManager}-${fileHash}`;
getCommandOutputSpy.mockImplementation((command: string) => { getCommandOutputSpy.mockImplementation((command: string) => {
if (command.includes('version')) { if (command.includes('version')) {
return toolVersion; return toolVersion;
@@ -142,12 +143,20 @@ describe('cache-restore', () => {
await restoreCache(packageManager, ''); await restoreCache(packageManager, '');
expect(hashFilesSpy).toHaveBeenCalled(); expect(hashFilesSpy).toHaveBeenCalled();
expect(infoSpy).toHaveBeenCalledWith( expect(infoSpy).toHaveBeenCalledWith(
`Cache restored from key: node-cache-${platform}-${arch}-${packageManager}-${fileHash}` `Cache restored from key: ${expectedCacheKey}`
); );
expect(infoSpy).not.toHaveBeenCalledWith( expect(infoSpy).not.toHaveBeenCalledWith(
`${packageManager} cache is not found` `${packageManager} cache is not found`
); );
expect(setOutputSpy).toHaveBeenCalledWith('cache-hit', true); expect(setOutputSpy).toHaveBeenCalledWith('cache-hit', true);
expect(setOutputSpy).toHaveBeenCalledWith(
'cache-key',
expectedCacheKey
);
expect(setOutputSpy).toHaveBeenCalledWith(
'cache-matched-key',
expectedCacheKey
);
} }
); );
}); });
@@ -161,6 +170,7 @@ describe('cache-restore', () => {
])( ])(
'dependencies are changed %s', 'dependencies are changed %s',
async (packageManager, toolVersion, fileHash) => { async (packageManager, toolVersion, fileHash) => {
const expectedCacheKey = `node-cache-${platform}-${arch}-${packageManager}-${fileHash}`;
getCommandOutputSpy.mockImplementation((command: string) => { getCommandOutputSpy.mockImplementation((command: string) => {
if (command.includes('version')) { if (command.includes('version')) {
return toolVersion; return toolVersion;
@@ -176,10 +186,72 @@ describe('cache-restore', () => {
`${packageManager} cache is not found` `${packageManager} cache is not found`
); );
expect(setOutputSpy).toHaveBeenCalledWith('cache-hit', false); expect(setOutputSpy).toHaveBeenCalledWith('cache-hit', false);
expect(setOutputSpy).toHaveBeenCalledWith(
'cache-key',
expectedCacheKey
);
expect(setOutputSpy).toHaveBeenCalledWith(
'cache-matched-key',
undefined
);
} }
); );
}); });
describe('Cache key output', () => {
const packageManager = 'npm';
const cacheDependencyPath = 'package-lock.json';
const primaryKey = `node-cache-${platform}-${arch}-${packageManager}-${npmFileHash}`;
const cacheKey = `node-cache-${platform}-${arch}-${packageManager}-abc123`;
beforeEach(() => {
getCommandOutputSpy.mockImplementation(command => {
if (command.includes('npm config get cache')) return npmCachePath;
});
});
it('sets the cache-key output', async () => {
restoreCacheSpy.mockResolvedValue(cacheKey);
await restoreCache(packageManager, cacheDependencyPath);
expect(setOutputSpy).toHaveBeenCalledWith('cache-key', primaryKey);
});
it('sets the cache-hit output to true when cache is found', async () => {
restoreCacheSpy.mockResolvedValue(cacheKey);
await restoreCache(packageManager, cacheDependencyPath);
expect(setOutputSpy).toHaveBeenCalledWith('cache-hit', true);
});
it('sets the cache-hit output to false when cache is not found', async () => {
restoreCacheSpy.mockResolvedValue(undefined);
await restoreCache(packageManager, cacheDependencyPath);
expect(setOutputSpy).toHaveBeenCalledWith('cache-hit', false);
});
it('sets the cache-matched-key output when cache is found', async () => {
(cache.restoreCache as jest.Mock).mockResolvedValue(cacheKey);
await restoreCache(packageManager, cacheDependencyPath);
expect(core.setOutput).toHaveBeenCalledWith(
'cache-matched-key',
cacheKey
);
});
it('sets the cache-matched-key output to undefined when cache is not found', async () => {
(cache.restoreCache as jest.Mock).mockResolvedValue(undefined);
await restoreCache(packageManager, cacheDependencyPath);
expect(core.setOutput).toHaveBeenCalledWith(
'cache-matched-key',
undefined
);
});
});
afterEach(() => { afterEach(() => {
jest.resetAllMocks(); jest.resetAllMocks();
jest.clearAllMocks(); jest.clearAllMocks();

View File

@@ -27,6 +27,7 @@ describe('run', () => {
let setFailedSpy: jest.SpyInstance; let setFailedSpy: jest.SpyInstance;
let getStateSpy: jest.SpyInstance; let getStateSpy: jest.SpyInstance;
let saveCacheSpy: jest.SpyInstance; let saveCacheSpy: jest.SpyInstance;
let setOutputSpy: jest.SpyInstance;
let getCommandOutputSpy: jest.SpyInstance; let getCommandOutputSpy: jest.SpyInstance;
let hashFilesSpy: jest.SpyInstance; let hashFilesSpy: jest.SpyInstance;
let existsSpy: jest.SpyInstance; let existsSpy: jest.SpyInstance;
@@ -53,6 +54,8 @@ describe('run', () => {
saveCacheSpy = jest.spyOn(cache, 'saveCache'); saveCacheSpy = jest.spyOn(cache, 'saveCache');
saveCacheSpy.mockImplementation(() => undefined); saveCacheSpy.mockImplementation(() => undefined);
setOutputSpy = jest.spyOn(core, 'setOutput');
// glob // glob
hashFilesSpy = jest.spyOn(glob, 'hashFiles'); hashFilesSpy = jest.spyOn(glob, 'hashFiles');
hashFilesSpy.mockImplementation((pattern: string) => { hashFilesSpy.mockImplementation((pattern: string) => {
@@ -228,6 +231,7 @@ describe('run', () => {
expect(infoSpy).toHaveBeenLastCalledWith( expect(infoSpy).toHaveBeenLastCalledWith(
`Cache saved with the key: ${npmFileHash}` `Cache saved with the key: ${npmFileHash}`
); );
expect(core.setOutput).toHaveBeenCalledWith('cache-key', npmFileHash);
expect(setFailedSpy).not.toHaveBeenCalled(); expect(setFailedSpy).not.toHaveBeenCalled();
}); });
@@ -258,6 +262,7 @@ describe('run', () => {
expect(infoSpy).toHaveBeenLastCalledWith( expect(infoSpy).toHaveBeenLastCalledWith(
`Cache saved with the key: ${npmFileHash}` `Cache saved with the key: ${npmFileHash}`
); );
expect(core.setOutput).toHaveBeenCalledWith('cache-key', npmFileHash);
expect(setFailedSpy).not.toHaveBeenCalled(); expect(setFailedSpy).not.toHaveBeenCalled();
}); });
@@ -288,6 +293,7 @@ describe('run', () => {
expect(infoSpy).toHaveBeenLastCalledWith( expect(infoSpy).toHaveBeenLastCalledWith(
`Cache saved with the key: ${yarnFileHash}` `Cache saved with the key: ${yarnFileHash}`
); );
expect(core.setOutput).toHaveBeenCalledWith('cache-key', yarnFileHash);
expect(setFailedSpy).not.toHaveBeenCalled(); expect(setFailedSpy).not.toHaveBeenCalled();
}); });
@@ -297,9 +303,9 @@ describe('run', () => {
key === State.CachePackageManager key === State.CachePackageManager
? inputs['cache'] ? inputs['cache']
: key === State.CacheMatchedKey : key === State.CacheMatchedKey
? pnpmFileHash ? 'no-match'
: key === State.CachePrimaryKey : key === State.CachePrimaryKey
? npmFileHash ? pnpmFileHash
: key === State.CachePaths : key === State.CachePaths
? '["/foo/bar"]' ? '["/foo/bar"]'
: 'not expected' : 'not expected'
@@ -316,8 +322,9 @@ describe('run', () => {
); );
expect(saveCacheSpy).toHaveBeenCalled(); expect(saveCacheSpy).toHaveBeenCalled();
expect(infoSpy).toHaveBeenLastCalledWith( expect(infoSpy).toHaveBeenLastCalledWith(
`Cache saved with the key: ${npmFileHash}` `Cache saved with the key: ${pnpmFileHash}`
); );
expect(core.setOutput).toHaveBeenCalledWith('cache-key', pnpmFileHash);
expect(setFailedSpy).not.toHaveBeenCalled(); expect(setFailedSpy).not.toHaveBeenCalled();
}); });

View File

@@ -37,6 +37,10 @@ inputs:
outputs: outputs:
cache-hit: cache-hit:
description: 'A boolean value to indicate if a cache was hit.' description: 'A boolean value to indicate if a cache was hit.'
cache-key:
description: 'The key used for the cache.'
cache-matched-key:
description: 'The key used for the cache that resulted in a cache hit.'
node-version: node-version:
description: 'The installed node version.' description: 'The installed node version.'
runs: runs:

View File

@@ -89053,6 +89053,7 @@ const cachePackages = (packageManager) => __awaiter(void 0, void 0, void 0, func
return; return;
} }
core.info(`Cache saved with the key: ${primaryKey}`); core.info(`Cache saved with the key: ${primaryKey}`);
core.setOutput('cache-key', primaryKey);
}); });
run(true); run(true);

195
dist/setup/index.js vendored
View File

@@ -65675,6 +65675,9 @@ function onceStrict (fn) {
/***/ 89379: /***/ 89379:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const ANY = Symbol('SemVer ANY') const ANY = Symbol('SemVer ANY')
// hoisted class for cyclic dependency // hoisted class for cyclic dependency
class Comparator { class Comparator {
@@ -65823,6 +65826,9 @@ const Range = __nccwpck_require__(96782)
/***/ 96782: /***/ 96782:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SPACE_CHARACTERS = /\s+/g const SPACE_CHARACTERS = /\s+/g
// hoisted class for cyclic dependency // hoisted class for cyclic dependency
@@ -66384,6 +66390,9 @@ const testSet = (set, version, options) => {
/***/ 7163: /***/ 7163:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const debug = __nccwpck_require__(1159) const debug = __nccwpck_require__(1159)
const { MAX_LENGTH, MAX_SAFE_INTEGER } = __nccwpck_require__(45101) const { MAX_LENGTH, MAX_SAFE_INTEGER } = __nccwpck_require__(45101)
const { safeRe: re, t } = __nccwpck_require__(95471) const { safeRe: re, t } = __nccwpck_require__(95471)
@@ -66396,7 +66405,7 @@ class SemVer {
if (version instanceof SemVer) { if (version instanceof SemVer) {
if (version.loose === !!options.loose && if (version.loose === !!options.loose &&
version.includePrerelease === !!options.includePrerelease) { version.includePrerelease === !!options.includePrerelease) {
return version return version
} else { } else {
version = version.version version = version.version
@@ -66562,6 +66571,19 @@ class SemVer {
// preminor will bump the version up to the next minor release, and immediately // preminor will bump the version up to the next minor release, and immediately
// down to pre-release. premajor and prepatch work the same way. // down to pre-release. premajor and prepatch work the same way.
inc (release, identifier, identifierBase) { inc (release, identifier, identifierBase) {
if (release.startsWith('pre')) {
if (!identifier && identifierBase === false) {
throw new Error('invalid increment argument: identifier is empty')
}
// Avoid an invalid semver results
if (identifier) {
const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE])
if (!match || match[1] !== identifier) {
throw new Error(`invalid identifier: ${identifier}`)
}
}
}
switch (release) { switch (release) {
case 'premajor': case 'premajor':
this.prerelease.length = 0 this.prerelease.length = 0
@@ -66592,6 +66614,12 @@ class SemVer {
} }
this.inc('pre', identifier, identifierBase) this.inc('pre', identifier, identifierBase)
break break
case 'release':
if (this.prerelease.length === 0) {
throw new Error(`version ${this.raw} is not a prerelease`)
}
this.prerelease.length = 0
break
case 'major': case 'major':
// If this is a pre-major version, bump up to the same major version. // If this is a pre-major version, bump up to the same major version.
@@ -66635,10 +66663,6 @@ class SemVer {
case 'pre': { case 'pre': {
const base = Number(identifierBase) ? 1 : 0 const base = Number(identifierBase) ? 1 : 0
if (!identifier && identifierBase === false) {
throw new Error('invalid increment argument: identifier is empty')
}
if (this.prerelease.length === 0) { if (this.prerelease.length === 0) {
this.prerelease = [base] this.prerelease = [base]
} else { } else {
@@ -66693,6 +66717,9 @@ module.exports = SemVer
/***/ 1799: /***/ 1799:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const parse = __nccwpck_require__(16353) const parse = __nccwpck_require__(16353)
const clean = (version, options) => { const clean = (version, options) => {
const s = parse(version.trim().replace(/^[=v]+/, ''), options) const s = parse(version.trim().replace(/^[=v]+/, ''), options)
@@ -66706,6 +66733,9 @@ module.exports = clean
/***/ 28646: /***/ 28646:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const eq = __nccwpck_require__(55082) const eq = __nccwpck_require__(55082)
const neq = __nccwpck_require__(4974) const neq = __nccwpck_require__(4974)
const gt = __nccwpck_require__(16599) const gt = __nccwpck_require__(16599)
@@ -66765,6 +66795,9 @@ module.exports = cmp
/***/ 35385: /***/ 35385:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const parse = __nccwpck_require__(16353) const parse = __nccwpck_require__(16353)
const { safeRe: re, t } = __nccwpck_require__(95471) const { safeRe: re, t } = __nccwpck_require__(95471)
@@ -66832,6 +66865,9 @@ module.exports = coerce
/***/ 37648: /***/ 37648:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const compareBuild = (a, b, loose) => { const compareBuild = (a, b, loose) => {
const versionA = new SemVer(a, loose) const versionA = new SemVer(a, loose)
@@ -66846,6 +66882,9 @@ module.exports = compareBuild
/***/ 56874: /***/ 56874:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const compare = __nccwpck_require__(78469) const compare = __nccwpck_require__(78469)
const compareLoose = (a, b) => compare(a, b, true) const compareLoose = (a, b) => compare(a, b, true)
module.exports = compareLoose module.exports = compareLoose
@@ -66856,6 +66895,9 @@ module.exports = compareLoose
/***/ 78469: /***/ 78469:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const compare = (a, b, loose) => const compare = (a, b, loose) =>
new SemVer(a, loose).compare(new SemVer(b, loose)) new SemVer(a, loose).compare(new SemVer(b, loose))
@@ -66868,6 +66910,9 @@ module.exports = compare
/***/ 70711: /***/ 70711:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const parse = __nccwpck_require__(16353) const parse = __nccwpck_require__(16353)
const diff = (version1, version2) => { const diff = (version1, version2) => {
@@ -66897,20 +66942,13 @@ const diff = (version1, version2) => {
return 'major' return 'major'
} }
// Otherwise it can be determined by checking the high version // If the main part has no difference
if (lowVersion.compareMain(highVersion) === 0) {
if (highVersion.patch) { if (lowVersion.minor && !lowVersion.patch) {
// anything higher than a patch bump would result in the wrong version return 'minor'
}
return 'patch' return 'patch'
} }
if (highVersion.minor) {
// anything higher than a minor bump would result in the wrong version
return 'minor'
}
// bumping major/minor/patch all have same result
return 'major'
} }
// add the `pre` prefix if we are going to a prerelease version // add the `pre` prefix if we are going to a prerelease version
@@ -66940,6 +66978,9 @@ module.exports = diff
/***/ 55082: /***/ 55082:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const compare = __nccwpck_require__(78469) const compare = __nccwpck_require__(78469)
const eq = (a, b, loose) => compare(a, b, loose) === 0 const eq = (a, b, loose) => compare(a, b, loose) === 0
module.exports = eq module.exports = eq
@@ -66950,6 +66991,9 @@ module.exports = eq
/***/ 16599: /***/ 16599:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const compare = __nccwpck_require__(78469) const compare = __nccwpck_require__(78469)
const gt = (a, b, loose) => compare(a, b, loose) > 0 const gt = (a, b, loose) => compare(a, b, loose) > 0
module.exports = gt module.exports = gt
@@ -66960,6 +67004,9 @@ module.exports = gt
/***/ 41236: /***/ 41236:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const compare = __nccwpck_require__(78469) const compare = __nccwpck_require__(78469)
const gte = (a, b, loose) => compare(a, b, loose) >= 0 const gte = (a, b, loose) => compare(a, b, loose) >= 0
module.exports = gte module.exports = gte
@@ -66970,6 +67017,9 @@ module.exports = gte
/***/ 62338: /***/ 62338:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const inc = (version, release, options, identifier, identifierBase) => { const inc = (version, release, options, identifier, identifierBase) => {
@@ -66996,6 +67046,9 @@ module.exports = inc
/***/ 3872: /***/ 3872:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const compare = __nccwpck_require__(78469) const compare = __nccwpck_require__(78469)
const lt = (a, b, loose) => compare(a, b, loose) < 0 const lt = (a, b, loose) => compare(a, b, loose) < 0
module.exports = lt module.exports = lt
@@ -67006,6 +67059,9 @@ module.exports = lt
/***/ 56717: /***/ 56717:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const compare = __nccwpck_require__(78469) const compare = __nccwpck_require__(78469)
const lte = (a, b, loose) => compare(a, b, loose) <= 0 const lte = (a, b, loose) => compare(a, b, loose) <= 0
module.exports = lte module.exports = lte
@@ -67016,6 +67072,9 @@ module.exports = lte
/***/ 68511: /***/ 68511:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const major = (a, loose) => new SemVer(a, loose).major const major = (a, loose) => new SemVer(a, loose).major
module.exports = major module.exports = major
@@ -67026,6 +67085,9 @@ module.exports = major
/***/ 32603: /***/ 32603:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const minor = (a, loose) => new SemVer(a, loose).minor const minor = (a, loose) => new SemVer(a, loose).minor
module.exports = minor module.exports = minor
@@ -67036,6 +67098,9 @@ module.exports = minor
/***/ 4974: /***/ 4974:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const compare = __nccwpck_require__(78469) const compare = __nccwpck_require__(78469)
const neq = (a, b, loose) => compare(a, b, loose) !== 0 const neq = (a, b, loose) => compare(a, b, loose) !== 0
module.exports = neq module.exports = neq
@@ -67046,6 +67111,9 @@ module.exports = neq
/***/ 16353: /***/ 16353:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const parse = (version, options, throwErrors = false) => { const parse = (version, options, throwErrors = false) => {
if (version instanceof SemVer) { if (version instanceof SemVer) {
@@ -67069,6 +67137,9 @@ module.exports = parse
/***/ 48756: /***/ 48756:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const patch = (a, loose) => new SemVer(a, loose).patch const patch = (a, loose) => new SemVer(a, loose).patch
module.exports = patch module.exports = patch
@@ -67079,6 +67150,9 @@ module.exports = patch
/***/ 15714: /***/ 15714:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const parse = __nccwpck_require__(16353) const parse = __nccwpck_require__(16353)
const prerelease = (version, options) => { const prerelease = (version, options) => {
const parsed = parse(version, options) const parsed = parse(version, options)
@@ -67092,6 +67166,9 @@ module.exports = prerelease
/***/ 32173: /***/ 32173:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const compare = __nccwpck_require__(78469) const compare = __nccwpck_require__(78469)
const rcompare = (a, b, loose) => compare(b, a, loose) const rcompare = (a, b, loose) => compare(b, a, loose)
module.exports = rcompare module.exports = rcompare
@@ -67102,6 +67179,9 @@ module.exports = rcompare
/***/ 87192: /***/ 87192:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const compareBuild = __nccwpck_require__(37648) const compareBuild = __nccwpck_require__(37648)
const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose))
module.exports = rsort module.exports = rsort
@@ -67112,6 +67192,9 @@ module.exports = rsort
/***/ 68011: /***/ 68011:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const Range = __nccwpck_require__(96782) const Range = __nccwpck_require__(96782)
const satisfies = (version, range, options) => { const satisfies = (version, range, options) => {
try { try {
@@ -67129,6 +67212,9 @@ module.exports = satisfies
/***/ 29872: /***/ 29872:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const compareBuild = __nccwpck_require__(37648) const compareBuild = __nccwpck_require__(37648)
const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose))
module.exports = sort module.exports = sort
@@ -67139,6 +67225,9 @@ module.exports = sort
/***/ 58780: /***/ 58780:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const parse = __nccwpck_require__(16353) const parse = __nccwpck_require__(16353)
const valid = (version, options) => { const valid = (version, options) => {
const v = parse(version, options) const v = parse(version, options)
@@ -67152,6 +67241,9 @@ module.exports = valid
/***/ 62088: /***/ 62088:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
// just pre-load all the stuff that index.js lazily exports // just pre-load all the stuff that index.js lazily exports
const internalRe = __nccwpck_require__(95471) const internalRe = __nccwpck_require__(95471)
const constants = __nccwpck_require__(45101) const constants = __nccwpck_require__(45101)
@@ -67248,6 +67340,9 @@ module.exports = {
/***/ 45101: /***/ 45101:
/***/ ((module) => { /***/ ((module) => {
"use strict";
// Note: this is the semver.org version of the spec that it implements // Note: this is the semver.org version of the spec that it implements
// Not necessarily the package version of this code. // Not necessarily the package version of this code.
const SEMVER_SPEC_VERSION = '2.0.0' const SEMVER_SPEC_VERSION = '2.0.0'
@@ -67290,6 +67385,9 @@ module.exports = {
/***/ 1159: /***/ 1159:
/***/ ((module) => { /***/ ((module) => {
"use strict";
const debug = ( const debug = (
typeof process === 'object' && typeof process === 'object' &&
process.env && process.env &&
@@ -67306,6 +67404,9 @@ module.exports = debug
/***/ 73348: /***/ 73348:
/***/ ((module) => { /***/ ((module) => {
"use strict";
const numeric = /^[0-9]+$/ const numeric = /^[0-9]+$/
const compareIdentifiers = (a, b) => { const compareIdentifiers = (a, b) => {
const anum = numeric.test(a) const anum = numeric.test(a)
@@ -67336,6 +67437,9 @@ module.exports = {
/***/ 61383: /***/ 61383:
/***/ ((module) => { /***/ ((module) => {
"use strict";
class LRUCache { class LRUCache {
constructor () { constructor () {
this.max = 1000 this.max = 1000
@@ -67383,6 +67487,9 @@ module.exports = LRUCache
/***/ 70356: /***/ 70356:
/***/ ((module) => { /***/ ((module) => {
"use strict";
// parse out just the options we care about // parse out just the options we care about
const looseOption = Object.freeze({ loose: true }) const looseOption = Object.freeze({ loose: true })
const emptyOpts = Object.freeze({ }) const emptyOpts = Object.freeze({ })
@@ -67405,6 +67512,9 @@ module.exports = parseOptions
/***/ 95471: /***/ 95471:
/***/ ((module, exports, __nccwpck_require__) => { /***/ ((module, exports, __nccwpck_require__) => {
"use strict";
const { const {
MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH, MAX_SAFE_BUILD_LENGTH,
@@ -67417,6 +67527,7 @@ exports = module.exports = {}
const re = exports.re = [] const re = exports.re = []
const safeRe = exports.safeRe = [] const safeRe = exports.safeRe = []
const src = exports.src = [] const src = exports.src = []
const safeSrc = exports.safeSrc = []
const t = exports.t = {} const t = exports.t = {}
let R = 0 let R = 0
@@ -67449,6 +67560,7 @@ const createToken = (name, value, isGlobal) => {
debug(name, index, value) debug(name, index, value)
t[name] = index t[name] = index
src[index] = value src[index] = value
safeSrc[index] = safe
re[index] = new RegExp(value, isGlobal ? 'g' : undefined) re[index] = new RegExp(value, isGlobal ? 'g' : undefined)
safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined) safeRe[index] = new RegExp(safe, isGlobal ? 'g' : undefined)
} }
@@ -67481,12 +67593,14 @@ createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` +
// ## Pre-release Version Identifier // ## Pre-release Version Identifier
// A numeric identifier, or a non-numeric identifier. // A numeric identifier, or a non-numeric identifier.
// Non-numberic identifiers include numberic identifiers but can be longer.
// Therefore non-numberic identifiers must go first.
createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER] createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NONNUMERICIDENTIFIER]
}|${src[t.NONNUMERICIDENTIFIER]})`) }|${src[t.NUMERICIDENTIFIER]})`)
createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE] createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NONNUMERICIDENTIFIER]
}|${src[t.NONNUMERICIDENTIFIER]})`) }|${src[t.NUMERICIDENTIFIERLOOSE]})`)
// ## Pre-release Version // ## Pre-release Version
// Hyphen, followed by one or more dot-separated pre-release version // Hyphen, followed by one or more dot-separated pre-release version
@@ -67629,6 +67743,9 @@ createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$')
/***/ 12276: /***/ 12276:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
// Determine if version is greater than all the versions possible in the range. // Determine if version is greater than all the versions possible in the range.
const outside = __nccwpck_require__(10280) const outside = __nccwpck_require__(10280)
const gtr = (version, range, options) => outside(version, range, '>', options) const gtr = (version, range, options) => outside(version, range, '>', options)
@@ -67640,6 +67757,9 @@ module.exports = gtr
/***/ 23465: /***/ 23465:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const Range = __nccwpck_require__(96782) const Range = __nccwpck_require__(96782)
const intersects = (r1, r2, options) => { const intersects = (r1, r2, options) => {
r1 = new Range(r1, options) r1 = new Range(r1, options)
@@ -67654,6 +67774,9 @@ module.exports = intersects
/***/ 15213: /***/ 15213:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const outside = __nccwpck_require__(10280) const outside = __nccwpck_require__(10280)
// Determine if version is less than all the versions possible in the range // Determine if version is less than all the versions possible in the range
const ltr = (version, range, options) => outside(version, range, '<', options) const ltr = (version, range, options) => outside(version, range, '<', options)
@@ -67665,6 +67788,9 @@ module.exports = ltr
/***/ 73193: /***/ 73193:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const Range = __nccwpck_require__(96782) const Range = __nccwpck_require__(96782)
@@ -67697,6 +67823,9 @@ module.exports = maxSatisfying
/***/ 68595: /***/ 68595:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const Range = __nccwpck_require__(96782) const Range = __nccwpck_require__(96782)
const minSatisfying = (versions, range, options) => { const minSatisfying = (versions, range, options) => {
@@ -67728,6 +67857,9 @@ module.exports = minSatisfying
/***/ 51866: /***/ 51866:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const Range = __nccwpck_require__(96782) const Range = __nccwpck_require__(96782)
const gt = __nccwpck_require__(16599) const gt = __nccwpck_require__(16599)
@@ -67796,6 +67928,9 @@ module.exports = minVersion
/***/ 10280: /***/ 10280:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const SemVer = __nccwpck_require__(7163) const SemVer = __nccwpck_require__(7163)
const Comparator = __nccwpck_require__(89379) const Comparator = __nccwpck_require__(89379)
const { ANY } = Comparator const { ANY } = Comparator
@@ -67883,6 +68018,9 @@ module.exports = outside
/***/ 82028: /***/ 82028:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
// given a set of versions and a range, create a "simplified" range // given a set of versions and a range, create a "simplified" range
// that includes the same versions that the original range does // that includes the same versions that the original range does
// If the original range is shorter than the simplified one, return that. // If the original range is shorter than the simplified one, return that.
@@ -67937,6 +68075,9 @@ module.exports = (versions, range, options) => {
/***/ 61489: /***/ 61489:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const Range = __nccwpck_require__(96782) const Range = __nccwpck_require__(96782)
const Comparator = __nccwpck_require__(89379) const Comparator = __nccwpck_require__(89379)
const { ANY } = Comparator const { ANY } = Comparator
@@ -68191,6 +68332,9 @@ module.exports = subset
/***/ 54750: /***/ 54750:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const Range = __nccwpck_require__(96782) const Range = __nccwpck_require__(96782)
// Mostly just for testing and legacy API reasons // Mostly just for testing and legacy API reasons
@@ -68206,6 +68350,9 @@ module.exports = toComparators
/***/ 64737: /***/ 64737:
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { /***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
"use strict";
const Range = __nccwpck_require__(96782) const Range = __nccwpck_require__(96782)
const validRange = (range, options) => { const validRange = (range, options) => {
try { try {
@@ -98481,6 +98628,7 @@ const restoreCache = (packageManager, cacheDependencyPath) => __awaiter(void 0,
const primaryKey = `${keyPrefix}-${fileHash}`; const primaryKey = `${keyPrefix}-${fileHash}`;
core.debug(`primary key is ${primaryKey}`); core.debug(`primary key is ${primaryKey}`);
core.saveState(constants_1.State.CachePrimaryKey, primaryKey); core.saveState(constants_1.State.CachePrimaryKey, primaryKey);
core.setOutput('cache-key', primaryKey);
const isManagedByYarnBerry = yield (0, cache_utils_1.repoHasYarnBerryManagedDependencies)(packageManagerInfo, cacheDependencyPath); const isManagedByYarnBerry = yield (0, cache_utils_1.repoHasYarnBerryManagedDependencies)(packageManagerInfo, cacheDependencyPath);
let cacheKey; let cacheKey;
if (isManagedByYarnBerry) { if (isManagedByYarnBerry) {
@@ -98491,6 +98639,8 @@ const restoreCache = (packageManager, cacheDependencyPath) => __awaiter(void 0,
cacheKey = yield cache.restoreCache(cachePaths, primaryKey); cacheKey = yield cache.restoreCache(cachePaths, primaryKey);
} }
core.setOutput('cache-hit', Boolean(cacheKey)); core.setOutput('cache-hit', Boolean(cacheKey));
core.setOutput('cache-matched-key', cacheKey);
core.debug(`cache-matched-key is ${cacheKey}`);
if (!cacheKey) { if (!cacheKey) {
core.info(`${packageManager} cache is not found`); core.info(`${packageManager} cache is not found`);
return; return;
@@ -99646,6 +99796,9 @@ function run() {
yield (0, cache_restore_1.restoreCache)(cache, cacheDependencyPath); yield (0, cache_restore_1.restoreCache)(cache, cacheDependencyPath);
} }
else if (resolvedPackageManager && packagemanagercache) { else if (resolvedPackageManager && packagemanagercache) {
core.info("Detected package manager from package.json's packageManager field: " +
resolvedPackageManager +
'. Auto caching has been enabled for it. If you want to disable it, set package-manager-cache input to false');
core.saveState(constants_1.State.CachePackageManager, resolvedPackageManager); core.saveState(constants_1.State.CachePackageManager, resolvedPackageManager);
yield (0, cache_restore_1.restoreCache)(resolvedPackageManager, cacheDependencyPath); yield (0, cache_restore_1.restoreCache)(resolvedPackageManager, cacheDependencyPath);
} }

119
package-lock.json generated
View File

@@ -35,7 +35,7 @@
"jest-circus": "^29.7.0", "jest-circus": "^29.7.0",
"jest-each": "^29.7.0", "jest-each": "^29.7.0",
"prettier": "^2.8.4", "prettier": "^2.8.4",
"ts-jest": "^29.1.2", "ts-jest": "^29.4.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
}, },
"engines": { "engines": {
@@ -3504,6 +3504,28 @@
"integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
"dev": true "dev": true
}, },
"node_modules/handlebars": {
"version": "4.7.8",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz",
"integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==",
"dev": true,
"license": "MIT",
"dependencies": {
"minimist": "^1.2.5",
"neo-async": "^2.6.2",
"source-map": "^0.6.1",
"wordwrap": "^1.0.0"
},
"bin": {
"handlebars": "bin/handlebars"
},
"engines": {
"node": ">=0.4.7"
},
"optionalDependencies": {
"uglify-js": "^3.1.4"
}
},
"node_modules/has-flag": { "node_modules/has-flag": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -4601,6 +4623,16 @@
"node": "*" "node": "*"
} }
}, },
"node_modules/minimist": {
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/ms": { "node_modules/ms": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -4619,6 +4651,13 @@
"integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
"dev": true "dev": true
}, },
"node_modules/neo-async": {
"version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
"dev": true,
"license": "MIT"
},
"node_modules/node-fetch": { "node_modules/node-fetch": {
"version": "2.7.0", "version": "2.7.0",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
@@ -5185,9 +5224,9 @@
"integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA=="
}, },
"node_modules/semver": { "node_modules/semver": {
"version": "7.6.3", "version": "7.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
"license": "ISC", "license": "ISC",
"bin": { "bin": {
"semver": "bin/semver.js" "semver": "bin/semver.js"
@@ -5421,37 +5460,44 @@
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
}, },
"node_modules/ts-jest": { "node_modules/ts-jest": {
"version": "29.1.2", "version": "29.4.1",
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.4.1.tgz",
"integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==", "integrity": "sha512-SaeUtjfpg9Uqu8IbeDKtdaS0g8lS6FT6OzM3ezrDfErPJPHNDo/Ey+VFGP1bQIDfagYDLyRpd7O15XpG1Es2Uw==",
"dev": true, "dev": true,
"license": "MIT",
"dependencies": { "dependencies": {
"bs-logger": "0.x", "bs-logger": "^0.2.6",
"fast-json-stable-stringify": "2.x", "fast-json-stable-stringify": "^2.1.0",
"jest-util": "^29.0.0", "handlebars": "^4.7.8",
"json5": "^2.2.3", "json5": "^2.2.3",
"lodash.memoize": "4.x", "lodash.memoize": "^4.1.2",
"make-error": "1.x", "make-error": "^1.3.6",
"semver": "^7.5.3", "semver": "^7.7.2",
"yargs-parser": "^21.0.1" "type-fest": "^4.41.0",
"yargs-parser": "^21.1.1"
}, },
"bin": { "bin": {
"ts-jest": "cli.js" "ts-jest": "cli.js"
}, },
"engines": { "engines": {
"node": "^16.10.0 || ^18.0.0 || >=20.0.0" "node": "^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"@babel/core": ">=7.0.0-beta.0 <8", "@babel/core": ">=7.0.0-beta.0 <8",
"@jest/types": "^29.0.0", "@jest/transform": "^29.0.0 || ^30.0.0",
"babel-jest": "^29.0.0", "@jest/types": "^29.0.0 || ^30.0.0",
"jest": "^29.0.0", "babel-jest": "^29.0.0 || ^30.0.0",
"jest": "^29.0.0 || ^30.0.0",
"jest-util": "^29.0.0 || ^30.0.0",
"typescript": ">=4.3 <6" "typescript": ">=4.3 <6"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@babel/core": { "@babel/core": {
"optional": true "optional": true
}, },
"@jest/transform": {
"optional": true
},
"@jest/types": { "@jest/types": {
"optional": true "optional": true
}, },
@@ -5460,9 +5506,25 @@
}, },
"esbuild": { "esbuild": {
"optional": true "optional": true
},
"jest-util": {
"optional": true
} }
} }
}, },
"node_modules/ts-jest/node_modules/type-fest": {
"version": "4.41.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
"dev": true,
"license": "(MIT OR CC0-1.0)",
"engines": {
"node": ">=16"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/tslib": { "node_modules/tslib": {
"version": "2.6.2", "version": "2.6.2",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
@@ -5543,6 +5605,20 @@
"node": ">=14.17" "node": ">=14.17"
} }
}, },
"node_modules/uglify-js": {
"version": "3.19.3",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz",
"integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==",
"dev": true,
"license": "BSD-2-Clause",
"optional": true,
"bin": {
"uglifyjs": "bin/uglifyjs"
},
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/undici": { "node_modules/undici": {
"version": "5.29.0", "version": "5.29.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
@@ -5671,6 +5747,13 @@
"node": ">= 8" "node": ">= 8"
} }
}, },
"node_modules/wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==",
"dev": true,
"license": "MIT"
},
"node_modules/wrap-ansi": { "node_modules/wrap-ansi": {
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",

View File

@@ -54,7 +54,7 @@
"jest-circus": "^29.7.0", "jest-circus": "^29.7.0",
"jest-each": "^29.7.0", "jest-each": "^29.7.0",
"prettier": "^2.8.4", "prettier": "^2.8.4",
"ts-jest": "^29.1.2", "ts-jest": "^29.4.1",
"typescript": "^5.4.2" "typescript": "^5.4.2"
} }
} }

View File

@@ -45,6 +45,7 @@ export const restoreCache = async (
core.debug(`primary key is ${primaryKey}`); core.debug(`primary key is ${primaryKey}`);
core.saveState(State.CachePrimaryKey, primaryKey); core.saveState(State.CachePrimaryKey, primaryKey);
core.setOutput('cache-key', primaryKey);
const isManagedByYarnBerry = await repoHasYarnBerryManagedDependencies( const isManagedByYarnBerry = await repoHasYarnBerryManagedDependencies(
packageManagerInfo, packageManagerInfo,
@@ -61,6 +62,8 @@ export const restoreCache = async (
} }
core.setOutput('cache-hit', Boolean(cacheKey)); core.setOutput('cache-hit', Boolean(cacheKey));
core.setOutput('cache-matched-key', cacheKey);
core.debug(`cache-matched-key is ${cacheKey}`);
if (!cacheKey) { if (!cacheKey) {
core.info(`${packageManager} cache is not found`); core.info(`${packageManager} cache is not found`);

View File

@@ -67,6 +67,7 @@ const cachePackages = async (packageManager: string) => {
} }
core.info(`Cache saved with the key: ${primaryKey}`); core.info(`Cache saved with the key: ${primaryKey}`);
core.setOutput('cache-key', primaryKey);
}; };
run(true); run(true);

View File

@@ -73,6 +73,11 @@ export async function run() {
core.saveState(State.CachePackageManager, cache); core.saveState(State.CachePackageManager, cache);
await restoreCache(cache, cacheDependencyPath); await restoreCache(cache, cacheDependencyPath);
} else if (resolvedPackageManager && packagemanagercache) { } else if (resolvedPackageManager && packagemanagercache) {
core.info(
"Detected package manager from package.json's packageManager field: " +
resolvedPackageManager +
'. Auto caching has been enabled for it. If you want to disable it, set package-manager-cache input to false'
);
core.saveState(State.CachePackageManager, resolvedPackageManager); core.saveState(State.CachePackageManager, resolvedPackageManager);
await restoreCache(resolvedPackageManager, cacheDependencyPath); await restoreCache(resolvedPackageManager, cacheDependencyPath);
} }