mirror of
https://code.forgejo.org/actions/setup-node
synced 2025-05-09 00:22:36 +00:00
new toolkit and scoped registries
This commit is contained in:
parent
a9f1343a9a
commit
feb12fe291
403 changed files with 81577 additions and 1990 deletions
44
node_modules/windows-release/index.js
generated
vendored
Normal file
44
node_modules/windows-release/index.js
generated
vendored
Normal file
|
@ -0,0 +1,44 @@
|
|||
'use strict';
|
||||
const os = require('os');
|
||||
const execa = require('execa');
|
||||
|
||||
// Reference: https://www.gaijin.at/en/lstwinver.php
|
||||
const names = new Map([
|
||||
['10.0', '10'],
|
||||
['6.3', '8.1'],
|
||||
['6.2', '8'],
|
||||
['6.1', '7'],
|
||||
['6.0', 'Vista'],
|
||||
['5.2', 'Server 2003'],
|
||||
['5.1', 'XP'],
|
||||
['5.0', '2000'],
|
||||
['4.9', 'ME'],
|
||||
['4.1', '98'],
|
||||
['4.0', '95']
|
||||
]);
|
||||
|
||||
const windowsRelease = release => {
|
||||
const version = /\d+\.\d/.exec(release || os.release());
|
||||
|
||||
if (release && !version) {
|
||||
throw new Error('`release` argument doesn\'t match `n.n`');
|
||||
}
|
||||
|
||||
const ver = (version || [])[0];
|
||||
|
||||
// Server 2008, 2012 and 2016 versions are ambiguous with desktop versions and must be detected at runtime.
|
||||
// If `release` is omitted or we're on a Windows system, and the version number is an ambiguous version
|
||||
// then use `wmic` to get the OS caption: https://msdn.microsoft.com/en-us/library/aa394531(v=vs.85).aspx
|
||||
// If the resulting caption contains the year 2008, 2012 or 2016, it is a server version, so return a server OS name.
|
||||
if ((!release || release === os.release()) && ['6.1', '6.2', '6.3', '10.0'].includes(ver)) {
|
||||
const stdout = execa.sync('wmic', ['os', 'get', 'Caption']).stdout || '';
|
||||
const year = (stdout.match(/2008|2012|2016/) || [])[0];
|
||||
if (year) {
|
||||
return `Server ${year}`;
|
||||
}
|
||||
}
|
||||
|
||||
return names.get(ver);
|
||||
};
|
||||
|
||||
module.exports = windowsRelease;
|
Loading…
Add table
Add a link
Reference in a new issue