diff --git a/extensions/ql-vscode/__mocks__/react-dom/test-utils.js b/extensions/ql-vscode/__mocks__/react-dom/test-utils.js new file mode 100644 index 00000000000..375108585b6 --- /dev/null +++ b/extensions/ql-vscode/__mocks__/react-dom/test-utils.js @@ -0,0 +1,7 @@ +// Mock for react-dom/test-utils for React 19 compatibility +// In React 19, react-dom/test-utils is deprecated and act was moved to the react package. +const { act } = require("react"); + +module.exports = { + act, +}; diff --git a/extensions/ql-vscode/eslint.config.mjs b/extensions/ql-vscode/eslint.config.mjs index da96a4d7e9e..abd912ee481 100644 --- a/extensions/ql-vscode/eslint.config.mjs +++ b/extensions/ql-vscode/eslint.config.mjs @@ -27,6 +27,7 @@ export default tseslint.config( ".markdownlint-cli2.cjs", "eslint.config.mjs", "!.storybook", + "__mocks__/", ]), github.getFlatConfigs().recommended, ...github.getFlatConfigs().typescript, diff --git a/extensions/ql-vscode/package.json b/extensions/ql-vscode/package.json index 457517a66e2..747db220b9b 100644 --- a/extensions/ql-vscode/package.json +++ b/extensions/ql-vscode/package.json @@ -2036,7 +2036,7 @@ "watch": "gulp watch", "test": "npm-run-all test:*", "test:unit": "cross-env TZ=UTC LANG=en-US NODE_OPTIONS=--no-experimental-strip-types jest --projects test/unit-tests", - "test:view": "cross-env NODE_OPTIONS=--no-experimental-strip-types jest --projects src/view", + "test:view": "cross-env NODE_ENV=test NODE_OPTIONS=--no-experimental-strip-types jest --projects src/view", "test:vscode-integration": "npm-run-all test:vscode-integration:*", "test:vscode-integration:activated-extension": "cross-env NODE_OPTIONS=--no-experimental-strip-types jest --projects test/vscode-tests/activated-extension", "test:vscode-integration:no-workspace": "cross-env NODE_OPTIONS=--no-experimental-strip-types jest --projects test/vscode-tests/no-workspace", diff --git a/extensions/ql-vscode/src/view/jest.config.ts b/extensions/ql-vscode/src/view/jest.config.ts index c197b277e62..560aa0d4d35 100644 --- a/extensions/ql-vscode/src/view/jest.config.ts +++ b/extensions/ql-vscode/src/view/jest.config.ts @@ -86,6 +86,8 @@ const config: Config = { "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "/../../test/__mocks__/fileMock.ts", "\\.(css|less)$": "/../../test/__mocks__/styleMock.ts", + "^react-dom/test-utils$": + "/../../__mocks__/react-dom/test-utils.js", }, // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader