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