first commit

This commit is contained in:
DanielRamirezGe
2020-01-14 20:43:08 -06:00
parent 3557894f7f
commit 5eecfbf6cd
26326 changed files with 2434803 additions and 0 deletions
+87
View File
@@ -0,0 +1,87 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _postcss = _interopRequireDefault(require("postcss"));
var _icssUtils = require("icss-utils");
var _loaderUtils = _interopRequireDefault(require("loader-utils"));
var _utils = require("../utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const pluginName = 'postcss-icss-parser';
function hasImportMessage(messages, url) {
return messages.find(message => message.pluginName === pluginName && message.type === 'import' && message.item.url === url && message.item.media === '');
}
var _default = _postcss.default.plugin(pluginName, (options = {}) => function process(css, result) {
const importReplacements = Object.create(null);
const {
icssImports,
icssExports
} = (0, _icssUtils.extractICSS)(css);
let index = 0;
for (const importUrl of Object.keys(icssImports)) {
const url = _loaderUtils.default.parseString(importUrl);
for (const token of Object.keys(icssImports[importUrl])) {
index += 1;
importReplacements[token] = `___CSS_LOADER_IMPORT___${index}___`;
result.messages.push({
pluginName,
type: 'icss-import',
item: {
url,
export: icssImports[importUrl][token],
index
}
});
if (!hasImportMessage(result.messages, url)) {
const media = '';
const {
loaderContext,
importPrefix
} = options;
result.messages.push({
pluginName,
type: 'import',
import: (0, _utils.getImportItemCode)({
url,
media
}, loaderContext, importPrefix),
item: {
url,
media
}
});
}
}
}
(0, _icssUtils.replaceSymbols)(css, importReplacements);
for (const exportName of Object.keys(icssExports)) {
const name = exportName;
const value = (0, _icssUtils.replaceValueSymbols)(icssExports[name], importReplacements);
result.messages.push({
pluginName,
export: (0, _utils.getExportItemCode)(name, value, options.localsConvention),
type: 'export',
item: {
name,
value
}
});
}
});
exports.default = _default;