# Официальный модуль Catapulto для WordPress

## Мануал по подготовке релизов

Модуль поддерживает работу с корзиной как старого, так и нового формата, для этого разработано две реализации: по "старой" схеме (с применением внедряемых HTML вставок и инжектированием JS файлов в страницу), так и нового формата в виде сборки на ReactJS.

Исходная папка с работой оформления заказа на ReactJS находится в папке "Frontend" в корневой папке модуля, при сборке модуля необходимо удалять ее из конечного архива. Для работы исходный код ReactJS необходимо собрать.
Для этого - установить необходимые зависимости сборки при помощи команды:
```javascript
npm install
```
в результате чего появится папка node_modules, а затем выполнить
```javascript
npm run build
```
после чего появится папка build, которую **необходимо включить в состав собираемого модуля**.

Файлы composer.json, package.json, package-lock.json, webpack.config.js и этот файл - readme_build.md так же лучше из конечной сборки удалить.

# Особенности библиотек
Если планируется выкладывать модуль в официальный маркетплейс WordPress, то следует учитывать факт, что WordPress запрещает работать модулям при помощи реализации библиотеки CURL (которая используется в большинстве модулей). Вместо этого следует использовать встроенный механизм отправки запросов и получения ответов WP.
Библиотека CatapultoApplication модифицирована и принимает последним аргументом класс клиента, который в итоге будет отправлять запросы и получать ответы (по умолчанию - стандартный CURL).
### Это важно!!!
Здесь используется клиент WPClient, который удовлетворяет требованиям WP. Для успешного прохождения модерации в сборке следует **удалить основной файл клиента:** ***Api\Client\CurlClient***



