Перейти к основному содержимому
Fabled

Создатель модуля

Создайте свой первый модуль 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. Он не утверждает, не устанавливает, не активирует и не выполняет модуль.