fix typing conflict between jest and cypress

Cypress and Jest both define "expect", but they come from different
libraries (Cypress uses Chai, Jest uses its own thing). So we can't
include both of them in the tsconfig.json. Conveniently, however, we
don't need any of the test code to be part of the main project, so
it suffices to give these things their own tsconfig.json files.

That being done, adding "jest" to the global types lets us remove all
those imports.
This commit is contained in:
JP Sugarbroad 2022-05-10 20:04:19 -07:00
parent ce888b757a
commit 01529a8347
13 changed files with 24 additions and 25 deletions

@ -57,6 +57,7 @@
"@types/bcryptjs": "^2.4.2", "@types/bcryptjs": "^2.4.2",
"@types/escodegen": "^0.0.7", "@types/escodegen": "^0.0.7",
"@types/file-saver": "^2.0.3", "@types/file-saver": "^2.0.3",
"@types/jest": "^27.4.1",
"@types/jquery": "^3.5.14", "@types/jquery": "^3.5.14",
"@types/lodash": "^4.14.168", "@types/lodash": "^4.14.168",
"@types/numeral": "^2.0.2", "@types/numeral": "^2.0.2",

@ -0,0 +1,9 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"checkJs": true,
"types": ["cypress", "@testing-library/cypress"]
},
"include": ["**/*"],
"exclude": []
}

@ -1,5 +1,3 @@
import { jest, describe, expect } from "@jest/globals";
import { Player } from "../../../src/Player"; import { Player } from "../../../src/Player";
import { NetscriptFunctions } from "../../../src/NetscriptFunctions"; import { NetscriptFunctions } from "../../../src/NetscriptFunctions";
import { getRamCost, RamCostConstants } from "../../../src/Netscript/RamCostGenerator"; import { getRamCost, RamCostConstants } from "../../../src/Netscript/RamCostGenerator";

@ -1,5 +1,3 @@
import { jest, describe, expect } from "@jest/globals";
import { Player } from "../../../src/Player"; import { Player } from "../../../src/Player";
import { getRamCost, RamCostConstants } from "../../../src/Netscript/RamCostGenerator"; import { getRamCost, RamCostConstants } from "../../../src/Netscript/RamCostGenerator";
import { calculateRamUsage } from "../../../src/Script/RamCalculations"; import { calculateRamUsage } from "../../../src/Script/RamCalculations";

@ -1,6 +1,3 @@
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import { describe, expect, jest } from "@jest/globals";
// Player is needed for calculating costs like Singularity functions, that depend on acquired source files // Player is needed for calculating costs like Singularity functions, that depend on acquired source files
import { Player } from "../../../src/Player"; import { Player } from "../../../src/Player";

@ -1,6 +1,3 @@
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import { jest, describe, expect, test } from "@jest/globals";
import { Script } from "../../../src/Script/Script"; import { Script } from "../../../src/Script/Script";
import { Player } from "../../../src/Player"; import { Player } from "../../../src/Player";

@ -1,6 +1,3 @@
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import { jest, describe, expect, test } from "@jest/globals";
import { CONSTANTS } from "../../src/Constants"; import { CONSTANTS } from "../../src/Constants";
import { Player } from "../../src/Player"; import { Player } from "../../src/Player";
import { IMap } from "../../src/types"; import { IMap } from "../../src/types";

@ -1,5 +1,3 @@
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import { jest, describe, expect, test } from "@jest/globals";
import { convertTimeMsToTimeElapsedString } from "../../src/utils/StringHelperFunctions"; import { convertTimeMsToTimeElapsedString } from "../../src/utils/StringHelperFunctions";
describe("StringHelperFunctions Tests", function () { describe("StringHelperFunctions Tests", function () {

@ -1,5 +1,3 @@
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import { jest, describe, expect, test } from "@jest/globals";
import * as dirHelpers from "../../../src/Terminal/DirectoryHelpers"; import * as dirHelpers from "../../../src/Terminal/DirectoryHelpers";
describe("Terminal Directory Tests", function () { describe("Terminal Directory Tests", function () {

@ -1,7 +1,5 @@
import { CityName } from "./../../../src/Locations/data/CityNames"; import { CityName } from "./../../../src/Locations/data/CityNames";
/* eslint-disable no-await-in-loop */ /* eslint-disable no-await-in-loop */
// eslint-disable-next-line @typescript-eslint/no-unused-vars
import { jest, describe, expect, test } from "@jest/globals";
import { Player } from "../../../src/Player"; import { Player } from "../../../src/Player";
import { determineAllPossibilitiesForTabCompletion } from "../../../src/Terminal/determineAllPossibilitiesForTabCompletion"; import { determineAllPossibilitiesForTabCompletion } from "../../../src/Terminal/determineAllPossibilitiesForTabCompletion";

@ -1,4 +1,3 @@
import { describe, expect, test } from "@jest/globals";
import { numeralWrapper } from "../../../src/ui/numeralFormat"; import { numeralWrapper } from "../../../src/ui/numeralFormat";
let decimalFormat = "0.[000000]"; let decimalFormat = "0.[000000]";

9
test/tsconfig.json Normal file

@ -0,0 +1,9 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"allowJs": true,
"types": ["jest"]
},
"include": ["**/*", "../src/**/*.d.ts"],
"exclude": ["cypress/**/*"]
}

@ -4,13 +4,13 @@
"esModuleInterop": true, "esModuleInterop": true,
"isolatedModules": true, "isolatedModules": true,
"jsx": "react", "jsx": "react",
"lib": ["es2016", "dom", "es2017.object", "es2019"],
"module": "commonjs", "module": "commonjs",
"target": "es6", "noEmit": true,
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true, "sourceMap": true,
"strict": true, "strict": true,
"resolveJsonModule": true, "target": "es2019"
"types": ["cypress", "@testing-library/cypress", "node"]
}, },
"exclude": ["node_modules"] "include": ["src/**/*"]
} }