-
Notifications
You must be signed in to change notification settings - Fork 665
chore(devextreme): migrate transpile gulp task to nx, part 1 #32309
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 1 #32309
Conversation
8290b80 to
900aa50
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
Migrates key DevExtreme build steps from Gulp scripts to Nx targets/executors (part 1), introducing a reusable “workflows” Nx project and updating CI to use Nx configurations.
Changes:
- Added new custom Nx executors (localization generation, Babel transform, file concatenation) and expanded existing infra executors.
- Reworked
devextremeNx targets to model localization/transpile/bundle/npm steps and wired Gulp tasks to call Nx targets. - Updated repo build/test entrypoints and CI workflows to run Nx targets/configurations for testing/dev builds.
Reviewed changes
Copilot reviewed 53 out of 54 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/scripts/build-all.ts | Removes --dev branching and always runs production-oriented Nx build/pack steps. |
| packages/workflows/project.json | Adds a new Nx “workflows” project to orchestrate common build targets. |
| packages/nx-infra-plugin/src/utils/test-utils.ts | Adds findWorkspaceRoot() for e2e tests. |
| packages/nx-infra-plugin/src/executors/prepare-submodules/executor.ts | Downgrades log verbosity to verbose. |
| packages/nx-infra-plugin/src/executors/prepare-package-json/executor.ts | Downgrades log verbosity to verbose. |
| packages/nx-infra-plugin/src/executors/pack-npm/executor.ts | Downgrades log verbosity to verbose. |
| packages/nx-infra-plugin/src/executors/localization/schema.ts | Defines options interface for new localization executor. |
| packages/nx-infra-plugin/src/executors/localization/schema.json | Adds schema for localization executor options. |
| packages/nx-infra-plugin/src/executors/localization/executor.ts | Introduces Nx localization generator (messages + CLDR TS modules + optional lint). |
| packages/nx-infra-plugin/src/executors/localization/executor.e2e.spec.ts | Adds e2e coverage for localization executor behavior/outputs. |
| packages/nx-infra-plugin/src/executors/karma-multi-env/executor.ts | Downgrades most logs to verbose. |
| packages/nx-infra-plugin/src/executors/generate-components/executor.ts | Downgrades generator logs to verbose. |
| packages/nx-infra-plugin/src/executors/generate-components/angular-generator.ts | Downgrades generator logs to verbose. |
| packages/nx-infra-plugin/src/executors/generate-component-names/executor.ts | Downgrades generator logs to verbose. |
| packages/nx-infra-plugin/src/executors/copy-files/schema.json | Improves schema metadata and clarifies from/to semantics. |
| packages/nx-infra-plugin/src/executors/copy-files/executor.ts | Adds glob support + refactors copy logic (dir/file/glob). |
| packages/nx-infra-plugin/src/executors/copy-files/executor.e2e.spec.ts | Adds e2e test for glob copying. |
| packages/nx-infra-plugin/src/executors/concatenate-files/schema.ts | Defines schema interface for new concatenate executor. |
| packages/nx-infra-plugin/src/executors/concatenate-files/schema.json | Adds schema for concatenate executor options. |
| packages/nx-infra-plugin/src/executors/concatenate-files/executor.ts | Adds concatenate executor with extraction/transforms/normalization. |
| packages/nx-infra-plugin/src/executors/concatenate-files/executor.e2e.spec.ts | Adds e2e test covering bundler-config concatenation use case. |
| packages/nx-infra-plugin/src/executors/clean/executor.ts | Downgrades clean logs to verbose. |
| packages/nx-infra-plugin/src/executors/build-typescript/executor.ts | Downgrades build logs to verbose. |
| packages/nx-infra-plugin/src/executors/build-angular-library/executor.ts | Downgrades build logs to verbose. |
| packages/nx-infra-plugin/src/executors/babel-transform/schema.ts | Defines schema interface for new Babel transform executor. |
| packages/nx-infra-plugin/src/executors/babel-transform/schema.json | Adds schema for Babel transform executor options. |
| packages/nx-infra-plugin/src/executors/babel-transform/executor.ts | Adds Babel-based transform executor (remove debug blocks, rename extensions). |
| packages/nx-infra-plugin/src/executors/babel-transform/executor.e2e.spec.ts | Adds e2e tests for CJS/ESM transforms and DEBUG block removal. |
| packages/nx-infra-plugin/src/executors/add-license-headers/schema.ts | Extends schema interface for custom templates/version/EULA/prepend behavior. |
| packages/nx-infra-plugin/src/executors/add-license-headers/schema.json | Adds schema metadata and options for custom template rendering. |
| packages/nx-infra-plugin/src/executors/add-license-headers/executor.ts | Refactors license header generation, adds custom template support. |
| packages/nx-infra-plugin/src/executors/add-license-headers/executor.e2e.spec.ts | Adds tests for default header content and custom template support. |
| packages/nx-infra-plugin/project.json | Adds test.ci configuration (silent). |
| packages/nx-infra-plugin/package.json | Adds lodash + Babel-related peer deps and typings; pins fs-extra version. |
| packages/nx-infra-plugin/jest.config.ts | Adds custom resolver and expands transform ignore patterns. |
| packages/nx-infra-plugin/jest-resolver.js | Adds pnpm-symlink-friendly Jest resolver. |
| packages/nx-infra-plugin/executors.json | Registers new executors: localization, concatenate-files, babel-transform. |
| packages/devextreme/project.json | Adds many granular Nx targets and rewires build to run Nx pipeline. |
| packages/devextreme/package.json | Removes build script (build now driven by Nx target). |
| packages/devextreme/gulpfile.js | Makes Gulp transpile task call Nx build:transpile (with ci config in TEST_CI). |
| packages/devextreme/build/gulp/transpile.js | Removes old transpile orchestration; keeps TS compile + dual-mode manifest task. |
| packages/devextreme/build/gulp/localization.js | Replaces localization Gulp pipeline with Nx build:localization. |
| packages/devextreme-angular/project.json | Updates dependsOn semantics and adds testing env configuration; uses testing config in build-all-tests. |
| package.json | Switches all:build-dev to Nx workflows target. |
| nx.json | Adds named inputs for devextreme sources/build config. |
| apps/demos/project.json | Forwards params when depending on devextreme build. |
| .github/workflows/wrapper_tests_e2e.yml | Switches build step to pnpm nx all:build-testing workflows. |
| .github/workflows/wrapper_tests.yml | Builds devextreme with -c testing (instead of env var). |
| .github/workflows/testcafe_tests.yml | Builds devextreme with -c testing (instead of env var). |
| .github/workflows/publish-demos.yml | Switches build step to pnpm nx all:build-testing workflows. |
| .github/workflows/demos_visual_tests.yml | Switches build step to pnpm nx all:build-testing workflows; builds devextreme with -c testing. |
| .github/workflows/default_workflow.yml | Adds -c ci to nx run-many -t lint,test. |
| .github/copilot-instructions.md | Updates repo documentation to reflect custom Nx executors and granular targets. |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
1ba679e to
a3837da
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
Copilot reviewed 44 out of 45 changed files in this pull request and generated 4 comments.
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.
Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.
This PR should be completed after #32200