
Security News
AGENTS.md Gains Traction as an Open Format for AI Coding Agents
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
aurelia-breeze
Advanced tools
This library is a plugin for the Aurelia framework. It's goal is to make using Breeze with Aurelia as seamless as possible.
What's included:
Why does Aurelia need an adapter to observe Breeze entities?
Breeze entity properties have defined getters and setters created using Object.defineProperty. Properties defined in this manner are incompatible with Object.observe, Aurelia's preferred way to do data-binding. In situations where Object.observe cannot be used Aurelia falls back to dirty-checking which can be less performant. We can avoid dirty-checking by providing Aurelia with an adapter that knows to subscribe to the Breeze propertyChanged event in order to observe Breeze entities.
Which model libraries are supported with this plugin?
Breeze can create entities using a variety of model binding libraries such as Knockout and Backbone which provide great data-binding support for legacy browsers. Chances are if you're using Aurelia, legacy browser support is not a concern. The aurelia-breeze plugin only supports Breeze's native model library: "backingStore". Upon installation this plugin will make "backingStore" the default model library:
breeze.config.initializeAdapterInstance("modelLibrary", "backingStore", true);
Do I need jQuery?
No. Breeze doesn't force you to use a particular ajax implementation. By default it uses jQuery however it can be configured to use Angular's $http or even a custom ajax adapter. This is where we come in... this plugin provides Breeze with an ajax implementation that uses Aurelia's fetch-client.
Do I need Q?
No. Normally Breeze depends on Q for it's Promise implementation. Since you're using Aurelia which depends upon ES6 promises we can assume a Promise implementation is already defined. This means we can give Breeze an object that has a Q style API but uses ES6 Promises behind the scenes.
Are detached entities supported?
Yes. This is a beta feature and may be removed in a future release. More info here.
This guide uses jspm and assumes you've already setup your Aurelia project according to the guide here.
jspm install aurelia-breeze
jspm install breeze
export function configure(aurelia) {
aurelia.use
.standardConfiguration()
.plugin('aurelia-breeze'); // <--------<<
aurelia.start().then(a => a.setRoot());
}
import breeze from 'breeze';
var query = new breeze.EntityQuery();
...
This library can be used in the browser only.
To build the code, follow these steps.
npm install
npm install -g gulp
gulp build
You will find the compiled code in the dist
folder, available in three module formats: AMD, CommonJS and ES6.
See gulpfile.js
for other tasks related to generating the docs and linting.
To run the unit tests, first ensure that you have followed the steps above in order to install all dependencies and successfully build the library. Once you have done that, proceed with these additional steps:
npm install -g karma-cli
npm install -g jspm
jspm install
karma start
FAQs
A Breeze plugin for Aurelia.
The npm package aurelia-breeze receives a total of 20 weekly downloads. As such, aurelia-breeze popularity was classified as not popular.
We found that aurelia-breeze demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.