-
Notifications
You must be signed in to change notification settings - Fork 654
chore(devextreme-react): replace Gulp with NX plugin #31460
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: 25_2
Are you sure you want to change the base?
Conversation
94e5683 to
63ec01e
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
This PR introduces a custom Nx plugin (nx-infra-plugin) to optimize and modernize the build system for the DevExtreme React wrapper package. The changes replace the existing Gulp-based build infrastructure with Nx executors, providing better caching, task orchestration, and maintainability.
Key Changes:
- Created a new
nx-infra-pluginpackage with 8 custom Nx executors for common build tasks - Migrated
devextreme-reactbuild pipeline from Gulp to Nx executors - Removed Gulp dependencies and replaced with TypeScript-based build tooling
Reviewed Changes
Copilot reviewed 93 out of 119 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/nx-infra-plugin/src/**/*.ts | New Nx plugin source files implementing 8 executors (clean, build-typescript, copy-files, prepare-submodules, etc.) and shared utilities |
| packages/nx-infra-plugin/prod/**/*.js | Compiled CommonJS output from TypeScript source |
| packages/nx-infra-plugin/*.json | TypeScript and project configuration for the plugin package |
| packages/devextreme-react/project.json | Migrated build targets from Gulp to Nx executors with proper dependency chains |
| packages/devextreme-react/package.json | Removed Gulp dependencies and updated npm scripts to use Nx commands |
| packages/devextreme-react/gulpfile.js | Deleted 240-line Gulp build script |
| packages/devextreme-react/build.config.js | Deleted build configuration (replaced by executor options) |
| nx.json | Registered the new plugin in workspace configuration |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
packages/nx-infra-plugin/src/executors/generate-react-components/executor.ts
Show resolved
Hide resolved
packages/nx-infra-plugin/prod/src/executors/generate-react-components/executor.js
Outdated
Show resolved
Hide resolved
packages/nx-infra-plugin/prod/src/executors/add-license-headers/executor.js
Outdated
Show resolved
Hide resolved
packages/nx-infra-plugin/prod/src/executors/add-license-headers/executor.js
Outdated
Show resolved
Hide resolved
1a2c38e to
d2edddf
Compare
4bde07d to
bc7e83c
Compare
bc7e83c to
22f1586
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 96 out of 122 changed files in this pull request and generated 1 comment.
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
07f88bf to
bf17449
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 86 out of 111 changed files in this pull request and generated 1 comment.
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
packages/nx-infra-plugin/src/executors/generate-react-components/executor.ts
Show resolved
Hide resolved
| "scripts": { | ||
| "format:check": "prettier --check .", | ||
| "format": "prettier --write .", | ||
| "build": "nx build nx-infra-plugin", |
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.
Running pnpm run build from workspace dir packages/nx-infra-plugin will fail with NX Cannot find project 'nx-infra-plugin'. Because NX project has different name with devextreme-* prefix. Though it works fine from repo root nx run devextreme-infra-plugin:build
| @@ -0,0 +1,33 @@ | |||
| { | |||
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.
Have you considered running pnpm run build on postinstall?
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 53 out of 55 changed files in this pull request and generated 1 comment.
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
… to use postinstall hook
No description provided.