Кажется, я наконец-то готов поделиться тем, над чем работал с сентября.
В последнее время я часто работаю с Vuex ORM. Можно долго рассуждать о том, какие минусы и плюсы есть у библиотеки, или у концепции ORM в целом, но факт очевиден: всё это есть, и всё это используют люди. У Vuex ORM 12К загрузок в неделю: не то чтобы сильно впечатляющий показатель, но всё же.
Что меня расстраивало, так это то, что для других фреймворков и библиотек — в частности, для React — ничего подобного не было. Я решил попробовать написать что-то обобщённое, что можно было бы использовать с чем угодно, хоть с обычным JS-объектом. Набив шишек в попытках сделать всё с нуля, я решил обратить внимание на Vuex ORM Next. Взял его код за основу, отрефакторил всё, отвязал от Vuex и Normalizr, и вот — Rattus ORM.
Подключение состоит из двух пакетов:
@rattus-orm/core + нужная вам интеграция. На сегодняшний день поддерживаются Vuex и Pinia для Vue, Redux, Mobx и Signals для React, и фреймворк-агностик версия для Local storage. В ближайших планах — Solid.js, Svelte и Angular.
Также планирую добавить асинхронщину, чтобы либу можно было использовать с запросами к API, например, или с sqlite. Первичные «болезни», насколько я могу судить, ликвидированы, поэтому я осмелился перешагнуть минорную версию — 0.1. В целом, код Vuex ORM Next достаточно стабилен, хоть давно и не обновлялся. Плюс, в процессе разработки провайдеров, я кое-чего подлатал.
Милости прошу
на сайт. Буду рад контрибьютам, issues и вашим отзывам.