Skip to content

Conversation

@chaosmirage
Copy link
Contributor

This PR should be completed after #32309

@chaosmirage chaosmirage requested a review from a team January 30, 2026 14:05
@chaosmirage chaosmirage self-assigned this Jan 30, 2026
@chaosmirage chaosmirage force-pushed the feat/migrate-devextreme-to-nx-part-4 branch from 64e4e11 to 1f6aed3 Compare January 30, 2026 14:09
@chaosmirage chaosmirage marked this pull request as ready for review January 30, 2026 18:02
@chaosmirage chaosmirage requested a review from a team as a code owner January 30, 2026 18:02
Copilot AI review requested due to automatic review settings January 30, 2026 18:02
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Continues the migration of DevExtreme’s transpile/build pipeline from Gulp scripting to Nx targets by introducing new custom Nx executors and a dedicated “workflows” project to orchestrate dev/testing builds, and updates CI to use Nx configurations instead of global env flags.

Changes:

  • Replace the all:build-dev flow with Nx-orchestrated targets in a new packages/workflows project and update CI workflows accordingly.
  • Add new custom Nx executors (babel-transform, concatenate-files, create-dual-mode-manifest) and extend existing infra executors (copy-files glob support, logging level adjustments, TS path alias resolution).
  • Expand packages/devextreme/project.json with granular Nx targets for transpilation, bundler-config generation, dual-mode packaging manifests, and CI/testing configuration support.

Reviewed changes

Copilot reviewed 53 out of 54 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
tools/scripts/build-all.ts Removes dev-mode branching and always runs production-style build orchestration for all:build.
packages/workflows/project.json Adds Nx “workflows” project to orchestrate cross-package build commands for dev/testing.
packages/nx-infra-plugin/src/executors/prepare-submodules/executor.ts Reduces log verbosity.
packages/nx-infra-plugin/src/executors/prepare-package-json/executor.ts Reduces log verbosity.
packages/nx-infra-plugin/src/executors/pack-npm/executor.ts Reduces log verbosity.
packages/nx-infra-plugin/src/executors/localization/executor.ts Reduces log verbosity.
packages/nx-infra-plugin/src/executors/karma-multi-env/executor.ts Reduces log verbosity in Karma runner output.
packages/nx-infra-plugin/src/executors/generate-components/executor.ts Reduces log verbosity during component generation.
packages/nx-infra-plugin/src/executors/generate-components/angular-generator.ts Reduces log verbosity during Angular generation steps.
packages/nx-infra-plugin/src/executors/generate-component-names/executor.ts Reduces log verbosity.
packages/nx-infra-plugin/src/executors/create-dual-mode-manifest/side-effect-finder.ts Introduces side-effect import analysis for dual-mode manifests.
packages/nx-infra-plugin/src/executors/create-dual-mode-manifest/schema.ts Adds TS schema for the new dual-mode manifest executor.
packages/nx-infra-plugin/src/executors/create-dual-mode-manifest/schema.json Adds JSON schema for the new dual-mode manifest executor.
packages/nx-infra-plugin/src/executors/create-dual-mode-manifest/executor.ts Implements generating per-subpath package.json for ESM+CJS dual-mode output.
packages/nx-infra-plugin/src/executors/create-dual-mode-manifest/executor.e2e.spec.ts Adds E2E coverage for dual-mode manifest generation.
packages/nx-infra-plugin/src/executors/copy-files/schema.json Documents glob support and adds schema metadata.
packages/nx-infra-plugin/src/executors/copy-files/executor.ts Adds glob pattern support and improves diagnostics.
packages/nx-infra-plugin/src/executors/copy-files/executor.e2e.spec.ts Adds E2E test for glob-copy behavior.
packages/nx-infra-plugin/src/executors/concatenate-files/schema.ts Adds TS schema for new concatenate-files executor.
packages/nx-infra-plugin/src/executors/concatenate-files/schema.json Adds JSON schema for new concatenate-files executor.
packages/nx-infra-plugin/src/executors/concatenate-files/executor.ts Implements file concatenation with extraction/transforms for bundler-config generation.
packages/nx-infra-plugin/src/executors/concatenate-files/executor.e2e.spec.ts Adds E2E coverage for concatenation use case.
packages/nx-infra-plugin/src/executors/clean/executor.ts Reduces log verbosity.
packages/nx-infra-plugin/src/executors/build-typescript/schema.ts Adds options for path alias resolution support.
packages/nx-infra-plugin/src/executors/build-typescript/schema.json Updates schema defaults and documents alias-resolution options.
packages/nx-infra-plugin/src/executors/build-typescript/executor.ts Adds tsc-alias-based path rewriting and refactors compilation flow.
packages/nx-infra-plugin/src/executors/build-typescript/executor.e2e.spec.ts Expands E2E coverage (CJS/ESM matrix + alias rewrite).
packages/nx-infra-plugin/src/executors/build-angular-library/executor.ts Reduces log verbosity.
packages/nx-infra-plugin/src/executors/babel-transform/schema.ts Adds TS schema for new babel-transform executor.
packages/nx-infra-plugin/src/executors/babel-transform/schema.json Adds JSON schema for new babel-transform executor.
packages/nx-infra-plugin/src/executors/babel-transform/executor.ts Implements Babel-based transpilation executor (debug stripping, extension renames).
packages/nx-infra-plugin/src/executors/babel-transform/executor.e2e.spec.ts Adds E2E coverage for babel-transform behavior.
packages/nx-infra-plugin/src/executors/add-license-headers/executor.ts Reduces log verbosity.
packages/nx-infra-plugin/package.json Adds minimatch/tsc-alias deps and Babel-related peer deps metadata.
packages/nx-infra-plugin/jest.config.ts Adds resolver and transformIgnorePatterns for pnpm layout compatibility.
packages/nx-infra-plugin/jest-resolver.js Adds custom Jest resolver to better handle pnpm symlinked modules.
packages/nx-infra-plugin/executors.json Registers the new executors.
packages/devextreme/project.json Adds granular Nx targets for transpile steps and updates build orchestration.
packages/devextreme/package.json Removes legacy build script in favor of Nx-driven build target.
packages/devextreme/gulpfile.js Wires gulp transpile to Nx build:transpile target.
packages/devextreme/build/gulp/transpile.js Removes legacy transpile pipelines; keeps watch/tests tasks.
packages/devextreme/build/gulp/side-effects-finder.js Removes legacy side-effect finder (moved to Nx executor).
packages/devextreme/build/gulp/localization.js Replaces legacy localization pipeline with Nx build:localization.
packages/devextreme-angular/project.json Updates dependsOn/config forwarding and adds testing configuration env.
package.json Switches all:build-dev to Nx workflows orchestration.
apps/demos/project.json Forwards params when depending on devextreme:build.
.github/workflows/wrapper_tests_e2e.yml Uses Nx workflows build target instead of all:build-dev + env flag.
.github/workflows/wrapper_tests.yml Uses devextreme -c testing instead of global env flag.
.github/workflows/testcafe_tests.yml Uses devextreme -c testing instead of global env flag.
.github/workflows/publish-demos.yml Uses Nx workflows build target instead of all:build-dev + env flag.
.github/workflows/demos_visual_tests.yml Uses Nx workflows build target and devextreme -c testing.
.github/workflows/default_workflow.yml Uses -c ci shorthand for Nx configuration.
.github/copilot-instructions.md Updates repo guidance for new Nx targets and custom executors.

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.

1 participant