-
-
Notifications
You must be signed in to change notification settings - Fork 441
Rewrite configuration structure #279
Copy link
Copy link
Open
Labels
feature requestFunctionality that introduces a new featureFunctionality that introduces a new featurekeep-unstaleThe issue will not be marked as stale by the stale-botThe issue will not be marked as stale by the stale-bot
Metadata
Metadata
Assignees
Labels
feature requestFunctionality that introduces a new featureFunctionality that introduces a new featurekeep-unstaleThe issue will not be marked as stale by the stale-botThe issue will not be marked as stale by the stale-bot
Is your feature request related to a problem? Please describe.
Today's tools are characterized by a much better style of configuration file
It's much more extensible and supports things like
defaultSeverityand presets that load before its own configurationDescribe the solution you'd like
We will rewrite the configuration in
eslint-style, see #279 (comment)TODOs
"rules": { /* ... */ }(feat: move rules into dedicated attribute #476 merged)"extends"(feat: add config attribute extends #489 in review)"htmlhint:recommended""defaultSeverity"(is this still needed? 🤔)this could be done after release 1.0.0
"exclude"(extracted to Exclusible files via configuration #502)this could be done after release 1.0.0
Old proposal
We should rewrite the configuration file into something like this:
{ "extends": ["htmlhint:recommended"], "defaultSeverity": "error", "htmlVersion": "html5", "rules": { "attr-no-duplication": true, "attr-unsafe-chars": true, "attr-value-double-quotes": true, "doctype-first": false, "doctype-html5": true, "id-class-ad-disabled": true, "id-class-value": ["dash", { "severity": "warning" }], "id-unique": true, "inline-style-disabled": false, "space-tab-mixed-disabled": ["tab", { "severity": "warning" }], "spec-char-escape": true, "src-not-empty": true, "style-disabled": [true, { "severity": "warning" }], "tag-pair": true, "tag-self-close": false, "tagname-lowercase": [ true, { "exceptions": ["linearGradient"] } ], "title-require": true, "stylelint": [ true, { "extends": "stylelint-config-standard", "rules": { "block-no-empty": null, "color-no-invalid-hex": true } } ], "eslint": [ true, { "configFile": "./.eslintrc.json" } ] }, "exclude": ["test/**/*.html"] }