UNPKG

next

Version:

The React Framework

56 lines (55 loc) 2.08 kB
/** * For server-side CSS imports, we need to ignore the actual module content but * still trigger the hot-reloading diff mechanism. So here we put the content * inside a comment. */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _crypto = /*#__PURE__*/ _interop_require_default(require("crypto")); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const NextServerCSSLoader = function(content) { this.cacheable && this.cacheable(); const options = this.getOptions(); let isCSSModule = options.cssModules; // Only add the checksum during development. if (process.env.NODE_ENV !== 'production') { // This check is only for backwards compatibility. // TODO: Remove this in the next major version (next 14) if (isCSSModule === undefined) { this.emitWarning(Object.defineProperty(new Error("No 'cssModules' option was found for the next-flight-css-loader plugin."), "__NEXT_ERROR_CODE", { value: "E8", enumerable: false, configurable: true })); isCSSModule = this.resourcePath.match(/\.module\.(css|sass|scss)$/) !== null; } const checksum = _crypto.default.createHash('sha1').update(typeof content === 'string' ? Buffer.from(content) : content).digest().toString('hex').substring(0, 12); if (isCSSModule) { return `\ ${content} module.exports.__checksum = ${JSON.stringify(checksum)} `; } // Server CSS imports are always available for HMR, so we attach // `module.hot.accept()` to the generated module. const hmrCode = 'if (module.hot) { module.hot.accept() }'; return `\ export default ${JSON.stringify(checksum)} ${hmrCode} `; } return content; }; const _default = NextServerCSSLoader; //# sourceMappingURL=next-flight-css-loader.js.map