Repolode
extension-js

extension-js/extension.js

Кроссбраузерный фреймворк для расширений с dev-сервером без настройки, hot reload и сборкой для Chrome, Edge, Firefox и Safari.

Звёзды
5,197
Форки
142
Открытые issues
5
Последний коммит
13 часов назад

Что это?

Extension.js — это CLI и набор инструментов сборки для разработки расширений браузера. Он позволяет собирать расширения для Chrome, Edge, Firefox и Safari из единой кодовой базы: по умолчанию используется Manifest V3, а различия между браузерами автоматически учитываются адаптерами.

В режиме разработки доступны hot module replacement для страниц popup, options и devtools, в том числе с компонентами React, Vue, Svelte и Preact. Content scripts и service worker перезагружаются точечно, поэтому сохранение файла не приводит к перезапуску всего расширения. Настраивать webpack или rollup не нужно.

CLI также умеет собирать production-бандлы, упаковывать их в ZIP для отправки в магазины, устанавливать управляемые бинарные файлы браузеров и запускать расширения напрямую по URL примера на GitHub. Инструмент работает на Node.js, Deno и Bun.

Ключевые возможности

  • 01Hot module replacement для страниц расширения и точечная перезагрузка content scripts и service worker
  • 02Настройка без конфигурации — не нужно поддерживать настройки webpack или rollup
  • 03Manifest V3 по умолчанию с адаптерами для Chrome, Edge, Firefox и Safari
  • 04Production-сборки упаковываются в ZIP для отправки в магазины
  • 05Управляемые бинарные файлы браузеров можно устанавливать через CLI
  • 06Встроенная поддержка TypeScript, React, Vue, Svelte и Preact

Сценарии использования

  • Создание кроссбраузерного расширения для публикации в Chrome Web Store и Firefox Add-ons
  • Добавление hot reload в существующее расширение с помощью одной devDependency
  • Запуск примера для Chrome с GitHub в Edge или Firefox для тестирования
  • Разработка интерфейса расширения на React, Vue, Svelte или Preact

Быстрый старт

  1. 1

    Создать новый проект с помощью CLI

    npx extension@latest create my-extension
  2. 2

    Перейти в папку проекта

    cd my-extension
  3. 3

    Запустить сервер разработки и открыть браузер

    npm run dev

Что важно знать

  • Для работы CLI требуется Node.js 22.12+, Deno 2.5+ или Bun 1.2+.
  • CLI не поддерживает Deno 2.8.0.

Темы

Частые вопросы

Что такое extension.js?
Кроссбраузерный фреймворк для расширений с dev-сервером без настройки, hot reload и сборкой для Chrome, Edge, Firefox и Safari. Extension.js — это CLI и набор инструментов сборки для разработки расширений браузера. Он позволяет собирать расширения для Chrome, Edge, Firefox и Safari из единой кодовой базы: по умолчанию используется Manifest V3, а различия между браузерами автоматически учитываются адаптерами.
extension.js можно использовать бесплатно? Какая у него лицензия?
extension.js распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
extension.js всё ещё поддерживается?
Активно поддерживается. Последний коммит в extension.js — 22 окт. 2026 г..
Для чего можно использовать extension.js?
Создание кроссбраузерного расширения для публикации в Chrome Web Store и Firefox Add-ons Добавление hot reload в существующее расширение с помощью одной devDependency Запуск примера для Chrome с GitHub в Edge или Firefox для тестирования Разработка интерфейса расширения на React, Vue, Svelte или Preact
Как установить extension.js?
Создать новый проект с помощью CLI: npx extension@latest create my-extension Перейти в папку проекта: cd my-extension Запустить сервер разработки и открыть браузер: npm run dev
Где скачать extension.js?
Исходный код и инструкции по установке — на GitHub: https://github.com/extension-js/extension.js

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты