From 33ccbc23e383d9b5a9c53379791892cc73d72f21 Mon Sep 17 00:00:00 2001 From: Romaric Pascal Date: Sat, 24 Dec 2022 23:29:20 +0100 Subject: SCSS testing of the utilities API (#36029) * Set up CSS testing using sass-true and mocha Use mocha to handle the heavy lifting of finding tests and running them. Mocha is made to look directly for SCSS files which are compiled thanks to Node's require.extensions mechanism. * Add CSS tests to workflow * Add tests for the generate-utility mixin * Add tests for utilities generation * Fix linting issues * Fix test contents Don't know why the whole utilities.test.scss ended up copied in the api.test.scss * Remove unnecessary entry in package.json * Move to Jasmine for running the tests * Move running of CSS tests before CSS build * Update linting set up Add exceptions for test files in stylelint * Remove irrelevant option for sass-true * Fix linting issues after rebase * Add color mode tests * Fix linter Co-authored-by: Mark Otto --- scss/tests/jasmine.js | 17 ++ scss/tests/mixins/_color-modes.test.scss | 69 ++++++ scss/tests/mixins/_utilities.test.scss | 393 +++++++++++++++++++++++++++++++ scss/tests/sass-true/register.js | 10 + scss/tests/sass-true/runner.js | 15 ++ scss/tests/utilities/_api.test.scss | 75 ++++++ 6 files changed, 579 insertions(+) create mode 100644 scss/tests/jasmine.js create mode 100644 scss/tests/mixins/_color-modes.test.scss create mode 100644 scss/tests/mixins/_utilities.test.scss create mode 100644 scss/tests/sass-true/register.js create mode 100644 scss/tests/sass-true/runner.js create mode 100644 scss/tests/utilities/_api.test.scss (limited to 'scss/tests') diff --git a/scss/tests/jasmine.js b/scss/tests/jasmine.js new file mode 100644 index 000000000..e1b09adf5 --- /dev/null +++ b/scss/tests/jasmine.js @@ -0,0 +1,17 @@ +/* eslint-env node */ + +const path = require('node:path') + +module.exports = { + spec_dir: 'scss' /* eslint-disable-line camelcase */, + + // Make Mocha look for `.test.scss` files + spec_files: ['**/*.{test,spec}.scss'] /* eslint-disable-line camelcase */, + + // Compile them into JS scripts running `sass-true` + requires: [path.join(__dirname, 'sass-true/register')], + + // Ensure we use `require` so that the require.extensions works + // as `import` completely bypasses it + jsLoader: 'require' +} diff --git a/scss/tests/mixins/_color-modes.test.scss b/scss/tests/mixins/_color-modes.test.scss new file mode 100644 index 000000000..2f6a7eaaa --- /dev/null +++ b/scss/tests/mixins/_color-modes.test.scss @@ -0,0 +1,69 @@ +// stylelint-disable selector-attribute-quotes + +@import "../../functions"; +@import "../../variables"; +@import "../../variables-dark"; +@import "../../maps"; +@import "../../mixins"; + +@include describe("global $color-mode-type: data") { + @include it("generates data attribute selectors for dark mode") { + @include assert() { + @include output() { + @include color-mode(dark) { + .element { + color: var(--bs-primary-text); + background-color: var(--bs-primary-bg-subtle); + } + } + @include color-mode(dark, true) { + --custom-color: #{mix($indigo, $blue, 50%)}; + } + } + @include expect() { + [data-bs-theme=dark] .element { + color: var(--bs-primary-text); + background-color: var(--bs-primary-bg-subtle); + } + [data-bs-theme=dark] { + --custom-color: #3a3ff8; + } + } + } + } +} + +@include describe("global $color-mode-type: media-query") { + @include it("generates media queries for dark mode") { + $color-mode-type: media-query !global; + + @include assert() { + @include output() { + @include color-mode(dark) { + .element { + color: var(--bs-primary-text); + background-color: var(--bs-primary-bg-subtle); + } + } + @include color-mode(dark, true) { + --custom-color: #{mix($indigo, $blue, 50%)}; + } + } + @include expect() { + @media (prefers-color-scheme: dark) { + .element { + color: var(--bs-primary-text); + background-color: var(--bs-primary-bg-subtle); + } + } + @media (prefers-color-scheme: dark) { + :root { + --custom-color: #3a3ff8; + } + } + } + } + + $color-mode-type: data !global; + } +} diff --git a/scss/tests/mixins/_utilities.test.scss b/scss/tests/mixins/_utilities.test.scss new file mode 100644 index 000000000..16ae169b8 --- /dev/null +++ b/scss/tests/mixins/_utilities.test.scss @@ -0,0 +1,393 @@ +$prefix: bs-; +$enable-important-utilities: false; + +// Important: Do not import rfs to check that the mixin just calls the appropriate functions from it +@import "../../mixins/utilities"; + +@mixin test-generate-utility($params...) { + @include assert() { + @include output() { + @include generate-utility($params...); + } + + @include expect() { + @content; + } + } +} + +@include describe(generate-utility) { + @include it("generates a utility class for each value") { + @include test-generate-utility( + ( + property: "padding", + values: (small: .5rem, large: 2rem) + ) + ) { + .padding-small { + padding: .5rem; + } + + .padding-large { + padding: 2rem; + } + } + } + + @include describe("global $enable-important-utilities: true") { + @include it("sets !important") { + $enable-important-utilities: true !global; + + @include test-generate-utility( + ( + property: "padding", + values: (small: .5rem, large: 2rem) + ) + ) { + .padding-small { + padding: .5rem !important; + } + + .padding-large { + padding: 2rem !important; + } + } + + $enable-important-utilities: false !global; + } + } + + @include describe("$utility") { + @include describe("values") { + @include it("supports null keys") { + @include test-generate-utility( + ( + property: "padding", + values: (null: 1rem, small: .5rem, large: 2rem) + ), + ) { + .padding { + padding: 1rem; + } + + .padding-small { + padding: .5rem; + } + + .padding-large { + padding: 2rem; + } + } + } + + @include it("ignores null values") { + @include test-generate-utility( + ( + property: "padding", + values: (small: null, large: 2rem) + ) + ) { + .padding-large { + padding: 2rem; + } + } + } + + @include it("supports lists") { + @include test-generate-utility( + ( + property: "padding", + values: 1rem 2rem + ) + ) { + .padding-1rem { + padding: 1rem; + } + + .padding-2rem { + padding: 2rem; + } + } + } + + @include it("supports single values") { + @include test-generate-utility( + ( + property: padding, + values: 1rem + ) + ) { + .padding-1rem { + padding: 1rem; + } + } + } + } + + @include describe("class & property") { + @include it("adds each property to the declaration") { + @include test-generate-utility( + ( + class: padding-x, + property: padding-inline-start padding-inline-end, + values: 1rem + ) + ) { + .padding-x-1rem { + padding-inline-start: 1rem; + padding-inline-end: 1rem; + } + } + } + + @include it("uses the first property as class name") { + @include test-generate-utility( + ( + property: padding-inline-start padding-inline-end, + values: 1rem + ) + ) { + .padding-inline-start-1rem { + padding-inline-start: 1rem; + padding-inline-end: 1rem; + } + } + } + + @include it("supports a null class to create classes straight from the values") { + @include test-generate-utility( + ( + property: visibility, + class: null, + values: ( + visible: visible, + invisible: hidden, + ) + ) + ) { + .visible { + visibility: visible; + } + + .invisible { + visibility: hidden; + } + } + } + } + + @include describe("state") { + @include it("Generates selectors for each states") { + @include test-generate-utility( + ( + property: padding, + values: 1rem, + state: hover focus, + ) + ) { + .padding-1rem { + padding: 1rem; + } + + .padding-1rem-hover:hover { + padding: 1rem; + } + + .padding-1rem-focus:focus { + padding: 1rem; + } + } + } + } + + @include describe("css-var"){ + @include it("sets a CSS variable instead of the property") { + @include test-generate-utility( + ( + property: padding, + css-variable-name: padding, + css-var: true, + values: 1rem 2rem + ) + ) { + .padding-1rem { + --bs-padding: 1rem; + } + + .padding-2rem { + --bs-padding: 2rem; + } + } + } + + @include it("defaults to class") { + @include test-generate-utility( + ( + property: padding, + class: padding, + css-var: true, + values: 1rem 2rem + ) + ) { + .padding-1rem { + --bs-padding: 1rem; + } + + .padding-2rem { + --bs-padding: 2rem; + } + } + } + } + + @include describe("local-vars") { + @include it("generates the listed variables") { + @include test-generate-utility( + ( + property: color, + class: desaturated-color, + local-vars: ( + color-opacity: 1, + color-saturation: .25 + ), + values: ( + blue: hsla(192deg, var(--bs-color-saturation), 0, var(--bs-color-opacity)) + ) + ) + ) { + .desaturated-color-blue { + --bs-color-opacity: 1; + // Sass compilation will put a leading zero so we want to keep that one + // stylelint-disable-next-line number-leading-zero + --bs-color-saturation: 0.25; + color: hsla(192deg, var(--bs-color-saturation), 0, var(--bs-color-opacity)); + } + } + } + } + + @include describe("css-var & state") { + @include it("Generates a rule with for each state with a CSS variable") { + @include test-generate-utility( + ( + property: padding, + css-var: true, + css-variable-name: padding, + values: 1rem, + state: hover focus, + ) + ) { + .padding-1rem { + --bs-padding: 1rem; + } + + .padding-1rem-hover:hover { + --bs-padding: 1rem; + } + + .padding-1rem-focus:focus { + --bs-padding: 1rem; + } + } + } + } + + @include describe("rtl") { + @include it("sets up RTLCSS for removal when false") { + @include test-generate-utility( + ( + property: padding, + values: 1rem, + rtl: false + ) + ) { + /* rtl:begin:remove */ + + .padding-1rem { + padding: 1rem; + } + + /* rtl:end:remove */ + + } + } + } + + @include describe("rfs") { + @include it("sets the fluid value when not inside media query") { + @include test-generate-utility( + ( + property: padding, + values: 1rem, + rfs: true + ) + ) { + .padding-1rem { + padding: rfs-fluid-value(1rem); + } + } + } + + @include it("sets the value when inside the media query") { + @include test-generate-utility( + ( + property: padding, + values: 1rem, + rfs: true + ), + $is-rfs-media-query: true + ) { + .padding-1rem { + padding: rfs-value(1rem); + } + } + } + } + } + + @include describe("$infix") { + @include it("inserts the given infix") { + @include test-generate-utility( + ( + property: "padding", + values: (null: 1rem, small: .5rem, large: 2rem) + ), + $infix: -sm + ) { + .padding-sm { + padding: 1rem; + } + + .padding-sm-small { + padding: .5rem; + } + + .padding-sm-large { + padding: 2rem; + } + } + } + + @include it("strips leading - if class is null") { + @include test-generate-utility( + ( + property: visibility, + class: null, + values: ( + visible: visible, + invisible: hidden, + ) + ), + -sm + ) { + .sm-visible { + visibility: visible; + } + + .sm-invisible { + visibility: hidden; + } + } + } + } +} diff --git a/scss/tests/sass-true/register.js b/scss/tests/sass-true/register.js new file mode 100644 index 000000000..50c9c415e --- /dev/null +++ b/scss/tests/sass-true/register.js @@ -0,0 +1,10 @@ +/* eslint-env node */ + +const runnerPath = require('node:path').join(__dirname, 'runner') + +require.extensions['.scss'] = function (module, filename) { + return module._compile(` + const runner = require('${runnerPath}') + runner('${filename}',{describe, it}) + `, filename) +} diff --git a/scss/tests/sass-true/runner.js b/scss/tests/sass-true/runner.js new file mode 100644 index 000000000..96766938c --- /dev/null +++ b/scss/tests/sass-true/runner.js @@ -0,0 +1,15 @@ +/* eslint-env node */ + +const { runSass } = require('sass-true') +const fs = require('node:fs') +const path = require('node:path') + +module.exports = function (filename, { describe, it }) { + const data = fs.readFileSync(filename, { encoding: 'utf8' }) + const TRUE_SETUP = '$true-terminal-output: false; @import \'true\';' + + runSass({ + data: TRUE_SETUP + data, + includePaths: [path.dirname(filename)] + }, { describe, it }) +} diff --git a/scss/tests/utilities/_api.test.scss b/scss/tests/utilities/_api.test.scss new file mode 100644 index 000000000..9e84441d2 --- /dev/null +++ b/scss/tests/utilities/_api.test.scss @@ -0,0 +1,75 @@ +@import "../../functions"; +@import "../../variables"; +@import "../../maps"; +@import "../../mixins"; + +$utilities: (); + +@include describe("utilities/api") { + @include it("generates utilities for each breakpoints") { + $utilities: ( + margin: ( + property: margin, + values: auto + ), + padding: ( + property: padding, + responsive: true, + values: 1rem + ), + font-size: ( + property: font-size, + values: (large: 1.25rem), + print: true + ) + ) !global; + + $grid-breakpoints: ( + xs: 0, + sm: 576px, + md: 768px + ); + + + @include assert() { + @include output() { + @import "../../utilities/api"; + } + + @include expect() { + // margin is not set to responsive + .margin-auto { + margin: auto !important; + } + + // padding is, though + .padding-1rem { + padding: 1rem !important; + } + + .font-size-large { + font-size: 1.25rem !important; + } + + @media (min-width: 576px) { + .padding-sm-1rem { + padding: 1rem !important; + } + } + + @media (min-width: 768px) { + .padding-md-1rem { + padding: 1rem !important; + } + } + + @media print { + .font-size-print-large { + font-size: 1.25rem !important; + } + } + } + + } + } +} -- cgit v1.2.3 From d891159950f695c69761551715fee5182a008d33 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Sun, 25 Dec 2022 18:09:26 +0200 Subject: Make scss tests work on Windows too. (#37713) Also, add missing `'use strict'` statements; these aren't real modules. --- scss/tests/jasmine.js | 13 +++++++------ scss/tests/sass-true/register.js | 11 ++++++++--- scss/tests/sass-true/runner.js | 8 +++++--- 3 files changed, 20 insertions(+), 12 deletions(-) (limited to 'scss/tests') diff --git a/scss/tests/jasmine.js b/scss/tests/jasmine.js index e1b09adf5..dd78aa551 100644 --- a/scss/tests/jasmine.js +++ b/scss/tests/jasmine.js @@ -1,16 +1,17 @@ /* eslint-env node */ -const path = require('node:path') +/* eslint-disable camelcase */ -module.exports = { - spec_dir: 'scss' /* eslint-disable-line camelcase */, +'use strict' - // Make Mocha look for `.test.scss` files - spec_files: ['**/*.{test,spec}.scss'] /* eslint-disable-line camelcase */, +const path = require('node:path') +module.exports = { + spec_dir: 'scss', + // Make Jasmine look for `.test.scss` files + spec_files: ['**/*.{test,spec}.scss'], // Compile them into JS scripts running `sass-true` requires: [path.join(__dirname, 'sass-true/register')], - // Ensure we use `require` so that the require.extensions works // as `import` completely bypasses it jsLoader: 'require' diff --git a/scss/tests/sass-true/register.js b/scss/tests/sass-true/register.js index 50c9c415e..bf4139ab1 100644 --- a/scss/tests/sass-true/register.js +++ b/scss/tests/sass-true/register.js @@ -1,10 +1,15 @@ /* eslint-env node */ -const runnerPath = require('node:path').join(__dirname, 'runner') +'use strict' + +const path = require('node:path') +const runnerPath = path.join(__dirname, 'runner').replace(/\\/g, '/') + +require.extensions['.scss'] = (module, filename) => { + const normalizedFilename = filename.replace(/\\/g, '/') -require.extensions['.scss'] = function (module, filename) { return module._compile(` const runner = require('${runnerPath}') - runner('${filename}',{describe, it}) + runner('${normalizedFilename}', { describe, it }) `, filename) } diff --git a/scss/tests/sass-true/runner.js b/scss/tests/sass-true/runner.js index 96766938c..44d8da99d 100644 --- a/scss/tests/sass-true/runner.js +++ b/scss/tests/sass-true/runner.js @@ -1,12 +1,14 @@ /* eslint-env node */ +'use strict' + const { runSass } = require('sass-true') const fs = require('node:fs') const path = require('node:path') -module.exports = function (filename, { describe, it }) { - const data = fs.readFileSync(filename, { encoding: 'utf8' }) - const TRUE_SETUP = '$true-terminal-output: false; @import \'true\';' +module.exports = (filename, { describe, it }) => { + const data = fs.readFileSync(filename, 'utf8') + const TRUE_SETUP = '$true-terminal-output: false; @import "true";' runSass({ data: TRUE_SETUP + data, -- cgit v1.2.3 From 31ee235638489b570a17a798e86cba8166ced702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20D=C3=A9ramond?= Date: Thu, 29 Dec 2022 20:08:23 +0100 Subject: Build(deps-dev): Bump sass-true from 6.1.0 to 7.0.0 --- scss/tests/sass-true/runner.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'scss/tests') diff --git a/scss/tests/sass-true/runner.js b/scss/tests/sass-true/runner.js index 44d8da99d..71dc222a5 100644 --- a/scss/tests/sass-true/runner.js +++ b/scss/tests/sass-true/runner.js @@ -9,9 +9,11 @@ const path = require('node:path') module.exports = (filename, { describe, it }) => { const data = fs.readFileSync(filename, 'utf8') const TRUE_SETUP = '$true-terminal-output: false; @import "true";' + const sassString = TRUE_SETUP + data - runSass({ - data: TRUE_SETUP + data, - includePaths: [path.dirname(filename)] - }, { describe, it }) + runSass( + { describe, it, sourceType: 'string' }, + sassString, + { loadPaths: [path.dirname(filename)] } + ) } -- cgit v1.2.3 From 60714e32c76c23c407c291e9bdebcdf211d45222 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20D=C3=A9ramond?= Date: Thu, 12 Jan 2023 06:06:18 +0100 Subject: Add theme maps specific to dark mode (#37843) * Add theme maps specific to dark mode * Fix CSS building * Fix other failing test Co-authored-by: Mark Otto --- scss/tests/utilities/_api.test.scss | 1 + 1 file changed, 1 insertion(+) (limited to 'scss/tests') diff --git a/scss/tests/utilities/_api.test.scss b/scss/tests/utilities/_api.test.scss index 9e84441d2..b764cba5c 100644 --- a/scss/tests/utilities/_api.test.scss +++ b/scss/tests/utilities/_api.test.scss @@ -1,5 +1,6 @@ @import "../../functions"; @import "../../variables"; +@import "../../variables-dark"; @import "../../maps"; @import "../../mixins"; -- cgit v1.2.3 From 80a526621f5baf6d048ea8dd2964eaac16f405b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20D=C3=A9ramond?= Date: Mon, 13 Feb 2023 19:46:49 +0100 Subject: Fix `$grid-breakpoints` SCSS unit tests init (#38037) --- scss/tests/utilities/_api.test.scss | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'scss/tests') diff --git a/scss/tests/utilities/_api.test.scss b/scss/tests/utilities/_api.test.scss index b764cba5c..304d8d1c9 100644 --- a/scss/tests/utilities/_api.test.scss +++ b/scss/tests/utilities/_api.test.scss @@ -27,10 +27,9 @@ $utilities: (); $grid-breakpoints: ( xs: 0, - sm: 576px, - md: 768px - ); - + sm: 333px, + md: 666px + ) !global; @include assert() { @include output() { @@ -52,13 +51,13 @@ $utilities: (); font-size: 1.25rem !important; } - @media (min-width: 576px) { + @media (min-width: 333px) { .padding-sm-1rem { padding: 1rem !important; } } - @media (min-width: 768px) { + @media (min-width: 666px) { .padding-md-1rem { padding: 1rem !important; } -- cgit v1.2.3 From 833da72712fbc1bb61807218acb60476dfc9e0ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20D=C3=A9ramond?= Date: Tue, 7 Mar 2023 06:45:07 +0100 Subject: Fix missing modifications when `--bs-{color}-text` was changed to `--bs-{color}-text-emphasis` (#38176) --- scss/tests/mixins/_color-modes.test.scss | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'scss/tests') diff --git a/scss/tests/mixins/_color-modes.test.scss b/scss/tests/mixins/_color-modes.test.scss index 2f6a7eaaa..9ecc628de 100644 --- a/scss/tests/mixins/_color-modes.test.scss +++ b/scss/tests/mixins/_color-modes.test.scss @@ -12,7 +12,7 @@ @include output() { @include color-mode(dark) { .element { - color: var(--bs-primary-text); + color: var(--bs-primary-text-emphasis); background-color: var(--bs-primary-bg-subtle); } } @@ -22,7 +22,7 @@ } @include expect() { [data-bs-theme=dark] .element { - color: var(--bs-primary-text); + color: var(--bs-primary-text-emphasis); background-color: var(--bs-primary-bg-subtle); } [data-bs-theme=dark] { @@ -41,7 +41,7 @@ @include output() { @include color-mode(dark) { .element { - color: var(--bs-primary-text); + color: var(--bs-primary-text-emphasis); background-color: var(--bs-primary-bg-subtle); } } @@ -52,7 +52,7 @@ @include expect() { @media (prefers-color-scheme: dark) { .element { - color: var(--bs-primary-text); + color: var(--bs-primary-text-emphasis); background-color: var(--bs-primary-bg-subtle); } } -- cgit v1.2.3 From cd890881cb1bf54375053e8d20015dcb896ae85f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20D=C3=A9ramond?= Date: Sun, 26 Mar 2023 09:58:31 +0200 Subject: Add `media-query` color mode Sass test (#38326) --- scss/tests/mixins/_media-query-color-mode-full.test.scss | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 scss/tests/mixins/_media-query-color-mode-full.test.scss (limited to 'scss/tests') diff --git a/scss/tests/mixins/_media-query-color-mode-full.test.scss b/scss/tests/mixins/_media-query-color-mode-full.test.scss new file mode 100644 index 000000000..00ed82d6f --- /dev/null +++ b/scss/tests/mixins/_media-query-color-mode-full.test.scss @@ -0,0 +1,8 @@ +$color-mode-type: media-query; + +@import "../../bootstrap"; + +@include describe("global $color-mode-type: media-query") { + @include it("compiles entirely Bootstrap CSS with media-query color mode") { // stylelint-disable-line block-no-empty + } +} -- cgit v1.2.3 From ae43f0c48bf7acede8a325b24197001fe2b2f416 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Wed, 29 Mar 2023 20:49:30 +0300 Subject: Tweak and re-organize ESLint config (#38369) * Tweak and re-organize ESLint config * merge individual configs to the root config * enable more eslint-plugin-import rules * lint markdown files * Lint --- scss/tests/jasmine.js | 2 -- scss/tests/sass-true/register.js | 3 +-- scss/tests/sass-true/runner.js | 4 +--- 3 files changed, 2 insertions(+), 7 deletions(-) (limited to 'scss/tests') diff --git a/scss/tests/jasmine.js b/scss/tests/jasmine.js index dd78aa551..25d838c97 100644 --- a/scss/tests/jasmine.js +++ b/scss/tests/jasmine.js @@ -1,5 +1,3 @@ -/* eslint-env node */ - /* eslint-disable camelcase */ 'use strict' diff --git a/scss/tests/sass-true/register.js b/scss/tests/sass-true/register.js index bf4139ab1..d93e414c1 100644 --- a/scss/tests/sass-true/register.js +++ b/scss/tests/sass-true/register.js @@ -1,8 +1,7 @@ -/* eslint-env node */ - 'use strict' const path = require('node:path') + const runnerPath = path.join(__dirname, 'runner').replace(/\\/g, '/') require.extensions['.scss'] = (module, filename) => { diff --git a/scss/tests/sass-true/runner.js b/scss/tests/sass-true/runner.js index 71dc222a5..bef870ac6 100644 --- a/scss/tests/sass-true/runner.js +++ b/scss/tests/sass-true/runner.js @@ -1,10 +1,8 @@ -/* eslint-env node */ - 'use strict' -const { runSass } = require('sass-true') const fs = require('node:fs') const path = require('node:path') +const { runSass } = require('sass-true') module.exports = (filename, { describe, it }) => { const data = fs.readFileSync(filename, 'utf8') -- cgit v1.2.3 From fdd306f48100304b09ffd525a4d0cd3f524e0693 Mon Sep 17 00:00:00 2001 From: XhmikosR Date: Tue, 11 Apr 2023 11:44:19 +0300 Subject: Update devDependencies (#38437) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update devDependencies * @babel/preset-env ^7.20.2 → ^7.21.4 * @rollup/plugin-node-resolve ^15.0.1 → ^15.0.2 * eslint ^8.37.0 → ^8.38.0 * rtlcss ^4.0.0 → ^4.1.0 * sass ^1.60.0 → ^1.61.0 * stylelint ^14.16.1 → ^15.4.0 * stylelint-config-twbs-bootstrap ^7.0.0 → ^9.0.1 * vnu-jar 22.9.29 → 23.4.11 * Fix the new Stylelint issues --- scss/tests/mixins/_utilities.test.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scss/tests') diff --git a/scss/tests/mixins/_utilities.test.scss b/scss/tests/mixins/_utilities.test.scss index 16ae169b8..63fcae3af 100644 --- a/scss/tests/mixins/_utilities.test.scss +++ b/scss/tests/mixins/_utilities.test.scss @@ -258,7 +258,7 @@ $enable-important-utilities: false; .desaturated-color-blue { --bs-color-opacity: 1; // Sass compilation will put a leading zero so we want to keep that one - // stylelint-disable-next-line number-leading-zero + // stylelint-disable-next-line stylistic/number-leading-zero --bs-color-saturation: 0.25; color: hsla(192deg, var(--bs-color-saturation), 0, var(--bs-color-opacity)); } -- cgit v1.2.3 From 587e89f11b4973b6dceb47a33ab8a94798c6652a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20D=C3=A9ramond?= Date: Tue, 14 Nov 2023 08:01:29 +0100 Subject: Fix Sass compilation breaking change in v5.3 (#39380) --- scss/tests/mixins/_auto-import-of-variables-dark.test.scss | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 scss/tests/mixins/_auto-import-of-variables-dark.test.scss (limited to 'scss/tests') diff --git a/scss/tests/mixins/_auto-import-of-variables-dark.test.scss b/scss/tests/mixins/_auto-import-of-variables-dark.test.scss new file mode 100644 index 000000000..f08ae5875 --- /dev/null +++ b/scss/tests/mixins/_auto-import-of-variables-dark.test.scss @@ -0,0 +1,7 @@ +// TODO: this file can be removed safely in v6 when `@import "variables-dark"` will be removed at the end of _variables.scss + +@import "../../functions"; +@import "../../variables"; +// Voluntarily not importing _variables-dark.scss +@import "../../maps"; +@import "../../mixins"; -- cgit v1.2.3 From 8ac1bdee8fd826be7fcb2f9de03672c62ddef295 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 23 Dec 2023 18:49:29 +0200 Subject: Build(deps-dev): Bump stylelint and stylelint-config-twbs-bootstrap (#39527) * Build(deps-dev): Bump stylelint and stylelint-config-twbs-bootstrap Bumps [stylelint](https://github.com/stylelint/stylelint) and [stylelint-config-twbs-bootstrap](https://github.com/twbs/stylelint-config-twbs-bootstrap). These dependencies needed to be updated together. Updates `stylelint` from 15.11.0 to 16.0.2 - [Release notes](https://github.com/stylelint/stylelint/releases) - [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md) - [Commits](https://github.com/stylelint/stylelint/compare/15.11.0...16.0.2) Updates `stylelint-config-twbs-bootstrap` from 12.0.0 to 13.0.0 - [Release notes](https://github.com/twbs/stylelint-config-twbs-bootstrap/releases) - [Commits](https://github.com/twbs/stylelint-config-twbs-bootstrap/compare/v12.0.0...v13.0.0) --- updated-dependencies: - dependency-name: stylelint dependency-type: direct:development update-type: version-update:semver-major - dependency-name: stylelint-config-twbs-bootstrap dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Update _utilities.test.scss * Update blog.css * Update blog.rtl.css --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: XhmikosR --- scss/tests/mixins/_utilities.test.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'scss/tests') diff --git a/scss/tests/mixins/_utilities.test.scss b/scss/tests/mixins/_utilities.test.scss index 63fcae3af..8140ac47c 100644 --- a/scss/tests/mixins/_utilities.test.scss +++ b/scss/tests/mixins/_utilities.test.scss @@ -258,7 +258,7 @@ $enable-important-utilities: false; .desaturated-color-blue { --bs-color-opacity: 1; // Sass compilation will put a leading zero so we want to keep that one - // stylelint-disable-next-line stylistic/number-leading-zero + // stylelint-disable-next-line @stylistic/number-leading-zero --bs-color-saturation: 0.25; color: hsla(192deg, var(--bs-color-saturation), 0, var(--bs-color-opacity)); } -- cgit v1.2.3