<===> single/input.scss
@use "midstream";
<===> single/_midstream.scss
@forward "upstream" with ($a: configured);
<===> single/_upstream.scss
$a: original !default;
b {c: $a}
<===> single/output.css
b {
c: configured;
}
<===>
================================================================================
<===> null/input.scss
@use "midstream";
<===> null/_midstream.scss
@forward "upstream" with ($a: null);
<===> null/_upstream.scss
$a: original !default;
b {c: $a}
<===> null/output.css
b {
c: original;
}
<===>
================================================================================
<===> default/input.scss
@use "midstream";
<===> default/_midstream.scss
@forward "upstream" with ($a: configured !default);
<===> default/_upstream.scss
$a: original !default;
b {c: $a}
<===> default/output.css
b {
c: configured;
}
<===>
================================================================================
<===> trailing_comma/input.scss
@use "midstream";
<===> trailing_comma/_midstream.scss
@forward "upstream" with ($a: configured,);
<===> trailing_comma/_upstream.scss
$a: original !default;
b {c: $a}
<===> trailing_comma/output.css
b {
c: configured;
}
<===>
================================================================================
<===> trailing_comma/default/input.scss
@use "midstream";
<===> trailing_comma/default/_midstream.scss
@forward "upstream" with ($a: configured !default,);
<===> trailing_comma/default/_upstream.scss
$a: original !default;
b {c: $a}
<===> trailing_comma/default/output.css
b {
c: configured;
}
<===>
================================================================================
<===> dash_insensitive/input.scss
@use "midstream";
<===> dash_insensitive/_midstream.scss
@forward "upstream" with ($a_b: configured);
<===> dash_insensitive/_upstream.scss
$a-b: original !default;
b {c: $a-b}
<===> dash_insensitive/output.css
b {
c: configured;
}
<===>
================================================================================
<===> multiple/input.scss
@use "midstream";
<===> multiple/_midstream.scss
@forward "upstream" with (
$a: configured a,
$b: configured b,
$c: configured c
);
<===> multiple/_upstream.scss
$a: original a !default;
$b: original b !default;
$c: original c !default;
d {
a: $a;
b: $b;
c: $c;
}
<===> multiple/output.css
d {
a: configured a;
b: configured b;
c: configured c;
}
<===>
================================================================================
<===> multiple/default/input.scss
@use "midstream";
<===> multiple/default/_midstream.scss
@forward "upstream" with (
$a: configured a !default,
$b: configured b !default,
$c: configured c !default
);
<===> multiple/default/_upstream.scss
$a: original a !default;
$b: original b !default;
$c: original c !default;
d {
a: $a;
b: $b;
c: $c;
}
<===> multiple/default/output.css
d {
a: configured a;
b: configured b;
c: configured c;
}
<===>
================================================================================
<===> some_unconfigured/input.scss
@use "midstream";
<===> some_unconfigured/_midstream.scss
@forward "upstream" with ($a: configured a);
<===> some_unconfigured/_upstream.scss
$a: original a !default;
$b: original b !default;
c {
a: $a;
b: $b;
}
<===> some_unconfigured/output.css
c {
a: configured a;
b: original b;
}
<===>
================================================================================
<===> from_variable/input.scss
@use "midstream";
<===> from_variable/_midstream.scss
$a: configured;
@forward "upstream" with ($a: $a);
<===> from_variable/_upstream.scss
$a: original a !default;
b {c: $a}
<===> from_variable/output.css
b {
c: configured;
}
<===>
================================================================================
<===> doesnt_run_default/input.scss
@use "midstream";
<===> doesnt_run_default/_midstream.scss
@forward "upstream" with ($a: configured);
<===> doesnt_run_default/_upstream.scss
// This will throw an error if it's evaluated, but it shouldn't be because `$a`
// already has a value.
$a: 1px + 1em !default;
b {c: $a}
<===> doesnt_run_default/output.css
b {
c: configured;
}
<===>
================================================================================
<===> used_in_input/input.scss
@use "midstream";
b {c: midstream.$a}
<===> used_in_input/_midstream.scss
@forward "upstream" with ($a: configured);
<===> used_in_input/_upstream.scss
$a: original !default;
<===> used_in_input/output.css
b {
c: configured;
}
<===>
================================================================================
<===> variable_exists/input.scss
@use "midstream";
<===> variable_exists/_midstream.scss
@forward "upstream" with ($a: configured);
<===> variable_exists/_upstream.scss
$before-declaration: variable-exists(a);
$a: original !default;
b {
before-declaration: $before-declaration;
after-declaration: variable-exists(a);
}
<===> variable_exists/output.css
b {
before-declaration: false;
after-declaration: true;
}
<===>
================================================================================
<===> through_import/direct/input.scss
@use "downstream";
<===> through_import/direct/_downstream.scss
@forward "midstream" with ($a: configured);
<===> through_import/direct/_midstream.scss
@import "upstream";
<===> through_import/direct/_upstream.scss
$a: original !default;
b {c: $a}
<===> through_import/direct/output.css
b {
c: configured;
}
<===>
================================================================================
<===> through_import/transitive/input.scss
@use "used";
<===> through_import/transitive/_used.scss
@forward "forwarded" with ($a: configured);
<===> through_import/transitive/_forwarded.scss
@import "imported_downstream";
<===> through_import/transitive/_imported_downstream.scss
@import "imported_upstream";
<===> through_import/transitive/_imported_upstream.scss
$a: original !default;
b {c: $a}
<===> through_import/transitive/output.css
b {
c: configured;
}
<===>
================================================================================
<===> through_forward/bare/input.scss
@use "downstream";
<===> through_forward/bare/_downstream.scss
@forward "midstream" with ($a: configured);
<===> through_forward/bare/_midstream.scss
@forward "upstream";
<===> through_forward/bare/_upstream.scss
$a: original !default;
b {c: $a}
<===> through_forward/bare/output.css
b {
c: configured;
}
<===>
================================================================================
<===> through_forward/with/default/input.scss
@use "downstream";
<===> through_forward/with/default/_downstream.scss
@forward "midstream" with ($a: from downstream);
<===> through_forward/with/default/_midstream.scss
@forward "upstream" with ($a: from midstream !default);
<===> through_forward/with/default/_upstream.scss
$a: from upstream !default;
b {c: $a}
<===> through_forward/with/default/output.css
b {
c: from downstream;
}
<===>
================================================================================
<===> through_forward/with/null/input.scss
@use "downstream";
<===> through_forward/with/null/_downstream.scss
@forward "midstream" with ($a: null);
<===> through_forward/with/null/_midstream.scss
@forward "upstream" with ($a: from midstream !default);
<===> through_forward/with/null/_upstream.scss
$a: from upstream !default;
b {c: $a}
<===> through_forward/with/null/output.css
b {
c: from midstream;
}
<===>
================================================================================
<===> through_forward/with/unconfigured/input.scss
@use "downstream";
<===> through_forward/with/unconfigured/_downstream.scss
@forward "midstream" with ($a: from downstream);
<===> through_forward/with/unconfigured/_midstream.scss
@forward "upstream" with ($b: from midstream !default);
<===> through_forward/with/unconfigured/_upstream.scss
$a: from upstream !default;
$b: from upstream !default;
c {
a: $a;
b: $b;
}
<===> through_forward/with/unconfigured/output.css
c {
a: from downstream;
b: from midstream;
}
<===>
================================================================================
<===> through_forward/show/input.scss
@use "downstream";
<===> through_forward/show/_downstream.scss
@forward "midstream" with ($a: configured);
<===> through_forward/show/_midstream.scss
@forward "upstream" show $a;
<===> through_forward/show/_upstream.scss
$a: original !default;
b {c: $a}
<===> through_forward/show/output.css
b {
c: configured;
}
<===>
================================================================================
<===> through_forward/hide/input.scss
@use "downstream";
<===> through_forward/hide/_downstream.scss
@forward "midstream" with ($a: configured);
<===> through_forward/hide/_midstream.scss
@forward "upstream" hide $b;
<===> through_forward/hide/_upstream.scss
$a: original !default;
b {c: $a}
<===> through_forward/hide/output.css
b {
c: configured;
}
<===>
================================================================================
<===> through_forward/as/input.scss
@use "downstream";
<===> through_forward/as/_downstream.scss
@forward "midstream" with ($b-a: configured);
<===> through_forward/as/_midstream.scss
@forward "upstream" as b-*;
<===> through_forward/as/_upstream.scss
$a: original !default;
c {d: $a}
<===> through_forward/as/output.css
c {
d: configured;
}
<===>
================================================================================
<===> through_forward/with_unrelated_config/input.scss
@use "downstream";
<===> through_forward/with_unrelated_config/_downstream.scss
@forward "midstream" with ($from-midstream: configured);
<===> through_forward/with_unrelated_config/_midstream.scss
@forward "upstream";
$from-midstream: original !default;
a {from-midstream: $from-midstream}
<===> through_forward/with_unrelated_config/_upstream.scss
$from-upstream: original !default;
b {from-upstream: $from-upstream}
<===> through_forward/with_unrelated_config/output.css
b {
from-upstream: original;
}
a {
from-midstream: configured;
}
<===>
================================================================================
<===> through_forward/and_use/input.scss
@use "downstream";
<===> through_forward/and_use/_downstream.scss
// Regression test for sass/sass#2744.
@use "midstream" with ($c: e);
a {b: midstream.$c}
<===> through_forward/and_use/_midstream.scss
@forward "definition";
@forward "user";
<===> through_forward/and_use/_definition.scss
$c: d !default;
<===> through_forward/and_use/_user.scss
@use "definition";
<===> through_forward/and_use/output.css
a {
b: e;
}
<===>
================================================================================
<===> core_module/indirect/use/input.scss
@use "midstream";
a {b: midstream.$c}
<===> core_module/indirect/use/_midstream.scss
// Regression test for sass/dart-sass#838.
@forward "upstream" with ($c: e);
<===> core_module/indirect/use/_upstream.scss
@use "sass:color";
$c: d !default;
<===> core_module/indirect/use/output.css
a {
b: e;
}
<===>
================================================================================
<===> core_module/indirect/forward/input.scss
@use "midstream";
a {b: midstream.$c}
<===> core_module/indirect/forward/_midstream.scss
// Regression test for sass/dart-sass#838.
@forward "upstream" with ($c: e);
<===> core_module/indirect/forward/_upstream.scss
@forward "sass:color";
$c: d !default;
<===> core_module/indirect/forward/output.css
a {
b: e;
}
<===>
================================================================================
<===> multi_load/README.md
If a module is first loaded with a configuration, future loads with no
configuration will use the configured module.
<===>
================================================================================
<===> multi_load/use/input.scss
@forward "upstream" with ($a: configured);
@use "midstream";
<===> multi_load/use/_midstream.scss
@use "upstream";
b {c: upstream.$a}
<===> multi_load/use/_upstream.scss
$a: original !default;
<===> multi_load/use/output.css
b {
c: configured;
}
<===>
================================================================================
<===> multi_load/forward/input.scss
@forward "upstream" with ($a: configured);
@use "midstream";
b {c: midstream.$a}
<===> multi_load/forward/_midstream.scss
@forward "upstream";
<===> multi_load/forward/_upstream.scss
$a: original !default;
<===> multi_load/forward/output.css
b {
c: configured;
}
<===>
================================================================================
<===> multi_load/transitive/input.scss
@use "downstream";
b {
midstream1: downstream.$m1-a;
midstream2: downstream.$m2-a;
}
<===> multi_load/transitive/_downstream.scss
// Regression test for sass/dart-sass#854.
@forward "midstream1" as m1-* with ($a: overridden 1);
@forward "midstream2" as m2-* with ($a: overridden 2);
<===> multi_load/transitive/_midstream1.scss
@use "upstream";
$a: default 1 !default;
<===> multi_load/transitive/_midstream2.scss
@use "upstream";
$a: default 2 !default;
<===> multi_load/transitive/_upstream.scss
c {d: e}
<===> multi_load/transitive/output.css
c {
d: e;
}
b {
midstream1: overridden 1;
midstream2: overridden 2;
}