Problem/Motivation
Based on discussion during Drupal Dev Days between @lauriii, @nod_, and @justafish, the build tooling is no longer needed in Drupal 10 due to wide enough support for ES6 features in browsers. However, the tooling is used widely by contrib ecosystem even though it was never designed for that use case, and was explicitly marked as internal.
Proposed resolution
Deprecate core/scripts/js/babel-es6-build.js for removal from 10.0.x
Remaining tasks
User interface changes
API changes
Data model changes
Release notes snippet
The JavaScript ES6 build process is removed given that all browsers supported by Drupal Core are now ES6 compatible. This means that once the build tooling is removed from Drupal 10, core developers are no longer required to run the commands when they make changes to core JavaScript. This also means that babel/core and all related dependencies will no longer be included as core development dependencies.
| Comment | File | Size | Author |
|---|---|---|---|
| #10 | interdiff.txt | 903 bytes | lauriii |
| #10 | 3278246-10.patch | 1.36 KB | lauriii |
| #9 | interdiff.txt | 1.61 KB | lauriii |
| #9 | 3278246-9.patch | 1.36 KB | lauriii |
| #2 | 3278246-2.patch | 1.21 KB | lauriii |
Comments
Comment #2
lauriiiComment #3
lauriiiComment #5
nod_Code looks good to me.
Ideally we would display this message at the end of the file processing so it's clearly visible. But the way things are done we don't have a good way of deferring the message after all the files have been processed (unless we rewrite a bunch of things to use promises). So displaying on top is fine.
Comment #6
lauriiiAdded a draft change record
Comment #7
alexpottThere's a bit of chicken and egg with this issue and #3278415: Remove usages of the JavaScript ES6 build step, the build step itself, and associated dev dependencies but I don't think we can deprecate this in 9.4.x until it is no longer necessary in D10.
Comment #8
alexpottDiscussed with @lauriii - we need to commit this before #3278415: Remove usages of the JavaScript ES6 build step, the build step itself, and associated dev dependencies as that one should be delayed for as long as possible. So I proposed we change the message to:
Yes this is not in the standard deprecation format but it does tell the truth and explain why we are still using the command in D10 today. Once #3278415: Remove usages of the JavaScript ES6 build step, the build step itself, and associated dev dependencies lands and removes the file this message will be in 9.4.x and 9.5.x and still helpful as people will be able to see what we did to remove core's dependency on it if they are using the tool for contrib or custom development.
Comment #9
lauriiiComment #10
lauriiiComment #12
alexpottCommitted and pushed 8620063ae0 to 10.0.x and 004fa86e19 to 9.5.x and eb3ef8c00a to 9.4.x. Thanks!
Comment #16
lauriiiAdding a Drupal 10.0.0 release note.
Comment #17
xjm