pub const TSCONFIG_TEMPLATE: &str = r#"{
// Editor-only config: it tells TypeScript / your IDE how to resolve and
// type-check the .tsx UI. superui's Rust transpiler is the real consumer of
// the source — nothing here affects the build or runtime.
"compilerOptions": {
"jsx": "preserve", // leave JSX untouched (no React runtime)
"module": "esnext", // use modern ES module syntax
"moduleResolution": "bundler", // resolve bare imports the way a bundler does
"target": "esnext", // don't down-level; we only type-check
"lib": ["ESNext", "DOM"], // std JS + web globals (document, console, fetch, timers)
"noEmit": true, // never emit output — editor concern only
"baseUrl": ".", // anchor the paths below to this folder
"paths": {
// map the bare `supersolid` import to its projected editor types
"supersolid": ["./superui_modules/supersolid/index.d.ts"],
// map the `superui/test` import to the projected test-framework types
"superui/test": ["./superui_modules/superui/test/index.d.ts"]
}
},
// files the language server should type-check: projected types, UI, and specs
"include": ["superui_modules/**/*.d.ts", "assets/**/*.ts", "assets/**/*.tsx", "tests/**/*.ts"]
}
"#;Expand description
tsconfig written verbatim when an app dir has none. Makes
import ... from "supersolid" resolve to the projected module.