`ui5 serve` is very slow, can it do a pre-bundle before serving?

Open
#647 1 comment 13 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
30/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
javascript

Research direction

Reproduce the report with a hello-world app created using create-easy-ui5 and the ts-app preset, then run npm start and inspect the browser network tab. Compare local serving with the CDN behavior described; done should mean SAP libraries are bundled or otherwise served locally with a noticeably faster development experience and no required Internet connection.

Written by the indexing model from the issue text.

Description

Expected Behavior

A hello-world app served locally with ui5 serve should be fast.

Current Behavior

ui5 serve downloads the specified SAP libraries and serves several hundred unbundled JS files locally, which is pretty slow, even with browser cache enabled:
sapui5-local-dev-ui5-dynamic-network
Dynamically Generated by UI5 Tooling - Browser Cache Enabled

I tried to mitigate the issue by downloading my own local copy of SAPUI5 runtime, with no improvements at all as the downloaded libs are not bundled either:
sapui5-local-dev-network
With Downloaded resource folder from https://tools.hana.ondemand.com/#sapui5

Here is the result with a CDN link, which is what we do at work:
sapui5-local-dev-cdn-network
With CDN [https://ui5.sap.com:](https://ui5.sap.com/)

It is quite a bit faster, but it just feels wrong that an Internet connection is required for local development. And the connection stability cannot be 100% guaranteed. We've encountered unstable/slow connection issues before.

Steps to Reproduce the Issue

  1. Create a hello-world app with create-easy-ui5 and the ts-app preset.
  2. Start the app with npm start
  3. Inspect the network tab

Context

  • UI5 Module Version (output of ui5 --version when using the CLI): 2.14.10
  • Node.js Version: 16.6.0
  • npm Version: 8.15.1
  • OS/Platform: Ubuntu (WSL2)
  • Browser (if relevant): Firefox & Edge
  • Other information regarding your environment (optional): nothing

Log Output / Stack Trace

N/A

So my questions are:

  • Do the ui5-tooling team have a plan for a more performant local development experience (create bundles/dev-bundles for libraries before serving, utilizing webpack and hmr, etc)?
  • If not, where can I download a bundled version of SAPUI5 runtime to work around this issue?

Thanks!

Dominant language
JavaScript
Stars
511
Forks
83
Avg merge
1d 5h
Merged PRs (30d)
55

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.

More from UI5/cli

All issues in UI5/cli

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.