diff --git a/apps/demos/.gitignore b/apps/demos/.gitignore index 149033c3dfae..045269d9a84b 100644 --- a/apps/demos/.gitignore +++ b/apps/demos/.gitignore @@ -9,7 +9,6 @@ NuGet .vscode/* .idea .vs -.idea *.orig *.rej *.ldf @@ -31,6 +30,7 @@ Demos/**/config.js Demos/**/tsconfig.json .DS_Store +**/.DS_Store publish-demos .angular diff --git a/apps/demos/Demos/ActionSheet/PopoverMode/Vue/App.vue b/apps/demos/Demos/ActionSheet/PopoverMode/Vue/App.vue index 0c84e665a769..82bc815416b9 100644 --- a/apps/demos/Demos/ActionSheet/PopoverMode/Vue/App.vue +++ b/apps/demos/Demos/ActionSheet/PopoverMode/Vue/App.vue @@ -22,11 +22,12 @@ '; interface resorceLinksType { - [Widget: string]: { - [Name: string]: { - resources: Resource[]; - }; + [Widget: string]: { + [Name: string]: { + resources: Resource[]; }; + }; } interface Resource { - link?: string; - title?: string; - frameworks: ("React" | "Vue" | "Angular")[]; + link?: string; + title?: string; + frameworks: ('React' | 'Vue' | 'Angular')[]; } export const resourceLinks: resorceLinksType = { - Button: { - Icons: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue", "Angular"], - }, - ], - }, - }, - Calendar: { - MultipleSelection: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - Overview: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - }, - Charts: { - Doughnut: { - resources: [ - { - link: polyfillMin, - frameworks: [], - }, - ], - }, - }, - CheckBox: { - Overview: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - }, - DateRangeBox: { - Overview: { - resources: [ - { - link: fontAwesome, - frameworks: ["React"], - }, - ], - }, - }, - Diagram: { - Adaptability: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - AdvancedDataBinding: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - Containers: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - CustomShapesWithIcons: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - CustomShapesWithTemplates: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - CustomShapesWithTemplatesWithEditing: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - CustomShapesWithTexts: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - ImagesInShapes: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - ItemSelection: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - NodesAndEdgesArrays: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - NodesArrayHierarchicalStructure: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - NodesArrayPlainStructure: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - OperationRestrictions: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - Overview: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - ReadOnly: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - SimpleView: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - UICustomization: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - WebAPIService: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - }, - Drawer: { - LeftOrRightPosition: { - resources: [ - { - link: fontAwesome, - frameworks: ["Angular"], - }, - ], - }, - TopOrBottomPosition: { - resources: [ - { - link: fontAwesome, - frameworks: ["Angular"], - }, - ], - }, - }, - FilterBuilder: { - Customization: { - resources: [ - { - link: fontAwesome, - frameworks: ["Angular"], - }, - ], - }, - WithDataGrid: { - resources: [ - { - link: fontAwesome, - frameworks: ["Angular"], - }, - ], - }, - WithList: { - resources: [ - { - link: fontAwesome, - frameworks: ["Angular"], - }, - ], - }, - }, - Form: { - ColumnsAdaptability: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - CustomizeItem: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - GroupedFields: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - Overview: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - UpdateItemsDynamically: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - Validation: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - }, - Lookup: { - Templates: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - }, - PivotGrid: { - ChartIntegration: { - resources: [ - { - link: polyfillMin, - frameworks: [], - }, - ], - }, - Overview: { - resources: [ - { - link: polyfillMin, - frameworks: [], - }, - ], - }, - }, - SelectBox: { - GroupedItems: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - SearchAndEditing: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - }, - Slider: { - Overview: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - }, - Sortable: { - Customization: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - }, - TagBox: { - GroupedItems: { - resources: [ - { - link: fontAwesome, - frameworks: ["React", "Vue"], - }, - ], - }, - }, - TileView: { - ItemTemplate: { - resources: [ - { - link: polyfillMin, - frameworks: [], - }, - ], + Button: { + Icons: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue', 'Angular'], + }, + ], + }, + }, + Calendar: { + MultipleSelection: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + Overview: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + }, + Charts: { + Doughnut: { + resources: [ + { + link: polyfillMin, + frameworks: [], + }, + ], + }, + }, + CheckBox: { + Overview: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + }, + DateRangeBox: { + Overview: { + resources: [ + { + link: fontAwesome, + frameworks: ['React'], + }, + ], + }, + }, + Diagram: { + Adaptability: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + AdvancedDataBinding: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + Containers: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + CustomShapesWithIcons: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + CustomShapesWithTemplates: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + CustomShapesWithTemplatesWithEditing: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + CustomShapesWithTexts: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + ImagesInShapes: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + ItemSelection: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + NodesAndEdgesArrays: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + NodesArrayHierarchicalStructure: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + NodesArrayPlainStructure: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + OperationRestrictions: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + Overview: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + ReadOnly: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + SimpleView: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + UICustomization: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + WebAPIService: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + }, + Drawer: { + LeftOrRightPosition: { + resources: [ + { + link: fontAwesome, + frameworks: ['Angular'], + }, + ], + }, + TopOrBottomPosition: { + resources: [ + { + link: fontAwesome, + frameworks: ['Angular'], + }, + ], + }, + }, + FilterBuilder: { + Customization: { + resources: [ + { + link: fontAwesome, + frameworks: ['Angular'], + }, + ], + }, + WithDataGrid: { + resources: [ + { + link: fontAwesome, + frameworks: ['Angular'], + }, + ], + }, + WithList: { + resources: [ + { + link: fontAwesome, + frameworks: ['Angular'], + }, + ], + }, + }, + Form: { + ColumnsAdaptability: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + CustomizeItem: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + GroupedFields: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], }, + ], + }, + Overview: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + UpdateItemsDynamically: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + Validation: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + }, + Lookup: { + Templates: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + }, + PivotGrid: { + ChartIntegration: { + resources: [ + { + link: polyfillMin, + frameworks: [], + }, + ], + }, + Overview: { + resources: [ + { + link: polyfillMin, + frameworks: [], + }, + ], + }, + }, + SelectBox: { + GroupedItems: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + SearchAndEditing: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + }, + Slider: { + Overview: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + }, + Sortable: { + Customization: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + }, + TagBox: { + GroupedItems: { + resources: [ + { + link: fontAwesome, + frameworks: ['React', 'Vue'], + }, + ], + }, + }, + TileView: { + ItemTemplate: { + resources: [ + { + link: polyfillMin, + frameworks: [], + }, + ], }, + }, }; diff --git a/apps/demos/utils/create-bundles/helper/index.ts b/apps/demos/utils/create-bundles/helper/index.ts index 9681e881f2d4..b15b7954897c 100644 --- a/apps/demos/utils/create-bundles/helper/index.ts +++ b/apps/demos/utils/create-bundles/helper/index.ts @@ -13,36 +13,32 @@ import { resourceLinks } from './external-resource-metadata'; export const isSkipDemo = (demo: Demo) => { const { Widget, Name } = demo; const excluded = ['Localization', 'RowTemplate', 'CellCustomization', 'TimeZonesSupport', 'ExportToPDF']; - const shouldSkip = excluded.includes(Widget) || excluded.includes(Name); - - return shouldSkip; + return excluded.includes(Widget) || excluded.includes(Name); }; const demosRootDir = join(__dirname, '..', '..', '..'); const destinationPublishDir = join(demosRootDir, 'publish-demos'); -export const getDemoPath = (path: string = '', demo: Demo, framework: string) => { - return join(path, 'Demos', demo.Widget, demo.Name, framework); -} +// eslint-disable-next-line @typescript-eslint/default-param-last +export const getDemoPath = (path: string = '', demo: Demo, framework: string) => join(path, 'Demos', demo.Widget, demo.Name, framework); export const getSourcePathByDemo = (demo: Demo, framework: string, relative = false) => { if (relative) { return getDemoPath('', demo, framework); } return getDemoPath(demosRootDir, demo, framework); -} +}; export const getDestinationPathByDemo = (demo: Demo, framework: string, relative = false) => { if (relative) { return getDemoPath('publish-demos', demo, framework); } return getDemoPath(destinationPublishDir, demo, framework); -} +}; const getFileHash = (fileContent: string) => { const hash = createHash('shake256', { outputLength: 4 }).update(fileContent); - const hashResult = hash.digest('hex'); - return hashResult; + return hash.digest('hex'); }; const getTemplateContent = (framework: Framework) => { @@ -50,9 +46,7 @@ const getTemplateContent = (framework: Framework) => { if (!existsSync(templatePath)) { throw new Error(`Not found ${framework} template\n${templatePath}`); } - - const templateContent = readFileSync(templatePath, { encoding: 'utf-8' }); - return templateContent; + return readFileSync(templatePath, { encoding: 'utf-8' }); }; const getBundlePath = (demoPath: string, prefix: string, postfix: string) => readdirSync(demoPath) @@ -79,8 +73,8 @@ export const copyVueCustomCss = (demo: Demo): boolean => { const destinationDir = join(getDestinationPathByDemo(demo, 'Vue'), 'styles.css'); if (existsSync(customCssPath)) { - copyFileSync(customCssPath, destinationDir); - return true; + copyFileSync(customCssPath, destinationDir); + return true; } return false; }; @@ -88,13 +82,13 @@ export const copyVueCustomCss = (demo: Demo): boolean => { const addExternalResources = (demo: Demo, framework: Framework, cssLinks: string) => { let newCssLinks = cssLinks; const externalResources = resourceLinks[demo.Widget]?.[demo.Name]; - externalResources?.resources?.forEach(resource => { - if (resource.frameworks.includes(framework)){ - newCssLinks = newCssLinks.concat('\n', resource.link) + externalResources?.resources?.forEach((resource) => { + if (resource.frameworks.includes(framework)) { + newCssLinks = newCssLinks.concat('\n', resource.link); } }); return newCssLinks; -} +}; export const createDemoLayout = (demo: Demo, framework: Framework) => { const demoPath = getDestinationPathByDemo(demo, framework); @@ -113,7 +107,7 @@ export const createDemoLayout = (demo: Demo, framework: Framework) => { if (framework === 'Vue') { hasCustomCss = copyVueCustomCss(demo); } - + const options = { css_bundle_path: getBundlePath(demoPath, 'bundle', '.css'), demo_title: `${framework} ${demo.Widget} - ${demo.Title} - DevExtreme ${framework} Demo`, @@ -182,12 +176,12 @@ export const copyMetadata = () => { const imagesPath = join(__dirname, '..', '..', '..', 'images'); const imagesDest = join(destinationPublishDir, 'images'); - cpSync(imagesPath, imagesDest, {recursive: true}); + cpSync(imagesPath, imagesDest, { recursive: true }); const destinationCss = join(destinationPublishDir, 'css'); const themesPath = join(nodeModulesPath, 'devextreme', 'dist', 'css'); - cpSync(themesPath, destinationCss, {recursive: true}); + cpSync(themesPath, destinationCss, { recursive: true }); const diagramCssPath = join(nodeModulesPath, 'devexpress-diagram', 'dist', 'dx-diagram.css'); copySync(diagramCssPath, join(destinationCss, 'dx-diagram.css')); diff --git a/apps/demos/utils/create-bundles/index.ts b/apps/demos/utils/create-bundles/index.ts index 1ca1b5b02094..67b335220bec 100644 --- a/apps/demos/utils/create-bundles/index.ts +++ b/apps/demos/utils/create-bundles/index.ts @@ -1,4 +1,3 @@ -/* eslint-disable import/no-extraneous-dependencies */ import yargs from 'yargs'; import { @@ -51,7 +50,7 @@ async function processDemosInBatches(bundler: ESBundler, demoList: Demo[], batch const batches = []; for (let i = 0; i < demoList.length; i += batchSize) { const batch = demoList.slice(i, i + batchSize); - // eslint-disable-next-line no-await-in-loop + batches.push(await processBatch(bundler, batch)); } await Promise.all(batches); @@ -63,7 +62,7 @@ async function processBatch(bundler: ESBundler, demos: Demo[]) { } async function processDemo(bundler: ESBundler, demo: Demo) { - return new Promise((res, rej) => { + return new Promise((res) => { bundler.buildDemo(demo, res); }).then(() => { console.log(`${bundler.framework} Demo: ${demo.Widget} - ${demo.Name}`); }); } diff --git a/apps/demos/utils/create-bundles/plugins/ignore-missing-css.ts b/apps/demos/utils/create-bundles/plugins/ignore-missing-css.ts index ddd082d9a3d8..62ed489cdcdd 100644 --- a/apps/demos/utils/create-bundles/plugins/ignore-missing-css.ts +++ b/apps/demos/utils/create-bundles/plugins/ignore-missing-css.ts @@ -12,7 +12,7 @@ const ignoreMissingCssPlugin: Plugin = { } }); - build.onLoad({ filter: /\.css$/, namespace: 'ignore-missing-css' }, (args) => ({ + build.onLoad({ filter: /\.css$/, namespace: 'ignore-missing-css' }, () => ({ contents: '', loader: 'css', })); diff --git a/apps/demos/utils/create-tgz-packages.js b/apps/demos/utils/create-tgz-packages.js index 3cf5e606e5f6..a080a488a143 100644 --- a/apps/demos/utils/create-tgz-packages.js +++ b/apps/demos/utils/create-tgz-packages.js @@ -1,3 +1,4 @@ +/* eslint-disable import/no-extraneous-dependencies */ const fs = require('fs'); const path = require('path'); const { exec } = require('child_process'); diff --git a/apps/demos/utils/demo-ts-loader.js b/apps/demos/utils/demo-ts-loader.js index f68103e53eb8..b666bee60ceb 100644 --- a/apps/demos/utils/demo-ts-loader.js +++ b/apps/demos/utils/demo-ts-loader.js @@ -1,5 +1,5 @@ /* global ts */ -module.exports.translate = function (data) { +module.exports.translate = (data) => { if (ts === undefined) { throw new Error('TypeScript is required, but window.ts is not defined!\nInclude typescript.js to page'); } diff --git a/apps/demos/utils/interactive/add-demo.js b/apps/demos/utils/interactive/add-demo.js index 65b1cd5a9380..018614d39d5e 100644 --- a/apps/demos/utils/interactive/add-demo.js +++ b/apps/demos/utils/interactive/add-demo.js @@ -1,4 +1,3 @@ -/* eslint-disable no-console */ const fs = require('fs'); const path = require('path'); const { spawn } = require('child_process'); diff --git a/apps/demos/utils/interactive/edit-demo.js b/apps/demos/utils/interactive/edit-demo.js index 8175bf72a0bc..565ece72c343 100644 --- a/apps/demos/utils/interactive/edit-demo.js +++ b/apps/demos/utils/interactive/edit-demo.js @@ -1,4 +1,3 @@ -/* eslint-disable no-console */ const fs = require('fs'); const path = require('path'); const promptsQuestions = require('./prompts-questions'); diff --git a/apps/demos/utils/interactive/prompts-questions.js b/apps/demos/utils/interactive/prompts-questions.js index 6a61269afb3f..314c6ef8483a 100644 --- a/apps/demos/utils/interactive/prompts-questions.js +++ b/apps/demos/utils/interactive/prompts-questions.js @@ -1,4 +1,3 @@ -/* eslint-disable no-console */ const path = require('path'); const prompts = require('prompts'); @@ -8,13 +7,13 @@ const fileSystemUtils = require('../shared/fs-utils'); const setTextIfPrevIsNull = (prev) => (prev === 'new' ? 'text' : null); const DEMO_PATH_STAGES = [{ name: 'category', - getChoisesFn: menuMetaUtils.getCategories, + getChoicesFn: menuMetaUtils.getCategories, }, { name: 'group', - getChoisesFn: menuMetaUtils.getGroups, + getChoicesFn: menuMetaUtils.getGroups, }, { name: 'demo', - getChoisesFn: menuMetaUtils.getDemos, + getChoicesFn: menuMetaUtils.getDemos, }]; const getPromptForCategories = (menuMetaData, message, newCategoryText) => ({ @@ -45,7 +44,7 @@ const getGroupQuestions = (menuMetaData, path) => [{ type: setTextIfPrevIsNull, name: 'newName', message: 'Enter the name of a new group:', -}] +}]; const getDemoQuestions = (menuMetaData, path) => [{ type: 'autocomplete', @@ -60,7 +59,7 @@ const getDemoQuestions = (menuMetaData, path) => [{ const onCancel = () => { console.log('Operation is canceled.'); - // eslint-disable-next-line no-process-exit + process.exit(0); }; @@ -79,7 +78,7 @@ const getWidgetQuestions = (baseDemosDir) => [{ const getEquivalentsQuestions = () => [{ type: 'text', name: 'value', - format: (val) => val.split(',').map(str => str.trim()).filter(str => str).join(', '), + format: (val) => val.split(',').map((str) => str.trim()).filter((str) => str).join(', '), message: 'Enter Equivalents:', }]; @@ -95,7 +94,7 @@ const getNeedExtraModules = (extraModules) => [{ type: 'multiselect', name: 'modules', message: 'Do you need to include some extra modules in your demo?', - choices: extraModules.map(module => ({ title: module, value: module })), + choices: extraModules.map((module) => ({ title: module, value: module })), }]; const getApproachesFoldersQuestions = (approaches) => { @@ -187,29 +186,29 @@ const askApproaches = async (missingApproaches) => prompts( ); const askPath = async (menuMetaData, prefix = '') => { - let stage = DEMO_PATH_STAGES.find(demoStage => demoStage.name === 'category'); + let stage = DEMO_PATH_STAGES.find((demoStage) => demoStage.name === 'category'); const path = []; while (stage) { - const { name, getChoisesFn } = stage; + const { name, getChoicesFn } = stage; const question = await prompts([{ type: 'autocomplete', name, message: `${prefix}Select a ${name}:`, - choices: getChoisesFn(menuMetaData, path.length ? path : undefined), + choices: getChoicesFn(menuMetaData, path.length ? path : undefined), }], { onCancel }); path.push(question[name]); if (menuMetaUtils.hasGroups(menuMetaData, path)) { - stage = DEMO_PATH_STAGES.find(demoStage => demoStage.name === 'group'); + stage = DEMO_PATH_STAGES.find((demoStage) => demoStage.name === 'group'); } else if (menuMetaUtils.hasDemos(menuMetaData, path)) { - stage = DEMO_PATH_STAGES.find(demoStage => demoStage.name === 'demo'); + stage = DEMO_PATH_STAGES.find((demoStage) => demoStage.name === 'demo'); } else { stage = undefined; } } return { path }; -} +}; const askNewOrExisting = async (menuMetaData) => { const result = {}; @@ -231,7 +230,7 @@ const askNewOrExisting = async (menuMetaData) => { result.path = pathQuestion.path; return result; -} +}; const askDemoToUpdate = async (menuMetaData) => prompts( getDemoToUpdateQuestions(menuMetaData), { onCancel }, diff --git a/apps/demos/utils/internal/create-config.js b/apps/demos/utils/internal/create-config.js index 0cc9e0a897e0..94c1b8ace9b3 100644 --- a/apps/demos/utils/internal/create-config.js +++ b/apps/demos/utils/internal/create-config.js @@ -60,8 +60,8 @@ class CreateConfig { if (group.Demos) { group.Demos.forEach((demo) => { if (demo.Modules) result[this.getKey(demo.Widget, demo.Name)] = demo.Modules; - }) - } else if(group.Groups) { + }); + } else if (group.Groups) { group.Groups.forEach(handleGroup); } }; diff --git a/apps/demos/utils/internal/update-aspnet-data.js b/apps/demos/utils/internal/update-aspnet-data.js index 022808c6e78e..2efa42143cbd 100644 --- a/apps/demos/utils/internal/update-aspnet-data.js +++ b/apps/demos/utils/internal/update-aspnet-data.js @@ -1,4 +1,3 @@ -/* eslint-disable no-console */ const path = require('path'); const fs = require('fs'); @@ -15,7 +14,7 @@ function unwrapSkip(text) { function panic(message) { console.error(message); - process.exit(1); // eslint-disable-line no-process-exit + process.exit(1); } if (argv.length !== 1) { diff --git a/apps/demos/utils/shared/config-helper.js b/apps/demos/utils/shared/config-helper.js index 8fda73427421..34e98512f64c 100644 --- a/apps/demos/utils/shared/config-helper.js +++ b/apps/demos/utils/shared/config-helper.js @@ -1,12 +1,10 @@ -/* eslint-disable no-console */ const { join } = require('path'); const { writeFileSync, existsSync, readFileSync } = require('fs'); const configPath = join(__dirname, '..', '..', 'repository.config.json'); -/* eslint-disable quote-props */ const config = { - 'devextreme': '', + devextreme: '', 'devextreme-angular': '', 'devextreme-react': '', 'devextreme-vue': '', @@ -14,7 +12,6 @@ const config = { 'devexpress-gantt': '', 'devextreme-aspnet': '', }; -/* eslint-enable quote-props */ const updateConfig = (configObject) => { const configString = JSON.stringify(configObject, null, 2); diff --git a/apps/demos/utils/shared/fs-utils.js b/apps/demos/utils/shared/fs-utils.js index 9dbf71ac0c8d..47877e129960 100644 --- a/apps/demos/utils/shared/fs-utils.js +++ b/apps/demos/utils/shared/fs-utils.js @@ -1,5 +1,3 @@ -/* eslint-disable import/no-extraneous-dependencies */ -/* eslint-disable no-console */ const fs = require('fs'); const { copySync } = require('fs-extra'); const path = require('path'); @@ -61,7 +59,7 @@ class FileSystemUtils { fs.writeFileSync(updatedToPath, content); } - }) + }); } copyFilesFromBlankDemos(approaches, demoPath) { @@ -80,14 +78,12 @@ class FileSystemUtils { getDemoPathByMeta(pathParts, baseDemosDir, menuMetaData) { const demo = menuMetaUtils.getByPath(menuMetaData, pathParts); - const result = path.join(baseDemosDir, demo.Widget, demo.Name); - return result; + return path.join(baseDemosDir, demo.Widget, demo.Name); } getMissingApproaches(demoPath, approachesList) { const currentDemos = this.getApproachesList(demoPath); - const missingApproaches = approachesList.filter((approach) => !currentDemos.includes(approach)); - return missingApproaches; + return approachesList.filter((approach) => !currentDemos.includes(approach)); } saveMetaDataFile(menuMetaDataFilePath, metaData) { @@ -101,10 +97,9 @@ class FileSystemUtils { throw new Error(`Directory does not exist: ${demoPath}`); } - const demosList = fs.readdirSync(demoPath, { withFileTypes: true }) + return fs.readdirSync(demoPath, { withFileTypes: true }) .filter((dirEntity) => dirEntity.isDirectory()) .map((dirEntity) => dirEntity.name); - return demosList; } isValidDirectory(directoryPath) { diff --git a/apps/demos/utils/shared/menu-meta-utils.js b/apps/demos/utils/shared/menu-meta-utils.js index b9d2d867a158..716fb3c35658 100644 --- a/apps/demos/utils/shared/menu-meta-utils.js +++ b/apps/demos/utils/shared/menu-meta-utils.js @@ -1,4 +1,3 @@ -/* eslint-disable no-console */ const addCategory = (menuMetaData, categoryName) => { const categoryMeta = { Name: categoryName, Equivalents: '', Groups: [] }; menuMetaData.push(categoryMeta); @@ -34,7 +33,7 @@ const updateDemoProperties = ( ) => { const demoMetaSource = getByPath( menuMetaData, - newOrExisting.path + newOrExisting.path, ); const demoMetaDest = getByPath(menuMetaData, pathParts); if (demoMetaSource.Modules) { @@ -88,43 +87,41 @@ const getDemos = (menuMetaData, pathParts, newDemo) => { return result; }; -const getItemByPath = (menuMetaData, pathParts) => { - return pathParts - .reduce((result, name, i) => { - const current = result?.find((x) => x.Name === name); - - if (!current) { - throw new Error(`incorrect path for menuMetaData: ${JSON.stringify(pathParts)}`); - } - - if (i === pathParts.length - 1) { - return current; - } - if (current.Groups) { - return current.Groups; - } - if (current.Demos) { - return current.Demos; - } +const getItemByPath = (menuMetaData, pathParts) => pathParts + .reduce((result, name, i) => { + const current = result?.find((x) => x.Name === name); + if (!current) { throw new Error(`incorrect path for menuMetaData: ${JSON.stringify(pathParts)}`); - }, menuMetaData); -} + } + + if (i === pathParts.length - 1) { + return current; + } + if (current.Groups) { + return current.Groups; + } + if (current.Demos) { + return current.Demos; + } + + throw new Error(`incorrect path for menuMetaData: ${JSON.stringify(pathParts)}`); + }, menuMetaData); const hasGroups = (menuMetaData, pathParts) => { const item = getItemByPath(menuMetaData, pathParts); return !!item.Groups; -} +}; const hasDemos = (menuMetaData, pathParts) => { const item = getItemByPath(menuMetaData, pathParts); return !!item.Demos; -} +}; const isDemo = (menuMetaData, pathParts) => { const item = getItemByPath(menuMetaData, pathParts); return !item.Groups && !item.Demos; -} +}; const getByPath = (menuMetaData, pathParts) => { let result = getItemByPath(menuMetaData, pathParts); @@ -137,7 +134,7 @@ const getByPath = (menuMetaData, pathParts) => { } return result; -} +}; const difference = (firstSet, secondSet) => { const result = new Set(firstSet); @@ -147,16 +144,16 @@ const difference = (firstSet, secondSet) => { } } return result; -} +}; const prepareModules = (modules) => { const complexSet = new Set(modules); - const simplifiedSet = new Set(modules.map(module => module.split('&')).flat()); + const simplifiedSet = new Set(modules.map((module) => module.split('&')).flat()); const combinedModules = difference(complexSet, simplifiedSet); - const simplifiedCombinedModulesSet = new Set(Array.from(combinedModules).map(module => module.split('&')).flat()) + const simplifiedCombinedModulesSet = new Set(Array.from(combinedModules).map((module) => module.split('&')).flat()); return Array.from(difference(complexSet, simplifiedCombinedModulesSet)); -} +}; module.exports = { addCategory, diff --git a/apps/demos/utils/svg-loader.js b/apps/demos/utils/svg-loader.js index f4da4a43953c..8287ac33582b 100644 --- a/apps/demos/utils/svg-loader.js +++ b/apps/demos/utils/svg-loader.js @@ -1,3 +1 @@ -module.exports.translate = function (data) { - return `module.exports = {default: \`data:image/svg+xml;base64,${btoa(data.source)}\`}`; -}; +module.exports.translate = (data) => `module.exports = {default: \`data:image/svg+xml;base64,${btoa(data.source)}\`}`; diff --git a/apps/demos/utils/templates/Angular/app/app.component.ts b/apps/demos/utils/templates/Angular/app/app.component.ts index dec2e7e2c940..cc6fffa5bbd3 100644 --- a/apps/demos/utils/templates/Angular/app/app.component.ts +++ b/apps/demos/utils/templates/Angular/app/app.component.ts @@ -37,4 +37,5 @@ export class AppComponent { }) export class AppModule { } +// eslint-disable-next-line deprecation/deprecation platformBrowserDynamic().bootstrapModule(AppModule); diff --git a/apps/demos/utils/tests/shared/fs-utils.test.js b/apps/demos/utils/tests/shared/fs-utils.test.js index 5052bd3771b0..7c009ae759c9 100644 --- a/apps/demos/utils/tests/shared/fs-utils.test.js +++ b/apps/demos/utils/tests/shared/fs-utils.test.js @@ -118,7 +118,7 @@ describe('common functions', () => { const expectedPath = path.join(baseDemosDir, 'Widget2', demoName); expect(fileSystemUtils.getDemoPathByMeta( - [ categoryName, groupName, demoName ], + [categoryName, groupName, demoName], baseDemosDir, menuMetaData, )).toBe(expectedPath); @@ -146,7 +146,7 @@ describe('Hi-level copy functions', () => { fileSystemExtra.copySync.mockClear(); }); - test(`replaceRelativePaths (mkdir)`, () => { + test('replaceRelativePaths (mkdir)', () => { fs.readdirSync.mockImplementation(() => []); fs.existsSync.mockImplementation(() => false); @@ -173,12 +173,12 @@ describe('Hi-level copy functions', () => { expect(fs.writeFileSync.mock.calls[0]).toStrictEqual([ path.join(basePath, file), - `${relativePath}node_modules` + `${relativePath}node_modules`, ]); }); }); - test(`replaceRelativePaths (dir)`, () => { + test('replaceRelativePaths (dir)', () => { const file = 'index.html'; const fromPath = path.join('utils', 'templates', 'Angular'); fs.existsSync.mockImplementation(() => true); @@ -187,12 +187,12 @@ describe('Hi-level copy functions', () => { return [({ isDirectory: () => true, name: 'app', - })] + })]; } return [({ isDirectory: () => false, name: file, - })] + })]; }); fs.readFileSync.mockImplementation(() => '__RELATIVE_PATH__node_modules'); @@ -200,7 +200,7 @@ describe('Hi-level copy functions', () => { expect(fs.writeFileSync.mock.calls[0]).toStrictEqual([ path.join('Parent', 'Demo', 'Angular', 'app', file), - `../../../../node_modules` + '../../../../node_modules', ]); }); diff --git a/apps/demos/utils/tests/shared/menu-meta-utils.test.js b/apps/demos/utils/tests/shared/menu-meta-utils.test.js index feba2ab2f5c5..15d1a30b2b63 100644 --- a/apps/demos/utils/tests/shared/menu-meta-utils.test.js +++ b/apps/demos/utils/tests/shared/menu-meta-utils.test.js @@ -18,8 +18,8 @@ const menuMetaJson = [ Title: 'Demo 1.1.1.2', Name: 'Demo1.1.1.2', Widget: 'Widget', - } - ] + }, + ], }, { Name: 'Category.1.1.2', Groups: [ @@ -30,12 +30,12 @@ const menuMetaJson = [ Title: 'Demo 1.1.2.1.1', Name: 'Demo1.1.2.1.1', Widget: 'Widget', - } - ] - } - ] - } - ] + }, + ], + }, + ], + }, + ], }, { Name: 'Group1.2', Demos: [ @@ -44,12 +44,12 @@ const menuMetaJson = [ Name: 'Demo1.2.1', Widget: 'Widget', Modules: 'openai', - } - ] - } - ] - } -] + }, + ], + }, + ], + }, +]; describe('check functions', () => { test('hasGroups (first level)', () => { @@ -100,7 +100,7 @@ describe('get functions', () => { }, { title: 'CATEGORY1', value: 'Category1', - }]) + }]); }); test('getGroups', () => { @@ -118,7 +118,7 @@ describe('get functions', () => { title: 'Category1.1', }, { title: 'Group1.2', - }]) + }]); }); test('getDemos', () => { @@ -158,13 +158,13 @@ describe('get functions', () => { }); test('getByPath (error)', () => { const path = ['Category1', 'Category1.1', 'Group1.1.1', 'Demo1.1.1.3']; - const errorMessage = `incorrect path for menuMetaData: ${JSON.stringify(path)}` + const errorMessage = `incorrect path for menuMetaData: ${JSON.stringify(path)}`; expect(() => menuMetaUtils.getByPath(menuMetaJson, path)) .toThrow(errorMessage); }); test('getByPath (error nesting demo)', () => { const path = ['Category1', 'Category1.1', 'Group1.1.1', 'Demo1.1.1.1', 'smth']; - const errorMessage = `incorrect path for menuMetaData: ${JSON.stringify(path)}` + const errorMessage = `incorrect path for menuMetaData: ${JSON.stringify(path)}`; expect(() => menuMetaUtils.getByPath(menuMetaJson, path)) .toThrow(errorMessage); }); @@ -178,8 +178,8 @@ describe('add functions', () => { Name: name, Equivalents: '', Groups: [], - } - menuMetaUtils.addCategory(meta, name) + }; + menuMetaUtils.addCategory(meta, name); expect(meta).toStrictEqual([newCategory]); }); test('addGroup', () => { @@ -224,7 +224,7 @@ describe('add functions', () => { ['Category', 'Group'], 'Test Demo', widgetName, - equivalents + equivalents, ); expect(meta).toStrictEqual([{ @@ -268,9 +268,9 @@ describe('modules functions', () => { Title: 'Demo 2', Name: 'Demo2', }], - }] + }], }]; - + menuMetaUtils.updateDemoProperties( meta, ['Category1', 'Group2', 'Demo2'], @@ -293,7 +293,7 @@ describe('modules functions', () => { Name: 'Demo2', Modules: 'module1,module2', }], - }] + }], }]); }); test('updateDemoProperties (no modules)', () => { @@ -311,10 +311,10 @@ describe('modules functions', () => { Title: 'Demo 2', Name: 'Demo2', }], - }] + }], }]; - const testMeta = [ ...meta ]; - + const testMeta = [...meta]; + menuMetaUtils.updateDemoProperties( testMeta, ['Category1', 'Group2', 'Demo2'], @@ -340,9 +340,9 @@ describe('modules functions', () => { Title: 'Demo 2', Name: 'Demo2', }], - }] + }], }]; - + menuMetaUtils.addDemoModules( meta, ['Category1', 'Group2', 'Demo2'], @@ -365,8 +365,8 @@ describe('modules functions', () => { Name: 'Demo2', Modules: 'module3,module4', }], - }] - }]) + }], + }]); }); test('addDemoModules, ([])', () => { const meta = [{ @@ -384,10 +384,10 @@ describe('modules functions', () => { Title: 'Demo 2', Name: 'Demo2', }], - }] + }], }]; - const testMeta = [ ...meta ]; - + const testMeta = [...meta]; + menuMetaUtils.addDemoModules( testMeta, ['Category1', 'Group2', 'Demo2'], @@ -403,6 +403,6 @@ describe('utils', () => { expect( menuMetaUtils .prepareModules(['jspdf', 'jspdf&jspdf-autotable', 'jsp', 'openai', 'html', 'html&openai'])) - .toStrictEqual(['jspdf&jspdf-autotable', 'jsp', 'html&openai']); + .toStrictEqual(['jspdf&jspdf-autotable', 'jsp', 'html&openai']); }); }); diff --git a/apps/demos/utils/tests/test-menu-meta.test.js b/apps/demos/utils/tests/test-menu-meta.test.js index 28285331dce5..8d602ab574d0 100644 --- a/apps/demos/utils/tests/test-menu-meta.test.js +++ b/apps/demos/utils/tests/test-menu-meta.test.js @@ -24,7 +24,7 @@ readdirSync(rootDemosFolder, { withFileTypes: true }).forEach((widgetFolder) => const collectDemos = (group) => { if (group.Demos) { group.Demos.forEach((demo) => demos.push(demo)); - } else if(group.Groups) { + } else if (group.Groups) { group.Groups.forEach(collectDemos); } }; diff --git a/apps/demos/utils/tests/testcafe-helpers/matrix-test-helper.test.js b/apps/demos/utils/tests/testcafe-helpers/matrix-test-helper.test.js index 87be02bbd395..0c5a1850fc89 100644 --- a/apps/demos/utils/tests/testcafe-helpers/matrix-test-helper.test.js +++ b/apps/demos/utils/tests/testcafe-helpers/matrix-test-helper.test.js @@ -1,7 +1,7 @@ /* istanbul ignore file */ const fs = require('fs'); -const helper = require('../../visual-tests/matrix-test-helper'); +const helper = require('../../visual-tests/matrix-test-helper.ts'); const productDemoFramework = [{ filename: 'Demos/Accordion/Overview/Angular/index.json' }]; const productDemo = [{ filename: 'Demos/Accordion/Overview/visualtestrc.json' }]; @@ -20,7 +20,7 @@ const testStub = { page() { return this; }, }, page() { return this; }, - clientScripts() { return this; } + clientScripts() { return this; }, }; function updateChanges(value, options) { diff --git a/apps/demos/utils/ts-to-js-converter/cli.ts b/apps/demos/utils/ts-to-js-converter/cli.ts index 2343114508e4..a15262238887 100644 --- a/apps/demos/utils/ts-to-js-converter/cli.ts +++ b/apps/demos/utils/ts-to-js-converter/cli.ts @@ -97,9 +97,9 @@ const performConversion = async (patterns) => { }; function splitArrayIntoSubarrays(array, subarrayLength) { - var result = []; + const result = []; - for (var i = 0; i < array.length; i += subarrayLength) { + for (let i = 0; i < array.length; i += subarrayLength) { result.push(array.slice(i, i + subarrayLength)); } @@ -130,7 +130,6 @@ async function batchPatternsAndConvert() { const allPatterns = getPatterns(); const batches = splitArrayIntoSubarrays(allPatterns, 10); for (const batch of batches) { - // eslint-disable-next-line no-await-in-loop await performConversion(batch); } } diff --git a/apps/demos/utils/visual-tests/github-ignored-list.js b/apps/demos/utils/visual-tests/github-ignored-list.js index 369675c861f0..ca2fe7a020c9 100644 --- a/apps/demos/utils/visual-tests/github-ignored-list.js +++ b/apps/demos/utils/visual-tests/github-ignored-list.js @@ -1,4 +1,3 @@ -/* eslint-disable spellcheck/spell-checker */ // ignored because they have import of localization package and fail during bundling // 2 for Grid (RowTemplate, CellCustomization) const ignoredLocalization = ['Localization', 'RowTemplate', 'CellCustomization', 'TimeZonesSupport', 'ExportToPDF']; diff --git a/apps/demos/utils/visual-tests/helpers/theme-utils.js b/apps/demos/utils/visual-tests/helpers/theme-utils.js index 3ddd27d01342..c6e157a0dbe7 100644 --- a/apps/demos/utils/visual-tests/helpers/theme-utils.js +++ b/apps/demos/utils/visual-tests/helpers/theme-utils.js @@ -6,9 +6,7 @@ export const THEME = { export const DEFAULT_THEME_NAME = THEME.fluent; -export const getThemePostfix = (theme = DEFAULT_THEME_NAME) => { - return ` (${theme})`; -}; +export const getThemePostfix = (theme = DEFAULT_THEME_NAME) => ` (${theme})`; export const getScreenshotName = (baseName, theme) => { const themePostfix = getThemePostfix(theme); @@ -46,25 +44,25 @@ export async function testScreenshot( const finalOptions = isMaterialTheme && comparisonOptions?.looksSameComparisonOptions ? { - ...comparisonOptions, - looksSameComparisonOptions: { - ...comparisonOptions.looksSameComparisonOptions, - ...themeOptions.looksSameComparisonOptions, - }, - textDiffTreshold: themeOptions.textDiffTreshold, - } + ...comparisonOptions, + looksSameComparisonOptions: { + ...comparisonOptions.looksSameComparisonOptions, + ...themeOptions.looksSameComparisonOptions, + }, + textDiffTreshold: themeOptions.textDiffTreshold, + } : { - ...comparisonOptions, - ...themeOptions, - }; + ...comparisonOptions, + ...themeOptions, + }; await t .expect( await takeScreenshot( getScreenshotName(screenshotName, testTheme), element, - finalOptions - ) + finalOptions, + ), ) .ok(); } diff --git a/apps/demos/utils/visual-tests/inject/test-utils.js b/apps/demos/utils/visual-tests/inject/test-utils.js index 431a77a79849..2b0b85cb93d6 100644 --- a/apps/demos/utils/visual-tests/inject/test-utils.js +++ b/apps/demos/utils/visual-tests/inject/test-utils.js @@ -48,14 +48,13 @@ function getValues(getter) { return Array.isArray(values) ? values : [values]; } -// eslint-disable-next-line spellcheck/spell-checker function importAnd(es6, cjs, callback) { if (window.Promise && window.System) { return Promise.all(getValues(es6) .map((x) => window.System.import(x))) .then((x) => callback(...x)); } - // eslint-disable-next-line spellcheck/spell-checker + return callback(...getValues(cjs)); } @@ -72,7 +71,6 @@ function mockOptionMethod(instance) { }; } -// eslint-disable-next-line no-unused-vars const testUtils = { postpone, postponeUntil, diff --git a/apps/demos/utils/visual-tests/matrix-test-helper.ts b/apps/demos/utils/visual-tests/matrix-test-helper.ts index 5fdc92a4d7a5..97eba88dc89e 100644 --- a/apps/demos/utils/visual-tests/matrix-test-helper.ts +++ b/apps/demos/utils/visual-tests/matrix-test-helper.ts @@ -8,7 +8,7 @@ export const FRAMEWORKS = { jquery: 'jQuery', react: 'React', vue: 'Vue', - angular: 'Angular' + angular: 'Angular', }; export const execCode = ClientFunction((code) => { @@ -36,7 +36,6 @@ const settings = { manualTestIndex: undefined, }; -// eslint-disable-next-line no-use-before-define // @ts-expect-error types error updateConfig(); @@ -65,8 +64,8 @@ export const injectStyle = (style) => ` export const waitForAngularLoading = ClientFunction(() => new Promise((resolve) => { let demoAppCounter = 0; const demoAppIntervalHandle = setInterval(() => { - - const demoApp = document.querySelector('demo-app') as HTMLElement; + const demoApp = document.querySelector('demo-app'); + // @ts-expect-error ts-error if ((demoApp && demoApp.innerText !== 'Loading...') || demoAppCounter === 120) { setTimeout(resolve, 500); clearInterval(demoAppIntervalHandle); @@ -76,7 +75,6 @@ export const waitForAngularLoading = ClientFunction(() => new Promise((resolve) })); function getInterestProcessArgs() { - // eslint-disable-next-line spellcheck/spell-checker return process.argv.slice(2); } @@ -132,13 +130,11 @@ function getExplicitTestsInternal() { if (!changedFiles) { return getExplicitTestsFromArgs(); } if (!Array.isArray(changedFiles)) { - // eslint-disable-next-line no-console console.log('Running all tests. Changed files are not iterable: ', JSON.stringify(changedFiles)); } const result = { masks: [], traceTree: undefined }; - // eslint-disable-next-line no-restricted-syntax for (const changedFile of changedFiles) { const fileName = changedFile.filename; @@ -161,7 +157,6 @@ function getExplicitTestsInternal() { undefined, )); } else { - // eslint-disable-next-line no-console if (settings.verbose) { console.log('Unable to parse changed file, running all tests: ', fileName); } return undefined; } @@ -176,14 +171,14 @@ function getExplicitTests() { const oldToJSON = RegExp.prototype.toJSON; try { // Necessary for JSON.stringify call: by default RegExps will produce an empty string. - // eslint-disable-next-line no-extend-native + // @ts-expect-error types error + // eslint-disable-next-line no-extend-native RegExp.prototype.toJSON = RegExp.prototype.toString; - // eslint-disable-next-line no-console if (settings.verbose) { console.log('Test filters: \r\n', JSON.stringify(result, null, 2)); } } finally { - // eslint-disable-next-line no-extend-native // @ts-expect-error types error + // eslint-disable-next-line no-extend-native RegExp.prototype.toJSON = oldToJSON; } } @@ -209,7 +204,7 @@ export function shouldRunTestAtIndex(testIndex) { } const SKIPPED_TESTS = { - jQuery: { + jQuery: { DataGrid: ['RemoteGrouping', 'EditStateManagement'], }, Angular: { @@ -225,14 +220,14 @@ const SKIPPED_TESTS = { // NOTE: Context menu item position is different across themes Scheduler: ['ContextMenu'], DataGrid: ['EditStateManagement', 'Toolbar', 'RemoteGrouping', 'EditStateManagement'], - FileUploader: ['CustomDropzone'] + FileUploader: ['CustomDropzone'], }, React: { Charts: ['Crosshair'], Common: ['PopupAndNotificationsOverview'], Scheduler: ['ContextMenu'], DataGrid: ['EditStateManagement', 'Toolbar', 'RemoteGrouping', 'EditStateManagement'], - FileUploader: ['CustomDropzone'] + FileUploader: ['CustomDropzone'], }, }; @@ -247,7 +242,6 @@ export function shouldSkipDemo(framework, component, demoName, skippedTests) { return false; } - // eslint-disable-next-line no-restricted-syntax for (const test of componentTests) { if (typeof test === 'string' && test === demoName) { return true; @@ -271,7 +265,7 @@ export function shouldRunTest(currentFramework, testIndex, product, demo, skippe export function shouldRunTestExplicitly(demoUrl) { if (!settings.explicitTests) { return false; } - const parts = demoUrl.split('/').filter((x) => x && x.length); + const parts = demoUrl.split('/').filter((x) => x?.length); return shouldRunTestExplicitlyInternal( parts[parts.length - 1], @@ -288,6 +282,7 @@ export function runTestAtPage(test, demoUrl, shouldSkipJsError) { } if (settings.explicitTests) { + // eslint-disable-next-line no-only-tests/no-only-tests executor = shouldRunTestExplicitly(demoUrl) ? test.only : executor = test.skip; } return executor.page(demoUrl); @@ -325,21 +320,21 @@ export function runManualTestCore( changeTheme(__dirname, `../../Demos/${widget}/${demo}/${FRAMEWORKS[framework]}/index.html`, process.env.THEME); testURL = `http://127.0.0.1:8080/apps/demos/Demos/${widget}/${demo}/${FRAMEWORKS[framework]}/`; } - + const getTestStyles = (demoName) => { switch (demoName) { case 'EditorAppearanceVariants': - return `.dx-toast-wrapper { display: none !important; }`; + return '.dx-toast-wrapper { display: none !important; }'; case 'VirtualScrolling': case 'StatePersistence': case 'EditStateManagement': case 'BatchUpdateRequest': - return `.dx-scrollable-scroll { visibility: visible !important; }`; + return '.dx-scrollable-scroll { visibility: visible !important; }'; default: return ''; } }; - + const testStyles = getTestStyles(demo); const clientScripts = [ @@ -369,6 +364,7 @@ export function runManualTestCore( if (settings.explicitTests) { if (shouldRunTestExplicitlyInternal(framework, widget, demo)) { + // eslint-disable-next-line no-only-tests/no-only-tests callback(test.only); } return; diff --git a/apps/demos/utils/visual-tests/testcafe-runner.ts b/apps/demos/utils/visual-tests/testcafe-runner.ts index 7c3de38edf7c..b16313c49448 100644 --- a/apps/demos/utils/visual-tests/testcafe-runner.ts +++ b/apps/demos/utils/visual-tests/testcafe-runner.ts @@ -1,5 +1,4 @@ -import createTestCafe from 'testcafe'; -import { ClientFunction } from 'testcafe'; +import createTestCafe, { ClientFunction } from 'testcafe'; import fs from 'fs'; const LAUNCH_RETRY_ATTEMPTS = 3; @@ -7,7 +6,6 @@ const LAUNCH_RETRY_TIMEOUT = 10000; const wait = async ( timeout: number, -// eslint-disable-next-line no-promise-executor-return ): Promise => new Promise((resolve) => setTimeout(resolve, timeout)); const retry = async (action: () => Promise, attempt: number): Promise => { @@ -18,13 +16,12 @@ const retry = async (action: () => Promise, attempt: number): Promise = throw error; } - /* eslint-disable no-console */ console.log('\n > error occurred during testcafe launch!\n'); console.error(error); console.info(`\n > waiting ${LAUNCH_RETRY_TIMEOUT / 1000} seconds...\n`); await wait(LAUNCH_RETRY_TIMEOUT); console.info('\n > retry launching testcafe\n'); - /* eslint-enable no-console */ + return retry(action, attempt - 1); } }; @@ -93,9 +90,9 @@ async function main() { if (process.env.TCQUARANTINE) { return { successThreshold: 1, attemptLimit: 3 }; } - + return false; - } + }; const failedCount = await retry(() => runner .reporter(reporters) @@ -106,6 +103,7 @@ async function main() { // @ts-expect-error ts-error hooks: { test: { + // eslint-disable-next-line no-undef before: async (t: TestController) => { await ClientFunction(() => { if (document.activeElement && document.activeElement !== document.body) { diff --git a/packages/devextreme/package.json b/packages/devextreme/package.json index 47a254ea80cd..e317eea6fdfa 100644 --- a/packages/devextreme/package.json +++ b/packages/devextreme/package.json @@ -116,7 +116,7 @@ "eslint-migration-utils": "workspace:*", "eslint-plugin-i18n": "catalog:", "eslint-plugin-import": "catalog:", - "eslint-plugin-jest": "27.6.0", + "eslint-plugin-jest": "28.14.0", "eslint-plugin-jest-formatting": "3.1.0", "eslint-plugin-jsx-a11y": "6.8.0", "eslint-plugin-n": "17.23.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8b8719b45583..14c9f3a1fcac 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -943,7 +943,7 @@ importers: version: 9.18.0(jiti@2.6.1) eslint-config-devextreme: specifier: 1.1.6 - version: 1.1.6(6zxkuktm4jm4jcgvizeazxbkz4) + version: 1.1.6(r3ylwk2frgo7wkeugm7xg2qcmi) eslint-plugin-i18n: specifier: 'catalog:' version: 2.4.0 @@ -1012,7 +1012,7 @@ importers: version: 9.18.0(jiti@2.6.1) eslint-config-devextreme: specifier: 1.1.6 - version: 1.1.6(yhza7jtxffxi7plvkgulnpvjry) + version: 1.1.6(lu2ysdsue3l6dytd6hpvqbmjou) eslint-migration-utils: specifier: workspace:* version: link:../../packages/eslint-migration-utils @@ -1084,7 +1084,7 @@ importers: version: 9.18.0(jiti@2.6.1) eslint-config-devextreme: specifier: 1.1.6 - version: 1.1.6(cr6nusfj3tc6sbt2qbhl46czcu) + version: 1.1.6(xqqkrya2yzqiy2altxermzm3b4) eslint-migration-utils: specifier: workspace:* version: link:../../packages/eslint-migration-utils @@ -1341,25 +1341,25 @@ importers: version: 7.28.5(@babel/core@7.28.5) '@devextreme-generator/angular': specifier: 3.0.12 - version: 3.0.12(6wnwdwccr7gztdannqebd6dw7y) + version: 3.0.12(hncc7np4udfg67i6bhs3fg5lby) '@devextreme-generator/build-helpers': specifier: 3.0.12 - version: 3.0.12(e6vywxtfafvhkl3cckdbqzdxuy) + version: 3.0.12(ljyr4t7mqhmwb6dmijf5beygte) '@devextreme-generator/core': specifier: 3.0.12 - version: 3.0.12(6wnwdwccr7gztdannqebd6dw7y) + version: 3.0.12(hncc7np4udfg67i6bhs3fg5lby) '@devextreme-generator/declarations': specifier: 3.0.12 version: 3.0.12 '@devextreme-generator/inferno': specifier: 3.0.12 - version: 3.0.12(6wnwdwccr7gztdannqebd6dw7y) + version: 3.0.12(hncc7np4udfg67i6bhs3fg5lby) '@devextreme-generator/react': specifier: 3.0.12 - version: 3.0.12(6wnwdwccr7gztdannqebd6dw7y) + version: 3.0.12(hncc7np4udfg67i6bhs3fg5lby) '@devextreme-generator/vue': specifier: 3.0.12 - version: 3.0.12(6wnwdwccr7gztdannqebd6dw7y) + version: 3.0.12(hncc7np4udfg67i6bhs3fg5lby) '@eslint-stylistic/metadata': specifier: 'catalog:' version: 2.13.0 @@ -1461,7 +1461,7 @@ importers: version: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-config-devextreme: specifier: 1.1.6 - version: 1.1.6(xhzmkch4hvasl4omgcltflkv5i) + version: 1.1.6(d53yn7sqaw2i7j2pb3voqwa744) eslint-migration-utils: specifier: workspace:* version: link:../eslint-migration-utils @@ -1472,8 +1472,8 @@ importers: specifier: 'catalog:' version: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-jest: - specifier: 27.6.0 - version: 27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5) + specifier: 28.14.0 + version: 28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5) eslint-plugin-jest-formatting: specifier: 3.1.0 version: 3.1.0(eslint@9.18.0(jiti@2.6.1)) @@ -1850,7 +1850,7 @@ importers: version: 9.18.0(jiti@2.6.1) eslint-config-devextreme: specifier: 1.1.5 - version: 1.1.5(ktiezjignnyr4gpzrklqlohkhy) + version: 1.1.5(mplcxhvxyfibqxljwoswgs36oy) eslint-migration-utils: specifier: workspace:* version: link:../eslint-migration-utils @@ -1978,7 +1978,7 @@ importers: version: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-config-devextreme: specifier: 1.1.6 - version: 1.1.6(xfwpv6vyuyfitchwyjhp2bibri) + version: 1.1.6(6itrcwgpipdsrurydrcehv2hpy) eslint-plugin-import: specifier: 'catalog:' version: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)) @@ -2100,7 +2100,7 @@ importers: version: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-config-devextreme: specifier: 1.1.5 - version: 1.1.5(xdj4xipx46p2yg7qbwclg5a2mi) + version: 1.1.5(qmk3omrxgqvi6r2hxirkslysqm) eslint-plugin-import: specifier: 'catalog:' version: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)) @@ -2173,7 +2173,7 @@ importers: version: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-config-devextreme: specifier: 1.1.5 - version: 1.1.5(xfwpv6vyuyfitchwyjhp2bibri) + version: 1.1.5(6itrcwgpipdsrurydrcehv2hpy) eslint-plugin-i18n: specifier: 'catalog:' version: 2.4.0 @@ -10312,12 +10312,12 @@ packages: peerDependencies: eslint: '>=0.8.0' - eslint-plugin-jest@27.6.0: - resolution: {integrity: sha512-MTlusnnDMChbElsszJvrwD1dN3x6nZl//s4JD23BxB6MgR66TZlL064su24xEIS3VACfAoHV1vgyMgPw8nkdng==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + eslint-plugin-jest@28.14.0: + resolution: {integrity: sha512-P9s/qXSMTpRTerE2FQ0qJet2gKbcGyFTPAJipoKxmWqR6uuFqIqk8FuEfg5yBieOezVrEfAMZrEwJ6yEp+1MFQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/eslint-plugin': ^6.0.0 || ^7.0.0 || ^8.0.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 jest: '*' peerDependenciesMeta: '@typescript-eslint/eslint-plugin': @@ -21803,9 +21803,9 @@ snapshots: dependencies: tslib: 2.3.1 - '@devextreme-generator/angular@3.0.12(6wnwdwccr7gztdannqebd6dw7y)': + '@devextreme-generator/angular@3.0.12(hncc7np4udfg67i6bhs3fg5lby)': dependencies: - '@devextreme-generator/core': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) + '@devextreme-generator/core': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' - eslint @@ -21820,13 +21820,13 @@ snapshots: - eslint-plugin-spellcheck - supports-color - '@devextreme-generator/build-helpers@3.0.12(e6vywxtfafvhkl3cckdbqzdxuy)': + '@devextreme-generator/build-helpers@3.0.12(ljyr4t7mqhmwb6dmijf5beygte)': dependencies: - '@devextreme-generator/angular': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) - '@devextreme-generator/core': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) - '@devextreme-generator/inferno': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) - '@devextreme-generator/preact': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) - '@devextreme-generator/react': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) + '@devextreme-generator/angular': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) + '@devextreme-generator/core': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) + '@devextreme-generator/inferno': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) + '@devextreme-generator/preact': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) + '@devextreme-generator/react': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) loader-utils: 2.0.4 typescript: 4.3.5 vinyl: 2.2.1 @@ -21849,10 +21849,10 @@ snapshots: - uglify-js - webpack-cli - '@devextreme-generator/core@3.0.12(6wnwdwccr7gztdannqebd6dw7y)': + '@devextreme-generator/core@3.0.12(hncc7np4udfg67i6bhs3fg5lby)': dependencies: code-block-writer: 10.1.1 - eslint-config-devextreme: 0.2.0(6wnwdwccr7gztdannqebd6dw7y) + eslint-config-devextreme: 0.2.0(hncc7np4udfg67i6bhs3fg5lby) prettier: 2.8.8 prettier-eslint: 13.0.0 typescript: 4.3.5 @@ -21875,11 +21875,11 @@ snapshots: react: 17.0.2 react-dom: 17.0.2(react@17.0.2) - '@devextreme-generator/inferno@3.0.12(6wnwdwccr7gztdannqebd6dw7y)': + '@devextreme-generator/inferno@3.0.12(hncc7np4udfg67i6bhs3fg5lby)': dependencies: - '@devextreme-generator/core': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) - '@devextreme-generator/preact': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) - '@devextreme-generator/react': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) + '@devextreme-generator/core': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) + '@devextreme-generator/preact': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) + '@devextreme-generator/react': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' - eslint @@ -21894,10 +21894,10 @@ snapshots: - eslint-plugin-spellcheck - supports-color - '@devextreme-generator/preact@3.0.12(6wnwdwccr7gztdannqebd6dw7y)': + '@devextreme-generator/preact@3.0.12(hncc7np4udfg67i6bhs3fg5lby)': dependencies: - '@devextreme-generator/core': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) - '@devextreme-generator/react': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) + '@devextreme-generator/core': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) + '@devextreme-generator/react': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' - eslint @@ -21912,9 +21912,9 @@ snapshots: - eslint-plugin-spellcheck - supports-color - '@devextreme-generator/react@3.0.12(6wnwdwccr7gztdannqebd6dw7y)': + '@devextreme-generator/react@3.0.12(hncc7np4udfg67i6bhs3fg5lby)': dependencies: - '@devextreme-generator/core': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) + '@devextreme-generator/core': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' - eslint @@ -21929,10 +21929,10 @@ snapshots: - eslint-plugin-spellcheck - supports-color - '@devextreme-generator/vue@3.0.12(6wnwdwccr7gztdannqebd6dw7y)': + '@devextreme-generator/vue@3.0.12(hncc7np4udfg67i6bhs3fg5lby)': dependencies: - '@devextreme-generator/angular': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) - '@devextreme-generator/core': 3.0.12(6wnwdwccr7gztdannqebd6dw7y) + '@devextreme-generator/angular': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) + '@devextreme-generator/core': 3.0.12(hncc7np4udfg67i6bhs3fg5lby) prettier: 2.8.8 transitivePeerDependencies: - '@typescript-eslint/eslint-plugin' @@ -25915,20 +25915,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.5.4)': - dependencies: - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/visitor-keys': 5.62.0 - debug: 4.4.3 - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.7.3 - tsutils: 3.21.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 5.62.0 @@ -26072,36 +26058,6 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@5.62.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4)': - dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.18.0(jiti@2.6.1)) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.5.4) - eslint: 9.18.0(jiti@2.6.1) - eslint-scope: 5.1.1 - semver: 7.7.3 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@5.62.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.18.0(jiti@2.6.1)) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/types': 5.62.0 - '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3) - eslint: 9.18.0(jiti@2.6.1) - eslint-scope: 5.1.1 - semver: 7.7.3 - transitivePeerDependencies: - - supports-color - - typescript - '@typescript-eslint/utils@6.21.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.0(eslint@9.18.0(jiti@2.6.1)) @@ -30387,28 +30343,44 @@ snapshots: transitivePeerDependencies: - eslint-plugin-import - eslint-config-devextreme@0.2.0(6wnwdwccr7gztdannqebd6dw7y): + eslint-config-devextreme@0.2.0(hncc7np4udfg67i6bhs3fg5lby): + dependencies: + '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) + eslint: 9.18.0(jiti@2.6.1) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) + eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5) + eslint-plugin-jest-formatting: 3.1.0(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-jsx-a11y: 6.8.0(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-qunit: 8.1.2(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-rulesdir: 0.2.2 + eslint-plugin-spellcheck: 0.0.20(eslint@9.18.0(jiti@2.6.1)) + + eslint-config-devextreme@1.1.5(6itrcwgpipdsrurydrcehv2hpy): dependencies: '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) eslint: 9.18.0(jiti@2.6.1) eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5) + eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5) eslint-plugin-jest-formatting: 3.1.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.8.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-qunit: 8.1.2(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-rulesdir: 0.2.2 eslint-plugin-spellcheck: 0.0.20(eslint@9.18.0(jiti@2.6.1)) + stylelint: 16.22.0(typescript@4.9.5) + stylelint-config-standard: 38.0.0(stylelint@16.22.0(typescript@4.9.5)) - eslint-config-devextreme@1.1.5(ktiezjignnyr4gpzrklqlohkhy): + eslint-config-devextreme@1.1.5(mplcxhvxyfibqxljwoswgs36oy): dependencies: '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4) eslint: 9.18.0(jiti@2.6.1) eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.11.17)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.5.4) + eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.11.17)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.5.4) eslint-plugin-jest-formatting: 3.1.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.8.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-qunit: 8.1.2(eslint@9.18.0(jiti@2.6.1)) @@ -30417,14 +30389,14 @@ snapshots: stylelint: 16.22.0(typescript@5.5.4) stylelint-config-standard: 38.0.0(stylelint@16.22.0(typescript@5.5.4)) - eslint-config-devextreme@1.1.5(xdj4xipx46p2yg7qbwclg5a2mi): + eslint-config-devextreme@1.1.5(qmk3omrxgqvi6r2hxirkslysqm): dependencies: '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) eslint: 9.18.0(jiti@2.6.1) eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.11.17)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.11.17)(typescript@4.9.5)))(typescript@4.9.5) + eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.11.17)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.11.17)(typescript@4.9.5)))(typescript@4.9.5) eslint-plugin-jest-formatting: 3.1.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.8.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-qunit: 8.1.2(eslint@9.18.0(jiti@2.6.1)) @@ -30433,14 +30405,14 @@ snapshots: stylelint: 16.22.0(typescript@4.9.5) stylelint-config-standard: 38.0.0(stylelint@16.22.0(typescript@4.9.5)) - eslint-config-devextreme@1.1.5(xfwpv6vyuyfitchwyjhp2bibri): + eslint-config-devextreme@1.1.6(6itrcwgpipdsrurydrcehv2hpy): dependencies: '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) eslint: 9.18.0(jiti@2.6.1) eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5) + eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5) eslint-plugin-jest-formatting: 3.1.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.8.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-qunit: 8.1.2(eslint@9.18.0(jiti@2.6.1)) @@ -30449,85 +30421,69 @@ snapshots: stylelint: 16.22.0(typescript@4.9.5) stylelint-config-standard: 38.0.0(stylelint@16.22.0(typescript@4.9.5)) - eslint-config-devextreme@1.1.6(6zxkuktm4jm4jcgvizeazxbkz4): + eslint-config-devextreme@1.1.6(d53yn7sqaw2i7j2pb3voqwa744): dependencies: - '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3) - eslint: 9.18.0(jiti@2.6.1) - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) - eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.9.3) - eslint-plugin-jest-formatting: 3.1.0(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-jsx-a11y: 6.8.0(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-qunit: 8.1.2(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-rulesdir: 0.2.2 - eslint-plugin-spellcheck: 0.0.20(eslint@9.18.0(jiti@2.6.1)) - stylelint: 16.22.0(typescript@5.9.3) - stylelint-config-standard: 38.0.0(stylelint@16.22.0(typescript@5.9.3)) - - eslint-config-devextreme@1.1.6(cr6nusfj3tc6sbt2qbhl46czcu): - dependencies: - '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) eslint: 9.18.0(jiti@2.6.1) - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) - eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.14.5)(typescript@5.9.3)))(typescript@5.9.3) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) + eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5) eslint-plugin-jest-formatting: 3.1.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.8.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-qunit: 8.1.2(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-rulesdir: 0.2.2 eslint-plugin-spellcheck: 0.0.20(eslint@9.18.0(jiti@2.6.1)) - stylelint: 16.22.0(typescript@5.9.3) - stylelint-config-standard: 38.0.0(stylelint@16.22.0(typescript@5.9.3)) + stylelint: 15.11.0(typescript@4.9.5) + stylelint-config-standard: 38.0.0(stylelint@15.11.0(typescript@4.9.5)) - eslint-config-devextreme@1.1.6(xfwpv6vyuyfitchwyjhp2bibri): + eslint-config-devextreme@1.1.6(lu2ysdsue3l6dytd6hpvqbmjou): dependencies: - '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4) eslint: 9.18.0(jiti@2.6.1) - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) - eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) + eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.5.4) eslint-plugin-jest-formatting: 3.1.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.8.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-qunit: 8.1.2(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-rulesdir: 0.2.2 eslint-plugin-spellcheck: 0.0.20(eslint@9.18.0(jiti@2.6.1)) - stylelint: 16.22.0(typescript@4.9.5) - stylelint-config-standard: 38.0.0(stylelint@16.22.0(typescript@4.9.5)) + stylelint: 16.22.0(typescript@5.5.4) + stylelint-config-standard: 38.0.0(stylelint@16.22.0(typescript@5.5.4)) - eslint-config-devextreme@1.1.6(xhzmkch4hvasl4omgcltflkv5i): + eslint-config-devextreme@1.1.6(r3ylwk2frgo7wkeugm7xg2qcmi): dependencies: - '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3) eslint: 9.18.0(jiti@2.6.1) - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) - eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) + eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.9.3) eslint-plugin-jest-formatting: 3.1.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.8.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-qunit: 8.1.2(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-rulesdir: 0.2.2 eslint-plugin-spellcheck: 0.0.20(eslint@9.18.0(jiti@2.6.1)) - stylelint: 15.11.0(typescript@4.9.5) - stylelint-config-standard: 38.0.0(stylelint@15.11.0(typescript@4.9.5)) + stylelint: 16.22.0(typescript@5.9.3) + stylelint-config-standard: 38.0.0(stylelint@16.22.0(typescript@5.9.3)) - eslint-config-devextreme@1.1.6(yhza7jtxffxi7plvkgulnpvjry): + eslint-config-devextreme@1.1.6(xqqkrya2yzqiy2altxermzm3b4): dependencies: - '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4) + '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3) eslint: 9.18.0(jiti@2.6.1) - eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) - eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1)) - eslint-plugin-jest: 27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.5.4) + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) + eslint-config-airbnb-typescript: 18.0.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)))(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1)) + eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.14.5)(typescript@5.9.3)))(typescript@5.9.3) eslint-plugin-jest-formatting: 3.1.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-jsx-a11y: 6.8.0(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-qunit: 8.1.2(eslint@9.18.0(jiti@2.6.1)) eslint-plugin-rulesdir: 0.2.2 eslint-plugin-spellcheck: 0.0.20(eslint@9.18.0(jiti@2.6.1)) - stylelint: 16.22.0(typescript@5.5.4) - stylelint-config-standard: 38.0.0(stylelint@16.22.0(typescript@5.5.4)) + stylelint: 16.22.0(typescript@5.9.3) + stylelint-config-standard: 38.0.0(stylelint@16.22.0(typescript@5.9.3)) eslint-import-resolver-node@0.3.9: dependencies: @@ -30677,9 +30633,9 @@ snapshots: dependencies: eslint: 9.18.0(jiti@2.6.1) - eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.11.17)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.11.17)(typescript@4.9.5)))(typescript@4.9.5): + eslint-plugin-jest@28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.11.17)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.11.17)(typescript@4.9.5)))(typescript@4.9.5): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) + '@typescript-eslint/utils': 8.25.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) eslint: 9.18.0(jiti@2.6.1) optionalDependencies: '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) @@ -30688,9 +30644,9 @@ snapshots: - supports-color - typescript - eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5): + eslint-plugin-jest@28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@4.9.5): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) + '@typescript-eslint/utils': 8.25.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) eslint: 9.18.0(jiti@2.6.1) optionalDependencies: '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5))(eslint@9.18.0(jiti@2.6.1))(typescript@4.9.5) @@ -30699,9 +30655,9 @@ snapshots: - supports-color - typescript - eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.11.17)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.5.4): + eslint-plugin-jest@28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.11.17)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.5.4): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4) + '@typescript-eslint/utils': 8.25.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4) eslint: 9.18.0(jiti@2.6.1) optionalDependencies: '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4) @@ -30710,9 +30666,9 @@ snapshots: - supports-color - typescript - eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.5.4): + eslint-plugin-jest@28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.5.4): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4) + '@typescript-eslint/utils': 8.25.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4) eslint: 9.18.0(jiti@2.6.1) optionalDependencies: '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4))(eslint@9.18.0(jiti@2.6.1))(typescript@5.5.4) @@ -30721,9 +30677,9 @@ snapshots: - supports-color - typescript - eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.9.3): + eslint-plugin-jest@28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.12.8)(typescript@5.9.3)))(typescript@5.9.3): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.25.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3) eslint: 9.18.0(jiti@2.6.1) optionalDependencies: '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3) @@ -30732,9 +30688,9 @@ snapshots: - supports-color - typescript - eslint-plugin-jest@27.6.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.14.5)(typescript@5.9.3)))(typescript@5.9.3): + eslint-plugin-jest@28.14.0(@typescript-eslint/eslint-plugin@8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(jest@29.7.0(@types/node@20.14.5)(babel-plugin-macros@3.1.0)(node-notifier@9.0.1)(ts-node@10.9.2(@swc/core@1.15.3)(@types/node@20.14.5)(typescript@5.9.3)))(typescript@5.9.3): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.25.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3) eslint: 9.18.0(jiti@2.6.1) optionalDependencies: '@typescript-eslint/eslint-plugin': 8.23.0(@typescript-eslint/parser@8.23.0(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.18.0(jiti@2.6.1))(typescript@5.9.3) @@ -40696,11 +40652,6 @@ snapshots: tslib: 1.14.1 typescript: 4.9.5 - tsutils@3.21.0(typescript@5.5.4): - dependencies: - tslib: 1.14.1 - typescript: 5.5.4 - tsutils@3.21.0(typescript@5.9.3): dependencies: tslib: 1.14.1