What is @ui5/builder?
@ui5/builder is a Node.js-based tool for building UI5 projects. It provides a set of functionalities to build, optimize, and bundle UI5 applications and libraries. The tool is part of the UI5 Tooling ecosystem, which aims to provide a modular and extensible tooling infrastructure for UI5 development.
What are @ui5/builder's main functionalities?
Build UI5 Projects
This feature allows you to build UI5 projects by specifying the project configuration and destination path. The build process compiles and optimizes the project for deployment.
const { build } = require('@ui5/builder');
const project = { /* project configuration */ };
build({
project,
destPath: 'dist'
}).then(() => {
console.log('Build successful');
}).catch((err) => {
console.error('Build failed', err);
});
Custom Tasks and Extensions
You can define custom tasks and extensions to extend the build process. This feature allows you to add custom logic to the build pipeline.
const { taskRepository } = require('@ui5/builder');
const customTask = {
name: 'customTask',
task: async function({ workspace, dependencies, taskUtil }) {
// Custom task logic
}
};
taskRepository.addTask(customTask);
Middleware Integration
This feature allows you to integrate custom middleware into the build process. Middleware can be used to handle HTTP requests during the build process.
const { middlewareRepository } = require('@ui5/builder');
const customMiddleware = {
name: 'customMiddleware',
middleware: function({ resources, options }) {
return function(req, res, next) {
// Custom middleware logic
next();
};
}
};
middlewareRepository.addMiddleware(customMiddleware);
Other packages similar to @ui5/builder
webpack
Webpack is a popular module bundler for JavaScript applications. It offers a wide range of plugins and loaders to handle different types of assets and optimize the build process. Compared to @ui5/builder, Webpack is more general-purpose and can be used for various types of projects, not just UI5.
gulp
Gulp is a toolkit for automating tasks in the development workflow. It uses a code-over-configuration approach and allows you to define tasks using JavaScript. Gulp is highly extensible and can be used for a variety of build tasks, similar to @ui5/builder, but it is not specifically tailored for UI5 projects.
grunt
Grunt is a JavaScript task runner that automates repetitive tasks like minification, compilation, and unit testing. It uses a configuration-over-code approach and has a large ecosystem of plugins. While Grunt can be used for building UI5 projects, it is more general-purpose compared to @ui5/builder.

ui5-builder
Modules for building UI5 projects
Part of the UI5 Tooling

Documentation
UI5 Builder documentation can be found here: sap.github.io/ui5-tooling
The UI5 Builder API Reference can be found here: @ui5/builder
Contributing
Please check our Contribution Guidelines.
Support
Please follow our Contribution Guidelines on how to report an issue.
Please report issues in the main UI5 Tooling repository.
Release History
See CHANGELOG.md.