Skip to content

QUnit tests: remove systemjs - #35021

Open
vorobey wants to merge 9 commits into
mainfrom
feature/systemjs-remove-from-qunit-testinng
Open

QUnit tests: remove systemjs#35021
vorobey wants to merge 9 commits into
mainfrom
feature/systemjs-remove-from-qunit-testinng

Conversation

@vorobey

@vorobey vorobey commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@vorobey
vorobey marked this pull request as ready for review September 4, 2026 12:53
@vorobey
vorobey requested review from a team as code owners September 4, 2026 12:53
Copilot AI lite review requested due to automatic review settings September 4, 2026 12:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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 + shared moduleSeam helpers.
  • 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.

Comment thread packages/devextreme/testing/helpers/noJQuery.js
Copilot AI review requested due to automatic review settings September 4, 2026 13:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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

Comment thread packages/devextreme/testing/helpers/noJQuery.js
@vorobey
vorobey requested review from a team September 4, 2026 13:11
Copilot AI review requested due to automatic review settings September 4, 2026 14:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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.js is meant to emulate an environment without jQuery, but it currently only exports null and does not clear the globally injected window.jQuery from the runner template (see testing/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

Comment thread packages/devextreme/js/common/core/events/visibility_change.js
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>
Copilot AI review requested due to automatic review settings September 4, 2026 14:24

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 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.js no longer clears the global jQuery object. The runner always loads jQuery via a classic <script> tag (run-suite.template.html:100–114), so mapping the jquery module specifier to this file will still leave window.jQuery available, which can make ?nojquery runs 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants