3 ms·
Hi HN, just wanted to let you know that the Flow team is watching this thread and is happy to respond to any questions that you have :)
by thejameskyle 10y ago
Hi HN, just wanted to let you know that the Flow team is watching this thread and is happy to respond to any questions that you have :)
- smt88 10y agoAny update on support for using TypeScript definition files with Flow? It doesn't seem as though the team is still watching the issue on Github: https://github.com/facebook/flow/issues/7 https://github.com/facebook/flow/issues/7
- thejameskyle 10y agoWe've actually been discussing going the other way with a conversion tool for package publishers. Flow has a more sound type system and it's easier to downgrade than upgrade. The next few months should hopefully start seeing a lot of new tools for managing and publishing types within the community. It would be great to see more adoption from package owners themselves.
- smt88 10y ago> conversion tool for package publishers I'm not sure I understand how that's different from just supporting TypeScript definitions. Couldn't the conversion tool just be built into Flow so that it works transparently for the user? Or are you saying human intervention is required? > Flow has a more sound type system Can you elaborate? What are the features of Flow that aren't present in TypeScript and would result in lossy conversion?
- thejameskyle 10y agoIt's not a trivial task for either Flow or TypeScript to support definitions of one another. We've attempted to build a TS => Flow conversion tool, but it's much harder to go in that direction because you have less guarantees. You aren't going to find a lot of "features" that either one supports that the other does not. However, many of TypeScript's implementations of the same features are less strict even with all of the strict flags on. Here's an example that came up just last week: https://gist.github.com/thejameskyle/24a4e32be4899419e53eec655e538a7f https://gist.github.com/thejameskyle/24a4e32be4899419e53eec6... (Note: This is not a bug in TypeScript, it's a design decision) Because Flow is more strict than TypeScript it's much easier to convert from Flow definitions to TypeScript definitions.
- thorn0asdf 10y agoIt should be much easier to implement a "TS definition source files (.d.ts) => Flow" converter than generic "TS => Flow". The language in .d.ts is a small subset of TS. Are your explanations about Flow's strictness really applicable to this subset? See https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#111-programs-and-source-files https://github.com/Microsoft/TypeScript/blob/master/doc/spec... > Here's an example that came up just last week: [...] (Note: This is not a bug in TypeScript, it's a design decision) I believe this design decision isn't final, but again: what difference does this example make if we're talking just about type declarations?
- smt88 10y agoI had these same thoughts, but I decided to just drop it. The Flow team doesn't seem nearly as interested in usability/adoption as the TypeScript team (perhaps an issue of resources/bandwidth). Even if I like Flow's philosophy better and the type system was better-designed until recently, the TypeScript community and ecosystem trump any benefits of Flow at this point.
- thorn0asdf 10y agoHowever that may be, I am really curious to see an example of an unconvertible type definition.
- smt88 10y agoAs of the latest version of TypeScript, there aren't any anymore. There's a discussion in a TypeScript GitHub issue about it, but I can't find it now.
- thejameskyle 10y ago> The Flow team doesn't seem nearly as interested in usability/adoption as the TypeScript team It makes me sad that you think this. The team cares very deeply about usability and adoption. We've committed to making it our sole focus for the current half. I was brought onto the team to focus on the external experience and adoption because of my experience working on Babel. We're solving a very difficult problem space, and we're doing our best to do it right. Trust me that we're thinking about all the same things you are and finding ways to address them. Also, I must say that I agree that the TypeScript has a massive lead in the community and ecosystem. It's just our opinion that we've set ourselves up to do even better, we're just now switching modes from making the type checker awesome to making the user experience awesome. If you have any concerns about the experience we're happy to hear it. Having a rapid constant feedback loop is important.
- eyko 10y agoI very much doubt many package publishers will do this. Most users (if not all) that ask for TypeScript definition files support are doing so because they want to take advantage of DefinitelyTyped / @types going forward. However, any tools that can help us write once and use in both Flow and TypeScript will definitely be well received.
- m1sta_ 10y agoAre there any IDEs or code editors on Windows which leverage Flow at the moment?
- jesseschalken 10y agoTry Atom+Nuclide. With Flow now supported on Windows, it might work.