diff --git a/dotcom-rendering/src/components/FollowButtons.tsx b/dotcom-rendering/src/components/FollowButtons.tsx index f00f7088f81..194c02baa72 100644 --- a/dotcom-rendering/src/components/FollowButtons.tsx +++ b/dotcom-rendering/src/components/FollowButtons.tsx @@ -1,5 +1,5 @@ import { css } from '@emotion/react'; -import type { EmotionJSX } from '@emotion/react/types/jsx-namespace'; +import type { JSX } from '@emotion/react/jsx-runtime'; import { space, textSans15 } from '@guardian/source/foundations'; import { SvgCheckmark, @@ -11,8 +11,8 @@ import { palette } from '../palette'; type IconProps = { isFollowing?: boolean; - iconIsFollowing: EmotionJSX.Element; - iconIsNotFollowing: EmotionJSX.Element; + iconIsFollowing: JSX.Element; + iconIsNotFollowing: JSX.Element; }; const FollowIcon = ({ diff --git a/dotcom-rendering/src/components/marketing/lib/ReactComponent.tsx b/dotcom-rendering/src/components/marketing/lib/ReactComponent.tsx index f1d6d0e6800..ea9133ecb79 100644 --- a/dotcom-rendering/src/components/marketing/lib/ReactComponent.tsx +++ b/dotcom-rendering/src/components/marketing/lib/ReactComponent.tsx @@ -3,7 +3,7 @@ * This file was migrated from: * https://github.com/guardian/support-dotcom-components/blob/9c3eae7cb0b159db4a1c40679d6b37710b0bb937/packages/modules/src/types.ts#L12 */ -import type { EmotionJSX } from '@emotion/react/types/jsx-namespace'; +import type { JSX } from '@emotion/react/jsx-runtime'; // This type can be used in place of React.FC which was previously widespread // in this codebase but is no longer recommended. In many cases it's possible to @@ -17,4 +17,4 @@ import type { EmotionJSX } from '@emotion/react/types/jsx-namespace'; export type ReactComponent> = ( props: GenericProps, -) => EmotionJSX.Element; +) => JSX.Element; diff --git a/dotcom-rendering/src/components/marketing/shared/ModuleWrapper.tsx b/dotcom-rendering/src/components/marketing/shared/ModuleWrapper.tsx index 3c8ebda374a..01499241e78 100644 --- a/dotcom-rendering/src/components/marketing/shared/ModuleWrapper.tsx +++ b/dotcom-rendering/src/components/marketing/shared/ModuleWrapper.tsx @@ -3,12 +3,10 @@ * This file was migrated from: * https://github.com/guardian/support-dotcom-components/blob/a482b35a25ca59f66501c4de02de817046206298/packages/modules/src/modules/shared/ModuleWrapper.tsx */ -import type { EmotionJSX } from '@emotion/react/types/jsx-namespace'; +import type { JSX } from '@emotion/react/jsx-runtime'; import type { ReactComponent } from '../lib/ReactComponent'; -export function withParsedProps< - ModuleProps extends EmotionJSX.IntrinsicAttributes, ->( +export function withParsedProps( Module: ReactComponent, validate: (props: unknown) => props is ModuleProps, ): ReactComponent { diff --git a/dotcom-rendering/tsconfig.json b/dotcom-rendering/tsconfig.json index 3eefad9c55d..3159544138e 100644 --- a/dotcom-rendering/tsconfig.json +++ b/dotcom-rendering/tsconfig.json @@ -7,6 +7,7 @@ "jsx": "react-jsx", "jsxImportSource": "@emotion/react", "lib": ["esnext", "es2015", "dom"], + "moduleResolution": "bundler", "noEmit": true, "noFallthroughCasesInSwitch": true, "noUncheckedIndexedAccess": true, diff --git a/dotcom-rendering/webpack/webpack.config.dev-server.js b/dotcom-rendering/webpack/webpack.config.dev-server.js index c14f72a2f7b..13682fc463c 100644 --- a/dotcom-rendering/webpack/webpack.config.dev-server.js +++ b/dotcom-rendering/webpack/webpack.config.dev-server.js @@ -77,7 +77,6 @@ module.exports = { // webpack-hot-server-middleware needs to run after webpack-dev-middleware middlewares.push({ name: 'server', - // @ts-expect-error -- it’s a MultiCompiler middleware: webpackHotServerMiddleware(devServer.compiler, { chunkName: 'server', }), diff --git a/dotcom-rendering/webpack/webpack.config.js b/dotcom-rendering/webpack/webpack.config.js index b9df5279a26..71cab9922bf 100644 --- a/dotcom-rendering/webpack/webpack.config.js +++ b/dotcom-rendering/webpack/webpack.config.js @@ -71,7 +71,6 @@ const commonConfigs = ({ platform }) => ({ ...(DEV ? // DEV plugins [ - // @ts-expect-error -- somehow the type declaration isn’t playing nice new WebpackMessages({ name: platform, }),