mirror of
https://github.com/NuGet/setup-nuget.git
synced 2025-12-06 07:48:23 +08:00
meta: compile to ESNEXT to use native features
This commit is contained in:
@@ -72,7 +72,7 @@ describe('installer tests', () => {
|
|||||||
.get(PATH)
|
.get(PATH)
|
||||||
.once()
|
.once()
|
||||||
.reply(200, TOOLS_JSON);
|
.reply(200, TOOLS_JSON);
|
||||||
const p = url.parse(TOOLS_JSON['nuget.exe'][0].url).path ?? '';
|
const p = url.parse(TOOLS_JSON['nuget.exe'][0].url).path || '';
|
||||||
srv
|
srv
|
||||||
.get(p)
|
.get(p)
|
||||||
.once()
|
.once()
|
||||||
|
|||||||
@@ -1,13 +1,4 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
|
||||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
||||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
||||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
||||||
});
|
|
||||||
};
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
if (mod && mod.__esModule) return mod;
|
if (mod && mod.__esModule) return mod;
|
||||||
var result = {};
|
var result = {};
|
||||||
@@ -24,24 +15,22 @@ const tc = __importStar(require("@actions/tool-cache"));
|
|||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const pick_version_1 = __importDefault(require("./pick-version"));
|
const pick_version_1 = __importDefault(require("./pick-version"));
|
||||||
function install(spec = 'latest') {
|
async function install(spec = 'latest') {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
const tool = await pick_version_1.default(spec);
|
||||||
const tool = yield pick_version_1.default(spec);
|
core.debug(`Found NuGet version: ${tool.version}`);
|
||||||
core.debug(`Found NuGet version: ${tool.version}`);
|
let cachePath = await tc.find('nuget.exe', tool.version);
|
||||||
let cachePath = yield tc.find('nuget.exe', tool.version);
|
if (!cachePath) {
|
||||||
if (!cachePath) {
|
const nugetExePath = await tc.downloadTool(tool.url);
|
||||||
const nugetExePath = yield tc.downloadTool(tool.url);
|
cachePath = await tc.cacheFile(nugetExePath, 'nuget.exe', 'nuget.exe', tool.version);
|
||||||
cachePath = yield tc.cacheFile(nugetExePath, 'nuget.exe', 'nuget.exe', tool.version);
|
}
|
||||||
}
|
core.debug(`nuget.exe cache path: ${cachePath}.`);
|
||||||
core.debug(`nuget.exe cache path: ${cachePath}.`);
|
core.exportVariable('NUGET', `${cachePath}/nuget.exe`);
|
||||||
core.exportVariable('NUGET', `${cachePath}/nuget.exe`);
|
if (process.platform !== 'win32') {
|
||||||
if (process.platform !== 'win32') {
|
core.debug(`Creating dummy 'nuget' script.`);
|
||||||
core.debug(`Creating dummy 'nuget' script.`);
|
const scriptPath = path.join(cachePath, 'nuget');
|
||||||
const scriptPath = path.join(cachePath, 'nuget');
|
fs.writeFileSync(scriptPath, `#!/bin/sh\nmono ${path.join(cachePath, 'nuget.exe')} $@`);
|
||||||
fs.writeFileSync(scriptPath, `#!/bin/sh\nmono ${path.join(cachePath, 'nuget.exe')} $@`);
|
fs.chmodSync(scriptPath, '755');
|
||||||
fs.chmodSync(scriptPath, '755');
|
}
|
||||||
}
|
core.addPath(cachePath);
|
||||||
core.addPath(cachePath);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
exports.default = install;
|
exports.default = install;
|
||||||
|
|||||||
25
lib/main.js
25
lib/main.js
@@ -1,13 +1,4 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
|
||||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
||||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
||||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
||||||
});
|
|
||||||
};
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
if (mod && mod.__esModule) return mod;
|
if (mod && mod.__esModule) return mod;
|
||||||
var result = {};
|
var result = {};
|
||||||
@@ -21,14 +12,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const installer_1 = __importDefault(require("./installer"));
|
const installer_1 = __importDefault(require("./installer"));
|
||||||
function run() {
|
async function run() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
try {
|
||||||
try {
|
await installer_1.default(core.getInput('nuget-version'));
|
||||||
yield installer_1.default(core.getInput('nuget-version'));
|
}
|
||||||
}
|
catch (error) {
|
||||||
catch (error) {
|
core.setFailed(error.message);
|
||||||
core.setFailed(error.message);
|
}
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
run();
|
run();
|
||||||
|
|||||||
@@ -1,13 +1,4 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
|
||||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
||||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
||||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
||||||
});
|
|
||||||
};
|
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
if (mod && mod.__esModule) return mod;
|
if (mod && mod.__esModule) return mod;
|
||||||
var result = {};
|
var result = {};
|
||||||
@@ -24,44 +15,43 @@ var Stage;
|
|||||||
Stage["preview"] = "EarlyAccessPreview";
|
Stage["preview"] = "EarlyAccessPreview";
|
||||||
Stage["_released"] = "Released";
|
Stage["_released"] = "Released";
|
||||||
})(Stage || (Stage = {}));
|
})(Stage || (Stage = {}));
|
||||||
function pickVersion(spec) {
|
async function pickVersion(spec) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
spec = spec.trim();
|
||||||
spec = spec.trim();
|
let versions = await fetchVersions();
|
||||||
let versions = yield fetchVersions();
|
let range = semver.validRange(spec, true);
|
||||||
let range = semver.validRange(spec, true);
|
let selected;
|
||||||
let selected;
|
if (range) {
|
||||||
if (range) {
|
selected = versions.find(v => semver.satisfies(v.version, range, true));
|
||||||
selected = versions.find(v => semver.satisfies(v.version, range, true));
|
}
|
||||||
|
else {
|
||||||
|
let stage = spec == 'latest'
|
||||||
|
? Stage.latest
|
||||||
|
: spec == 'preview'
|
||||||
|
? Stage.preview
|
||||||
|
: null;
|
||||||
|
if (!stage) {
|
||||||
|
throw new Error(`Invalid release label: ${spec}. Valid labels are 'latest' and 'preview'.`);
|
||||||
}
|
}
|
||||||
else {
|
selected = versions.find(v => v.stage === stage);
|
||||||
let stage = spec == 'latest'
|
}
|
||||||
? Stage.latest
|
if (!selected) {
|
||||||
: spec == 'preview'
|
throw new Error(`No valid versions could be found for '${spec}'.`);
|
||||||
? Stage.preview
|
}
|
||||||
: null;
|
return selected;
|
||||||
if (!stage) {
|
|
||||||
throw new Error(`Invalid release label: ${spec}. Valid labels are 'latest' and 'preview'.`);
|
|
||||||
}
|
|
||||||
selected = versions.find(v => v.stage === stage);
|
|
||||||
}
|
|
||||||
if (!selected) {
|
|
||||||
throw new Error(`No valid versions could be found for '${spec}'.`);
|
|
||||||
}
|
|
||||||
return selected;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
exports.default = pickVersion;
|
exports.default = pickVersion;
|
||||||
function fetchVersions() {
|
async function fetchVersions() {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
const http = new rest.RestClient('nuget/setup-nuget-exe', undefined, undefined, {
|
||||||
const http = new rest.RestClient('nuget/setup-nuget-exe', undefined, undefined, {
|
allowRetries: true,
|
||||||
allowRetries: true,
|
maxRetries: 3
|
||||||
maxRetries: 3
|
});
|
||||||
});
|
return (await http
|
||||||
return (yield http
|
.get('https://dist.nuget.org/tools.json')
|
||||||
.get('https://dist.nuget.org/tools.json')
|
.then(j => j.result || { 'nuget.exe': [] })
|
||||||
.then(j => j.result || { 'nuget.exe': [] })
|
.then(n => n['nuget.exe'])).map(v => {
|
||||||
.then(n => n['nuget.exe'])).map(v => {
|
return {
|
||||||
return Object.assign(Object.assign({}, v), { uploaded: new Date(v.uploaded) });
|
...v,
|
||||||
});
|
uploaded: new Date(v.uploaded)
|
||||||
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
/* Basic Options */
|
/* Basic Options */
|
||||||
// "incremental": true, /* Enable incremental compilation */
|
// "incremental": true, /* Enable incremental compilation */
|
||||||
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
"target": "ESNEXT", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019' or 'ESNEXT'. */
|
||||||
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
|
"module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */
|
||||||
// "allowJs": true, /* Allow javascript files to be compiled. */
|
// "allowJs": true, /* Allow javascript files to be compiled. */
|
||||||
// "checkJs": true, /* Report errors in .js files. */
|
// "checkJs": true, /* Report errors in .js files. */
|
||||||
|
|||||||
Reference in New Issue
Block a user