4 ms·
I've started using ES6 sans 'transpiler' for web development on Chrome. There's still the build step for release to other browsers, but so far I haven't bothere
by abecedarius 11y ago
I've started using ES6 sans 'transpiler' for web development on Chrome. There's still the build step for release to other browsers, but so far I haven't bothered.
(I think your decision is completely reasonable; only pointing out that since just this month, with Chrome 49 out, you can develop without any build step.)
- david-given 11y agoYup. I'm working on a Polymer project in ES6. I develop in Chrome with it pointing directly at my source, so I get a full debugger and quick reloads by hitting the F5 button. Then I use crisper/babel/vulcanise via a ninja build script to generate an ES5 deployment package for the other browsers. It works really well. (ES6 is so, so much nicer than ES5. It's almost like a real language now!)
- voltagex_ 11y agoIs there anything you can share of that ninja script? I've been looking at it as a replacement for environments where grunt doesn't work too well.
- david-given 11y agoSure --- it's a mess, though. https://github.com/davidgiven/gruntle/blob/gruntle/build.ninja https://github.com/davidgiven/gruntle/blob/gruntle/build.nin... https://github.com/davidgiven/gruntle/blob/gruntle/build https://github.com/davidgiven/gruntle/blob/gruntle/build build is a tiny Lua preprocessor which expands templates in build.ninja. It needs a cleanup but it works, it's way faster than gulp, and is much easier to debug. Haven't touched grunt so I don't know how it compares there.
- voltagex_ 11y agoThanks. Could I get away without the Lua?
- david-given 11y agoYes, but you'd need to expand the source file rules inline --- I added the Lua because I was fed up with doing it by hand. (Ninja doesn't have implicit rules.)
- deleted 11y ago[deleted]
- bzbarsky 11y agoNote that other browsers (specifically Firefox and Edge) generally have better ES6 support than Chrome does, so a "build step" is not needed for them unless you happen to be using one of the very few things that Chrome supports and they do not.