QUnit tests: remove systemjs - #35021
Conversation
…systemjs-remove-from-qunit-testinng
…systemjs-remove-from-qunit-testinng
There was a problem hiding this comment.
🟡 Changes recommended
The no-jQuery test mode no longer clears window.jQuery (breaking suites that rely on jQuery being absent), and at least one updated test file introduces an unused jQuery import binding that is likely to fail linting.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR migrates DevExtreme’s QUnit test suites away from SystemJS/AMD-style loading toward a native ESM + import-map-based runner, updating tests/helpers to use ESM imports and adding explicit “debug seam” setters to enable stubbing without rewriting module exports at runtime.
Changes:
- Removed SystemJS dependencies and SystemJS-specific test patterns (e.g.,
define(...),require(...),SystemJS.config, registry-based module mocking). - Updated many QUnit test suites and helpers to ESM imports and replaced direct export mutation/stubbing with
DEBUG_set_*seam setters + sharedmoduleSeamhelpers. - Extended the QUnit runner/server to better support native ESM (import maps, vendor wrappers/shims, and localhost/127.0.0.1 URL adjustments for browser module fetching).
File summaries
| File | Description |
|---|---|
| packages/devextreme/testing/tests/Memory Leaks/vizWidgets.tests.js | Adjust global DevExpress init and add local alias for ESM-based suite execution. |
| packages/devextreme/testing/tests/DevExpress/color.tests.js | Convert CommonJS require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.viz.vectorMap/tracker.tests.js | Use seam-based stubbing for animation frame functions. |
| packages/devextreme/testing/tests/DevExpress.viz.vectorMap/dataExchanger.tests.js | Switch module import style to default export facade. |
| packages/devextreme/testing/tests/DevExpress.viz.vectorMap/controlBar.tests.js | Switch module import style to default export facade. |
| packages/devextreme/testing/tests/DevExpress.viz.treeMap/commonParts/common.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.sparklines/sparklineTooltip.tests.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.sparklines/bulletTooltip.tests.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.sparklines/bullet.tests.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.sparklines/baseSparklineTooltipEvents.tests.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.sankey/sankey.base.tests.js | Switch to ESM-friendly renderer module + seam spying. |
| packages/devextreme/testing/tests/DevExpress.viz.sankey/commonParts/common.js | Use seam helper for stubbing renderer constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.renderers/Renderer.tests.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.renderers/Animation.tests.js | Use ESM-friendly renderer module + seam stubs for RAF. |
| packages/devextreme/testing/tests/DevExpress.viz.rangeSelector/slidersController.tests.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.rangeSelector/rangeView.tests.js | Use seam spying for Translator2D constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.rangeSelector/common.part2.tests.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.rangeSelector/common_new.tests.js | Use seam stubs for Axis/Renderer injection. |
| packages/devextreme/testing/tests/DevExpress.viz.gauges/linearGauge.tests.js | Use seam stubs for Renderer/Axis injection. |
| packages/devextreme/testing/tests/DevExpress.viz.gauges/circularGauge.tests.js | Use seam stubs for Renderer/Axis injection. |
| packages/devextreme/testing/tests/DevExpress.viz.gauges/baseGauge.tests.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.funnel/funnel.tracker.tests.js | Use seam helper for stubbing Label constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.funnel/funnel.base.tests.js | Use ESM-friendly renderer module + seam spying. |
| packages/devextreme/testing/tests/DevExpress.viz.funnel/commonParts/label.js | Use seam helper for stubbing Label constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.funnel/commonParts/common.js | Use seam helper for stubbing Renderer constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.core/tooltip.tests.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.core/legend.tests.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.core/export.integration.tests.js | Use seam helper for stubbing exporter.export in ESM. |
| packages/devextreme/testing/tests/DevExpress.viz.core/baseWidget.tests.js | Use seam helper for stubbing Renderer constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.core/baseThemeManager.tests.js | Use seam helper for stubbing palette functions. |
| packages/devextreme/testing/tests/DevExpress.viz.core/axisFormatting.tests.js | Use seam helper for stubbing Translator2D/tickGenerator. |
| packages/devextreme/testing/tests/DevExpress.viz.core/axisDrawing.tests.js | Restructure errors import + use seam stubs for Translator2D/tickGenerator. |
| packages/devextreme/testing/tests/DevExpress.viz.core/axesTicksGeneration.tests.js | Use seam helper for stubbing Translator2D. |
| packages/devextreme/testing/tests/DevExpress.viz.core/annotations.plugins.tests.js | Replace direct export mutation with DEBUG_set_* seam. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/symbolPoint.tests.js | Replace direct Label export mutation with seam setter usage. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/scatterSeries.tests.js | Use seam helper for stubbing Point constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/polarPoint.tests.js | Use seam helper for stubbing Label constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/pieSeries.tests.js | Use seam helper for stubbing Point constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/piePoint.tests.js | Replace direct Label export mutation with seam setter usage. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/financialSeries.tests.js | Use seam helper for stubbing Point constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/financialPoint.tests.js | Use seam helper for stubbing Label constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/bubbleSeries.tests.js | Use seam helper for stubbing Point constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/bubblePoint.tests.js | Replace direct Label export mutation with seam setter usage. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/barSeries.tests.js | Use seam helper for stubbing Point constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/barPoint.tests.js | Replace direct Label export mutation with seam setter usage. |
| packages/devextreme/testing/tests/DevExpress.viz.core.series/areaSeries.tests.js | Use seam helper for stubbing Point + vizUtils functions. |
| packages/devextreme/testing/tests/DevExpress.viz.charts/scrollBar.tests.js | Use seam helper for stubbing Translator2D constructor. |
| packages/devextreme/testing/tests/DevExpress.viz.charts/equalPieSize.tests.js | Replace direct export mutation with seam setter usage. |
| packages/devextreme/testing/tests/DevExpress.viz.charts/charts.tests.js | Convert some imports to default-module facades for ESM. |
| packages/devextreme/testing/tests/DevExpress.viz.charts/chart.part2.tests.js | Switch to ESM-friendly utils_default import. |
| packages/devextreme/testing/tests/DevExpress.viz.charts/chart.part1.tests.js | Switch to ESM-friendly utils_default + seam-based Renderer stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui/themes.tests.js | Remove SystemJS workaround comment/logic from URL construction. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/sortable.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/scrollView.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.useNative.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.scrollingByThumb.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.scrollbar.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.rtl.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.mouseWheel.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.main.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.actions.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/resizable.tests.js | Use seam setter for visibility-change resize trigger. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/mapParts/utils.js | Convert CommonJS exports to ESM named exports. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/mapParts/googleStaticTests.js | Update imports to consume ESM named exports from utils. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/mapParts/commonTests.js | Update imports to consume ESM named exports from utils. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/mapParts/bingTests.js | Update imports to consume ESM named exports from utils. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/ganttParts/importGantt.tests.js | Remove SystemJS mapping; convert to direct ESM import test. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/gantt.missingModules.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/gallery.tests.js | Replace direct spying with dedicated visibilityChange seam spy helper. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/draggable.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/diagramParts/importDiagram.tests.js | Remove SystemJS mapping; convert to direct ESM import test. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/diagram.missingModules.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/animator.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/loading.tests.js | Convert CommonJS requires to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/integration.viewSwitcher.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/integration.recurrenceRuleValidation.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/integration.base.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/editing.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/desktopTooltip.tests.js | Add jQuery import (currently unused binding) for ESM suite. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.htmlEditor/htmlEditorParts/toolbarModule.tests.js | Add cleanup to avoid cross-test resize callback leakage. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.htmlEditor/htmlEditorParts/tableResizingModule.tests.js | Improve teardown cleanup and loosen assertion to non-type-specific check. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.htmlEditor/htmlEditorParts/importQuill.tests.js | Remove SystemJS mapping; convert to direct ESM import usage. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.htmlEditor/htmlEditor.missingModules.tests.part2.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.htmlEditor/htmlEditor.missingModules.tests.part1.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.form/form.tests.js | Use visibilityChange seam spy helper and ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.editors/dropDownBox.tests.js | Replace typeUtils.isFunction usage with direct named import. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.editors/datebox.mask.tests.js | Use seam spy for getRegExpInfo to support ESM stubbing. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/adaptiveColumns.tests.js | Ensure renderer.css override is always restored via try/finally. |
| packages/devextreme/testing/tests/DevExpress.ui.events/wheel.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/transformation.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/scroll.tests.js | Convert require-based suite to ESM imports and named imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/pointerParts/touchTests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/pointerParts/mouseTests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/pointerParts/mouseAndTouchTests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/pointerParts/baseTests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/pointer.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/hover.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/hold.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/feedback.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/drag.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/dblclick.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.ui.events/contextmenu.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.serverSide/widgetsCreation.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.serverSide/validator.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/validationSummary.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/validationGroup.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/utils.ready_callbacks.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.serverSide/treeList.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/trackBar.tests.js | Convert requires to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.serverSide/textEditor.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/textBox.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/textArea.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/tagBox.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/switch.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/slider.tests.js | Convert requires to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.serverSide/selectBox.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/rangeSlider.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/progressBar.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/pivotGrid.test.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/overlay.tests.js | Convert requires to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.serverSide/numberBox.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/lookup.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/localization.intl.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/gantt.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/filterBuilder.tests.js | Convert requires to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.serverSide/fileUploader.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/fileManager.test.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/fieldChooser.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/editor.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/dropDownEditor.tests.js | Convert requires to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.serverSide/dropDownBox.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/datebox.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/dataGrid.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/colorView.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/colorBox.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/checkbox.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/calendarView.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/calendar.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.serverSide/autocomplete.tests.js | Convert require to ESM import. |
| packages/devextreme/testing/tests/DevExpress.localization/validation.tests.js | Convert require-based suite to ESM imports and named APIs. |
| packages/devextreme/testing/tests/DevExpress.localization/localization.messages.test.js | Convert require-based suite to ESM imports and named APIs. |
| packages/devextreme/testing/tests/DevExpress.localization/localization.custom.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/variableWrapperUtils.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/validationGroup.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/treeView.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/treeList.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/toolbar.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/template.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/tagBox.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/tabs.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/sortable.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/selectBox.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/scheduler.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/popup.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/pivotGrid.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/overlay.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/objectUtils.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/lookup.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/loadPanel.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/list.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/fieldset_bundled.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/eventRegistration.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/dropDownEditor.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/draggable.test.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/contextMenu.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/componentRegistration.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/collectionWidget.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/cleanNode.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/calendar.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/box.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/autocomplete.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/actionSheet.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.knockout/accordion.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.jquery/selectors.tests.js | Replace AMD wrapper with ESM and conditional execution. |
| packages/devextreme/testing/tests/DevExpress.jquery/bundled.tests.js | Replace AMD wrapper; validate jQuery integration using ESM imports. |
| packages/devextreme/testing/tests/DevExpress.exporter/svgCreator.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.exporter/pdfCreator.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.data/storeLocal.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.data/storeCustom.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.data/storeCustom_loadModeRaw.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.viewPort.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.version.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.variableWrapper.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.type.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.topOverlay.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.string.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.ready_callbacks.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.queue.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.object.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.math.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.inflector.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.dependencyInjector.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.deferred.tests.js | Replace AMD wrapper with ESM and conditional execution. |
| packages/devextreme/testing/tests/DevExpress.core/utils.date.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.date_serialization.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.date_parser.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.callOnce.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.callbacks.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.browser.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.animationFrame.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/utils.ajax.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/renderer.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/namespace.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/guid.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/elementData.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/domAdapter.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/config_nojquery.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.core/config_bundled.tests.js | Replace AMD wrapper with dynamic ESM import to preserve config timing. |
| packages/devextreme/testing/tests/DevExpress.core/config_bundled_nojquery.tests.js | Convert to ESM import-based suite for no-jQuery configuration. |
| packages/devextreme/testing/tests/DevExpress.aspnet/aspnet_bundled.tests.js | Replace AMD wrapper with ESM imports and explicit global assignments. |
| packages/devextreme/testing/tests/DevExpress.animation/translator.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/DevExpress.animation/position.tests.js | Use seam helper for stubbing translator.resetPosition. |
| packages/devextreme/testing/tests/DevExpress.animation/fx.tests.js | Use seam helper for RAF stubbing. |
| packages/devextreme/testing/tests/Bundles/dx.web.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/Bundles/dx.viz.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/Bundles/dx.custom.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/Bundles/dx.all.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/Bundles/bundlesParts/widgets-web.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/Bundles/bundlesParts/widgets-base.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/Bundles/bundlesParts/events.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/Bundles/bundlesParts/data.odata.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/Bundles/bundlesParts/core.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/tests/Bundles/bundlesParts/animation.tests.js | Convert require-based suite to ESM imports. |
| packages/devextreme/testing/runner/lib/handWrittenShims.ts | Add shim lookup for specific ESM artifact paths. |
| packages/devextreme/testing/runner/index.ts | Runner config tweaks: pass packageRoot, adjust listen log host. |
| packages/devextreme/testing/helpers/xmlHttpRequestMock.js | Convert implicit global $ usage to explicit ESM import. |
| packages/devextreme/testing/helpers/wrapRenovatedWidget.js | Convert CommonJS export to ESM named export and ESM imports. |
| packages/devextreme/testing/helpers/visibilityChangeMock.js | Add shared seam-based helpers to spy/stub visibility-change events. |
| packages/devextreme/testing/helpers/trackerMock.js | Remove SystemJS registry mocking; mutate default export facade instead. |
| packages/devextreme/testing/helpers/stubs/zodToJsonSchemaStub.js | Remove legacy SystemJS/AMD stub (replaced by ESM shim). |
| packages/devextreme/testing/helpers/ssrEmulator.js | Update server-side DOM adapter patch usage to ESM named export. |
| packages/devextreme/testing/helpers/serverSideDOMAdapterPatch.js | Convert CommonJS exports to ESM exports. |
| packages/devextreme/testing/helpers/renovationScrollViewHelper.js | Convert CommonJS exports to ESM exports and imports. |
| packages/devextreme/testing/helpers/renovationScrollableHelper.js | Convert CommonJS exports to ESM exports and imports. |
| packages/devextreme/testing/helpers/qunitExtensions.js | Update legacy polyfill comment after SystemJS removal. |
| packages/devextreme/testing/helpers/quillDependencies/noQuill.js | Provide ESM default export while keeping global null assignment. |
| packages/devextreme/testing/helpers/publicModulesHelper.js | Replace AMD wrapper with ESM default export + global assignment. |
| packages/devextreme/testing/helpers/positionFixtures.js | Replace AMD wrapper with ESM default export + global assignment. |
| packages/devextreme/testing/helpers/pointerMock.js | Replace AMD wrapper with ESM default export + ESM imports. |
| packages/devextreme/testing/helpers/noJQuery.js | Replace CommonJS/global nulling with ESM default export (needs global nulling retained). |
| packages/devextreme/testing/helpers/noGantt.js | Convert CommonJS export to ESM default export. |
| packages/devextreme/testing/helpers/noDiagram.js | Convert CommonJS export to ESM default export. |
| packages/devextreme/testing/helpers/nativePointerMock.js | Replace AMD wrapper with ESM default export + global assignment. |
| packages/devextreme/testing/helpers/moduleSeam.js | Add shared seam install/spy/stub helpers using DEBUG_set_* APIs. |
| packages/devextreme/testing/helpers/mockModule.js | Make legacy SystemJS registry mocking fail fast under native ESM. |
| packages/devextreme/testing/helpers/memoryLeaksHelper.js | Replace AMD wrapper with ESM default export + global assignment. |
| packages/devextreme/testing/helpers/keyboardMock.js | Replace AMD wrapper with ESM default export + ESM imports. |
| packages/devextreme/testing/helpers/includeThemesLinks.js | Remove SystemJS URL normalization; use direct artifact CSS hrefs. |
| packages/devextreme/testing/helpers/exportMocks.js | Convert require-based helper to ESM import. |
| packages/devextreme/testing/helpers/executeAsyncMock.js | Replace AMD wrapper with ESM default export + global assignment. |
| packages/devextreme/testing/helpers/esm-shims/zod.js | Add minimal ESM shim for zod. |
| packages/devextreme/testing/helpers/esm-shims/zod-to-json-schema.js | Add minimal ESM shim for zod-to-json-schema. |
| packages/devextreme/testing/helpers/esm-shims/tslib.js | Add minimal ESM shim for tslib helpers used by vendor deps. |
| packages/devextreme/testing/helpers/esm-shims/material_blue_light.css.js | Add ESM shim to inject material theme CSS. |
| packages/devextreme/testing/helpers/esm-shims/knockout.js | Add ESM shim that exposes preloaded global Knockout as module default. |
| packages/devextreme/testing/helpers/esm-shims/jspdf_autotable.js | Add ESM shim to explicitly apply jspdf-autotable plugin under ESM. |
| packages/devextreme/testing/helpers/esm-shims/jquery.js | Add ESM shim that re-attaches $ after jQuery.noConflict(). |
| packages/devextreme/testing/helpers/esm-shims/gantt.css.js | Add ESM shim to inject gantt CSS. |
| packages/devextreme/testing/helpers/esm-shims/fluent_blue_light.css.js | Add ESM shim to inject fluent theme CSS. |
| packages/devextreme/testing/helpers/data.errorHandlingHelper.js | Replace AMD wrapper with ESM default export + global assignment. |
| packages/devextreme/testing/helpers/ajaxMock.js | Convert helper to ESM exports and update type utils usage. |
| packages/devextreme/package.json | Remove SystemJS and SystemJS plugin dependencies. |
| packages/devextreme/js/exporter.js | Add seam setter for stubbing export under ESM. |
| packages/devextreme/js/common/core/events/visibility_change.js | Convert const re-exports to mutable exports with seam setters. |
| packages/devextreme/js/__internal/viz/vector_map/tracker.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/vector_map/tooltip_viewer.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/vector_map/projection.main.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/vector_map/map_layer.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/vector_map/legend.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/vector_map/layout.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/vector_map/gesture_handler.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/vector_map/data_exchanger.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/vector_map/control_bar/control_bar.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/translators/translator2d.ts | Make exported Translator2D mutable + add seam setter. |
| packages/devextreme/js/__internal/viz/translators/translator1d.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/translators/range.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/series/points/label.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/series/points/base_point.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/series/base_series.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/range_selector/tracker.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/range_selector/sliders_controller.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/range_selector/series_data_source.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/range_selector/range_view.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/core/series_family.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/core/renderers/renderer.ts | Make Renderer mutable under debug seam and export setter. |
| packages/devextreme/js/__internal/viz/core/renderers/animation.ts | Convert exported ctor to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/core/plaque.ts | Make Plaque export mutable + seam setter. |
| packages/devextreme/js/__internal/viz/core/base_theme_manager.ts | Make BaseThemeManager export mutable + seam setter. |
| packages/devextreme/js/__internal/viz/components/data_validator.ts | Convert validateData to mutable export + seam setter. |
| packages/devextreme/js/__internal/viz/components/chart_theme_manager.ts | Make ThemeManager export mutable + seam setter. |
| packages/devextreme/js/__internal/viz/chart_components/scroll_bar.ts | Make ScrollBar export mutable + seam setter. |
| packages/devextreme/js/__internal/viz/chart_components/layout_manager.ts | Make LayoutManager export mutable + seam setter. |
| packages/devextreme/js/__internal/viz/chart_components/crosshair.ts | Make Crosshair export mutable + seam setter. |
| packages/devextreme/js/__internal/viz/axes/tick_generator.ts | Make tickGenerator export mutable + seam setter. |
| packages/devextreme/js/__internal/viz/axes/base_axis.ts | Make Axis export mutable + seam setter. |
| packages/devextreme/js/__internal/grids/grid_core/views/m_rows_view.ts | Replace direct .css('height', …) with setHeight helper. |
| packages/devextreme/js/__internal/grids/grid_core/views/m_grid_view.ts | Replace direct .css('height', …) with setHeight helper. |
| packages/devextreme/js/__internal/core/localization/ldml/date.parser.ts | Make getRegExpInfo mutable + seam setter for tests. |
| packages/devextreme/js/__internal/common/core/animation/translator.ts | Make resetPosition mutable + seam setter for tests. |
| packages/devextreme/docker-ci.sh | Use 127.0.0.1 for Chrome module fetch compatibility. |
| .github/workflows/qunit_tests.yml | Update CI build step from SystemJS build to dev build. |
Review details
- Files reviewed: 300/366 changed files
- Comments generated: 2
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
🟡 Changes recommended
testing/helpers/noJQuery.js no longer clears window.jQuery/window.$, which can break “nojquery” suites because the runner still loads jQuery on the page.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
- Files reviewed: 300/366 changed files
- Comments generated: 1
- Review effort level: Lite
There was a problem hiding this comment.
🟡 Changes recommended
The new ESM no-jQuery shim and mutable export seams introduce likely test/lint failures that should be corrected before merging.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Review details
Suppressed comments (1)
packages/devextreme/testing/helpers/noJQuery.js:1
noJQuery.jsis meant to emulate an environment without jQuery, but it currently only exportsnulland does not clear the globally injectedwindow.jQueryfrom the runner template (seetesting/runner/templates/run-suite.template.html:100–114). This can cause "nojquery" suites (e.g.testing/tests/DevExpress.core/config_nojquery.tests.js) to observe jQuery as present and fail.
Update this helper to also null out the global(s) as a side effect.
- Files reviewed: 300/366 changed files
- Comments generated: 1
- Review effort level: Lite
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andrey Vorobev <738482+vorobey@users.noreply.github.com>
There was a problem hiding this comment.
🔵 Needs a closer look
packages/devextreme/testing/helpers/noJQuery.js no longer clears window.jQuery, which can break the intended ?nojquery isolation because the runner always loads jQuery globally.
Review details
Suppressed comments (1)
packages/devextreme/testing/helpers/noJQuery.js:1
helpers/noJQuery.jsno longer clears the global jQuery object. The runner always loads jQuery via a classic<script>tag (run-suite.template.html:100–114), so mapping thejquerymodule specifier to this file will still leavewindow.jQueryavailable, which can make?nojqueryruns accidentally use jQuery globals and diverge from the intended no-jQuery environment.
- Files reviewed: 300/366 changed files
- Comments generated: 0 new
- Review effort level: Lite
No description provided.