Sass Generator not working out of the box

Open
#296 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
express, javascript, node.js, sass
Domain
cli, tooling

Research direction

Start with the express -c sass test generator path and the generated project's npm install; inspect how the Sass option selects node-sass-middleware. Reproduce the Node 16 and node-gyp errors, then verify that a fresh generated Sass project installs and starts successfully without the reported compatibility failure.

Written by the indexing model from the issue text.

Description

Hi,

I noticed that on a fresh Arch Linux installation, the express generator for the sass css engine is not working anymore.
That's probably because of missing support on the node-sass-middleware which seems to be quite out-of-date and not working properly anymore.

Has anyone a suggestion how to port the behavior to have a working sass middleware again with the most recent node?
Anyway, here is my setup to reproduce it:

Environment:

  • node -v -> v16.1.0
  • node-gyp -v -> v8.0.0
  • npm -v-> 7.13.0
  • express --version -> 4.16.1
  • uname -a -> Linux barch 5.12.3-arch1-1 #1 SMP PREEMPT Wed, 12 May 2021 17:54:18 +0000 x86_64 GNU/Linux

Steps:

  • express -c sass test
  • cd test
  • npm install

Error:

...........
npm ERR! /home/sebastian/.node-gyp/16.1.0/include/node/v8-internal.h:452:38: error: ‘remove_cv_t’ is not a member of ‘std’; did you mean ‘remove_cv’?
npm ERR! 452 | !std::is_same<Data, std::remove_cv_t>::value>::Perform(data);
npm ERR! | ^~~~~~~~~~~
npm ERR! | remove_cv
npm ERR! /home/sebastian/.node-gyp/16.1.0/include/node/v8-internal.h:452:38: error: ‘remove_cv_t’ is not a member of ‘std’; did you mean ‘remove_cv’?
npm ERR! 452 | !std::is_same<Data, std::remove_cv_t>::value>::Perform(data);
npm ERR! | ^~~~~~~~~~~
npm ERR! | remove_cv
npm ERR! /home/sebastian/.node-gyp/16.1.0/include/node/v8-internal.h:452:50: error: template argument 2 is invalid
npm ERR! 452 | !std::is_same<Data, std::remove_cv_t>::value>::Perform(data);
npm ERR! | ^
npm ERR! /home/sebastian/.node-gyp/16.1.0/include/node/v8-internal.h:452:63: error: ‘::Perform’ has not been declared
npm ERR! 452 | !std::is_same<Data, std::remove_cv_t>::value>::Perform(data);
npm ERR! | ^~~~~~~
.................

Interesting is also that in the end it reports about versions of node and node-gyp but reports the wrong node-gyp version in my opinion:

npm ERR! gyp ERR! node -v v16.1.0
npm ERR! gyp ERR! node-gyp -v v3.8.0

Every bit of help appreciated. Just want to change something on my personal website and can't start it anymore on a fresh setup without probably downgrading npm. But is this really the root cause?

S-

Dominant language
JavaScript
Stars
1.9k
Forks
548
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from expressjs/generator

All issues in expressjs/generator

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.