editor.js/.eslintrc

89 lines
2.2 KiB
Plaintext
Raw Permalink Normal View History

{
/** Enable ES6 features */
"parserOptions": {
"ecmaVersion": 6,
2017-11-25 09:25:00 +01:00
"sourceType": "module"
},
"rules": {
"arrow-spacing": [2, {
"before": true,
"after": true
}],
/** Variables */
"no-catch-shadow": 2,
"no-delete-var": 2,
"no-label-var": 2,
"no-shadow-restricted-names": 2,
"no-shadow": 2,
"no-undef-init": 2,
"no-undef": 2,
"no-unused-vars": 1,
/** Style */
"array-bracket-spacing": [2, "never", {
"singleValue": true,
"objectsInArrays": true,
"arraysInArrays": true
}],
"quotes": [2, "single", {
"avoidEscape": true,
"allowTemplateLiterals": true
}],
"eqeqeq": 0,
"brace-style": [2, "1tbs"],
"comma-spacing": [2, {
"before": false,
"after": true
}],
"comma-style": [2, "last"],
"eol-last": 0,
"no-nested-ternary": 1,
"no-trailing-spaces": 2,
"no-mixed-spaces-and-tabs": 2,
"padded-blocks": [2, "never"],
"space-before-blocks": 1,
"space-before-function-paren": [1, {
"anonymous": "always",
"named": "never"
}],
"spaced-comment": [2, "always", {
"exceptions": ["-", "+"],
"markers": ["=", "!"]
}],
"semi": [2, "always"],
"indent": [2, 2, {
"SwitchCase": 1
}],
"camelcase": [2, {
"properties": "always"
}],
"newline-after-var": [1, "always"],
},
"globals":{
"document": true,
"module": true,
"require": true,
"window": true,
"console" : true,
"codex": true,
"VERSION" : true,
"Promise" : true,
"MutationObserver": true,
"FormData": true,
"XMLHttpRequest": true,
"ActiveXObject": true,
2017-11-25 17:03:23 +01:00
"RegExp": true,
"Module": true,
2017-11-30 08:19:07 +01:00
"Node": true,
"Element": true,
"Proxy": true,
"Symbol": true,
Autoloading improved, utilities now global (#225) * Autoloading improved, utilities now global # Autoloading Webpack специально не дает использовать переменные в реквайрах типа: let moduleName = 'toolbar.js'; let module = require(moduleName); У нас в автолоадинге было так: let modules = editorModules.map( module => require('./components/modules/' + module )); и это работало, но не так как нужно. Он подключал не только нужные модули из массива editorModules, а вообще все модули из папки components/modules. Я заметил, что они попадают в сборку, хоть и не указаны в реквайрах. Оказывается это так и задумано: Webpack на этапе компиляции не знает что будет в переменной, то есть какой там будет модуль. А ему нужно высчитать время компиляции, поэтому он вкладывет в сброрку тупо все файлы из этой папки, и для каждого высчитывает время. Так что по сути это было то же самое что просто написать require('./components/modules/') и подключить все файлы. Но наш автолоадер должен был подключать только указанные файлы, не заходить в подпапки и не включать файлы, начинающиеся с подчеркивания. Теперь автолоадинг работает так, как и задумывалось. # Global visible modules Теперь не нужно в каждом файле писать import $ from '../dom'; и тд. Они автоматически будут доступны внутри модулей * Update util.Dom * Remove duplicated Babel helpers. Now it will be defined at once
2017-12-02 13:35:55 +01:00
"$": true,
"_": true,
"setTimeout": true
}
}