{
    "compilerOptions": {
        "module": "commonjs",
        "target": "es5",
        "lib": ["es2017", "dom"],
        "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
    },
    // The root of the project is just a list of references and does not contain
    // any top-level TypeScript code.
    "include": [],
    "references": [
        { "path": "./contracts/examples" },
        { "path": "./contracts/extensions" },
        { "path": "./contracts/interfaces" },
        { "path": "./contracts/libs" },
        { "path": "./contracts/multisig" },
        { "path": "./contracts/protocol" },
        { "path": "./contracts/test-utils" },
        { "path": "./contracts/tokens" },
        { "path": "./contracts/utils" },
        { "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/dev-utils" },
        { "path": "./packages/ethereum-types" },
        { "path": "./packages/fill-scenarios" },
        { "path": "./packages/json-schemas" },
        { "path": "./packages/metacoin" },
        { "path": "./packages/migrations" },
        { "path": "./packages/monorepo-scripts" },
        { "path": "./packages/order-utils" },
        { "path": "./packages/order-watcher" },
        { "path": "./packages/pipeline" },
        { "path": "./packages/react-docs" },
        { "path": "./packages/react-shared" },
        { "path": "./packages/sol-compiler" },
        { "path": "./packages/sol-cov" },
        { "path": "./packages/sol-resolver" },
        { "path": "./packages/sra-spec" },
        { "path": "./packages/subproviders" },
        { "path": "./packages/testnet-faucets" },
        { "path": "./packages/tslint-config" },
        { "path": "./packages/types" },
        { "path": "./packages/typescript-typings" },
        { "path": "./packages/utils" },
        { "path": "./packages/web3-wrapper" }
        // Skipping website because it requires allowJs: false and this is
        // incompatible with project references.
        // { "path": "./packages/website" }
        // Skipping instant because it only produces a UMD bundle
        // which it uses webpack to create
        // { "path": "./packages/instant" },
    ]
}
