Skip to content

Commit

Permalink
feat: wip
Browse files Browse the repository at this point in the history
  • Loading branch information
AriPerkkio authored Dec 31, 2021
1 parent 223700c commit c7b883f
Show file tree
Hide file tree
Showing 8 changed files with 245 additions and 106 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ Check out the use case description from eslint-remote-tester's documentation: [P
| :-----------------------------: | :------------------: |
| `v1` | `1.0.1` or above |
| `v2` | `1.0.1` or above |
| `v3` | `2.1.0` or above |

## Configuration:

Expand Down
130 changes: 75 additions & 55 deletions dist/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -152,11 +152,11 @@ var require_core = __commonJS((exports2) => {
"use strict";
var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function(resolve) {
resolve(value);
return value instanceof P ? value : new P(function(resolve2) {
resolve2(value);
});
}
return new (P || (P = Promise))(function(resolve, reject) {
return new (P || (P = Promise))(function(resolve2, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
Expand All @@ -172,7 +172,7 @@ var require_core = __commonJS((exports2) => {
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
Expand Down Expand Up @@ -707,13 +707,13 @@ var require_http_client = __commonJS((exports2) => {
this.message = message;
}
readBody() {
return new Promise(async (resolve, reject) => {
return new Promise(async (resolve2, reject) => {
let output = Buffer.alloc(0);
this.message.on("data", (chunk) => {
output = Buffer.concat([output, chunk]);
});
this.message.on("end", () => {
resolve(output.toString());
resolve2(output.toString());
});
});
}
Expand Down Expand Up @@ -877,12 +877,12 @@ var require_http_client = __commonJS((exports2) => {
this._disposed = true;
}
requestRaw(info3, data) {
return new Promise((resolve, reject) => {
return new Promise((resolve2, reject) => {
let callbackForResult = function(err, res) {
if (err) {
reject(err);
}
resolve(res);
resolve2(res);
};
this.requestRawWithCallback(info3, data, callbackForResult);
});
Expand Down Expand Up @@ -1028,7 +1028,7 @@ var require_http_client = __commonJS((exports2) => {
_performExponentialBackoff(retryNumber) {
retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber);
const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber);
return new Promise((resolve) => setTimeout(() => resolve(), ms));
return new Promise((resolve2) => setTimeout(() => resolve2(), ms));
}
static dateTimeDeserializer(key, value) {
if (typeof value === "string") {
Expand All @@ -1040,15 +1040,15 @@ var require_http_client = __commonJS((exports2) => {
return value;
}
async _processResponse(res, options) {
return new Promise(async (resolve, reject) => {
return new Promise(async (resolve2, reject) => {
const statusCode = res.message.statusCode;
const response = {
statusCode,
result: null,
headers: {}
};
if (statusCode == HttpCodes.NotFound) {
resolve(response);
resolve2(response);
}
let obj;
let contents;
Expand Down Expand Up @@ -1078,7 +1078,7 @@ var require_http_client = __commonJS((exports2) => {
err.result = response.result;
reject(err);
} else {
resolve(response);
resolve2(response);
}
});
}
Expand Down Expand Up @@ -1904,7 +1904,7 @@ var require_lib = __commonJS((exports2) => {
let accum = [];
let accumBytes = 0;
let abort = false;
return new Body.Promise(function(resolve, reject) {
return new Body.Promise(function(resolve2, reject) {
let resTimeout;
if (_this4.timeout) {
resTimeout = setTimeout(function() {
Expand Down Expand Up @@ -1938,7 +1938,7 @@ var require_lib = __commonJS((exports2) => {
}
clearTimeout(resTimeout);
try {
resolve(Buffer.concat(accum, accumBytes));
resolve2(Buffer.concat(accum, accumBytes));
} catch (err) {
reject(new FetchError(`Could not create Buffer from response body for ${_this4.url}: ${err.message}`, "system", err));
}
Expand Down Expand Up @@ -2520,7 +2520,7 @@ var require_lib = __commonJS((exports2) => {
throw new Error("native promise missing, set fetch.Promise to your favorite alternative");
}
Body.Promise = fetch.Promise;
return new fetch.Promise(function(resolve, reject) {
return new fetch.Promise(function(resolve2, reject) {
const request = new Request(url, opts);
const options = getNodeRequestOptions(request);
const send = (options.protocol === "https:" ? import_https.default : import_http.default).request;
Expand Down Expand Up @@ -2618,7 +2618,7 @@ var require_lib = __commonJS((exports2) => {
requestOpts.body = void 0;
requestOpts.headers.delete("content-length");
}
resolve(fetch(new Request(locationURL, requestOpts)));
resolve2(fetch(new Request(locationURL, requestOpts)));
finalize();
return;
}
Expand All @@ -2640,7 +2640,7 @@ var require_lib = __commonJS((exports2) => {
const codings = headers.get("Content-Encoding");
if (!request.compress || request.method === "HEAD" || codings === null || res.statusCode === 204 || res.statusCode === 304) {
response = new Response(body, response_options);
resolve(response);
resolve2(response);
return;
}
const zlibOptions = {
Expand All @@ -2650,7 +2650,7 @@ var require_lib = __commonJS((exports2) => {
if (codings == "gzip" || codings == "x-gzip") {
body = body.pipe(import_zlib.default.createGunzip(zlibOptions));
response = new Response(body, response_options);
resolve(response);
resolve2(response);
return;
}
if (codings == "deflate" || codings == "x-deflate") {
Expand All @@ -2662,18 +2662,18 @@ var require_lib = __commonJS((exports2) => {
body = body.pipe(import_zlib.default.createInflateRaw());
}
response = new Response(body, response_options);
resolve(response);
resolve2(response);
});
return;
}
if (codings == "br" && typeof import_zlib.default.createBrotliDecompress === "function") {
body = body.pipe(import_zlib.default.createBrotliDecompress());
response = new Response(body, response_options);
resolve(response);
resolve2(response);
return;
}
response = new Response(body, response_options);
resolve(response);
resolve2(response);
});
writeToStream(req, request);
});
Expand Down Expand Up @@ -4499,11 +4499,11 @@ var require_io_util = __commonJS((exports2) => {
"use strict";
var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function(resolve) {
resolve(value);
return value instanceof P ? value : new P(function(resolve2) {
resolve2(value);
});
}
return new (P || (P = Promise))(function(resolve, reject) {
return new (P || (P = Promise))(function(resolve2, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
Expand All @@ -4519,7 +4519,7 @@ var require_io_util = __commonJS((exports2) => {
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
Expand Down Expand Up @@ -4671,11 +4671,11 @@ var require_io = __commonJS((exports2) => {
"use strict";
var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function(resolve) {
resolve(value);
return value instanceof P ? value : new P(function(resolve2) {
resolve2(value);
});
}
return new (P || (P = Promise))(function(resolve, reject) {
return new (P || (P = Promise))(function(resolve2, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
Expand All @@ -4691,7 +4691,7 @@ var require_io = __commonJS((exports2) => {
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
Expand Down Expand Up @@ -4899,11 +4899,11 @@ var require_toolrunner = __commonJS((exports2) => {
"use strict";
var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function(resolve) {
resolve(value);
return value instanceof P ? value : new P(function(resolve2) {
resolve2(value);
});
}
return new (P || (P = Promise))(function(resolve, reject) {
return new (P || (P = Promise))(function(resolve2, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
Expand All @@ -4919,7 +4919,7 @@ var require_toolrunner = __commonJS((exports2) => {
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
Expand Down Expand Up @@ -5147,7 +5147,7 @@ var require_toolrunner = __commonJS((exports2) => {
this.toolPath = path4.resolve(process.cwd(), this.options.cwd || process.cwd(), this.toolPath);
}
this.toolPath = yield io.which(this.toolPath, true);
return new Promise((resolve, reject) => {
return new Promise((resolve2, reject) => {
this._debug(`exec tool: ${this.toolPath}`);
this._debug("arguments:");
for (const arg of this.args) {
Expand Down Expand Up @@ -5227,7 +5227,7 @@ var require_toolrunner = __commonJS((exports2) => {
if (error2) {
reject(error2);
} else {
resolve(exitCode);
resolve2(exitCode);
}
});
if (this.options.input) {
Expand Down Expand Up @@ -5355,11 +5355,11 @@ var require_exec = __commonJS((exports2) => {
"use strict";
var __awaiter = exports2 && exports2.__awaiter || function(thisArg, _arguments, P, generator) {
function adopt(value) {
return value instanceof P ? value : new P(function(resolve) {
resolve(value);
return value instanceof P ? value : new P(function(resolve2) {
resolve2(value);
});
}
return new (P || (P = Promise))(function(resolve, reject) {
return new (P || (P = Promise))(function(resolve2, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
Expand All @@ -5375,7 +5375,7 @@ var require_exec = __commonJS((exports2) => {
}
}
function step(result) {
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
result.done ? resolve2(result.value) : adopt(result.value).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
Expand Down Expand Up @@ -5825,7 +5825,7 @@ var GithubClient = class {
}
};
async function sleep(timeMs) {
await new Promise((resolve) => setTimeout(resolve, timeMs));
await new Promise((resolve2) => setTimeout(resolve2, timeMs));
}
var github_client_default = new GithubClient();

Expand All @@ -5840,7 +5840,7 @@ var import_compare = __toModule(require_compare());
var core2 = __toModule(require_core());
var DEPENDENCY_TO_INFO = {
"eslint-remote-tester": {
minVersion: "1.0.1",
minVersion: "2.1.0",
exportPath: "eslint-remote-tester/dist/exports-for-compare-action",
packageJsonPath: "eslint-remote-tester/package.json",
bin: "eslint-remote-tester"
Expand Down Expand Up @@ -5868,21 +5868,13 @@ function requirePeerDependency(dependency) {
}

// src/run-tester.ts
var INTERNAL_CONFIG = "./eslint-remote-tester-runner-internal.config.js";
var INTERNAL_CONFIG = "./eslint-remote-tester-runner-internal.config";
var RESULTS_TMP = "/tmp/results.json";
var DEFAULT_CONFIG = {
cache: false,
CI: true
};
var CONFIGURATION_TEMPLATE = (pathToUsersConfiguration) => `// Generated by eslint-remote-tester-run-action
const fs = require('fs');
// Load user's eslint-remote-tester.config.js
const usersConfig = require('${pathToUsersConfiguration}');
module.exports = {
...usersConfig,
var CONFIGURATION_TEMPLATE_BASE = `
// Values from eslint-remote-tester-run-action's default configuration
...${JSON.stringify(DEFAULT_CONFIG, null, 4)},
Expand All @@ -5894,7 +5886,31 @@ module.exports = {
await usersConfig.onComplete(results, comparisonResults, repositoryCount);
}
}
`;
var CONFIGURATION_TEMPLATE_JS = (pathToUsersConfiguration) => `// Generated by eslint-remote-tester-run-action
const fs = require('fs');
// Load user's eslint-remote-tester.config.js
const usersConfig = require('${pathToUsersConfiguration}');
module.exports = {
...usersConfig,
${CONFIGURATION_TEMPLATE_BASE}
};
`;
var CONFIGURATION_TEMPLATE_TS = (pathToUsersConfiguration) => `// Generated by eslint-remote-tester-run-action
import fs from 'fs';
import type { Config } from 'eslint-remote-tester';
// Load user's eslint-remote-tester.config.ts
import usersConfig from '${pathToUsersConfiguration.replace(/\.ts$/, "")}';
const config: Config = {
...usersConfig,
${CONFIGURATION_TEMPLATE_BASE}
};
export default config;
`;
async function runTester(configLocation) {
const usersConfigLocation = import_path2.default.resolve(configLocation);
Expand All @@ -5904,16 +5920,20 @@ async function runTester(configLocation) {
if (!import_fs.default.existsSync(usersConfigLocation)) {
throw new Error(`Unable to find eslint-remote-tester config with path ${usersConfigLocation}`);
}
import_fs.default.writeFileSync(INTERNAL_CONFIG, CONFIGURATION_TEMPLATE(usersConfigLocation));
const extension = usersConfigLocation.split(".").pop();
const configTemplate = extension === "ts" ? CONFIGURATION_TEMPLATE_TS : CONFIGURATION_TEMPLATE_JS;
const createdConfig = `${INTERNAL_CONFIG}.${extension}`;
import_fs.default.writeFileSync(createdConfig, configTemplate(usersConfigLocation));
const {validateConfig} = requirePeerDependency("eslint-remote-tester");
let config;
try {
config = require(import_path2.default.resolve(INTERNAL_CONFIG));
const {loadConfig} = require(import_path2.resolve("./node_modules/eslint-remote-tester/dist/config/load"));
config = loadConfig(import_path2.default.resolve(createdConfig));
} catch (e) {
throw e;
}
const {validateConfig} = requirePeerDependency("eslint-remote-tester");
await validateConfig(config, false);
await import_exec.exec(`${ESLINT_REMOTE_TESTER_BIN} --config ${INTERNAL_CONFIG}`, [], {
await import_exec.exec(`${ESLINT_REMOTE_TESTER_BIN} --config ${createdConfig}`, [], {
ignoreReturnCode: true,
env: {...process.env, NODE_OPTIONS: "--max_old_space_size=5120"}
});
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"@actions/core": "^1.2.6",
"@actions/exec": "^1.0.4",
"@actions/github": "^4.0.0",
"eslint-remote-tester": "^1.2.0",
"eslint-remote-tester": "^2.1.0",
"semver": "^7.3.4"
},
"devDependencies": {
Expand Down
Loading

0 comments on commit c7b883f

Please sign in to comment.