Skip to content

Provide --build/--incremental APIs for build tools #29978

Description

When we added support for composite projects and implemented --build mode (#3469, #25600), we only provided a few APIs, but not enough that 3rd party tools could defer to TypeScript's understanding of composite projects to instruct these tools how to build intelligently.

We'd like to provide some stable API so tools like gulp and Webpack can easily operate over composite projects with project references.

Activity

  1. dsmilkov commented on Mar 19, 2019

    @dsmilkov

    This would be great. The TensorFlow.js team is using karma-typescript for testing in the browser, and we can't migrate to composite build yet since the compiler API doesn't work for composite.

    const tsconfig = ; // parsed ts config
    // tsconfig.fileNames includes only the files mentioned in "include".
    ts.createProgram(tsconfig.fileNames, tsconfig.options, compilerHost);
    // Failed since `fileNames` doesn't contain files from "referenced projects"
  2. changed the title [-]Provide --build APIs for build tools to operate on composite projects[/-] [+]Provide --build/--incremental APIs for build tools to operate on composite projects[/+] on Apr 1, 2019
  3. changed the title [-]Provide --build/--incremental APIs for build tools to operate on composite projects[/-] [+]Provide --build/--incremental APIs for build tools[/+] on Apr 1, 2019
  4. DanielRosenwasser commented on Apr 2, 2019

    @DanielRosenwasser
    MemberAuthor

    This issue now also tracks --incremental work since they are both related in some capacity.

  5. sheetalkamat commented on Jun 6, 2019

    @sheetalkamat
    Member

    Closed by #31432

  6. MLoughry commented on Jun 6, 2019

    @MLoughry

    Thanks for the new APIs, Sheetal Nandi (@sheetalkamat).

    Is there a separate issue open for updating the docs? I know, personally, I've found the docs around the compiler APIs (as opposed to the language itself) to be rather lacking and often out-of-date.

  7. sheetalkamat commented on Jun 6, 2019

    @sheetalkamat
    Member

    Not that I am aware of. Daniel Rosenwasser (@DanielRosenwasser) do you want me to keep this open or create new issue for documentation.

  8. DanielRosenwasser commented on Jun 10, 2019

    @DanielRosenwasser
    MemberAuthor
  9. ulrichb commented on Jul 13, 2019

    @ulrichb

    Hmm. This issue has been labeled with 3.5, ... and also has just been moved in the roadmap from 3.6 to 3.5 ... but I cannot find e.g. createIncrementalProgram() in the declarations of typescript@3.5.3.

    So what's going on? /cc Daniel Rosenwasser (@DanielRosenwasser)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

CommittedThe team has roadmapped this issueDomain: APIRelates to the public API for TypeScriptDomain: tsc -bIssues related to build modeDomain: tsc: --incrementalThe issue relates to incremental compilationScenario: Monorepos & Cross-Project ReferencesRelates to composite projects (a.k.a references between "medium sized projects")SuggestionAn idea for TypeScript

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions