mjml icon indicating copy to clipboard operation
mjml copied to clipboard

Roadmap v5

Open TrySound opened this issue 5 years ago • 10 comments
trafficstars

  • [ ] split mjml and mjml-cli - my team only consume mjml2html function from mjml package and does not use cli which adds a lot of dependencies
  • [ ] drop mjml-migrate
  • [ ] move html-minifier and js-beautify to cli - both adds a lot of dependencies to mjml package, would be good to let non-cli users add for example prettier and no minifier without bloating node_modules
  • [x] support browser targets

TrySound avatar Jun 20 '20 14:06 TrySound

split mjml and mjml-cli - my team only consume mjml2html function from mjml package and does not use cli which adds a lot of dependencies

I'm not sure about this one, mjml package should remain the default package to have the full experience, you can still just target core + every other dependencies manually and register components manually here ?

move html-minifier and js-beautify to cli

May be we should move that part on its own package and let user requires it with .mjmlconfig ?

iRyusa avatar Jun 20 '20 15:06 iRyusa

Sure, any option would be good

TrySound avatar Jun 20 '20 15:06 TrySound

After separating mjml-cli (with minifier and beatuifier) it should be much easier to support browser targets, which I kindly ask to add for v5 roadmap. In-browser email builders with bundled mjml (instead of using API) are a perfect use-case for that.

dmgawel avatar Sep 25 '20 11:09 dmgawel

Is this why there's both mjml and mjml-cli on npm?

https://www.npmjs.com/package/mjml https://www.npmjs.com/package/mjml-cli

That really confused me when I went looking to install it and saw references to "the cli".

They have different dependencies, but the readme for the mjml-cli npm package seems to just be a different version of the readme for mjml. It uses mjml throughout, instead of mjml-cli (including for the installation!) -- but if you have mjml-cli you'd have to run things like mjml-cli input.mjml, not mjml input.mjml, right?

Or is the npm mjml-cli package just a placeholder for now?

rootwork avatar Mar 11 '21 22:03 rootwork

Forgot to reply @rootwork mjml is the "community" package where everything is setup to have the standard lib working (bundling the cli + std components). mjml package have an extra binary that register every components before passing everything to mjml-cli.

mjml-cli rely on mjml-core but not on mjml package.

iRyusa avatar Jul 22 '21 09:07 iRyusa

proper browser support would be amazing as this should enable easier use in Cloudflare Workers (& similar runtimes like Deno) I guess 🤞🏼

CanRau avatar Dec 15 '22 21:12 CanRau

@CanRau client-side support was added in v4, you can use it now: https://github.com/mjmlio/mjml#client-side-in-browser via official mjml-browser package.

dmgawel avatar Dec 16 '22 08:12 dmgawel

But this rely on the browser abstraction, like window, not available in cf worker for instance

olup avatar Apr 03 '23 18:04 olup