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)
Filename Size Changed
esbuild-0.20.2.tar.gz 0001833306 1.75 MB
esbuild.changes 0000022574 22 KB
esbuild.spec 0000001850 1.81 KB
remove-version-check.patch 0000000460 460 Bytes
vendor.tar.xz 0000340764 333 KB
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?


Avindra Goolcharan's avatar

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


Philipp Reichmuth's avatar

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 :)



Bruno Pitrus's avatar

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] 

Bruno Pitrus's avatar

It also broke vscode with an identical error


Avindra Goolcharan's avatar

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


Bruno Pitrus's avatar

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


Avindra Goolcharan's avatar

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.




Bruno Pitrus's avatar

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


Bruno Pitrus's avatar

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.


Avindra Goolcharan's avatar

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


Bruno Pitrus's avatar

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


Avindra Goolcharan's avatar

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