Git Product home page Git Product logo

emberfire's Introduction

EmberFire (Firebase + Ember Data)

Build Status Version Monthly Downloads Ember Observer Score

EmberFire is the officially supported adapter for using Firebase with Ember Data.

IMPORTANT NOTICE: If you require embedded records, there is a bug in Ember Data that prevents them from working in 1.13.0 - 1.13.5, you will need to use 1.13.6 or higher

Join the Firebase + Ember Google Group to ask technical questions, share apps you've built, and chat with other developers in the community.

Compatibility

Please consult this table when selecting your version of EmberFire:

Ember Data EmberFire
beta.12 - beta.18 1.4.x
beta.19 none
1.13+ 1.5.x
2.0+ 1.6.x
canary master

To install the master branch, use ember install firebase/emberfire#master

Installation

To install EmberFire as an addon with ember-cli, run the following command within your app's directory:

$ ember install emberfire

This will create a app/adapters/application.js. All you need to do is update your Firebase database url in config/environment.js and allow connections to the Firebase servers:

// config/environment.js
  var ENV = {
    // ...
    firebase: 'https://YOUR-FIREBASE-NAME.firebaseio.com/',
    // ...
    contentSecurityPolicy: {
      'connect-src': "'self' https://auth.firebase.com wss://*.firebaseio.com"
    }
    // ...

Your Firebase data will now be synced with the Ember Data store. For detailed EmberFire documentation, check out the quickstart or guide in the Firebase docs.

Nested Addon Usage Caveat

To publish an addon that exports functionality driven by EmberFire, note that EmberFire must be listed in the dependencies for NPM and not the devDependencies.

When consuming an addon that consumes EmberFire, running the initializing generator by hand is required.

ember generate ../node_modules/your-addon/node_modules/emberfire/blueprints/emberfire

Using EmberFire without ember-cli

EmberFire also works without ember-cli. See the Firebase documentation for instructions on getting started.

Contributing to EmberFire

If you'd like to contribute to EmberFire, run the following commands to get your environment set up:

Setup

  • git clone this repository
  • npm install -g ember-cli bower gulp phantomjs
  • npm install
  • bower install

Using your local EmberFire workdir in another local project

From your emberfire workdir

  • npm link
  • npm prune --production (removes dev dependencies, these can trip you up!)

From your app workdir

  • npm link emberfire

  • Update your package.json so that emberfire is in devDependencies and is set to version 0.0.0

    "devDependencies": {
      "emberfire": "0.0.0"
    

Running tests

  • ember test OR
  • ember test --server
Running tests against a specific version of ember-data
  • ember try <scenario> where <scenario> is one of the scenarios in config/ember-try.js

Example:

ember try ember-data-canary

Running the FireBlog demo app

emberfire's People

Contributors

aputinski avatar tstirrat avatar sararob avatar firebase-ops avatar anantn avatar leifcr avatar stefanpenner avatar dstaley avatar neverfox avatar brancusi avatar adjohnson916 avatar mattmsumner avatar gabrielgrant avatar rwjblue avatar tmayr avatar oskarrough avatar cohitre avatar tomclose avatar steven-ferguson avatar robtarr avatar olivierchatry avatar gpbmike avatar jayphelps avatar halfdan avatar heroiceric avatar alexwolfe avatar startupandrew avatar katowulf avatar taras avatar san650 avatar

Watchers

Michael Claßen avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.