23 lines
1.8 KiB
JSON
23 lines
1.8 KiB
JSON
{
|
|
"compilerOptions": {
|
|
"target": "es6", // choose our ECMA/JavaScript version (all modern browsers support ES6 so it's your best bet)
|
|
"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": true, // 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"] // specify location(s) of .ts files
|
|
}
|