#991761 ITP: swc -- A super-fast typescript / javascript compiler written in rust

Package:
wnpp
Source:
wnpp
Submitter:
Jérémy Lal
Date:
2026-05-12 05:35:01 UTC
Severity:
wishlist
Blocked By:
Bug Title
996644

  1

ITP: node-node-rs -- helper library for node-rs

wishlist stable testing unstable 7 months ago

996634

  3

ITP: node-napi-rs -- minimal library for Rust-based native NodeJS modules

wishlist stable testing unstable about 2 months ago

#991761#5
Date:
2021-08-01 10:01:46 UTC
From:
To:
* Package name    : swc
  Version         : 1.2.70
  Upstream Author : kdy1 <kdy1997.dev@gmail.com>
* URL             : https://swc.rs/
* License         : Apache-2.0 or Expat
  Programming Lang: Rust, Nodejs
  Description     : A super-fast typescript / javascript compiler written in rust

swc is a typescript / javascript transpiler.
It consumes javascript or typescript file written in one version
of these languages and emits javascript code which can be executed
on javascript engines that are not yet supporting latest features.
.
It is an order a magnitude faster than similar projects written in
javascript.
.
It also provides spack, a full featured javascript modules bundler
that can do tree shaking among other things.

swc is a game changer for javascript development / deployment.
It can transpile, bundle, minify a large project in second(s).
It is now quite mature and usable.

#991761#10
Date:
2021-10-15 14:20:03 UTC
From:
To:
Hi Jérémy,

Quoting Jérémy Lal (2021-08-01 12:01:46)

What is status on this?

Would you be interested in my help on creating+maintaining this?


 - Jonas

#991761#15
Date:
2021-10-15 15:15:43 UTC
From:
To:
Le ven. 15 oct. 2021 à 16:20, Jonas Smedegaard <jonas@jones.dk> a écrit :

Nothing done.

Of course ! I created this ITP to lure someone into it :)
First thing is to make sure debian rustc version matches upstream
requirement...

Jérémy

#991761#24
Date:
2021-10-17 00:15:49 UTC
From:
To:
Quoting Jérémy Lal (2021-10-15 17:15:43)

Excellent.

As you might have noticed, I prepared some build-dependencies.

...and no, the issue with requiring nightly is not crucial: I have
patched it away in the preliminary packaging now living at
https://salsa.debian.org/js-team/node-swc-core


 - Jonas

#991761#29
Date:
2022-05-06 22:57:47 UTC
From:
To:
1.2.177 draft 1 needs embedding 197 crates (119 missing, 4 broken, 4
incomplete, 61 outdated, 8 ahead); builds in ~30 minutes with a 2-core
i5 CPU; not yet usable as it needs to link with node-napi-rs that is not
yet packaged.

My plan now is to keep up with upstream code development, package
dependencies (notably node-napi-rs), and encourage the Rust team to
update/upgrade existing but unaligned crate packages.

You can help by building this draft package and try improve integration
with draft packaging of node-napi-rs available at
<https://salsa.debian.org/js-team/node-napi-rs>, and provide feedback
here about that.

You can also help by joining the Rust team in Debian and help unbreak
and upgrade packaged crates, and add more:
https://salsa.debian.org/js-team/node-swc-core/-/blob/debian/latest/debian/TODO


Thanks,

 - Jonas

#991761#46
Date:
2026-05-09 22:14:08 UTC
From:
To:
Hi!

I'm working on updating node-rollup to v4 [1], which needs the SWC
ECMAScript crates (swc_ecma_ast, swc_ecma_parser, etc.).

Since 2002, the last message, rust-swc-core is already in the archive (63.1.1+ds) https://tracker.debian.org/pkg/rust-swc-core, but the swc_ecma_* crates are excluded from the orig tarball via Files-Excluded in debian/copyright. The newer swc_es_* are available but have an incompatible API that rollup hasn't adopted.

Would it be possible to un-exclude swc_ecma_* so we can package them?
That might help unblock the node-rollup v4 package. Please let me
know if I could explore that option or what is the current strategy, so to explore this without clashing with anybody.

[1] https://bugs.debian.org/1092721

Best,

Juan

#991761#51
Date:
2026-05-11 21:32:12 UTC
From:
To:
Hi Juan,

The plan is to...

 1. get src:rust-swc-core upgraded to newest upstream version
    and then keep up with that.
 2. include as many parts as possible with the Rust crates available,
    and package missing crates.
 3. when enough is included, package src:node-swc-core
    (this bug).
 4. when enough is included, have src:rust-swc-core provide swc binary
	(see bug#1099759)

Recently I reached 1), and earlier tonight I took a step towards 2),
also reorganizing patches to ease tracking of missing crates: At
https://salsa.debian.org/debian/rust-wasmtime/-/tree/debian/latest/debian/patches
you can see in the patches 2003_* the crates that are still missing.

Right now, the best you can do to help is package some of the missing
Rust crates.

Thanks,

 - Jonas
-----BEGIN PGP SIGNATURE-----

iQJABAEBCgAqFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAmoCStYMHGRyQGpvbmVz
LmRrAAoJECx8MUbBoAEhXKkQAKe5fDiB8HkmOus6Xi/VKMUwPLWRS9GEcf1gUTzG
tWYpreMXreVVmCfm85wV4kZtwYgUKWOIU98lAhztQcj192k5R0bLnQjM97I/CUxP
DtZVnRFQklPyXbpMfYKiSah9jtjmZdkPv4CfnveAhL0NM0fWaWGuZs8gSh9QnrZP
363QH8zkmH8X4iA4avXDxGB1Wrlt0CrisJgorJJ5Ciu2bbml/prEYzvHG1Kv3jBd
/bnZxVuSpeBSDtjWYsyrxqD2hncr9OZu2+OhbVtj2PaiAltr4OuI0waOGpMv6pb+
U5ZEog6zouW4Gptztjb3wjxsEK3KifgtB2uzCBE8XFUHO6lIFSZmJYLHfc2dV0TO
ArrOQwDWY39C+k2KG0GUpnrETFErW9YTDtR05VtqDPYvTm5Dcpkh7NrZm+/5qlch
ZysVzt3eGvISld69tKLZz6zX9Ni948cyhNgnKq9OVW3/ioSF1yuD03lBUnDd4c2q
EdoWkRApBzKh6cLo6GBiAHL2WOOSrbJSCK50TOija/YFNnawan11NqLbqht5dtFe
SMmbkIRVtZy//+EQLyXQsBV7CYXw2YgYLx1ovyn5gyRvtnfJsxH9Q+E4ocLGuzij
u++44TKT082Bxt3Lttbodo/O5HSq+Rt7F/tuYWBsXptKWhu0b1aSnhaz7/9CtmxX
j8/q
=kGZh
-----END PGP SIGNATURE-----

#991761#56
Date:
2026-05-11 23:17:43 UTC
From:
To:
Hi Jonas,                                                                                                                            
Thanks for the update and the heads up 

I'd like to start by packaging some small missing crates from your 2003_* patches in rust-swc-core, while I catch up with the team practices.


I'm thinking of starting with radix_fmt,  and then dragonbox_ecma. They are also in my node-rollup v4 build, so packaging them helps both packages.

Are you already working on any of those? 
Happy to pick up others from the list too.                          

Thanks,                                                                                                                               
Juan             

#991761#61
Date:
2026-05-12 04:53:41 UTC
From:
To:
Quoting Juan (2026-05-12 01:17:43)

That sounds great.

I follow the normal praxis in Debian of announcing as ITP bugreports
the packages that I am working on to avoid duplicate work.

I recommend that you do the same, and that you check for existing works
e.g. at https://www.debian.org/devel/wnpp/prospective (which in my
experience is faster to load and search through than other interfaces)
instead of asking me directly: It slows us both down (a bit) to have a
conversation about something that is already public knowledge, and I
might not be the only one following this praxis. I am aware that the
policy in the Rust team contradicts what I am recommending here - I
have no interest in discussing pros and cons of Rust team policies,
just sharing my opinion to help you form your own.

Since you seem to be working from within the Rust team, another thing
that is helpful is to update/upgrade packages maintained in that team
which affects the swc packages. You can see the affected packages at
https://bugs.debian.org/src:rust-swc-core

Thanks a log for your help!

 - Jonas

#991761#66
Date:
2026-05-12 05:32:25 UTC
From:
To:
Quoting Jonas Smedegaard (2026-05-11 23:32:12)
Uhm, that bug reference for 4) and link to patches are both wrong: This
bugreport is tracking both Nodejs interface and CLI tool, and the link
to patches is
https://salsa.debian.org/debian/rust-swc-core/-/tree/debian/latest/debian/patches
as it seems from your followup email that you already have figured out.

Sorry for the confusion,

 - Jonas