Files
klz-cables.com/.pnpm-store/v10/files/11/f56fb70f63a0059bb29e538fecdf6539eb9a0328d1c1a59ef5d886a4491aeba1d28b4a6b2e721453e43a0e17d7c0f0020a47ad628b0104444e55a0e840f69b
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

34 lines
741 B
Plaintext

/*
MIT License http://www.opensource.org/licenses/mit-license.php
*/
"use strict";
/** @typedef {import("./Compiler")} Compiler */
const PLUGIN_NAME = "ContextExclusionPlugin";
class ContextExclusionPlugin {
/**
* @param {RegExp} negativeMatcher Matcher regular expression
*/
constructor(negativeMatcher) {
this.negativeMatcher = negativeMatcher;
}
/**
* Apply the plugin
* @param {Compiler} compiler the compiler instance
* @returns {void}
*/
apply(compiler) {
compiler.hooks.contextModuleFactory.tap(PLUGIN_NAME, (cmf) => {
cmf.hooks.contextModuleFiles.tap(PLUGIN_NAME, (files) =>
files.filter((filePath) => !this.negativeMatcher.test(filePath))
);
});
}
}
module.exports = ContextExclusionPlugin;