mirror of
https://github.com/actions/setup-node.git
synced 2026-09-27 05:06:58 +00:00
Compare commits
1 Commits
main
...
dependabot
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4d18f1b448 |
2
.github/workflows/e2e-cache.yml
vendored
2
.github/workflows/e2e-cache.yml
vendored
@@ -46,7 +46,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
|
||||
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
|
||||
with:
|
||||
version: 10
|
||||
- name: Generate pnpm file
|
||||
|
||||
@@ -10,7 +10,7 @@ allowed:
|
||||
- mit
|
||||
- cc0-1.0
|
||||
- unlicense
|
||||
- BlueOak-1.0.0
|
||||
- blueoak-1.0.0
|
||||
|
||||
reviewed:
|
||||
npm:
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
name: minimatch
|
||||
version: 10.2.6
|
||||
version: 10.2.5
|
||||
type: npm
|
||||
summary: a glob matcher in javascript
|
||||
homepage:
|
||||
license: BlueOak-1.0.0
|
||||
license: blueoak-1.0.0
|
||||
licenses:
|
||||
- sources: LICENSE.md
|
||||
text: |
|
||||
@@ -177,10 +177,6 @@ describe('main tests', () => {
|
||||
);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
jest.restoreAllMocks();
|
||||
});
|
||||
|
||||
each`
|
||||
contents | expected
|
||||
${'12'} | ${'12'}
|
||||
@@ -319,39 +315,11 @@ describe('main tests', () => {
|
||||
|
||||
// Assert
|
||||
expect(getNodeVersionFromFileSpy).toHaveBeenCalled();
|
||||
// A relative input is still resolved against the workspace.
|
||||
expect(getNodeVersionFromFileSpy).toHaveBeenCalledWith(
|
||||
path.join(process.env['GITHUB_WORKSPACE']!, '.nvmrc')
|
||||
);
|
||||
expect(infoSpy).toHaveBeenCalledWith(
|
||||
`Resolved ${inputs['node-version-file']} as ${expectedVersionSpec}`
|
||||
);
|
||||
}, 10000);
|
||||
|
||||
it('reads node-version-file given as an absolute path outside the workspace', async () => {
|
||||
// Arrange: a composite action passes `${{ github.action_path }}/.nvmrc`,
|
||||
// which is absolute and may sit outside GITHUB_WORKSPACE.
|
||||
// The workspace deliberately points at a different existing directory,
|
||||
// so the absolute version file lies outside it.
|
||||
const workspace = path.join(__dirname, 'mock');
|
||||
process.env['GITHUB_WORKSPACE'] = workspace;
|
||||
const versionFilePath = path.join(__dirname, 'data', '.nvmrc');
|
||||
// Guard the premise: the version file lives outside the workspace.
|
||||
expect(path.relative(workspace, versionFilePath).startsWith('..')).toBe(
|
||||
true
|
||||
);
|
||||
inputs['node-version-file'] = versionFilePath;
|
||||
|
||||
// Act
|
||||
await main.run();
|
||||
|
||||
// Assert: the path is used as provided and the real file is read.
|
||||
// The expected `24` comes from `__tests__/data/.nvmrc` (`v24`).
|
||||
expect(getNodeVersionFromFileSpy).toHaveBeenCalledWith(versionFilePath);
|
||||
expect(infoSpy).toHaveBeenCalledWith(`Resolved ${versionFilePath} as 24`);
|
||||
expect(core.setFailed as jest.Mock).not.toHaveBeenCalled();
|
||||
}, 10000);
|
||||
|
||||
it('should throw an error if node-version-file is not accessible', async () => {
|
||||
// Arrange
|
||||
inputs['node-version-file'] = 'non-existing-file';
|
||||
|
||||
19
dist/cache-save/index.js
vendored
19
dist/cache-save/index.js
vendored
@@ -39245,9 +39245,6 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@actions/cache","version":"6.
|
||||
/******/ }
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/ /* webpack/runtime/asset-relocator-loader */
|
||||
/******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = decodeURIComponent(new URL('.', import.meta.url).pathname).slice(import.meta.url.match(/^file:\/\/\/\w:/) ? 1 : 0, -1) + "/";
|
||||
/******/
|
||||
/******/ /* webpack/runtime/create fake namespace object */
|
||||
/******/ (() => {
|
||||
/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
|
||||
@@ -39306,6 +39303,10 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@actions/cache","version":"6.
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/compat */
|
||||
/******/
|
||||
/******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = new URL('.', import.meta.url).pathname.slice(import.meta.url.match(/^file:\/\/\/\w:/) ? 1 : 0, -1) + "/";
|
||||
/******/
|
||||
/************************************************************************/
|
||||
var __webpack_exports__ = {};
|
||||
|
||||
@@ -90093,7 +90094,7 @@ function expand_(str, max, maxLength, isTop) {
|
||||
return acc;
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/assert-valid-pattern.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js
|
||||
const MAX_PATTERN_LENGTH = 1024 * 64;
|
||||
const assertValidPattern = (pattern) => {
|
||||
if (typeof pattern !== 'string') {
|
||||
@@ -90104,7 +90105,7 @@ const assertValidPattern = (pattern) => {
|
||||
}
|
||||
};
|
||||
//# sourceMappingURL=assert-valid-pattern.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/brace-expressions.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/brace-expressions.js
|
||||
// translate the various posix character classes into unicode properties
|
||||
// this works across all unicode locales
|
||||
// { <posix class>: [<translation>, /u flag required, negated]
|
||||
@@ -90251,7 +90252,7 @@ const parseClass = (glob, position) => {
|
||||
return [comb, uflag, endPos - pos, true];
|
||||
};
|
||||
//# sourceMappingURL=brace-expressions.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/unescape.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/unescape.js
|
||||
/**
|
||||
* Un-escape a string that has been escaped with {@link escape}.
|
||||
*
|
||||
@@ -90286,7 +90287,7 @@ const unescape_unescape = (s, { windowsPathsNoEscape = false, magicalBraces = tr
|
||||
.replace(/\\([^/{}])/g, '$1');
|
||||
};
|
||||
//# sourceMappingURL=unescape.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/ast.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/ast.js
|
||||
// parse a single path portion
|
||||
var _a;
|
||||
|
||||
@@ -91128,7 +91129,7 @@ class AST {
|
||||
}
|
||||
_a = AST;
|
||||
//# sourceMappingURL=ast.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/escape.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/escape.js
|
||||
/**
|
||||
* Escape all magic characters in a glob pattern.
|
||||
*
|
||||
@@ -91155,7 +91156,7 @@ const escape_escape = (s, { windowsPathsNoEscape = false, magicalBraces = false,
|
||||
: s.replace(/[?*()[\]\\]/g, '\\$&');
|
||||
};
|
||||
//# sourceMappingURL=escape.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/index.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/index.js
|
||||
|
||||
|
||||
|
||||
|
||||
23
dist/setup/index.js
vendored
23
dist/setup/index.js
vendored
@@ -40263,9 +40263,6 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@actions/cache","version":"6.
|
||||
/******/ }
|
||||
/******/
|
||||
/************************************************************************/
|
||||
/******/ /* webpack/runtime/asset-relocator-loader */
|
||||
/******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = decodeURIComponent(new URL('.', import.meta.url).pathname).slice(import.meta.url.match(/^file:\/\/\/\w:/) ? 1 : 0, -1) + "/";
|
||||
/******/
|
||||
/******/ /* webpack/runtime/compat get default export */
|
||||
/******/ (() => {
|
||||
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
||||
@@ -40336,6 +40333,10 @@ module.exports = /*#__PURE__*/JSON.parse('{"name":"@actions/cache","version":"6.
|
||||
/******/ };
|
||||
/******/ })();
|
||||
/******/
|
||||
/******/ /* webpack/runtime/compat */
|
||||
/******/
|
||||
/******/ if (typeof __nccwpck_require__ !== 'undefined') __nccwpck_require__.ab = new URL('.', import.meta.url).pathname.slice(import.meta.url.match(/^file:\/\/\/\w:/) ? 1 : 0, -1) + "/";
|
||||
/******/
|
||||
/************************************************************************/
|
||||
var __webpack_exports__ = {};
|
||||
|
||||
@@ -95461,7 +95462,7 @@ function expand_(str, max, maxLength, isTop) {
|
||||
return acc;
|
||||
}
|
||||
//# sourceMappingURL=index.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/assert-valid-pattern.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/assert-valid-pattern.js
|
||||
const MAX_PATTERN_LENGTH = 1024 * 64;
|
||||
const assertValidPattern = (pattern) => {
|
||||
if (typeof pattern !== 'string') {
|
||||
@@ -95472,7 +95473,7 @@ const assertValidPattern = (pattern) => {
|
||||
}
|
||||
};
|
||||
//# sourceMappingURL=assert-valid-pattern.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/brace-expressions.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/brace-expressions.js
|
||||
// translate the various posix character classes into unicode properties
|
||||
// this works across all unicode locales
|
||||
// { <posix class>: [<translation>, /u flag required, negated]
|
||||
@@ -95619,7 +95620,7 @@ const parseClass = (glob, position) => {
|
||||
return [comb, uflag, endPos - pos, true];
|
||||
};
|
||||
//# sourceMappingURL=brace-expressions.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/unescape.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/unescape.js
|
||||
/**
|
||||
* Un-escape a string that has been escaped with {@link escape}.
|
||||
*
|
||||
@@ -95654,7 +95655,7 @@ const unescape_unescape = (s, { windowsPathsNoEscape = false, magicalBraces = tr
|
||||
.replace(/\\([^/{}])/g, '$1');
|
||||
};
|
||||
//# sourceMappingURL=unescape.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/ast.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/ast.js
|
||||
// parse a single path portion
|
||||
var _a;
|
||||
|
||||
@@ -96496,7 +96497,7 @@ class AST {
|
||||
}
|
||||
_a = AST;
|
||||
//# sourceMappingURL=ast.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/escape.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/escape.js
|
||||
/**
|
||||
* Escape all magic characters in a glob pattern.
|
||||
*
|
||||
@@ -96523,7 +96524,7 @@ const escape_escape = (s, { windowsPathsNoEscape = false, magicalBraces = false,
|
||||
: s.replace(/[?*()[\]\\]/g, '\\$&');
|
||||
};
|
||||
//# sourceMappingURL=escape.js.map
|
||||
;// CONCATENATED MODULE: ./node_modules/minimatch/dist/esm/index.js
|
||||
;// CONCATENATED MODULE: ./node_modules/@actions/glob/node_modules/minimatch/dist/esm/index.js
|
||||
|
||||
|
||||
|
||||
@@ -101351,9 +101352,7 @@ function resolveVersionInput() {
|
||||
return version;
|
||||
}
|
||||
if (versionFileInput) {
|
||||
// `path.resolve` (unlike `path.join`) keeps an already-absolute input as-is,
|
||||
// so a composite action can pass `${{ github.action_path }}/.nvmrc`.
|
||||
const versionFilePath = external_path_.resolve(process.env.GITHUB_WORKSPACE, versionFileInput);
|
||||
const versionFilePath = external_path_.join(process.env.GITHUB_WORKSPACE, versionFileInput);
|
||||
const parsedVersion = getNodeVersionFromFile(versionFilePath);
|
||||
if (parsedVersion) {
|
||||
version = parsedVersion;
|
||||
|
||||
@@ -79,7 +79,7 @@ steps:
|
||||
The `node-version-file` input accepts a path to a file containing the version of Node.js to be used by a project, for example `.nvmrc`, `.node-version`, `.tool-versions`, `mise.toml`, or `package.json`. If both the `node-version` and the `node-version-file` inputs are provided then the `node-version` input is used.
|
||||
See [supported version syntax](https://github.com/actions/setup-node#supported-version-syntax).
|
||||
|
||||
> The action resolves a relative `node-version-file` path against `GITHUB_WORKSPACE`, which is the repository root by default. If the input is a full absolute path, the action uses that path directly instead of appending it to the workspace.
|
||||
> The action will search for the node version file relative to the repository root.
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
|
||||
1057
package-lock.json
generated
1057
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -47,10 +47,10 @@
|
||||
"@eslint/js": "^10.0.1",
|
||||
"@jest/globals": "^30.4.1",
|
||||
"@types/node": "^24.1.0",
|
||||
"@types/semver": "^7.8.0",
|
||||
"@types/semver": "^7.7.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.62.0",
|
||||
"@typescript-eslint/parser": "^8.70.0",
|
||||
"@vercel/ncc": "^0.45.0",
|
||||
"@typescript-eslint/parser": "^8.62.0",
|
||||
"@vercel/ncc": "^0.44.0",
|
||||
"eslint": "^10.5.0",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-plugin-jest": "^29.15.2",
|
||||
@@ -60,6 +60,6 @@
|
||||
"jest-each": "^30.4.1",
|
||||
"prettier": "^3.9.6",
|
||||
"ts-jest": "^29.4.11",
|
||||
"typescript": "^6.0.3"
|
||||
"typescript": "^7.0.2"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,9 +120,7 @@ function resolveVersionInput(): string {
|
||||
}
|
||||
|
||||
if (versionFileInput) {
|
||||
// `path.resolve` (unlike `path.join`) keeps an already-absolute input as-is,
|
||||
// so a composite action can pass `${{ github.action_path }}/.nvmrc`.
|
||||
const versionFilePath = path.resolve(
|
||||
const versionFilePath = path.join(
|
||||
process.env.GITHUB_WORKSPACE!,
|
||||
versionFileInput
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user