One-Nexus / Synergy

Synergy is a framework for building modular, configurable and scalable UI components for React-DOM projects

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Why Ruby Sass?

gmclelland opened this issue · comments

Looks like a cool project, but curious as to why you have to use Ruby Sass instead of the faster Node-Sass?

Hi @gmclelland, great question!

The answer is simply just that some of the more complicated features of Synergy do not work properly with Node-Sass, despite Node-Sass supposedly being a carbon-copy of Ruby Sass - this is simply not the case, Synergy exposes a number of bugs with Node-Sass, and the compiled output is either wrong, or fails.

Synergy uses ALOT of complicated Sass logic, and it's entirely possible that the Node-Sass test cases do not cover such cases. I have not got to the bottom of the technical reasons why Synergy fails with Node-Sass - otherwise I would have already created corresponding issues on the Node-Sass repo.

90% of Synergy's features will probably work with Node-Sass, but if you, try to compile this repo for example: https://github.com/esr360/One-Nexus, the output will be different if you use Node-Sass compared with Ruby Sass.

I will try and get a more technical answer with some examples later on. It's been over a month since I've last attempted to compile with Node-Sass, so perhaps any issues have now been fixed.

Thanks for the explanation esr360! I figured there was probably a good reason. In the past, I noticed some similar bugs in Node-Sass as well.

I haven't gotten around it yet, but maybe one day I'll try to replace Sass with PostCss in my setups.

Version 3.9.1 now supports Libsass and Node-Sass. Please let me know of any issues.

More info: sass/libsass#2520

Very nice, thank you.