stylelint-processor-glamorous
Version:
Lint glamorous and related css-in-js with stylelint
59 lines (48 loc) • 1.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _babylon = require("babylon");
var _extract2 = _interopRequireDefault(require("./extract"));
var _ignoredRules = _interopRequireDefault(require("./ignoredRules"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var parse = function parse(input) {
var options = {
sourceType: 'module',
plugins: ['jsx', 'flow', 'objectRestSpread', 'typescript', 'decorators', 'classProperties', 'exportExtensions', 'asyncGenerators', 'functionBind', 'functionSent', 'dynamicImport']
};
return (0, _babylon.parse)(input, options);
};
var sourceMaps = {};
var _default = function _default() {
return {
code: function code(input, path) {
try {
var _extract = (0, _extract2.default)(parse(input)),
css = _extract.css,
sourceMap = _extract.sourceMap;
sourceMaps[path] = sourceMap;
return css;
} catch (e) {
if (e.name === 'SyntaxError') {
return '';
}
throw e;
}
},
result: function result(_result, path) {
return Object.assign({}, _result, {
warnings: _result.warnings.filter(function (warning) {
return !_ignoredRules.default.includes(warning.rule);
}).map(function (warning) {
return Object.assign({}, warning, {
line: sourceMaps[path].get(warning.line).line,
column: sourceMaps[path].get(warning.line).column + warning.column
});
})
});
}
};
};
exports.default = _default;