Sha256: 09c7e12910c313dacb7b22a988716264ef96570703df939526dbe0b6ef5bc0a5

Contents?: true

Size: 954 Bytes

Versions: 10

Compression:

Stored size: 954 Bytes

Contents

/*
	MIT License http://www.opensource.org/licenses/mit-license.php
	Author Tobias Koppers @sokra
*/
"use strict";

const CaseSensitiveModulesWarning = require("./CaseSensitiveModulesWarning");

class WarnCaseSensitiveModulesPlugin {
	apply(compiler) {
		compiler.plugin("compilation", compilation => {
			compilation.plugin("seal", () => {
				const moduleWithoutCase = Object.create(null);
				compilation.modules.forEach(module => {
					const identifier = module.identifier().toLowerCase();
					if(moduleWithoutCase[identifier]) {
						moduleWithoutCase[identifier].push(module);
					} else {
						moduleWithoutCase[identifier] = [module];
					}
				});
				Object.keys(moduleWithoutCase).forEach(key => {
					if(moduleWithoutCase[key].length > 1)
						compilation.warnings.push(new CaseSensitiveModulesWarning(moduleWithoutCase[key]));
				});
			});
		});
	}
}

module.exports = WarnCaseSensitiveModulesPlugin;

Version data entries

10 entries across 6 versions & 3 rubygems

Version Path
ilog-0.4.1 node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js
ilog-0.4.0 node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js
ilog-0.3.3 node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js
optimacms-0.4.3 spec/dummy/node_modules/@rails/webpacker/node_modules/webpack/node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js
optimacms-0.4.3 spec/dummy/node_modules/@rails/webpacker/node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js
optimacms-0.4.3 spec/dummy/node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js
optimacms-0.4.2 spec/dummy/node_modules/@rails/webpacker/node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js
optimacms-0.4.2 spec/dummy/node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js
optimacms-0.4.2 spec/dummy/node_modules/@rails/webpacker/node_modules/webpack/node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js
cortex-0.1.3 spec/dummy/node_modules/webpack/lib/WarnCaseSensitiveModulesPlugin.js