From ac75b9c0b3cf6124e157ce93ddf1b396724b33dc Mon Sep 17 00:00:00 2001 From: yijie4188 Date: Sun, 8 Oct 2023 16:02:29 +0800 Subject: [PATCH] chore: configure mocha --- .mocharc.js | 14 ++++++++++++++ package.json | 9 +++++---- pnpm-lock.yaml | 14 ++++++++++++++ tsconfig.test.json | 7 +++++++ 4 files changed, 40 insertions(+), 4 deletions(-) create mode 100644 .mocharc.js create mode 100644 tsconfig.test.json diff --git a/.mocharc.js b/.mocharc.js new file mode 100644 index 00000000..7d214be5 --- /dev/null +++ b/.mocharc.js @@ -0,0 +1,14 @@ +const path = require("node:path") + +process.env.TS_NODE_PROJECT = path.resolve(__dirname, 'tsconfig.test.json') + +window = {} + +module.exports = { + extension: [ 'ts', 'tsx' ], + require: [ + // 'tsconfig-paths/register', + 'esbuild-register' + // 'jsdom-global/register' + ] +} diff --git a/package.json b/package.json index d4094aa1..c0d7b0f5 100644 --- a/package.json +++ b/package.json @@ -23,28 +23,29 @@ "@babel/helper-plugin-utils": "^7.22.5", "@power-playground/core": "workspace:*", "@types/babel__helper-plugin-utils": "^7.10.0", + "@types/chai": "^4.3.6", + "@types/mocha": "^10.0.2", "@types/node": "^18.16.20", "@types/ramda": "^0.29.3", "@types/react": "^18.2.18", "@types/react-dom": "^18.2.6", - "@types/chai": "^4.3.6", - "@types/mocha": "^10.0.2", "@typescript-eslint/eslint-plugin": "^5.61.0", "@typescript-eslint/parser": "^5.61.0", "@vitejs/plugin-react": "^4.0.4", "@vscode/codicons": "^0.0.33", + "chai": "^4.3.10", "dotenv": "^16.3.1", + "esbuild-register": "^3.5.0", "eslint": "^8.44.0", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.3", "eslint-plugin-simple-import-sort": "^10.0.0", "fast-glob": "^3.3.1", + "mocha": "^10.2.0", "ramda": "^0.29.0", "react-toastify": "^9.1.3", "rollup-plugin-visualizer": "^5.9.2", - "chai": "^4.3.10", - "mocha": "^10.2.0", "sass": "^1.64.0", "sentinel-js": "^0.0.7", "typescript": "^5.3.0-beta", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a1e54c7..70653bb0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -95,6 +95,9 @@ importers: dotenv: specifier: ^16.3.1 version: 16.3.1 + esbuild-register: + specifier: ^3.5.0 + version: 3.5.0(esbuild@0.18.20) eslint: specifier: ^8.44.0 version: 8.49.0 @@ -1910,6 +1913,17 @@ packages: is-symbol: 1.0.4 dev: true + /esbuild-register@3.5.0(esbuild@0.18.20): + resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} + peerDependencies: + esbuild: '>=0.12 <1' + dependencies: + debug: 4.3.4(supports-color@8.1.1) + esbuild: 0.18.20 + transitivePeerDependencies: + - supports-color + dev: true + /esbuild@0.18.20: resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} diff --git a/tsconfig.test.json b/tsconfig.test.json new file mode 100644 index 00000000..95fde267 --- /dev/null +++ b/tsconfig.test.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "module": "CommonJS", + "resolveJsonModule": true + } +}