Skip to content

Can compiler only emit declaration file ? #1866

Closed

Description

Is there a way to only emit the declaration file (.d.ts) with the compiler and not the js file ?

Activity

  1. mhegazy commented on Jan 30, 2015

    @mhegazy
    Contributor

    There is no supported flags that would do that, only emit all or do not emit at all (--noEmit). Consider using --outDir and picking only the .d.ts files.

  2. nojvek commented on May 17, 2017

    @nojvek
    Contributor

    I'm thinking of adding a --noEmitJs flag. Would you be willing to entertain that thought?

  3. mhegazy commented on May 17, 2017

    @mhegazy
    Contributor

    I'm thinking of adding a --noEmitJs flag. Would you be willing to entertain that thought?

    if there is a compelling scenario.

  4. nojvek commented on May 17, 2017

    @nojvek
    Contributor

    Scenario: Auto-Generate typings for a pure js project

    Currently typings for js projects are manually hand maintained. A ton of typings are out of date with the actual code. Typings are kind of documentation and if they are separate from code, they will eventually get out of sync.

    with --checkJs, JS lib authors get extra benefit of validating code with jsdoc typings. Being able to auto generate just .d.ts from their existing code would make life easier. This can be done as part of the build step.

    Basically if declarations:true and noEmitJs:true, only declarations should still be generated

    Proposal:

    compilerOptions: {
      module: 'amd',
      outFile: 'build/types.d.ts',
      declarations: true,
      allowJs: true,
      checkJs: true, // optional
      noEmitJs: true,
    },
    include: [
       'src/**.js'
    ]
    

    This would just generate a single .d.ts file from the project that you can add as part of package.json. No hand maintenance.

  5. magnus-trent commented on Jul 17, 2017

    @magnus-trent

    Useful if you only want to generate the declaration files but not compile the js. Current usage for me would be that I'm generating an Electron application. I want the d.ts files in respective directories but the js files don't need to be created because they're made during application compilation and would cause only unnecessary clutter beforehand.

  6. locked and limited conversation to collaborators on Jun 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    QuestionAn issue which isn't directly actionable in code

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions