chore(devextreme): migrate transpile gulp task to nx, part 2#32359
Open
chaosmirage wants to merge 30 commits intoDevExpress:26_1from
Open
chore(devextreme): migrate transpile gulp task to nx, part 2#32359chaosmirage wants to merge 30 commits intoDevExpress:26_1from
chaosmirage wants to merge 30 commits intoDevExpress:26_1from
Conversation
64e4e11 to
1f6aed3
Compare
Contributor
There was a problem hiding this comment.
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. |
packages/nx-infra-plugin/src/executors/create-dual-mode-manifest/executor.ts
Show resolved
Hide resolved
packages/nx-infra-plugin/src/executors/create-dual-mode-manifest/executor.ts
Show resolved
Hide resolved
packages/nx-infra-plugin/src/executors/babel-transform/executor.ts
Outdated
Show resolved
Hide resolved
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR should be completed after #32309