create-looper-app
v1.0.6
Published
Interactive installer for Looper Module Federation 2.0 monorepos
Maintainers
Readme
create-looper-app
CLI-установщик для старта Looper — монорепозитория на Module Federation 2.0 (Rspack + React 19).
Один вызов создаёт готовый проект: shell-хост, MF-remote, общий пакет @looper/shared, dev/prod-скрипты и (по умолчанию) подключение UI-kit ui-looper с CDN. Локальный процесс на порту 3030 не нужен.
Полный reference с четырьмя remotes, embed, e2e и виджетами — в репозитории looper. Этот пакет разворачивает облегчённый шаблон starter-minimal (shell + app1).
Быстрый старт
npx create-looper-app@latest
# или
npm create looper-app@latestИнтерактивно спросит имя проекта, установит зависимости, при желании сделает git init и запустит npm run dev.
Готовый проект: http://localhost:3000 (shell), remote app1 — :3002.
Что попадает в проект
| Часть | Назначение |
|--------|------------|
| packages/shell | Host: меню, роутинг, eager shared (React, Router, @looper/shared) |
| packages/app1 | Пример MF-remote (./App), subnav, страницы |
| packages/shared | Типы меню, FederatedApp, провайдеры, хелперы MF |
| scripts/ | Кроссплатформенные Node-скрипты (порты, MF dev, CSP) — Linux, macOS, Windows |
| docker/ | Опционально: prod-профиль Docker Compose |
Стек: Rspack 2, @module-federation/enhanced, React 19, react-router 7, npm workspaces.
Неинтерактивный режим
npx create-looper-app@latest my-app -- \
--template minimal \
--ui cdn \
--ui-version v1.0.0 \
--docker compose \
--git yes| Флаг | Значение по умолчанию | Описание |
|------|------------------------|----------|
| --template minimal | minimal | Шаблон монорепы; full-demo — подсказка клонировать looper |
| --ui cdn | cdn | ui-looper с GitHub Pages; none — без UI-kit |
| --ui-version | v1.0.0 | Тег CDN, напр. v1.0.0 → …/ui-looper/v1.0.0/remoteEntry.js |
| --docker | compose | Файлы Docker; none — удалить docker/ и docker-compose.yml |
| --no-install | — | Не запускать npm install |
| --no-start | — | Не запускать dev-сервер после создания |
| --start | — | Принудительно запустить npm run dev |
| --git no | yes | Не делать git init |
Без npm registry
Из клона looper:
node create-looper-app/bin/create-looper-app.js my-app
cd my-app && npm install && npm run devИли установочный скрипт: scripts/install-looper.sh (см. INSTALL.md).
Требования
- Node.js ≥ 20
- npm (workspaces)
- Для публикации пакета на npm — аккаунт с доступом к
create-looper-app
Ссылки
- Looper (reference monorepo)
- ui-looper (компоненты + CDN)
- CDN:
https://evgenyabc.github.io/ui-looper/v1.0.0/remoteEntry.js
Публикация пакета (maintainer)
Публикуется из корня репозитория looper:
npm login
NPM_OTP=123456 npm run ship:cliNPM_OTP — шестизначный код из приложения 2FA (Google Authenticator и т.п.), если на npm включена двухфакторная аутентификация. Без 2FA достаточно npm run ship:cli — npm запросит пароль при необходимости.
Версия берётся из create-looper-app/package.json; после publish доступно npx create-looper-app@latest.
