Comments (9)
Hi @RandomByte, is it considered to add the
component
type feature as part of a tooling v4 release?
It is unfortunately out of scope for the initial 4.0 release, but as long as it doesn't require breaking changes it might come in a later 4.x minor version.
from ui5-tooling.
Instead of enhancing the application type, @matz3 and I discussed the possibility of adding "component" types which are always served at their namespace (e.g. /resources/my/todo/app
).
Application projects would then only act as an entry point or test environment (e.g. the OpenUI5 testsuite, which is actually not a UI5 application) and will continue to be served at /
and enforced to be at the root of a dependency tree that contains an application project.
This setup would be closer to how many apps are being developed, especially in the Fiori Launchpad context.
from ui5-tooling.
Hey @resitamas, this is one of many topics we are currently pursuing. So I can't give you an ETA. However we see great demand in such a type.
Currently we are in discussion on how such a "component" project should be structured. I.e. whether it should look like the current "application" projects (one "webapp" directory, containing a "test" directory) or more like the current "library" projects with separate "src" and "test" directories and a deep directory hierarchy representing the projects namespace. We tend towards something in between, like a flat hierarchy (without the namespace) with separate "src" and "test" directories.
from ui5-tooling.
hi Currently we are doing a workaround with defining the Project as shim
---
specVersion: "1.0"
kind: extension
type: project-shim
metadata:
name: openui5-sample-app
shims:
configurations:
"openui5-sample-app": # name as defined in package.json
specVersion: "1.0"
type: module # Use module type
metadata:
name: "openui5-sample-app"
resources:
configuration:
paths:
/resources/open/ui5/sample/: "webapp"
this comes with the problem that the shims in the sub project are not applyed corrertly
they are applyed but on root level an not the level of the subproject
so following shim inside the openui5-sample-app
---
specVersion: "1.0"
kind: extension
type: project-shim
metadata:
name: moment
shims:
configurations:
"moment": # name as defined in package.json
specVersion: "1.0"
type: module # Use module type
metadata:
name: "moment"
resources:
configuration:
paths:
/lib/moment/: "min"
will result in the following scructur
root
├── /resources/open/ui5/sample/
│ └── lib <- dose not exist
└──/lib/moment <- shim of shim is inside the root folder
from ui5-tooling.
@sebbi08 The virtual path defined for a module
project is always absolute. Also see this documentation.
To get the expected behavior, your shim would need to define the virtual path as /resources/open/ui5/sample/lib/moment
.
Namespaces, "root paths" or other hierarchy-like attributes are not shared between a project and its dependencies (even if they are shimmed).
from ui5-tooling.
Hi @RandomByte , do you plan to add the "component" types in the near future? #45 (comment) Do we have any other solution for this issue? Thanks
from ui5-tooling.
Hi @RandomByte, this would be very helpful for a local "mock launchpad", hosting multiple applications and testing cross navigation locally.
From: https://sap.github.io/ui5-tooling/pages/Builder/#types
Projects of type application are typically the main or root project. In a projects dependency tree, there should only be one project of type application. If multiple are found, those further away from the root are ignored.
I'm wondering if it would be possible for those further away from the root to be served under their namespace.
from ui5-tooling.
Hi @RandomByte, Hi @matz3, will this also support a monorepo project structure? E.g. I have a monorepo with multiple apps, then I can execute ui5 serve
in the root of the monorepo and are able to preview all the applications contained in the monorepo.
from ui5-tooling.
Hi @RandomByte, is it considered to add the component
type feature as part of a tooling v4 release?
from ui5-tooling.
Related Issues (20)
- XSA deployment errors due to missing distribution-metadata HOT 3
- Hot-reload not working for start-local HOT 1
- CSRF token validation failed - Chrome - SameSite=None and Secure missing HOT 1
- exclude-task CLI option is ignored for some standard tasks HOT 1
- unable to use ui5/cli 3.* version HOT 4
- Support for environment variables HOT 1
- Support for custom CLI parameters HOT 5
- ui5/cli 3.* - existing script is not working HOT 6
- "${version}" keyword replaced during ui5 serve HOT 1
- Cannot run `fiori run` commands on Windows due to CVE-2024-27980 (child_process.spawn and child_process.spawnSync) HOT 2
- UI5 Tooling: Specifying libraries dependencies in ui5.yaml HOT 3
- In Build process of sapui5 application, facing some issues. HOT 1
- An unexpected error occurred, Could not find any project root. Parameter 'sapuxRequired' was true. HOT 1
- Since upgrade to @ui5/[email protected] ui5 serve fails with TypeError: Cannot read properties of null HOT 7
- support SAPUI5 1.71.xx version (LTM) in ui5-tooling framework deps HOT 1
- in vscode error happens when execute ui5 serve HOT 2
- ui5 serve --open can not resolve relative path with single quote 'xxxxxx' HOT 4
- ui5 serve inside devcontainer unreachable from host HOT 5
- [ROADMAP] UI5 Tooling 5.0 / Specification Version 5.0
- Inventory of dependencies in UI5 tooling HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ui5-tooling.