настройка webpack
This commit is contained in:
52
node_modules/icss-utils/lib/extractICSS.js
generated
vendored
Normal file
52
node_modules/icss-utils/lib/extractICSS.js
generated
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
"use strict";
|
||||
|
||||
Object.defineProperty(exports, "__esModule", {
|
||||
value: true
|
||||
});
|
||||
exports.default = void 0;
|
||||
const importPattern = /^:import\(("[^"]*"|'[^']*'|[^"']+)\)$/;
|
||||
|
||||
const getDeclsObject = rule => {
|
||||
const object = {};
|
||||
rule.walkDecls(decl => {
|
||||
const before = decl.raws.before ? decl.raws.before.trim() : "";
|
||||
object[before + decl.prop] = decl.value;
|
||||
});
|
||||
return object;
|
||||
};
|
||||
|
||||
const extractICSS = (css, removeRules = true) => {
|
||||
const icssImports = {};
|
||||
const icssExports = {};
|
||||
css.each(node => {
|
||||
if (node.type === "rule") {
|
||||
if (node.selector.slice(0, 7) === ":import") {
|
||||
const matches = importPattern.exec(node.selector);
|
||||
|
||||
if (matches) {
|
||||
const path = matches[1].replace(/'|"/g, "");
|
||||
icssImports[path] = Object.assign(icssImports[path] || {}, getDeclsObject(node));
|
||||
|
||||
if (removeRules) {
|
||||
node.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (node.selector === ":export") {
|
||||
Object.assign(icssExports, getDeclsObject(node));
|
||||
|
||||
if (removeRules) {
|
||||
node.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
return {
|
||||
icssImports,
|
||||
icssExports
|
||||
};
|
||||
};
|
||||
|
||||
var _default = extractICSS;
|
||||
exports.default = _default;
|
||||
Reference in New Issue
Block a user