Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
10e75f5
Security: update vulnerable dependencies and align overrides with 26_1
aleksei-semikozov Apr 3, 2026
3b29b3e
Security - Regenerate pnpm-lock.yaml to fix broken picomatch resolution
aleksei-semikozov Apr 3, 2026
4459bbe
Fix devextreme-react tests: pin @types/react to 18.0.38
aleksei-semikozov Apr 3, 2026
e3795a4
Angular - Stabilize memory leak test T1307313: raise threshold to 100…
aleksei-semikozov Apr 4, 2026
b6d0c3b
Security: sync overrides with 26_1 (rollup, vite, minimatch, basic-ftp)
aleksei-semikozov Apr 12, 2026
bbc2718
Security: remove 15 unnecessary overrides (26_1 already on safe versi…
aleksei-semikozov Apr 12, 2026
9a5cbf3
Security: regenerate pnpm-lock.yaml after overrides update
aleksei-semikozov Apr 12, 2026
389c703
Security: bump 15 patch-level dependencies to match 26_1
aleksei-semikozov Apr 12, 2026
13ce88e
Security: upgrade eslint-config-devextreme to 1.1.9 with dependency a…
aleksei-semikozov Apr 14, 2026
2d95813
Merge upstream/25_2 and resolve conflicts
aleksei-semikozov Apr 14, 2026
ff17d19
Security: fix d.ts lint errors from @stylistic 5.x upgrade
aleksei-semikozov Apr 14, 2026
c9f19cd
Security: fix wrapper eslint configs for eslint-config-devextreme 1.1.9
aleksei-semikozov Apr 14, 2026
823923c
Security: fix remaining lint errors in wrappers and testcafe
aleksei-semikozov Apr 14, 2026
89ccded
Security: revert Angular 19.2.18→19.2.20 bump (internal API breaking …
aleksei-semikozov Apr 14, 2026
a93f2ee
Security: bump yaml 2.5.0 → 2.8.3
aleksei-semikozov Apr 14, 2026
95b9c91
Security: bump webpack to 5.105.4 across all packages
aleksei-semikozov Apr 14, 2026
739f443
Security: bump csstype 3.1.3 → 3.2.3
aleksei-semikozov Apr 14, 2026
bce4ae7
Security: bump jspdf 4.0.0 → 4.2.1
aleksei-semikozov Apr 14, 2026
a8819c9
Security: bump @testing-library/jest-dom ^6.6.3 → 6.9.1
aleksei-semikozov Apr 14, 2026
7b42e43
Security: bump @testing-library/user-event ^14.5.2 → 14.6.1
aleksei-semikozov Apr 14, 2026
b2631de
Security: bump eslint-plugin-n 17.23.1 → 17.24.0
aleksei-semikozov Apr 14, 2026
ccf2b41
Security: bump eslint-plugin-jest 29.0.1 → 29.15.0
aleksei-semikozov Apr 14, 2026
462f8e1
Security: bump @babel/* 7.23.x → 7.29.0
aleksei-semikozov Apr 14, 2026
021d7cb
Security: bump sass-embedded 1.59.2 → 1.93.3
aleksei-semikozov Apr 15, 2026
ae7dce5
Security: bump gulp-sass 5.1.0 → 6.0.1
aleksei-semikozov Apr 15, 2026
e7a37da
Merge remote-tracking branch 'upstream/25_2' into security/update-ove…
aleksei-semikozov Apr 15, 2026
c55df76
Security: bump @babel/eslint-parser 7.28.6, @eslint/eslintrc 3.3.5, @…
aleksei-semikozov Apr 15, 2026
249cd7b
Security: fix comma-dangle lint in wrappers, d.ts, testcafe after @st…
aleksei-semikozov Apr 15, 2026
7f7df89
Security: regenerate dx.all.d.ts after comma-dangle fixes
aleksei-semikozov Apr 15, 2026
58f4dc7
Security: bump @babel/core and preset-env in demos to 7.29.0
aleksei-semikozov Apr 16, 2026
407d10d
Revert "Security: bump @babel/core and preset-env in demos to 7.29.0"
aleksei-semikozov Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 15 additions & 8 deletions apps/demos/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
import globals from 'globals';
import babelParser from '@babel/eslint-parser';
import spellcheckDevextreme from 'eslint-config-devextreme/spell-check.js';
import spellcheckDevextreme from 'eslint-config-devextreme/spell-check';
import testcafeConfig from 'eslint-config-devextreme/testcafe';
import typescriptConfig from 'eslint-config-devextreme/typescript';
import javascriptConfig from 'eslint-config-devextreme/javascript';
import spellcheckPlugin from 'eslint-plugin-spellcheck';
import noOnlyTests from 'eslint-plugin-no-only-tests';
import deprecation from 'eslint-plugin-deprecation';
Expand Down Expand Up @@ -29,7 +32,7 @@ const compat = new FlatCompat({
allConfig: js.configs.all
});

const spellcheckRule = spellcheckDevextreme.rules['spellcheck/spell-checker'];
const spellcheckRule = spellcheckDevextreme[0].rules['spellcheck/spell-checker'];

export default [
{
Expand Down Expand Up @@ -77,13 +80,13 @@ export default [
},
},

...compat.extends('eslint:recommended', 'devextreme/spell-check'),

...compat.extends('devextreme/javascript').map(config => ({
js.configs.recommended,
...spellcheckDevextreme,
...javascriptConfig.map(config => ({
...config,
rules: changeRulesToStylistic(config.rules || {}),
})),
...compat.extends('devextreme/typescript').map(config => ({
...typescriptConfig.map(config => ({
...config,
files: ['**/*.ts', '**/*.tsx'],
rules: changeRulesToStylistic(config.rules || {}),
Expand Down Expand Up @@ -221,6 +224,7 @@ export default [

'@typescript-eslint/naming-convention': 0,
'@typescript-eslint/no-throw-literal': 0,
'@typescript-eslint/only-throw-error': 'warn',
'@typescript-eslint/no-use-before-define': 0,
'@typescript-eslint/no-shadow': 0,
'@typescript-eslint/no-loop-func': 0,
Expand Down Expand Up @@ -467,9 +471,12 @@ export default [
},

// testcafe tests
...compat.extends('devextreme/testcafe').map(config => ({
...testcafeConfig.map(config => ({
...config,
rules: changeRulesToStylistic(config.rules || {}),
rules: {
...changeRulesToStylistic(config.rules || {}),
'require-await': 'warn',
},
files: ['testing/**/*.{js,ts}', 'utils/visual-tests/**/*.*'],
})),

Expand Down
11 changes: 6 additions & 5 deletions apps/demos/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@
"@angular/animations": "~21.0.0",
"@angular/cli": "~21.0.5",
"@angular/common": "~21.0.0",
"@angular/compiler": "~21.0.7",
"@angular/compiler-cli": "~21.0.7",
"@angular/core": "~21.0.7",
"@angular/compiler": "~21.2.4",
"@angular/compiler-cli": "~21.2.4",
"@angular/core": "~21.2.4",
"@angular/forms": "~21.0.0",
"@angular/platform-browser": "~21.0.0",
"@angular/platform-browser-dynamic": "~21.0.0",
Expand Down Expand Up @@ -125,8 +125,8 @@
"eslint-plugin-no-only-tests": "catalog:",
"eslint-plugin-react": "7.37.5",
"eslint-plugin-react-hooks": "^5.1.0",
"eslint-plugin-react-perf": "3.3.2",
"eslint-plugin-vue": "^10.7.0",
"eslint-plugin-react-perf": "3.3.3",
"eslint-plugin-vue": "catalog:",
"express": "4.21.2",
"glob": "11.1.0",
"globals": "catalog:",
Expand All @@ -153,6 +153,7 @@
"testcafe": "catalog:",
"testcafe-reporter-spec-time": "4.0.0",
"ts-node": "10.9.2",
"vue-eslint-parser": "catalog:",
"vue-tsc": "^3.0.6"
},
"scripts": {
Expand Down
8 changes: 4 additions & 4 deletions apps/react-storybook/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,17 @@
"openai": "4.73.1"
},
"devDependencies": {
"@storybook/addon-docs": "10.1.9",
"@storybook/addon-links": "10.1.9",
"@storybook/addon-docs": "10.2.10",
"@storybook/addon-links": "10.2.10",
"@storybook/addon-webpack5-compiler-swc": "^4.0.2",
"@storybook/react-webpack5": "10.1.9",
"@storybook/react-webpack5": "10.2.10",
"@types/react": "18.0.0",
"@types/react-dom": "18.0.0",
"http-server": "14.1.1",
"prop-types": "15.8.1",
"react": "18.0.0",
"react-dom": "18.0.0",
"storybook": "10.1.10",
"storybook": "10.2.10",
"typescript": "^5.9.3"
}
}
2 changes: 1 addition & 1 deletion apps/react/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"style-loader": "3.3.4",
"ts-loader": "9.5.1",
"tsconfig-paths-webpack-plugin": "4.1.0",
"webpack": "5.94.0",
"webpack": "5.105.4",
"webpack-cli": "5.1.4",
"webpack-dev-server": "5.2.1"
},
Expand Down
2 changes: 1 addition & 1 deletion apps/vue/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"url-loader": "1.1.2",
"vue-loader": "17.4.2",
"vue-router": "4.2.5",
"webpack": "5.94.0",
"webpack": "5.105.4",
"webpack-cli": "5.1.4",
"webpack-dev-server": "5.2.1"
},
Expand Down
3 changes: 2 additions & 1 deletion e2e/bundlers/eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import { fileURLToPath } from 'node:url';
import js from '@eslint/js';
// eslint-disable-next-line spellcheck/spell-checker
import { FlatCompat as FlatCompatibility } from '@eslint/eslintrc';
import spellCheckConfig from 'eslint-config-devextreme/spell-check';
import stylistic from '@stylistic/eslint-plugin';
import i18N from 'eslint-plugin-i18n';
import noOnlyTests from 'eslint-plugin-no-only-tests';
Expand All @@ -22,7 +23,7 @@ export default [
'node_modules/**',
],
},
...compatibility.extends('devextreme/spell-check'),
...spellCheckConfig,
{
plugins: {
'no-only-tests': noOnlyTests,
Expand Down
4 changes: 2 additions & 2 deletions e2e/bundlers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,14 @@
"rimraf": "3.0.2",
"rollup": "4.22.4",
"vite": "5.4.21",
"webpack": "5.94.0",
"webpack": "5.105.4",
"webpack-cli": "4.10.0",
"devextreme": "workspace:*",
"eslint": "catalog:",
"@eslint/eslintrc": "catalog:",
"@stylistic/eslint-plugin": "catalog:",
"@typescript-eslint/parser": "catalog:",
"eslint-config-devextreme": "1.1.6",
"eslint-config-devextreme": "catalog:",
"eslint-plugin-i18n": "catalog:",
"eslint-plugin-import": "catalog:",
"eslint-plugin-no-only-tests": "catalog:",
Expand Down
11 changes: 4 additions & 7 deletions e2e/compilation-cases/eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,22 +8,19 @@ import js from '@eslint/js';
import { FlatCompat as FlatCompatibility } from '@eslint/eslintrc';
import stylistic from '@stylistic/eslint-plugin';
import { changeRulesToStylistic } from 'eslint-migration-utils';
import spellCheckConfig from 'eslint-config-devextreme/spell-check';
import typescriptConfig from 'eslint-config-devextreme/typescript';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const compatibility = new FlatCompatibility({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all
});

export default [
{
ignores: [
'node_modules/**',
],
},
...compatibility.extends('devextreme/spell-check'),
...spellCheckConfig,
{
plugins: {
'no-only-tests': noOnlyTests,
Expand All @@ -37,7 +34,7 @@ export default [
},
},
},
...compatibility.extends('devextreme/typescript').map(config => {
...typescriptConfig.map(config => {
const newConfig = {
...config,
files: ['**/*.ts?(x)'],
Expand Down
2 changes: 1 addition & 1 deletion e2e/compilation-cases/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"@stylistic/eslint-plugin": "catalog:",
"@typescript-eslint/eslint-plugin": "catalog:",
"@typescript-eslint/parser": "catalog:",
"eslint-config-devextreme": "1.1.6",
"eslint-config-devextreme": "catalog:",
"eslint-migration-utils": "workspace:*",
"eslint-plugin-i18n": "catalog:",
"eslint-plugin-import": "catalog:",
Expand Down
2 changes: 1 addition & 1 deletion e2e/devextreme-bundler/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@
"scripts": {},
"dependencies": {
"terser-webpack-plugin": "5.3.9",
"webpack": "^5.101.3"
"webpack": "^5.105.0"
}
}
3 changes: 2 additions & 1 deletion e2e/testcafe-devextreme/docker/run-testcafe.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ const matrix = [
];
(async() => {

// eslint-disable-next-line no-undef
const parsedArgs = parseArgs(process.argv);
const componentFolderName = parsedArgs.componentFolder;
let testParts = matrix;
Expand All @@ -45,7 +46,7 @@ const matrix = [

// eslint-disable-next-line no-restricted-syntax
for (const { name, ...args } of testParts) {
// eslint-disable-next-line no-console
// eslint-disable-next-line no-console,no-undef
console.log(`Started test: ${name}`);

const startupParams = Object.entries(args).map(([key, value]) => `--${key}=${value}`);
Expand Down
18 changes: 12 additions & 6 deletions e2e/testcafe-devextreme/eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ import { fileURLToPath } from 'node:url';
import js from '@eslint/js';
import { FlatCompat as FlatCompatibility } from '@eslint/eslintrc';
import stylistic from '@stylistic/eslint-plugin';
import spellCheckConfig from 'eslint-config-devextreme/spell-check';
import typescriptConfig from 'eslint-config-devextreme/typescript';
import testcafeConfig from 'eslint-config-devextreme/testcafe';
import { changeRulesToStylistic } from 'eslint-migration-utils';

const __filename = fileURLToPath(import.meta.url);
Expand All @@ -24,8 +27,8 @@ export default [
'node_modules/**',
],
},
...compatibility.extends('devextreme/spell-check'),
...compatibility.extends('devextreme/testcafe'),
...spellCheckConfig,
...testcafeConfig,
{
plugins: {
'no-only-tests': noOnlyTests,
Expand Down Expand Up @@ -128,7 +131,6 @@ export default [
'space-before-function-paren': ['error', 'never'],
'space-in-parens': 'error',
'space-infix-ops': 'error',
'space-unary-ops': 'error',
'@stylistic/space-infix-ops': 'error',
'space-unary-ops': 'error',
'spaced-comment': ['error', 'always', {
Expand All @@ -155,7 +157,7 @@ export default [
'import/no-duplicates': 2,
}
},
...compatibility.extends('devextreme/typescript').map(config => {
...typescriptConfig.map(config => {
const newConfig = {
...config,
files: ['**/*.ts?(x)'],
Expand Down Expand Up @@ -216,10 +218,14 @@ export default [
'no-await-in-loop': 'off',
'@stylistic/no-extra-parens': 'off',
'@typescript-eslint/require-await': 'off',
'@typescript-eslint/no-base-to-string': 'off'
'@typescript-eslint/no-base-to-string': 'off',
'@typescript-eslint/prefer-nullish-coalescing': 'warn',
'@typescript-eslint/prefer-optional-chain': 'warn',
'@typescript-eslint/only-throw-error': 'warn',
'require-await': 'off',
},
},
...compatibility.extends('devextreme/typescript').map(config => {
...typescriptConfig.map(config => {
const newConfig = {
...config,
files: ['**/*.d.ts'],
Expand Down
3 changes: 1 addition & 2 deletions e2e/testcafe-devextreme/helpers/callbackTestHelper.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { ClientFunction } from 'testcafe';

type WindowCallbackExtended =
Window
type WindowCallbackExtended = Window
& typeof globalThis
& {
clientTesting?: {
Expand Down
4 changes: 2 additions & 2 deletions e2e/testcafe-devextreme/helpers/createWidget.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ export const createWidget = async<TWidgetName extends WidgetName>(
widgetName: TWidgetName,
widgetOptions: TWidgetName extends keyof WidgetOptions
? (
WidgetOptions[TWidgetName] |
WidgetOptions[TWidgetName]
// NOTE: Promise is only for ClientFunction typing
(() => (WidgetOptions[TWidgetName]) | Promise<WidgetOptions[TWidgetName]>)
| (() => (WidgetOptions[TWidgetName]) | Promise<WidgetOptions[TWidgetName]>)
) : unknown,
selector = DEFAULT_SELECTOR,
{ disableFxAnimation } = DEFAULT_OPTIONS,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@

/* eslint-disable no-undef */
function getRoot() {
return document.querySelector('#parentContainer').shadowRoot;
}
Expand Down
3 changes: 1 addition & 2 deletions e2e/testcafe-devextreme/helpers/widgetTypings.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
import type { Properties as DataGridProperties } from 'devextreme/ui/data_grid';
import type { Properties as FilterBuilderProperties } from 'devextreme/ui/filter_builder';

export type WidgetName =
'dxAccordion'
export type WidgetName = 'dxAccordion'
| 'dxAutocomplete'
| 'dxGallery'
| 'dxButtonGroup'
Expand Down
2 changes: 1 addition & 1 deletion e2e/testcafe-devextreme/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"@stylistic/eslint-plugin": "catalog:",
"@typescript-eslint/eslint-plugin": "catalog:",
"@typescript-eslint/parser": "catalog:",
"eslint-config-devextreme": "1.1.6",
"eslint-config-devextreme": "catalog:",
"eslint-migration-utils": "workspace:*",
"eslint-plugin-i18n": "catalog:",
"eslint-plugin-import": "catalog:",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ import { CallbackTestHelper, WindowCallbackExtended } from '../../../../../helpe
fixture`Focused row - new rows T1162227`
.page(url(__dirname, '../../../../container.html'));

type FocusCellChangingData =
[[prevRowIdx: number, prevColumnIdx: number], [rowIdx: number, columnIdx: number]];
type FocusCellChangingData = [
[prevRowIdx: number, prevColumnIdx: number],
[rowIdx: number, columnIdx: number],
];
type FocusCellChangedData = [rowIdx: number, columnIdx: number];
type FocusRowChangingData = [prevRowIdx: number, rowIdx: number];
type FocusRowChangedData = [rowIdx: number];
Expand Down
Loading
Loading