Sign in

Joaquín Sánchez

@userquin.bsky.social
1.7K followers 987 following 181 posts

A fullstack and android developer, Vite's fanatical follower. Core team → @unocss.dev • @vitest.dev • @vuejs.org • elk.zone • @tresjs.org • vuetifyjs.com Ecosystem Team → @nuxt.com Mantainer → nuxt.vuetifyjs.com • vite-pwa-org.netlify.app

PostsRepliesMedia
Joaquín Sánchez @userquin.bsky.social · 05/09/2026
@cyberalien.dev I'm testing this new iconify custom loader, I will try to send a PR to iconify utils this weekend: github.com/unplugin/unp...
github.com
feat: add custom HMR FS icon loader by userquin · Pull Request #439 · unplugin/unplugin-icons
Description This PR adds a new FileSystemHMRIconLoader to allow use HMR when using a custom collection from filesystem: ✔️ vite working (I need to review if we can just use the server.moduleGraph...
030
Joaquín Sánchez @userquin.bsky.social · 03/09/2026
I created my ViteConf 2026 mission credential. Create yours! viteconf.org/tickets/t/Zk...
viteconf.org
Joaquín Sánchez's ViteConf 2026 mission credential
Joaquín Sánchez is on a build mission for ViteConf 2026. Create your own credential.
031
Joaquín Sánchez @userquin.bsky.social · 18/07/2026
Integrating Vite PWA Inspector with @vite.dev devtools, the inspector can run also as a seperated middleware (ala vite-plugin-inspect or UnoCSS inspector). @tomayac.com #PWA
Vite PWA Inspector showing PWA web manifest including icons (like chrome devtools) integrated with Vite devtools.
1102
Joaquín Sánchez @userquin.bsky.social · 23/06/2026
wowow, cannot wait your test on iOS emulator
151
Joaquín Sánchez @userquin.bsky.social · 23/06/2026
Fixed color constrast (wcag-aa) adding some changes to the button layout: streamable.com/ed5kjm
streamable.com
Watch Vite App - Google Chrome 2026-06-23 18-29-28 | Streamable
Watch "Vite App - Google Chrome 2026-06-23 18-29-28" on Streamable.
040
Joaquín Sánchez @userquin.bsky.social · 23/06/2026
This is amazing, I'm speechless, this is the new `@vite-pwa/unplugin-pwa` UI Service Worker UI Switcher when enabling dev options, just a few HMR @vite.dev plugins and some client logic. We need to add support for @webpack.bsky.social and @rspack.dev , stay tuned. streamable.com/ue4qx1 #pwa
streamable.com
Watch Vite App — Mozilla Firefox Navegación privada 2026-06-23 14-48-06 | Streamable
Watch "Vite App — Mozilla Firefox Navegación privada 2026-06-23 14-48-06" on Streamable.
1122
Reposted by Joaquín Sánchez
Haoqun Jiang @haoqun.dev · 17/06/2026
Babel 8! After all these years! What a surprise! babeljs.io/blog/2026/06...
babeljs.io
Releasing Babel 8 today: ESM-only, drop ES5 default, and a smooth migration path · Babel
Today we are releasing Babel 8. It's been 8 years since we released Babel 7. And that's not without reason.
05812
Joaquín Sánchez @userquin.bsky.social · 14/06/2026
The workbox fork at Vite PWA Org. is ESM only (all its packages). Here a CJS example with webpack 5 using require(<esm>) to load the workbox-build webpack plugin (node ^22.14.0, and @rolldown.rs ^1.0.0.0-0 required for the build): #webpack #pwa
webpack CJS configuration using require to load workbox-build ESM plugin to build the service worker
061
Reposted by Joaquín Sánchez
Jan-Niklas Wortmann @wordman.dev · 11/06/2026
My @sli.dev plugin for @jetbrains.com IDEs is live (alpha). Auto-detects your slides.md, manages the dev server, completion in the editor, live preview, navigation to imported slides, syntax highlight for magic-move, quick docs for front matter... plugins.jetbrains.com/plugin/32201...
plugins.jetbrains.com
Slidev - IntelliJ IDEs Plugin | Marketplace
Integrated support for Slidev presentations. Auto-detects slides.md Slidev projects in your workspace Starts, adopts, and stops the Slidev dev server (configurable dev...
1132
Reposted by Joaquín Sánchez
patak @patak.cat · 08/06/2026
Massive jump on ESM-only adoption! The difference with previous years growth shows how important @joyeecheung.bsky.social pragmatic require(esm) approach is going to be for the npm ecosystem (thanks a ton, once more!). If you are a maintainer, drop your dual setup and move to ESM-only, too 🙏
4658
Joaquín Sánchez @userquin.bsky.social · 06/06/2026
Do I know anyone that works at @discord.com ?
051
Reposted by Joaquín Sánchez
Matthew Ary 🇺🇦 @matthewary.com · 06/06/2026
The Vuetify project has experienced a major hack of it's Discord server, which has served as the glue for a thriving OSS community for a decade. The scope and scale of the damage that has been done is hard to describe.
2103
Joaquín Sánchez @userquin.bsky.social · 26/05/2026
🐐 Here @rspack.dev app building the service worker via @rolldown.rs with the workbox fork at @vite.dev PWA. Thank to Néstor (ZEPH) for the webpack/rsbuild examples and plugins review ❤️.
rsbuild app build output using vite-pwa workbox via rspack plugin
061
Joaquín Sánchez @userquin.bsky.social · 24/05/2026
And here the build output: #webpack #workbox
build output in the terminal, just 148 miliseconds to build the classic and the module service worker; webpack 5.107 took 450 miliseconds
021
Joaquín Sánchez @userquin.bsky.social · 24/05/2026
🐐 Building dual service worker with webpack v5 via @rolldown.rs : - workbox runtime code splitting - import.meta.env using generateSW strategy (only ESM version) - env vars working: added those starting with VITE_ and PUBLIC_ prefix - SW build manifest (ala @vite.dev manifest) - tree shakeable #pwa
an screenshot with 3 parts using webpack plugin on a webpack app v5 using type module (.mjs config file) using dual service worker build: on the left generated output with workbox runtime chunk code split; on the center some proces.env variables; and on the right, the classic service worker chunk showing those env variables, only exposing those starting with VITE_ and PUBLIC_
072
Joaquín Sánchez @userquin.bsky.social · 23/05/2026
Daniel is amazing! After his talk at MadVue, he sat next to me and I watched him testing the new workflow live. I finally met some friends in person yesterday at MadVue, great day.
Picture at MadVue: Juan Nuñez, Alex Jover, Eduardo, Daniel and me
1190
Reposted by Joaquín Sánchez
danielroe @danielroe.dev · 22/05/2026
💥 just released a github action: `uppt` it aims to be a very simple, secure release workflow for maintainers that adheres to best security practices ⚪ trusted, staged publishing on npmjs.com ⚪ github environment protection ⚪ generated release PR + changelog ⚪ automatic release + publish on merge ✨
1116228
Reposted by Joaquín Sánchez
Yann Braga @yannbf.bsky.social · 20/05/2026
What do you think of a dev tool that helps you inspect components in your live app and then save that snapshot as a story in Storybook? 🤔 Backed by the incredible Vite devtools of course @antfu.me <3
3639
Reposted by Joaquín Sánchez
Kevin Deng @sxzz.dev · 20/05/2026
Recent supply-chain poisoning incidents made one thing obvious: CI should not blindly trust floating @main refs. actionspack brings a pnpm-like lockfile to GitHub Actions: author in .github/workflows/src, inline safe workflows/actions, pin the rest to SHAs, and review updates with git diff.
github.com
GitHub - sxzz/actionspack: Lockfile-first GitHub Actions workflow packer
Lockfile-first GitHub Actions workflow packer. Contribute to sxzz/actionspack development by creating an account on GitHub.
3114
Joaquín Sánchez @userquin.bsky.social · 20/05/2026
In case you need to enforce sha pinning, take a look at this package (la Anthony Fu's taze).
141
Joaquín Sánchez @userquin.bsky.social · 17/05/2026
Added support for custom chunks fr both @vite.dev or @rolldown.rs , not just workbox; inlineWorkboxRuntime is just a shortcut for custom chunks: #pwa
service worker using multiple custom chunksservice worker dependency using custom chunk
141
Joaquín Sánchez @userquin.bsky.social · 14/05/2026
Looks like we've got @rolldown.rs working natively with: ✅ envDir & envPrefix support. ✅ Full import.meta.env injection. ✅ Aggressive Tree-shaking (Dead Code Elimination). The best part? This isn't just for manual scripts. We can now use import.meta.env even with the generateSW strategy! 🤯
screenshot with the code for generate service worker strategy using import.meta.env inside a runtimeConfig handler and the classic-sw generated with the import.meta.env data inside the registerRoute callbackscreenshot with the code for build service worker strategy using import.meta.env.DEV inside an if statement and the classic-sw generated with the if using import.meta.env.DEV  removed
110
Joaquín Sánchez @userquin.bsky.social · 13/05/2026
We're adding legacy support for Vite < 8 via Rolldown, but we need to add the following features to Rolldown manually: - envDir and enfPrefix - import.meta.env
workbox-build fork dependencies adding back support from Vite 3.1 to Vite 8
050
Joaquín Sánchez @userquin.bsky.social · 07/05/2026
@vite.dev 8 build almost done (it is fast running 2 builds in parallel), working on @rolldown.rs build:
Vite 8 building 2 classic and module service workers in parallel with workbox chunk and sourcemap (35 milisenconds and 28 milesconds respectivelly)
061
Joaquín Sánchez @userquin.bsky.social · 03/05/2026
PWA Plugin v2 will be a necessary "clean break": Vite 8 + Rolldown required. ⚡️ 🚀 Native "Dual Service Worker" support: we serve native ESM to modern browsers and automatically fallback to Classic for the rest. The best of both worlds with zero config! ✅🚀 @vite.dev #PWA
1214
Joaquín Sánchez @userquin.bsky.social · 03/05/2026
Just hacking ESM service worker support works with classic:
forcing classic service worker using supportsESM at registerSW optionsusing classic service worker with firefoxusing classic service worker with chrome
040
Joaquín Sánchez @userquin.bsky.social · 03/05/2026
After reviewing the custom build strategy at workbox-build fork, I have dual SW working at @vite.dev VanillaJS example with a custom pwa plugin 🎉: @tomayac.com @jeff.posnick.org #pwa
Vite VanillaJS example with the main.js entry point with dual service worker (classic and module) and service worker ESM detector.Vite VanillaJS project with service worker type module at chromeVite VanillaJS project with service worker type module at firefoxcustom pwa plugin with Vite VanillaJS
071
Joaquín Sánchez @userquin.bsky.social · 01/05/2026
😎😁 Adding some vitest test at workbox (build) fork. #pwa
Vite PWA workbox-build fork preparing classic SW build with a warning when using @vite-pwa/worbox-swkit barrel export: 
[Vite PWA] Oh, you sweet summer child...
You're using the '@vite-pwa/workbox-swkit' barrel export in IIFE format.
Your users will need a NASA-grade connection to download this beast.
Switch to subpackage imports (e.g., '@vite-pwa/workbox-swkit/core') to save some souls.
150
Joaquín Sánchez @userquin.bsky.social · 27/04/2026
Hey @tomayac.com sent an invitation to my private monorepo, you can find workbox at packages/workbox folder. The monorepo created to have all the packages there, but will be moved to the corresponding GH repo at Vite PWA Org. @ducanh2912.bsky.social if you want access ping me 🙏
210
Joaquín Sánchez @userquin.bsky.social · 26/04/2026
👀 What's this? 😁 @jeff.posnick.org @tomayac.com @ducanh2912.bsky.social we need to talk ;) #pwa
adding dual service worker detection (module and classic) and trusted script url to pwa plugin
030
Reposted by Joaquín Sánchez
patak @patak.cat · 14/04/2026
Awesome projects, great teams ✌️
0104
Reposted by Joaquín Sánchez
Vladimir @vladimir.berlin · 07/04/2026
@vitest.dev now has a new `--experimental.preParse` flag to avoid running all test files when you apply filters. For example, if you have `.only` tests or use `-t` or `--tags-filters` Vitest will now only run matching test files. Try it now! vitest.dev/config/exper...
Running tests with `--experimental.preParse` runs only a single test file unlike previously when it would only apply `.only` per test file
1478
Joaquín Sánchez @userquin.bsky.social · 31/03/2026
We're working on vite-plugin-pwa v2 version: - 🦾 workbox fork: from 340+ to just 20 dependencies ( @e18e.dev ) 🤯 - ⚡ @vite.dev 8 + Environment API support (v1 works with Vite 8) - 🔌 pwa plugin becomes modular, we don't need to hack integrations anymore (ala npmx.dev/package/serw... )
@vite-pwa/workbox-build with 9 dependencies at npmgraph.js.org
1304
Joaquín Sánchez @userquin.bsky.social · 31/03/2026
👀 I have no idea what's going on, but 2.5 million downloads per week is insane🎉🥳 🤗: npmx.dev/package/vite...
npmx.dev
vite-plugin-pwa - npmx
Zero-config PWA for Vite
180
Joaquín Sánchez @userquin.bsky.social · 23/03/2026
Moving packages to a monorepo is great... until you hit the GitHub Releases page. 🫠 ​Come on @github, it's 2026! We need real workspace support: 🏷️ Mark MULTIPLE packages as latest 🔄 Better sorting for tags/releases (save us from the alphanumeric inferno 🔥) ​#monorepos #github
3202
Reposted by Joaquín Sánchez
VoidZero @voidzero.dev · 10/12/2025
You can now break down import and transform times in @vitest.dev! This works in the Vitest UI, the terminal and also via the VS Code extension. Time to find out why tests are taking longer than expected! 👀 More in the docs vitest.dev/config/exper...
Title: Import and transform time breakdown

Three screenshots from the Vitest UI, the terminal and the VS Code Extension showing the time it takes to import a module.
1333
Reposted by Joaquín Sánchez
CyberAlien @cyberalien.dev · 27/11/2025
Published new major version of Iconify Tools. Changes: - Dropped CommonJS support - Massively reduced number of dependencies - New small XML parser Migration should be seamless, almost everything is the same. iconify.design/news/2025.ht...
iconify.design
Iconify
All popular icon sets, one framework
0181
Joaquín Sánchez @userquin.bsky.social · 25/10/2025
Hey @tomayac.com , with all respect for the foundational work done on Workbox, I'm starting a friendly fork under the @vite.dev PWA organization. The goal is to modernize the tooling (magicast, valibot) and codebase (full ESM for client/SW packages) to better fit modern build pipelines.
github.com
feat: add `workbox-build` package by userquin · Pull Request #1 · vite-pwa/workbox
Description This PR adds the workbox-build package: use valibot instead avj to validate options add vitest and validate tests removed webpack types This PR also adds a new subpackage export (typ...
280
Joaquín Sánchez @userquin.bsky.social · 22/10/2025
👀 github.com/unjs/magicas...
github.com
feat: Add support for `BinaryExpression`, `BlockStatement` and `FunctionExpression` nodes by userquin · Pull Request #136 · unjs/magicast
Description This PR enhances magicast by introducing support for proxifying and generating code for BinaryExpression, BlockStatement, and FunctionExpression AST nodes. This allows the library to co...
030
Joaquín Sánchez @userquin.bsky.social · 12/10/2025
Securing my npm publish workflow! 🔐 Migrating all my packages from local releases to a CI process using npm's Trusted Publishing (Provenance). It's incredibly easy with @sxzz.dev reusable GitHub workflow. Pure magic! ✨ github.com/sxzz/workflo... #npm #GitHubActions #CI #Security #OpenSource
github.com
workflows/.github/workflows at main · sxzz/workflows
A collection of reusable GitHub Actions workflows for TypeScript projects. - sxzz/workflows
171
Joaquín Sánchez @userquin.bsky.social · 14/08/2025
WTF so, using Safari, your data is not your data, can be deleted without any notice at any time, I'm adding in all my apps using PWA or indexedDB a big warning about using Safari, and a custom notice in the data processing policy page. This should be illegal: forced to add backup and restoration.
180
Joaquín Sánchez @userquin.bsky.social · 17/07/2025
doing some crazy experiment at work with vite-ssg app, with a custom service worker (with fallback page per page) and kotlin backend, simulating 3G: LCP 0.11 seconds 😍🤯 (with 20x CPU throttling LCP 2.1 seconds)
page refresh on 3G: Largest Contentful Paint 0.11 seconds
050
Reposted by Joaquín Sánchez
Anthony Fu @antfu.me · 01/07/2025
💖 This May and June, we have forwarded our Open Collective fund to support Maintainers: @9romise.bsky.social @productdevbook.com @rzmu.bsky.social @edison1105.bsky.social Projects: @esm.sh @pnpm.io @cyberalien.dev Join us to show appreciation for our dependencies and help them be sustainable!
opencollective.com
Anthony Fu Fund Redistribution, May and June 2025 - Anthony Fu Fund
Hello everyone! In May and June 2025, we raised the fund of $1,970.34, thanks to our awesome sponsors!...
25411
Joaquín Sánchez @userquin.bsky.social · 18/05/2025
👀 Working on the next @vuetify.bsky.social @nuxt.com module (v1.0.0) using `@unvuetify` packages. The new version will use the Vuetify options directly, the module will merge inlined Vuetify configuration and external configuration file:
merging Vuetify inlined configuration with Vuetify externacl configuration
071
Joaquín Sánchez @userquin.bsky.social · 16/05/2025
Released `vite-ssg` version `v27.0.0`, now it is ESM-only: github.com/antfu-collec...
github.com
Release v27.0.0 · antfu-collective/vite-ssg
🚨 Breaking Changes Move to ESM-only (CJS generation format also dropped)  -  by @userquin, Copilot, Kevin Marrec and Anthony Fu in #448 (eaa57)     View changes on GitHub
080
Reposted by Joaquín Sánchez
Emelia @thisismissem.social · 16/05/2025
After a tonne of work, Mastodon now uses @vite.dev for UI builds, dropping webpack: github.com/mastodon/mas...
github.com
Convert from Webpack to Vite (#34450) · mastodon/mastodon@c4f47ad
Co-authored-by: Renaud Chaput <renchap@gmail.com>
1744
Joaquín Sánchez @userquin.bsky.social · 04/05/2025
Now you can open `@unvuetify` monorepo or individual playgrounds at @stackblitz.com , added scripts and links at root and playgrounds readme files. Looks like using StackBlitz `?title='a title'` not working with GitHub links inside a table, using monorepo title, any idea how to fix this?
140
Joaquín Sánchez @userquin.bsky.social · 04/05/2025
Released `@unvuetify` packages version `v1.0.0` with a new `@unvuetify/nuxt-i18n-utils` package: you can now install @nuxt.com i18n module and use i18n with @vuetify.bsky.social github.com/userquin/unv...
github.com
Release v1.0.0 · userquin/unvuetify-monorepo
🚀 Features Add nuxt i18n utils package  -  by @userquin in #39 (2c61b)     View changes on GitHub
061
Reposted by Joaquín Sánchez
Artem Zakharchenko @kettanaito.com · 27/04/2025
The next major version of MSW will be ESM-only. I am tired of dealing with CJS. If you are blocked by this change, you should've invested into migrating to ESM long ago. I hope MSW will be one more motivator for you to do that. CJS has to go.
4491
Reposted by Joaquín Sánchez
Pooya Parsa @pi0.io · 23/04/2025
With srvx 0.5, you can easily run a server in the browser using service workers (experimental)! 👀 Demo: srvx.glitch.me
3555