UNPKG

zarbis

Version:

Configuration-less build tool

37 lines (35 loc) 1.66 kB
import { stringifyRequest } from 'loader-utils'; export function pitch(request) { if (this.cacheable) { this.cacheable(); } const insertCss = require.resolve('./insertCss.js'); const insertCssRequestString = stringifyRequest(this, `!${insertCss}`); // TODO: Something is broken in webpack or loader-utils, but idk what let requestString = stringifyRequest(this, `!!${request}`); requestString = requestString.replace('??ruleSet[1].rules[5]', '?modules=local&sourceMap=false&localsConvention=camelCaseOnly'); requestString = requestString.replace('??ruleSet[1].rules[6]', ''); return ` var refs = 0; var css = require(${requestString}); var insertCss = require(${insertCssRequestString}).default; var content = typeof css === 'string' ? [[module.id, css, '']] : css; exports = module.exports = css.locals || {}; exports._getContent = function() { return content; }; exports._getCss = function() { return '' + css; }; exports._insertCss = function(options) { return insertCss(content, options) }; // Hot Module Replacement // https://webpack.github.io/docs/hot-module-replacement // Only activated in browser context if (module.hot && typeof window !== 'undefined' && window.document) { var removeCss = function() {}; module.hot.accept(${requestString}, function() { css = require(${requestString}); content = typeof css === 'string' ? [[module.id, css, '']] : css; removeCss = insertCss(content, { replace: true }); }); module.hot.dispose(function() { removeCss(); }); } `; } //# sourceMappingURL=index.js.map