1
0
Fork 0
mirror of https://github.com/actions/setup-node synced 2024-12-22 13:12:43 +00:00

feat: add volta as node-version-file

This commit is contained in:
Jef LeCompte 2022-06-29 12:01:42 -07:00
parent 7d610f0c26
commit 1a4ff5493d
No known key found for this signature in database
GPG key ID: 7F5BA322B5DC170C
4 changed files with 938 additions and 923 deletions

10
dist/setup/index.js vendored
View file

@ -71862,7 +71862,8 @@ function run() {
exports.run = run;
function resolveVersionInput() {
let version = core.getInput('node-version');
const versionFileInput = core.getInput('node-version-file');
const nodeVersionFile = core.getInput('node-version-file');
const versionFileInput = nodeVersionFile === 'volta' ? 'package.json' : nodeVersionFile;
if (version && versionFileInput) {
core.warning('Both node-version and node-version-file inputs are specified, only node-version will be used');
}
@ -71874,7 +71875,12 @@ function resolveVersionInput() {
if (!fs_1.default.existsSync(versionFilePath)) {
throw new Error(`The specified node version file at: ${versionFilePath} does not exist`);
}
version = installer.parseNodeVersionFile(fs_1.default.readFileSync(versionFilePath, 'utf8'));
if (nodeVersionFile === 'volta') {
version = JSON.parse(fs_1.default.readFileSync(versionFilePath, 'utf8')).volta.node;
}
else {
version = installer.parseNodeVersionFile(fs_1.default.readFileSync(versionFilePath, 'utf8'));
}
core.info(`Resolved ${versionFileInput} as ${version}`);
}
return version;

View file

@ -65,7 +65,9 @@ export async function run() {
function resolveVersionInput(): string {
let version = core.getInput('node-version');
const versionFileInput = core.getInput('node-version-file');
const nodeVersionFile = core.getInput('node-version-file');
const versionFileInput =
nodeVersionFile === 'volta' ? 'package.json' : nodeVersionFile;
if (version && versionFileInput) {
core.warning(
@ -82,14 +84,21 @@ function resolveVersionInput(): string {
process.env.GITHUB_WORKSPACE!,
versionFileInput
);
if (!fs.existsSync(versionFilePath)) {
throw new Error(
`The specified node version file at: ${versionFilePath} does not exist`
);
}
version = installer.parseNodeVersionFile(
fs.readFileSync(versionFilePath, 'utf8')
);
if (nodeVersionFile === 'volta') {
version = JSON.parse(fs.readFileSync(versionFilePath, 'utf8')).volta.node;
} else {
version = installer.parseNodeVersionFile(
fs.readFileSync(versionFilePath, 'utf8')
);
}
core.info(`Resolved ${versionFileInput} as ${version}`);
}

View file

@ -6,7 +6,7 @@
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
"sourceMap": true,
"strict": true, /* Enable all strict type-checking options. */
"noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */
"noImplicitAny": false, /* Raise error on expressions and declarations with an implied 'any' type. */
"esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
},
"exclude": ["__tests__", "lib", "node_modules"]