Files
metabase/tsconfig.json
Romeo Van Snick 13c0db3b5e Typescript 6 (#74140)
* Update to typescript 7.0 (beta)

* Update moduleResolution to bundler

* Switch to tsgo in scripts

* Remove unneeded ts-expect-error

* Add aliases for sdk framework imports

* Add aliases for node_modules types

* Resolve csstype to 3.2.3

* Resolve codemirror types since the package does not export .d.ts files

* Be more precise in SegmentedControl type

* Fix types in CssVarsDeclarationPlugin

* Use correct type for keys in WeakMap

* Use declare context instead of context! to narrow context type

* Import from top-level mantine package

* Remove unused card prop

* Add missing props

* Fix import

* Be more precise in SegmentedControl type

* Convert CardRenderer to TypeScript

* Remove unused @ts-expect-error

* Remove infinite type instantiations

* Do not use declare in type

* Set module to preserve for bundlers

* Add types for tinykeys

* Switch to TypeScript 6.0.3

* Switch back to tsc

* Resolve ts config path directly

* Update @microsoft/api-extractor

* Fix Modal types

* Remove redundant ext-apps ambient module shim

Under the old moduleResolution 'node', the package exports field was
ignored, so @modelcontextprotocol/ext-apps/react could not be resolved
to its real types and this ambient shim re-exported them from the deep
dist path.

With moduleResolution 'bundler', the subpath now resolves natively via
the exports map, while that same exports map blocks the deep dist import
the shim relied on. The shim therefore resolved to nothing and shadowed
the real module, breaking fe-type-check. Deleting it lets the native
types take over.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Remove deprecated baseUrl from next-15 host app tsconfigs

next build runs a full type-check using the repo's TypeScript (now 6.0),
which hard-errors (TS5101) on the deprecated baseUrl option. Both
next-15 production-bundle e2e jobs failed on it.

baseUrl is unnecessary here: the apps only use @/* path mappings and
real package imports, and under moduleResolution 'bundler' paths
resolve relative to the tsconfig location without baseUrl. This also
matches the modern create-next-app scaffold, which no longer emits it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Remove ts 7 from this branch

* Upgrade typescript-eslint to a version compatible with TS6

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-03 17:08:05 +10:00

54 lines
1.9 KiB
JSON

{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"incremental": true,
"tsBuildInfoFile": "node_modules/.cache/.tsbuildinfo",
"outDir": "build",
"paths": {
"*": [
"./frontend/src/*",
"./frontend/test/*",
"./enterprise/frontend/src/*",
"./enterprise/frontend/test/*"
],
"build-configs/*": ["./frontend/build/*"],
"cljs/*": ["./target/cljs_dev/*"],
"echarts/types/src/*": ["./node_modules/echarts/types/src/*"],
"zrender/lib/core/types": ["./node_modules/zrender/lib/core/types"],
"sdk-ee-plugins": ["./frontend/src/metabase/plugins/noop"],
"sdk-specific-imports": ["./frontend/src/metabase/utils/noop"],
"sdk-iframe-embedding-ee-plugins": ["./frontend/src/metabase/plugins/noop"],
"sdk-iframe-embedding-script-ee-plugins": ["./frontend/src/metabase/plugins/noop"],
"custom-viz": ["./enterprise/frontend/src/custom-viz/src/index.ts"]
},
"plugins": [
{
"name": "typescript-plugin-css-modules",
"options": {
"goToDefinition": true
}
}
]
},
"include": [
"frontend/src/**/*",
"frontend/build/**/*",
"enterprise/frontend/src/**/*",
"frontend/test/**/*",
"enterprise/frontend/test/**/*",
".github/scripts/**/*"
],
"exclude": [
"node_modules",
"enterprise/frontend/src/custom-viz",
// Vendored custom-viz plugin bundles (pre-built UMD) — opaque to
// type-checking; the surrounding story/helper handles the typing.
"frontend/test/__support__/custom-viz-fixtures/**/*.js",
// The following files will load `frontend/src/metabase/app` which will conflict with
// `frontend/src/metabase/App.tsx`, since now we're loading both JS and TS files.
"frontend/src/metabase/app-main.js",
"frontend/src/metabase/app-public.ts",
"frontend/src/metabase/app-embed.ts"
]
}