
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
htmlhint-loader
Advanced tools
A webpack loader for htmlhint
npm install htmlhint-loader
module.exports = {
module: {
rules: [{
enforce: 'pre',
test: /\.html/,
loader: 'htmlhint',
exclude: /node_modules/
}]
}
}
You can directly pass some htmlhint rules by
module.exports = {
module: {
rules: [{
enforce: 'pre',
test: /\.html/,
loader: 'htmlhint?{tagname-lowercase: true}',
exclude: /node_modules/
}]
}
}
htmlhint entry in your webpack loader options:module.exports = {
module: {
rules: [{
enforce: 'pre',
test: /\.html/,
loader: 'htmlhint',
exclude: /node_modules/,
options: {
configFile: 'path/.htmlhintrc'
}
}]
}
}
configFileA path to a json file containing the set of htmlhint rules you would like applied to this project. By default all rules are turned off and it is up to you to enable them.
Example file:
{
"tagname-lowercase": true,
"attr-lowercase": true,
"attr-value-double-quotes": true
}
formatter (default: a function that pretty prints any warnings and errors)The function is called with an array of messages direct for htmlhint and must return a string.
emitAs (default: null)What to emit errors and warnings as. Set to warning to always emit errors as warnings and error to always emit warnings as errors. By default the plugin will auto detect whether to emit as a warning or an error.
failOnError (default false)Whether to force webpack to fail the build on a htmlhint error
failOnWarning (default false)Whether to force webpack to fail the build on a htmlhint warning
customRulesAny custom rules you would like added to htmlhint. Specify as an array like so:
module.exports = {
module: {
rules: [{
enforce: 'pre',
test: /\.html/,
loader: 'htmlhint',
exclude: /node_modules/,
options: {
customRules: [{
id: 'my-rule-name',
description: 'Example description',
init: function(parser, reporter) {
//see htmlhint docs / source for what to put here
}
}]
}
}]
}
}
outputReport (default: false)Write the output of the errors to a file, for example a checkstyle xml file for use for reporting on Jenkins CI
The filePath is relative to the webpack config: output.path
The use of [name] is supported when linting multiple files.
You can pass in a different formatter for the output file, if none is passed in the default/configured formatter will be used
module.exports = {
module: {
rules: [{
enforce: 'pre',
test: /\.html/,
loader: 'htmlhint',
exclude: /node_modules/,
options: {
outputReport: {
filePath: 'checkstyle-[name].xml',
formatter: require('htmlhint/bin/formatters/checkstyle')
}
}
}]
}
}
I based a lot of this code off the eslint-loader and the gulp htmlhint plugin, so a big thanks is due to the authors of those modules.
MIT
FAQs
A webpack loader for htmlhint
The npm package htmlhint-loader receives a total of 476 weekly downloads. As such, htmlhint-loader popularity was classified as not popular.
We found that htmlhint-loader demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.