Создатель Vite на унифицированном javaScript Toolchain и Vite+

По словам Итана, вы, создатель Vite и JavaScript Framework Vue, будут преимущества для фреймворков, которые развертываются как плагины Vite, такие как Remix React Router, Tanstack и Redmond.

В настоящее время вы создаете новый, унифицированный инструмент для экосистемы JavaScript, и он предоставил обновленную информацию об этом проекте во время конференции JSNation 2025, которая проводилась в Амстердаме и частично представлена ​​на платформе Gitnation.

Он также представил идею Vite+, которая все еще находится в стадии разработки. Его цель состоит в том, чтобы сделать инструмент JavaScript, что груз делает для ржавчины — груз — это менеджер пакетов ржавчины и система сборки.

«REMIX React Router, Tanstack Start, Redwood SDK идут в этом направлении, этот очень умный способ использования VITE, а также будущие функции Vite+, потому что в будущем, когда вы отправляете свою структуру в качестве плагина Vite+, вы также сможете зацепить эти дополнительные команды», — сказали вы. «Возможность безгранична, когда у вас есть полная цепочка инструментов, доступная через интерфейс плагина».

Растущее число фронтальных рамок построено или мигрировало на сервер разработки, включая Angular, Astro Qwik, Redwood, Remix, Solid и Sveltekit. В конечном счете, его работа над Vite заставила вас поверить, что для JavaScript необходим лучший инструмент.

«Мы всегда думали о том, что мы можем сделать, чтобы сделать VITE лучше служить этой роли, и мы пришли к выводу, что VITE далеко не совершенен в его нынешнем состоянии», — сказал он.

«Если мы посмотрим на объединение и посмотрим на все зависимости более низкого уровня, которые нуждаются в Бундлере, (мы) поняли, что экосистема JS фактически страдает от фрагментации на каждом слое».
— Итан вы, создатель Vite и Vue

В частности, вы видели, что Vite опирался на сторонние зависимости, которые имели совпадающие обязанности.

«Проблема в том, что многие из этих инструментов имеют совпадающие обязанности. Они написаны на разных языках», — сказал он. «Существует много проблем с эффективностью, когда вы передаете данные между этими инструментами, и все они имеют немного другое поведение, когда речь идет о объединении или трансформации».

Команда решила построить бундлер под названием Rolldown, с целью замены Esbuild и RULLUP — которые в настоящее время используются в качестве зависимостей — с одним унифицированным инструментом сборки.

Но это вроде тех, что «если вы дадите мышью книги печенья», где строительство связки означает, что им также нужно было выбирать, какой Linter использовать, какой трансформатор использовать и т. Д.

«Когда вы идете по кроличьей норе, вы понимаете, что вызов, с которой сталкивается Vite, действительно отражает экосистему JavaScript в целом», — сказал он. «Если мы посмотрим на объединение и посмотрим на все зависимости более низкого уровня, которые нуждаются в Бундлере, (мы) поняли, что экосистема JS фактически страдает от фрагментации на каждом слое».

Это приводит к усталости решения, и это ошеломляет среднего пользователя, который только начинает разработку JavaScript. В то время как процветающая экосистема JavaScript позволила разработчикам создавать более амбициозные приложения, поскольку язык созрел, это привело к «налогу на сложность для всех», сказали вы.

«Я считаю, что сейчас время, когда JavaScript заслуживает единой цепочки инструментов», — сказал он. С этой целью он основал void (0), произнесенный «void Zero».

Фокус для void (0)

Есть четыре основных произведения, над которыми работает void (0) команда:

  • Быстро
  • Механизмтестовый бегун, который можно использовать отдельно в любом проекте JavaScript.
  • Роллдунrust bundler для javaScript/typescript с API-совместимым с подкором. Он поддерживает VITE и Vitest внутри. Первоначально он был создан Инаном Лонгом, но теперь возглавляется вами. В настоящее время он находится в 1,0 бета -статусе, по вашему мнению. «Вы уже можете использовать его почти как замена роста, и вы увидите отличные улучшения производительности»,-сказали вы. Он поставляется со встроенным разрешением узла, поэтому разработчикам не понадобится плагин для этого, добавил он. Он также поддерживает 90% совместимости интерфейса плагинов Rollup, поэтому, хотя он является пакетом ржавчины, он поддерживает плагины JavaScript, добавил он.
  • Пособиякомпилятор окисления JavaScript, представляет собой набор инструментов, которые включают в себя Linter, анализатор, резолювер, минивер (в настоящее время в статусе альфа) и форматер (все еще в стадии строительства). Первая стабильная версия Oxlint была выпущена 9 июня 2025 года.

Многие из инструментов уже завершены, включая анализатор, Linter, Resolver и Transformer для OXC.

«Большинство из этих вещей, которые мы построили, являются самыми быстрыми в его собственной категории, даже по сравнению с другими решениями, также написанными на родных языках», — сказал он. «Паритор, линкер, резолвер, трансформатор, все это быстрее всего по категории. Минификатор является вторым самым быстрым, но он также имеет более высокий коэффициент сжатия, чем самое быстрое решение, поэтому он по -прежнему является очень приличным выбором».

В будущем есть планы по улучшению коэффициента сжатия миниверста, добавил он.

Обновление на наборе инструментов OXC

Это помогает немного понять, как все инструменты функционируют, чтобы понять, что вы создаете.

Сигнал принимает необработанный код JavaScript и преобразует его в структурированное иерархическое представление, называемое абстрактным синтаксическим деревом (AST). AST-это деревоподобная структура данных, где каждый узел представляет конструкцию в коде-например, объявление переменной, вызов функции или оператор IF. Это грамматическая структура и содержание программы, без «поверхностных» деталей, таких как пробелы или комментарии.

Стоипсер полностью и недействительный (0) тесты обнаружили, что он в три раза быстрее, чем компилятор на основе ржавчины Speedy Web Compiler (SWC), который включает в себя анализатор.

The Oxc Toolkit, созданный командой Evan You.

AST — это фундаментальный вклад, необходимый для почти любого другого инструмента JavaScript для выполнения своей работы.

Минификаторы используют AST, чтобы безопасно переименовать переменные, удалить мертвый код и оптимизировать структуру кода без изменения его функциональности. Он в основном лишает всех ненужных символов из исходного кода, не изменяя его функциональность. Такие инструменты, как WebPack, Rollup, Vite, Terser (популярный минивер JavaScript) и Esbuild, включают в себя минимификацию как часть своего конвейера оптимизации.

Linters обеспечивает соблюдение стилей кодирования, выявляет потенциальные ошибки или выделяет подозрительные шаблоны.

Бундлеры, такие как Webpack, SWC и Rollup, разрабатывают отдельные модули в AST, чтобы понять их зависимости и эффективно объединить их. Для производства сборка выступает в качестве пучка, используя ROLLUP для компиляции и оптимизации кода приложения в эффективные, готовые к производству пакеты. VITE также можно использовать с Speedy Web Compiler (SWC), который представляет собой компилятор JavaScript и TypeScript, написанный в ржавчине, который также можно использовать для объединения. VITE работает над собственным пучком, который называется Rolldown.

Форматиры кода разрабатывают код в AST, а затем распечатайте его в постоянном стиле. Void (O) завершил форматер прототипа, но он еще не доступен для использования.

Транспалисты принимают AST, например, современный JavaScript и преобразуют его в другой AST, например, старый JavaScript, прежде чем преобразовать его обратно в код. Void (O) создал совместимый с вавиком трансформатор, который преобразует TypeScript в ESNEXT и реагирует JSX в ESNEXT. Трансформеры — это более широкая категория инструментов, которые изменяют код различными способами и, следовательно, включают транспористы.

Скоро: VITE+

VITE+ все еще находится на ранней стадии разработки, но идея происходит от Cargo, который является менеджером Rust’s Package и системой сборки.

«Если вы работали с Rust, вы, вероятно, знаете, что груз-это цепочка инструментов, все в одном, может удовлетворить большую часть потребностей в рабочем процессе в разработке во время разработки ржавчины»,-сказали вы. «В JavaScript нет ничего подобного, и Veite+ — именно то, что мы пытаемся создать, чтобы выполнить эту роль».

По его словам, разработчики смогут указать своим менеджеру пакета на счете+ и быть полезными.

«Все, что работает в сегодняшнем Vite, будет продолжать работать точно так же, но командная строка Vite просто становится более мощной», — сказал он. «Теперь он оснащен дополнительными командами, такими как Vite Lib, который предназначен для объединения библиотеки, тестирования Vite и скамейки на скамейке для формата, вызовы для строительства проектов, задачи Vite для оркестровки задач MonorePo и создать кэширование».

У него будут инструменты GUI DEV, аудиты рабочей области и обеспечение соблюдения политики для предприятий. Команда также, вероятно, отправит VITE+ с интеграцией ИИ через встроенный сервер MCP, добавил он. По его словам, есть также дополнительная поддержка Monorepos.

«Vite+ будет осведомлен Monorepo, что означает, что у нас будут трубопроводы, построить, оркестровку, кэширование-аналогично Turborepo-и у нас будет первоклассное концептуальное рабочие пространства и обеспечение политики»,-сказали вы.

Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Loraine Lawson — ветеран -репортер, который в течение 25 лет освещал технологические проблемы от интеграции данных до безопасности. Прежде чем присоединиться к новому стеку, она работала редактором Banking Technology Site Bank Automation News. Она … читайте больше от Лорейн Лоусон

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *