Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ assignees: ''

<!--
Hey there 👋 Please have a look at our guidelines on reporting issues:
https://github.com/UI5/cli/blob/main/CONTRIBUTING.md#-reporting-issues
https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md#-reporting-issues

Please use this template and replace as many "{...}" and "unknown" as possible.
Thank you 🧡
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ assignees: ''

<!--
Hey there 👋 Please also have a look at our guidelines on feature requests:
https://github.com/UI5/cli/blob/main/CONTRIBUTING.md#-feature-requests
https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md#-feature-requests
-->

## Is your feature request related to a problem? Please describe.
Expand Down
8 changes: 4 additions & 4 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
To get it merged faster, kindly review the checklist below:

## Pull Request Checklist
- [ ] Reviewed the [Contributing Guidelines](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md#-contributing-code)
+ Especially the [How to Contribute](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md#how-to-contribute) section
- [ ] [No merge commits](https://github.com/UI5/cli/blob/main/docs/Guidelines.md#no-merge-commits)
- [ ] [Correct commit message style](https://github.com/UI5/cli/blob/main/docs/Guidelines.md#commit-message-style)
- [ ] Reviewed the [Contributing Guidelines](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md#-contributing-code)
+ Especially the [How to Contribute](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md#how-to-contribute) section
- [ ] [No merge commits](https://github.com/UI5/cli/blob/v4/docs/Guidelines.md#no-merge-commits)
- [ ] [Correct commit message style](https://github.com/UI5/cli/blob/v4/docs/Guidelines.md#commit-message-style)
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -134,4 +134,4 @@ There are phases when development of a new major version of UI5 CLI has already
### Contributing with AI-generated code
As artificial intelligence evolves, AI-generated code is becoming valuable for many software projects, including open-source initiatives. While we recognize the potential benefits of incorporating AI-generated content into our open-source projects there are certain requirements that need to be reflected and adhered to when making contributions.

Please see our [guideline for AI-generated code contributions to SAP Open Source Software Projects](https://github.com/SAP/.github/blob/main/CONTRIBUTING_USING_GENAI.md) for these requirements.
Please see our [guideline for AI-generated code contributions to SAP Open Source Software Projects](https://github.com/UI5/.github/blob/main/CONTRIBUTING_USING_GENAI.md) for these requirements.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
- [Project Configuration](https://ui5.github.io/cli/v3/pages/Configuration/)
- 🎬 [UI5con@SAP 2020 Talk](https://www.youtube.com/watch?v=8IHoVJLKN34)
- 🎬 [UI5con@SAP 2018 Talk](https://www.youtube.com/watch?v=iQ07oe26y_k)
- [Contribution Guidelines](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md)
- [Contribution Guidelines](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md)
- [Roadmap](https://github.com/UI5/cli/issues/701)

## Modules
Expand All @@ -43,8 +43,8 @@ UI5 CLI consists of multiple modules. Each one is managed in a separate reposito

## Contributing

Please check our [Contribution Guidelines](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md).
Please check our [Contribution Guidelines](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md).

## Support

Please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md#report-an-issue) on how to report an issue. Or chat with us in the [`#tooling`](https://openui5.slack.com/archives/C0A7QFN6B) channel of the [OpenUI5 Community Slack](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com). For public Q&A, use the [`ui5-tooling` tag on Stack Overflow](https://stackoverflow.com/questions/tagged/ui5-tooling).
Please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md#report-an-issue) on how to report an issue. Or chat with us in the [`#tooling`](https://openui5.slack.com/archives/C0A7QFN6B) channel of the [OpenUI5 Community Slack](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com). For public Q&A, use the [`ui5-tooling` tag on Stack Overflow](https://stackoverflow.com/questions/tagged/ui5-tooling).
2 changes: 1 addition & 1 deletion SUPPORT.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ Instead, please use one of the following platforms to seek help:
* [StackOverflow](http://stackoverflow.com/questions/tagged/ui5-tooling)
* The [`#tooling`](https://openui5.slack.com/archives/C0A7QFN6B) channel of the [OpenUI5 Community Slack](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com).

If you want to report an issue or request a new feature, please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md#-feature-requests).
If you want to report an issue or request a new feature, please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md#-feature-requests).
4 changes: 2 additions & 2 deletions docs/indexJsdoc.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# UI5 CLI API Reference

## Support
Please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md#report-an-issue) on how to report an issue. Or chat with us in the [`#tooling`](https://openui5.slack.com/archives/C0A7QFN6B) channel of the [OpenUI5 Community Slack](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com)
Please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md#report-an-issue) on how to report an issue. Or chat with us in the [`#tooling`](https://openui5.slack.com/archives/C0A7QFN6B) channel of the [OpenUI5 Community Slack](https://ui5-slack-invite.cfapps.eu10.hana.ondemand.com)

## License
This project is licensed under the Apache Software License, Version 2.0 except as noted otherwise in the [LICENSE](https://github.com/UI5/cli/blob/main/LICENSE.txt) file.
This project is licensed under the Apache Software License, Version 2.0 except as noted otherwise in the [LICENSE](https://github.com/UI5/cli/blob/v4/LICENSE.txt) file.
30 changes: 15 additions & 15 deletions docs/pages/CodeAnalysis.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ The following APIs are analyzed by the JSModule Analyzer:
- sap.ui.preload (restricted)
- sap.ui.require.preload (restricted)

The [JSModule Analyzer](https://github.com/SAP/ui5-builder/blob/main/lib/lbt/analyzer/JSModuleAnalyzer.js) uses the ["Abstract Syntax Tree"](https://en.wikipedia.org/wiki/Abstract_syntax_tree) (AST) of a JavaScript file to decide whether a code block is executed *conditionally* or *unconditionally*.
The [JSModule Analyzer](https://github.com/SAP/ui5-builder/blob/v4/lib/lbt/analyzer/JSModuleAnalyzer.js) uses the ["Abstract Syntax Tree"](https://en.wikipedia.org/wiki/Abstract_syntax_tree) (AST) of a JavaScript file to decide whether a code block is executed *conditionally* or *unconditionally*.

The analyzer uses a set of rules to decide whether one of the above APIs is called whenever the module is executed or whether the API is only called under certain conditions.

Expand All @@ -41,7 +41,7 @@ When a dependency in one of the mentioned APIs is not a "simple literal" but an

### Component Analyzer

The [Component Analyzer](https://github.com/SAP/ui5-builder/blob/main/lib/lbt/analyzer/ComponentAnalyzer.js) analyzes JavaScript files named `Component.js` to collect dependency information by searching for a `manifest.json` located in the same folder as the `Component.js`. If one is found, the `sap.ui5` section is evaluated in the following way:
The [Component Analyzer](https://github.com/SAP/ui5-builder/blob/v4/lib/lbt/analyzer/ComponentAnalyzer.js) analyzes JavaScript files named `Component.js` to collect dependency information by searching for a `manifest.json` located in the same folder as the `Component.js`. If one is found, the `sap.ui5` section is evaluated in the following way:

- Any library dependency is added as a dependency to the `library.js` module of that library. If the library dependency is modeled as 'lazy', the
module dependency will be added as 'conditional'.
Expand All @@ -51,7 +51,7 @@ The [Component Analyzer](https://github.com/SAP/ui5-builder/blob/main/lib/lbt/an

### Smart Template Analyzer

The [Smart Template Analyzer](https://github.com/SAP/ui5-builder/blob/main/lib/lbt/analyzer/SmartTemplateAnalyzer.js) analyzes a Smart Template app and its underlying template components to collect dependency information. It searches for a `manifest.json` located in the same folder as the `Component.js`. If it is found and if it is valid JSON, an `sap.ui.generic.app` section is searched and evaluated in the following way:
The [Smart Template Analyzer](https://github.com/SAP/ui5-builder/blob/v4/lib/lbt/analyzer/SmartTemplateAnalyzer.js) analyzes a Smart Template app and its underlying template components to collect dependency information. It searches for a `manifest.json` located in the same folder as the `Component.js`. If it is found and if it is valid JSON, an `sap.ui.generic.app` section is searched and evaluated in the following way:

- For each page configuration, the configured component is added as a dependency to the template app module.
- If the page configuration contains a `templateName`, a dependency to that template view is added to the app.
Expand All @@ -71,7 +71,7 @@ The manifest of the template app could in theory specify an alternative template

### XML Template Analyzer

The [XML Template Analyzer](https://github.com/SAP/ui5-builder/blob/main/lib/lbt/analyzer/XMLTemplateAnalyzer.js) tackles `XMLView` and `XMLFragment`. It parses the XML, collects controls, and adds them as dependency to the ModuleInfo object.
The [XML Template Analyzer](https://github.com/SAP/ui5-builder/blob/v4/lib/lbt/analyzer/XMLTemplateAnalyzer.js) tackles `XMLView` and `XMLFragment`. It parses the XML, collects controls, and adds them as dependency to the ModuleInfo object.
Additionally, some special dependencies are handled:

- controller of the view
Expand All @@ -86,7 +86,7 @@ For example, if the qualified node name is `sap.m.Text`, the analyzer checks whe

The **XMLComposite** control is deprecated since version UI5 1.88. Nevertheless, UI5 CLI will attempt to analyze the declaration of any such controls in a project.

The [XML Composite Analyzer](https://github.com/SAP/ui5-builder/blob/main/lib/lbt/analyzer/XMLCompositeAnalyzer.js) searches for the name of the configured fragment containing the **XMLComposite** control.
The [XML Composite Analyzer](https://github.com/SAP/ui5-builder/blob/v4/lib/lbt/analyzer/XMLCompositeAnalyzer.js) searches for the name of the configured fragment containing the **XMLComposite** control.

=== "Name of the XMLComposite is equal to fragment name"

Expand All @@ -112,7 +112,7 @@ The [XML Composite Analyzer](https://github.com/SAP/ui5-builder/blob/main/lib/lb

## Library Initialization

The [library.js Analyzer](https://github.com/SAP/ui5-builder/blob/main/lib/lbt/analyzer/analyzeLibraryJS.js) checks every `library.js` file in the namespace of a library for occurences of a `sap/ui/core/Core#initLibrary` call. If found, the following information will be placed in the generated manifest.json:
The [library.js Analyzer](https://github.com/SAP/ui5-builder/blob/v4/lib/lbt/analyzer/analyzeLibraryJS.js) checks every `library.js` file in the namespace of a library for occurences of a `sap/ui/core/Core#initLibrary` call. If found, the following information will be placed in the generated manifest.json:

- noLibraryCSS: false when the noLibraryCSS property had been set in the initLibrary info object
- types: string array with the names of the types contained in the library
Expand All @@ -130,22 +130,22 @@ The UI5 CLI offers a JSDoc build, which is enhanced by UI5-specific JSDoc featur

An UI5 SDK can be built locally. To get more insight into the local UI5 SDK build setup, have a look at our [Developer's Guide](https://github.com/SAP/openui5/blob/-/docs/developing.md#building-the-openui5-sdk-demo-kit).

Currently, the resources needed for a UI5 SDK build are stored in [openui5](https://github.com/SAP/openui5/tree/-/lib/jsdoc) and in [ui5-builder](https://github.com/SAP/ui5-builder/blob/main/lib/processors/jsdoc). This double maintenance is needed because these files are not part of the `sap.ui.core` library artefact, so building JSDoc for any library has no access to the needed resources. It's therefore necessary to have these resources also available in the *ui5-builder*. This might change in the future.
Currently, the resources needed for a UI5 SDK build are stored in [openui5](https://github.com/SAP/openui5/tree/-/lib/jsdoc) and in [ui5-builder](https://github.com/SAP/ui5-builder/blob/v4/lib/processors/jsdoc). This double maintenance is needed because these files are not part of the `sap.ui.core` library artefact, so building JSDoc for any library has no access to the needed resources. It's therefore necessary to have these resources also available in the *ui5-builder*. This might change in the future.

The following artefacts contribute to the JSDoc build:

- [jsdocGenerator.js](https://github.com/SAP/ui5-builder/blob/main/lib/processors/jsdoc/jsdocGenerator.js):
- [jsdocGenerator.js](https://github.com/SAP/ui5-builder/blob/v4/lib/processors/jsdoc/jsdocGenerator.js):
Executes the actual JSDoc build. UI5 CLI wrapper for `plugin.cjs`.
- [sdkTransformer.js](https://github.com/SAP/ui5-builder/blob/main/lib/processors/jsdoc/sdkTransformer.js):
- [sdkTransformer.js](https://github.com/SAP/ui5-builder/blob/v4/lib/processors/jsdoc/sdkTransformer.js):
UI5 CLI wrapper for `transformApiJson.cjs`.
- [apiIndexGenerator.js](https://github.com/SAP/ui5-builder/blob/main/lib/processors/jsdoc/apiIndexGenerator.js):
- [apiIndexGenerator.js](https://github.com/SAP/ui5-builder/blob/v4/lib/processors/jsdoc/apiIndexGenerator.js):
UI5 CLI wrapper for `createIndexFiles.cjs`.
- [createIndexFiles.cjs](https://github.com/SAP/ui5-builder/blob/main/lib/processors/jsdoc/lib/createIndexFiles.cjs):
- [createIndexFiles.cjs](https://github.com/SAP/ui5-builder/blob/v4/lib/processors/jsdoc/lib/createIndexFiles.cjs):
Creates API index resources from all `api.json` resources and by interpreting the `sap-ui-version.json` available in the given test resources directory. The resulting index resources (e.g. `api-index.json`, `api-index-deprecated.json`,
`api-index-experimental.json` and `api-index-since.json`) are only to be used in a UI5 SDK.
- [transformApiJson.cjs](https://github.com/SAP/ui5-builder/blob/main/lib/processors/jsdoc/lib/transformApiJson.cjs):
- [transformApiJson.cjs](https://github.com/SAP/ui5-builder/blob/v4/lib/processors/jsdoc/lib/transformApiJson.cjs):
Preprocesses `api.json` files for use in UI5 SDKs. Transforms the `api.json` as created by the JSDoc build into a pre-processed `api.json` file suitable for the SDK. The pre-processing includes formatting of type references, rewriting of links, and other time-consuming calculations.
- [plugin.cjs](https://github.com/SAP/ui5-builder/blob/main/lib/processors/jsdoc/lib/ui5/plugin.cjs):
- [plugin.cjs](https://github.com/SAP/ui5-builder/blob/v4/lib/processors/jsdoc/lib/ui5/plugin.cjs):
UI5 plugin for JSDoc3. The plugin adds the following UI5-specific tag definitions to JSDoc3:

- disclaimer
Expand All @@ -165,7 +165,7 @@ The following artefacts contribute to the JSDoc build:

Last but not least, it implements an astNodeVisitor to detect UI5-specific "extend" calls and to create documentation for the properties, aggregations, etc. that are created with the "extend" call.

- [publish.cjs](https://github.com/SAP/ui5-builder/blob/main/lib/processors/jsdoc/lib/ui5/template/publish.cjs): JSDoc3 template for UI5 documentation generation.
- [publish.cjs](https://github.com/SAP/ui5-builder/blob/v4/lib/processors/jsdoc/lib/ui5/template/publish.cjs): JSDoc3 template for UI5 documentation generation.

- adds missing namespaces
- determines the export names of exported APIs
Expand All @@ -174,4 +174,4 @@ The following artefacts contribute to the JSDoc build:
- checks for cyclic dependencies
- removes unnecessary whitespace from an HTML document

- [versionUtil.cjs](https://github.com/SAP/ui5-builder/blob/main/lib/processors/jsdoc/lib/ui5/template/utils/versionUtil.cjs): Provides helper methods to determine version-related information.
- [versionUtil.cjs](https://github.com/SAP/ui5-builder/blob/v4/lib/processors/jsdoc/lib/ui5/template/utils/versionUtil.cjs): Provides helper methods to determine version-related information.
4 changes: 2 additions & 2 deletions docs/pages/FAQ.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# FAQ
### How Can I Contribute?
Please check our [Contribution Guidelines](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md).
Please check our [Contribution Guidelines](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md).

### How Can I Obtain Support?
Please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md#report-an-issue) on how to report an issue.
Please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md#report-an-issue) on how to report an issue.

### What's the Difference Between OpenUI5 and SAPUI5?
The open source project [OpenUI5](https://openui5.org/) provides most of the fundamental framework features. [SAPUI5](https://ui5.sap.com/) enhances this by providing **additional libraries** under a **different license**.
Expand Down
2 changes: 1 addition & 1 deletion docs/pages/Troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ An HTTPS server or proxy that was previously running on a domain (e.g. `localhos
You need to delete the HSTS mapping in [chrome://net-internals/#hsts](chrome://net-internals/#hsts) by entering the domain name (e.g. `localhost`) and pressing "delete".

## Issues Not Listed Here
Please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/main/CONTRIBUTING.md#report-an-issue) on how to report an issue.
Please follow our [Contribution Guidelines](https://github.com/UI5/cli/blob/v4/CONTRIBUTING.md#report-an-issue) on how to report an issue.

## UI5 Project
### `~/.ui5` Taking too Much Disk Space
Expand Down
2 changes: 1 addition & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ site_name: UI5 CLI
site_url: 'https://ui5.github.io/cli/' # required for working 404 page
repo_name: 'UI5/cli'
repo_url: 'https://github.com/UI5/cli'
edit_uri: ./edit/main/docs # default points to "master" branch
edit_uri: ./edit/v4/docs
docs_dir: 'docs' # default
site_dir: 'site' # default
copyright: '© Copyright 2025, SAP SE and UI5 CLI Contributors'
Expand Down