Registry / database / ember-easy-orm

ember-easy-orm

JSON →
library1.0.2jsnpmunverified

An Ember.js addon (v1.0.2) that provides a lightweight ORM layer for AJAX requests (find, create, update, delete) and form mixins. It replaces ember-data with a simpler model layer based on EmberObject and a store service. Last updated in 2021, it targets Ember 4.3+ and Node 16+. Differentiators include easy integration with any REST API, built-in form handling mixins, and support for glimmer tracked properties. Release cadence is low, with only a few major versions since 2015.

npm install ember-easy-orm
INSTALL
IMPORT
SIG · EMBER-EASY-ORM
E
ember-easy-orm
databasejavascriptv1.0.2
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

model
import model from 'ember-easy-orm/mixins/model';
import model from 'ember-easy-orm';
Default export from the mixins/model module. Named exports like DS are also available.
store
import { inject as service } from '@ember/service'; // then use @service store;
import store from 'ember-easy-orm/services/store';
Store is automatically injected as a service; do not import the service module directly.
ajax
import ajax from 'ember-easy-orm/utils/ajax';
import { ajax } from 'ember-easy-orm';
ajax is a default export from utils/ajax, not a named export from the main package.

Defines a User model with the model mixin and uses the store service to fetch all users from /api/users.

// app/models/user.js import EmberObject from '@ember/object'; import model, {DS} from 'ember-easy-orm/mixins/model'; const {attr} = DS; export default EmberObject.extend(model, { url: '/api/users', init() { this._super(...arguments); this.model = EmberObject.extend({ name: attr('string'), email: attr('string') }); } }); // app/routes/index.js import Route from '@ember/routing/route'; import { inject as service } from '@ember/service'; export default class IndexRoute extends Route { @service store; model() { return this.store.find('user'); } }
Debug
Known issues
breakingVersion 1.0.0 rewrites to native classes; may break code using older EmberObject patterns.
fix
Update models to use native class syntax (extend EmberObject) and ensure Ember 4.3+.
affects: < 1.0.0
gotchaThis addon requires removing ember-data to avoid conflicts.
fix
Remove ember-data from package.json before installing ember-easy-orm.
affects: >=0.0.1
deprecatedEmber versions < 4.3 are not supported after 1.0.0.
fix
Upgrade Ember to 4.3 or later.
affects: < 4.3
gotchaThe model's URL property must be set in init() for correct behavior.
fix
Always set 'url' inside init() as shown in the README.
affects: >=0.0.1
Errors
Common errors & fixes
Assertion Failed: You cannot use 'ember-easy-orm' without removing 'ember-data'.
Both addons conflict when present simultaneously.
fix
Run 'ember uninstall ember-data' then reinstall or restart ember serve.
TypeError: Cannot read properties of undefined (reading 'extend')
Model mixin imported incorrectly or missing EmberObject dependency.
fix
Ensure import: import EmberObject from '@ember/object'; and import model from 'ember-easy-orm/mixins/model';
Error: Could not find module `ember-easy-orm/services/store`
Store service is automatically provided; manual import is not needed.
fix
Remove any explicit import of store service and use @service store instead.
Upgrade
Version history
1.0.2latest on npm
Audit
Dependencies
ember-cli-babelrequiredRequired for JS transpilation in Ember addon
Agent activity
8 hits · last 30 days
node
6
Resources
ember-easy-orm — npm install ember-easy-orm · libregistry