meta: compile to ESNEXT to use native features

This commit is contained in:
Kat Marchán
2019-11-14 23:41:24 -08:00
parent c3603d5cd0
commit 2842128e77
5 changed files with 61 additions and 93 deletions

View File

@@ -72,7 +72,7 @@ describe('installer tests', () => {
.get(PATH)
.once()
.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
.get(p)
.once()

View File

@@ -1,13 +1,4 @@
"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) {
if (mod && mod.__esModule) return mod;
var result = {};
@@ -24,14 +15,13 @@ const tc = __importStar(require("@actions/tool-cache"));
const fs = __importStar(require("fs"));
const path = __importStar(require("path"));
const pick_version_1 = __importDefault(require("./pick-version"));
function install(spec = 'latest') {
return __awaiter(this, void 0, void 0, function* () {
const tool = yield pick_version_1.default(spec);
async function install(spec = 'latest') {
const tool = await pick_version_1.default(spec);
core.debug(`Found NuGet version: ${tool.version}`);
let cachePath = yield tc.find('nuget.exe', tool.version);
let cachePath = await tc.find('nuget.exe', tool.version);
if (!cachePath) {
const nugetExePath = yield tc.downloadTool(tool.url);
cachePath = yield tc.cacheFile(nugetExePath, 'nuget.exe', 'nuget.exe', tool.version);
const nugetExePath = await tc.downloadTool(tool.url);
cachePath = await tc.cacheFile(nugetExePath, 'nuget.exe', 'nuget.exe', tool.version);
}
core.debug(`nuget.exe cache path: ${cachePath}.`);
core.exportVariable('NUGET', `${cachePath}/nuget.exe`);
@@ -42,6 +32,5 @@ function install(spec = 'latest') {
fs.chmodSync(scriptPath, '755');
}
core.addPath(cachePath);
});
}
exports.default = install;

View File

@@ -1,13 +1,4 @@
"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) {
if (mod && mod.__esModule) return mod;
var result = {};
@@ -21,14 +12,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
Object.defineProperty(exports, "__esModule", { value: true });
const core = __importStar(require("@actions/core"));
const installer_1 = __importDefault(require("./installer"));
function run() {
return __awaiter(this, void 0, void 0, function* () {
async function run() {
try {
yield installer_1.default(core.getInput('nuget-version'));
await installer_1.default(core.getInput('nuget-version'));
}
catch (error) {
core.setFailed(error.message);
}
});
}
run();

View File

@@ -1,13 +1,4 @@
"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) {
if (mod && mod.__esModule) return mod;
var result = {};
@@ -24,10 +15,9 @@ var Stage;
Stage["preview"] = "EarlyAccessPreview";
Stage["_released"] = "Released";
})(Stage || (Stage = {}));
function pickVersion(spec) {
return __awaiter(this, void 0, void 0, function* () {
async function pickVersion(spec) {
spec = spec.trim();
let versions = yield fetchVersions();
let versions = await fetchVersions();
let range = semver.validRange(spec, true);
let selected;
if (range) {
@@ -48,20 +38,20 @@ function pickVersion(spec) {
throw new Error(`No valid versions could be found for '${spec}'.`);
}
return selected;
});
}
exports.default = pickVersion;
function fetchVersions() {
return __awaiter(this, void 0, void 0, function* () {
async function fetchVersions() {
const http = new rest.RestClient('nuget/setup-nuget-exe', undefined, undefined, {
allowRetries: true,
maxRetries: 3
});
return (yield http
return (await http
.get('https://dist.nuget.org/tools.json')
.then(j => j.result || { 'nuget.exe': [] })
.then(n => n['nuget.exe'])).map(v => {
return Object.assign(Object.assign({}, v), { uploaded: new Date(v.uploaded) });
});
return {
...v,
uploaded: new Date(v.uploaded)
};
});
}

View File

@@ -2,7 +2,7 @@
"compilerOptions": {
/* Basic Options */
// "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'. */
// "allowJs": true, /* Allow javascript files to be compiled. */
// "checkJs": true, /* Report errors in .js files. */