{ "compilerOptions": { "target": "es6", "outDir": "./dist", // choose our ECMA/JavaScript version (all modern browsers support ES6 so it's your best bet) "allowSyntheticDefaultImports": true, "lib": [ // choose our default ECMA/libraries to import "dom", // mandatory for all browser-based apps "es6" // mandatory for targeting ES6 ], "useDefineForClassFields": true, // enable latest ECMA runtime behavior with older ECMA/JavaScript versions (delete this line if target: "ESNext" or "ES2022"+) "module": "ESNext", // use the latest ECMA/JavaScript syntax for our import statements and such "moduleResolution": "node", // ensures we are using CommonJS for our npm packages "noResolve": false, // disable TypeScript from automatically detecting/adding files based on import statements and etc (it's less helpful than you think) "isolatedModules": false, // allows our code to be processed by other transpilers, such as preventing non-module TS files (you could delete this since we're only using base TypeScript) "removeComments": true, // remove comments from our outputted code to save on space (look into terser if you want to protect the outputted JS even more) "esModuleInterop": true, // treats non-ES6 modules separately from ES6 modules (helpful if module: "ESNext") "noImplicitAny": false, // usually prevents code from using "any" type fallbacks to prevent untraceable JS errors, but we'll need this disabled for our example code "noUnusedLocals": false, // usually raises an error for any unused local variables, but we'll need this disabled for our example code "noUnusedParameters": true, // raises an error for unused parameters "noImplicitReturns": true, // raises an error for functions that return nothing "skipLibCheck": true // skip type-checking of .d.ts files (it speeds up transpiling) }, "include": [ "src", "server" ], // specify location(s) of .ts files }