diff --git a/.eslintrc b/.eslintrc index d1fe6ef29..a1662bdf5 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,156 +1,168 @@ { - "parser": "babel-eslint", - "ecmaFeatures": { - "modules": true, - "arrowFunctions": true, - "blockBindings": true - }, - "env": { - "node": true, - "es6": true, - "browser": true - }, - "rules": { - "comma-dangle": [2, "never"], - "no-cond-assign": 2, - "no-console": 2, - "no-constant-condition": 2, - "no-control-regex": 2, - "no-debugger": 2, - "no-dupe-keys": 2, - "no-empty": 2, - "no-empty-character-class": 2, - "no-ex-assign": 2, - "no-extra-boolean-cast": 2, - "no-extra-parens": 0, - "no-extra-semi": 2, - "no-func-assign": 2, - "no-inner-declarations": 2, - "no-invalid-regexp": 2, - "no-irregular-whitespace": 2, - "no-negated-in-lhs": 2, - "no-obj-calls": 2, - "no-regex-spaces": 2, - "no-reserved-keys": 0, - "no-sparse-arrays": 2, - "no-unreachable": 2, - "use-isnan": 2, - "valid-jsdoc": 0, - "valid-typeof": 2, - // Best Practices - "block-scoped-var": 2, - "complexity": 0, - "consistent-return": 2, - "curly": 2, -// "default-case": 2, - "dot-notation": 2, - "eqeqeq": 2, - "guard-for-in": 2, - "no-alert": 2, - "no-caller": 2, - "no-div-regex": 2, - "no-else-return": 2, - "no-eq-null": 2, - "no-eval": 2, - "no-extend-native": 2, - "no-extra-bind": 2, - "no-fallthrough": 2, - "no-floating-decimal": 2, - "no-implied-eval": 2, - "no-iterator": 2, - "no-labels": 2, - "no-lone-blocks": 2, - "no-loop-func": 2, - "no-multi-spaces": 2, - "no-multi-str": 0, - "no-native-reassign": 2, - "no-new": 2, - "no-new-func": 2, - "no-new-wrappers": 2, - "no-octal": 2, - "no-octal-escape": 2, - "no-process-env": 2, - "no-proto": 2, - "no-redeclare": 2, - "no-return-assign": 2, - "no-script-url": 2, - "no-self-compare": 2, - "no-sequences": 2, - "no-unused-expressions": 2, - "no-void": 0, - "no-warning-comments": 2, - "no-with": 2, - "radix": 2, - "vars-on-top": 0, - "wrap-iife": 2, - "yoda": 0, - // Strict Mode - "strict": 0, - // Variables - "no-catch-shadow": 2, - "no-delete-var": 2, - "no-label-var": 2, - "no-shadow": 2, - "no-shadow-restricted-names": 2, - "no-undef": 2, - "no-undef-init": 2, - "no-undefined": 2, - "no-unused-vars": 2, - "no-use-before-define": 2, - // Stylistic Issues -// "indent": [2, "tab", { -// "SwitchCase": 1, -// "VariableDeclarator": 1 -// }], - "camelcase": 0, - "comma-spacing": 2, - "comma-style": 2, - "consistent-this": 0, - "eol-last": 2, - "func-names": 0, - "func-style": 0, - "key-spacing": [2, { - "beforeColon": false, - "afterColon": true - }], - "max-nested-callbacks": 0, - "new-cap": 2, - "new-parens": 2, - "no-array-constructor": 2, - "no-inline-comments": 0, -// "no-lonely-if": 2, - "no-mixed-spaces-and-tabs": 2, -// "no-nested-ternary": 2, - "no-new-object": 2, - "semi-spacing": [2, { - "before": false, - "after": true - }], - "no-spaced-func": 2, - "no-ternary": 0, - "no-trailing-spaces": 2, - "no-multiple-empty-lines": 2, - "no-underscore-dangle": 0, - "one-var": 0, - "operator-assignment": [2, "always"], - "padded-blocks": 0, - "quotes": [2, "single"], - "quote-props": [2, "as-needed"], - "semi": [2, "always"], -// "sort-vars": [2, {"ignoreCase": true}], - "space-before-blocks": 2, - "object-curly-spacing": [2, "never"], - "array-bracket-spacing": [2, "never"], - "space-in-parens": 2, - "space-infix-ops": 2, - "space-unary-ops": 2, - "spaced-comment": 2, - "wrap-regex": 0, - // Legacy - "max-depth": 0, - "max-len": [2, 200], - "max-params": 0, - "max-statements": 0, - "no-plusplus": 0 - } + "ecmaFeatures": { + "modules": true + }, + "env": { + "node": true, + "commonjs": true, + "es6": true, + "browser": true + }, + "globals": { + "RL_COMMUNITY" : true, + "ko" : true, + "ssm" : true, + "moment" : true, + "ifvisible" : true, + "crossroads" : true, + "hasher" : true, + "key" : true, + "Jua" : true, + "_" : true, + "$" : true, + "Dropbox" : true + }, + "rules": { + "comma-dangle": [2, "never"], + "no-cond-assign": 2, + "no-console": 2, + "no-constant-condition": 2, + "no-control-regex": 2, + "no-debugger": 2, + "no-dupe-keys": 2, + "no-empty": 2, + "no-empty-character-class": 2, + "no-ex-assign": 2, + "no-extra-boolean-cast": 2, + "no-extra-parens": 0, + "no-extra-semi": 2, + "no-func-assign": 2, + "no-inner-declarations": 2, + "no-invalid-regexp": 2, + "no-irregular-whitespace": 2, + "no-negated-in-lhs": 2, + "no-obj-calls": 2, + "no-regex-spaces": 2, + "no-reserved-keys": 0, + "no-sparse-arrays": 2, + "no-unreachable": 2, + "use-isnan": 2, + "valid-jsdoc": 0, + "valid-typeof": 2, + // Best Practices + "block-scoped-var": 2, + "complexity": 0, + "consistent-return": 2, + "curly": 2, + // "default-case": 2, + "dot-notation": 2, + "eqeqeq": 2, + "guard-for-in": 2, + "no-alert": 2, + "no-caller": 2, + "no-div-regex": 2, + "no-else-return": 2, + "no-eq-null": 2, + "no-eval": 2, + "no-extend-native": 2, + "no-extra-bind": 2, + "no-fallthrough": 2, + "no-floating-decimal": 2, + "no-implied-eval": 2, + "no-iterator": 2, + "no-labels": 2, + "no-lone-blocks": 2, + "no-loop-func": 2, + "no-multi-spaces": 2, + "no-multi-str": 0, + "no-native-reassign": 2, + "no-new": 2, + "no-new-func": 2, + "no-new-wrappers": 2, + "no-octal": 2, + "no-octal-escape": 2, + "no-process-env": 2, + "no-proto": 2, + "no-redeclare": 2, + "no-return-assign": 2, + "no-script-url": 2, + "no-self-compare": 2, + "no-sequences": 2, + "no-unused-expressions": 2, + "no-void": 0, + "no-warning-comments": 2, + "no-with": 2, + "radix": 2, + "vars-on-top": 0, + "wrap-iife": 2, + "yoda": 0, + // Strict Mode + "strict": 0, + // Variables + "no-catch-shadow": 2, + "no-delete-var": 2, + "no-label-var": 2, + "no-shadow": 2, + "no-shadow-restricted-names": 2, + "no-undef": 2, + "no-undef-init": 2, + "no-undefined": 2, + "no-unused-vars": 2, + "no-use-before-define": 2, + // Stylistic Issues + // "indent": [2, "tab", { + // "SwitchCase": 1, + // "VariableDeclarator": 1 + // }], + "camelcase": 0, + "comma-spacing": 2, + "comma-style": 2, + "consistent-this": 0, + "eol-last": 2, + "func-names": 0, + "func-style": 0, + "key-spacing": [2, { + "beforeColon": false, + "afterColon": true + }], + "max-nested-callbacks": 0, + "new-cap": 2, + "new-parens": 2, + "no-array-constructor": 2, + "no-inline-comments": 0, + // "no-lonely-if": 2, + "no-mixed-spaces-and-tabs": 2, + // "no-nested-ternary": 2, + "no-new-object": 2, + "semi-spacing": [2, { + "before": false, + "after": true + }], + "no-spaced-func": 2, + "no-ternary": 0, + "no-trailing-spaces": 2, + "no-multiple-empty-lines": 2, + "no-underscore-dangle": 0, + "one-var": 0, + "operator-assignment": [2, "always"], + "padded-blocks": 0, + "quotes": [2, "single"], + "quote-props": 0, + "semi": [2, "always"], + // "sort-vars": [2, {"ignoreCase": true}], + "space-before-blocks": 2, + "object-curly-spacing": [2, "never"], + "array-bracket-spacing": [2, "never"], + "space-in-parens": 2, + "space-infix-ops": 2, + "space-unary-ops": 2, + "spaced-comment": 2, + "wrap-regex": 0, + + "max-depth": 0, + "max-len": [2, 200], + "max-params": 0, + "max-statements": 0, + "no-plusplus": 0 + } } \ No newline at end of file diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index 969b1a4ad..000000000 --- a/.jshintrc +++ /dev/null @@ -1,69 +0,0 @@ -{ - "curly" : true, - "eqeqeq" : true, - "forin" : true, - "immed" : true, - "latedef" : true, - "newcap" : true, - "noarg" : true, - "noempty" : true, - "nonew" : true, - "regexp" : true, - "undef" : true, - "strict" : true, - "unused" : true, - - "asi" : false, - "boss" : false, - "debug" : false, - "eqnull" : false, - "es5" : false, - "esnext" : false, - "evil" : false, - "expr" : false, - "funcscope" : false, - "globalstrict" : false, - "iterator" : false, - "lastsemic" : false, - "laxbreak" : false, - "laxcomma" : false, - "loopfunc" : false, - "multistr" : false, - "onecase" : false, - "proto" : false, - "regexdash" : false, - "scripturl" : false, - "smarttabs" : false, - "shadow" : false, - "supernew" : false, - "validthis" : false, - "passfail" : false, - "nomen" : false, - "white" : false, - - "sub" : true, - "onevar" : true, - "bitwise" : false, - "plusplus" : false, - "trailing" : false, - "devel" : false, - "browser" : true, - "jquery" : true, - - "globals": { - "RL_COMMUNITY" : true, - "module" : true, - "require" : true, - "ko" : true, - "ko" : true, - "ssm" : true, - "moment" : true, - "ifvisible" : true, - "crossroads" : true, - "hasher" : true, - "key" : true, - "Jua" : true, - "_" : true, - "Dropbox" : true - } -} diff --git a/dev/App/Abstract.jsx b/dev/App/Abstract.jsx index ddb174b92..1208bfdc1 100644 --- a/dev/App/Abstract.jsx +++ b/dev/App/Abstract.jsx @@ -18,11 +18,6 @@ import {AbstractBoot} from 'Knoin/AbstractBoot'; class AbstractApp extends AbstractBoot { - googlePreviewSupportedCache = null; - isLocalAutocomplete = true; - iframe = null; - lastErrorTime = 0; - /** * @param {RemoteStorage|AdminRemoteStorage} Remote */ @@ -30,6 +25,11 @@ class AbstractApp extends AbstractBoot { super(); + this.googlePreviewSupportedCache = null; + this.isLocalAutocomplete = true; + this.iframe = null; + this.lastErrorTime = 0; + this.iframe = $('