Skip to content
This repository was archived by the owner on Nov 4, 2021. It is now read-only.
This repository was archived by the owner on Nov 4, 2021. It is now read-only.

Skip 'end' emit on TypeScript error #57

@KiaraGrouwstra

Description

@KiaraGrouwstra

As it stands, ionic-gulp-tasks' browserify-typescript emits end on error -- any TypeScript error, while other build systems like Webpack will allow you to continue as normal even if TypeScript still thinks it's seeing imperfections.

I'm currently overriding this default behavior, but I feel it's not a great experience to have it purposely stop a build just because TypeScript still manages to find excuses to complain.
I think a reason post by Isiah Meadows on ES-Discuss did a good job of explaining why it is tough to 100% rely on TypeScript's intuitions:

First, no type checker (TypeScript, Flow, or any other) can fully check the core language (most notably bind, apply, call, and Object.assign).

Second, they both still are missing some pretty significant features required for typing common JavaScript idioms (higher kinded types for Fantasy Land and Ramda users, variadic generics for bind, call, and apply, n-ary unions for Object.assign and similar, etc.).

Aside from these, I can see many other TypeScript quirks that might be deemed desirable to silence/ignore as well, e.g. its complaints when you import JS libraries you don't have TS interfaces available for.

If no end were emitted here, might that cause any problems? Having overridden this behavior myself so far, I've been inclined to conclude the change was for the better.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions