Isn't that what <packaging>gwt-lib</packaging> is designed for in GWT? ( https://tbroyer.github.io/gwt-maven-plugin/usage.html )
Unless you're not running on a Java backend. So you'd need a npm package created somehow. Not sure how to do that. On Sunday, 28 December 2025 at 8:33:42 am UTC+11 Tim Macpherson wrote: > I want to provide client js that is logic only, no UI, I write it in > java because the tooling in typescript is not good enough. I need to > release this as pure js, it's that simple > > Yahoo Mail: Search, Organize, Conquer > <https://mail.onelink.me/107872968?pid=nativeplacement&c=US_Acquisition_YMktg_315_SearchOrgConquer_EmailSignature&af_sub1=Acquisition&af_sub2=US_YMktg&af_sub3=&af_sub4=100002039&af_sub5=C01_Email_Static_&af_ios_store_cpp=0c38e4b0-a27e-40f9-a211-f4e2de32ab91&af_android_url=https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.mail&listing=search_organize_conquer> > > On Sat, Dec 27, 2025 at 8:59 PM, Colin Alworth > <[email protected]> wrote: > > It still isnt quite clear to me what you're asking for - can you be more > precise? > > That is, if you're writing d3 js code, the best way to make that available > to others is JS. Each Java-to-JS compiler first assumes that the next > developer is using Java, but each makes their own assumptions about how to > map JS ideas to Java, so there isn't a one-size-fits-all approach. > JsInterop types at least are mostly the same for both J2CL and GWT - but if > you have a user who doesn't use GWT, they probably also don't use Java in > the client at all? > > On Saturday, December 27, 2025 at 1:34:46 PM UTC-6 [email protected] > wrote: > > GWT works for me and I will always be using it in my own stack while it's > maintained, but I need to make some of my d3 js code and client java > surrounding it available for others who don't use GWT. Teavm is maybe best > tool for that. > > Yahoo Mail: Search, Organize, Conquer > <https://mail.onelink.me/107872968?pid=nativeplacement&c=US_Acquisition_YMktg_315_SearchOrgConquer_EmailSignature&af_sub1=Acquisition&af_sub2=US_YMktg&af_sub3=&af_sub4=100002039&af_sub5=C01_Email_Static_&af_ios_store_cpp=0c38e4b0-a27e-40f9-a211-f4e2de32ab91&af_android_url=https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.mail&listing=search_organize_conquer> > > On Sat, Dec 27, 2025 at 7:17 PM, Colin Alworth > <[email protected]> wrote: > > "Best" is hard to define - what are your requirements? > > If GWT doesn't fit your use cases, it seems unlikely that J2CL will - can > you elaborate on what about GWT doesn't work for you? If anything, I've > found J2CL to be more picky than GWT in just about every way - more limited > options for emulation, more requirements for JsInterop, no JSNI/Generators, > smaller ecosystem and prior art for customizing the build (whether using > the maven plugin or the official Bazel build tooling). > > It does tend to produce slightly smaller and slightly faster output, and > does offer better integration with compiling plain JS sources in the same > build (with the requirement that this JS must be built to be safe to > compile by closure-compiler in ADVANCED mode). > > For a generally bigger set of JRE emulation (and much larger output > sizes), consider TeaVM or CheerpJ - both have their strengths. I don't have > a lot of experience with either, but I do find that for math-heavy apps, > TeaVM does a great job getting even better performance in some cases than > GWT or J2CL, and produces output much more quickly. It tends to do much > more poorly on string heavy (e.g. DOM manipulation). CheerpJ I have almost > no experience with, but excels at supporting nearly any JRE-compatible > code, and finding a way to make it work regardless of whether the browser > is a good place to run it. This is a huge advantage for "it doesn't matter > as long as it can run" cases - more and more it can be possible to run a JS > app that is hundreds of times what would have been acceptable a few years > ago. > > On Saturday, December 27, 2025 at 12:08:38 PM UTC-6 [email protected] > wrote: > > Can someone advise if it's the best tool for building js code from pure > logic front end java ? I need to enable usage for those not using GWT. > Thanks > > Yahoo Mail: Search, Organize, Conquer > <https://mail.onelink.me/107872968?pid=nativeplacement&c=US_Acquisition_YMktg_315_SearchOrgConquer_EmailSignature&af_sub1=Acquisition&af_sub2=US_YMktg&af_sub3=&af_sub4=100002039&af_sub5=C01_Email_Static_&af_ios_store_cpp=0c38e4b0-a27e-40f9-a211-f4e2de32ab91&af_android_url=https://play.google.com/store/apps/details?id=com.yahoo.mobile.client.android.mail&listing=search_organize_conquer> > > -- > You received this message because you are subscribed to the Google Groups > "GWT Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > > To view this discussion visit > https://groups.google.com/d/msgid/google-web-toolkit/12612394-a3db-4171-b11d-2b2dea7706c7n%40googlegroups.com > > <https://groups.google.com/d/msgid/google-web-toolkit/12612394-a3db-4171-b11d-2b2dea7706c7n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > -- > You received this message because you are subscribed to the Google Groups > "GWT Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion visit > > > https://groups.google.com/d/msgid/google-web-toolkit/e9abe6cd-84f4-4cb6-9a24-335775ac9115n%40googlegroups.com > > <https://groups.google.com/d/msgid/google-web-toolkit/e9abe6cd-84f4-4cb6-9a24-335775ac9115n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > -- You received this message because you are subscribed to the Google Groups "GWT Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/d/msgid/google-web-toolkit/08fdb818-510e-4674-9e67-e48f96959cf0n%40googlegroups.com.
