-
-
Couldn't load subscription status.
- Fork 8
Open
@jennifert
Description
Should it run on built when the loader is configured? Or would it just work on calling npx htmlhint script.
The output of my npx webpack command (from build script) does not mention htmlhint,
I am not sure if this is an issue with how I configured, or if its not compatible with webpack 5 (or should just call in script)?
Node: v17.0.1
Npm: 8.1.0
webpack: 5.60.0
webpack-cli: 4.9.1
webpack-dev-server 4.4.0
mac-os: 12.0.1
Package.json:
"scripts": {
"lint:html": "npx htmlhint src/*.html",
"build": "npx webpack --config webpack.config.dev.js"
"dev": "npx webpack serve --live-reload --config webpack.config.dev.js",
},
"devDependencies": {
"@babel/cli": "^7.15.7",
"@babel/core": "^7.15.8",
"@babel/node": "^7.15.8",
"@babel/preset-env": "^7.15.8",
"@babel/register": "^7.15.3",
"babel-loader": "^8.2.3",
"css-loader": "^6.5.0",
"htmlhint": "^0.15.2",
"htmlhint-loader": "^1.3.1",
"numeral": "^2.0.6",
"style-loader": "^3.3.1",
"stylelint": "^13.13.1",
"stylelint-webpack-plugin": "^3.0.1",
"webpack": "^5.60.0",
"webpack-cli": "^4.9.1",
"webpack-dev-server": "^4.4.0"
}
.htmlhintrc:
{
"tagname-lowercase": true,
"attr-lowercase": true,
"attr-no-duplication": true,
"attr-value-double-quotes": true,
"attr-unsafe-chars": true,
"attr-no-unnecessary-whitespace": true,
"attr-value-not-empty": false,
"doctype-first": true,
"tag-pair": true,
"spec-char-escape": true,
"src-not-empty": true,
"title-require": true,
"tag-self-close": false,
"head-script-disabled": true,
"alt-require": true,
"doctype-html5": true,
"inline-script-disabled": true,
"inline-style-disabled":true,
"id-unique": true,
"id-class-ad-disabled": true,
"id-class-value": "aaa-bbb",
"style-disabled": true,
"input-requires-label": true,
"tags-check": true,
"space-tab-mixed-disabled": true
}
webpack config:
const path = require('path');
var StyleLintPlugin = require('stylelint-webpack-plugin');
module.exports = {
mode: "development",
devtool: "eval-source-map",
entry: './src/index.js',
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: ["babel-loader"]
},
{
test: /\.css$/,
use: ["style-loader", "css-loader"]
},
{
enforce: 'pre',
test: /\.html/,
loader: 'htmlhint-loader',
exclude: /node_modules/,
options: {
configFile: '.htmlhintrc'
}
}
]
},
output: {
path: path.resolve(__dirname, 'src'),
filename: "bundle.js",
//enable clean on dist only. otherwise, it will delete all files and cannot recover.
// clean: true,
},
devServer: {
static: {
directory: path.join(__dirname, 'src'),
},
compress: true,
port: 9000,
},
plugins: [
new StyleLintPlugin({
configFile: '.stylelintrc',
failOnError: true,
emitErrors: true,
emitWarning: true
}),
],
}
npm run build:
asset bundle.js 136 KiB [compared for emit] (name: main)
runtime modules 997 bytes 4 modules
modules by path ./node_modules/ 41.5 KiB
modules by path ./node_modules/style-loader/dist/runtime/*.js 5.75 KiB 6 modules
modules by path ./node_modules/css-loader/dist/runtime/*.js 2.94 KiB
./node_modules/css-loader/dist/runtime/sourceMaps.js 688 bytes [built] [code generated]
./node_modules/css-loader/dist/runtime/api.js 2.26 KiB [built] [code generated]
./node_modules/numeral/numeral.js 32.8 KiB [built] [code generated]
modules by path ./src/ 2.86 KiB
./src/index.js 125 bytes [built] [code generated]
./src/style.css 1.11 KiB [built] [code generated]
./node_modules/css-loader/dist/cjs.js!./src/style.css 1.63 KiB [built] [code generated]
webpack 5.60.0 compiled successfully in 1260 ms
npm run lint:html
Config loaded: /Users/jenn/GitHub/dev-starter-kit/.htmlhintrc
/Users/jenn/GitHub/dev-starter-kit/src/index.html
L11 | <P></P>
^ The html element name of [ P ] must be in lowercase. (tagname-lowercase)
L11 | <P></P>
^ The html element name of [ P ] must be in lowercase. (tagname-lowercase)
Scanned 1 files, found 2 errors in 1 files (17 ms)
Metadata
Metadata
Assignees
Labels
No labels