Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

build excludes from application project are not applied to dependencies

Đang mở
#1,446 3 bình luận 0 reaction 1 người được giao Xem trên GitHub

@flovogt đang làm issue này rồi.

Từ ngày 2/9/2026.

Đánh giá

Issue này chưa được đánh giá.

Mô tả

When building a UI5 workspace where the root project is of type application and includes local (workspace) dependencies of type library and component, builder.resources.excludes from the root project's config are applied to the root project, but not to dependency outputs included in the build graph.

As a result, the final build output still contains dependency test resources such as:

  • /resources/<component-dependency>/test/**
  • /test-resources/<library-dependency>/**

Versions

  • @ui5/cli: 5.0.0-alpha.5

Scenario

The root project is a UI5 project of type application.

That root application includes local workspace dependencies of different project types, specifically:

  • library dependencies
  • component dependencies

The root project's deploy config ui5-deploy.yaml contains:

builder:
  resources:
    excludes:
      - "/resources/**/test/**"
      - "/resources/**/localService/**"
      - "/test-resources/**"

The build is executed with:

ui5 build --workspace=local --all --clean-dest --dest <dist> --config ui5-deploy.yaml

Background: the dependency projects intentionally do not define builder.resources.excludes in their own ui5.yaml, because their unit and integration test resources must remain available when running the dev server.

Actual behavior

The final dist output still contains test resources from workspace dependencies.

Examples:

  • component dependencies still contribute files under:
    • /resources/<namespace>/test/**
  • library dependencies still contribute files under:
    • /test-resources/<namespace>/**

Typical examples in the generated output include:

  • /resources/.../test/testsuite.qunit.html
  • /resources/.../test/Test.qunit.html
  • /resources/.../test/unit/unitTests.qunit.js
  • /test-resources/.../testsuite.qunit.js

So the root application's excludes do not prevent dependency test assets from being written to the final build result.

Expected behavior

Currently, builder.resources.excludes being evaluated per project, not globally across the composed build.
It should be considered if a root-project builder.resources.excludes should also be honored for dependency outputs written into the final build result, including both library and component dependencies.

Why this is problematic

For deploy packaging, the root application project is often the place where the final artifact is assembled.

In that setup, it is natural to expect deploy-specific excludes from the root application config to remove test assets from the final bundle, including assets contributed by:

  • local component dependencies
  • local library dependencies

Without that, users have to either:

  • duplicate deploy-only excludes in every dependency project,
  • maintain separate deploy configs for every dependency, or
  • post-process the dist folder to remove test artifacts

Minimal reproduction

  1. Create a UI5 workspace with:
    • one root project of type application
    • one local dependency of type component containing test files
    • one local dependency of type library containing test files
  2. Add the dependencies to the root project
  3. Configure the root ui5-deploy.yaml with:
builder:
  resources:
    excludes:
      - "/resources/**/test/**"
      - "/test-resources/**"
  1. Run:
ui5 build --workspace=local --all --config ui5-deploy.yaml --clean-dest
  1. Inspect the output and observe that:
    • component dependency test resources are still present under /resources/.../test/**
    • library dependency test resources are still present under /test-resources/.../**
Ngôn ngữ chính
JavaScript
Star
511
Fork
83
Merge trung bình
1 ngày 5 giờ
Pull request đã merge (30 ngày)
55

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của UI5/cli

Tất cả issue của UI5/cli

Issue tương tự

Thêm issue về JavaScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.