Skip to content

Replace gulp by nx-infra-plugin in devextreme-scss#33461

Draft
GoodDayForSurf wants to merge 12 commits intoDevExpress:26_1from
GoodDayForSurf:26_1_dx_scss_nx_infra_p
Draft

Replace gulp by nx-infra-plugin in devextreme-scss#33461
GoodDayForSurf wants to merge 12 commits intoDevExpress:26_1from
GoodDayForSurf:26_1_dx_scss_nx_infra_p

Conversation

@GoodDayForSurf
Copy link
Copy Markdown
Contributor

No description provided.

@GoodDayForSurf GoodDayForSurf force-pushed the 26_1_dx_scss_nx_infra_p branch from cd0bdfb to 026df10 Compare May 5, 2026 07:34
Copy link
Copy Markdown
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

This PR migrates the devextreme-scss theme build pipeline from Gulp-based tasks to a dedicated Nx Infra Plugin executor, aiming to make SCSS theme compilation and asset copying fully Nx-driven and cacheable across the monorepo.

Changes:

  • Removed devextreme-scss Gulp build implementation (gulpfile + style compiler + gulp data-uri) and related dependencies.
  • Added a new devextreme-nx-infra-plugin:scss-build executor that generates SCSS bundles and compiles/minifies CSS (with license header + charset handling).
  • Updated devextreme, ThemeBuilder, and CI workflow wiring to use Nx targets for building themes.

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
pnpm-lock.yaml Removes Gulp-related dependencies from the lockfile for devextreme-scss.
packages/nx-infra-plugin/src/executors/scss-build/schema.ts Adds TypeScript schema for the new SCSS build executor options.
packages/nx-infra-plugin/src/executors/scss-build/schema.json Adds JSON schema for executor configuration / validation.
packages/nx-infra-plugin/src/executors/scss-build/executor.ts Implements SCSS bundle generation, compilation, postcss/autoprefixer, clean-css minification, watch mode, and asset copying logic.
packages/nx-infra-plugin/src/executors/scss-build/executor.e2e.spec.ts Adds an E2E test validating output, license header, and minification profile behavior.
packages/nx-infra-plugin/executors.json Registers the new scss-build executor in the plugin.
packages/devextreme/package.json Switches build-themes script from Gulp to Nx-driven devextreme-scss targets.
packages/devextreme-themebuilder/src/modules/post-compiler.ts Improves @charset + info header handling; introduces an optional mode to append the info header at the end.
packages/devextreme-themebuilder/src/modules/compile-manager.ts Uses the new addInfoHeader(..., true) behavior for ThemeBuilder output.
packages/devextreme-scss/project.json Replaces Gulp scripts/inputs with Nx targets: clean, build themes (all/ci), copy assets, and watch.
packages/devextreme-scss/package.json Removes Gulp-related devDependencies and updates scripts to call Nx targets.
packages/devextreme-scss/gulpfile.js Deleted (Gulp entrypoint no longer used).
packages/devextreme-scss/build/style-compiler.js Deleted (legacy SCSS build pipeline).
packages/devextreme-scss/build/gulp-data-uri.js Deleted (legacy data-uri implementation).
.github/workflows/themebuilder_tests.yml Updates ThemeBuilder CI to build “etalon bundles” via Nx instead of Gulp.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Comment thread packages/devextreme/package.json Outdated
Comment thread .github/workflows/themebuilder_tests.yml Outdated
Comment thread packages/nx-infra-plugin/src/executors/scss-build/executor.ts
Comment thread packages/nx-infra-plugin/src/executors/scss-build/executor.ts Outdated
Comment thread packages/devextreme-themebuilder/src/modules/compile-manager.ts
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.

2 participants