build excludes from application project are not applied to dependencies
@flovogt がすでに取り組んでいます。
2026年9月2日 から。
評価
この issue はまだ評価されていません。
説明
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:
librarydependenciescomponentdependencies
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
componentdependencies - local
librarydependencies
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
- Create a UI5 workspace with:
- one root project of type
application - one local dependency of type
componentcontaining test files - one local dependency of type
librarycontaining test files
- one root project of type
- Add the dependencies to the root project
- Configure the root
ui5-deploy.yamlwith:
builder:
resources:
excludes:
- "/resources/**/test/**"
- "/test-resources/**"
- Run:
ui5 build --workspace=local --all --config ui5-deploy.yaml --clean-dest
- 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/.../**
- component dependency test resources are still present under
- 主要言語
- JavaScript
- スター
- 511
- フォーク
- 83
- 平均マージ
- 1日 5時間
- マージ済み PR(30日)
- 55
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
UI5/cli のほかの issue
-
module/ui5-builder
-
Build cache: buildThemes cache is invalidated by irrelevant library.js / .library content changes オープンmodule/ui5-builder module/ui5-fs module/ui5-project
難易度 3/5 1〜2日 初心者へのやさしさ 76/100
-
module/ui5-project
難易度 4/5 3〜5日 初心者へのやさしさ 64/100
-
roadmap
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
area-deployment area-integrations triage:bot-seen
難易度 2/5 半日 初心者へのやさしさ 86/100
-
Issue-Bug
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
sugarlabs/musicblocks#8924 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
ArduPilot/ardupilot_wiki#8088 ·
-
[BUG] createTool tools cannot be registered with Mastra when exactOptionalPropertyTypes is enabled オープンcustomer-eng status: needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100