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`) + package-specific Gulp tasks
- **Test Frameworks:** QUnit, Jest, TestCafe, Karma (Angular)
Comment on lines 11 to 14

## 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 @@ -133,7 +133,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 @@ -166,8 +165,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 @@ -182,8 +181,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",
Comment thread
ajivanyandev marked this conversation as resolved.
"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
35 changes: 28 additions & 7 deletions apps/demos/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -49,20 +49,31 @@
]
},
"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}"
Comment thread
ajivanyandev marked this conversation as resolved.
},
"dependsOn": [
// "^build" uncomment me after migrating to PNPM
],
"inputs": [
"default",
"{projectRoot}/gulpfile.js/**/*",
"{projectRoot}/scripts/**/*",
"{projectRoot}/utils/bundle/**/*",
"{projectRoot}/utils/internal/create-config.js",
Comment thread
ajivanyandev marked this conversation as resolved.
"{projectRoot}/menuMeta.json",
"{projectRoot}/rollup.devextreme-angular.umd.config.mjs"
],
"outputs": [
"{projectRoot}/bundles"
"{projectRoot}/bundles",
"{projectRoot}/Demos/**/config.js",
"{projectRoot}/Demos/**/tsconfig.json"
]
},
"lint-js": {
Expand Down Expand Up @@ -103,15 +114,25 @@
"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}/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",
Comment on lines 126 to +132
"{projectRoot}/rollup.ng.umd.config.mjs",
"{projectRoot}/rollup.devextreme-angular.umd.config.mjs",
"{projectRoot}/rollup.external.bundles.config.mjs"
],
"outputs": [
"{projectRoot}/Demos/**/config.js"
Expand Down
22 changes: 22 additions & 0 deletions apps/demos/scripts/build-bundles.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
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`);
})
);
Comment on lines +3 to +14

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

main().catch((err) => {
console.error('build-bundles failed:', err);
process.exit(1);
});
13 changes: 13 additions & 0 deletions apps/demos/scripts/prepare-js-configs.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
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');
7 changes: 7 additions & 0 deletions apps/demos/scripts/prepare-shared.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
const { copyJsSharedResources, copyMvcSharedResources } = require('../utils/copy-shared-resources/copy');

copyJsSharedResources(() => {
copyMvcSharedResources(() => {
console.log('prepare-shared: done');
});
});
9 changes: 9 additions & 0 deletions apps/demos/scripts/update-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
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