TypeScript types do not correctly reflect runtime behavior for `AppType` parameters.
The issue involves incorrect TypeScript type application for `AppType` parameters, where `props.pageProps` is incorrectly typed instead of `props`. The fix requires aligning TypeScript types with runtime behavior, but the maintainer has indicated that `pageProps` should remain a property of `props`, suggesting a nuanced understanding of Next.js internals is needed.
sandbox@sse-sandbox-xhvisb:/sandbox$ yarn next info
yarn run v1.22.19
$ /sandbox/node_modules/.bin/next info
Operating System:
Platform: linux
Arch: x64
Version: #58~20.04.1-Ubuntu SMP Tue Jun 14 11:29:12 UTC 2022
Binaries:
Node: 14.19.3
npm: 6.14.17
Yarn: 1.22.19
pnpm: N/A
Relevant packages:
next: 13.0.3-canary.4
eslint-config-next: N/A
react: 18.2.0
react-dom: 18.2.0
warn - Latest canary version not detected, detected: "13.0.3-canary.4", newest: "13.0.3".
Please try the latest canary version (`npm install next@canary`) to confirm the issue still exists before creating a new issue.
Read more - https://nextjs.org/docs/messages/opening-an-issue
Done in 0.84s.
Note: warning at the end seems to be because I'm using next@canary (as instructed) but canary version is older than latest official release. My issue is present in either version.
Prop types defined by the parameter on AppType are incorrectly applied to MyApp's props.pageProps instead of MyApp's props.
Expected TS types to correctly reflect runtime types.
https://codesandbox.io/s/polished-tree-xhvisb?file=/pages/_app.tsx
There's a TS error on line 13, complaining Property 'foo' does not exist on type 'AppPropsType<any, MyInitialProps>', even though props.foo does exist at runtime.
Also, there's no TS error on line 14, even though props.pageProps.foo does not exist at runtime.
Claim this issue to let others know you're working on it. You'll earn 10 points when you complete it!