Echo JS 0.11.0

<~>

tracker1 2678 days ago. link 2 points
Thanks... I wanted to try and create a clean starting structure.  Though it's a bit more verbose than many, and I've opted for my own scripts over gulp or similar, I find it makes it easier to figure out what's going on when you need to... I still have a bit to finish up, then will probably attempt to move to webpack2 as a step towards a dual-output for dist/.

the dist/ output has everything needed to run, translated/built with a more minimal package.json, and the tests are configured with 100% requirements with pretest and load checking to ensure all files are tested.  Although I haven't really written any tests yet, it's been in a making it all work phase.
jskz 2678 days ago. link 2 points
Completely agree with you.  create-react-app and friends are great for rapid prototyping but I learned a lot more by moving away from scaffolding tools & gulp, and setting up my own series of scripts and webpack configurations for dev and production.  I also have to catch up on webpack2 changes but I'm a little hesitant to commit to a code-splitting pattern until I see the final details on the import proposal (looks like we're getting async await of imports - nice!)

My projects are looking very similar to yours these days, I've found jest and react-test-renderer very accessible for testing.  Going with Mocha?
tracker1 2678 days ago. link 1 point
Yeah, I tried to use tape at first, but it was just too slow.. about 5x as slow as mocha, and that's without any actual tests in place.  Right now all it does is hit the main test which loads all the js files (force coverage), all the others are empty... tape/tap took like 30+ seconds, compared to about 2 with mocha.  Haven't touched jest though.

Not so much going for code splitting as separating the latest FF/Chrome (maybe edge) from the rest... since most of ES2015-2016 is supported in the browser, no need to transpile those features.  So the bundle size can be quite a bit smaller.

One more thing I'm doing with the final output is building with preact instead of react, though may revert that in practice, since preact uses real-dom, which may be too slow for some use cases.