I'm not sure how to quickly describe this library. It achieves some of the goals traditionally done by bundlers. However, it's not a "bundler." There's no built-in JavaScript parsing / compiling (although this is possible by connecting rollup!). This library is meant to provide a pleasant DX (developer experience) for lightweight, vanilla-ish projects that don't need a whole framework with all the associated tooling and complexity. This library also provides a minimal footprint compared to the standard bundlers.
+ Filesystem-based routing
When using next.js and sapper, I was impressed with how easily the /static + /pages (or /static + /routes) directories compiled to the /public directory. It's intuitive, and requires minimal boilerplate. This library is really meant to accomplish the same developer experience with a customizable "middleware" to allow for custom bundling / tooling based on a project's needs.
+ Preprocessing
I used to use SASS for CSS preprocessing, but using es6 template literals in styles.css.js eliminates the need for highly-specific preprocessors (imo). Using the same method, you can easily generate & pre-process any type of file using template literals! For me, this is a huge productivity boost and simplifier.
+ Aggregate builders
Writing aggregate builders accomplishes similar functionality to Grunt. Basically, you can run functions that analyze multiple input files to generate a set of output files. This is useful for generating sitemaps, sprite-sheets, JS bundles, manifest files, and aggregate stylesheets.
+ Watch source files and dependencies during development
Routo uses jeye to watch source files and their dependencies, so as soon as you save a file that impacts any of your output files, those output files (and only those output files) will get rebuilt.
With all that being said, I'd love to get feedback on what you think are the strengths of this library, and how best to describe it to people who aren't sure what it is. I want to make the Readme as friendly and understandable as possible (:
Please reply with how you would describe it, and thumb up the descriptions that you like!
What is
routo
?I'm not sure how to quickly describe this library. It achieves some of the goals traditionally done by bundlers. However, it's not a "bundler." There's no built-in JavaScript parsing / compiling (although this is possible by connecting rollup!). This library is meant to provide a pleasant DX (developer experience) for lightweight, vanilla-ish projects that don't need a whole framework with all the associated tooling and complexity. This library also provides a minimal footprint compared to the standard bundlers.
+ Filesystem-based routing
When using next.js and sapper, I was impressed with how easily the
/static
+/pages
(or/static
+/routes
) directories compiled to the/public
directory. It's intuitive, and requires minimal boilerplate. This library is really meant to accomplish the same developer experience with a customizable "middleware" to allow for custom bundling / tooling based on a project's needs.+ Preprocessing
I used to use SASS for CSS preprocessing, but using es6 template literals in
styles.css.js
eliminates the need for highly-specific preprocessors (imo). Using the same method, you can easily generate & pre-process any type of file using template literals! For me, this is a huge productivity boost and simplifier.+ Aggregate builders
Writing aggregate builders accomplishes similar functionality to Grunt. Basically, you can run functions that analyze multiple input files to generate a set of output files. This is useful for generating sitemaps, sprite-sheets, JS bundles, manifest files, and aggregate stylesheets.
+ Watch source files and dependencies during development
Routo uses jeye to watch source files and their dependencies, so as soon as you save a file that impacts any of your output files, those output files (and only those output files) will get rebuilt.
With all that being said, I'd love to get feedback on what you think are the strengths of this library, and how best to describe it to people who aren't sure what it is. I want to make the Readme as friendly and understandable as possible (:
Please reply with how you would describe it, and thumb up the descriptions that you like!