diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000000..b5a22b00eb8 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,12 @@ +/** + * @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md. + */ + +/* eslint-env node */ + +'use strict'; + +module.exports = { + extends: 'ckeditor5' +}; diff --git a/.jscsrc b/.jscsrc deleted file mode 100644 index acf56d5810d..00000000000 --- a/.jscsrc +++ /dev/null @@ -1,92 +0,0 @@ -{ - "requireCurlyBraces": [ - "if", - "else", - "for", - "while", - "do", - "switch", - "try", - "catch" - ], - "requireSpaceBeforeKeywords": true, - "requireSpaceAfterKeywords": [ - "do", - "for", - "if", - "else", - "switch", - "case", - "try", - "catch", - "void", - "while", - "with", - "return", - "typeof" - ], - "requireSpaceBeforeBlockStatements": true, - "requireParenthesesAroundIIFE": true, - "requireSpacesInConditionalExpression": { - "afterTest": true, - "beforeConsequent": true, - "afterConsequent": true, - "beforeAlternate": true - }, - "requireSpacesInFunction": { - "beforeOpeningCurlyBrace": true - }, - "disallowSpacesInFunction": { - "beforeOpeningRoundBrace": true - }, - "disallowSpacesInCallExpression": true, - "disallowMultipleVarDecl": "exceptUndefined", - "requireBlocksOnNewline": true, - "disallowPaddingNewlinesInBlocks": true, - "requirePaddingNewlinesBeforeKeywords": [ - "do", - "for", - "if", - "switch", - "case", - "try", - "while", - "with", - "return" - ], - "requireSpacesInsideObjectBrackets": "all", - "requireSpacesInsideArrayBrackets": "all", - "requireSpacesInsideParentheses": "all", - "disallowSpaceAfterObjectKeys": true, - "requireSpaceBeforeObjectValues": true, - "requireCommaBeforeLineBreak": true, - "requireOperatorBeforeLineBreak": true, - "disallowSpaceAfterPrefixUnaryOperators": true, - "disallowSpaceBeforePostfixUnaryOperators": true, - "requireSpaceBeforeBinaryOperators": true, - "disallowImplicitTypeConversion": [ - "numeric", - "binary", - "string" - ], - "requireCamelCaseOrUpperCaseIdentifiers": true, - "requireSpaceAfterBinaryOperators": true, - "disallowKeywords": [ - "with" - ], - "disallowMultipleLineStrings": true, - "disallowMultipleLineBreaks": true, - "disallowMixedSpacesAndTabs": true, - "disallowTrailingWhitespace": true, - "maximumLineLength": 140, - "requireCapitalizedConstructors": true, - "requireDotNotation": true, - "disallowYodaConditions": true, - "disallowNewlineBeforeBlockStatements": true, - "validateLineBreaks": "LF", - "validateQuoteMarks": "'", - "validateIndentation": "\t", - "safeContextKeyword": [ - "that" - ] -} diff --git a/.jshintrc b/.jshintrc deleted file mode 100644 index 6373c41c866..00000000000 --- a/.jshintrc +++ /dev/null @@ -1,12 +0,0 @@ -{ - "node": true, - "esnext": true, - "immed": true, - "loopfunc": true, - "noarg": true, - "nonbsp": true, - "undef": true, - "unused": true, - "strict": true, - "varstmt": true -} diff --git a/gulpfile.js b/gulpfile.js index 0aca3353aff..a711006de3e 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -3,6 +3,8 @@ * For licensing, see LICENSE.md. */ +/* eslint-env node */ + 'use strict'; const path = require( 'path' ); @@ -10,10 +12,10 @@ const gulp = require( 'gulp' ); // Lint tasks. --------------------------------------------------------------- -const ckeditor5Lint = require( '@ckeditor/ckeditor5-dev-lint' )(); +const ckeditor5Lint = require( '@ckeditor/ckeditor5-dev-lint' ); -gulp.task( 'lint', ckeditor5Lint.lint ); -gulp.task( 'lint-staged', ckeditor5Lint.lintStaged ); +gulp.task( 'lint', () => ckeditor5Lint.lint() ); +gulp.task( 'lint-staged', () => ckeditor5Lint.lintStaged() ); gulp.task( 'pre-commit', [ 'lint-staged' ] ); // Tests. --------------------------------------------------------------------- @@ -42,7 +44,8 @@ gulp.task( 'docs', () => { const umberto = require( 'umberto' ); const ckeditor5Docs = require( '@ckeditor/ckeditor5-dev-docs' ); - return ckeditor5Docs.build( { + return ckeditor5Docs + .build( { readmePath: path.join( process.cwd(), 'README.md' ), sourceFiles: [ process.cwd() + '/packages/ckeditor5-*/src/**/*.@(js|jsdoc)', @@ -106,8 +109,8 @@ function assertIsInstalled( packageName ) { require( packageName + '/package.json' ); } catch ( err ) { console.error( `Error: Cannot find package '${ packageName }'.\n` ); - console.error( `You need to install optional dependencies.` ); - console.error( `Run: 'npm run install-optional-dependencies'.` ); + console.error( 'You need to install optional dependencies.' ); + console.error( 'Run: \'npm run install-optional-dependencies\'.' ); process.exit( 1 ); } diff --git a/package.json b/package.json index 9a73fb18f3a..0a1dfb30572 100644 --- a/package.json +++ b/package.json @@ -35,8 +35,9 @@ "@ckeditor/ckeditor5-widget": "^0.1.1" }, "devDependencies": { - "@ckeditor/ckeditor5-dev-lint": "^2.0.2", + "@ckeditor/ckeditor5-dev-lint": "^3.0.0", "@ckeditor/ckeditor5-dev-tests": "^7.3.0", + "eslint-config-ckeditor5": "^1.0.0", "gulp": "^3.9.0", "guppy-pre-commit": "^0.4.0", "lerna": "^2.0.0-rc.1",