tsconfig
Every app in a micro-frontend platform should be held to the same TypeScript rules, and changing a rule should be a one-line edit rather than a change in a dozen files. This feature makes every app extend one shared set of presets.
What you get
Each app gets a small tsconfig.json that extends a preset from @mfeflow/tsconfig, and a typecheck script. The presets turn on the strict checks that catch real bugs, such as unchecked array access and optional properties that are really undefined.
It is already there
You do not add this one. It is part of every project, so mfeflow init applies it and it is not offered as a choice. Features such as lint-oxlint and http list it as a requirement.
What it wrote:
Dev dependencies and scripts:
Use it
An app's file extends the preset and lists what to check.
The root file uses the Node preset.
Run the checks from the root. Each app runs tsc --noEmit, and the root script fans out through Turborepo.
Configure it
There are no install options. You choose a preset, and you override single compiler options in the app's own file.
Generated apps use react-app.json and the root uses node.json. The library preset is there for packages you publish.
How it works
The base preset targets ES2022 with bundler module resolution, and turns on these checks beyond strict:
Rsbuild does the building, so TypeScript only checks, which is why the app presets are noEmit. The package needs TypeScript 7 or newer as a peer dependency.
Gotchas
Add a new file or folder to include in the app's tsconfig.json, or the check will not see it.
Reference
- lint-oxlint, which reads the same TypeScript setup
- Project structure
- Upgrading
- feature.json reference