UNPKG

custom-app

Version:

ITIMS��Ʒ�鿪��ר��React���,�Dz��ý��ּ�dhcc-app���������

87 lines (72 loc) 2.32 kB
"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;