k-maru / grunt-typescript

MIT License
137 stars 60 forks source link

grunt-typescript VS gtunt-ts: why maintaining two plugins that do the same? #127

Open ducin opened 8 years ago

ducin commented 8 years ago

Dear Everyone,

First of all, many many thanks for your work for open source :) I appreciate both a lot!

I write to you all - sorry for the spam - to ask: is it possible that you merge your tools: grunt-typescript and grunt-ts and eventually support just one of them and make it official?

I appreciate the work of both grunt plugin teams, but it's bad for community to choose between two tools that do exactly the same under the same build system. I can see no clear differences between those two. If you joined forces, I believe, you could achieve more. The JavaScript Fatigue (many tools arising each day) is causing a headache already, but no standard tools and npm plugin chaos is making it even more difficult for JS devs. Hope you understand my intentions here.

CC grunt-typescript team: @k-maru, @kmaru, @alvivi, @vvakame, ... CC grunt-ts team: @nycdotnet, @basarat, @bartvds, @jeffmay, ...

I can see that grunt-typescript is popular, but significantly not up to date with latest typescript versions. People keep asking for it (k-maru/grunt-typescript#125). And new versions of ts will be arriving soon one by one... grunt-ts on the other hand seems to be more up to date and maintained better.

nycdotnet commented 8 years ago

Hi,

Maintainer of grunt-ts here. I don't really follow grunt-typescript so I don't know if there's anything that it offers that grunt-ts doesn't. That would be interesting to know.

A quick scan of the docs looks like it has a references feature that we don't (though the same could perhaps be handled via src I think). I suspect our gruntfile API is somewhat different and I'm fairly confident grunt-ts has some features that grunt-typescript doesn't such as HTML template compilation and Visual Studio project integration. Also we have a custom implementation of tsconfig.json support.

If there are any features supported by grunt-typescript that are not possible in grunt-ts, please open an issue and we can discuss how to implement.

-Steve O

nycdotnet commented 8 years ago

To be honest, if there is energy for it, this conversation should also include maintainers of gulp typescript, and other similar task runner wrappers. There's only so many ways to parse config parameters and build a command-line.

ducin commented 8 years ago

Thanks @nycdotnet!

Just to make clear, my intention is not to make grunt-ts cover all features of grunt-typescript only - but to make one solid grunt typescript plugin for the community and make it standard. Such steps would make grunt more mature, I believe.

nycdotnet commented 8 years ago

OK. In general, I like standards and I like reducing duplicated effort. I also think JS fatigue is a real thing. I'm glad you have the energy for this initiative. :smile:

To provide context, I've created this new contributing guide for the next release of grunt-ts:

https://github.com/TypeStrong/grunt-ts/blob/implement-ts-1.8/CONTRIBUTING.md#contributing-to-grunt-ts

In particular the part about the project being in a mature maintenance phase is relevant.

This project is in a mature maintenance phase. This means that the grunt-ts maintainers are focused on the following:

  • Compatibility with the latest stable version of TypeScript (native support for new switches, etc.)
  • Reliability enhancements such as bug fixes with tests

Cheers!

thorn0 commented 8 years ago

There's only so many ways to parse config parameters and build a command-line.

The gulp plugins (gulp-tsb, gulp-typescript) aren't wrappers around the command-line compiler. They use the compiler API directly, which makes incremental compilation possible, that's why they're much faster than the grunt plugins.

nycdotnet commented 8 years ago

This is what I'd love to do to eliminate the current grunt-ts fast feature.