Skip to content

Commit 154d5cf

Browse files
committed
[INTERNAL] Allow flat directory structure, document required files
1 parent 140a18a commit 154d5cf

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

rfcs/0018-component-type.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,14 @@ The above diagram illustrates a common scenario where multiple UI5 components ar
3535
### Key design aspects include:
3636

3737
* **Serving Path:** Unlike ["application" projects](https://sap.github.io/ui5-tooling/stable/pages/Project/#application) served at the root path "/", "component" projects will be served under their namespace, for example, "/resources/my/bookstore/admin". This enables multiple component projects to coexist alongside a single root application (like in the FLP).
38-
* **Folder Structure:** Similar to the "library" type, "component" projects will maintain an explicit folder structure reflecting their namespace rather than a flat structure.
38+
* **Folder Structure:** Similar to the "library" type, "component" projects may use a flat folder structure or a namespace structure. In case of a flat structure, the project namespace will be derived from the manifest.json "sap.app".id property.
3939
* **Entry Point:** Component projects will not have a dedicated `index.html` in their regular resources (like application-type projects often do). They can still be run standalone though. For instance via a dedicated HTML-site located in their test-resources, or by declaring a development-dependency to an application-type project which is capable of serving the component.
4040
* **Build Options:** The "component" type will support [all output-styles](https://sap.github.io/ui5-tooling/stable/pages/Project/#build-output-style) that are currently supported by library projects, ensuring compatibility with current deployment practices where namespaces may need to be omitted in the directory structure ("flat" output style).
4141

42+
### Project Structure
43+
44+
A component type project must contain both, a `Component.js` and a `manifest.json` file.
45+
4246
### Specification Version
4347

4448
The new component type shall be released together with a new [Specification Version](https://sap.github.io/ui5-tooling/stable/pages/Configuration/#specification-versions) which will be required for using the new type. This ensures that old versions of the UI5 CLI encountering this new type will gracefully fail due to the unsupported Specification Version, informing the user to upgrade to the latest UI5 CLI.

0 commit comments

Comments
 (0)