{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es5",
        "lib": ["es2017", "dom", "esnext.asynciterable"],
        "experimentalDecorators": true,
        "downlevelIteration": true,
        "noImplicitReturns": true,
        "pretty": true,
        "skipLibCheck": true,
        "typeRoots": ["node_modules/@0x/typescript-typings/types", "node_modules/@types"],
        "strict": true,
        // These settings are required for TypeScript project references
        "composite": true,
        "declaration": true,
        "declarationMap": true,
        "sourceMap": true
    },
    // These are not working right now
    "exclude": ["./contracts/extensions/**/*"],
    // The root of the project is just a list of references and does not contain
    // any top-level TypeScript code.
    "include": [],
    "references": [
        { "path": "./contracts/asset-proxy" },
        { "path": "./contracts/erc20" },
        { "path": "./contracts/erc721" },
        { "path": "./contracts/exchange" },
        { "path": "./contracts/coordinator" },
        { "path": "./contracts/exchange-forwarder" },
        { "path": "./contracts/exchange-libs" },
        // { "path": "./contracts/extensions" },
        { "path": "./contracts/multisig" },
        { "path": "./contracts/test-utils" },
        { "path": "./contracts/utils" },
        { "path": "./contracts/dev-utils" },
        { "path": "./contracts/integrations" },
        { "path": "./packages/0x.js" },
        { "path": "./packages/abi-gen-wrappers" },
        { "path": "./packages/abi-gen" },
        { "path": "./packages/assert" },
        { "path": "./packages/asset-buyer" },
        { "path": "./packages/base-contract" },
        { "path": "./packages/connect" },
        { "path": "./packages/contract-addresses" },
        { "path": "./packages/contract-artifacts" },
        { "path": "./packages/contract-wrappers" },
        { "path": "./packages/contracts-gen" },
        { "path": "./packages/dev-utils" },
        { "path": "./packages/ethereum-types" },
        { "path": "./packages/json-schemas" },
        { "path": "./packages/migrations" },
        { "path": "./packages/monorepo-scripts" },
        { "path": "./packages/order-utils" },
        { "path": "./packages/sol-compiler" },
        { "path": "./packages/sol-coverage" },
        { "path": "./packages/sol-profiler" },
        { "path": "./packages/sol-trace" },
        { "path": "./packages/sol-tracing-utils" },
        { "path": "./packages/sol-resolver" },
        { "path": "./packages/sra-spec" },
        { "path": "./packages/subproviders" },
        { "path": "./packages/tslint-config" },
        { "path": "./packages/types" },
        { "path": "./packages/typescript-typings" },
        { "path": "./packages/utils" },
        { "path": "./packages/web3-wrapper" }
        // Skipping instant because it only produces a UMD bundle
        // which it uses webpack to create
        // { "path": "./packages/instant" },
    ]
}
