Presenting frontend toolchain changes

30 views
Skip to first unread message

Felix Queiruga

unread,
Jan 9, 2020, 12:26:43 PM1/9/20
to Jenkins Developers
Hi everybody,

I have a working draft for replacing js-builder with webpack on Jenkins core (not on plugins). The branch is a WIP, it's only missing adapting JS unit tests and linter.

Before I submit the draft PR, I'd like to know if this toolchain change should be first explained on a JEP or if a normal JIRA ticket is enough.
Any thoughts on this matter?

Tim Jacomb

unread,
Jan 9, 2020, 12:58:55 PM1/9/20
to jenkin...@googlegroups.com
Normal jira sounds fine to me,
Webpack is a very standard front end tool these days

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/f7df41b5-30ff-4d23-8549-48ceddfff5ab%40googlegroups.com.

Jesse Glick

unread,
Jan 9, 2020, 12:58:55 PM1/9/20
to Jenkins Dev
On Thu, Jan 9, 2020 at 12:26 PM Felix Queiruga <fque...@cloudbees.com> wrote:
> I'd like to know if this toolchain change should be first explained on a JEP or if a normal JIRA ticket is enough.

I do not know of any official policy but my rule of thumb is that you
should file a JEP if there would be lots of content to put
there—serious backward compatibility risks, multiple plausible
alternative solutions to select from, a major system that people
working on Jenkins in the future would want to be able to read up on
in coherent prose form.

Not knowing much about JS tooling, I am not in a good position to
comment in this case. If the change is basically self-contained,
producing a similar or identical WAR without any further effect of
note on users or plugin developers, then I would guess a simple JIRA
issue would suffice, or just a pull request with a clearly written
description.

Gavin Mogan

unread,
Jan 9, 2020, 1:00:07 PM1/9/20
to jenkin...@googlegroups.com
I'm super curious about your plans for this. Are you just doing js or doing CSS too? Is your branch public anywhere?

--
Message has been deleted

Felix Queiruga

unread,
Jan 9, 2020, 1:10:48 PM1/9/20
to Jenkins Developers
Redoing my reply as I answered from my mail client.

The change will be self contained and limited to the Jenkins core war, Jesse. That said, maybe it requires more explaining and documentation than a normal enhancement PR.

The PR will replace js-builder completely. LESS files will also be processed by webpack. In fact, one of the motivations for the PR is to be able to add post-css to the toolchain. The branch can be found at https://github.com/fqueiruga/jenkins/tree/replace-jsbuilder-with-webpack. Keep in mind that it is a WIP :), needs some cleanup.


On Thursday, January 9, 2020 at 7:00:07 PM UTC+1, Gavin Mogan wrote:
I'm super curious about your plans for this. Are you just doing js or doing CSS too? Is your branch public anywhere?

On Thu., Jan. 9, 2020, 9:26 a.m. Felix Queiruga, <fque...@cloudbees.com> wrote:
Hi everybody,

I have a working draft for replacing js-builder with webpack on Jenkins core (not on plugins). The branch is a WIP, it's only missing adapting JS unit tests and linter.

Before I submit the draft PR, I'd like to know if this toolchain change should be first explained on a JEP or if a normal JIRA ticket is enough.
Any thoughts on this matter?

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkin...@googlegroups.com.

Jesse Glick

unread,
Jan 9, 2020, 2:18:31 PM1/9/20
to Jenkins Dev
On Thu, Jan 9, 2020 at 1:10 PM Felix Queiruga <fque...@cloudbees.com> wrote:
> The branch can be found at https://github.com/fqueiruga/jenkins/tree/replace-jsbuilder-with-webpack. Keep in mind that it is a WIP

You may want to file it as a draft PR—get early CI and have a place
for early review comments to be placed.

The diff is mostly beyond my comprehension, but as a general matter

· avoid whitespace-only changes (revert ones you have made already,
and configure your editor to not touch lines of text unless you are
actually editing them)
· delete rather than comment out obsolete sections of code

Felix Queiruga

unread,
Jan 10, 2020, 5:22:37 AM1/10/20
to Jenkins Developers
I'll file the draft PR then. 

I already had in mind those TODOs that you mentioned. I wanted to get them done before filing the PR.

Oleg Nenashev

unread,
Jan 10, 2020, 5:52:20 AM1/10/20
to Jenkins Developers
+100 for switching from Jenkins JS Builder to a standard Webpack. According to experiments with jsbuilder it is pretty difficult to use this tool, especially for those ones who are not Javascript experts. Webpack is at least a standard tool, so it will be more convenient for newcomer Javascript contributors.

I do not have strong opinion about JEP for the Jenkins core. IMHO it is not strongly necessary there, because the implementation it is not exposed to plugin developers. If we go further and introduce a new framework/tooling instead of Jenkins JS Builder for plugins, then a JEP would be really nice. 

Some comments about the changes:
  1. Once we have this implemented for the core, it would be nice to add a banner to https://github.com/jenkinsci/js-builder and https://github.com/jenkinsci/js-samples so that potential users see references to the new flow
  2. I would really be happy to see https://github.com/jenkinsci/js-libs reworked or removed, but IIUC it is out of the scope (same for JS samples? https://github.com/jenkinsci/js-samples)
Best regards,
Oleg

Felix Queiruga

unread,
Jan 10, 2020, 11:48:11 AM1/10/20
to Jenkins Developers
Quick update: I have created the draft PR with its corresponding JIRA task (https://github.com/jenkinsci/jenkins/pull/4425)

Baptiste Mathus

unread,
Feb 3, 2020, 2:20:08 PM2/3/20
to Jenkins Developers
To circle back, FYI everyone the PR to remove JS-Builder got merged towards 2.217.

Feel free to reach out to us at the Jenkins UX SiG group if you have any question, or want to help move the initiative faster :)

There's now also a WIP PR to modernize the header: https://github.com/jenkinsci/jenkins/pull/4463 reviews and feedback welcome.

-- Baptiste



--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/3f25ca63-5e16-426e-b7fe-f7813efa95df%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages