Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
- **Languages:** TypeScript, JavaScript, SCSS
- **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`)
- **Test Frameworks:** QUnit, Jest, TestCafe, Karma (Angular)

## Critical Setup Requirements
Expand Down Expand Up @@ -493,7 +493,7 @@ Before making any changes, always check `.github/instructions/` directory for fi
These instructions are based on actual repository analysis including:
- Package.json scripts and configurations
- GitHub Actions workflows
- Build system files (gulpfile.js, nx.json)
- Build system files (nx.json, project.json)
- Project structure and file organization
- CI/CD pipeline requirements

Expand Down
1 change: 0 additions & 1 deletion apps/demos/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ bundles
changed-files.json

!.vscode/settings.json
gulpfile.js/.eslintrc.js

shared/empty-file.js

Expand Down
3 changes: 0 additions & 3 deletions apps/demos/gulpfile.js/index.js

This file was deleted.

40 changes: 0 additions & 40 deletions apps/demos/gulpfile.js/js.js

This file was deleted.

8 changes: 0 additions & 8 deletions apps/demos/gulpfile.js/shared.js

This file was deleted.

9 changes: 4 additions & 5 deletions apps/demos/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,6 @@
"express": "4.22.1",
"glob": "11.1.0",
"globals": "catalog:",
"gulp": "4.0.2",
"jest": "29.7.0",
"jest-environment-node": "29.7.0",
"lodash": "4.18.1",
Expand Down Expand Up @@ -164,8 +163,8 @@
"generate-tgz-packages": "node utils/create-tgz-packages.js",
"generate-devextreme-angular-umd": "rollup -c ./rollup.devextreme-angular.umd.config.mjs --silent",
"generate-external-bundles": "rollup -c ./rollup.external.bundles.config.mjs --silent",
"prepare-js": "gulp js && pnpm run generate-ng-umd && pnpm run generate-devextreme-angular-umd && pnpm run generate-external-bundles && npm run generate-tgz-packages",
"prepare-shared": "pnpm run prepare-ts && gulp shared",
"prepare-js": "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",
"prepare-shared": "node scripts/prepare-shared.js",
"eslint": "eslint",
"lint-html": "prettier --check .",
"lint-js": "eslint . --ignore-pattern 'Demos'",
Expand All @@ -180,8 +179,8 @@
"csp-check": "node utils/server/csp-check.js",
"fix-lint": "prettier --write . && eslint --fix . && stylelint **/*.{css,vue} --fix",
"prettier": "prettier",
"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",
"convert-to-js": "ts-node ./utils/ts-to-js-converter/cli.ts",
"create-typestat-cfg": "cd ./utils/internal && node ./create-typestat-cfg.js",
"make-demos-bundle": "ts-node ./utils/create-bundles",
Expand Down
25 changes: 20 additions & 5 deletions apps/demos/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,24 @@
]
},
"prepare-bundles": {
"executor": "nx:run-script",
"executor": "nx:run-commands",
"options": {
"script": "prepare-bundles"
"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}/gulpfile.js/**/*",
"{projectRoot}/scripts/**/*",
"{projectRoot}/utils/bundle/**/*",
"{projectRoot}/utils/internal/create-config.js",
"{projectRoot}/rollup.devextreme-angular.umd.config.mjs"
],
"outputs": [
Expand Down Expand Up @@ -103,14 +111,21 @@
"commands": [
"pnpm nx build devextreme",
"pnpm nx run-many --targets=pack --projects=devextreme-angular,devextreme-react,devextreme-vue --parallel",
"pnpm run prepare-js"
"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}/gulpfile.js/**/*",
"{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": [
Expand Down
24 changes: 24 additions & 0 deletions apps/demos/scripts/build-bundles.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
/**
* Replaces `gulp bundles` task.
* Copies devextreme bundles and builds framework bundles in parallel.
*/
const { copyBundlesFolder, build } = require('../utils/bundle');

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`);
}));

console.log('build-bundles: done');
}

main().catch((err) => {
console.error('build-bundles failed:', err);
process.exit(1);
});
18 changes: 18 additions & 0 deletions apps/demos/scripts/prepare-js-configs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
/**
* Replaces `gulp js` task.
* Initializes repository config, copies JS shared resources,
* and creates demo config files (without bundles).
*/
const { join } = require('path');
const { init } = require('../utils/shared/config-helper');
const createConfig = require('../utils/internal/create-config');
const { copyJsSharedResources } = require('../utils/copy-shared-resources/copy');

const demosDir = join(__dirname, '..', 'Demos');

init();
copyJsSharedResources(() => {});
createConfig.useBundles = false;
createConfig.run(demosDir);

console.log('prepare-js-configs: done');
11 changes: 11 additions & 0 deletions apps/demos/scripts/prepare-shared.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
/**
* Replaces `gulp shared` task.
* Copies JS and MVC shared resources sequentially.
*/
const { copyJsSharedResources, copyMvcSharedResources } = require('../utils/copy-shared-resources/copy');

copyJsSharedResources(() => {
copyMvcSharedResources(() => {
console.log('prepare-shared: done');
});
});
13 changes: 13 additions & 0 deletions apps/demos/scripts/update-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/**
* Replaces `gulp update-config` task.
* Creates demo config files with bundle mode enabled.
*/
const { join } = require('path');
const createConfig = require('../utils/internal/create-config');

const demosDir = join(__dirname, '..', 'Demos');

createConfig.useBundles = true;
createConfig.run(demosDir);

console.log('update-config: done');
3 changes: 0 additions & 3 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading