1
0
Fork 0

Compare commits

..

No commits in common. "ebde519925eed9bc47b42f3625cb54c2f03f0413" and "a8087243839f00c8e40738f96c2e212082d11123" have entirely different histories.

9 changed files with 3692 additions and 2934 deletions

6552
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -4,7 +4,6 @@
"description": "Compare various implementations of the WHATWG fetch API", "description": "Compare various implementations of the WHATWG fetch API",
"author": "Ambrose Chua", "author": "Ambrose Chua",
"license": "MIT", "license": "MIT",
"type": "module",
"scripts": { "scripts": {
"start": "node --loader ts-node/esm --no-warnings src/index.ts", "start": "node --loader ts-node/esm --no-warnings src/index.ts",
"type-check": "tsc --pretty --noEmit", "type-check": "tsc --pretty --noEmit",
@ -12,26 +11,26 @@
"lint": "xo" "lint": "xo"
}, },
"dependencies": { "dependencies": {
"@swc/core": "^1.2.140", "@swc/core": "^1.2.85",
"@wdio/logger": "^7.16.0", "@wdio/logger": "^7.7.0",
"chromedriver": "^98.0.1", "chromedriver": "^93.0.1",
"cli-table3": "^0.6.1", "cli-table3": "^0.6.0",
"geckodriver": "^3.0.1", "geckodriver": "^2.0.4",
"get-port": "^6.0.0", "get-port": "^5.1.1",
"koa": "^2.13.4", "koa": "^2.13.1",
"koa-files": "^2.0.0", "koa-files": "^1.0.3",
"node-fetch": "^3.2.0", "node-fetch": "^3.0.0",
"tcp-port-used": "^1.0.2", "tcp-port-used": "^1.0.2",
"ts-node": "^10.5.0", "ts-node": "^10.2.1",
"webdriver": "^7.16.14" "webdriver": "^7.12.2"
}, },
"devDependencies": { "devDependencies": {
"@types/koa": "^2.13.4", "@types/koa": "^2.13.4",
"@types/node": "^17.0.18", "@types/node": "^16.9.0",
"node-abort-controller": "^3.0.1", "node-abort-controller": "^3.0.0",
"prettier": "^2.5.1", "prettier": "^2.4.0",
"typescript": "^4.6.1-rc", "typescript": "^4.4.2",
"xo": "^0.48.0" "xo": "^0.44.0"
}, },
"prettier": { "prettier": {
"semi": true, "semi": true,
@ -44,8 +43,7 @@
"xo": { "xo": {
"prettier": true, "prettier": true,
"rules": { "rules": {
"unicorn/prefer-node-protocol": "off", "unicorn/prefer-node-protocol": "off"
"@typescript-eslint/naming-convention": "off"
}, },
"globals": [ "globals": [
"Deno", "Deno",

View File

@ -2,11 +2,11 @@
import {path as chromepath} from 'chromedriver'; import {path as chromepath} from 'chromedriver';
import {path as firefoxpath} from 'geckodriver'; import {path as firefoxpath} from 'geckodriver';
import {BrowserDriver} from './types.js'; import {BrowserDriver} from './types';
export const chrome: BrowserDriver = { export const chrome: BrowserDriver = {
path: chromepath as string, path: chromepath as string,
args(port: number, logLevel = 'warn') { args: (port: number, logLevel = 'warn') => {
const logLevelArg = { const logLevelArg = {
trace: 'ALL', trace: 'ALL',
debug: 'DEBUG', debug: 'DEBUG',
@ -24,7 +24,7 @@ export const chrome: BrowserDriver = {
}; };
export const firefox: BrowserDriver = { export const firefox: BrowserDriver = {
path: firefoxpath, path: firefoxpath,
args(port: number, logLevel = 'warn') { args: (port: number, logLevel = 'warn') => {
const logLevelArg = { const logLevelArg = {
trace: 'trace', trace: 'trace',
debug: 'debug', debug: 'debug',

View File

@ -1,16 +1,15 @@
import process from 'process'; import process from 'process';
import path from 'path'; import path from 'path';
import loggerCompat from '@wdio/logger'; import logger from '@wdio/logger';
import Table from 'cli-table3'; import Table from 'cli-table3';
import {Platform, Result, ResultObject, Context} from './types.js'; import {Platform, Result, ResultObject, Context} from './types';
import PlatformBrowser from './platform-browser.js'; import PlatformBrowser from './platform-browser';
import PlatformNode from './platform-node.js'; import PlatformNode from './platform-node';
import PlatformDeno from './platform-deno.js'; import PlatformDeno from './platform-deno';
import {chrome, firefox, safari} from './browser-drivers.js'; import {chrome, firefox, safari} from './browser-drivers';
import {FixturesServer} from './server.js'; import {FixturesServer} from './server';
const logger = loggerCompat.default
const log = logger('fetch-compare'); const log = logger('fetch-compare');
logger.setLevel('fetch-compare', 'warn'); logger.setLevel('fetch-compare', 'warn');

View File

@ -4,12 +4,10 @@ import path from 'path';
import getPort from 'get-port'; import getPort from 'get-port';
// @ts-expect-error: Missing types // @ts-expect-error: Missing types
import tcpPortUsed from 'tcp-port-used'; import tcpPortUsed from 'tcp-port-used';
import WebDriverCompat from 'webdriver'; import WebDriver from 'webdriver';
import {Platform, Context, Result, BrowserDriver} from './types.js'; import {Platform, Context, Result, BrowserDriver} from './types.js';
const WebDriver = WebDriverCompat.default
async function start( async function start(
driver: BrowserDriver, driver: BrowserDriver,
silent = false, silent = false,
@ -30,7 +28,7 @@ async function start(
child.once('error', reject); child.once('error', reject);
child.once('spawn', resolve); child.once('spawn', resolve);
}); });
// eslint-disable-next-line @typescript-eslint/no-unsafe-call // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
await tcpPortUsed.waitUntilUsed(port, 100, 10_000); await tcpPortUsed.waitUntilUsed(port, 100, 10_000);
return {child, port}; return {child, port};
} }

View File

@ -13,7 +13,7 @@ export default class PlatformDeno implements Platform {
const stdout = await new Promise<string>((resolve, reject) => { const stdout = await new Promise<string>((resolve, reject) => {
let stdout = ''; let stdout = '';
child.stdout.on('data', (data) => { child.stdout.on('data', (data) => {
stdout += data as string; stdout += data;
}); });
child.once('error', reject); child.once('error', reject);
child.once('exit', (code) => { child.once('exit', (code) => {

View File

@ -8,7 +8,7 @@ import {ServerAddress} from './types.js';
export class FixturesServer { export class FixturesServer {
private readonly koa: Koa; private readonly koa: Koa;
private server?: net.Server; private server: net.Server | null = null;
constructor(path: string) { constructor(path: string) {
this.koa = new Koa(); this.koa = new Koa();

View File

@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/ban-types */
export type ResultObject = export type ResultObject =
| string | string
| number | number

View File

@ -1,14 +1,14 @@
{ {
"compilerOptions": { "compilerOptions": {
"target": "es2020", "target": "es2020",
"module": "es2020",
"moduleResolution": "node",
"types": ["node"], "types": ["node"],
"esModuleInterop": true, "esModuleInterop": true,
"moduleResolution": "node",
"strict": true "strict": true
}, },
"exclude": ["node_modules"], "exclude": ["node_modules"],
"ts-node": { "ts-node": {
"swc": true "transpileOnly": true,
"transpiler": "ts-node/transpilers/swc-experimental"
} }
} }