Результат сборки
KILLSCRIPT загружает папку модуля или упакованный .KillScript, но не сам
TypeScript-проект. Поэтому CLI создаёт из одних исходников две формы:
- папочную сборку для установки и hot reload;
- упакованную сборку для распространения.
Сгенерированная папка
Заголовок раздела «Сгенерированная папка»Компилятор записывает .killscript/build/<ModuleName>/:
ModuleName/├── module.json├── config.json├── inputs.json├── scripts/│ ├── main.lua│ └── server.lua # Только Reflex-модуль├── images/ # Если существуют в public/├── sounds/├── ui/└── localization.csv| Путь | Источник |
|---|---|
module.json | Метаданные проекта из killscript.config.json |
config.json | Верхнеуровневые объявления defineSettings() |
inputs.json | Верхнеуровневые объявления defineControls() |
scripts/main.lua | Всё, достижимое из src/client/main.ts |
scripts/server.lua | Всё, достижимое из src/server/main.ts |
| Остальные файлы | Копия public/ с сохранением относительных путей |
Вложенные TypeScript-файлы статически объединяются в два entry script. Они не
превращаются в runtime-файлы для require(), поэтому ограниченный поиск путей
игры не мешает структуре исходников.
Установка для разработки
Заголовок раздела «Установка для разработки»killscript install и killscript dev синхронизируют папочную сборку сюда:
<игровая папка Modules>/<ModuleName>/Установленная папка сохраняет UUID проекта и marker владельца. CLI обновляет только отсутствующую папку, собственную управляемую папку или модуль с тем же UUID. Чужой модуль не будет молча перезаписан.
Во время разработки используется папка, чтобы при сохранении менять только
нужные файлы. Повторно импортировать .KillScript после каждого изменения не
нужно.
Релизный пакет
Заголовок раздела «Релизный пакет»npm run buildсоздаёт:
dist/ModuleName.KillScriptЭто архив с той же внутренней структурой папки, а не одиночный текстовый
скрипт. Пользователям передаётся этот файл; сам TypeScript-проект и временная
.killscript/ в пакет не входят.
Используйте killscript build --no-pack, если другому инструменту нужна только
сгенерированная папка.