From 49aefe72a7211be10c2bf553d3a8bf12c6217f98 Mon Sep 17 00:00:00 2001 From: Alex Plischke Date: Wed, 12 Jun 2024 17:14:59 -0700 Subject: [PATCH 1/3] build: downgrade to Node.js 20 --- .nvmrc | 2 +- package.json | 2 +- tsconfig.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.nvmrc b/.nvmrc index 53d1c14..9a2a0e2 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v22 +v20 diff --git a/package.json b/package.json index 8bc6f94..b8c36ea 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ ], "dependencies": { "@saucelabs/testcomposer": "3.0.0", - "@tsconfig/node22": "^22.0.0", + "@tsconfig/node20": "^20.1.4", "@types/shelljs": "^0.8.15", "dotenv": "16.4.5", "lodash": "4.17.21", diff --git a/tsconfig.json b/tsconfig.json index dd7a312..abf3904 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "@tsconfig/node22/tsconfig.json", + "extends": "@tsconfig/node20/tsconfig.json", "include": [ "src/**/*" ], From ab791e3dd9254e5cf6f2515782a5c0655a60cc4f Mon Sep 17 00:00:00 2001 From: Alex Plischke Date: Wed, 12 Jun 2024 17:15:49 -0700 Subject: [PATCH 2/3] deps: add @eslint/js --- package-lock.json | 28 +++++++++++++++++++--------- package.json | 1 + 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index ba71ac7..16df31e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "@saucelabs/testcomposer": "3.0.0", - "@tsconfig/node22": "^22.0.0", + "@tsconfig/node20": "^20.1.4", "@types/shelljs": "^0.8.15", "dotenv": "16.4.5", "lodash": "4.17.21", @@ -31,6 +31,7 @@ "@babel/core": "^7.24.7", "@babel/preset-env": "^7.24.7", "@babel/preset-typescript": "^7.24.7", + "@eslint/js": "^9.4.0", "@types/chai": "^4.3.16", "@types/jest": "^29.5.12", "@types/jquery": "^3.5.30", @@ -2199,12 +2200,12 @@ } }, "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.4.0.tgz", + "integrity": "sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@humanwhocodes/config-array": { @@ -3339,10 +3340,10 @@ "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==", "dev": true }, - "node_modules/@tsconfig/node22": { - "version": "22.0.0", - "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.0.tgz", - "integrity": "sha512-twLQ77zevtxobBOD4ToAtVmuYrpeYUh3qh+TEp+08IWhpsrIflVHqQ1F1CiPxQGL7doCdBIOOCF+1Tm833faNg==" + "node_modules/@tsconfig/node20": { + "version": "20.1.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.4.tgz", + "integrity": "sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==" }, "node_modules/@types/babel__core": { "version": "7.20.5", @@ -6208,6 +6209,15 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/eslint/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", diff --git a/package.json b/package.json index b8c36ea..e410ca1 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "@babel/core": "^7.24.7", "@babel/preset-env": "^7.24.7", "@babel/preset-typescript": "^7.24.7", + "@eslint/js": "^9.4.0", "@types/chai": "^4.3.16", "@types/jest": "^29.5.12", "@types/jquery": "^3.5.30", From b7d18b3aed8b768faa41e3ff07eab5d7640d2805 Mon Sep 17 00:00:00 2001 From: Alex Plischke Date: Thu, 13 Jun 2024 07:58:57 -0700 Subject: [PATCH 3/3] style: fix lint configuration --- eslint.config.js | 10 +++++----- src/testcafe-runner.ts | 2 ++ tests/unit/src/testcafe-runner.spec.ts | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 1ce6d58..0d7597d 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -7,11 +7,6 @@ module.exports = ts.config( js.configs.recommended, ...ts.configs.recommended, prettier, - { - plugins: { - jest: jest, - }, - }, { ignores: ['lib/**'], }, @@ -23,6 +18,10 @@ module.exports = ts.config( 'no-undef': 'warn', }, }, + { + files: ['tests/**/*.*js', 'tests/**/*.*ts'], + ...jest.configs['flat/recommended'], + }, { languageOptions: { globals: { @@ -31,6 +30,7 @@ module.exports = ts.config( exports: true, module: true, require: true, + process: true, }, }, }, diff --git a/src/testcafe-runner.ts b/src/testcafe-runner.ts index 4ff4832..aee803f 100644 --- a/src/testcafe-runner.ts +++ b/src/testcafe-runner.ts @@ -1,6 +1,8 @@ import { spawn } from 'child_process'; import path from 'path'; import fs from 'fs'; +import { URL } from 'node:url'; +import { setTimeout } from 'node:timers'; import { getArgs, loadRunConfig, diff --git a/tests/unit/src/testcafe-runner.spec.ts b/tests/unit/src/testcafe-runner.spec.ts index 246101f..79d1044 100644 --- a/tests/unit/src/testcafe-runner.spec.ts +++ b/tests/unit/src/testcafe-runner.spec.ts @@ -7,7 +7,7 @@ import { } from '../../../src/testcafe-runner'; import { Suite, CompilerOptions } from '../../../src/type'; -export interface ProcessEnv { +interface ProcessEnv { [key: string]: string | undefined; }