Skip to content

chore: migrate gulp build devextreme-scss task to nx#33729

Open
GoodDayForSurf wants to merge 46 commits into
26_1from
chore/migrate-devextreme-scss-to-nx
Open

chore: migrate gulp build devextreme-scss task to nx#33729
GoodDayForSurf wants to merge 46 commits into
26_1from
chore/migrate-devextreme-scss-to-nx

Conversation

@GoodDayForSurf

Copy link
Copy Markdown
Contributor

No description provided.

@GoodDayForSurf GoodDayForSurf self-assigned this May 26, 2026
Copilot AI review requested due to automatic review settings May 26, 2026 14:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 Nx-based infrastructure for building DevExtreme SCSS themes by adding a dedicated scss-build executor in nx-infra-plugin, consolidating data-uri(...) handling into a shared utility, and switching the devextreme package’s build-themes script to call nx build devextreme-scss.

Changes:

  • Added shared SCSS data-uri(...) encoding utilities + Jest coverage.
  • Added a new devextreme-nx-infra-plugin:scss-build executor implementation for bundling/compiling/minifying theme CSS.
  • Updated SCSS assembly to reuse the shared data-uri(...) utility; updated build-themes script to invoke Nx.

Reviewed changes

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

Show a summary per file
File Description
packages/nx-infra-plugin/src/utils/scss-data-uri.ts Adds reusable helpers for encoding assets into data: URIs (SVG UTF-8, others base64) + shared regex.
packages/nx-infra-plugin/src/utils/scss-data-uri.spec.ts Adds Jest tests for the new data-uri encoding helpers.
packages/nx-infra-plugin/src/executors/scss-build/scss-build.impl.ts Introduces Nx executor logic for generating SCSS bundles, compiling via sass-embedded, autoprefixing, minifying, and (in watch mode) copying assets.
packages/nx-infra-plugin/src/executors/scss-build/executor.ts Exports the new executor implementation.
packages/nx-infra-plugin/src/executors/scss-assemble/scss-assemble.impl.ts Replaces local data-uri logic with the shared utility functions/regex.
packages/devextreme/package.json Switches build-themes to pnpm nx build devextreme-scss.

Comment thread packages/devextreme/package.json
@GoodDayForSurf GoodDayForSurf force-pushed the chore/migrate-devextreme-scss-to-nx branch from c0eec2e to 16a1a21 Compare May 26, 2026 17:44
@GoodDayForSurf GoodDayForSurf requested a review from a team as a code owner May 26, 2026 17:44
Copilot AI review requested due to automatic review settings May 26, 2026 20:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 19 out of 20 changed files in this pull request and generated 2 comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Copilot AI review requested due to automatic review settings May 27, 2026 09:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 19 out of 20 changed files in this pull request and generated 2 comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Comment thread packages/nx-infra-plugin/src/executors/scss-build/scss-build.impl.ts Outdated
Comment thread packages/nx-infra-plugin/src/executors/scss-build/scss-build.impl.ts Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 19 out of 20 changed files in this pull request and generated 2 comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Comment thread packages/devextreme-scss/package.json
Copilot AI review requested due to automatic review settings June 18, 2026 20:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 19 out of 20 changed files in this pull request and generated 3 comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

Comment thread packages/devextreme-scss/package.json
Comment thread packages/nx-infra-plugin/src/executors/scss-build/executor.e2e.spec.ts Outdated
Copilot AI review requested due to automatic review settings June 19, 2026 07:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 19 out of 20 changed files in this pull request and generated 3 comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

filePathOrExt: string,
svgEncoding?: string,
): string {
const ext = path.extname(filePathOrExt).replace('.', '').toLowerCase();
Comment thread packages/devextreme-scss/project.json
Comment thread packages/devextreme-scss/project.json
Copilot AI review requested due to automatic review settings June 19, 2026 21:43

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 19 out of 20 changed files in this pull request and generated no new comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

Copilot AI review requested due to automatic review settings June 19, 2026 22:23

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 19 out of 20 changed files in this pull request and generated 1 comment.

Files not reviewed (1)
  • pnpm-lock.yaml: Generated file

Comment on lines +267 to +274
const sources = await resolveSourceFiles(projectRoot, options);
const existingSources = sources.filter((source) => fs.existsSync(source));
const minifyProfile: MinifyProfile = options.mode === 'ci' ? 'ci' : 'all';

for (const source of existingSources) {
logger.verbose(`Compiling ${source}`);
await compileFile(source, cssOutputDir, minifyProfile, deps, projectRoot);
}
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