Skip to content

Encapsulate Kit-specific TypeScript config behind extends #3846

@Rich-Harris

Description

@Rich-Harris

Describe the problem

Follow-up to the discussion in #3064. The tsconfig.json that gets created with a new project has a variety of Kit-specific properties. It's fine, but it we add new config over time it won't be reflected in existing projects, and it feels a bit untidy/brittle to have things the kit.files.lib config be duplicated in the tsconfig.json paths config.

Describe the proposed solution

It might be better to have "extends": "[something]" where Kit-specific config is contained in [something]. The simplest version of this would be something along the lines of @sveltejs/kit/tsconfig, but that has the drawback of not being able to contain app-specific types (like aliases derived from svelte.config.js, or other generated types — #647). Extending from .svelte-kit/tsconfig.json is a possibility, but a) it's a bit ugly and b) it would only be created/updated when you were developing or building your app, which would mean squigglies in the meantime.

Alternatives considered

No response

Importance

nice to have

Additional Information

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions