feat: add volta as node-version-file
This commit is contained in:
parent
7d610f0c26
commit
1a4ff5493d
|
@ -71862,7 +71862,8 @@ function run() {
|
||||||
exports.run = run;
|
exports.run = run;
|
||||||
function resolveVersionInput() {
|
function resolveVersionInput() {
|
||||||
let version = core.getInput('node-version');
|
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) {
|
if (version && versionFileInput) {
|
||||||
core.warning('Both node-version and node-version-file inputs are specified, only node-version will be used');
|
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)) {
|
if (!fs_1.default.existsSync(versionFilePath)) {
|
||||||
throw new Error(`The specified node version file at: ${versionFilePath} does not exist`);
|
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}`);
|
core.info(`Resolved ${versionFileInput} as ${version}`);
|
||||||
}
|
}
|
||||||
return version;
|
return version;
|
||||||
|
|
17
src/main.ts
17
src/main.ts
|
@ -65,7 +65,9 @@ export async function run() {
|
||||||
|
|
||||||
function resolveVersionInput(): string {
|
function resolveVersionInput(): string {
|
||||||
let version = core.getInput('node-version');
|
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) {
|
if (version && versionFileInput) {
|
||||||
core.warning(
|
core.warning(
|
||||||
|
@ -82,14 +84,21 @@ function resolveVersionInput(): string {
|
||||||
process.env.GITHUB_WORKSPACE!,
|
process.env.GITHUB_WORKSPACE!,
|
||||||
versionFileInput
|
versionFileInput
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!fs.existsSync(versionFilePath)) {
|
if (!fs.existsSync(versionFilePath)) {
|
||||||
throw new Error(
|
throw new Error(
|
||||||
`The specified node version file at: ${versionFilePath} does not exist`
|
`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}`);
|
core.info(`Resolved ${versionFileInput} as ${version}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
"rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
|
||||||
"sourceMap": true,
|
"sourceMap": true,
|
||||||
"strict": true, /* Enable all strict type-checking options. */
|
"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'. */
|
"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"]
|
"exclude": ["__tests__", "lib", "node_modules"]
|
||||||
|
|
Loading…
Reference in New Issue