Add feature flag support for Storefront SCSS 
INFO
This document represents an architecture decision record (ADR) and has been mirrored from the ADR section in our Shopware 6 repository. You can find the original version here
Context 
- There is no possibility to check for feature flags inside the Storefront SCSS.
- Altering the SCSS depending on a feature flag will require workarounds like e.g. "making up" and additional class in the template and use the feature toggle in twig instead. - The SCSS of a selector which is hidden behind a feature flag will still be in the compiled CSS.
 
- It is not easily possible to make breaking changes inside SCSS functions, mixins or variables backward-compatible with the use of feature flags.
Decision 
- Add the possibility to check for feature flags inside SCSS, similar to the twig implementation.
- The feature configuration from Feature::getAll()is converted to a SCSS map inside\Shopware\Storefront\Theme\ThemeCompiler::getFeatureConfigScssMap.- This SCSS map is always added to the SCSS string which gets processed by \Shopware\Storefront\Theme\ThemeCompiler::compileTheme.
- For webpack hot-proxy the var/config_js_features.jsonis used instead.
 
- This SCSS map is always added to the SCSS string which gets processed by 
- The SCSS map looks like this: $sw-features: ("FEATURE_NEXT_1234": false, "FEATURE_NEXT_1235": true);
- A globally available function feature()is used to read inside the SCSS map if a desired feature is active.
Example:
scss
body {
    @if feature('FEATURE_NEXT_1') {
        background-color: #ff0000;
    } @else {
        background-color: #ffcc00;
    }
}Consequences 
The feature dump file var/config_js_features.json is now used by the Storefront webpack configuration src/Storefront/Resources/app/storefront/webpack.config.js. When the feature dump cannot be found, all features will be disabled/false inside webpack.config.js and hot-proxy SCSS. A warning is shown in this case with the request to execute bin/console feature:dump manually.