mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-01 10:55:55 +01:00 
			
		
		
		
	lazy loading of eslint only for JS code
This commit is contained in:
		| @@ -142,7 +142,6 @@ const noteEditor = (function() { | ||||
|         else if (currentNote.detail.type === 'code') { | ||||
|             if (!codeEditor) { | ||||
|                 await requireLibrary(CODE_MIRROR); | ||||
|                 await requireLibrary(JS_LINT); | ||||
|  | ||||
|                 CodeMirror.keyMap.default["Shift-Tab"] = "indentLess"; | ||||
|                 CodeMirror.keyMap.default["Tab"] = "indentMore"; | ||||
|   | ||||
| @@ -143,24 +143,18 @@ const CODE_MIRROR = { | ||||
|         "libraries/codemirror/addon/edit/matchbrackets.js", | ||||
|         "libraries/codemirror/addon/edit/matchtags.js", | ||||
|         "libraries/codemirror/addon/search/match-highlighter.js", | ||||
|         "libraries/codemirror/mode/meta.js" | ||||
|     ], | ||||
|     css: [ | ||||
|         "libraries/codemirror/codemirror.css" | ||||
|     ] | ||||
| }; | ||||
|  | ||||
| const JS_LINT = { | ||||
|     js: [ | ||||
|         "libraries/codemirror/mode/meta.js", | ||||
|         "libraries/codemirror/addon/lint/lint.js", | ||||
|         "libraries/codemirror/addon/lint/eslint.js", | ||||
|         "libraries/eslint.js" | ||||
|         "libraries/codemirror/addon/lint/eslint.js" | ||||
|     ], | ||||
|     css: [ | ||||
|         "libraries/codemirror/codemirror.css", | ||||
|         "libraries/codemirror/addon/lint/lint.css" | ||||
|     ] | ||||
| }; | ||||
|  | ||||
| const ESLINT = { js: [ "libraries/eslint.js" ] }; | ||||
|  | ||||
| async function requireLibrary(library) { | ||||
|     if (library.css) { | ||||
|         library.css.map(cssUrl => requireCss(cssUrl)); | ||||
| @@ -173,13 +167,13 @@ async function requireLibrary(library) { | ||||
|     } | ||||
| } | ||||
|  | ||||
| async function requireScript(url) { | ||||
|     const scripts = Array | ||||
|         .from(document.querySelectorAll('script')) | ||||
|         .map(scr => scr.src); | ||||
| const dynamicallyLoadedScripts = []; | ||||
|  | ||||
|     if (!scripts.includes(url)) { | ||||
|         return $.ajax({ | ||||
| async function requireScript(url) { | ||||
|     if (!dynamicallyLoadedScripts.includes(url)) { | ||||
|         dynamicallyLoadedScripts.push(url); | ||||
|  | ||||
|         return await $.ajax({ | ||||
|             url: url, | ||||
|             dataType: "script", | ||||
|             cache: true | ||||
|   | ||||
| @@ -11,8 +11,8 @@ | ||||
| })(function(CodeMirror) { | ||||
|   "use strict"; | ||||
|  | ||||
|   function validator(text, options) { | ||||
|     console.log("Validating script"); | ||||
|   async function validator(text, options) { | ||||
|     await requireLibrary(ESLINT); | ||||
|  | ||||
|     var errors = new eslint().verify(text, { | ||||
|         root: true, | ||||
| @@ -42,8 +42,6 @@ | ||||
|         } | ||||
|     }); | ||||
|  | ||||
|     console.log(errors); | ||||
|  | ||||
|     var result = []; | ||||
|     if (errors) parseErrors(errors, result); | ||||
|     return result; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user