Issue #2815077 by drpal, mradcliffe, effulgentsia, mpdonadio, nod_, droplet, alexpott, nedjo, tizzo, David_Rothstein, pfrenssen: Adopt airbnb javascript style guide v13 as new baseline javascript coding standards for Drupal 8 core and contrib
parent
02d56af38e
commit
ca9e5201e7
|
@ -1,5 +1,4 @@
|
||||||
core/assets/vendor/**/*
|
core/**/*
|
||||||
core/modules/locale/tests/locale_test.js
|
|
||||||
vendor/**/*
|
vendor/**/*
|
||||||
sites/**/files/**/*
|
sites/**/files/**/*
|
||||||
libraries/**/*
|
libraries/**/*
|
||||||
|
|
|
@ -2,3 +2,5 @@ assets/vendor/**/*
|
||||||
modules/locale/tests/locale_test.js
|
modules/locale/tests/locale_test.js
|
||||||
node_modules/**/*
|
node_modules/**/*
|
||||||
**/js_test_files/**/*
|
**/js_test_files/**/*
|
||||||
|
*.js
|
||||||
|
!*.es6.js
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{
|
{
|
||||||
"extends": "eslint:recommended",
|
"extends": "eslint-config-airbnb",
|
||||||
|
"root": true,
|
||||||
"env": {
|
"env": {
|
||||||
"browser": true,
|
"browser": true,
|
||||||
"es6": true,
|
"es6": true,
|
||||||
|
@ -18,80 +19,23 @@
|
||||||
"CKEDITOR": true
|
"CKEDITOR": true
|
||||||
},
|
},
|
||||||
"rules": {
|
"rules": {
|
||||||
// Errors.
|
"consistent-return": [0],
|
||||||
"array-bracket-spacing": [2, "never"],
|
"no-underscore-dangle": [0],
|
||||||
"block-scoped-var": 2,
|
|
||||||
"brace-style": [2, "stroustrup", {"allowSingleLine": true}],
|
|
||||||
"comma-dangle": [2, "never"],
|
|
||||||
"comma-spacing": 2,
|
|
||||||
"comma-style": [2, "last"],
|
|
||||||
"computed-property-spacing": [2, "never"],
|
|
||||||
"curly": [2, "all"],
|
|
||||||
"eol-last": 2,
|
|
||||||
"eqeqeq": [2, "smart"],
|
|
||||||
"guard-for-in": 2,
|
|
||||||
"indent": [2, 2, {"SwitchCase": 1}],
|
|
||||||
"key-spacing": [2, {"beforeColon": false, "afterColon": true}],
|
|
||||||
"keyword-spacing": [2, {"before": true, "after": true}],
|
|
||||||
"linebreak-style": [2, "unix"],
|
|
||||||
"lines-around-comment": [2, {"beforeBlockComment": true, "afterBlockComment": false}],
|
|
||||||
"new-parens": 2,
|
|
||||||
"no-array-constructor": 2,
|
|
||||||
"no-caller": 2,
|
|
||||||
"no-catch-shadow": 2,
|
|
||||||
"no-eval": 2,
|
|
||||||
"no-extend-native": 2,
|
|
||||||
"no-extra-bind": 2,
|
|
||||||
"no-extra-parens": [2, "functions"],
|
|
||||||
"no-implied-eval": 2,
|
|
||||||
"no-iterator": 2,
|
|
||||||
"no-label-var": 2,
|
|
||||||
"no-labels": 2,
|
|
||||||
"no-lone-blocks": 2,
|
|
||||||
"no-loop-func": 2,
|
|
||||||
"no-multi-spaces": 2,
|
|
||||||
"no-multi-str": 2,
|
|
||||||
"no-native-reassign": 2,
|
|
||||||
"no-nested-ternary": 2,
|
|
||||||
"no-new-func": 2,
|
|
||||||
"no-new-object": 2,
|
|
||||||
"no-new-wrappers": 2,
|
|
||||||
"no-octal-escape": 2,
|
|
||||||
"no-process-exit": 2,
|
|
||||||
"no-proto": 2,
|
|
||||||
"no-return-assign": 2,
|
|
||||||
"no-script-url": 2,
|
|
||||||
"no-sequences": 2,
|
|
||||||
"no-shadow-restricted-names": 2,
|
|
||||||
"no-spaced-func": 2,
|
|
||||||
"no-trailing-spaces": 2,
|
|
||||||
"no-undef-init": 2,
|
|
||||||
"no-undefined": 2,
|
|
||||||
"no-unused-expressions": 2,
|
|
||||||
"no-unused-vars": [2, {"vars": "all", "args": "none"}],
|
|
||||||
"no-with": 2,
|
|
||||||
"object-curly-spacing": [2, "never"],
|
|
||||||
"one-var": [2, "never"],
|
|
||||||
"quote-props": [2, "consistent-as-needed"],
|
|
||||||
"quotes": [2, "single", "avoid-escape"],
|
|
||||||
"semi": [2, "always"],
|
|
||||||
"semi-spacing": [2, {"before": false, "after": true}],
|
|
||||||
"space-before-blocks": [2, "always"],
|
|
||||||
"space-before-function-paren": [2, {"anonymous": "always", "named": "never"}],
|
|
||||||
"space-in-parens": [2, "never"],
|
|
||||||
"space-infix-ops": 2,
|
|
||||||
"space-unary-ops": [2, { "words": true, "nonwords": false }],
|
|
||||||
"spaced-comment": [2, "always"],
|
|
||||||
"strict": [2, "function"],
|
|
||||||
"yoda": [2, "never"],
|
|
||||||
// Warnings.
|
|
||||||
"max-nested-callbacks": [1, 3],
|
"max-nested-callbacks": [1, 3],
|
||||||
|
"no-mutable-exports": [1],
|
||||||
|
"no-plusplus": [1, {
|
||||||
|
"allowForLoopAfterthoughts": true
|
||||||
|
}],
|
||||||
|
"no-param-reassign": [0],
|
||||||
|
"no-prototype-builtins": [0],
|
||||||
"valid-jsdoc": [1, {
|
"valid-jsdoc": [1, {
|
||||||
"prefer": {
|
"prefer": {
|
||||||
"returns": "return",
|
"returns": "return",
|
||||||
"property": "prop"
|
"property": "prop"
|
||||||
},
|
},
|
||||||
"requireReturn": false
|
"requireReturn": false
|
||||||
}]
|
}],
|
||||||
|
"brace-style": ["error", "stroustrup"],
|
||||||
|
"no-unused-vars": [1]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,94 @@
|
||||||
|
{
|
||||||
|
"extends": "eslint:recommended",
|
||||||
|
"root": true,
|
||||||
|
"env": {
|
||||||
|
"browser": true
|
||||||
|
},
|
||||||
|
"globals": {
|
||||||
|
"Drupal": true,
|
||||||
|
"drupalSettings": true,
|
||||||
|
"drupalTranslations": true,
|
||||||
|
"domready": true,
|
||||||
|
"jQuery": true,
|
||||||
|
"_": true,
|
||||||
|
"matchMedia": true,
|
||||||
|
"Backbone": true,
|
||||||
|
"Modernizr": true,
|
||||||
|
"CKEDITOR": true
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"array-bracket-spacing": [2, "never"],
|
||||||
|
"block-scoped-var": 2,
|
||||||
|
"brace-style": [2, "stroustrup", {"allowSingleLine": true}],
|
||||||
|
"comma-dangle": [2, "never"],
|
||||||
|
"comma-spacing": 2,
|
||||||
|
"comma-style": [2, "last"],
|
||||||
|
"computed-property-spacing": [2, "never"],
|
||||||
|
"curly": [2, "all"],
|
||||||
|
"eol-last": 2,
|
||||||
|
"eqeqeq": [2, "smart"],
|
||||||
|
"guard-for-in": 2,
|
||||||
|
"indent": [2, 2, {"SwitchCase": 1}],
|
||||||
|
"key-spacing": [2, {"beforeColon": false, "afterColon": true}],
|
||||||
|
"keyword-spacing": [2, {"before": true, "after": true}],
|
||||||
|
"linebreak-style": [2, "unix"],
|
||||||
|
"lines-around-comment": [2, {"beforeBlockComment": true, "afterBlockComment": false}],
|
||||||
|
"new-parens": 2,
|
||||||
|
"no-array-constructor": 2,
|
||||||
|
"no-caller": 2,
|
||||||
|
"no-catch-shadow": 2,
|
||||||
|
"no-eval": 2,
|
||||||
|
"no-extend-native": 2,
|
||||||
|
"no-extra-bind": 2,
|
||||||
|
"no-extra-parens": [2, "functions"],
|
||||||
|
"no-implied-eval": 2,
|
||||||
|
"no-iterator": 2,
|
||||||
|
"no-label-var": 2,
|
||||||
|
"no-labels": 2,
|
||||||
|
"no-lone-blocks": 2,
|
||||||
|
"no-loop-func": 2,
|
||||||
|
"no-multi-spaces": 2,
|
||||||
|
"no-multi-str": 2,
|
||||||
|
"no-native-reassign": 2,
|
||||||
|
"no-nested-ternary": 2,
|
||||||
|
"no-new-func": 2,
|
||||||
|
"no-new-object": 2,
|
||||||
|
"no-new-wrappers": 2,
|
||||||
|
"no-octal-escape": 2,
|
||||||
|
"no-process-exit": 2,
|
||||||
|
"no-proto": 2,
|
||||||
|
"no-return-assign": 2,
|
||||||
|
"no-script-url": 2,
|
||||||
|
"no-sequences": 2,
|
||||||
|
"no-shadow-restricted-names": 2,
|
||||||
|
"no-spaced-func": 2,
|
||||||
|
"no-trailing-spaces": 2,
|
||||||
|
"no-undef-init": 2,
|
||||||
|
"no-undefined": 2,
|
||||||
|
"no-unused-expressions": 2,
|
||||||
|
"no-unused-vars": [2, {"vars": "all", "args": "none"}],
|
||||||
|
"no-with": 2,
|
||||||
|
"object-curly-spacing": [2, "never"],
|
||||||
|
"one-var": [2, "never"],
|
||||||
|
"quote-props": [2, "consistent-as-needed"],
|
||||||
|
"quotes": [2, "single", "avoid-escape"],
|
||||||
|
"semi": [2, "always"],
|
||||||
|
"semi-spacing": [2, {"before": false, "after": true}],
|
||||||
|
"space-before-blocks": [2, "always"],
|
||||||
|
"space-before-function-paren": [2, {"anonymous": "always", "named": "never"}],
|
||||||
|
"space-in-parens": [2, "never"],
|
||||||
|
"space-infix-ops": 2,
|
||||||
|
"space-unary-ops": [2, { "words": true, "nonwords": false }],
|
||||||
|
"spaced-comment": [2, "always"],
|
||||||
|
"strict": [2, "function"],
|
||||||
|
"yoda": [2, "never"],
|
||||||
|
"max-nested-callbacks": [1, 3],
|
||||||
|
"valid-jsdoc": [1, {
|
||||||
|
"prefer": {
|
||||||
|
"returns": "return",
|
||||||
|
"property": "prop"
|
||||||
|
},
|
||||||
|
"requireReturn": false
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,14 +6,18 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build:js": "node ./scripts/js/babel-es6-build.js",
|
"build:js": "node ./scripts/js/babel-es6-build.js",
|
||||||
"watch:js": "node ./scripts/js/babel-es6-watch.js",
|
"watch:js": "node ./scripts/js/babel-es6-watch.js",
|
||||||
"lint:js": "eslint . || exit 0"
|
"lint:core-js": "node ./node_modules/eslint/bin/eslint.js --ext=.es6.js . --fix || exit 0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"babel-core": "6.17.0",
|
"babel-core": "6.24.1",
|
||||||
"babel-preset-es2015": "6.16.0",
|
"babel-preset-es2015": "6.16.0",
|
||||||
"chokidar": "1.6.0",
|
"chokidar": "1.6.1",
|
||||||
"eslint": "3.8.1",
|
"eslint": "3.19.0",
|
||||||
"glob": "^7.1.1"
|
"eslint-config-airbnb": "14.1.0",
|
||||||
|
"eslint-plugin-import": "2.2.0",
|
||||||
|
"eslint-plugin-jsx-a11y": "4.0.0",
|
||||||
|
"eslint-plugin-react": "6.10.3",
|
||||||
|
"glob": "7.1.1"
|
||||||
},
|
},
|
||||||
"babel": {
|
"babel": {
|
||||||
"presets": [
|
"presets": [
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue