From 5772e0bbfb0315f39d9491e00d26928c47f81bdc Mon Sep 17 00:00:00 2001 From: Opliko Date: Sun, 9 Oct 2022 04:17:41 +0200 Subject: [PATCH] feat: use sass-embedded if possible (#10950) --- install/package.json | 3 +++ install/web.js | 2 +- src/meta/configs.js | 2 +- src/meta/minifier.js | 2 +- src/utils.js | 9 +++++++++ 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/install/package.json b/install/package.json index 09c07230a8..a3ec8dc909 100644 --- a/install/package.json +++ b/install/package.json @@ -165,6 +165,9 @@ "nyc": "15.1.0", "smtp-server": "3.11.0" }, + "optionalDependencies": { + "sass-embedded": "1.55.0" + }, "bugs": { "url": "https://github.com/NodeBB/NodeBB/issues" }, diff --git a/install/web.js b/install/web.js index b9e4c9fdd1..7a32cfa98d 100644 --- a/install/web.js +++ b/install/web.js @@ -6,7 +6,7 @@ const bodyParser = require('body-parser'); const fs = require('fs'); const path = require('path'); const childProcess = require('child_process'); -const sass = require('sass'); +const sass = require('../src/utils').getSass(); const webpack = require('webpack'); const nconf = require('nconf'); diff --git a/src/meta/configs.js b/src/meta/configs.js index 2f7206093b..ca53dc1494 100644 --- a/src/meta/configs.js +++ b/src/meta/configs.js @@ -240,7 +240,7 @@ async function saveRenderedCss(data) { if (!data.customCSS) { return; } - const sass = require('sass'); + const sass = require('../utils').getSass(); const scssOutput = await sass.compileStringAsync(data.customCSS, {}); data.renderedCustomCSS = scssOutput.css.toString(); } diff --git a/src/meta/minifier.js b/src/meta/minifier.js index 564c79a0f1..069dbbeb6d 100644 --- a/src/meta/minifier.js +++ b/src/meta/minifier.js @@ -4,7 +4,7 @@ const fs = require('fs'); const os = require('os'); const async = require('async'); const winston = require('winston'); -const sass = require('sass'); +const sass = require('../utils').getSass(); const postcss = require('postcss'); const autoprefixer = require('autoprefixer'); const clean = require('postcss-clean'); diff --git a/src/utils.js b/src/utils.js index 719abb50d2..2d0d2e7b9c 100644 --- a/src/utils.js +++ b/src/utils.js @@ -29,4 +29,13 @@ utils.generateUUID = function () { return rnd.join('-'); }; +utils.getSass = function () { + try { + const sass = require('sass-embedded'); + return sass; + } catch (_err) { + return require('sass'); + } +}; + module.exports = utils;