Hugo Campos's Avatar

Hugo Campos

@hugocampos.bsky.social

Principal Software Engineer at the Esri R&D Center in Zurich. Working on the ArcGIS Maps SDK for JavaScript. Typescript, CSS, Web Components, WebGL, GIS. He/Him

421 Followers  |  794 Following  |  104 Posts  |  Joined: 09.11.2024
Posts Following

Posts by Hugo Campos (@hugocampos.bsky.social)

Preview
Announcing TypeScript 6.0 RC - TypeScript Today we are excited to announce the Release Candidate (RC) of TypeScript 6.0! To get started using the RC, you can get it through npm with the following command: npm install -D typescript@rc TypeScri...

The Release Candidate for TypeScript 6.0 is now available!

Read up on what's coming up with 6.0 & 7.0, and try it out on your codebase today!

devblogs.microsoft.com/typescript/a...

06.03.2026 19:31 โ€” ๐Ÿ‘ 136    ๐Ÿ” 23    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 8
Preview
Oxfmt Beta A collection of high-performance JavaScript tools written in Rust

Announcing Oxfmt Beta

* 100% Prettier Compatibility
* Additional File Formats
* Tailwind CSS Integration
* Import Sorting
* package.json Sorting
* Embedded Language Formatting
* Node.js API
* `--migrate prettier`
* config overrides
* Full IDE support

oxc.rs/blog/2026-02...

24.02.2026 04:22 โ€” ๐Ÿ‘ 204    ๐Ÿ” 34    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 11
Infographic showing Rolldown's entriesAware code splitting feature in 3 steps. Step 1 shows three entry points (Dashboard using chart.js, Admin using marked, Landing using gsap - all sharing es-toolkit). Step 2 shows the problem: without entriesAware, all entries load a single 305KB vendor.js containing all libraries. Step 3 shows the solution: with entriesAware enabled, chunks are split by usage - a shared 8KB chunk for es-toolkit plus entry-specific chunks (195KB for dashboard, 40KB for admin, 63KB for landing), reducing average page load to 107KB and eliminating unused library downloads. Code snippet shows the configuration: entriesAware: true and entriesAwareMergeThreshold: 20000.

Infographic showing Rolldown's entriesAware code splitting feature in 3 steps. Step 1 shows three entry points (Dashboard using chart.js, Admin using marked, Landing using gsap - all sharing es-toolkit). Step 2 shows the problem: without entriesAware, all entries load a single 305KB vendor.js containing all libraries. Step 3 shows the solution: with entriesAware enabled, chunks are split by usage - a shared 8KB chunk for es-toolkit plus entry-specific chunks (195KB for dashboard, 40KB for admin, 63KB for landing), reducing average page load to 107KB and eliminating unused library downloads. Code snippet shows the configuration: entriesAware: true and entriesAwareMergeThreshold: 20000.

Chunks are now entry-aware in Rolldown 1.0.0-rc.5 โšก

What does that mean? When grouping chunks via `codeSplitting`, they can now be automatically split per entry point (usually per page), so users download less unused JavaScript.

Just set `entriesAware: true`.

19.02.2026 23:02 โ€” ๐Ÿ‘ 50    ๐Ÿ” 4    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 1
Preview
Announcing TypeScript 6.0 Beta - TypeScript Today we are announcing the beta release of TypeScript 6.0! To get started using the beta, you can get it through npm with the following command: npm install -D typescript@beta TypeScript 6.0 is a uni...

TypeScript 6.0 beta is now published!

This release brings

- inference improvements for functions
- updates to package.json 'imports'
- the Temporal APIs
- alignments for the upcoming TypeScript 7.0
- & more!

Try it today!

devblogs.microsoft.com/typescript/a...

11.02.2026 19:46 โ€” ๐Ÿ‘ 149    ๐Ÿ” 36    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 5
Post image

Rolldown 1.0 RC is here ๐ŸŽ‰

๐Ÿ”’ Stable API: No breaking changes planned before 1.0
โšก 10-30x faster than Rollup while staying compatible
๐Ÿงฉ Multiple chunking algorithm improvements
๐Ÿ“ฆ 3,400+ commits since beta: 749 features, 682 fixes, 109 perf optimizations

22.01.2026 14:28 โ€” ๐Ÿ‘ 209    ๐Ÿ” 40    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 5
Preview
Rolldown | Rust bundler for JavaScript Fast Rust-based bundler for JavaScript with Rollup-compatible API

@rolldown.rs just released the first RC version ๐ŸŽ‰ Weโ€™ve been using the betas for a while for our custom dev server and it has been great. Itโ€™s awesome to see it stabilize!

github.com/rolldown/rol...

22.01.2026 13:53 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 1
Preview
Release v4.1.0-beta.1 ยท vitest-dev/vitest ๐Ÿš€ Features Return a disposable from doMock() ย -ย  by @kirkwaiblinger in #9332 (e3e65) Added chai style assertions for spying ย -ย  by @ronnakamoto and @sheremet-va in #8842 (841df) Update to sinon...

The first beta for @vitest.dev 4.1 is out! ๐Ÿงช

โ—† Chai-style spy assertions (`toHaveBeenCalled`, etc.)
โ—† `userEvent.wheel()` for browser mode
โ—† Enhanced retry options
โ—† Disposable returned from `doMock()`
โ—† Coverage ignore start/stop hints
โ—† and more ๐Ÿ‘€

Try now by installing vitest@beta

21.01.2026 19:28 โ€” ๐Ÿ‘ 48    ๐Ÿ” 6    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0
// Currently
let prefs = new getUserPrefs();
if (!prefs.has("useDarkmode")) {
  prefs.set("useDarkmode", true); // default to true
}

// Using getOrInsert
let prefs = new getUserPrefs();
prefs.getOrInsert("useDarkmode", true); // default to true

// Currently let prefs = new getUserPrefs(); if (!prefs.has("useDarkmode")) { prefs.set("useDarkmode", true); // default to true } // Using getOrInsert let prefs = new getUserPrefs(); prefs.getOrInsert("useDarkmode", true); // default to true

ECMAScript excitement ๐Ÿ˜‰

Congrats to Dan Minor @mozilla.org on advancing the Upsert proposal to Stage 4 at TC39 today ๐ŸŽ‰

let map = new Map();
map.getOrInsert(key, defaultVal);

It lets you set a default value on a map key without overwriting an existing value ๐Ÿ‘

20.01.2026 15:47 โ€” ๐Ÿ‘ 64    ๐Ÿ” 8    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 2

Node.js v25.4.0 is out! ๐Ÿ’š

โ€ข require(esm) now stable and a new CLI flag: --require-module
โ€ข http setGlobalProxyFromEnv() added
โ€ข Multiple APIs promoted to stable (heapsnapshot, build snapshot, v8.queryObjects)
โ€ข Root CAs updated to NSS 3.117

More in: nodejs.org/en/blog/rele...

19.01.2026 18:01 โ€” ๐Ÿ‘ 37    ๐Ÿ” 7    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 2
Preview
Firefox 147 release notes for developers (Beta) - Mozilla | MDN This article provides information about the changes in Firefox 147 that affect developers. Firefox 147 is the current Beta version of Firefox and ships on January 13, 2026.

Firefox 147 just landed & it's pretty huge in terms of web features:

๐ŸŽ‰ CSS anchor positioning
๐ŸŽ‰ The navigation API
๐ŸŽ‰ View transition types
๐ŸŽ‰ Brotli support in Compression/DecompressionStream
๐ŸŽ‰ CSS module imports

And more!

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/147

13.01.2026 14:03 โ€” ๐Ÿ‘ 334    ๐Ÿ” 65    ๐Ÿ’ฌ 9    ๐Ÿ“Œ 22
Preview
[ci] release by astrobot-houston ยท Pull Request #15031 ยท withastro/astro This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not read...

Thanks to @43081j.com for contributing a **massive** improvement in rendering performance. Benchmarking reports as high as 11x improvement ๐Ÿคฉ. Upgrade to astro@5.16.7 when you can.

James gave an excellent explanation of the improvement in the PR: github.com/withastro/as...

Open source ftw!

07.01.2026 16:33 โ€” ๐Ÿ‘ 52    ๐Ÿ” 3    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1
Preview
Whatโ€™s New in ViteLand: December 2025 Recap Our December 2025 recap features big Oxc releases: Oxfmt alpha builds and Oxlint's type-aware linting alpha, plus updates across Vite, Vitest, Rolldown, and community highlights.

Happy new year ๐ŸŽ‰
Our December 2025 recap is out!

โšก Oxlint type-aware linting alpha
๐ŸŽจ Oxfmt with @vuejs.org, Markdown & JSON support (+ more languages)
๐Ÿ“ฆ @rolldown.rs chunking improvements
๐Ÿ”ฌ @vitest.dev OpenTelemetry & import breakdowns
๐Ÿ—บ๏ธ 2026 Oxc roadmap
๐Ÿ‘€ and more

voidzero.dev/posts/whats-...

07.01.2026 15:37 โ€” ๐Ÿ‘ 41    ๐Ÿ” 3    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1
Preview
Signals vs Query-Based Compilers With the rise of LSPs, query-based compilers have emerged as a new architecture. That architecture is much more similar and also different to Signals than I initial assumed them to be.

Putting Signals in your compiler? Turns out this is already happening.

marvinh.dev/blog/signals...

04.01.2026 15:05 โ€” ๐Ÿ‘ 61    ๐Ÿ” 9    ๐Ÿ’ฌ 7    ๐Ÿ“Œ 0
Preview
React Wrappers Generate react wrappers for your custom elements / web components

Happy New Year! The #WebComponents @react.dev wrappers have joined the WC Toolkit and have some nice upgrades, including:

- Strongly typed events
- CSS variable types for components
- Component and tag name formatting
wc-toolkit.com/integrations...

01.01.2026 20:50 โ€” ๐Ÿ‘ 13    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Introducing Flint [Experimental] A fast, friendly linter. โค๏ธโ€๐Ÿ”ฅ

Introducing Flint: a fast, friendly linter.

Flint is an experimental linter made to validate several hypotheses: hybrid linting, streamlined rich configuration, thorough docs & plugins, and tooling coordination.

Expect to hear more about Flint over the next month. โค๏ธโ€๐Ÿ”ฅ

www.flint.fyi/blog/introdu...

30.12.2025 21:40 โ€” ๐Ÿ‘ 119    ๐Ÿ” 14    ๐Ÿ’ฌ 9    ๐Ÿ“Œ 4

Indeed! And often I prefer to mock less and test more like an end user would, in exchange for a slight performance penalty compared with more โ€œunitโ€ style tests. I find it makes tests provide a lot more bang for the buck.

30.12.2025 13:24 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Preview
Vitest Next generation testing framework powered by Vite

Absolutely! Weโ€™ve been using Karma for years and have been moving to Vitest and it has worked great for us. Some folks have struggled a bit with some of the mocking limitations (vitest.dev/guide/browse...) but have managed to find other ways around it. Overall, really nice!

30.12.2025 13:17 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Changelog for a few Lit packages. See https://github.com/lit/lit/pull/5183 for details.

Changelog for a few Lit packages. See https://github.com/lit/lit/pull/5183 for details.

Changelog for a few Lit packages. See https://github.com/lit/lit/pull/5183 for details.

Changelog for a few Lit packages. See https://github.com/lit/lit/pull/5183 for details.

๐Ÿ“ฃ We just published our End-of-Year / Happy Holidays Lit releases!

- ๐Ÿ‘ฉโ€โš•๏ธ Many bug fixes!
- ๐Ÿ“„ A new lit-labs/forms packages for form-associated elements!
- ๐ŸŽพ A new Spring controller in lit-labs/motion!
- ๐ŸŽ๏ธ Massive SSR performance improvements!
- ๐Ÿงฉ A lit-html template parser in lit-labs/analyzer

23.12.2025 22:50 โ€” ๐Ÿ‘ 63    ๐Ÿ” 11    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Weโ€™re sharing details about a potential vulnerability that may affect a small subset of built and published Storybooks. ๐Ÿงต (1/4)

17.12.2025 16:47 โ€” ๐Ÿ‘ 15    ๐Ÿ” 8    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1

ECMAScript excitement ๐Ÿ˜‰

The Temporal API ships in Chrome 144 Beta today ๐ŸŽ‰

developer.chrome.com/blog/chrome-...

Right on time. Arriving in the Chrome Stable release in approximately one month!

09.12.2025 22:24 โ€” ๐Ÿ‘ 94    ๐Ÿ” 13    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 5
Preview
Announcing Oxlint Type-Aware Linting Alpha Oxlint's type-aware linting has reached alpha status. Type-aware rules can be manually configured, disabled with in-line comments, and fixed automatically. This milestone also includes more ruleโ€ฆ

Announcing Oxlint Type-Aware Linting Alpha ๐ŸŽ

Just a few months after our technical preview, type-aware linting reaches the alpha milestone!

โœจ Type-aware rules can now be configured
๐Ÿ™ˆ Inline comments to disable rules work for type-aware rules too
โœ” Auto fixes for type-aware rules are now available

08.12.2025 17:58 โ€” ๐Ÿ‘ 72    ๐Ÿ” 11    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 2
Preview
Vite 8 Beta: The Rolldown-powered Vite The first beta of Vite 8, powered by Rolldown, is now available. Vite 8 ships significantly faster production builds and unlocks future improvement possibilities. Read more about the migration, new fe...

โšก๏ธ The first Vite 8.0 beta is here!

- Powered by Rolldown, bringing significantly faster production builds and more consistency
- New features such as tsconfig paths or emitDecoratorMetadata support
- Bumping browser targets aligned with Baseline Widely Available

Read more in our announcement post!

03.12.2025 12:18 โ€” ๐Ÿ‘ 229    ๐Ÿ” 46    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 7
Preview
Progress on TypeScript 7 - December 2025 - TypeScript Earlier this year, the TypeScript team announced that weโ€™ve been porting the compiler and language service to native code to take advantage of better raw performance, memory usage, and parallelism. Th...

We've got some updates on TypeScript 7! The new native port

- can type-check any project
- supports --build and --incremental
- has rich editor features implemented
- is still 10x faster

and is ready for you to try today!

devblogs.microsoft.com/typescript/p...

02.12.2025 17:48 โ€” ๐Ÿ‘ 249    ๐Ÿ” 57    ๐Ÿ’ฌ 5    ๐Ÿ“Œ 10
Preview
Oxfmt: Oxc Formatter Alpha A collection of high-performance JavaScript tools written in Rust

Announcing Oxfmt: Oxc Formatter Alpha

oxc.rs/blog/2025-1...

01.12.2025 15:43 โ€” ๐Ÿ‘ 111    ๐Ÿ” 11    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 3
Storybook-MCP-early-access-program

Storybook-MCP-early-access-program

Agents canโ€™t โ€œjust read the repo.โ€ Thousands of files + type soup = instant confusion.

Storybook MCP gives agents only the good stuffโ€”curated patterns from your stories, docs & testsโ€”and a loop to self-fix with your component tests.

Link to request early access in comments ๐Ÿ‘‡

01.12.2025 16:14 โ€” ๐Ÿ‘ 9    ๐Ÿ” 2    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Instead of providing your tsconfig manually in @rolldown.rs, you can now enable @vite.dev like automatic resolution.

โ—‡ Finds the nearest tsconfig.json
โ—‡ Respected by both, resolver and transformer
โ—‡ tsconfig references will be searched as well (given certain criteria are fulfilled)

27.11.2025 16:15 โ€” ๐Ÿ‘ 34    ๐Ÿ” 4    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Very nice! Weโ€™ve been waiting for it for a long time. Weโ€™ve been hacking our own UI into the main iframe ๐Ÿ˜…๐Ÿ™ˆ One thing that would be really nice on top of this is a button to โ€œacceptโ€ that particular screenshot as a new baseline, without having to do the regular -u to update snapshots.

25.11.2025 22:54 โ€” ๐Ÿ‘ 4    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Merged! Vitest 4.0.14 includes a new tabbed view and slider for visual regression reports ๐ŸŽ‰

This feature required a lot of work under the hood, including the creation of the new test artifacts API. Really curious to see how it'll be used by us and the ecosystem ๐Ÿ‘€

25.11.2025 13:56 โ€” ๐Ÿ‘ 39    ๐Ÿ” 6    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 2
Preview
Release v11.0.0 ยท immerjs/immer 11.0.0 (2025-11-23) Performance Improvements Rewrite finalization system to use a callback approach instead of tree traversal (#1183) (d6c1202) BREAKING CHANGES enable loose iteration by defaul...

_Very_ excited to announce that @mweststrate.bsky.social just published Immer 11.0 with the major architectural rewrite I did to improve perf! 10.2 already had several smaller tweaks, and there's one more PR up to add optional array overrides:

github.com/immerjs/imme...

New RTK release soon!

23.11.2025 17:29 โ€” ๐Ÿ‘ 50    ๐Ÿ” 8    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 1

The adventure begins right now ๐ŸŽฎโœจ
Tune in right now, you don't want to miss a second: goo.gle/angular-v21

20.11.2025 17:00 โ€” ๐Ÿ‘ 17    ๐Ÿ” 6    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 4