Open mhhf opened 8 years ago
I would love to do some dependency unwrangling as I have completely lost all context at this point. Having a real type for each schema we have sounds very nice
Also lets have a closer look on this: https://github.com/Reactive-Extensions/RxJS
@dbrock suggested the idea that separate modules could be separate programs like how Git is structured. There are a few good reasons that might work well for dapple, but I bring it up because if we go with this approach this suggests a natural starting point for a typescript rewrite: commands which do simple filesystem reads and transformations (init
, doctor
) and their dependencies (dappfile/dapplerc type validators). This also forces us to think clearly about what exactly all the intermediate states of something like dapple run
are (see discussion about "resuming" runs, and about required contexts for scripts)
With each iteration dapple gets constantly more complex and harder to maintain. In a recent talk with @dbrock we had discussed the possibilities of a refactoring. Here a few thoughts: The main problem is the distribution and manipulation of state and the lacking of type safety. As a methodology we could split dapple up into multiple independent programs and start by converting one of them to typescript. It will be a lot of work to refactor dapple, but once its done, incrementing will be a lot easier as well as lowering the barriers of outside contribution. Not to mention the error safety which is caught by better testing and type safety
Thoughts? @nmushegian @ryepdx