
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@sap/ux-ui5-tooling
Advanced tools
The SAP Fiori tools - UI5 Tooling contains a selection of custom middlewares that can be used with the command ui5 serve
as well as custom tasks that can be used with the command ui5 build
.
SAP Fiori tools use the capabilities of custom middlewares to start and preview Fiori elements applications, e.g. to enable auto refresh, to switch the version of UI5 sources or to serve static resources.
The application reload middleware allows developers to preview Fiori elements applications while developing/configuring them. Whenever a file relevant for Fiori elements is changed, the application reload middleware will refresh the application preview.
Executing ui5 serve
in your project with the configuration below in a ui5.yaml
would start the application reload middleware with its default settings.
server:
customMiddleware:
- name: fiori-tools-appreload
afterMiddleware: compression
The application reload middleware does not require any configuration parameters. However, there are optional parameters that can be used if the project structure differs from standard Fiori elements projects.
<string>
(default: webapp
)
Path that is to be watched. By default the standard UI5 webapp
folder is used<string>
(default: html,js,json,xml,properties,change
)
Change this parameter to select a custom set of file extensions that are to be watched<int>
(default: 35729
)
Port to be used to communicate file system changes<boolean>
(default: false
)
Set this parameter to get more log information.The proxy middleware provides you with the capabilities to connect to diffent back-end systems or to switch the UI5 version of the application.
Executing ui5 serve
in your project with the configuration below in the ui5.yaml
file would forward any request starting with the path
parameter to the provided back-end url
.
- name: fiori-tools-proxy
afterMiddleware: compression
configuration:
backend:
- path: /sap
url: https://my.backend.com:1234
If the back-end is hidden behind a destination then you can also provide the destination
in the configuration.
- name: fiori-tools-proxy
afterMiddleware: compression
configuration:
backend:
- path: /sap
url: https://my.backend.com:1234
destination: my_backend
You can also connect to multiple back-end systems like this.
- name: fiori-tools-proxy
afterMiddleware: compression
configuration:
backend:
- path: /northwind
url: https://my.backend_2.com:1234
- path: /sap
url: https://my.backend.com:1234
If you want to connect to a Steampunk
back-end then you will need to provide the following configuration.
- name: fiori-tools-proxy
afterMiddleware: compression
configuration:
backend:
- path: /sap
url: https://my.steampunk.com:1234
scp: true
By using the proxy configuration one can also change the UI5 version, which is used to preview the application. With the application generation also the initial ui5 configuration for the proxy is created. It looks e.g. like this.
- name: fiori-tools-proxy
afterMiddleware: compression
configuration:
ui5:
path:
- /resources
- /test-resources
url: https://sapui5.hana.ondemand.com
version: 1.78.0
By using the version
parameter one can choose the UI5 version which will used when ui5 serve
is executed.
The serve static middleware provides the capability to serve static UI5 resources. Hence you can serve UI5 resources locally from your machine.
Pre-requisites: SAPUI5 SDK version is downloaded and extracted locally on the machine. One can download UI5 resources from https://tools.hana.ondemand.com/#sapui5
Executing ui5 serve
in your project with the configuration below in a ui5.yaml
file would serve the UI5 sources from your machine.
server:
customMiddleware:
- name: fiori-tools-servestatic
afterMiddleware: compression
mountPath: /resources|/test-resources
configuration:
path: "/Path/To/SAPUI5-SDK/"
SAP Fiori tools use the capabilities of custom tasks to deploy the Fiori elements projects to ABAP servers.
The deployment to ABAP task allows deploying Fiori applications to SAP systems using the SAPUI5 Repository OData service.
Pre-requisites:
Limitations:
Executing ui5 build --config ui5-deploy.yaml
in your project with the configuration below in a ui5-deploy.yaml
, manually added to the project, would deploy all files of your dist
folder except files ending with .test.js
and the internal.md
file. The target system is XYZ with client 200. Username and password for authentication will be read from the environment variables XYZ_USER
and XYZ_PASSWORD
.
Based on this example, the application will be created/updated as /TEST/SAMPLE_APP
in package /TEST/UPLOAD
and all changes will be recorded in transport request XYZQ300582
.
Content of ui5-deploy.yaml
builder:
customTasks:
- name: deploy-to-abap
afterTask: replaceVersion
configuration:
target:
url: https://XYZ.sap-system.corp:44311
client: 200
auth: basic
credentials:
username: env:XYZ_USER
password: env:XYZ_PASSWORD
app:
name: /TEST/SAMPLE_APP
package: /TEST/UPLOAD
transport: XYZQ300582
exclude:
- .*\.test.js
- internal.md
A newly created project does not contain a deployment configuration (ui5-deploy.yaml
) but you can create it by executing npx fiori create deploy-config
. You will be prompted for required information and then the file will be created based on your input and the content of the existing ui5.yaml
file used for the preview. In addition to creating the configuration, the create deployment command will also update your package.json
so that you can execute npm run deploy
afterwards to deploy your application.
If you prefer to keep the environment variables in a file, an option can be to create .env
file at the root of your project which contains the environment variables that can be referenced in the ui5.yaml file.
It is recommended that you do not have your actual username and password in the ui5.yaml
.
XYZ_USER=[MY_USER_NAME]
XYZ_PASSWORD=[MY_PASSWORD]
After completing the changes in the configuration files, execute npm run deploy
at command line
Based on the sample configurations above, after deploying the app, you can access the app using URL: https://XYZ.sap-system.corp:44311/sap/bc/ui5-ui5/test/sample_app/index.html?sap-client=200#app-preview
In addition to defining parameters in the main yaml file, every parameter can also be defined as environment variable that is referenced in yaml. Using the dotenv
module, the task also supports project specific environment variables defined in a .env
file in the root of your project. To reference an environment variable the pattern env:VAR_NAME
must be used.
The target object contains properties identifying your target SAP system.
<string> pattern <protocol>://<hostname>[:<port>]
(required)<number> range [0..999]
(optional)sap-client=<client>
If the client parameter is not provide, the default client will be used.<boolean>
(default: false
)true
.<string>
(default: /sap/opu/odata/UI5/ABAP_REPOSITORY_SRV
)The credentials object is mainly required for CI/CD based deployments and it needs to contain the required parameters to authenticate at your target system. We strongly encourage to not add the credentials directly but use references to environment variables e.g. env:MY_VARIABLE
here.
For local usage, we recommand to not use the credentials object at all. As result, the deployment task will utilize the operating systems secure storage maintain credentials.
<string>
(required)<string>
(required)The app object describes the backend object that is created/updated as result of the deployment.
<string>
(required)<string>
(required for new apps)<string>
(optional)<string>
(optional)<string[] array of regex>
(optional)string.match()
is used to evaluate the expressions.true|false
(default: false
)true
, then an additional index.html will be generated and deployed to run the application standalone.true|false
(default: false
)true
, the task will run through all steps including sending the archive to the SAP backend. The backend will not deploy the app but run the pre-deployment checklist and return the result.My backend system contains the SAP_UI component version 7.53 or newer, but the SAPUI5 repository service cannot be reached.
A: Please check if the service has been activated. More information at https://help.sap.com/viewer/68bf513362174d54b58cddec28794093/7.52.5/en-US/bb2bfe50645c741ae10000000a423f68.html.
The SAPUI5 repository service is active and reachable but whenever I deploy an application I see the following error "Request failed with status code 400".
This could have multiple reasons, please check the console for more information or open transaction /IWFND/ERROR_LOG
and check the server logs. A common issue is that during the setup, configuring a virus scan profile has been forgotten. This can be corrected in transaction /IWFND/VIRUS_SCAN
.
FAQs
SAP Fiori Tools – UI5 Tooling
The npm package @sap/ux-ui5-tooling receives a total of 60,403 weekly downloads. As such, @sap/ux-ui5-tooling popularity was classified as popular.
We found that @sap/ux-ui5-tooling demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.