diff --git a/Classes/Parser/ScssParser.php b/Classes/Parser/ScssParser.php index 6c6ea6d..c0704a6 100644 --- a/Classes/Parser/ScssParser.php +++ b/Classes/Parser/ScssParser.php @@ -2,6 +2,8 @@ namespace KayStrobach\DyncssScss\Parser; +use KayStrobach\Dyncss\Utilities\ApplicationContext; + class ScssParser extends \KayStrobach\Dyncss\Parser\AbstractParser { public function __construct() @@ -45,6 +47,16 @@ protected function _compileFile($inputFilename, $preparedFilename, $outputFilena try { $this->parser->setVariables($this->overrides); $this->parser->setImportPaths(array(dirname($inputFilename), dirname($preparedFilename))); + if (ApplicationContext::isDevelopmentModeActive() || $this->config['enableDebugMode'] === '1') { + $this->parser->setSourceMap(\Leafo\ScssPhp\Compiler::SOURCE_MAP_FILE); + $this->parser->setSourceMapOptions(array( + 'sourceMapWriteTo' => $preparedFilename . ".map", + 'sourceMapURL' => '/' . str_replace(PATH_site, '', $preparedFilename) . ".map", + 'sourceMapFilename' => '/' . $preparedFilename, // url location of .css file + 'sourceMapBasepath' => PATH_site, // difference between file & url locations, removed from ALL source files in .map + 'sourceRoot' => '/', + )); + } return $this->parser->compile('@import "' . basename($preparedFilename) . '"'); } catch (Exception $e) { return $e; diff --git a/README.md b/README.md index 20866c1..8afd2fe 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,5 @@ Dyncss adapter for scss (not sass!) Please see https://github.com/kaystrobach/TYPO3.dyncss for more documentation. This extension just provides the adapter for the scss file format. + +Generation of css sourcemaps is enabled for any TYPO3 Development context or by enabling debugMode in extension configuration of EXT:dyncss