{ // Note that while we use TypeScript to type the codebase (GDJS game engine // and extension), we use esbuild to compile from TypeScript to JavaScript almost instantly. // See `GDJS/scripts/build.js`. "compilerOptions": { "noEmit": true, "allowJs": true, "noImplicitReturns": true, "noUnusedLocals": true, "noFallthroughCasesInSwitch": true, "strictNullChecks": true, "strictFunctionTypes": true, "strictPropertyInitialization": true, "skipLibCheck": true, // Not used (as we don't compile with tsc), but necessary for iterating on Map/Set. "downlevelIteration": true, // Required by PixiJS, for importing 3rd-party dependencies like EventEmitter3. "esModuleInterop": true, // Required by PixiJS, loaders needs this to use the more strict mini-signal types. "paths": { "mini-signals": [ "GDJS/node_modules/resource-loader/typings/mini-signals.d.ts" ] }, "baseUrl": "./", "lib": ["DOM", "ES5", "ScriptHost", "ES2015.Iterable", "ES2015.Promise", "ES2018.Promise"], "typeRoots": ["GDJS/node_modules/@types/"], // JSX syntax for lightweight rendering in the game engine: "jsx": "react", "jsxFactory": "h", "jsxFragmentFactory": "Fragment", "noImplicitAny": false }, "include": [ "GDevelop.js/types.d.ts", "GDJS/Runtime/**/*", "Extensions/**/*.js", "Extensions/**/*.ts", "GDJS/tests/tests/**/*.js", "GDJS/tests/tests-utils/**/*.js", "GDJS/tests/benchmarks/**/*.js" ], // Exclude pre-built js code "exclude": [ "GDJS/Runtime/pixi-renderers/pixi.js", "GDJS/Runtime/Cordova", "GDJS/Runtime/Electron", "GDJS/Runtime/FacebookInstantGames", "GDJS/Runtime/libs/CocoonJS", "Extensions/Effects/pixi-filters/filter-alpha.js", "SharedLibs/TileMapHelper/**/*", "Extensions/Spine/pixi-spine/pixi-spine.js", "Extensions/P2P/A_peer.js", "Extensions/Multiplayer/peer.js" ] }