{
    "compilerOptions": {
        "module": "NodeNext",
        "declaration": true,
        "declarationMap": true,
        "removeComments": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "allowSyntheticDefaultImports": true,
        "allowUnreachableCode": false,
        "allowUnusedLabels": false,
        "exactOptionalPropertyTypes": true,
        "noImplicitOverride": true,
        "noImplicitReturns": true,
        "noPropertyAccessFromIndexSignature": true,
        "noUncheckedIndexedAccess": true,
        "target": "ESNext",
        "sourceMap": true,
        "outDir": "./dist",
        "incremental": true,
        "skipLibCheck": true,
        "alwaysStrict": true,
        "strict": true,
        "useUnknownInCatchVariables": true,
        "noImplicitAny": true,
        "forceConsistentCasingInFileNames": true,
        "noFallthroughCasesInSwitch": true,
        "resolveJsonModule": true,
        "esModuleInterop": false,
        "baseUrl": ".",
        "paths": {
            "@platform/*": ["platform/*"],
            "@lib/*": ["lib/*"],
            "@bin/*": ["lib/bin/*"],
            "@cli/*": ["lib/cli/*"],
            "@core/*": ["lib/core/*"],
            "@errors/*": ["lib/errors/*"],
            "@factory/*": ["lib/factory/*"],
            "@generators/*": ["lib/generators/*"],
            "@messages/*": ["lib/messages/*"],
            "@logger/*": ["lib/logger/*"],
            "@patches/*": ["lib/patches/*"],
            "@prompts/*": ["lib/prompts/*"],
            "@tools/*": ["lib/tools/*"],
            "@interfaces/*": ["lib/interfaces/*"],
            "@transformers/*": ["lib/transformers/*"],
            "@testing/*": ["lib/testing/*"],

            "@specs/*": ["specs/*"],

            "@structure/*": ["structure/*"],

            "class-transformer/cjs/storage.js": ["lib/interfaces/interfaces.packages.d.ts"]
        }
    },
    "exclude": [
        "dist",
        "dist:specs",
        "dist:check",
        "node_modules",
        "docs"
    ],
    "include": [
        "lib/**/*",
        "lib/**/*.json",
        "lib/**/*.template",
        "specs/**/*"
    ]
}
