Skip to content

Feature/csb manifest - #34828

Open
vorobey wants to merge 10 commits into
DevExpress:feature/remove-systemjs-from-demosfrom
vorobey:feature/csb-manifest
Open

Feature/csb manifest#34828
vorobey wants to merge 10 commits into
DevExpress:feature/remove-systemjs-from-demosfrom
vorobey:feature/csb-manifest

Conversation

@vorobey

@vorobey vorobey commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@vorobey vorobey self-assigned this Aug 19, 2026
@vorobey
vorobey force-pushed the feature/csb-manifest branch from ad7d079 to f1a90f6 Compare August 19, 2026 08:12
@vorobey
vorobey force-pushed the feature/remove-systemjs-from-demos branch from 302a31b to 3f49784 Compare August 19, 2026 08:17
@vorobey
vorobey force-pushed the feature/csb-manifest branch from f1a90f6 to f16d590 Compare August 19, 2026 08:18

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 adds generation of a per-demo demo.manifest.json intended for CodeSandbox, capturing the npm packages (and peer dependencies) required by each bundled demo, and enhances import scanning/version resolution logic in the server-side bundling utilities.

Changes:

  • Extend vendor-bundle.js to (a) avoid scanning generated bundle artifacts and (b) resolve imported package versions + required peer dependencies into manifests.
  • Emit a per-demo demo.manifest.json during React/Vue and Angular demo bundling.
  • Update demos .gitignore to exclude the generated manifest, and adjust minor workflow/comment formatting.

Reviewed changes

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

Show a summary per file
File Description
apps/demos/utils/server/vendor-bundle.js Adds robust specifier collection helpers, ignores generated artifacts, and resolves package versions/peers into vendor manifests (plus exports utilities for demo manifests).
apps/demos/utils/server/csp-bundle.js Writes demo.manifest.json for each React/Vue demo after bundling.
apps/demos/utils/server/csp-bundle-angular.js Writes demo.manifest.json for each Angular demo (including implicit packages list).
apps/demos/utils/server/build-vendor-bundles.js Clarifies CLI header comment about Angular vendor bundle limitations.
apps/demos/.gitignore Ignores generated demo.manifest.json in demo source folders.
.github/workflows/visual-tests-demos.yml Removes an extraneous blank line in the workflow YAML.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread apps/demos/utils/server/csp-bundle.js Outdated
Comment thread apps/demos/utils/server/csp-bundle-angular.js Outdated
Comment thread apps/demos/utils/server/build-vendor-bundles.js Outdated
@vorobey
vorobey marked this pull request as ready for review August 20, 2026 10:13
@vorobey
vorobey requested a review from a team as a code owner August 20, 2026 10:13

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

Suppressed comments (2)

apps/demos/utils/server/csp-bundle.js:20

  • The script no longer reads BUNDLE_IN_PLACE, but CI still sets it (e.g. .github/workflows/visual-tests-demos.yml uses BUNDLE_IN_PLACE: '1'). This env var is now a no-op and may hide configuration mistakes. Consider updating callers to use CSP_BUNDLE_GENERATE_MANIFESTS (if the intent is to emit demo.manifest.json) and/or removing BUNDLE_IN_PLACE from workflows/docs.
const IS_GENERATE_MANIFESTS = process.env.CSP_BUNDLE_GENERATE_MANIFESTS === '1';

apps/demos/utils/server/csp-bundle-angular.js:16

  • BUNDLE_IN_PLACE support appears to have been removed (replaced by CSP_BUNDLE_GENERATE_MANIFESTS), but some automation still sets BUNDLE_IN_PLACE. If this script is invoked directly (or via csp-bundle.js for Angular), that legacy env var will be ignored; update any callers/docs that still rely on it.
const IS_GENERATE_MANIFESTS = process.env.CSP_BUNDLE_GENERATE_MANIFESTS === '1';
const NODE_MODULES = path.join(DEMOS_APP_ROOT, 'node_modules');

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.

3 participants