{
    "compilerOptions": {
        "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
        "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
        "jsx": "react" /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */,
        "declaration": true /* Generates corresponding '.d.ts' file. */,

        "sourceMap": true /* Generates corresponding '.map' file. */,

        "outDir": "./lib" /* Redirect output structure to the directory. */,
        "rootDir": "./src" /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */,

        "isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */,

        "strict": true /* Enable all strict type-checking options. */,

        "baseUrl": "./src" /* Base directory to resolve non-absolute module names. */,
        "paths": {
            "@/*": ["./*"]
        } /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */,

        "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */,
        "skipLibCheck": true /* Skip type checking of declaration files. */,
        "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */,
        "plugins": [
            {
                "transform": "typescript-transform-paths"
            },
            {
                "transform": "typescript-transform-paths",
                "afterDeclarations": true
            }
        ]
    },
    "exclude": ["**/__tests__/*", "**/__sandbox__/*", "./lib", "jest.config.ts"]
}
