Socket
Socket
Sign inDemoInstall

mini-css-extract-plugin

Package Overview
Dependencies
79
Maintainers
3
Versions
77
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 2.5.1 to 2.5.2

216

dist/index.js

@@ -45,2 +45,4 @@ "use strict";

/** @typedef {import("./loader.js").Dependency} LoaderDependency */
/**

@@ -91,3 +93,11 @@ * @typedef {Object} LoaderOptions

const DEFAULT_FILENAME = "[name].css";
/**
* @type {Set<string>}
*/
const TYPES = new Set([MODULE_TYPE]);
/**
* @type {ReturnType<Module["codeGeneration"]>}
*/
const CODE_GENERATION_RESULT = {

@@ -97,4 +107,29 @@ sources: new Map(),

};
/** @typedef {Module & { content: Buffer, media?: string, sourceMap?: Buffer, supports?: string, layer?: string, assets?: { [key: string]: TODO }, assetsInfo?: Map<string, AssetInfo> }} CssModule */
/** @typedef {{ context: string | null, identifier: string, identifierIndex: number, content: Buffer, sourceMap?: Buffer, media?: string, supports?: string, layer?: TODO, assetsInfo?: Map<string, AssetInfo>, assets?: { [key: string]: TODO }}} CssModuleDependency */
/** @typedef {{ new(dependency: CssModuleDependency): CssModule }} CssModuleConstructor */
/** @typedef {Dependency & CssModuleDependency} CssDependency */
/** @typedef {Omit<LoaderDependency, "context">} CssDependencyOptions */
/** @typedef {{ new(loaderDependency: CssDependencyOptions, context: string | null, identifierIndex: number): CssDependency }} CssDependencyConstructor */
/**
*
* @type {WeakMap<Compiler["webpack"], CssModuleConstructor>}
*/
const cssModuleCache = new WeakMap();
/**
* @type {WeakMap<Compiler["webpack"], CssDependencyConstructor>}
*/
const cssDependencyCache = new WeakMap();
/**
* @type {WeakSet<Compiler["webpack"]>}
*/
const registered = new WeakSet();

@@ -104,5 +139,4 @@

/**
* @private
* @param {Compiler["webpack"]} webpack
* @returns {typeof CssModule}
* @returns {CssModuleConstructor}
*/

@@ -114,3 +148,6 @@ static getCssModule(webpack) {

if (cssModuleCache.has(webpack)) {
return cssModuleCache.get(webpack);
return (
/** @type {CssModuleConstructor} */
cssModuleCache.get(webpack)
);
}

@@ -120,3 +157,3 @@

/**
* @param {{ context: string, identifier: string, identifierIndex: number, content: Buffer, layer: string | null, supports?: string, media: string, sourceMap?: Buffer, assets: { [key: string]: Source }, assetsInfo: Map<string, AssetInfo> }} build
* @param {CssModuleDependency} dependency
*/

@@ -135,3 +172,5 @@ constructor({

}) {
super(MODULE_TYPE, context);
super(MODULE_TYPE,
/** @type {string | undefined} */
context);
this.id = "";

@@ -193,3 +232,3 @@ this._context = context;

/**
* @param {Module & CssModule} module
* @param {Module} module
*/

@@ -199,11 +238,39 @@

updateCacheModule(module) {
if (this.content !== module.content || this.layer !== module.layer || this.supports !== module.supports || this.media !== module.media || this.sourceMap !== module.sourceMap || this.assets !== module.assets || this.assetsInfo !== module.assetsInfo) {
if (this.content !==
/** @type {CssModule} */
module.content || this.layer !==
/** @type {CssModule} */
module.layer || this.supports !==
/** @type {CssModule} */
module.supports || this.media !==
/** @type {CssModule} */
module.media || this.sourceMap !==
/** @type {CssModule} */
module.sourceMap || this.assets !==
/** @type {CssModule} */
module.assets || this.assetsInfo !==
/** @type {CssModule} */
module.assetsInfo) {
this._needBuild = true;
this.content = module.content;
this.layer = module.layer;
this.supports = module.supports;
this.media = module.media;
this.sourceMap = module.sourceMap;
this.assets = module.assets;
this.assetsInfo = module.assetsInfo;
this.content =
/** @type {CssModule} */
module.content;
this.layer =
/** @type {CssModule} */
module.layer;
this.supports =
/** @type {CssModule} */
module.supports;
this.media =
/** @type {CssModule} */
module.media;
this.sourceMap =
/** @type {CssModule} */
module.sourceMap;
this.assets =
/** @type {CssModule} */
module.assets;
this.assetsInfo =
/** @type {CssModule} */
module.assetsInfo;
}

@@ -354,5 +421,4 @@ } // eslint-disable-next-line class-methods-use-this

/**
* @private
* @param {Compiler["webpack"]} webpack
* @returns {typeof CssDependency}
* @returns {CssDependencyConstructor}
*/

@@ -366,3 +432,6 @@

if (cssDependencyCache.has(webpack)) {
return cssDependencyCache.get(webpack);
return (
/** @type {CssDependencyConstructor} */
cssDependencyCache.get(webpack)
);
}

@@ -372,3 +441,3 @@

/**
* @param {{ identifier: string, content: Buffer, layer?: string, supports?: string, media: string, sourceMap?: Buffer }} build
* @param {CssDependencyOptions} loaderDependency
* @param {string | null} context

@@ -495,3 +564,3 @@ * @param {number} identifierIndex

* @private
* @type {WeakMap<Chunk, Set<TODO>>}
* @type {WeakMap<Chunk, Set<CssModule>>}
* @private

@@ -522,4 +591,5 @@ */

linkType: // Todo in next major release set default to "false"
// @ts-ignore
typeof options.linkType === "boolean" && options.linkType === true || typeof options.linkType === "undefined" ? "text/css" : options.linkType,
typeof options.linkType === "boolean" &&
/** @type {boolean} */
options.linkType === true || typeof options.linkType === "undefined" ? "text/css" : options.linkType,
attributes: options.attributes

@@ -571,5 +641,6 @@ };

if (this.options.experimentalUseImportModule) {
// @ts-ignore
if (typeof compiler.options.experiments.executeModule === "undefined") {
// @ts-ignore
if (typeof
/** @type {Compiler["options"]["experiments"] & { executeModule?: boolean }} */
compiler.options.experiments.executeModule === "undefined") {
/** @type {Compiler["options"]["experiments"] & { executeModule?: boolean }} */
// eslint-disable-next-line no-param-reassign

@@ -609,4 +680,8 @@ compiler.options.experiments.executeModule = true;

} = NormalModule.getCompilationHooks(compilation);
normalModuleHook.tap(pluginName, loaderContext => {
// @ts-ignore
normalModuleHook.tap(pluginName,
/**
* @param {object} loaderContext
*/
loaderContext => {
/** @type {object & { [pluginSymbol]: { experimentalUseImportModule: boolean | undefined } }} */
// eslint-disable-next-line no-param-reassign

@@ -621,4 +696,4 @@ loaderContext[pluginSymbol] = {

/**
* @param {{ dependencies: CssDependency[] }} dependencies
* @param {(err: Error| null, module: Module) => void} callback
* @param {{ dependencies: Dependency[] }} dependencies
* @param {(arg0?: Error, arg1?: TODO) => void} callback
*/

@@ -629,4 +704,6 @@ // eslint-disable-next-line class-methods-use-this

}, callback) {
// @ts-ignore
callback(null, new CssModule(dependency));
// eslint-disable-next-line no-undefined
callback(undefined, new CssModule(
/** @type {CssDependency} */
dependency));
}

@@ -636,4 +713,3 @@

compilation.dependencyFactories.set(CssDependency, // @ts-ignore
new CssModuleFactory());
compilation.dependencyFactories.set(CssDependency, new CssModuleFactory());

@@ -646,5 +722,10 @@ class CssDependencyTemplate {

compilation.dependencyTemplates.set(CssDependency, new CssDependencyTemplate()); // @ts-ignore
compilation.hooks.renderManifest.tap(pluginName, (result, {
compilation.dependencyTemplates.set(CssDependency, new CssDependencyTemplate());
compilation.hooks.renderManifest.tap(pluginName,
/**
* @param {ReturnType<Compilation["getRenderManifest"]>} result
* @param {Parameters<Compilation["getRenderManifest"]>[0]} chunk
* @returns {TODO}
*/
(result, {
chunk

@@ -663,6 +744,10 @@ }) => {

}
/** @type {CssModule[]} */
const renderedModules = Array.from(this.getChunkModules(chunk, chunkGraph)).filter(module => module.type === MODULE_TYPE);
const renderedModules = Array.from(
/** @type {CssModule[]} */
this.getChunkModules(chunk, chunkGraph)).filter(module => module.type === MODULE_TYPE);
const filenameTemplate =
/** @type {TODO} */
/** @type {string} */
chunk.canBeInitial() ? this.options.filename : this.options.chunkFilename;

@@ -672,5 +757,3 @@

result.push({
render: () => this.renderContentAsset(compiler, compilation, chunk, renderedModules, compilation.runtimeTemplate.requestShortener,
/** @type {string} */
filenameTemplate, {
render: () => this.renderContentAsset(compiler, compilation, chunk, renderedModules, compilation.runtimeTemplate.requestShortener, filenameTemplate, {
contentHashType: MODULE_TYPE,

@@ -695,3 +778,3 @@ chunk

const modules = this.sortModules(compilation, chunk,
/** @type {Iterable<Module>} */
/** @type {CssModule[]} */
chunkGraph.getChunkModulesIterableBySourceType(chunk, MODULE_TYPE), compilation.runtimeTemplate.requestShortener);

@@ -824,3 +907,3 @@

* @param {Chunk} referencedChunk
* @returns {any}
* @returns {TODO}
*/

@@ -856,5 +939,5 @@ referencedChunk => {

* @param {Chunk} chunk
* @param {Iterable<Module>} modules
* @param {CssModule[]} modules
* @param {Compilation["requestShortener"]} requestShortener
* @returns {Set<Module & { content: Buffer, media: string, sourceMap?: Buffer, supports?: string, layer?: string }>}
* @returns {Set<CssModule>}
*/

@@ -867,6 +950,8 @@

if (usedModules || !modules) {
// @ts-ignore
return usedModules;
return (
/** @type {Set<CssModule>} */
usedModules
);
}
/** @type {Module[]} */
/** @type {CssModule[]} */

@@ -876,8 +961,8 @@

/** @type {Map<Module, Set<Module>>} */
/** @type {Map<CssModule, Set<CssModule>>} */
const moduleDependencies = new Map(modulesList.map(m => [m,
/** @type {Set<Module>} */
/** @type {Set<CssModule>} */
new Set()]));
/** @type {Map<Module, Map<Module, Set<ChunkGroup>>>} */
/** @type {Map<CssModule, Map<CssModule, Set<ChunkGroup>>>} */

@@ -888,3 +973,3 @@ const moduleDependenciesReasons = new Map(modulesList.map(m => [m, new Map()])); // Get ordered list of modules per chunk group

/** @type {Module[][]} */
/** @type {CssModule[][]} */

@@ -903,3 +988,3 @@ const modulesByChunkGroup = Array.from(chunk.groupsIterable, chunkGroup => {

const reasons =
/** @type {Map<Module, Set<ChunkGroup>>} */
/** @type {Map<CssModule, Set<ChunkGroup>>} */
moduleDependenciesReasons.get(sortedModules[i]);

@@ -909,3 +994,3 @@

const module = sortedModules[j];
/** @type {Set<Module>} */
/** @type {Set<CssModule>} */

@@ -926,3 +1011,3 @@ set.add(module);

/**
* @param {Module} m
* @param {CssModule} m
* @returns {boolean}

@@ -932,3 +1017,3 @@ */

const unusedModulesFilter = m => !
/** @type {Set<Module>} */
/** @type {Set<CssModule>} */
usedModules.has(m);

@@ -943,3 +1028,2 @@

// skip and remove already added modules
// @ts-ignore
while (list.length > 0 && usedModules.has(list[list.length - 1])) {

@@ -955,3 +1039,3 @@ list.pop();

const failedDeps = Array.from(
/** @type {Set<Module>} */
/** @type {Set<CssModule>} */
deps).filter(unusedModulesFilter); // store best match for fallback behavior

@@ -967,3 +1051,3 @@

usedModules.add(
/** @type {Module & { content: Buffer, media: string, sourceMap?: Buffer, supports?: string, layer?: string }} */
/** @type {CssModule} */
list.pop());

@@ -981,3 +1065,3 @@ success = true;

const fallbackModule =
/** @type {Module[]} */
/** @type {CssModule[]} */
bestMatch.pop();

@@ -987,3 +1071,3 @@

const reasons = moduleDependenciesReasons.get(
/** @type {Module} */
/** @type {CssModule} */
fallbackModule);

@@ -993,9 +1077,9 @@ compilation.warnings.push(

new Error([`chunk ${chunk.name || chunk.id} [${pluginName}]`, "Conflicting order. Following module has been added:", ` * ${
/** @type {Module} */
/** @type {CssModule} */
fallbackModule.readableIdentifier(requestShortener)}`, "despite it was not able to fulfill desired ordering with these modules:", ...
/** @type {Module[]} */
/** @type {CssModule[]} */
bestMatchDeps.map(m => {
const goodReasonsMap = moduleDependenciesReasons.get(m);
const goodReasons = goodReasonsMap && goodReasonsMap.get(
/** @type {Module} */
/** @type {CssModule} */
fallbackModule);

@@ -1005,3 +1089,3 @@ const failedChunkGroups = Array.from(

/** @type {Map<Module, Set<ChunkGroup>>} */
/** @type {Map<CssModule, Set<ChunkGroup>>} */
reasons.get(m), cg => cg.name).join(", ");

@@ -1014,3 +1098,3 @@ const goodChunkGroups = goodReasons && Array.from(goodReasons, cg => cg.name).join(", ");

usedModules.add(
/** @type {Module & { content: Buffer, media: string, sourceMap?: Buffer, supports?: string, layer?: string }} */
/** @type {CssModule} */
fallbackModule);

@@ -1029,3 +1113,3 @@ }

* @param {Chunk} chunk
* @param {Iterable<Module>} modules
* @param {CssModule[]} modules
* @param {Compiler["requestShortener"]} requestShortener

@@ -1032,0 +1116,0 @@ * @param {string} filenameTemplate

@@ -44,3 +44,3 @@ "use strict";

* @property {string} [supports]
* @property {string} [supports]
* @property {string} [layer]
* @property {Buffer} [sourceMap]

@@ -51,3 +51,3 @@ */

* @param {string} content
* @param {TODO} context
* @param {{ loaderContext: import("webpack").LoaderContext<LoaderOptions>, options: LoaderOptions, locals: {[key: string]: string } | undefined }} context
* @returns {string}

@@ -62,3 +62,3 @@ */

// ${Date.now()}
var cssReload = require(${stringifyRequest(context.context, path.join(__dirname, "hmr/hotModuleReplacement.js"))})(module.id, ${JSON.stringify({ ...context.options,
var cssReload = require(${stringifyRequest(context.loaderContext, path.join(__dirname, "hmr/hotModuleReplacement.js"))})(module.id, ${JSON.stringify({ ...context.options,
locals: !!context.locals

@@ -133,9 +133,7 @@ })});

/** @type {Dependency} */
dependency.identifier) || 0; // @ts-ignore
dependency.identifier) || 0;
const CssDependency = MiniCssExtractPlugin.getCssDependency(webpack);
/** @type {NormalModule} */
this._module.addDependency( // @ts-ignore
lastDep = new CssDependency(
this._module.addDependency(lastDep = new CssDependency(
/** @type {Dependency} */

@@ -227,3 +225,3 @@ dependency,

resultSource += this.hot ? hotLoader(result, {
context: this.context,
loaderContext: this,
options,

@@ -356,3 +354,2 @@ locals

type: null,
// @ts-ignore
loader: loader.path,

@@ -359,0 +356,0 @@ options: loader.options,

{
"name": "mini-css-extract-plugin",
"version": "2.5.1",
"version": "2.5.2",
"description": "extracts CSS into separate files",

@@ -5,0 +5,0 @@ "license": "MIT",

export = MiniCssExtractPlugin;
declare class MiniCssExtractPlugin {
/**
* @private
* @param {Compiler["webpack"]} webpack
* @returns {typeof CssModule}
* @returns {CssModuleConstructor}
*/
private static getCssModule;
static getCssModule(webpack: Compiler["webpack"]): CssModuleConstructor;
/**
* @private
* @param {Compiler["webpack"]} webpack
* @returns {typeof CssDependency}
* @returns {CssDependencyConstructor}
*/
private static getCssDependency;
static getCssDependency(
webpack: Compiler["webpack"]
): CssDependencyConstructor;
/**

@@ -21,3 +21,3 @@ * @param {PluginOptions} [options]

* @private
* @type {WeakMap<Chunk, Set<TODO>>}
* @type {WeakMap<Chunk, Set<CssModule>>}
* @private

@@ -51,5 +51,5 @@ */

* @param {Chunk} chunk
* @param {Iterable<Module>} modules
* @param {CssModule[]} modules
* @param {Compilation["requestShortener"]} requestShortener
* @returns {Set<Module & { content: Buffer, media: string, sourceMap?: Buffer, supports?: string, layer?: string }>}
* @returns {Set<CssModule>}
*/

@@ -62,3 +62,3 @@ private sortModules;

* @param {Chunk} chunk
* @param {Iterable<Module>} modules
* @param {CssModule[]} modules
* @param {Compiler["requestShortener"]} requestShortener

@@ -88,2 +88,3 @@ * @param {string} filenameTemplate

AssetInfo,
LoaderDependency,
LoaderOptions,

@@ -94,5 +95,17 @@ PluginOptions,

TODO,
CssModule,
CssModuleDependency,
CssModuleConstructor,
CssDependency,
CssDependencyOptions,
CssDependencyConstructor,
};
}
type Compiler = import("webpack").Compiler;
type CssModuleConstructor = new (dependency: CssModuleDependency) => CssModule;
type CssDependencyConstructor = new (
loaderDependency: CssDependencyOptions,
context: string | null,
identifierIndex: number
) => CssDependency;
type PluginOptions = {

@@ -120,2 +133,3 @@ filename?: Required<Configuration>["output"]["filename"];

/** @typedef {import("webpack").AssetInfo} AssetInfo */
/** @typedef {import("./loader.js").Dependency} LoaderDependency */
/**

@@ -171,2 +185,3 @@ * @typedef {Object} LoaderOptions

type AssetInfo = import("webpack").AssetInfo;
type LoaderDependency = import("./loader.js").Dependency;
type LoaderOptions = {

@@ -197,1 +212,32 @@ publicPath?:

type TODO = any;
type CssModule = import("webpack").Module & {
content: Buffer;
media?: string | undefined;
sourceMap?: Buffer | undefined;
supports?: string | undefined;
layer?: string | undefined;
assets?:
| {
[key: string]: any;
}
| undefined;
assetsInfo?: Map<string, import("webpack").AssetInfo> | undefined;
};
type CssModuleDependency = {
context: string | null;
identifier: string;
identifierIndex: number;
content: Buffer;
sourceMap?: Buffer | undefined;
media?: string | undefined;
supports?: string | undefined;
layer?: TODO;
assetsInfo?: Map<string, import("webpack").AssetInfo> | undefined;
assets?:
| {
[key: string]: any;
}
| undefined;
};
type CssDependency = Dependency & CssModuleDependency;
type CssDependencyOptions = Omit<LoaderDependency, "context">;

@@ -17,2 +17,3 @@ export type Schema = import("schema-utils/declarations/validate").Schema;

supports?: string | undefined;
layer?: string | undefined;
sourceMap?: Buffer | undefined;

@@ -19,0 +20,0 @@ };

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc