Konrad Mohrfeldt:
Lunar:
As a Debian developper, my primary deployment target is Debian. So any external JavaScript library needs to be packaged in Debian before Coquelicot can depend on it.
I’ll try to keep dependencies to a minimum and stick with vanilla JavaScript whenever I can, but in order to do so we have to make a decision regarding browser support. I guess we could support all browser with EcmaScript 5 Support [1], which would include IE9 with only a single dependency to node-es6-promise (available since stretch). That would be everything we need to reimplement the current JavaScript code production-dependency-wise. Are build-dependencies required to be packaged in Debian as well?
One thing that is unclear to me for now: do you want to implement new features that require reimplementing the current JavaScript code? Except cleaner code, what is to be gained by switching to ES5?
The js build system would introduce webpack as a build tool. Webpack receives an entry file, recursively resolves dependencies (import/require statements) and outputs a single js file that would be added as the only script tag in the rendered HTML page. It also supports a watch mode, so we could keep the original "just works™" behaviour if we spin up webpack when starting the development server.
I don't see a Debian package for Webpack. :(
Would you know of any Ruby library that would provide similar features? Packaging new gems for Debian is quite easy.
I see Debian as a ruby-uglifier package which is a wrapper for UglifyJS. I'd rather try to avoid adding a strict build dependency on Node.js. The above package requires Node.js for example.
I’d like to keep my hands from the ruby codebase in order to focus on the other tasks, so if anyone could take care of the webpack watchmode integration once it’s ready that’d be awesome.
I could have a look.
apart from that I only have two remarks/questions:
- Are you fine with the separate repository where you can pull my changes?
Sure. :)
- If you have any comments regarding Debian compatibility just tell me. I’m not familiar with most of the packaging guidelines :)
From the top of my head: watch out for the Crowford (“don't use for evil”) license. It's non-free and caused us huge pain in the past.