{ "compilerOptions": { "baseUrl": ".", "paths": { // Allows for importing from `kibana` package for the exported types. "kibana": ["./kibana"], "ui/*": [ "src/ui/public/*" ], "test_utils/*": [ "src/test_utils/public/*" ] }, // Support .tsx files and transform JSX into calls to React.createElement "jsx": "react", // Enables all strict type checking options. "strict": true, // enables "core language features" "lib": [ // ESNext auto includes previous versions all the way back to es5 "esnext", // includes support for browser APIs "dom" ], // Node 8 should support everything output by esnext, we override this // in webpack with loader-level compiler options "target": "esnext", // Use commonjs for node, overridden in webpack to keep import statements // to maintain support for things like `await import()` "module": "commonjs", // Allows default imports from modules with no default export. This does not affect code emit, just type checking. // We have to enable this option explicitly since `esModuleInterop` doesn't enable it automatically when ES2015 or // ESNext module format is used. "allowSyntheticDefaultImports": true, // Emits __importStar and __importDefault helpers for runtime babel ecosystem compatibility. "esModuleInterop": true, // Resolve modules in the same way as Node.js. Aka make `require` works the // same in TypeScript as it does in Node.js. "moduleResolution": "node", // Disallow inconsistently-cased references to the same file. "forceConsistentCasingInFileNames": true, // Disable the breaking keyof behaviour introduced in TS 2.9.2 until EUI is updated to support that too "keyofStringsOnly": true, // Forbid unused local variables as the rule was deprecated by ts-lint "noUnusedLocals": true, // Provide full support for iterables in for..of, spread and destructuring when targeting ES5 or ES3. "downlevelIteration": true, // import tslib helpers rather than inlining helpers for iteration or spreading, for instance "importHelpers": true }, "include": [ "kibana.d.ts", "src/**/*", "typings/**/*", "test_utils/**/*" ], "exclude": [ "src/**/__fixtures__/**/*", // In the build we actually exclude **/public/**/* from this config so that // we can run the TSC on both this and the .browser version of this config // file, but if we did it during development IDEs would not be able to find // the tsconfig.json file for public files correctly. // "src/**/public/**/*" ] }