{
  "compilerOptions": {
    /* Visit https://aka.ms/tsconfig to read more about this file */

    "disableSolutionSearching": true,                   /* Opt a project out of multi-project reference checking when editing. */
    "composite": true,                                  /* Enable constraints that allow a TypeScript project to be compiled one file at a time. */
    /* Language and Environment */
    "target": "ESNext",                                  /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
    "outDir": "dist",
    /* Modules */
    "module": "CommonJS",                                /* Specify what module code is generated. */
    
    "esModuleInterop": true,                             /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */
    // "preserveSymlinks": true,                         /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */
    "forceConsistentCasingInFileNames": true,            /* Ensure that casing is correct in imports. */

    /* Type Checking */
    "strict": true,                                      /* Enable all strict type-checking options. */
    "strictBindCallApply": true,                         /* 检查 'bind', 'call', 和 'apply' 方法的参数是否与原始函数匹配。 */

    /* Completeness */
    "skipLibCheck": true,                                /* Skip type checking all .d.ts files. */
    "declaration": true,                                 /* Generates corresponding '.d.ts' file. */
  }
}
