From f6b0ae1a689ab97a39a33311f537b4d3e83fc1c4 Mon Sep 17 00:00:00 2001 From: simon Date: Tue, 23 May 2017 12:08:05 +0200 Subject: [PATCH] Update for FastBoot 1.0 --- README.md | 1 + .../{browser => }/ember-data-fastboot.js | 6 +++++- .../ember-data-fastboot.js | 0 index.js | 16 +++++++++++++++- package.json | 5 +++-- 5 files changed, 24 insertions(+), 4 deletions(-) rename app/instance-initializers/{browser => }/ember-data-fastboot.js (78%) rename {app/instance-initializers/fastboot => fastboot/instance-initializers}/ember-data-fastboot.js (100%) diff --git a/README.md b/README.md index 3672902..c16d885 100644 --- a/README.md +++ b/README.md @@ -15,3 +15,4 @@ Right now, this addon assumes that your application is using [DS.JSONAPISerializ `ember install ember-data-fastboot` +Starting with version 0.1.0 this addon requires at least ember-cli-fastboot 1.0.0-rc.1. diff --git a/app/instance-initializers/browser/ember-data-fastboot.js b/app/instance-initializers/ember-data-fastboot.js similarity index 78% rename from app/instance-initializers/browser/ember-data-fastboot.js rename to app/instance-initializers/ember-data-fastboot.js index ea85bea..70c5620 100644 --- a/app/instance-initializers/browser/ember-data-fastboot.js +++ b/app/instance-initializers/ember-data-fastboot.js @@ -9,5 +9,9 @@ export function initialize(applicationInstance) { export default { name: 'ember-data-fastboot', - initialize + initialize() { + if (typeof FastBoot === 'undefined') { + initialize(...arguments); + } + } }; diff --git a/app/instance-initializers/fastboot/ember-data-fastboot.js b/fastboot/instance-initializers/ember-data-fastboot.js similarity index 100% rename from app/instance-initializers/fastboot/ember-data-fastboot.js rename to fastboot/instance-initializers/ember-data-fastboot.js diff --git a/index.js b/index.js index 5016f09..ca8b593 100644 --- a/index.js +++ b/index.js @@ -1,6 +1,20 @@ /* jshint node: true */ 'use strict'; +const VersionChecker = require('ember-cli-version-checker'); + module.exports = { - name: 'ember-data-fastboot' + name: 'ember-data-fastboot', + + init: function() { + this._super && this._super.init.apply(this, arguments); + + let checker = new VersionChecker(this); + let fastBootVersion = checker.for('ember-cli-fastboot'); + if (!(fastBootVersion.gte('1.0.0') || fastBootVersion.gte('1.0.0-rc.1'))) { + let error = new Error(`This version of ember-data-fastboot requires at ember-cli-fastboot above 1.0.0-rc.1, but you have ${fastBootVersion.version}. Revert to the latest 0.0.x version for support for beta versions of ember-cli-fastboot.`); + error.suppressStacktrace = true; + throw error; + } + } }; diff --git a/package.json b/package.json index 92cf9e0..c62455b 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ }, "repository": "https://github.com/cardstack/ember-data-fastboot", "engines": { - "node": ">= 0.10.0" + "node": ">= 4" }, "author": "Edward Faulkner ", "license": "MIT", @@ -45,7 +45,8 @@ "ember-data" ], "dependencies": { - "ember-cli-babel": "^5.1.6" + "ember-cli-babel": "^5.1.6", + "ember-cli-version-checker": "^2.0.0" }, "ember-addon": { "configPath": "tests/dummy/config"