"Typings vs TSD" #72
Comments
I'm actually a contributor to both TSD and Typings, and the original idea of Typings come from DefinitelyTyped/tsd#150. That issue, "TSD Future", become this repo. There's a number of reasons Typings was created, but I'll focus on the points as to why this didn't end up as "TSD Future".
See the reasons above. I didn't end up doing this in TSD since it's a complete rewrite and breaks DefinitelyTyped. Breaking an ecosystem people have relied on for two years is no fun, even if it is flawed. So I created this organization and hope to add more people to contribute to it. In the meantime though, everyone can continue contributing in their own way by adding their own typings to the registry. This is more powerful because I can actually build better intelligence for users here.
See the first answer, I did try. I tried really hard. But the whole thing is just not compatible.
How? If you want the old behavior, I've actually already enabled it. Just use
This isn't an equal comparison really. The comparison here is if everyone did development in a single repo, but we published thousands of packages from that same repo. It doesn't really scale. It isn't really enjoyable for anyone. Even in a company, you don't just put every product you build in a single repo. Once you have a hundred engineers, every needs to be able to work independently without squashing each others toes.
Not sure what it makes simpler. What is "everything"? Also, statistics collection? The current project queries GitHub, the only people with those statistics is Google. Using the registry API I mentioned above solves this anyway, since it can include statistics.
Covered in previous responses.
This isn't really a fork. It's a complete rewrite. It's a different way to think about typings. It's decoupling. Sure, it could go in TSD. But when I break everyones workflows and require a rewrite for everyone involved because things are so tightly coupled, it's not fun. It isn't possible to do what I did here in DefinitelyTyped, because of the structure which they have to stick to because a bunch of tooling already relies on it. How many good things do you hear about relying on folder structure? You can never refactor properly unless you break peoples code. In the end, it's much more powerful and open for anyone to contribute and use. People can write internal typings and use them without having to expose the information, which is a pretty often request too. Even Angular maintains their own fork of DefinitelyTyped because of this limitation in TSD. Anyway, thanks for the questions! You aren't the only one with them and it's hard to see why this is worthwhile sometimes. There needs to be clear definitions between ambient and external to me, which is the most important thing. For instance, Mocha is technically three typings - the module (external) and two environments (ambient - TDD and BDD). Having them all lumped together won't work forever. I'm going to leave this issue open until I build a |
👍 |
It was the correct decision IMHO. Keep up the great work. 👍 |
👍 |
1 similar comment
👍 |
@blakeembrey Thanks for explaining why typings was created. Keep up the great work. |
Maybe it is a good idea to put this on the Wiki page so you have one less "issue" to keep track. :P |
👍 Thanks for updating the community on the benefits of typings and your reasoning. Keep up the good work. |
👍 |
* Latest angular2 and zone.js * Migrate from `tsd` to `typings`. Why? See DefinitelyTyped/tsd#269 and typings/typings#72 * Put all .d.ts references in app/boot.ts * Make `npm run repl` use https://github.com/HerringtonDarkholme/typescript-repl
Closing for housecleaning. Feel free to continue discussions 😄 |
I mostly agree, except for this point:
Breaking api's is where a major versions are for. Just look at angular 2 for example. I understand it would be frustrating for companies, but what is the difference with the current approach? Seeing a Anyhow, I don't really care one way or the other ;). Just thought i point this out. What i do find difficult to grasp is why i have 2 folders in my typings folder, browser and main. I don't really see any difference between the to either (for example: |
@nicojs Your welcome to have you're own opinion, but I don't think people should release a module with the same name when you fundamentally change the entire concept. Your Angular 2 example is particularly useful for this comparison as it's a big change and probably should be been released as a new library - people will be landing on completely irrelevant books and docs and help pages for years to come. However, compare that to Express.js vs Koa - it's fundamentally a different approach and making it "express.js 5.x" would not make sense as it's a rethinking and a different model. Either way, you would need to have updated your documentation. It wasn't compatible anyway. Also, re-education is exactly the same situation, except TSD would come with all the existing baggage (baggage that I've tried my best to support for people who are coming from TSD). Also, TSD was not deprecated until months after I had released this - but no one was maintaining it and I didn't want to be maintaining and answering questions for both repositories when a better solution existed. For the answer on why there's two folders, please search for existing issues and it's in the FAQ. Please don't check in generated files into source control, that's just a general rule. However, as with everything, it's each to their own. |
@blakeembrey Thanks for the response. I still didn't change my mind, but like i said, i don't really care one way or the other. I found the FAQ, but i've got to say, it didn't really clarify the why for me. For the |
This was from an email. I asked to copy the content here to respond for visibility, the author opted to remain anonymous.
The text was updated successfully, but these errors were encountered: