Skip to main content

TSCONFIG_TEMPLATE

Constant TSCONFIG_TEMPLATE 

Source
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.