Fix eslint parsing errors, remove eslint-plugin-html (#20323)
Introduce a separate .eslintrc in the Vue components folder to selectively enable vue-eslint-parser there, so that the rest of the files can use eslint's core parser which can deal with hashbangs. The fact that the eslint-disable comments worked in HTML was a unintended side-effect of the files being parsed via vue-eslint-parser, so I had to disable the parsing of these files in .eslintrc.yaml to make it work, and finally decided to remove eslint-plugin-html as it causes more issues than it solves.
This commit is contained in:
parent
e35a39e81d
commit
4c0fce8f7b
7 changed files with 18 additions and 90 deletions
|
@ -11,13 +11,8 @@ parserOptions:
|
||||||
plugins:
|
plugins:
|
||||||
- eslint-plugin-unicorn
|
- eslint-plugin-unicorn
|
||||||
- eslint-plugin-import
|
- eslint-plugin-import
|
||||||
- eslint-plugin-vue
|
|
||||||
- eslint-plugin-html
|
|
||||||
- eslint-plugin-jquery
|
- eslint-plugin-jquery
|
||||||
|
|
||||||
extends:
|
|
||||||
- plugin:vue/recommended
|
|
||||||
|
|
||||||
env:
|
env:
|
||||||
es2022: true
|
es2022: true
|
||||||
node: true
|
node: true
|
||||||
|
@ -25,18 +20,11 @@ env:
|
||||||
globals:
|
globals:
|
||||||
__webpack_public_path__: true
|
__webpack_public_path__: true
|
||||||
|
|
||||||
settings:
|
|
||||||
html/html-extensions: [".tmpl"]
|
|
||||||
|
|
||||||
overrides:
|
overrides:
|
||||||
- files: ["web_src/**/*.js", "web_src/**/*.vue", "templates/**/*.tmpl"]
|
- files: ["web_src/**/*.js", "docs/**/*.js"]
|
||||||
env:
|
env:
|
||||||
browser: true
|
browser: true
|
||||||
node: false
|
node: false
|
||||||
- files: ["templates/**/*.tmpl"]
|
|
||||||
rules:
|
|
||||||
no-tabs: [0]
|
|
||||||
indent: [2, tab, {SwitchCase: 1}]
|
|
||||||
- files: ["web_src/**/*worker.js"]
|
- files: ["web_src/**/*worker.js"]
|
||||||
env:
|
env:
|
||||||
worker: true
|
worker: true
|
||||||
|
@ -502,11 +490,6 @@ rules:
|
||||||
use-isnan: [2]
|
use-isnan: [2]
|
||||||
valid-typeof: [2, {requireStringLiterals: true}]
|
valid-typeof: [2, {requireStringLiterals: true}]
|
||||||
vars-on-top: [0]
|
vars-on-top: [0]
|
||||||
vue/attributes-order: [0]
|
|
||||||
vue/component-definition-name-casing: [0]
|
|
||||||
vue/html-closing-bracket-spacing: [0]
|
|
||||||
vue/max-attributes-per-line: [0]
|
|
||||||
vue/one-component-per-file: [0]
|
|
||||||
wrap-iife: [2, inside]
|
wrap-iife: [2, inside]
|
||||||
wrap-regex: [0]
|
wrap-regex: [0]
|
||||||
yield-star-spacing: [2, after]
|
yield-star-spacing: [2, after]
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -310,7 +310,7 @@ lint: lint-frontend lint-backend
|
||||||
|
|
||||||
.PHONY: lint-frontend
|
.PHONY: lint-frontend
|
||||||
lint-frontend: node_modules
|
lint-frontend: node_modules
|
||||||
npx eslint --color --max-warnings=0 web_src/js build templates *.config.js docs/assets/js
|
npx eslint --color --max-warnings=0 --ext js,vue web_src/js build *.config.js docs/assets/js
|
||||||
npx stylelint --color --max-warnings=0 web_src/less
|
npx stylelint --color --max-warnings=0 web_src/less
|
||||||
npx spectral lint -q -F hint $(SWAGGER_SPEC)
|
npx spectral lint -q -F hint $(SWAGGER_SPEC)
|
||||||
|
|
||||||
|
|
68
package-lock.json
generated
68
package-lock.json
generated
|
@ -47,7 +47,6 @@
|
||||||
"@happy-dom/jest-environment": "4.0.1",
|
"@happy-dom/jest-environment": "4.0.1",
|
||||||
"@stoplight/spectral-cli": "6.4.1",
|
"@stoplight/spectral-cli": "6.4.1",
|
||||||
"eslint": "8.15.0",
|
"eslint": "8.15.0",
|
||||||
"eslint-plugin-html": "6.2.0",
|
|
||||||
"eslint-plugin-import": "2.26.0",
|
"eslint-plugin-import": "2.26.0",
|
||||||
"eslint-plugin-jquery": "1.5.1",
|
"eslint-plugin-jquery": "1.5.1",
|
||||||
"eslint-plugin-unicorn": "42.0.0",
|
"eslint-plugin-unicorn": "42.0.0",
|
||||||
|
@ -4839,18 +4838,6 @@
|
||||||
"node": ">=10.13.0"
|
"node": ">=10.13.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/entities": {
|
|
||||||
"version": "3.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
|
|
||||||
"integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=0.12"
|
|
||||||
},
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/fb55/entities?sponsor=1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/envinfo": {
|
"node_modules/envinfo": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.1",
|
||||||
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
|
||||||
|
@ -5231,15 +5218,6 @@
|
||||||
"ms": "^2.1.1"
|
"ms": "^2.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/eslint-plugin-html": {
|
|
||||||
"version": "6.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-6.2.0.tgz",
|
|
||||||
"integrity": "sha512-vi3NW0E8AJombTvt8beMwkL1R/fdRWl4QSNRNMhVQKWm36/X0KF0unGNAY4mqUF06mnwVWZcIcerrCnfn9025g==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"htmlparser2": "^7.1.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/eslint-plugin-import": {
|
"node_modules/eslint-plugin-import": {
|
||||||
"version": "2.26.0",
|
"version": "2.26.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
|
||||||
|
@ -6262,25 +6240,6 @@
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/htmlparser2": {
|
|
||||||
"version": "7.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
|
|
||||||
"integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
|
|
||||||
"dev": true,
|
|
||||||
"funding": [
|
|
||||||
"https://github.com/fb55/htmlparser2?sponsor=1",
|
|
||||||
{
|
|
||||||
"type": "github",
|
|
||||||
"url": "https://github.com/sponsors/fb55"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"dependencies": {
|
|
||||||
"domelementtype": "^2.0.1",
|
|
||||||
"domhandler": "^4.2.2",
|
|
||||||
"domutils": "^2.8.0",
|
|
||||||
"entities": "^3.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/http-basic": {
|
"node_modules/http-basic": {
|
||||||
"version": "8.1.3",
|
"version": "8.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
|
||||||
|
@ -16221,12 +16180,6 @@
|
||||||
"tapable": "^2.2.0"
|
"tapable": "^2.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"entities": {
|
|
||||||
"version": "3.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz",
|
|
||||||
"integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"envinfo": {
|
"envinfo": {
|
||||||
"version": "7.8.1",
|
"version": "7.8.1",
|
||||||
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
|
||||||
|
@ -16519,15 +16472,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"eslint-plugin-html": {
|
|
||||||
"version": "6.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-6.2.0.tgz",
|
|
||||||
"integrity": "sha512-vi3NW0E8AJombTvt8beMwkL1R/fdRWl4QSNRNMhVQKWm36/X0KF0unGNAY4mqUF06mnwVWZcIcerrCnfn9025g==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"htmlparser2": "^7.1.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"eslint-plugin-import": {
|
"eslint-plugin-import": {
|
||||||
"version": "2.26.0",
|
"version": "2.26.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz",
|
||||||
|
@ -17317,18 +17261,6 @@
|
||||||
"integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==",
|
"integrity": "sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"htmlparser2": {
|
|
||||||
"version": "7.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz",
|
|
||||||
"integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==",
|
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
|
||||||
"domelementtype": "^2.0.1",
|
|
||||||
"domhandler": "^4.2.2",
|
|
||||||
"domutils": "^2.8.0",
|
|
||||||
"entities": "^3.0.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"http-basic": {
|
"http-basic": {
|
||||||
"version": "8.1.3",
|
"version": "8.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
|
||||||
|
|
|
@ -47,7 +47,6 @@
|
||||||
"@happy-dom/jest-environment": "4.0.1",
|
"@happy-dom/jest-environment": "4.0.1",
|
||||||
"@stoplight/spectral-cli": "6.4.1",
|
"@stoplight/spectral-cli": "6.4.1",
|
||||||
"eslint": "8.15.0",
|
"eslint": "8.15.0",
|
||||||
"eslint-plugin-html": "6.2.0",
|
|
||||||
"eslint-plugin-import": "2.26.0",
|
"eslint-plugin-import": "2.26.0",
|
||||||
"eslint-plugin-jquery": "1.5.1",
|
"eslint-plugin-jquery": "1.5.1",
|
||||||
"eslint-plugin-unicorn": "42.0.0",
|
"eslint-plugin-unicorn": "42.0.0",
|
||||||
|
|
|
@ -4,7 +4,6 @@ If you are customizing Gitea, please do not change this file.
|
||||||
If you introduce mistakes in it, Gitea JavaScript code wouldn't run correctly.
|
If you introduce mistakes in it, Gitea JavaScript code wouldn't run correctly.
|
||||||
*/}}
|
*/}}
|
||||||
<script>
|
<script>
|
||||||
<!-- /* eslint-disable */ -->
|
|
||||||
window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
|
window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);});
|
||||||
window.config = {
|
window.config = {
|
||||||
appVer: '{{AppVer}}',
|
appVer: '{{AppVer}}',
|
||||||
|
|
|
@ -340,7 +340,6 @@
|
||||||
{{end}}
|
{{end}}
|
||||||
<div class="ui divider"></div>
|
<div class="ui divider"></div>
|
||||||
<script>
|
<script>
|
||||||
<!-- /* eslint-disable */ -->
|
|
||||||
(() => {
|
(() => {
|
||||||
const defaultMergeTitle = {{.DefaultMergeMessage}};
|
const defaultMergeTitle = {{.DefaultMergeMessage}};
|
||||||
const defaultSquashMergeTitle = {{.DefaultSquashMergeMessage}};
|
const defaultSquashMergeTitle = {{.DefaultSquashMergeMessage}};
|
||||||
|
|
16
web_src/js/components/.eslintrc.yaml
Normal file
16
web_src/js/components/.eslintrc.yaml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
plugins:
|
||||||
|
- eslint-plugin-vue
|
||||||
|
|
||||||
|
extends:
|
||||||
|
- ../../../.eslintrc.yaml
|
||||||
|
- plugin:vue/recommended
|
||||||
|
|
||||||
|
env:
|
||||||
|
browser: true
|
||||||
|
|
||||||
|
rules:
|
||||||
|
vue/attributes-order: [0]
|
||||||
|
vue/component-definition-name-casing: [0]
|
||||||
|
vue/html-closing-bracket-spacing: [0]
|
||||||
|
vue/max-attributes-per-line: [0]
|
||||||
|
vue/one-component-per-file: [0]
|
Reference in a new issue