Создатель модуля
Создайте свой первый модуль Fabled
Установите интерфейс командной строки модуля, создайте правильный пакет и изучите файлы, которые он создает.
Предварительные требования
- Node.js 20.20 или новее. Сам веб-репозиторий Fabled в настоящее время требует ^20.20.0 или >=22.22.0.
- Аккаунт Fabled. Для публикации также требуется доступная служба сопряжения модулей CLI и активное пространство имен издателя.
- Публичная начальная загрузка: @fabledgg/module-cli доступен в npm под тегом distrap начальной загрузки, а версия 0.1.0 остается зарезервированной для выпуска после слияния.
Запустите публичную загрузку
Попробуйте текущий общедоступный интерфейс командной строки непосредственно из npm, не устанавливая его глобально:
npx @fabledgg/module-cli@bootstrap module --helpВ оставшейся части этого руководства используется установленная бинарная команда fabled module. Если вы вносите свой вклад в сам веб-репозиторий Fabled, вместо этого вы можете использовать npm run modules:cli -- module.
npx @fabledgg/module-cli@bootstrap module init my-dice \
--publisher-id my-studio \
--publisher-name \"My Studio\"Выберите стиль установки
Рекомендуемая разовая форма не требует глобальной установки:
npx @fabledgg/module-cli@bootstrap module --helpДля командного проекта установите начальную загрузку в качестве зависимости разработки, чтобы package-lock.json записывал решенную версию, а локальная проверка и проверка CI использовали одну и ту же сборку контракта.
npm install --save-dev @fabledgg/module-cli@bootstrap
npx fabled module --helpГлобальная установка не является обязательной. Он предоставляет тот же легендарный двоичный файл, но закрепленную локальную версию проекта легче воспроизводить и проверять.
npm install --global @fabledgg/module-cli@bootstrap
fabled module --helpСоздайте проект
fabled module init my-dice \
--publisher-id my-studio \
--publisher-name "My Studio"Каталог не должен еще существовать. Скаффолд создает пример Dice & Chat с каноническим файлом fabled.module.json, проверенным действием игры в кости, принадлежащим хосту фреймом Dice Tray и файлом английской локали. Измените пул локального модуля с помощью --module-id и отображаемое имя с помощью --name.
my-dice/
├── fabled.module.json
├── actions/roll.json
├── frames/dice-tray.json
└── locales/en.jsonСделайте первую проверку
fabled module validate my-dice
fabled module pack my-dice --output my-dice.zip
fabled module inspect my-dice.zipЧистая проверка подтверждает, что пакет соответствует локальному контракту v1. Он не утверждает, не устанавливает, не активирует и не выполняет модуль.