Skip to content

Commit 56585f1

Browse files
authored
Merge pull request #489 from ckeditor/epic/ck/18475-eslint9
Internal: Bumped ESLint to v9.x. Internal: Bumped Node to v22.x.
2 parents 4e450a6 + ef5712e commit 56585f1

19 files changed

+691
-719
lines changed

.eslintrc.js

Lines changed: 0 additions & 82 deletions
This file was deleted.

eslint.config.mjs

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
/**
2+
* @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
3+
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
4+
*/
5+
6+
import globals from 'globals';
7+
import { defineConfig } from 'eslint/config';
8+
import ckeditor5Rules from 'eslint-plugin-ckeditor5-rules';
9+
import ckeditor5Config from 'eslint-config-ckeditor5';
10+
import tsPlugin from 'typescript-eslint';
11+
12+
export default defineConfig( [
13+
{
14+
ignores: [
15+
'dist/**',
16+
'coverage/**',
17+
'src/polyfills.ts'
18+
]
19+
},
20+
{
21+
extends: ckeditor5Config,
22+
23+
languageOptions: {
24+
ecmaVersion: 'latest',
25+
sourceType: 'module'
26+
},
27+
28+
linterOptions: {
29+
reportUnusedDisableDirectives: 'warn',
30+
reportUnusedInlineConfigs: 'warn'
31+
},
32+
33+
plugins: {
34+
'ckeditor5-rules': ckeditor5Rules,
35+
'@typescript-eslint': tsPlugin.plugin
36+
},
37+
38+
rules: {
39+
'new-cap': 'off',
40+
'no-duplicate-imports': 'off',
41+
'@typescript-eslint/explicit-function-return-type': 'off',
42+
'@typescript-eslint/no-explicit-any': 'off',
43+
'@typescript-eslint/no-namespace': 'off',
44+
'@typescript-eslint/no-non-null-assertion': 'off',
45+
'@typescript-eslint/no-unused-vars': 'error',
46+
'@typescript-eslint/no-var-requires': 'off',
47+
'@typescript-eslint/no-use-before-define': [ 'error', { functions: false } ],
48+
'@stylistic/indent': [ 'error', 'tab' ],
49+
'ckeditor5-rules/allow-imports-only-from-main-package-entry-point': 'off',
50+
'ckeditor5-rules/prevent-license-key-leak': 'error',
51+
'ckeditor5-rules/license-header': [ 'error', {
52+
headerLines: [
53+
'/**',
54+
' * @license Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.',
55+
' * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options',
56+
' */'
57+
]
58+
} ]
59+
}
60+
},
61+
{
62+
// Disable license header requirement for the entire `src` directory, except the `src/ckeditor` subdirectory.
63+
files: [ 'src/**/*' ],
64+
ignores: [ 'src/ckeditor/**/*' ],
65+
rules: {
66+
'ckeditor5-rules/license-header': 'off'
67+
}
68+
},
69+
{
70+
files: [
71+
'**/*.{js,mjs}',
72+
'scripts/**/*.{js,mjs}'
73+
],
74+
75+
languageOptions: {
76+
globals: {
77+
...globals.node
78+
}
79+
}
80+
}
81+
] );

karma.conf.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@
66
// Karma configuration file, see link for more information
77
// https://karma-runner.github.io/1.0/config/configuration-file.html
88

9-
/* eslint-env node */
10-
119
module.exports = function( config ) {
1210
const karmaConfig = {
1311
basePath: '',

package.json

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"test:e2e": "cypress run",
1313
"test:e2e:ci": "start-server-and-test 'yarn run start' http://localhost:4200/ 'yarn run test:e2e --quiet'",
1414
"coverage": "ng test --watch=false --code-coverage",
15-
"lint": "eslint \"*/**/*.+(js|mjs|ts)\"",
15+
"lint": "eslint",
1616
"changelog": "node ./scripts/changelog.mjs",
1717
"build-package": "ng-packagr -p src/ckeditor/ng-package.json",
1818
"release:prepare-packages": "node scripts/preparepackages.mjs",
@@ -38,22 +38,22 @@
3838
"@angular/cli": "^16",
3939
"@angular/compiler-cli": "^16",
4040
"@angular/language-service": "^16",
41-
"@ckeditor/ckeditor5-dev-bump-year": "^44.0.0",
42-
"@ckeditor/ckeditor5-dev-ci": "^44.0.0",
43-
"@ckeditor/ckeditor5-dev-release-tools": "^44.0.0",
44-
"@ckeditor/ckeditor5-dev-utils": "^44.0.0",
41+
"@ckeditor/ckeditor5-dev-bump-year": "^49.0.0",
42+
"@ckeditor/ckeditor5-dev-ci": "^49.0.0",
43+
"@ckeditor/ckeditor5-dev-release-tools": "^49.0.0",
44+
"@ckeditor/ckeditor5-dev-utils": "^49.0.0",
4545
"@types/jasminewd2": "^2.0.10",
4646
"@types/node": "^14.11.8",
47-
"@typescript-eslint/eslint-plugin": "~5.43.0",
48-
"@typescript-eslint/parser": "^5.31.0",
4947
"ckeditor5": "^44.3.0",
5048
"ckeditor5-premium-features": "^44.3.0",
5149
"coveralls": "^3.1.1",
5250
"css-loader": "^5.2.7",
5351
"cypress": "^12.17.4",
54-
"eslint": "^8.20.0",
55-
"eslint-config-ckeditor5": "^7.1.0",
52+
"eslint": "^9.26.0",
53+
"eslint-config-ckeditor5": "^10.0.0",
54+
"eslint-plugin-ckeditor5-rules": "^10.0.0",
5655
"fs-extra": "^10.0.1",
56+
"globals": "^16.1.0",
5757
"husky": "^8.0.2",
5858
"jasmine-core": "~3.8.0",
5959
"jasmine-spec-reporter": "~5.0.0",
@@ -74,6 +74,7 @@
7474
"ts-loader": "^9.4.3",
7575
"ts-node": "^9.0.0",
7676
"typescript": "~5.0.0",
77+
"typescript-eslint": "^8.32.0",
7778
"upath": "^2.0.1",
7879
"webpack": "^5.94.0",
7980
"webpack-cli": "^4.10.0"
@@ -83,7 +84,7 @@
8384
"webpack-dev-middleware": "5.3.4"
8485
},
8586
"engines": {
86-
"node": ">=20.0.0"
87+
"node": ">=22.0.0"
8788
},
8889
"author": "CKSource (http://cksource.com/)",
8990
"license": "SEE LICENSE IN LICENSE.md",
@@ -94,15 +95,8 @@
9495
"url": "https://github.com/ckeditor/ckeditor5-angular.git"
9596
},
9697
"lint-staged": {
97-
"**/*.+(js|mjs|ts)": [
98+
"**/*": [
9899
"eslint --quiet"
99100
]
100-
},
101-
"eslintIgnore": [
102-
"**/node_modules/**",
103-
"**/dist/**",
104-
"**/coverage/",
105-
"src/polyfills.ts",
106-
"ckeditor/**"
107-
]
101+
}
108102
}

scripts/bump-year.mjs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
66
*/
77

8-
/* eslint-env node */
9-
108
/*
119
1210
Usage:
@@ -22,7 +20,7 @@ import { bumpYear } from '@ckeditor/ckeditor5-dev-bump-year';
2220
bumpYear( {
2321
cwd: process.cwd(),
2422
globPatterns: [
25-
{ // LICENSE.md, .eslintrc.js, etc.
23+
{
2624
pattern: '*',
2725
options: {
2826
dot: true

scripts/changelog.mjs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
44
*/
55

6-
/* eslint-env node */
7-
86
import { generateChangelogForSinglePackage } from '@ckeditor/ckeditor5-dev-release-tools';
97
import parseArguments from './utils/parsearguments.mjs';
108

scripts/ci/is-project-ready-to-release.mjs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
66
*/
77

8-
/* eslint-env node */
9-
108
import { createRequire } from 'module';
119
import * as releaseTools from '@ckeditor/ckeditor5-dev-release-tools';
1210

scripts/postinstall.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55

66
'use strict';
77

8-
/* eslint-env node */
9-
108
const path = require( 'path' );
119
const fs = require( 'fs' );
1210
const ROOT_DIRECTORY = path.join( __dirname, '..' );

scripts/preparepackages.mjs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
66
*/
77

8-
/* eslint-env node */
9-
108
import fs from 'fs-extra';
119
import upath from 'upath';
1210
import { Listr } from 'listr2';
@@ -102,6 +100,10 @@ const tasks = new Listr( [
102100
packageJson => {
103101
packageJson.version = latestVersion;
104102

103+
if ( packageJson.engines ) {
104+
delete packageJson.engines;
105+
}
106+
105107
return packageJson;
106108
} );
107109
},

scripts/publishpackages.mjs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
66
*/
77

8-
/* eslint-env node */
9-
108
import { Listr } from 'listr2';
119
import * as releaseTools from '@ckeditor/ckeditor5-dev-release-tools';
1210
import parseArguments from './utils/parsearguments.mjs';

0 commit comments

Comments
 (0)