27 August 2018

Workaround for node-sass hanging in Parcel

This is a quick guide on how to get around an issue with the Parcel web application bundler hanging when compiling multiple SASS/SCSS files that have imports in them (#1836, #1331).

This appears to be a problem within node-sass and concurrent calls.

Parcel > 1.9.7: use dart-sass instead

An upcoming release of Parcel will look for node-sass and if that doesn’t exist, look for sass. This is a pure JavaScript implementation of Sass called “Dart Sass”, and it does not have this problem. You can simply uninstall node-sass and replace it with the Dart Sass sass library:

yarn remove node-sass
yarn add -D sass # this is dart-sass

Tada, you’re done! But currently this is only on the master branch of Parcel.

If you’re using an older version of Parcel take a look at the lower options.

Parcel <= 1.9.7: limit concurrent calls

It appears you can modify the PARCEL_MAX_CONCURRENT_CALLS environment variable to limit the number of parallel calls, as seen here with github user @jayprado running parcel-bunder "1.9.6" and node "v8.11.3".

Update your parcel scripts—or wherever you run parcel—to have this environment variable set:

  "scripts": {
    "start": "PARCEL_MAX_CONCURRENT_CALLS=3 parcel src/index.html"

This approach keeps it very localized to the project and easier to clean up in the future than if you left it in .bash_profile or similar file and forgot about it.

Interested in working with me at Superset to help shape the future of virtual fitness and to empower people to launch their own businesses online? We’re hiring a full-stack engineer. 💪🤓💻 Apply online

Did you find this helpful or fun? paypal.me/mrcoles
comments powered by Disqus

Peter Coles

Peter Coles

is a software engineer living in NYC who is building Superset 💪 and also created GoFullPage 📸
more »

github · soundcloud · @lethys · rss