Расширение для Chrome, Edge и Firefox на Manifest V3, которое определяет технологии, используемые на веб-странице.
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
Создать новый проект с помощью CLI
npx extension@latest create my-extension - 2
Перейти в папку проекта
cd my-extension - 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 обновляется ежедневно.
Похожие проекты
Расширение для браузера, которое переопределяет HTTP-заголовки запросов и ответов, а также cookies с помощью локальных правил и профилей с фильтрацией по URL.
Браузерное расширение, которое упрощает интерфейс GitHub и добавляет возможности для репозиториев, issues, PR и уведомлений.
Расширение для Chrome, Firefox, Safari, Edge и Thunderbird, которое создает темную тему для веб-страниц и снижает нагрузку на глаза.
Фреймворк для браузерных расширений на React и TypeScript, который берет на себя настройку manifest, сборки и live reload для Chrome, Firefox и Edge.
Расширение для браузера, которое сохраняет веб-страницу целиком, вместе со стилями и изображениями, в одном автономном HTML-файле.