-
Notifications
You must be signed in to change notification settings - Fork 666
chore(devextreme): migrate transpile gulp task to nx, part 2 #32359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 26_1
Are you sure you want to change the base?
chore(devextreme): migrate transpile gulp task to nx, part 2 #32359
Conversation
64e4e11 to
1f6aed3
Compare
There was a problem hiding this 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-devflow with Nx-orchestrated targets in a newpackages/workflowsproject 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.jsonwith 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. |
This PR should be completed after #32309