Skip to content

chore(devextreme): migrate compression-pipes.js#33434

Open
chaosmirage wants to merge 13 commits into26_1from
chore/migrate-devextreme-to-nx-part-8
Open

chore(devextreme): migrate compression-pipes.js#33434
chaosmirage wants to merge 13 commits into26_1from
chore/migrate-devextreme-to-nx-part-8

Conversation

@chaosmirage
Copy link
Copy Markdown
Contributor

No description provided.

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 DevExtreme’s legacy Gulp-based compression pipeline (compression-pipes.js) to Nx executors in devextreme-nx-infra-plugin, consolidating compression/normalization behavior and reducing Gulp-specific dependencies in the DevExtreme package build.

Changes:

  • Reworked the compress executor API to support minify | beautify | strip-debug | normalize, object-form mode options (e.g., eulaUrl, trailingNewline), glob expansion, and excludes; added E2E coverage.
  • Extended the bundle executor with an optional sourceMap flag to control eval-source-map in debug builds; added E2E coverage.
  • Updated packages/devextreme build orchestration (project targets + gulp tasks) to use Nx executors for bundling, compression, ASP.NET artifact generation, and vendor copying; removed unused Gulp compression deps.

Reviewed changes

Copilot reviewed 21 out of 22 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pnpm-lock.yaml Removes lock entries for dropped Gulp compression dependencies.
packages/nx-infra-plugin/src/utils/common.ts Extracts containsGlobPattern for reuse across executors.
packages/nx-infra-plugin/src/executors/copy-files/executor.ts Uses shared containsGlobPattern helper.
packages/nx-infra-plugin/src/executors/concatenate-files/executor.ts Uses shared containsGlobPattern helper.
packages/nx-infra-plugin/src/executors/compress/schema.ts Updates compress executor typing (new modes, object-form mode, excludes).
packages/nx-infra-plugin/src/executors/compress/schema.json Updates compress executor schema accordingly.
packages/nx-infra-plugin/src/executors/compress/executor.ts Implements new compress behavior (mode resolution, glob expansion, excludes, normalization).
packages/nx-infra-plugin/src/executors/compress/executor.e2e.spec.ts Adds E2E tests for new compress modes/options and file expansion/exclude behavior.
packages/nx-infra-plugin/src/executors/bundle/schema.ts Adds sourceMap?: boolean.
packages/nx-infra-plugin/src/executors/bundle/schema.json Documents sourceMap option and default.
packages/nx-infra-plugin/src/executors/bundle/executor.ts Conditionally applies eval-source-map based on sourceMap.
packages/nx-infra-plugin/src/executors/bundle/executor.e2e.spec.ts Adds E2E test asserting eval-source-map omission when sourceMap=false.
packages/devextreme/project.json Rewires bundle/compress/copy-vendor/aspnet targets to Nx executors and new compress modes.
packages/devextreme/package.json Drops gulp-jsbeautifier and gulp-uglify-es dependencies.
packages/devextreme/gulpfile.js Removes old Gulp task module requires; adds Nx-backed aspnet/vendor tasks.
packages/devextreme/build/gulp/vendor.js Removes legacy vendor-copy gulp implementation.
packages/devextreme/build/gulp/ts.js Replaces in-pipe debug stripping with Nx compress:ts-modules.
packages/devextreme/build/gulp/transpile.js Replaces compression-pipes debug removal with gulp-replace regex.
packages/devextreme/build/gulp/npm.js Defers normalization/beautify to Nx compress:npm-sources.
packages/devextreme/build/gulp/js-bundles.js Replaces prod/debug bundle build tasks with Nx bundle targets.
packages/devextreme/build/gulp/compression-pipes.js Removes legacy Gulp compression pipes implementation.
packages/devextreme/build/gulp/aspnet.js Removes legacy ASP.NET gulp implementation.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

@chaosmirage chaosmirage force-pushed the chore/migrate-devextreme-to-nx-part-8 branch 2 times, most recently from 82338ad to 4c53cce Compare April 28, 2026 13:14
@chaosmirage chaosmirage force-pushed the chore/migrate-devextreme-to-nx-part-8 branch from 4c53cce to 58e0b40 Compare April 28, 2026 15:35
@chaosmirage chaosmirage marked this pull request as ready for review April 29, 2026 08:03
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

Migrates DevExtreme’s legacy Gulp-based compression/build steps (notably compression-pipes.js, aspnet/vendor tasks, and bundle post-processing) to Nx-based executors in nx-infra-plugin, modernizing the pipeline and adding more explicit/typed compression modes.

Changes:

  • Replace Gulp “compression pipes” with an Nx compress executor supporting minify, beautify, strip-debug, and normalize modes (plus glob expansion + excludes).
  • Add optional sourceMap support to the Nx bundle executor and wire it into packages/devextreme/project.json build targets.
  • Remove obsolete Gulp tasks/files (aspnet/vendor/compression-pipes) and update DevExtreme build scripts/targets accordingly; bump Nx to 22.7.0 and disable Nx analytics.

Reviewed changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pnpm-lock.yaml Lockfile update reflecting Nx upgrade and dependency graph changes.
packages/nx-infra-plugin/src/utils/file-operations.ts Switch EOL normalization/trailing-newline helpers to use os.EOL.
packages/nx-infra-plugin/src/utils/common.ts Add shared containsGlobPattern helper.
packages/nx-infra-plugin/src/executors/copy-files/executor.ts Reuse shared containsGlobPattern helper.
packages/nx-infra-plugin/src/executors/concatenate-files/executor.ts Reuse shared containsGlobPattern helper.
packages/nx-infra-plugin/src/executors/compress/schema.ts Expand compress mode typing to support mode objects + excludes.
packages/nx-infra-plugin/src/executors/compress/schema.json Update schema to match new mode variants and exclude.
packages/nx-infra-plugin/src/executors/compress/executor.ts Implement new compress strategies, glob expansion, and exclude filtering.
packages/nx-infra-plugin/src/executors/compress/executor.e2e.spec.ts Update/add E2E coverage for new compress modes, glob expansion, excludes, trailing newline options.
packages/nx-infra-plugin/src/executors/bundle/schema.ts Add sourceMap?: boolean option.
packages/nx-infra-plugin/src/executors/bundle/schema.json Document sourceMap option for debug mode.
packages/nx-infra-plugin/src/executors/bundle/executor.ts Conditionally enable eval-source-map based on sourceMap.
packages/nx-infra-plugin/src/executors/bundle/executor.e2e.spec.ts Add E2E coverage for sourceMap: false behavior.
packages/devextreme/project.json Rewire devextreme build steps to use Nx bundle/compress/copy-files flows; add new targets and outputs.
packages/devextreme/package.json Remove Gulp-only compression dependencies (gulp-jsbeautifier, gulp-uglify-es).
packages/devextreme/gulpfile.js Replace aspnet/vendor tasks with Nx-backed shell tasks.
packages/devextreme/build/gulp/vendor.js Remove legacy vendor copy/compress Gulp implementation.
packages/devextreme/build/gulp/ts.js Replace inline debug stripping with Nx compress:ts-modules post-step.
packages/devextreme/build/gulp/transpile.js Inline debug stripping via gulp-replace instead of compression-pipes.
packages/devextreme/build/gulp/npm.js Replace Gulp beautify step with Nx compress:npm-sources.
packages/devextreme/build/gulp/js-bundles.js Replace Gulp bundle+compress flows with Nx bundle:* + compress:* targets.
packages/devextreme/build/gulp/compression-pipes.js Remove legacy compression pipe implementation.
packages/devextreme/build/gulp/aspnet.js Remove legacy aspnet build task implementation.
package.json Bump Nx-related dependencies to 22.7.0.
nx.json Disable Nx analytics.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Comment thread packages/nx-infra-plugin/src/executors/compress/executor.ts
Comment thread packages/nx-infra-plugin/src/utils/file-operations.ts
Comment thread package.json
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