

The allowJs property is only needed if you have. The skipLibCheck property will make TypeScript skip the checking of any TypeScript declaration files in your dependencies and that speeds up the compile time. All the front-end code will be prepared by your bundler (and you’ll need to configure where it goes there). The outDir is only needed in production and only if you’re doing anything "server-side".

The jsx property is what will make TypeScript compile JSX into React.createElement calls. The module, moduleResolution, and esModuleInterop properties are to let TypeScript know that we’re executing things with Node and we’d like to use the import/ export syntax. You can use newer targets if you need to target just modern browsers and make your bundle size smaller.

The target property is what will make TypeScript compile the bleeding-edge JavaScript into the ES5 that all browsers support today.
