Skip to content

chore: Remove gulp from app demos#33495

Open
ajivanyandev wants to merge 11 commits into
26_1from
gulp/remove-gulp-from-app-demos
Open

chore: Remove gulp from app demos#33495
ajivanyandev wants to merge 11 commits into
26_1from
gulp/remove-gulp-from-app-demos

Conversation

@ajivanyandev
Copy link
Copy Markdown
Contributor

No description provided.

@ajivanyandev ajivanyandev self-assigned this May 5, 2026
Copilot AI review requested due to automatic review settings May 5, 2026 10:16
@ajivanyandev ajivanyandev requested a review from a team as a code owner May 5, 2026 10:16
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 removes the Gulp-based workflow from apps/demos and replaces the former gulp tasks with plain Node.js scripts invoked via package.json scripts and Nx run-commands, simplifying the demos’ build/prepare pipeline and dropping the gulp dependency.

Changes:

  • Removed gulp from apps/demos dependencies and deleted the apps/demos/gulpfile.js/* tasks.
  • Added Node.js script replacements for the former gulp js, gulp shared, gulp bundles, and gulp update-config tasks.
  • Updated Nx target configuration (apps/demos/project.json) and repo documentation to reflect the new build approach.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
pnpm-lock.yaml Removes the gulp entry from the demos importer.
apps/demos/scripts/update-config.js New Node script replacing gulp update-config (writes bundled-mode demo configs).
apps/demos/scripts/prepare-shared.js New Node script replacing gulp shared (copies shared resources).
apps/demos/scripts/prepare-js-configs.js New Node script replacing gulp js (init repo config, copy shared JS resources, write non-bundle configs).
apps/demos/scripts/build-bundles.js New Node script replacing gulp bundles (copy bundles + build framework bundles).
apps/demos/project.json Switches targets to nx:run-commands and updates inputs to reflect new scripts/utilities.
apps/demos/package.json Removes gulp dependency; rewires scripts to Node-based replacements.
apps/demos/gulpfile.js/shared.js Deletes Gulp shared task implementation.
apps/demos/gulpfile.js/js.js Deletes Gulp js/bundles task implementation.
apps/demos/gulpfile.js/index.js Deletes Gulp task exports.
apps/demos/.gitignore Removes ignore entry related to gulpfile eslint config.
.github/copilot-instructions.md Updates build-system description to remove Gulp references.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (2)

apps/demos/project.json:74

  • prepare-bundles now runs node scripts/update-config.js, which rewrites demo Demos/**/config.js files (via utils/internal/create-config.js). However, the target outputs only lists {projectRoot}/bundles, so Nx caching/restores won’t account for the updated config files. Add {projectRoot}/Demos/**/config.js (and any other generated config outputs, if applicable) to this target’s outputs to keep cache correctness.
    "prepare-bundles": {
      "executor": "nx:run-commands",
      "options": {
        "commands": [
          "pnpm run generate-devextreme-angular-umd",
          "node scripts/build-bundles.js",
          "node scripts/update-config.js"
        ],
        "parallel": false,
        "cwd": "{projectRoot}"
      },
      "dependsOn": [
        // "^build" uncomment me after migrating to PNPM
      ],
      "inputs": [
        "default",
        "{projectRoot}/scripts/**/*",
        "{projectRoot}/utils/bundle/**/*",
        "{projectRoot}/utils/internal/create-config.js",
        "{projectRoot}/rollup.devextreme-angular.umd.config.mjs"
      ],
      "outputs": [
        "{projectRoot}/bundles"
      ]

apps/demos/project.json:133

  • prepare-js runs generate-ng-umd, generate-external-bundles, and node utils/create-tgz-packages.js, but the target inputs don’t include the corresponding Rollup config files (rollup.ng.umd.config.mjs, rollup.external.bundles.config.mjs) or utils/create-tgz-packages.js. This can make Nx cache the target with stale results when those files change. Consider adding these files to inputs (or broadening to {projectRoot}/utils/**/* / {projectRoot}/rollup*.config.mjs if that’s acceptable for caching).
    "prepare-js": {
      "executor": "nx:run-commands",
      "options": {
        "commands": [
          "pnpm nx build devextreme",
          "pnpm nx run-many --targets=pack --projects=devextreme-angular,devextreme-react,devextreme-vue --parallel",
          "node scripts/prepare-js-configs.js",
          "pnpm run generate-ng-umd",
          "pnpm run generate-devextreme-angular-umd",
          "pnpm run generate-external-bundles",
          "node utils/create-tgz-packages.js"
        ],
        "parallel": false,
        "cwd": "{projectRoot}"
      },
      "inputs": [
        "default",
        "{projectRoot}/scripts/**/*",
        "{projectRoot}/utils/shared/config-helper.js",
        "{projectRoot}/utils/internal/create-config.js",
        "{projectRoot}/utils/copy-shared-resources/**/*",
        "{projectRoot}/rollup.devextreme-angular.umd.config.mjs"
      ],
      "outputs": [
        "{projectRoot}/Demos/**/config.js"
      ]

Copilot AI review requested due to automatic review settings May 20, 2026 09: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

Copilot reviewed 11 out of 12 changed files in this pull request and generated 4 comments.

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

Comment thread apps/demos/package.json
Comment thread apps/demos/scripts/build-bundles.js Outdated
Comment thread apps/demos/scripts/build-bundles.js Outdated
Comment thread .github/copilot-instructions.md Outdated
Copilot AI review requested due to automatic review settings May 20, 2026 10:01
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

Copilot reviewed 11 out of 12 changed files in this pull request and generated 3 comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (1)

apps/demos/project.json:133

  • node scripts/prepare-js-configs.js calls config-helper.init() (which may create repository.config.json) and create-config.run() (which also writes Demos/**/tsconfig.json). The target outputs currently only list Demos/**/config.js, so Nx cache hits won’t restore the other generated, gitignored files. Consider adding {projectRoot}/Demos/**/tsconfig.json (and {projectRoot}/repository.config.json if it’s expected to exist after this target) to outputs.
      "outputs": [
        "{projectRoot}/Demos/**/config.js"
      ]

Comment thread apps/demos/project.json
Comment thread apps/demos/project.json
Comment thread apps/demos/project.json Outdated
Copilot AI review requested due to automatic review settings May 21, 2026 07:15
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

Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (1)

apps/demos/project.json:138

  • scripts/prepare-js-configs.js can generate {projectRoot}/repository.config.json (via utils/shared/config-helper.init()) and Demos/**/tsconfig.json files (via copyTsConfigForApproaches() in utils/internal/create-config.js). The prepare-js target caches only Demos/**/config.js right now, so cached runs may not restore those generated files. Add "{projectRoot}/repository.config.json" and "{projectRoot}/Demos/**/tsconfig.json" to this target’s outputs.
      "outputs": [
        "{projectRoot}/Demos/**/config.js"
      ]

Comment thread apps/demos/project.json Outdated
Copilot AI review requested due to automatic review settings May 21, 2026 10:20
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

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

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

Comment thread apps/demos/scripts/build-bundles.js Outdated
Comment thread apps/demos/package.json
"build-bundles": "gulp bundles",
"prepare-bundles": "pnpm run generate-devextreme-angular-umd && gulp bundles && gulp update-config",
"build-bundles": "node scripts/build-bundles.js",
"prepare-bundles": "pnpm run generate-devextreme-angular-umd && node scripts/build-bundles.js && node scripts/update-config.js",
Comment on lines 11 to 14
- **Package Manager:** pnpm 9.15.4 (specified in package.json)
- **Node Version:** 20.x (required by CI)
- **Build System:** Gulp + Nx + custom build scripts + custom Nx executors (via `devextreme-nx-infra-plugin`)
- **Build System:** Nx + custom build scripts + custom Nx executors (via `devextreme-nx-infra-plugin`) + package-specific Gulp tasks
- **Test Frameworks:** QUnit, Jest, TestCafe, Karma (Angular)
- Package.json scripts and configurations
- GitHub Actions workflows
- Build system files (gulpfile.js, nx.json)
- Build system files (nx.json, project.json)
Comment thread apps/demos/project.json
Comment on lines 126 to +132
"inputs": [
"default",
"{projectRoot}/gulpfile.js/**/*",
"{projectRoot}/rollup.devextreme-angular.umd.config.mjs"
"{projectRoot}/scripts/**/*",
"{projectRoot}/utils/shared/config-helper.js",
"{projectRoot}/utils/internal/create-config.js",
"{projectRoot}/utils/copy-shared-resources/**/*",
"{projectRoot}/menuMeta.json",
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Arman Jivanyan <arman.jivanyan@devexpress.com>
Copilot AI review requested due to automatic review settings May 22, 2026 08:50
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

Copilot reviewed 11 out of 12 changed files in this pull request and generated 1 comment.

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

Comment on lines +3 to +14
async function main() {
copyBundlesFolder();
console.log('copy-bundles: done');

const frameworks = ['vue', 'angular', 'react'];
await Promise.all(
frameworks.map(async (framework) => {
console.log(`bundle-${framework}: starting...`);
await build(framework);
console.log(`bundle-${framework}: done`);
})
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants