<!-- start pr-codex -->
## PR-Codex overview
This PR updates dependencies, TypeScript configurations, and package versions across multiple packages. It also refactors code in the `dashboard` app for improved functionality and type safety.
### Detailed summary
- Updated `next` version to `14.2.12` in `wallet-ui`, `playground-web`, and `portal`.
- Updated `@types/react` to `^18.3.7` in `wallet-ui`, `playground-web`, and `portal`.
- Updated `eslint` and related plugins in `dashboard` and `portal`.
- Refactored code in `dashboard` app for improved functionality and type safety.
- Updated `@walletconnect` packages to version `2.16.2` in `thirdweb`.
- Modified TypeScript configurations in `typedoc-gen` and `service-utils`.
- Updated `react-native-svg` to version `15.7.1` in `portal`.
- Updated `posthog-js` to version `1.161.6` in `wallet-ui` and `portal`.
- Updated `happy-dom` to version `^15.7.4` in `portal`.
- Updated `typescript` to version `5.6.2` in `typedoc-gen` and `dashboard`.
> The following files were skipped due to too many changes: `apps/dashboard/package.json`, `apps/dashboard/src/core-ui/sidebar/tunnel.tsx`, `apps/dashboard/src/@3rdweb-sdk/react/hooks/useLoggedInUser.ts`, `packages/typedoc-gen/tsconfig.base.json`, `packages/service-utils/tsconfig.base.json`, `packages/service-utils/package.json`, `pnpm-lock.yaml`
> ✨ Ask PR-Codex anything about this PR by commenting with `/codex {your question}`
<!-- end pr-codex -->
48 lines
2.3 KiB
JSON
48 lines
2.3 KiB
JSON
{
|
|
// This tsconfig file contains the shared config for the build (tsconfig.build.json) and type checking (tsconfig.json) config.
|
|
"include": [],
|
|
"compilerOptions": {
|
|
// Incremental builds
|
|
// NOTE: Enabling incremental builds speeds up `tsc`. Keep in mind though that it does not reliably bust the cache when the `tsconfig.json` file changes.
|
|
"incremental": false,
|
|
|
|
// Type checking
|
|
"strict": true,
|
|
"useDefineForClassFields": true, // Not enabled by default in `strict` mode unless we bump `target` to ES2022.
|
|
"noFallthroughCasesInSwitch": true, // Not enabled by default in `strict` mode.
|
|
"noImplicitReturns": true, // Not enabled by default in `strict` mode.
|
|
"useUnknownInCatchVariables": true, // TODO: This would normally be enabled in `strict` mode but would require some adjustments to the codebase.
|
|
"noImplicitOverride": true, // Not enabled by default in `strict` mode.
|
|
"noUnusedLocals": true, // Not enabled by default in `strict` mode.
|
|
"noUnusedParameters": true, // Not enabled by default in `strict` mode.
|
|
"exactOptionalPropertyTypes": false, // Not enabled by default in `strict` mode.
|
|
"noUncheckedIndexedAccess": true, // Not enabled by default in `strict` mode.
|
|
|
|
// JavaScript support
|
|
"allowJs": false,
|
|
"checkJs": false,
|
|
|
|
// Interop constraints
|
|
"esModuleInterop": false,
|
|
"allowSyntheticDefaultImports": true,
|
|
"forceConsistentCasingInFileNames": true,
|
|
"verbatimModuleSyntax": true,
|
|
"importHelpers": true, // This is only used for build validation. Since we do not have `tslib` installed, this will fail if we accidentally make use of anything that'd require injection of helpers.
|
|
|
|
// Language and environment
|
|
"moduleResolution": "NodeNext",
|
|
"module": "NodeNext",
|
|
"target": "ES2021", // Setting this to `ES2021` enables native support for `Node v16+`: https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping.
|
|
"lib": [
|
|
"ES2022", // By using ES2022 we get access to the `.cause` property on `Error` instances.
|
|
"DOM" // We are adding `DOM` here to get the `fetch`, etc. types. This should be removed once these types are available via DefinitelyTyped.
|
|
],
|
|
|
|
// Skip type checking for node modules
|
|
"skipLibCheck": true,
|
|
|
|
// jsx for "/react" portion
|
|
"jsx": "react-jsx"
|
|
}
|
|
}
|