Peter has good point!
And I like Thiago's idea of different
tapestry.javascript-infrastructure-provider values better than my initial
one.

Maybe the Trait-system should be used to set the default correctly to
jQuery 3.6 if Trait.BOOTSTRAP4 is active.
This way, it will have the correct jquery version if a user chose to use
Bootstrap4, and the legacy jquery if not.
And if they need to mix BS4 with another jquery version, they can utilize
tapestry.javascript-infrastructure-provider

Cheers
Ben

On Fri, Jul 15, 2022 at 8:26 AM <peter.sk...@ooom.at> wrote:

> Hi Guys,
>
> I would also strongly suggest to let the jQuery version selectable, as
> long as it is in expected range.
> jQuery is often a base dependency for other js libs used on the client
> side, which may behave little bit differently, depending on the jQuery
> version. jQueryUI does for instance.
>
> regards, Peter
>
> Am 14.07.2022 21:53, schrieb Volker Lamp:
> > Hi Thiago
> >
> >> My idea is similar, but not the same: having a separate
> >> tapestry.javascript-infrastructure-provider value for using latest
> >> jQuery.
> >
> > Like 'jquery-3'?
> >
> >> At my day job, we already had problems with our jQuery code
> >> when upgrading from 1.3 to 1.8 (or 1.12, I don't remember exactly),
> >> and I suppose it's going to be way worse going from 1.x to 3.x.
> >
> > I'm the first to admin I'm neither a jQuery nor a JavaScript expert.
> > Yet from the jQuery website [1] I understand that jQuery 3.x is
> > backwards compatible all the way back to jQuery 1.9+ (with the jQuery
> > Migrate Plugin activated). The jQuery Migrate GitHub page [2] states a
> > later version, namely jQuery 1.12.x, as a prerequisite.
> >
> > Anyway, Tapestry's dependency is for jQuery 1.12.1, so there should
> > not be any issues for anyone as long as we support enabling the jQuery
> > Migrate Plugin also for production.
> >
> >> Tapestry 5 has always been careful about backward compatibility, and I
> >> believe we should keep the existing 'jquery' infrastructure still
> >> using jQuery 1.x. As Ben said, and I agree 100%, "But it should
> >> require a conscious user decision to do so."
> >
> > I'm ok with the conscious user decision, but I don't like sticking to
> > jQuery 1.12.1 as the default. The default should not be a 6.5 year old
> > release. Setting the value to 'jquery-migrate' would still be a
> > conscious user decision - a decision to continue with the jQuery
> > 1.12.x compatible code.
> >
> > Likewise, delivering TAP5-2732 ("change the default value to 'jquery'
> > - something Tapestry users were 'warned' that would happen one day
> > years ago) will force those Tapestry users that want to stick with
> > Prototype to make an active change to that configuration setting. Not
> > asking for too much, in my opinion.
> >
> > I'll add my preferred solution to the TAP5-2734 branch so it can be
> > tested easily. Also, there is no rush. The whole thing is a
> > consequence of trying to tackle TAP5-2686 which could also be fixed
> > with making a small change in the Bootstrap 4.3.1 sources bundled with
> > Tapestry.
> >
> > [1] https://jquery.com/download/
> > [2] https://github.com/jquery/jquery-migrate/#readme
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
> > For additional commands, e-mail: dev-h...@tapestry.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: dev-h...@tapestry.apache.org
>
>

Reply via email to