From 2f58087b64a08ad83ed13e4493b666f93569117e Mon Sep 17 00:00:00 2001 From: Alex LaFroscia Date: Sat, 16 Jun 2018 14:02:07 -0700 Subject: [PATCH] fix: correctly import `najax` for FastBoot --- .eslintrc.js | 3 +++ addon/-private/utils/is-fastboot.js | 2 +- addon/utils/ajax.js | 6 +++--- package.json | 8 ++++++-- yarn.lock | 16 ++++++++++++++++ 5 files changed, 29 insertions(+), 6 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 069dfd60..e980c6c8 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -16,6 +16,9 @@ module.exports = { env: { browser: true }, + globals: { + FastBoot: true + }, rules: { 'prettier/prettier': 'error', diff --git a/addon/-private/utils/is-fastboot.js b/addon/-private/utils/is-fastboot.js index fc9bdad1..3081af74 100644 --- a/addon/-private/utils/is-fastboot.js +++ b/addon/-private/utils/is-fastboot.js @@ -1,3 +1,3 @@ -/* global FastBoot */ const isFastBoot = typeof FastBoot !== 'undefined'; + export default isFastBoot; diff --git a/addon/utils/ajax.js b/addon/utils/ajax.js index 7848b6d1..f9db33f3 100644 --- a/addon/utils/ajax.js +++ b/addon/utils/ajax.js @@ -1,6 +1,6 @@ -/* global najax */ import $ from 'jquery'; - import isFastBoot from 'ember-ajax/-private/utils/is-fastboot'; -export default (isFastBoot ? najax : $.ajax); +const ajax = isFastBoot ? FastBoot.require('najax') : $.ajax; + +export default ajax; diff --git a/package.json b/package.json index 6d71657a..ab00a7c7 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,8 @@ ] }, "dependencies": { - "ember-cli-babel": "^6.14.1" + "ember-cli-babel": "^6.14.1", + "najax": "^1.0.3" }, "devDependencies": { "@commitlint/cli": "^7.0.0", @@ -80,7 +81,10 @@ "node": "^4.5 || 6.* || >= 7.*" }, "ember-addon": { - "configPath": "tests/dummy/config" + "configPath": "tests/dummy/config", + "fastbootDependencies": [ + "najax" + ] }, "greenkeeper": { "ignore": [ diff --git a/yarn.lock b/yarn.lock index c24dddc6..869e2e6e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4708,6 +4708,10 @@ jest-validate@^23.0.0: leven "^2.1.0" pretty-format "^23.0.1" +jquery-deferred@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/jquery-deferred/-/jquery-deferred-0.3.1.tgz#596eca1caaff54f61b110962b23cafea74c35355" + jquery@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.3.1.tgz#958ce29e81c9790f31be7792df5d4d95fc57fbca" @@ -5902,6 +5906,14 @@ mute-stream@0.0.7, mute-stream@~0.0.4: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" +najax@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/najax/-/najax-1.0.3.tgz#11145f4d910446ea661d8ab7fcef53f6ad164ae5" + dependencies: + jquery-deferred "^0.3.0" + lodash.defaultsdeep "^4.6.0" + qs "^6.2.0" + nan@^2.3.0: version "2.10.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" @@ -6675,6 +6687,10 @@ qs@6.5.1, qs@^6.4.0, qs@~6.5.1: version "6.5.1" resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" +qs@^6.2.0: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + qs@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/qs/-/qs-5.2.1.tgz#801fee030e0b9450d6385adc48a4cc55b44aedfc"