| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | /*	MIT License http://www.opensource.org/licenses/mit-license.php	Author Tobias Koppers @sokra*/"use strict";const createSchemaValidation = require("../util/create-schema-validation");const JsonGenerator = require("./JsonGenerator");const JsonParser = require("./JsonParser");/** @typedef {import("../Compiler")} Compiler */const validate = createSchemaValidation(	require("../../schemas/plugins/JsonModulesPluginParser.check.js"),	() => require("../../schemas/plugins/JsonModulesPluginParser.json"),	{		name: "Json Modules Plugin",		baseDataPath: "parser"	});class JsonModulesPlugin {	/**	 * Apply the plugin	 * @param {Compiler} compiler the compiler instance	 * @returns {void}	 */	apply(compiler) {		compiler.hooks.compilation.tap(			"JsonModulesPlugin",			(compilation, { normalModuleFactory }) => {				normalModuleFactory.hooks.createParser					.for("json")					.tap("JsonModulesPlugin", parserOptions => {						validate(parserOptions);						return new JsonParser(parserOptions);					});				normalModuleFactory.hooks.createGenerator					.for("json")					.tap("JsonModulesPlugin", () => {						return new JsonGenerator();					});			}		);	}}module.exports = JsonModulesPlugin;
 |