Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[5.3] Silence the SASS deprecations #44870

Open
wants to merge 11 commits into
base: 5.3-dev
Choose a base branch
from
Open
22 changes: 16 additions & 6 deletions build/build-modules-js/stylesheets/handle-scss.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,25 @@ import { ensureDir } from 'fs-extra';
import { transform as transformCss, Features } from 'lightningcss';
import * as Sass from 'sass-embedded';

export const handleScssFile = async (file) => {
const cssFile = file
.replace(`${sep}scss${sep}`, `${sep}css${sep}`)
.replace(`${sep}build${sep}media_source${sep}`, `${sep}media${sep}`)
.replace('.scss', '.css');
const silenceDeprecationList = [
`media_source${sep}templates`,
`installation${sep}template`,
`media_source${sep}plg_installer_webinstaller`,
`vendor${sep}fontawesome-free`,
`media_source${sep}system${sep}scss${sep}joomla-fontawesome.scss`,
`media_source${sep}com_media`,
`media_source${sep}plg_system_guidedtours${sep}scss${sep}guidedtours.scss`,
];
const shouldSilenceDeprecation = (file) => silenceDeprecationList.some((path) => new RegExp(String.raw`${path}`, 'i').test(file));
const getOutputFile = (file) => file.replace(`${sep}scss${sep}`, `${sep}css${sep}`).replace('.scss', '.css').replace(`${sep}build${sep}media_source${sep}`, `${sep}media${sep}`);

export const handleScssFile = async (file) => {
let compiled;
const cssFile = getOutputFile(file);
const options = shouldSilenceDeprecation(file) ? { silenceDeprecations: ['mixed-decls', 'color-functions', 'import', 'global-builtin'] } : {};

try {
compiled = Sass.compile(file);
compiled = Sass.compile(file, options);
} catch (error) {
// eslint-disable-next-line no-console
console.error(error.formatted);
Expand Down
22 changes: 16 additions & 6 deletions build/build-modules-js/stylesheets/scss-transform.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,25 @@ import FsExtra from 'fs-extra';
import LightningCSS from 'lightningcss';
import Sass from 'sass-embedded';

export const compile = async (file) => {
const cssFile = file
.replace(`${sep}scss${sep}`, `${sep}css${sep}`)
.replace('.scss', '.css')
.replace(`${sep}build${sep}media_source${sep}`, `${sep}media${sep}`);
const silenceDeprecationList = [
`media_source${sep}templates`,
`installation${sep}template`,
`media_source${sep}plg_installer_webinstaller`,
`vendor${sep}fontawesome-free`,
`media_source${sep}system${sep}scss${sep}joomla-fontawesome.scss`,
`media_source${sep}com_media`,
`media_source${sep}plg_system_guidedtours${sep}scss${sep}guidedtours.scss`,
];
const shouldSilenceDeprecation = (file) => silenceDeprecationList.some((path) => new RegExp(String.raw`${path}`, 'i').test(file));
const getOutputFile = (file) => file.replace(`${sep}scss${sep}`, `${sep}css${sep}`).replace('.scss', '.css').replace(`${sep}build${sep}media_source${sep}`, `${sep}media${sep}`);

export const compile = async (file) => {
let compiled;
const cssFile = getOutputFile(file);
const options = shouldSilenceDeprecation(file) ? { silenceDeprecations: ['mixed-decls', 'color-functions', 'import', 'global-builtin'] } : {};

try {
compiled = Sass.compile(file);
compiled = Sass.compile(file, options);
} catch (error) {
// eslint-disable-next-line no-console
console.error(error.formatted);
Expand Down