diff options
author | silverwind <me@silverwind.io> | 2024-07-03 17:48:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-03 17:48:14 +0200 |
commit | 2c92c7c5226e29636a1d47a277130f477fa2037b (patch) | |
tree | 2281cc2ca40fff4ecf241e485f7ed0e588407b35 /web_src | |
parent | b270b30aebf42fb45d9a57288cf3dcbfa842a760 (diff) | |
download | gitea-2c92c7c5226e29636a1d47a277130f477fa2037b.tar.gz gitea-2c92c7c5226e29636a1d47a277130f477fa2037b.zip |
Add typescript guideline and typescript-specific eslint plugins and fix issues (#31521)
1. Add some general guidelines how to write our typescript code
2. Add `@typescript-eslint/eslint-plugin`, general typescript rules
3. Add `eslint-plugin-deprecation` to detect deprecated code
4. Fix all new lint issues that came up
Diffstat (limited to 'web_src')
-rw-r--r-- | web_src/js/components/RepoActionView.vue | 4 | ||||
-rw-r--r-- | web_src/js/features/repo-code.js | 4 | ||||
-rw-r--r-- | web_src/js/features/repo-findfile.js | 4 | ||||
-rw-r--r-- | web_src/js/features/repo-home.js | 8 | ||||
-rw-r--r-- | web_src/js/utils/dom.js | 2 |
5 files changed, 12 insertions, 10 deletions
diff --git a/web_src/js/components/RepoActionView.vue b/web_src/js/components/RepoActionView.vue index 97dc0d950f..e751018f90 100644 --- a/web_src/js/components/RepoActionView.vue +++ b/web_src/js/components/RepoActionView.vue @@ -89,7 +89,9 @@ const sfc = { // load job data and then auto-reload periodically // need to await first loadJob so this.currentJobStepsStates is initialized and can be used in hashChangeListener await this.loadJob(); - this.intervalID = setInterval(this.loadJob, 1000); + this.intervalID = setInterval(() => { + this.loadJob(); + }, 1000); document.body.addEventListener('click', this.closeDropdown); this.hashChangeListener(); window.addEventListener('hashchange', this.hashChangeListener); diff --git a/web_src/js/features/repo-code.js b/web_src/js/features/repo-code.js index f0f4ead125..658fa7e11c 100644 --- a/web_src/js/features/repo-code.js +++ b/web_src/js/features/repo-code.js @@ -153,7 +153,7 @@ export function initRepoCodeView() { }); $(window).on('hashchange', () => { - let m = rangeAnchorRegex.exec(window.location.hash.match); + let m = rangeAnchorRegex.exec(window.location.hash); const $linesEls = $(getLineEls()); let $first; if (m) { @@ -170,7 +170,7 @@ export function initRepoCodeView() { return; } } - m = singleAnchorRegex.exec(window.location.hash.match); + m = singleAnchorRegex.exec(window.location.hash); if (m) { $first = $linesEls.filter(`[rel=L${m[2]}]`); if ($first.length) { diff --git a/web_src/js/features/repo-findfile.js b/web_src/js/features/repo-findfile.js index 945eeeceff..828acfa65c 100644 --- a/web_src/js/features/repo-findfile.js +++ b/web_src/js/features/repo-findfile.js @@ -55,8 +55,8 @@ export function filterRepoFilesWeighted(files, filter) { const filterLower = filter.toLowerCase(); // TODO: for large repo, this loop could be slow, maybe there could be one more limit: // ... && filterResult.length < threshold * 20, wait for more feedbacks - for (let i = 0; i < files.length; i++) { - const res = strSubMatch(files[i], filterLower); + for (const file of files) { + const res = strSubMatch(file, filterLower); if (res.length > 1) { // length==1 means unmatched, >1 means having matched sub strings filterResult.push({matchResult: res, matchWeight: calcMatchedWeight(res)}); } diff --git a/web_src/js/features/repo-home.js b/web_src/js/features/repo-home.js index f48c1b1bb3..3a8e41bde1 100644 --- a/web_src/js/features/repo-home.js +++ b/web_src/js/features/repo-home.js @@ -102,16 +102,16 @@ export function initRepoTopicBar() { if (res.topics) { let found = false; - for (let i = 0; i < res.topics.length; i++) { + for (const {topic_name} of res.topics) { // skip currently added tags - if (current_topics.includes(res.topics[i].topic_name)) { + if (current_topics.includes(topic_name)) { continue; } - if (res.topics[i].topic_name.toLowerCase() === query.toLowerCase()) { + if (topic_name.toLowerCase() === query.toLowerCase()) { found_query = true; } - formattedResponse.results.push({description: res.topics[i].topic_name, 'data-value': res.topics[i].topic_name}); + formattedResponse.results.push({description: topic_name, 'data-value': topic_name}); found = true; } formattedResponse.success = found; diff --git a/web_src/js/utils/dom.js b/web_src/js/utils/dom.js index 9bdb233236..8d75c724de 100644 --- a/web_src/js/utils/dom.js +++ b/web_src/js/utils/dom.js @@ -270,7 +270,7 @@ export function replaceTextareaSelection(textarea, text) { textarea.contentEditable = 'true'; try { - success = document.execCommand('insertText', false, text); + success = document.execCommand('insertText', false, text); // eslint-disable-line deprecation/deprecation } catch { success = false; } |