Closed RandomByte closed 1 year ago
Regarding:
Drop support for Node.js Version < 16
As of now, Node.js 18.12.1 is the current LTS, while Node.js 16.x is relatively old version with end of life already in September 2023, and in coming April there will be already Node.js 20.x.
Perhaps, does it's worth dropping support of Node.js version < 18 with the upcoming major release of UI5 Tooling 3.0? Less legacy, less constraints, easier to maintain.
Thank you for your input Mike! That part of the roadmap was slightly outdated, so I updated it with our latest decisions:
- [x] 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
We think this could be a good balance. While Node 16 will be EOL in September 2023, Node 18 was only released earlier this year and might not have the same adoption yet. By requiring a recent patch-level for Node 16 though, we have an almost identical set of features available: https://node.green/
Nevertheless, more time has past now. So we'll pick up your input and discuss it in the team 👍 Thanks!
@RandomByte, thanks a lot for the detailed explanation, Merlin!
Just as an additional input for the upcoming discussion:
If UI5 Tooling 3.0 release is planned somewhere in the end of Q1 2023, then by that time the adoption level of Node.js 18.x should be already mature enough.
We are currently in the process of publishing a first Release Candidate for UI5 Tooling v3.
As of the latest discussions, we stick to a minimum Node.js requirement of version 16.18.0, which contains the necessary support for chaining loaders (https://nodejs.org/api/esm.html#loaders), which is required by our test setup.
Unfortunately, SAP Business Application Studio currently uses Node v16.16.0. This means that the latest UI5 Tooling v3 pre-releases can not be used in this environment. We are already in contact with the responsible team and hope to resolve this before the final release of UI5 Tooling v3. Based on the outcome of that discussion, we might even lift the final Node.js version requirement.
Implemented with https://github.com/SAP/ui5-cli/releases/tag/v3.0.0
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 thev2
branches in the UI5 Tooling repositories. Pre-releases are available via npm and tagged asnext
. For example:npm install @ui5/cli@next
. See also: https://sap.github.io/ui5-tooling/v3/updates/migrate-v3/Breaking changes
specVersion
2.0 or laterFeatures
.library
file (https://github.com/SAP/ui5-builder/pull/676) (Already releases with v2.14.2)Specification Version 3.0
Features
taskUtil
as well as middleware helpermiddlewareUtil
:package.json
) would be possible while still using the ui5-fs abstraction layer (https://github.com/SAP/ui5-tooling/issues/360)log
instance with the name of the extension for its usecreateResource()
or similartrue
(see https://github.com/SAP/ui5-builder/pull/695)true
(API change is done via https://github.com/SAP/ui5-builder/pull/685)