UNPKG

karma-typescript-postcss-transform

Version:
54 lines 1.91 kB
"use strict"; var log4js = require("log4js"); var os = require("os"); var postcss = require("postcss"); var log; var configure = function (plugins, options, filter) { options = options || {}; filter = (filter instanceof RegExp) ? filter : /\.css$/; var transform = function (context, callback) { options.from = context.filename; options.to = context.filename; if (context.filename.match(filter)) { log.debug("Transforming %s", context.filename); if (!context.source) { return callback(new Error("File is empty"), false); } postcss(plugins) .process(context.source, options) .then(function (result) { result.warnings().forEach(function (warning) { log.warn(warning.toString()); }); context.source = result.css; callback(undefined, true); }, function (error) { if (error.name === "CssSyntaxError") { log.warn(error.message + os.EOL + error.showSourceCode()); callback(undefined, false); } else { callback(error, false); } }); } else { return callback(undefined, false); } }; var initialize = function (logOptions) { log4js.configure({ appenders: logOptions.appenders, categories: { default: { appenders: Object.keys(logOptions.appenders), level: logOptions.level } } }); log = log4js.getLogger("postcss-transform.karma-typescript"); }; return Object.assign(transform, { initialize: initialize }); }; module.exports = configure; //# sourceMappingURL=transform.js.map