Failure to serve local transpiled TypeScript library files correctly using workspace configuration
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 511
- Forks
- 83
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 55
Description
Expected Behavior
When adding a local TypeScript UI5 library to my UI5 app descriptor and using the UI5 Tooling workspace configuration, the UI5 Tooling should recognize the library as being implemented in TypeScript and serve the transpiled files via the webserver when running the app using ui5 serve.
Current Behavior
While using ui5 serve the UI5 app tries to fetch the library.js file, resulting in an error failed to load 'mylibrary/library.js' from resources/mylibrary/library.js: script load error
Copying the the transpiled file from dist/resources/mylibrary/library.js to src/ results in the browser being able to load this specific file.
Steps to Reproduce the Issue
- Create a TypeScript UI5 app using
yo easy-ui5 - Create a TypeScript UI5 library using
yo easy-ui5 - Set up the workspace configuration as described in UI5 Tooling documentation UI5 Tooling - Development Overview
- Add the local library in the app descriptor under
sap.ui5>dependencies>libs - Run
ui5 servein app directory - The browser console will show an error when trying to retrieve
library.js
Context
- UI5 Module Version (output of
ui5 --versionwhen using the CLI):4.0.0 - Node.js Version:
20.11.0 - npm Version:
10.2.4 - OS/Platform:
macOS Sonoma 14.5 - Browser (if relevant):
unknown - Other information regarding your environment (optional):
nothing
Log Output / Stack Trace
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the workspace configuration from the listed steps with a TypeScript UI5 app and library, then run ui5 serve and inspect logoutput.txt. Trace how the app descriptor's library dependency is mapped to the library's dist/resources path. Done means the local library.js is served without copying it into src/.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- build-system, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100