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>
This commit is contained in:
parent
7743f13bed
commit
a159c3175f
23 changed files with 844 additions and 108 deletions
|
@ -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';
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue