blob: 45d8426f9e815f368fb298fdc60a3175eac7ce87 [file] [log] [blame]
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _webpack = _interopRequireDefault(require("webpack"));
var _utils = require("./utils");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const TYPES = new Set([_utils.MODULE_TYPE]);
const CODE_GENERATION_RESULT = {
sources: new Map(),
runtimeRequirements: new Set()
};
class CssModule extends _webpack.default.Module {
constructor({
context,
identifier,
identifierIndex,
content,
media,
sourceMap
}) {
super(_utils.MODULE_TYPE, context);
this.id = '';
this._context = context;
this._identifier = identifier;
this._identifierIndex = identifierIndex;
this.content = content;
this.media = media;
this.sourceMap = sourceMap;
this.buildInfo = {};
this.buildMeta = {};
} // no source() so webpack 4 doesn't do add stuff to the bundle
size() {
return this.content.length;
}
identifier() {
return `css ${this._identifier} ${this._identifierIndex}`;
}
readableIdentifier(requestShortener) {
return `css ${requestShortener.shorten(this._identifier)}${this._identifierIndex ? ` (${this._identifierIndex})` : ''}`;
} // eslint-disable-next-line class-methods-use-this
getSourceTypes() {
return TYPES;
} // eslint-disable-next-line class-methods-use-this
codeGeneration() {
return CODE_GENERATION_RESULT;
}
nameForCondition() {
const resource = this._identifier.split('!').pop();
const idx = resource.indexOf('?');
if (idx >= 0) {
return resource.substring(0, idx);
}
return resource;
}
updateCacheModule(module) {
this.content = module.content;
this.media = module.media;
this.sourceMap = module.sourceMap;
} // eslint-disable-next-line class-methods-use-this
needRebuild() {
return true;
} // eslint-disable-next-line class-methods-use-this
needBuild(context, callback) {
callback(null, false);
}
build(options, compilation, resolver, fileSystem, callback) {
this.buildInfo = {};
this.buildMeta = {};
callback();
}
updateHash(hash, context) {
super.updateHash(hash, context);
hash.update(this.content);
hash.update(this.media || '');
hash.update(this.sourceMap ? JSON.stringify(this.sourceMap) : '');
}
serialize(context) {
const {
write
} = context;
write(this._context);
write(this._identifier);
write(this._identifierIndex);
write(this.content);
write(this.media);
write(this.sourceMap);
super.serialize(context);
}
deserialize(context) {
super.deserialize(context);
}
}
if (_webpack.default.util && _webpack.default.util.serialization) {
_webpack.default.util.serialization.register(CssModule, 'mini-css-extract-plugin/dist/CssModule', null, {
serialize(instance, context) {
instance.serialize(context);
},
deserialize(context) {
const {
read
} = context;
const dep = new CssModule({
context: read(),
identifier: read(),
identifierIndex: read(),
content: read(),
media: read(),
sourceMap: read()
});
dep.deserialize(context);
return dep;
}
});
}
var _default = CssModule;
exports.default = _default;