Entry filter
Option: entryFilter
type AdvancedFilter =
| RegExp
| Array<RegExp>
| { includes?: Array<RegExp>; excludes?: Array<RegExp>; }
| ((file: string) => boolean | void);
Default: Engine-dependent.
Filters template files to be processed.
The option applies only when the entry is configured as a reference to the templates directory.
Default Behavior
The default includes property varies based on the configured preprocessor.
Each preprocessor defines its own filter to select relevant template files from the entry path.
Type:
{
includes: [ RegExp ],
excludes: []
}
entryFilter as RegExp
Matches files using inclusion rules.
Example:
new HtmlBundlerPlugin({
entry: 'src/views/pages/',
entryFilter: /index\.html$/, // Processes all `index.html` files in subdirectories
});
entryFilter as Array<RegExp>
Type: Array<RegExp>
Matches files against any included pattern.
Example:
new HtmlBundlerPlugin({
entryFilter: [
/index\.html$/,
/contact\.html$/,
/about\.html$/,
],
});
entryFilter as Object
Type:
{
includes?: Array<RegExp>;
excludes?: Array<RegExp>;
}
Defines an object with inclusion/exclusion rules.
Example:
{
entryFilter: {
includes: [/\.(html|eta)$/],
excludes: [/partial/],
}
}
entryFilter as Function
Type:
(file: string) => boolean | void
Parameter:
fileAn absolute path to the template file.
Returns:
falseExclude the file.trueProcess the file.voidProcess the file.
Example:
new HtmlBundlerPlugin({
entry: 'src/views/pages/',
entryFilter: (file) => {
if (/partial/.test(file)) return false; // Ignore files containing the `partial` in the path
},
});