Skip to content

Releases: wmakeev/moysklad

Внесение изменений для расширения возможностей работы с ошибками запросов

23 Nov 11:02
Compare
Choose a tag to compare

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

03 Oct 07:34
Compare
Choose a tag to compare
v0.9.0 Pre-release
Pre-release

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

29 Mar 07:37
Compare
Choose a tag to compare
0.7.0 Pre-release
Pre-release

0.7.0

  • ➕ (buildQuery) если при выполнении запроса указан expand, но не указан limit, то limit будет подставлен автоматически со значением 100 (в remap 1.2 expand не применяется для запросов без указания limit<=100)

  • ➕ (buildQuery) для описания поля order может использоваться нотация ввиде массива, напр. [['name', 'asc]]

  • 🧪 (typings) добавлен простой тест для валидации тайпингов

  • 🛠 (typings) дополнение описания полей в тайпинге (поле order в запросе, поле redirect в опциях)

  • ✏️ (docs) актуализация документации

  • 🧪 тесты вынесены в отдельную папку; небольшой рефакторинг для увеличения покрытия

  • 🛠 прочий рефакторинг

0.6.2

11 Oct 15:56
Compare
Choose a tag to compare
0.6.2 Pre-release
Pre-release
  • 🔧 (filter) добавление возможности указазывать значение фильтра как undefined (ключ фильтра в этом случаем будет опущен)

  • 🔧 (typings) исправление ошибок

0.6.0

23 Aug 10:16
Compare
Choose a tag to compare
0.6.0 Pre-release
Pre-release
  • ⚡️ (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

14 Aug 18:44
Compare
Choose a tag to compare
0.5.2 Pre-release
Pre-release
  • Небольшое исправление в типах

0.5.1

14 Aug 18:42
Compare
Choose a tag to compare
0.5.1 Pre-release
Pre-release

TypeScript typings 🥳🎉

Добавлены тайпинги с описанием и примерами.

0.5.0

14 Aug 13:25
Compare
Choose a tag to compare
0.5.0 Pre-release
Pre-release
  • ➕ добавлены опции precision и webHookDisable для включения в запрос заголовков X-Lognex-Precision и X-Lognex-WebHook-Disable соотв.
  • ⚡️ метод DELETE возвращает undefined (ранее, по умолчанию, метод вызывался с опцией rawResponse и возвращал объект Response)
  • ⚡️ убрана поддержка старых версий node.js (библиотека с текущей версии тестируется на node.js 8.10)