diff options
author | silverwind <me@silverwind.io> | 2021-11-22 09:19:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-22 16:19:01 +0800 |
commit | a159c3175f5f60a9de00f4d3c73787ffa6c63ddd (patch) | |
tree | db212e3f9d20eb26bba12774ff3d8fa0bac71cbc /web_src/js/features/codeeditor.js | |
parent | 7743f13bed7dc5958c19603ccadd095db24c6b80 (diff) | |
download | gitea-a159c3175f5f60a9de00f4d3c73787ffa6c63ddd.tar.gz gitea-a159c3175f5f60a9de00f4d3c73787ffa6c63ddd.zip |
Add new JS linter rules (#17699)
* Add new JS linter rules
Adds a few useful rules from eslint-plugin-github. Notable changes:
- Forbid dataset usage, its camel-casing behaviour makes it hard to
grep for attributes.
- Forbid .then() and .catch(), we should generally prefer await for new
code. For rare cases where they are useful, a eslint-disable-line
directive can be set.
- Add docs js to linting
* also enable github/array-foreach
* small tweak
Co-authored-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'web_src/js/features/codeeditor.js')
-rw-r--r-- | web_src/js/features/codeeditor.js | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/web_src/js/features/codeeditor.js b/web_src/js/features/codeeditor.js index d4fd303fbf..a22043c9d4 100644 --- a/web_src/js/features/codeeditor.js +++ b/web_src/js/features/codeeditor.js @@ -21,7 +21,7 @@ const baseOptions = { function getEditorconfig(input) { try { - return JSON.parse(input.dataset.editorconfig); + return JSON.parse(input.getAttribute('data-editorconfig')); } catch { return null; } @@ -132,14 +132,15 @@ function getFileBasedOptions(filename, lineWrapExts) { export async function createCodeEditor(textarea, filenameInput, previewFileModes) { const filename = basename(filenameInput.value); const previewLink = document.querySelector('a[data-tab=preview]'); - const markdownExts = (textarea.dataset.markdownFileExts || '').split(','); - const lineWrapExts = (textarea.dataset.lineWrapExtensions || '').split(','); + const markdownExts = (textarea.getAttribute('data-markdown-file-exts') || '').split(','); + const lineWrapExts = (textarea.getAttribute('data-line-wrap-extensions') || '').split(','); const isMarkdown = markdownExts.includes(extname(filename)); const editorConfig = getEditorconfig(filenameInput); if (previewLink) { if (isMarkdown && (previewFileModes || []).includes('markdown')) { - previewLink.dataset.url = previewLink.dataset.url.replace(/(.*)\/.*/i, `$1/markdown`); + const newUrl = (previewLink.getAttribute('data-url') || '').replace(/(.*)\/.*/i, `$1/markdown`); + previewLink.setAttribute('data-url', newUrl); previewLink.style.display = ''; } else { previewLink.style.display = 'none'; |