2017-01-10 19:22:40 +01:00
|
|
|
{
|
2017-02-01 18:25:59 +01:00
|
|
|
/** Enable ES6 features */
|
|
|
|
"parserOptions": {
|
|
|
|
"ecmaVersion": 6,
|
2017-11-25 09:25:00 +01:00
|
|
|
"sourceType": "module"
|
2017-02-01 18:25:59 +01:00
|
|
|
},
|
|
|
|
"rules": {
|
2017-01-10 19:22:40 +01:00
|
|
|
|
2017-02-01 18:25:59 +01:00
|
|
|
"arrow-spacing": [2, {
|
|
|
|
"before": true,
|
|
|
|
"after": true
|
|
|
|
}],
|
2017-01-10 19:22:40 +01:00
|
|
|
|
2017-02-01 18:25:59 +01:00
|
|
|
/** 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,
|
2017-01-10 19:22:40 +01:00
|
|
|
|
2017-02-01 18:25:59 +01:00
|
|
|
/** Style */
|
|
|
|
"array-bracket-spacing": [2, "never", {
|
|
|
|
"singleValue": true,
|
|
|
|
"objectsInArrays": true,
|
|
|
|
"arraysInArrays": true
|
|
|
|
}],
|
2017-12-24 13:35:05 +01:00
|
|
|
"quotes": [2, "single", {
|
|
|
|
"avoidEscape": true,
|
|
|
|
"allowTemplateLiterals": true
|
|
|
|
}],
|
2017-02-01 18:25:59 +01:00
|
|
|
"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,
|
2018-06-11 14:29:15 +02:00
|
|
|
"padded-blocks": [2, "never"],
|
2017-02-05 15:50:48 +01:00
|
|
|
"space-before-blocks": 1,
|
|
|
|
"space-before-function-paren": [1, {
|
2017-02-01 18:25:59 +01:00
|
|
|
"anonymous": "always",
|
|
|
|
"named": "never"
|
|
|
|
}],
|
|
|
|
"spaced-comment": [2, "always", {
|
|
|
|
"exceptions": ["-", "+"],
|
|
|
|
"markers": ["=", "!"]
|
|
|
|
}],
|
|
|
|
"semi": [2, "always"],
|
2018-06-11 14:29:15 +02:00
|
|
|
"indent": [2, 2, {
|
2017-02-01 18:25:59 +01:00
|
|
|
"SwitchCase": 1
|
|
|
|
}],
|
|
|
|
"camelcase": [2, {
|
|
|
|
"properties": "always"
|
|
|
|
}],
|
|
|
|
"newline-after-var": [1, "always"],
|
|
|
|
|
|
|
|
},
|
|
|
|
"globals":{
|
|
|
|
"document": true,
|
|
|
|
"module": true,
|
|
|
|
"require": true,
|
|
|
|
"window": true,
|
2017-02-05 15:50:48 +01:00
|
|
|
"console" : true,
|
2017-02-01 18:25:59 +01:00
|
|
|
"codex": true,
|
|
|
|
"VERSION" : true,
|
|
|
|
"Promise" : true,
|
|
|
|
"MutationObserver": true,
|
|
|
|
"FormData": true,
|
|
|
|
"XMLHttpRequest": true,
|
2017-02-13 18:54:18 +01:00
|
|
|
"ActiveXObject": true,
|
2017-11-25 17:03:23 +01:00
|
|
|
"RegExp": true,
|
2017-12-11 11:24:46 +01:00
|
|
|
"Module": true,
|
2017-11-30 08:19:07 +01:00
|
|
|
"Node": true,
|
2017-12-24 13:35:05 +01:00
|
|
|
"Element": true,
|
2017-12-04 10:09:34 +01:00
|
|
|
"Proxy": true,
|
2017-12-24 13:35:05 +01:00
|
|
|
"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,
|
2018-07-17 16:14:56 +02:00
|
|
|
"_": true,
|
|
|
|
"setTimeout": true
|
2017-02-01 18:25:59 +01:00
|
|
|
}
|
2018-07-17 16:14:56 +02:00
|
|
|
}
|