stealjs / steal-tools

Build easy. Load fast.
https://stealjs.com/docs/steal-tools.html
MIT License
67 stars 23 forks source link

Reduce steal-tools size by breaking into subprojects #1035

Open matthewp opened 6 years ago

matthewp commented 6 years ago

Proposal

The proposal is to break steal-tools into subprojects that can be used on their own. steal-tools will remain as a way to use all of the various tools under a single API / cli and will maintain its backwards compatibility.

Possibly we could make steal-tools lazily install the subprojects; meaning live-reload for example will only be installed once it is called for the first time.

Need

screen shot 2018-07-11 at 10 32 22 am

steal-tools is the largest of the donejs projects. This is because it combines a lot of functionality that involves manipulating a dependency graph. Looking at https://github.com/stealjs/steal-tools/blob/master/index.js only gives you a glimpse of what steal-tools contains. For example it has:

Change

The suggested change is to break this functionality into different subprojects. These could perhaps be:

Additionally there's a lot of common things that are used by all of the above, particularly the parts that can build the dependency graph and create bundles. These will either be put into their own packages or into a steal-common sort of package.

m-mujica commented 6 years ago

Would steal-tools be still a thing or is the idea to use the individual packages instead?

Thinking about https://github.com/lerna/lerna

matthewp commented 6 years ago

steal-tools would still exist just as it does today, for backwards compatibility. We would likely push people towards using the individual packages though. I would think donejs would use those.

frank-dspeed commented 5 years ago

@matthewp maybe we can make steal-tools a project like canjs using steal-tools to build from the /es/* folder a single es module then all can import what they need and rebuild with steal-tools a steal-tools version for them self.

in a more advanced proposal: Add Repl to steal-tools i want to replace the cli with a node repl :) As this is a core part for Projects like CoreOS and other Unikernel Stuff where we drop complet Linux support.

https://nodejs.org/api/repl.html

I would love to move more forward to es modules