# Custom configuration

If you are in the process of migrating an existing project to use @workleap/typescript-configs or encountering a challenging situation that is not currently handled by this library, you might want to customize the default shared configurations.

# Change a default field value

You can update a default field value by defining the field locally with its new value:

tsconfig.json
{
    "extends": ["@workleap/typescript-configs/web-application"],
    "compilerOptions": {
        "strict": false
    },
    "exclude": ["dist", "node_modules"]
}

# Non ESM projects

If you are migrating an existing project and prefer to wait before moving to ESM, add the following custom configurations to allow import statements without specifying a file extension:

tsconfig.json
{
    "extends": ["@workleap/typescript-configs/web-application"],
    "compilerOptions": {
        "moduleResolution": "Bundler",
        "module": "ESNext",
    },
    "exclude": ["dist", "node_modules"]
}

# Start from scratch

If your situation is so challenging that you must start a new configuration from scratch, refer to the advanced composition page.