Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
var saveCss = function (css) {
// remove local file path prefix
if (settings.lineComments || settings.debugInfo) {
var rootDir = options.paths[0] + path.sep;
rootDir = rootDir.replace(/\\/g, '\\\\');
css = css.replace(new RegExp(rootDir, 'g'), '');
}
// auto add css prefix
if (settings.autoprefix) {
css = require('autoprefixer').process(css).css;
if (settings.sourceMap) {
css = css + '\n/*# sourceMappingURL=' + path.basename(output) + '.map */'
}
}
//write css code into output
fs.writeFile(output, css, 'utf8', function (wErr) {
if (wErr) {
triggerError(wErr);
} else {
emitter.emit('done');
emitter.emit('always');
//add watch import file
common.watchImports('less', filePath);
}
const name = _filePath.split('/').slice(-2).join('/');
const previewName = name.replace('/_preview.html', '');
const example = fs.readFileSync(exampleHtmls[index], 'utf8');
const preview = fs.readFileSync(_filePath, 'utf8');
let resultCss;
let resultCssString;
try {
resultCss = sass.renderSync({
file: _filePath.replace('_preview.html', 'index.scss'),
outputStyle: 'expanded',
});
resultCssString = autoprefixer.process(resultCss.css).css;
} catch (error) {} // eslint-disable-line
switch (previewName.substring(0, 2)) {
case 'a-':
createAmoComponents(ATOMS, previewName, 'Atom', preview, resultCssString, example);
break;
case 'm-':
createAmoComponents(MOLECULES, previewName, 'Molecule', preview, resultCssString, example);
break;
case 'o-':
createAmoComponents(ORGANISMS, previewName, 'Organism', preview, resultCssString, example);
break;
default:
createAmoComponents(ORGANISMS, previewName, 'Organism', preview, resultCssString, example);
}
});
minify(_input: string | CssInputFile): MinifyOutput {
const cssInputStr = typeof _input === 'string' ? _input : _input.data;
let css: string;
if (this.ap.use) {
try {
css = autoprefixer.process(cssInputStr, this.ap.options).toString();
} catch (e) {
return {
success: false,
warnings: [],
errors: [
// 'Autoprefixer failed to parse CSS. Probaly due to an syntax error.',
e.message
]
};
}
} else {
less.render(data.toString('utf-8'), lessOptions, (err, css) => {
if (err) throw err
let results = autoprefixer.process(css.css).css
fs.writeFile(cssFile, results, 'utf-8', (err) => {
if (err) throw err
console.log('CSS was successfully generated')
})
})
exports.autoprefix = function (file) {
var cssFile = file.output,
css = fs.readFileSync(cssFile),
autoprefixer = require('autoprefixer');
css = autoprefixer.process(css).css;
if (file.settings.sourceMap) {
css = css + '\n/*# sourceMappingURL=' + path.basename(cssFile) + '.map */'
}
fs.writeFileSync(cssFile, css);
}
sass.render({ file: file }, function (err, result) {
if (err) {
var prettyError =
renderError('You have errors in of your Sass file(s):', err.formatted)
if (shouldFail) {
callback(err.formatted, null)
} else {
callback(null, prettyError)
}
} else {
autoprefixer
.process(result.css)
.then(function (result2) {
callback(null, result2.css)
})
}
})
}
success: function(css){
var prefixed = autoprefixer.process(css).css
fs.writeFile(outFile, prefixed, cb)
},
error: cb
Sass.compile(scssText, function (r) {
if (scssText.substr(0,5) === "//!NA") {
cssEditor.setValue(r.text, -1);
} else {
cssEditor.setValue(autoprefixer.process(r.text).css, -1);
}
});
}