OriaTheme
GitHub

Справочник по API · Интерфейс командной строки исходного компонента

@oriatheme/cli

Безопасное копирование редактируемого исходного кода React/Vue ThemeEditor в потребительский проект; это не зависимость времени выполнения.

Упаковка и окружающая среда

Исполняемый файл Node. Обычно запускается один раз через pnpm dlx, npm exec, Yarn dlx или Bunx вместо добавления его в пакет браузера.

bash
pnpm add -D @oriatheme/cli

Используйте менеджер пакетов и файл блокировки, уже выбранный потребительским проектом. В примерах используется только экспорт корня пакета; не выполняйте глубокий импорт из шаблонов src, dist или реестра.

Programmatic export

ЭкспортПодписьОписание
runCli(args: readonly string[], cwd?: string) => Promise<CliResult>Запускает CLI программно и возвращает код выхода плюс строки вывода.

Общие команды

bash
pnpm dlx @oriatheme/cli@latest add theme-editor --framework react --dry-run

add печатает план и по умолчанию завершает работу с кодом 2; пишет только --yes. --dry-run не выполняет записи и завершается с кодом 0. Используйте --path для внутрипроектной цели и vue в качестве основы для Vue. После проверки замените --dry-run на --yes через тот же бегун; используйте этот бегун с редактором тем diff --framework, реагирующим на различия.

Редактор тем реестра теперь имеет версию 0.2.0, отображает oria-standard@2 и требует @oriatheme/core@^0.3.0 в потребительском проекте. Вторая команда предварительно создает статический мост Tailwind CSS v4 и записывает только сгенерированный CSS в файл --out:

bash
oria theme tailwind-bridge --out src/oria-tailwind.css
oria theme tailwind-bridge --prefix acme --out src/oria-tailwind.css --dry-run

Безопасность перед записью

CLI проверяет манифесты, структуру, совместимые версии, относительные пути, размеры файлов и SHA-256. Он отклоняет сценарии, HTTP, escape-пути и цели символических ссылок. По умолчанию он отказывается от перезаписи; diff никогда не записывает, а --overwrite требует явного --yes. CLI не запускает сценарии жизненного цикла реестра и не загружает темы или файлы проектов.