Releases: wmakeev/moysklad
Внесение изменений для расширения возможностей работы с ошибками запросов
0.11.0 (2022-11-23)
Внесение изменений для расширения возможностей работы с ошибками запросов.
Все подробности в документации по указанным в описании ключевым словам.
Изменения:
-
⚡️ (fetchUrl) Опция запроса
muteErrors
deprecated, нужно использоватьmuteApiErrors
. Теперь опция не игнорирует любые ответы (Response) с кодом отличным от2xx
, а игнорирует только те, которые содержат тело в формате JSON которое соответствует формату ошибки МойСклад (объект с полемerrors
). Все прочие ошибки выбрасываются. -
⚡️ Библиотека не тестируется на версиях Node.js <16.8 (связано с переходом на
undici
как рекомендуемой реализации fetch). Нет проблем оставить поддержку и более ранних версий ноды, но нужно дописывать тесты для разных версий, на что пока нет времени, желания и потребностей (если вдруг для вас это важно пишите Issue и в телеграм @wmakeev) -
⚡️ (build) Сборка библиотеки перенесена в папку
bundle/umd/moysklad.js
-
➕ (boild) добавление минифицированной версии сборки
bundle/umd/moysklad.min.js
-
➕ (fetchUrl) добавление опции запроса
rawRedirect
-
➕ (fetchUrl) добавление опции запроса
muteCollectionErrors
-
➕ (buildUrl) добавление параметра
requestId
в события выполнения запроса -
➕ (errors) добавление ошибки
MoyskladCollectionError
для случая полученной коллекции содержащий элемент с ошибкой -
➕ (errors) добавление ошибки
MoyskladUnexpectedRedirectError
для случая получения ответа с редиректом, тогда когда он явно не ожидается -
➕ (buildUrl) вывод deprecated сообщения при передаче параметра
path
ввиде массива -
➕ (export) добавление некоторых статических методов из внутренних функций, которые могут быть полезны сами по себе (
buildFilter
,buildQuery
) -
➕ (typings) отметка deprecated сигнатур методов
-
➕ (typings) добавление тайпингов для событий запросов и других новых публичных API добавленных в этой версии; доработка описаний
-
✏️ (getTimeString) удаление упоминания логики для корректировки часового пояса (глобальная переменная
MOYSKLAD_TIMEZONE
) добавленное в версии 0.8.0 - по всей видимости не самое удачное решение -
🛠 (fetch) замена рекомендуемой библиотеки для выполнения запросов
node-fetch
на более актуальнуюundici
(есть ряд замечаний касательно того чтоundici
, судя по всему, использует часть API из Node.js 17+) -
🧪 добавление и обновлене тестов
-
✏️ (docs) исправления, доработки и дополнения согласно новым функциям
-
✏️ (examples) добавление новых примеров в папке
examples
-
✏️ (todo) обновление TODO.md
-
✨ (env) переход на Prettier,
-
🛠 (env) переход на webpack для сборки бандла
-
🛠 (env) переход на с8 для coverage
-
🛠 (env) обновление старых и удаление ненужных зависимостей
-
🛠 (env) новая система публикации версий проекта
TODO
-
Требуется еще вычитать документацию, возможно поправить кое-где примеры и обновить описания.
-
Добавить примеры для работы в браузере (в контексте приложения МойСклад)
v0.9.0
v0.9.0
- ⚡️ (apiVersion) По умолчанию используется версия Remap API 1.2
0.8.2
-
⚠️ (time) Исправление некорректного разбора и формирования миллисекунд в строке времени -
🔧 (typings) Значение поля в фильтре может быть
undefined
0.8.0
-
🛠⚡️ (filters) При формировании фильтра все даты преобразуются включая миллисекунды.
-
➕ (time) Добавление возможности явно указывать часовой пояс через глобальную переменную
MOYSKLAD_TIMEZONE
. Используется когда нельзя настроить часовой пояс машины и нужно работать с датами в ином поясе. -
➕ (errors) Добавление ошибки
MoyskladRequestError
, которая включает в себя дополнительную информацию из запроса.MoyskladApiError
наследуется отMoyskladRequestError
. -
🛠⚡️ (tests) Проведение тестов только для node.js версии 12 и выше.
0.7.0
0.7.0
-
➕ (buildQuery) если при выполнении запроса указан
expand
, но не указанlimit
, тоlimit
будет подставлен автоматически со значением100
(в remap 1.2expand
не применяется для запросов без указанияlimit<=100
) -
➕ (buildQuery) для описания поля
order
может использоваться нотация ввиде массива, напр.[['name', 'asc]]
-
🧪 (typings) добавлен простой тест для валидации тайпингов
-
🛠 (typings) дополнение описания полей в тайпинге (поле
order
в запросе, полеredirect
в опциях) -
✏️ (docs) актуализация документации
-
🧪 тесты вынесены в отдельную папку; небольшой рефакторинг для увеличения покрытия
-
🛠 прочий рефакторинг
0.6.2
-
🔧 (filter) добавление возможности указазывать значение фильтра как undefined (ключ фильтра в этом случаем будет опущен)
-
🔧 (typings) исправление ошибок
0.6.0
-
⚡️ (events) замена в объекте события параметра
uri
наurl
emitter.on('request', ({ url, options }) => { console.log(`${options.method} ${url}`) })
-
➕ (auth) добавление авторизации по токену
-
🔧 (typings) исправление сигнатуры для методов
GET
,PUT
, ... (не строгая типизация через any) -
🛠 (typings) добавление поля
Moysklad.Options.emitter
-
✏️ (typings) добавлена документация по параметрам аутентификации
-
✏️ (docs) доработка документации (События, Аутентификация и пр.)
-
🧪добавлены тесты
0.5.2
- Небольшое исправление в типах
0.5.1
TypeScript typings 🥳🎉
Добавлены тайпинги с описанием и примерами.
0.5.0
- ➕ добавлены опции
precision
иwebHookDisable
для включения в запрос заголовковX-Lognex-Precision
иX-Lognex-WebHook-Disable
соотв. - ⚡️ метод
DELETE
возвращаетundefined
(ранее, по умолчанию, метод вызывался с опциейrawResponse
и возвращал объектResponse
) - ⚡️ убрана поддержка старых версий node.js (библиотека с текущей версии тестируется на node.js 8.10)