-
Notifications
You must be signed in to change notification settings - Fork 76
Closed
Labels
roadmapIssue contains a roadmapIssue contains a roadmap
Description
UI5 Tooling 3.0
UI5 Tooling 3.0 is the official, feature complete successor of grunt-openui5. This allows us to deprecate grunt-openui5.
🔮 Update: Since October 2022, UI5 Tooling 3.0 development is done in the main branches in the UI5 Tooling repositories. The UI5 Tooling 2.0 sources can be found in the v2 branches in the UI5 Tooling repositories.
Pre-releases are available via npm and tagged as next. For example: npm install @ui5/cli@next. See also: https://sap.github.io/ui5-tooling/v3/updates/migrate-v3/
Breaking changes
- Drop support for Node.js Version < 16
- Do not support Node 14, due to lack of features and upcoming end-of-life in April 2023
- Do not support Node 15 as it is already EOL
- Support Node 16.18.0, the latest maintenance release for 16.x as of October 2022
- Do not support Node 17 as it is already EOL
- Support Node 18.0.0 and all later versions
- Upgrade npm lockfiles to version 2
- Require projects to use
specVersion2.0 or later- This would allow us to fully rely on the schema validation and to remove additional validation code from various places
- This also eases the implementation of RFC 0009
- We attempt to upgrade old specVersions automatically. If a specVersion below 2.0 (i.e. 1.1, 1.0, 0.1) project passes the validation for specVersion 2, it is used as-is.
- Implement [RFC] 0009 UI5 Project Refactoring ([RFC] 0009 UI5 Project Refactoring #501)
- Depending on how far we get it, this might incompatibly change the signatures of many UI5 Tooling modules
- Deprecate, remove or noop the manifestBundler task (see [BREAKING] Removal of manifestBundler and generateManifestBundle SAP/ui5-builder#838)
- ui5-builder: jsdoc exit code 1 should fail the build (see [INTERNAL] JSDoc: Add check for copyright notice SAP/ui5-builder#617 (review), [BREAKING] JSDoc: Fail build when jsdoc command failed SAP/ui5-builder#845)
- ui5-fs: Clone resource on read ([BREAKING] Clone resources when writing in and reading from the Memory SAP/ui5-fs#448)
- ui5-fs: Clone resource on write ([BREAKING] Clone resources when writing in and reading from the Memory SAP/ui5-fs#448)
- ui5-server: Remove "/proxy" endpoint ([BREAKING] Remove "/proxy" endpoint SAP/ui5-server#550)
Features
- Source Maps for bundles (ui5 cli does not create source maps #472)
Maybe already in a 2.x release, depending on compatibility of the changes
-
Option to only build certain dependencies (Option to only build certain dependencies #494)(Already released with v2.12.0) - Allow theme build and version info generation for libraries without
.libraryfile ([INTERNAL] Enable buildThemes for libraries without .library SAP/ui5-builder#676) (Already releases with v2.14.2) - [RFC] 0006 Local Dependency Resolution ([RFC] 0006 Local Dependency Resolution #157) ([FEATURE] Add 'UI5 Workspace' Support SAP/ui5-project#494)
- Upgrade Espree to support ES2021 syntax features (see [FIX] Switch from esprima to espree SAP/ui5-builder#615 / [FEATURE] Support ES2021 language features SAP/ui5-builder#692, meanwhile even [FEATURE] Support ES2022 language features SAP/ui5-builder#848)
- Support for flat (i.e. no namespace directory structure) library projects (Add support for "flat" library projects #505)
Specification Version 3.0
- SpecVersion Upgrade: [FEATURE] specVersion 3.0 SAP/ui5-project#522
Features
- Enhance custom task helper
taskUtilas well as middleware helpermiddlewareUtil:- Allow access to Projects and Project Graph API from RFC 0009
- Via Projects, access to metadata (like the project version) as well as root resources (like
package.json) would be possible while still using the ui5-fs abstraction layer (Access package.json in custom task #360)
- Via Projects, access to metadata (like the project version) as well as root resources (like
- Pass a ui5-logger
loginstance with the name of the extension for its use - Allow resource creation via
createResource()or similar - Concept work done with: [RFC] 0012 UI5 Tooling Extension API v3 #664
- Implementation done with: [FEATURE] TaskUtil: Enhance interface provided to custom tasks defining specVersion 3.0 and later SAP/ui5-project#514 and [FEATURE] MiddlewareUtil: Add getProject/getDependencies/resourceFactory API to interface SAP/ui5-server#547
- Allow access to Projects and Project Graph API from RFC 0009
- bundleOptions changes (Update docs & breaking changes for specVersion: 3.0 #707). See https://sap.github.io/ui5-tooling/pages/Configuration/#properties
- New option 'sourceMap', defaults to
true(see [FEATURE] Generate source maps for bundles SAP/ui5-builder#695) - Default of option 'optimize' changed to
true(API change is done via [BREAKING] moduleBundler: Always default tooptimize: trueSAP/ui5-builder#685)
- New option 'sourceMap', defaults to
pwasem, IObert, boghyon, treee111, pubmikeb and 1 moreBenReim, boghyon and wridgeu
Metadata
Metadata
Assignees
Labels
roadmapIssue contains a roadmapIssue contains a roadmap