Skip to content

chore: Remove gulp from app demos#33495

Open
ajivanyandev wants to merge 2 commits into26_1from
gulp/remove-gulp-from-app-demos
Open

chore: Remove gulp from app demos#33495
ajivanyandev wants to merge 2 commits into26_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"
      ]

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