217 lines
7.1 KiB
JavaScript
217 lines
7.1 KiB
JavaScript
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", {
|
||
|
value: true
|
||
|
});
|
||
|
const _path = /*#__PURE__*/ _interop_require_default(require("path"));
|
||
|
const _stringifyrequest = require("../../stringify-request");
|
||
|
function _interop_require_default(obj) {
|
||
|
return obj && obj.__esModule ? obj : {
|
||
|
default: obj
|
||
|
};
|
||
|
}
|
||
|
const loaderApi = ()=>{};
|
||
|
loaderApi.pitch = function loader(request) {
|
||
|
const loaderSpan = this.currentTraceSpan.traceChild("next-style-loader");
|
||
|
return loaderSpan.traceFn(()=>{
|
||
|
const options = this.getOptions();
|
||
|
const insert = typeof options.insert === "undefined" ? '"head"' : typeof options.insert === "string" ? JSON.stringify(options.insert) : options.insert.toString();
|
||
|
const injectType = options.injectType || "styleTag";
|
||
|
const esModule = typeof options.esModule !== "undefined" ? options.esModule : false;
|
||
|
delete options.esModule;
|
||
|
switch(injectType){
|
||
|
case "linkTag":
|
||
|
{
|
||
|
const hmrCode = this.hot ? `
|
||
|
if (module.hot) {
|
||
|
module.hot.accept(
|
||
|
${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)},
|
||
|
function() {
|
||
|
${esModule ? "update(content);" : `content = require(${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)});
|
||
|
|
||
|
content = content.__esModule ? content.default : content;
|
||
|
|
||
|
update(content);`}
|
||
|
}
|
||
|
);
|
||
|
|
||
|
module.hot.dispose(function() {
|
||
|
update();
|
||
|
});
|
||
|
}` : "";
|
||
|
return `${esModule ? `import api from ${(0, _stringifyrequest.stringifyRequest)(this, `!${_path.default.join(__dirname, "runtime/injectStylesIntoLinkTag.js")}`)};
|
||
|
import content from ${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)};` : `var api = require(${(0, _stringifyrequest.stringifyRequest)(this, `!${_path.default.join(__dirname, "runtime/injectStylesIntoLinkTag.js")}`)});
|
||
|
var content = require(${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)});
|
||
|
|
||
|
content = content.__esModule ? content.default : content;`}
|
||
|
|
||
|
var options = ${JSON.stringify(options)};
|
||
|
|
||
|
options.insert = ${insert};
|
||
|
|
||
|
var update = api(content, options);
|
||
|
|
||
|
${hmrCode}
|
||
|
|
||
|
${esModule ? "export default {}" : ""}`;
|
||
|
}
|
||
|
case "lazyStyleTag":
|
||
|
case "lazySingletonStyleTag":
|
||
|
{
|
||
|
const isSingleton = injectType === "lazySingletonStyleTag";
|
||
|
const hmrCode = this.hot ? `
|
||
|
if (module.hot) {
|
||
|
if (!content.locals || module.hot.invalidate) {
|
||
|
var isEqualLocals = ${require("./runtime/isEqualLocals").toString()};
|
||
|
console.log({isEqualLocals})
|
||
|
var oldLocals = content.locals;
|
||
|
|
||
|
module.hot.accept(
|
||
|
${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)},
|
||
|
function () {
|
||
|
${esModule ? `if (!isEqualLocals(oldLocals, content.locals)) {
|
||
|
module.hot.invalidate();
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
oldLocals = content.locals;
|
||
|
|
||
|
if (update && refs > 0) {
|
||
|
update(content);
|
||
|
}` : `content = require(${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)});
|
||
|
|
||
|
content = content.__esModule ? content.default : content;
|
||
|
|
||
|
if (!isEqualLocals(oldLocals, content.locals)) {
|
||
|
module.hot.invalidate();
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
oldLocals = content.locals;
|
||
|
|
||
|
if (update && refs > 0) {
|
||
|
update(content);
|
||
|
}`}
|
||
|
}
|
||
|
)
|
||
|
}
|
||
|
|
||
|
module.hot.dispose(function() {
|
||
|
if (update) {
|
||
|
update();
|
||
|
}
|
||
|
});
|
||
|
}` : "";
|
||
|
return `${esModule ? `import api from ${(0, _stringifyrequest.stringifyRequest)(this, `!${_path.default.join(__dirname, "runtime/injectStylesIntoStyleTag.js")}`)};
|
||
|
import content from ${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)};` : `var api = require(${(0, _stringifyrequest.stringifyRequest)(this, `!${_path.default.join(__dirname, "runtime/injectStylesIntoStyleTag.js")}`)});
|
||
|
var content = require(${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)});
|
||
|
|
||
|
content = content.__esModule ? content.default : content;
|
||
|
|
||
|
if (typeof content === 'string') {
|
||
|
content = [[module.id, content, '']];
|
||
|
}`}
|
||
|
|
||
|
var refs = 0;
|
||
|
var update;
|
||
|
var options = ${JSON.stringify(options)};
|
||
|
|
||
|
options.insert = ${insert};
|
||
|
options.singleton = ${isSingleton};
|
||
|
|
||
|
var exported = {};
|
||
|
|
||
|
exported.locals = content.locals || {};
|
||
|
exported.use = function() {
|
||
|
if (!(refs++)) {
|
||
|
update = api(content, options);
|
||
|
}
|
||
|
|
||
|
return exported;
|
||
|
};
|
||
|
exported.unuse = function() {
|
||
|
if (refs > 0 && !--refs) {
|
||
|
update();
|
||
|
update = null;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
${hmrCode}
|
||
|
|
||
|
${esModule ? "export default" : "module.exports ="} exported;`;
|
||
|
}
|
||
|
case "styleTag":
|
||
|
case "singletonStyleTag":
|
||
|
default:
|
||
|
{
|
||
|
const isSingleton = injectType === "singletonStyleTag";
|
||
|
const hmrCode = this.hot ? `
|
||
|
if (module.hot) {
|
||
|
if (!content.locals || module.hot.invalidate) {
|
||
|
var isEqualLocals = ${require("./runtime/isEqualLocals").toString()};
|
||
|
var oldLocals = content.locals;
|
||
|
|
||
|
module.hot.accept(
|
||
|
${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)},
|
||
|
function () {
|
||
|
${esModule ? `if (!isEqualLocals(oldLocals, content.locals)) {
|
||
|
module.hot.invalidate();
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
oldLocals = content.locals;
|
||
|
|
||
|
update(content);` : `content = require(${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)});
|
||
|
|
||
|
content = content.__esModule ? content.default : content;
|
||
|
|
||
|
if (typeof content === 'string') {
|
||
|
content = [[module.id, content, '']];
|
||
|
}
|
||
|
|
||
|
if (!isEqualLocals(oldLocals, content.locals)) {
|
||
|
module.hot.invalidate();
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
oldLocals = content.locals;
|
||
|
|
||
|
update(content);`}
|
||
|
}
|
||
|
)
|
||
|
}
|
||
|
|
||
|
module.hot.dispose(function() {
|
||
|
update();
|
||
|
});
|
||
|
}` : "";
|
||
|
return `${esModule ? `import api from ${(0, _stringifyrequest.stringifyRequest)(this, `!${_path.default.join(__dirname, "runtime/injectStylesIntoStyleTag.js")}`)};
|
||
|
import content from ${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)};` : `var api = require(${(0, _stringifyrequest.stringifyRequest)(this, `!${_path.default.join(__dirname, "runtime/injectStylesIntoStyleTag.js")}`)});
|
||
|
var content = require(${(0, _stringifyrequest.stringifyRequest)(this, `!!${request}`)});
|
||
|
|
||
|
content = content.__esModule ? content.default : content;
|
||
|
|
||
|
if (typeof content === 'string') {
|
||
|
content = [[module.id, content, '']];
|
||
|
}`}
|
||
|
|
||
|
var options = ${JSON.stringify(options)};
|
||
|
|
||
|
options.insert = ${insert};
|
||
|
options.singleton = ${isSingleton};
|
||
|
|
||
|
var update = api(content, options);
|
||
|
|
||
|
${hmrCode}
|
||
|
|
||
|
${esModule ? "export default" : "module.exports ="} content.locals || {};`;
|
||
|
}
|
||
|
}
|
||
|
});
|
||
|
};
|
||
|
module.exports = loaderApi;
|
||
|
|
||
|
//# sourceMappingURL=index.js.map
|