Looking at projects that are good candidates for being re-written in rust / webassembly!
https://www.npmjs.com/package/moment-timezone
could build off work in rust: https://github.com/chronotope/chrono
see also:
- https://github.com/mrmlnc/fast-glob
- https://www.npmjs.com/package/minimatch
- https://www.npmjs.com/package/micromatch
- https://www.npmjs.com/package/multimatch
Ok, this is just obvious. Could lean heavily on yaml-rust
handlebars https://www.npmjs.com/package/handlebars
It's being worked on here (to some degree)
https://github.com/sunng87/handlebars-rust
Still, a drop in replacement would be cool?
Other templating libs:
- https://www.npmjs.com/package/jade
- https://www.npmjs.com/package/mustache
- https://www.npmjs.com/package/pug
- https://www.npmjs.com/package/nunjucks
- https://www.npmjs.com/package/swig
- https://www.npmjs.com/package/hogan.js
like the babel clone, really hard and the whole ecosystem needs to be rewritten. nah.
querystring parsing. it's maybe a good candidate (parsing library), but it's pretty ugly imo, and I think that
probably not
Like js-yaml, probably a good candidate. Someone else has surely done the work of making a markdown parser in rust already.
validator https://www.npmjs.com/package/validator
Eh, not too keen on this. The biggest benefit is that I get to take advantage of rust's compile time perfect hashing jam to make lookup tables fast.
json schema vaidator, probably one exists in rust
query string: https://www.npmjs.com/package/query-string
limited utility: native in node 6+ and browsers.
getting this up and running would be fairly easy, but getting it to be the best wasm md5 impl possible would take some work and you'd probably learn a lot.
would probably be a super cool and very popular project honestly, but the amount of work is huge
highlight.js https://www.npmjs.com/package/highlight.js
my work on syntect_wasm compilation should be the decider! see also:
this could be interesting! and maybe even reasonably faster. However, the chaining api makes it a little hard to imagine.
see also:
time parsing and conversion
clean-css https://www.npmjs.com/package/clean-css
css minifier. see also: https://www.npmjs.com/package/cssnano
filesize.js https://www.npmjs.com/package/filesize
human readable file sizes
self explanatory see also: https://www.npmjs.com/package/adm-zip
native image processing, 0.5m weekly downloads and would probably see very large perf improvements. May be stuff in the rust ecosystem that's already trying this.
There is already a glob crate ;)