esbuild

Edit Package esbuild
https://esbuild.github.io/

A JavaScript, Typescript, JSX and CSS bundler and minifier

Refresh
Refresh
Source Files (show merged sources derived from linked package)
Comments 18

Avindra Goolcharan's avatar

How to use deno -> esbuild feature from 0.11.11:

https://github.com/evanw/esbuild/releases/tag/v0.11.11

$ export ESBUILD_BINARY_PATH=/usr/bin/esbuild
$ deno  run --allow-run --allow-env --allow-read esbuild_deno.js

Bruno Pitrus's avatar

Do you intend to submit this to Factory?


esbuild is maturing quickly. maybe its time to add it to Factory.

was not intent on submitting to Factory since its pretty early (pre 1.0). but i'm open to submission, and evan suggests building from source is a good idea:

https://esbuild.github.io/getting-started/#build-from-source


Philipp Reichmuth's avatar

Might be a good idea as other projects begin to depend on it


Case in point: I just submitted the Bismuth tiling window manager script for KDE to KDE:Extras, it's built in Typescript (because KDE's KWin uses Javascript for scripting) and wants to use either npm or esbuild for building, so until esbuild is in factory we will not be able to get it into OpenSUSE

so if you intend to submit this to Factory, me at least would appreciate it a lot :)



The last version 0.17.x broke signal-desktop:

[  314s] 1 error
[  314s] panic: interface conversion: interface {} is nil, not bool
[  314s] 
[  314s] goroutine 8 [running]:
[  314s] main.(*serviceType).handleBuildRequest(0xc000025dd0, 0x0?, 0xc000025e60?)
[  314s]    /home/abuild/rpmbuild/BUILD/esbuild-0.17.5/cmd/esbuild/service.go:576 +0x1066
[  314s] main.(*serviceType).handleIncomingPacket.func2()
[  314s]    /home/abuild/rpmbuild/BUILD/esbuild-0.17.5/cmd/esbuild/service.go:235 +0x68
[  314s] created by main.(*serviceType).handleIncomingPacket
[  314s]    /home/abuild/rpmbuild/BUILD/esbuild-0.17.5/cmd/esbuild/service.go:233 +0xfda
[  314s] /home/abuild/rpmbuild/BUILD/Signal-Desktop-6.3.0/node_modules/esbuild/lib/main.js:1113
[  314s]         return callback(new Error(error), null);
[  314s]                         ^
[  314s] 
[  314s] Error: The service was stopped
[  314s]     at /home/abuild/rpmbuild/BUILD/Signal-Desktop-6.3.0/node_modules/esbuild/lib/main.js:1113:25
[  314s]     at responseCallbacks.<computed> (/home/abuild/rpmbuild/BUILD/Signal-Desktop-6.3.0/node_modules/esbuild/lib/main.js:672:9)
[  314s]     at Socket.afterClose (/home/abuild/rpmbuild/BUILD/Signal-Desktop-6.3.0/node_modules/esbuild/lib/main.js:662:28)
[  314s]     at Socket.emit (node:events:525:35)
[  314s]     at endReadableNT (node:internal/streams/readable:1359:12)
[  314s]     at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
[  314s] 

It also broke vscode with an identical error


Is there a package for vscode or are you using the repo from Microsoft? I'm using the latter and not having any errors.


It breaks the build. I have a package which compiles vscode against system electron: https://build.opensuse.org/package/show/home:dziobian:gulgul-ultron/code


That's an incredible effort. I'll support wherever I can.

At the moment, I'm not seeing build errors in home:dziobian:gulgul-ultron/code.




I noticed. The commit which changed it is absolutely MASSIVE and it doesn't look like i could backport just the needed JS changes to VSCode.

I also noticed that when Signal on master updated from esbuild 0.16 to 0.17 they had to do other changes:

https://github.com/signalapp/Signal-Desktop/commit/02aa0c1282ec23cf290c58e422e998d6ae4062db


We also have an error if we try to build new signal with old esbuild:

[  466s] 1 error
[  466s] Error: panic: interface conversion: interface {} is nil, not bool
[  466s] 
[  466s] debug.Stack (/usr/lib/golang/src/runtime/debug/stack.go:24)
[  466s] helpers.PrettyPrintedStack (/home/abuild/rpmbuild/BUILD/esbuild-0.15.11/_build/src/github.com/evanw/esbuild/internal/helpers/stack.go:9)
[  466s] main.(*serviceType).handleIncomingPacket.func1 (/home/abuild/rpmbuild/BUILD/esbuild-0.15.11/_build/src/github.com/evanw/esbuild/cmd/esbuild/service.go:220)
[  466s] panic (/usr/lib/golang/src/runtime/panic.go:838)
[  466s] main.(*serviceType).handleBuildRequest (/home/abuild/rpmbuild/BUILD/esbuild-0.15.11/_build/src/github.com/evanw/esbuild/cmd/esbuild/service.go:406)
[  466s] main.(*serviceType).handleIncomingPacket (/home/abuild/rpmbuild/BUILD/esbuild-0.15.11/_build/src/github.com/evanw/esbuild/cmd/esbuild/service.go:232)
[  466s] main.runService.func3 (/home/abuild/rpmbuild/BUILD/esbuild-0.15.11/_build/src/github.com/evanw/esbuild/cmd/esbuild/service.go:163)
[  466s] created by main.runService (/home/abuild/rpmbuild/BUILD/esbuild-0.15.11/_build/src/github.com/evanw/esbuild/cmd/esbuild/service.go:162)
[  466s]     at /home/abuild/rpmbuild/BUILD/Signal-Desktop-6.4.0/node_modules/esbuild/lib/main.js:1073:25
[  466s]     at responseCallbacks.<computed> (/home/abuild/rpmbuild/BUILD/Signal-Desktop-6.4.0/node_modules/esbuild/lib/main.js:698:9)
[  466s]     at handleIncomingPacket (/home/abuild/rpmbuild/BUILD/Signal-Desktop-6.4.0/node_modules/esbuild/lib/main.js:750:9)
[  466s]     at Socket.readFromStdout (/home/abuild/rpmbuild/BUILD/Signal-Desktop-6.4.0/node_modules/esbuild/lib/main.js:674:7)
[  466s]     at Socket.emit (node:events:513:28)
[  466s]     at addChunk (node:internal/streams/readable:315:12)
[  466s]     at readableAddChunk (node:internal/streams/readable:289:9)
[  466s]     at Socket.Readable.push (node:internal/streams/readable:228:10)
[  466s]     at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)

Probably the best solution at this moment is to ship two esbuild versions (0.16 and 0.17) temporarily.


Alternatively, can we ship 0.16 for now, and defer the 0.17 update until the bug(s) are fixed?


It's bad — signal now needs 0.17 and vscode needs anything less than 0.17


The error appears in openSUSE_Leap_15.4, whereas openSUSE_Tumbleweed builds successfully. Is there something majorly different about Leap?

openSUSE Build Service is sponsored by