From e2c14ebf9cb4f62d3d5eed63becd4cbf587485a4 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Mon, 18 Sep 2023 08:03:28 +0200 Subject: [PATCH] RSC: Use react/experimental types (#9196) Using these types both for RW the framework and RW apps https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react/experimental.d.ts This gives us proper types for `
{ }) }, }, + { + title: 'Add React experimental types', + task: async () => { + const tsconfigPath = path.join(rwPaths.web.base, 'tsconfig.json') + const tsconfig = JSON.parse(fs.readFileSync(tsconfigPath, 'utf-8')) + + if (tsconfig.compilerOptions.types.includes('react/experimental')) { + return + } + + tsconfig.compilerOptions.types.push('react/experimental') + + writeFile( + tsconfigPath, + prettify('tsconfig.json', JSON.stringify(tsconfig, null, 2)), + { + overwriteExisting: true, + } + ) + }, + }, { title: 'Patch vite', task: async () => { diff --git a/packages/vite/ambient.d.ts b/packages/vite/ambient.d.ts index 82550d6c10c7..d2b450c857c6 100644 --- a/packages/vite/ambient.d.ts +++ b/packages/vite/ambient.d.ts @@ -1,5 +1,5 @@ /* eslint-disable no-var */ -/// +/// import type { HelmetServerState } from 'react-helmet-async' declare global { diff --git a/packages/vite/src/fully-react/assets.tsx b/packages/vite/src/fully-react/assets.tsx index 3695ddb48a18..6aa11011a68c 100644 --- a/packages/vite/src/fully-react/assets.tsx +++ b/packages/vite/src/fully-react/assets.tsx @@ -52,7 +52,6 @@ export function Assets() { // Do we also need special code for SSR? // if (isClient) return - // @ts-expect-error Need experimental types here for this to work return }