UI5 / UI5/cli

Bundling should allow to mark input bundles as "do not resolve"

Open
#351 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

module/ui5-builder
Dominant language
JavaScript
Stars
511
Forks
83
Avg merge
1d 5h
Merged PRs (30d)
55

Description

Expected Behavior

Bundling should allow to specify an input source file as "bundle that must not be dissolved into pieces" and rather embed the input source as a whole.

Current Behavior

When a bundle is created that includes e.g. one of the sap-viz-* bundles, the builder logs many errors like

ERR! lbt:bundle:Resolver **** error: missing module sap/viz/framework/common/util/NameColorUtils.js, required by sap/viz/libs/sap-viz-info-charts.js

The resulting bundle works, but the log messages are annoying. And the current logic that checks for any module to exist might lead to unexpected behavior. It might be better to mark the input bundle explicitly as "do not dissolve".

Steps to reproduce the issue

  1. Create a bundle definition that includes sap/viz/
  2. Build the bundle
  3. Watch the console output

Affected components (if known)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the bundle definition handling and the module-existence logic in lib/lbt/bundle/Resolver.js, especially lines 63-78. Reproduce the issue by bundling sap/viz/ and inspect the resolver output. Done means an input bundle can be explicitly marked not to dissolve, the build remains functional, and the spurious missing-module errors no longer appear.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.