2
0
Fork 0
mirror of https://github.com/discourse/discourse.git synced 2026-03-05 15:27:34 +08:00
discourse/frontend/discourse-types/tsconfig-plugin.json
Jarek Radosz d10c1e57e8
DEV: Overhaul typechecking configuration (#35794)
- Switches to typescript 'composite project' mode for improved
organization & performance
- Generates declarations from core modules, and outputs to a new
`@discourse/types` package
- Introduces tsconfigs for core plugins, which leans on that new
`@discourse/types` package
- In future, we plan to publish this discourse-types package for other
themes/plugins to use

The motivation at this stage is primarily to improve editor
autocompletion. We provide absolutely no guarantees about the accuracy
or stability of the generated types.

For now, some issues have been resolved by adding manual `@type`
declarations.

In particular, extensionless imports of `.gjs` files are broken when
running in composite-project mode, so in those cases we have to add
manual `@type {import("./the-file.gjs").default}` declarations.
Unfortunately this failure does not show up in IDEs. We hope to get this
resolved soon.

---------

Co-authored-by: David Taylor <david@taylorhq.com>
Co-authored-by: Chris Manson <chris@manson.ie>
2025-11-12 12:54:34 +00:00

16 lines
369 B
JSON

{
"compilerOptions": {
"target": "es2021",
"module": "nodenext",
"moduleResolution": "nodenext",
"experimentalDecorators": true,
"allowJs": true,
"skipLibCheck": true,
"noEmit": true,
"noEmitOnError": false,
"declaration": true,
"outDir": "declarations",
"composite": true,
"types": ["discourse/external-types"],
}
}