Ashley Willis is GitHub’s Senior Director of Developer Relations, where she focuses on open source, community, and developer advocacy. Her work combines leadership, accessibility, and inclusion, with an emphasis on making technology more human and building resilient teams.
### Leadership and Advocacy
- Leads developer relations at GitHub.
- Advocates for developers and open-source contributors.
- Amplifies underrepresented voices in technology.
### Community and Accessibility
- Builds supportive, inclusive spaces for contributors.
- Focuses on creating tools that genuinely serve their users.
- Works at the intersection of leadership, advocacy, and accessibility.
Overall, Willis’s career centers on strengthening developer communities and making technology more inclusive, accessible, and human.
es-toolkit began as Toss’s effort to create a modern alternative to lodash, removing legacy code and optimizing for current JavaScript environments. By focusing on common use cases, it achieved 2–10× faster performance and reductions in bundle size of more than 30×. Community adoption, compatibility tooling, and contributions to major projects eventually pushed it beyond 20 million weekly npm downloads.
## Why es-toolkit Was Created
- Developers frequently needed utilities such as `throttle`, `debounce`, and `uniq`, but existing options had drawbacks.
- lodash contained legacy implementations, Internet Explorer workarounds, and limited ECMAScript Modules support.
- Even `lodash-es` mainly added ESM support without modernizing the underlying code.
- Toss had maintained its own `@toss/utils`, but handling utility-function edge cases internally was burdensome.
- es-toolkit’s goal was to remove unnecessary logic, improve performance, and produce smaller bundles for modern web applications.
## Performance and Bundle-Size Improvements
- Reimplementing core lodash-style functions produced:
- At least 2× faster execution for some functions.
- More than 10× faster execution for others.
- Using modern built-ins such as `Array#map` eliminated compatibility code.
- Bundle sizes were reduced by more than 30× in some cases.
- The project was designed around the most common use cases rather than every historical edge case supported by lodash.
## Growth Through the Open-Source Community
- The first release was shared through Toss’s frontend social channels and quickly attracted users and contributors.
- Contributors added missing functions, fixed bugs, and optimized implementations.
- After promotion on international developer communities, the project received more than 100 recommendations and tens of thousands of repository visitors.
- Blogs and newsletters helped extend its reach.
- Community members created migration plugins and independently replaced lodash dependencies in other libraries.
## From Contributor to Maintainer
- Toss Bank developer Dayong first joined as an external contributor, submitting small pull requests.
- Reviewing and designing interfaces for es-toolkit provided valuable experience with JavaScript and API design.
- Continued contributions eventually made her the project’s second-largest contributor and helped lead to her joining Toss Bank.
- The project also demonstrated how an open-source initiative can connect contributors across companies and countries.
## Lowering the Migration Barrier with `es-toolkit/compat`
- Adoption was initially slow because applications often imported many lodash functions throughout their codebases.
- Replacing every import manually would make migration expensive and risky.
- es-toolkit’s standard implementations also differed from lodash in some edge cases.
- `es-toolkit/compat` was introduced as a drop-in replacement:
- It preserves lodash-compatible interfaces and behavior as much as possible.
- It modernizes the internal implementations.
- Projects can gain performance and bundle-size benefits with minimal code changes.
- This helped major projects such as Storybook, Mermaid, Yarn Berry, and Recharts adopt es-toolkit.
## Future Direction
- es-toolkit plans to help more JavaScript libraries reduce their bundle sizes and improve efficiency.
- It aims to add modern utilities, including:
- `filter`-style functions for `Map` and `Set`.
- Promise-based helpers such as `delay`.
- Server-oriented utilities for Node.js, Deno, and Bun.
- New functions such as `exec` are intended to provide essential functionality with smaller implementations than competing libraries.
- The project plans to maintain its core principle: optimize for more than 80% of common use cases while remaining small, fast, and high quality.
es-toolkit’s success shows that a focused, modern implementation can replace widely used legacy utilities when it combines measurable technical benefits with strong migration support and active community participation.
VoidZero, the company behind Vite, Vitest, Rolldown, Oxc, and Vite+, is joining Cloudflare, with its entire team moving over. The projects will remain open source, MIT-licensed where applicable, vendor-agnostic, and community-driven. Cloudflare says the acquisition will provide more engineering resources while preserving portability and independent community governance.
## Open Source and Vendor Neutrality
- Vite and the other VoidZero projects will continue to be developed in the open.
- Applications built with Vite will remain deployable anywhere, not only on Cloudflare.
- Evan You and the VoidZero team will continue leading the projects.
- Cloudflare plans to invest engineering resources rather than redirect the projects toward its own platform.
- Cloudflare is committing $1 million to a Vite ecosystem fund for maintainers and contributors, administered by the Vite core team.
## Vite as a Shared Foundation
- Vite underpins a broad range of frameworks and tools, including Vue, SvelteKit, Nuxt, Astro, Solid, Qwik, Angular, React Router, and TanStack Start.
- The authors describe Vite as a neutral foundation for the JavaScript ecosystem rather than a framework tied to one provider.
- Cloudflare’s earlier investment in Astro is presented as an example of how it intends to support open-source projects while keeping them portable.
## The Environment API and Cloudflare Integration
- Cloudflare and Vite began collaborating in 2024 on the Vite Environment API.
- The API allows server-side code to run in non-Node.js runtimes during development.
- Cloudflare’s Vite plugin runs application code locally inside **workerd**, the same open-source runtime used by Workers in production.
- Services such as Durable Objects, D1, KV, R2, Workflows, Workers AI, Agents, Service Bindings, and Workers RPC can therefore be tested locally using the production runtime model.
- The approach keeps Vite’s integration generic: other runtimes can implement their own provider-specific plugins without requiring a Cloudflare-specific development server.
- Vite reportedly reaches about 129 million weekly downloads, while the Cloudflare Vite plugin approaches 14 million.
## AI-Driven Development
- AI agents now use development tools directly, including project scaffolding, dev servers, testing, linting, formatting, error handling, and deployment workflows.
- Agent-driven development increases the importance of:
- Fast builds and tests
- Fast linting and formatting
- Structured, actionable errors
- Consistent command-line interfaces
- VoidZero’s tools—Vitest, Rolldown, Oxc, Oxlint, and Oxfmt—are designed for repeated, automated feedback loops.
- Vite+ combines these tools behind a unified CLI and configuration model, reducing complexity for both developers and agents.
- Cloudflare is using the tools internally: its dashboard runs on Vite, Oxlint is reducing engineering effort, and the Flue agent framework is adopting Vite and the official Cloudflare plugin.
Cloudflare’s stated priority is to preserve the trust and portability that made Vite widely adopted. The practical takeaway is that the acquisition is intended to expand Vite’s resources and runtime integrations without turning it into a Cloudflare-only platform.