madskristensen / WebEssentials2013

Visual Studio extension
http://vswebessentials.com
Other
945 stars 253 forks source link

SCSS Compilation Fails - With Error Messages #1826

Open RJCuthbertson opened 9 years ago

RJCuthbertson commented 9 years ago

I'm using VS Professional 2013 Update 4 and Web Essentials 2013 for Update 4 (Version 2.5.4, upgraded today).

Using SCSS, after every few changes, nodejs crashes and fails to restart unless manually restarted via the command line. Looks like it's only reading part of the .map file and crashing when it can't parse the invalid input. This is using the Ruby runtime (which is only slightly more stable than node-sass which was crashing similarly every time it tried to compile something that included a syntax error, but that's a separate issue...)

I referenced this bug report to get this far.

...

Thu, 02 Apr 2015 17:59:37 GMT => Request recieved: {"origin":"web essentials","u
                                 ser-agent":"web essentials","web-essentials":"w
                                 eb essentials","auth":"3B4Vzyp0X+0dJ32SgdQ+QkgY
                                 OS6lOHYVjegOmhlBuHc=","host":"127.0.0.1:13654"}

undefined:1
AAE,KAAK;;;AAId,iBAAkB;EACjB,OAAO,EAAE,IAAI","sources":["./styles.scss","./_bo
                                                                              ^
SyntaxError: Unexpected end of input
    at Object.parse (native)
    at IncomingMessage.<anonymous> (C:\Users\{me}\AppData\Local\Microsoft\Vis
ualStudio\12.0\Extensions\n0hqoxkf.gix\Resources\nodejs\tools\server\services\sr
v-rubyscss.js:37:31)
    at IncomingMessage.emit (events.js:95:17)
    at IncomingMessage.<anonymous> (_stream_readable.js:764:14)
    at IncomingMessage.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:426:10)
    at emitReadable (_stream_readable.js:422:5)
    at readableAddChunk (_stream_readable.js:165:9)
    at IncomingMessage.Readable.push (_stream_readable.js:127:10)
    at HTTPParser.parserOnBody [as onBody] (http.js:142:22)

C:\Users\{me}\AppData\Local\Microsoft\VisualStudio\12.0\Extensions\n0hqoxkf.g
ix\Resources\nodejs>node tools/server/we-nodejs-server --port 13654
Thu, 02 Apr 2015 18:00:54 GMT => Server has started in development environment
Thu, 02 Apr 2015 18:00:54 GMT => Started listening on port 13654
Thu, 02 Apr 2015 18:01:47 GMT => Request recieved: {"origin":"web essentials","u
                                 ser-agent":"web essentials","web-essentials":"w
                                 eb essentials","auth":"3B4Vzyp0X+0dJ32SgdQ+QkgY
                                 OS6lOHYVjegOmhlBuHc=","host":"127.0.0.1:13654",
                                 "connection":"Keep-Alive"}

...

Thu, 02 Apr 2015 18:17:40 GMT => Request recieved: {"origin":"web essentials","u
                                 ser-agent":"web essentials","web-essentials":"w
                                 eb essentials","auth":"3B4Vzyp0X+0dJ32SgdQ+QkgY
                                 OS6lOHYVjegOmhlBuHc=","host":"127.0.0.1:13654"}

undefined:1
AClB,cAAc,EAAE,MAAM;EACtB,KAAK,EAAE,IAAI;;AAEX,uBAAQ;EACP,KAAK,EAAE,KAAK;EACZ,
                                                                              ^
SyntaxError: Unexpected end of input
    at Object.parse (native)
    at IncomingMessage.<anonymous> (C:\Users\{me}\AppData\Local\Microsoft\Vis
ualStudio\12.0\Extensions\n0hqoxkf.gix\Resources\nodejs\tools\server\services\sr
v-rubyscss.js:37:31)
    at IncomingMessage.emit (events.js:95:17)
    at IncomingMessage.<anonymous> (_stream_readable.js:764:14)
    at IncomingMessage.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:426:10)
    at emitReadable (_stream_readable.js:422:5)
    at readableAddChunk (_stream_readable.js:165:9)
    at IncomingMessage.Readable.push (_stream_readable.js:127:10)
    at HTTPParser.parserOnBody [as onBody] (http.js:142:22)

C:\Users\{me}\AppData\Local\Microsoft\VisualStudio\12.0\Extensions\n0hqoxkf.g
ix\Resources\nodejs>node tools/server/we-nodejs-server --port 13654
Thu, 02 Apr 2015 18:18:02 GMT => Server has started in development environment
Thu, 02 Apr 2015 18:18:02 GMT => Started listening on port 13654
Thu, 02 Apr 2015 18:18:07 GMT => Request recieved: {"origin":"web essentials","u
                                 ser-agent":"web essentials","web-essentials":"w
                                 eb essentials","auth":"3B4Vzyp0X+0dJ32SgdQ+QkgY
                                 OS6lOHYVjegOmhlBuHc=","host":"127.0.0.1:13654"}

Thu, 02 Apr 2015 18:18:07 GMT => Request recieved: {"origin":"web essentials","u
                                 ser-agent":"web essentials","web-essentials":"w
                                 eb essentials","auth":"3B4Vzyp0X+0dJ32SgdQ+QkgY
                                 OS6lOHYVjegOmhlBuHc=","host":"127.0.0.1:13654"}

...

Thu, 02 Apr 2015 18:25:31 GMT => Request recieved: {"origin":"web essentials","u
                                 ser-agent":"web essentials","web-essentials":"w
                                 eb essentials","auth":"3B4Vzyp0X+0dJ32SgdQ+QkgY
                                 OS6lOHYVjegOmhlBuHc=","host":"127.0.0.1:13654"}

undefined:1
AAM,EAAE,IAAI;EACZ,WAAW,EAAE,IAAI;EACjB,KAAK,EAAE,IAAI;;AAEX,uBAAQ;EACP,KAAK,E
                                                                              ^
SyntaxError: Unexpected end of input
    at Object.parse (native)
    at IncomingMessage.<anonymous> (C:\Users\{me}\AppData\Local\Microsoft\Vis
ualStudio\12.0\Extensions\n0hqoxkf.gix\Resources\nodejs\tools\server\services\sr
v-rubyscss.js:37:31)
    at IncomingMessage.emit (events.js:95:17)
    at IncomingMessage.<anonymous> (_stream_readable.js:764:14)
    at IncomingMessage.emit (events.js:92:17)
    at emitReadable_ (_stream_readable.js:426:10)
    at emitReadable (_stream_readable.js:422:5)
    at readableAddChunk (_stream_readable.js:165:9)
    at IncomingMessage.Readable.push (_stream_readable.js:127:10)
    at HTTPParser.parserOnBody [as onBody] (http.js:142:22)

Is the node process not reading the whole file? Or is it maybe that the file is in the process of being written?

It tends to happen when a dependent partial SCSS file is updated and recompiled, but not every time.

am11 commented 9 years ago

I agree this is a very annoying issue. I encounter it several times a day at work (using Less and TypeScript (when tslint is enabled)). One thing you could try (which seldom helps me) to minify post-css features (autoprefixer and rtlcss) under Tools > Web Essentials > CSS.