Elektrine
Log in Register
Paige Chat Timeline Gallery Friends Email Drive DNS Private DNS Domains VPN Kairo Nerve
Remote

Lukas Taegert-Atkinson

@lukastaegert@m.webtoo.ls
mastodon 4.7.3
  • Open on m.webtoo.ls

PhD in Mathematics, software engineer at TNG, JavaScript enthusiast and maintainer of RollupJS.

318 Followers
39 Following
14 Posts
Joined December 07, 2022
Rollup:
https://rollupjs.org
GitHub:
https://github.com/lukastaegert
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 30mo ago

At @rollupjs@m.webtoo.ls, we just released an amazing tree-shaking update, which is also probably the most ambitious first-time contribution we had so far. in https://github.com/rollup/rollup/pull/5443, user https://github.com/liuly0322 implemented call tracking for functions that are only called once or only with the same literal values or variables to improve tree-shaking within those functions. Take this example: https://rollupjs.org/repl/?version=4.16.0&shareable=JTdCJTIyZXhhbXBsZSUyMiUzQW51bGwlMkMlMjJtb2R1bGVzJTIyJTNBJTVCJTdCJTIyY29kZSUyMiUzQSUyMmNvbnN0JTIwY29uZmlnJTIwJTNEJTIwJTdCJTIwZGVidWdNb2RlJTNBJTIwZmFsc2UlMjAlN0QlM0IlNUNuJTVDbmZ1bmN0aW9uJTIwcGVyZm9ybUNhbGN1bGF0aW9uKGlucHV0JTJDJTIwY29uZmlnKSUyMCU3QiU1Q24lMjAlMjAlMkYlMkYlMjBUaGlzJTIwd2lsbCUyMGJlJTIwb3B0aW1pemVkJTIwYXdheSU1Q24lMjAlMjBpZiUyMChjb25maWcuZGVidWdNb2RlKSUyMCU3QiU1Q24lMjAlMjAlMjAlMjBjb25zb2xlLmxvZygnSU5QVVQnJTJDJTIwaW5wdXQpJTNCJTVDbiUyMCUyMCU3RCU1Q24lMjAlMjByZXR1cm4lMjAyJTIwKiUyMGlucHV0JTNCJTVDbiU3RCU1Q24lNUNuJTJGJTJGJTIwV2UlMjBjYW4lMjBjYWxsJTIwdGhlJTIwZnVuY3Rpb24lMjBhcyUyMG1hbnklMjB0aW1lcyUyMGFzJTIwd2UlMjB3YW50JTIwYXMlMjBsb25nJTVDbiUyRiUyRiUyMGFzJTIwd2UlMjB1c2UlMjB0aGUlMjB2YXJpYWJsZSUyMCU1QyUyMmNvbmZpZyU1QyUyMiUyMGFuZCUyMGl0JTIwZ2V0cyUyMG9wdGltaXplZC4lNUNuJTJGJTJGJTIwQWxzbyUyMG5vdGUlMjBob3clMjB0aGUlMjBzZWNvbmQlMjBwYXJhbWV0ZXIlMjBhbmQlMjB0aGUlMjBjb25maWclMjBvYmplY3QlNUNuJTJGJTJGJTIwaXMlMjBvcHRpbWl6ZWQlMjBhd2F5ISU1Q25jb25zb2xlLmxvZyhwZXJmb3JtQ2FsY3VsYXRpb24oMSUyQyUyMGNvbmZpZykpJTNCJTVDbmNvbnNvbGUubG9nKHBlcmZvcm1DYWxjdWxhdGlvbigyJTJDJTIwY29uZmlnKSklM0IlMjIlMkMlMjJpc0VudHJ5JTIyJTNBdHJ1ZSUyQyUyMm5hbWUlMjIlM0ElMjJtYWluLmpzJTIyJTdEJTVEJTJDJTIyb3B0aW9ucyUyMiUzQSU3QiUyMm91dHB1dCUyMiUzQSU3QiUyMmZvcm1hdCUyMiUzQSUyMmVzJTIyJTdEJTJDJTIydHJlZXNoYWtlJTIyJTNBdHJ1ZSU3RCU3RA==

github.com
33
1
17
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 44mo ago

If you ever have the need for high performance JavaScript Set comparisons, merges and intersections: BigInt has you covered! Provided you can assign an index to all possible Set elements. Then:

- Add element 15 to set A: `A |= 1n << 15n`
- Remove element 3: `A &= ~(1n << 3n)`
- Intersect two sets: `C = A & B`
- Merge two sets: `C = A | B`
- Compare two sets: `A === B`

Many thanks to whoever decided BigInt should support bitwise operations!

This now fixes Rollup chunking performance for large projects: https://github.com/rollup/rollup/pull/4862

github.com
54
8
36
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 23mo ago

We are nearly ready at Rollup to release object property tree-shaking! But we need beta testers! Please try out

rollup@4.25.0-0

And let us know:
- Does it introduce any bug in the code?
- Does it bundle much slower for you?

What to expect:
- Properly tracked destructuring with removal of unused or un-needed properties
https://rollupjs.org/repl/?version=4.25.0-0&shareable=JTdCJTIyZXhhbXBsZSUyMiUzQW51bGwlMkMlMjJtb2R1bGVzJTIyJTNBJTVCJTdCJTIyY29kZSUyMiUzQSUyMiUyRiUyRiUyMERlc3RydWN0dXJpbmclMjBjYW4lMjBub3clMjB0cmFjayUyMHZhbHVlcyUyMGFuZCUyMHJlbW92ZSUyMHVudXNlZCUyMHByb3BlcnRpZXMlNUNuY29uc3QlMjAlN0IlMjBlZmZlY3QlMkMlMjBub0VmZmVjdCUyQyUyMHRydXRoeSUyQyUyMHVudXNlZCUyMCU3RCUyMCUzRCUyMCU3QiU1Q24lMjAlMjBhY3R1YWxseVVudXNlZCUzQSUyMCd1bnVzZWQnJTJDJTVDbiUyMCUyMHVudXNlZCUzQSUyMCd1bnVzZWQnJTJDJTVDbiUyMCUyMCUyRiUyRiUyMFRoaXMlMjBpcyUyMHRoZSUyMG9ubHklMjBwcm9wZXJ0eSUyMHRoYXQlMjByZW1haW5zJTVDbiUyMCUyMGVmZmVjdCgpJTIwJTdCJTVDbiUyMCUyMCUyMCUyMGNvbnNvbGUubG9nKCdlZmZlY3QnKSU1Q24lMjAlMjAlN0QlMkMlNUNuJTIwJTIwbm9FZmZlY3QoeCklMjAlN0IlNUNuJTIwJTIwJTIwJTIwcmV0dXJuJTIweCUzQiU1Q24lMjAlMjAlN0QlMkMlNUNuJTIwJTIwdHJ1dGh5JTNBJTIwdHJ1ZSU1Q24lN0QlNUNuJTVDbiUyRiUyRiUyMFRoaXMlMjBpcyUyMG9mJTIwY291cnNlJTIwcmV0YWluZWQlNUNuZWZmZWN0KCklNUNuJTVDbiUyRiUyRiUyMFRoaXMlMjBpcyUyMHJlbW92ZWQlNUNubm9FZmZlY3QoKSUzQiU1Q24lNUNuJTJGJTJGJTIwVHJ1dGh5JTIwaXMlMjB1c2VkJTJDJTIwYnV0JTIwbm90JTIwaW5jbHVkZWQlNUNuaWYlMjAodHJ1dGh5KSUyMGNvbnNvbGUubG9nKCdyZXRhaW5lZCcpJTVDbmVsc2UlMjBjb25zb2xlLmxvZygncmVtb3ZlZCcpJTIyJTJDJTIyaXNFbnRyeSUyMiUzQXRydWUlMkMlMjJuYW1lJTIyJTNBJTIybWFpbi5qcyUyMiU3RCU1RCUyQyUyMm9wdGlvbnMlMjIlM0ElN0IlN0QlN0Q=
- Tracking of used properties in function parameters
https://rollupjs.org/repl/?version=4.25.0-0&shareable=JTdCJTIyZXhhbXBsZSUyMiUzQW51bGwlMkMlMjJtb2R1bGVzJTIyJTNBJTVCJTdCJTIyY29kZSUyMiUzQSUyMiUyRiUyRiUyME9ubHklMjBpbmNsdWRlJTIwbmVlZGVkJTIwcHJvcHMlMjBpbiUyMGZ1bmN0aW9uJTIwYXJndW1lbnRzJTIwdmlhJTIwZGVzdHJ1Y3R1cmluZyUyMG9yJTIwcHJvcGVydHklMjBhY2Nlc3MlNUNuZnVuY3Rpb24lMjBvbmx5VXNlT25lUHJvcCglN0JiJTNBJTIwJTdCZCU3RCU3RCklMjAlN0IlNUNuJTIwJTIwY29uc29sZS5sb2coZC5lKSU1Q24lN0QlNUNuJTVDbm9ubHlVc2VPbmVQcm9wKCU3QiU1Q24lMjAlMjBhJTNBJTIwJ3VudXNlZCclMkMlNUNuJTIwJTIwYiUzQSUyMCU3QiU1Q24lMjAlMjAlMjAlMjBjJTNBJTIwJ3VudXNlZCclMkMlNUNuJTIwJTIwJTIwJTIwZCUzQSUyMCU3QiU1Q24lMjAlMjAlMjAlMjAlMjAlMjBlJTNBJTIwdHJ1ZSUyQyUyMGYlM0ElMjAndW51c2VkJyU1Q24lMjAlMjAlMjAlMjAlN0QlNUNuJTIwJTIwJTdEJTVDbiU3RCklM0IlMjIlMkMlMjJpc0VudHJ5JTIyJTNBdHJ1ZSUyQyUyMm5hbWUlMjIlM0ElMjJtYWluLmpzJTIyJTdEJTVEJTJDJTIyb3B0aW9ucyUyMiUzQSU3QiU3RCU3RA==

Have fun!

rollupjs.org
14
0
12
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 34mo ago

Now it has come to this: @vite@m.webtoo.ls is sponsoring @rollupjs@m.webtoo.ls. Which I find particularly amazing considering the efforts on Rolldown. Thank you so much!
https://opencollective.com/rollup 🎉😊

opencollective.com
22
1
11
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 42mo ago

More amazing things coming from the Vite community, this time from the one-and-only @antfu@m.webtoo.ls: Named export tree-shaking for dynamic imports when using destructuring and similar patterns https://github.com/rollup/rollup/pull/4952
And only a few days after the Webpack feature was released. Admittedly, we should have done that ages ago, but alas, there was always one other thing to do...
Amazing work ❤️

See it in action: https://rollupjs.org/repl/?version=3.21.0&shareable=JTdCJTIyZXhhbXBsZSUyMiUzQW51bGwlMkMlMjJtb2R1bGVzJTIyJTNBJTVCJTdCJTIyY29kZSUyMiUzQSUyMmNvbnN0JTIwJTdCZm9vJTdEJTIwJTNEJTIwYXdhaXQlMjBpbXBvcnQoJy4lMkZkeW5hbWljLmpzJyklM0IlNUNuY29uc29sZS5sb2coJ1lvdSUyMGNhbiUyMGRvJTIwaXQlMjB0aGlzJTIwd2F5JyUyQyUyMGZvbyklM0IlNUNuJTVDbmltcG9ydCgnLiUyRmR5bmFtaWMuanMnKS50aGVuKCglN0Jmb28lN0QpJTIwJTNEJTNFJTIwJTdCJTVDbiUyMCUyMGNvbnNvbGUubG9nKCd0aGlzJTIwd29ya3MlMjBhcyUyMHdlbGwlMkMlMjBteSUyMGRlYXInJTJDJTIwZm9vKSUzQiU1Q24lN0QpJTVDbiU1Q25jb25zb2xlLmxvZygnQW5kJTIwYWxzbyUyMHRoaXMlMjB3YXknJTJDJTIwKGF3YWl0JTIwaW1wb3J0KCcuJTJGZHluYW1pYy5qcycpKS5mb28pJTNCJTIyJTJDJTIyaXNFbnRyeSUyMiUzQXRydWUlMkMlMjJuYW1lJTIyJTNBJTIybWFpbi5qcyUyMiU3RCUyQyU3QiUyMmNvZGUlMjIlM0ElMjJleHBvcnQlMjBjb25zdCUyMGZvbyUyMCUzRCUyMCd0aGlzJTIwc3RheXMnJTNCJTVDbmNvbnN0JTIwZ2FyYmFnZSUyMCUzRCUyMCdzdHVmZiUyMHRoYXQlMjBub2JvZHklMjBuZWVkcyclM0IlNUNuZXhwb3J0JTIwY29uc3QlMjBiYXIlMjAlM0QlMjAnYnllJTIwYnllJTJDJTIwbm8lMjBuZWVkJTIwZm9yJTIweW91LiUyMEFuZCUyMG5vdCUyMGZvciUyMGFueSUyMG90aGVyJTIwJyUyMCUyQiUyMGdhcmJhZ2UlM0IlMjIlMkMlMjJpc0VudHJ5JTIyJTNBZmFsc2UlMkMlMjJuYW1lJTIyJTNBJTIyZHluYW1pYy5qcyUyMiU3RCU1RCUyQyUyMm9wdGlvbnMlMjIlM0ElN0IlMjJvdXRwdXQlMjIlM0ElN0IlMjJmb3JtYXQlMjIlM0ElMjJlcyUyMiU3RCU3RCU3RA==

github.com
27
1
16
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 40mo ago

🎉 Finally, Rollup now has a Logging API! And if your plugins use `this.warn()`, they will already be using it. But there is more:
- Want helpful debug logs in your plugin that cause virtually no overhead that users can enable on-demand? Use `this.debug()`. If your log needs expensive pre-processing, passing a function allows you to do this only if the log is processed.
- Print helpful status information that is visible by default? Use `this.info()`. Users can hide this via the `logLevel` option.
- Your plugin creates circular dependencies or causes other warnings that can be ignored? Hide the warnings in an `onLog` plugin hook.
- Want a plugin that elevates some warnings to errors? Again, the `onLog` hook can do that.
- As an end user, use the `onLog` option to filter and control logs. This is like `onwarn` but includes all log levels.

More information:
PR: https://github.com/rollup/rollup/pull/5026
https://rollupjs.org/configuration-options/#onlog
https://rollupjs.org/configuration-options/#loglevel
https://rollupjs.org/plugin-development/#this-warn
https://rollupjs.org/plugin-development/#onlog

I am currently working on an easy and powerful way to filter logs from the CLI, so there is more coming!

github.com
21
0
9
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 36mo ago

I have been talking very little about what I was working on. Today is the day, and we will release Rollup 4. Tune in to ViteConf now to learn what it will be all about: https://viteconf.org/23/live/lukastaegert

viteconf.org
14
4
6
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 38mo ago

See you in @ViteConf 2023! The Rollup community will not miss it! https://viteconf.org/23/tickets/lukastaegert?t=Rollup

viteconf.org
12
0
5
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 36mo ago

Nearly forgot to update the migration guide for Rollup 4. Here you go: https://rollupjs.org/migration/

rollupjs.org
7
0
5
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 42mo ago

You may or may not have noticed but for a few days, @rollupjs@m.webtoo.ls now has full Chinese docs. And there is A LOT OF docs! Huge thanks to https://github.com/ShenQingchuan, who approached us, assembled a team and made the impossible possible in just a few days.
We are deeply humbled and grateful! Enjoy here: https://cn.rollupjs.org

I think this is possible only thanks to the amazing Vite community ❤️

github.com
8
0
5
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 36mo ago
Replying to
@marvinh Feel free to steal Rollup’s serializer/deserializer if you want 😉. In the end, I would like if this became a separate tool. Another idea for me would be to build a lazy deserializer that allows directly walking the AST on the binary buffer and then creates ad-hoc Proxy objects when handing over AST nodes. Would not be useful to Rollup core but very useful to plugins.
1
1
0
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 44mo ago
Replying to
@kzar I did not test the limits, but it worked flawlessly with about 1900 bits so far 😜
1
0
0
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 44mo ago
Replying to
@kzar Sweet! Feels weird to do bit operations in an interpreted dynamic language, but apparently you can have similar gains as in a compiled and statically typed language. How much did it give you in Python?
1
2
0
0
Open post
Lukas Taegert-Atkinson @lukastaegert@m.webtoo.ls
· 36mo ago
Replying to

@marvinh Now to allow modifications, that would be the holy grail. Then for most plugins, this could become a valid replacement for magic-string. For the long term, we might even think about a new plugin hook transformAst that runs after transform, directly receives the AST as input and is only allowed to read and modify it while Rollup would then consume the modified AST directly without another parse. We would need to generate proper sourcemaps for the transforms, though, which will be a lot of work. And a bigger open question to me: What is the API to insert/replace Nodes? Do users supply code snippets or AST nodes? Can they add sourcemaps for inserted code that was taken from another file? How is it turned to binary?

0
0
0
0
Back
313k7r1n3
Elektrine

Tor hidden service

elekhj7afj4qnrr4yd3bkzslsyo5jgfxw3orgjkhlcxifueodybyiiad.onion

I2P eepsite

j6b6cyk6gjmepjih7jjadxgxvvf3lzzujljuu2v4biemzpg3naya.b32.i2p

Platform

  • Email
  • Chat
  • Timeline
  • VPN
  • DNS

Company

  • About
  • Contact
  • FAQ
  • Lite (no JS)

Legal

  • Terms of Service
  • Privacy Policy
  • Transparency Report
  • Report Abuse
  • Warrant Canary
  • VPN Policy

Support

  • support@elektrine.com
  • Report Security Issue
Mail client setup IMAP mail.elektrine.com:993 POP3 mail.elektrine.com:995 SMTP mail.elektrine.com:465
© 2026 Elektrine. All rights reserved. Server: 05:49:46 UTC