![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mets.corals.io/wp-content/metras.v32.1/node_modules/sass-loader/lib/ |
"use strict"; const path = require("path"); const os = require("os"); const fs = require("fs"); // A typical sass error looks like this const SassError = { // eslint-disable-line no-unused-vars message: "invalid property name", column: 14, line: 1, file: "stdin", status: 1 }; /** * Enhances the sass error with additional information about what actually went wrong. * * @param {SassError} err * @param {string} resourcePath */ function formatSassError(err, resourcePath) { // Instruct webpack to hide the JS stack from the console // Usually you're only interested in the SASS stack in this case. err.hideStack = true; // The file property is missing in rare cases. // No improvement in the error is possible. if (!err.file) { return; } let msg = err.message; if (err.file === "stdin") { err.file = resourcePath; } // node-sass returns UNIX-style paths err.file = path.normalize(err.file); // The 'Current dir' hint of node-sass does not help us, we're providing // additional information by reading the err.file property msg = msg.replace(/\s*Current dir:\s*/, ""); err.message = getFileExcerptIfPossible(err) + msg.charAt(0).toUpperCase() + msg.slice(1) + os.EOL + " in " + err.file + " (line " + err.line + ", column " + err.column + ")"; } /** * Tries to get an excerpt of the file where the error happened. * Uses err.line and err.column. * * Returns an empty string if the excerpt could not be retrieved. * * @param {SassError} err * @returns {string} */ function getFileExcerptIfPossible(err) { try { const content = fs.readFileSync(err.file, "utf8"); return os.EOL + content.split(os.EOL)[err.line - 1] + os.EOL + new Array(err.column - 1).join(" ") + "^" + os.EOL + " "; } catch (err) { // If anything goes wrong here, we don't want any errors to be reported to the user return ""; } } module.exports = formatSassError;