madskristensen / WebEssentials2013

Visual Studio extension
http://vswebessentials.com
Other
944 stars 250 forks source link

SCSS compile broken with big SCSS frameworks like Bourbon Neat #1530

Open martonx opened 9 years ago

martonx commented 9 years ago

SCSS compile broken with big SCSS frameworks like Bourbon Neat.

To reproduce the problem please add Bourbon Neat from Nuget, then try to compile it. Nothing will be compiled, and I got only one empty error message.

am11 commented 9 years ago

Are you testing with the nightly build?

martonx commented 9 years ago

No, but I will.

martonx commented 9 years ago

Oh, with 2.3.4 my VS is completly broke, when tried to open my Solution including Bourbon Neat. I had to go back to 2.3.0. I think I know one problem. Bourbon Neat uses only "_" prefixed .scss files. Meanwhile I found Mindscape's Web Workbench which is handle Bourbon Neat .scss files, so at least I can work.

So please fix it asap.

am11 commented 9 years ago

@madskristensen, @SLaks

Some folks (@martonx, @tbertenshaw, @blowsie, @RaptorCZ, @nj, @sqmgh) are complaining about the broken build (2.3.4) and subsequently crashing VS on opening the solution. I am testing with current master but unable to reproduce the said behavior.

Even the unit tests are passing (except for the sweetjs one, which is due to https://github.com/mozilla/sweet.js/issues/386).

OniBait commented 9 years ago

Odd. I have no problem with Bourbon Neat w/ 2.3.

am11 commented 9 years ago

BTW, v2.3.5 nightly was released yesterday.

samrueby commented 9 years ago

I have been having trouble with importing standard Bourbon. I used to just get the message "Syntax Error!" with 2.3.0. Switched to nightly build last night (2.3.5), now I receive "SASS: error reading values after webkit-image". Everything compiles correctly when using native Sass.

am11 commented 9 years ago

@samrueby,

Summary: "Don't worry, it has been fixed, the next nightly or the one after that will bring the fix to the mix".

Descriptive version:

Web Essentials is a hub of different web-technologies (super-set languages) compilers. Therefore, Web Essentials can only do much in this case. For SASS compilation support, it merely uses libsass via node-sass which Web Essentials call via npm. In this case node-sass is just a node.js wrapper around libsass.

So libsass is the real deal where the compilation is happening (its also belongs to SASS org but written is C++, as opposed to ruby-sass which is written in Ruby. Difference? C++ one is super-fast when compiling large code bases).

Ruby-sass (gem) is the most on the edge when it comes to language support. Libsass is just closer to the edge (given the difference between coding complexity in Ruby vs. C++..).

More discussion on this topic here: https://github.com/madskristensen/WebEssentials2013/issues/1400

So the issue you are reporting belongs to libsass, which has already been reported here: https://github.com/sass/libsass/issues/380 and closed in favor of https://github.com/sass/libsass/issues/263, which says it was fixed some 11 days ago.

Next; node-sass will make a release in the form of npm, and when we make WE's release, it will fetch that latest npm on build and hence you will get more sass 3.x language support.

For future reference, please track the SASS' syntax-related issues in libsass issue tracker and report it there if someone hasn't done it already: https://github.com/sass/libsass/issues.

samrueby commented 9 years ago

Thank you very much