From ae80d84f5069ad6346067498c8ce5cb4385837fd Mon Sep 17 00:00:00 2001 From: Sivakumar Kailasam Date: Wed, 28 Jun 2017 01:23:58 +0530 Subject: [PATCH 1/8] Index page is now fastboot compatible --- app/controllers/application.js | 27 ++++++--- app/routes/index.js | 14 ++++- config/environment.js | 4 ++ package.json | 1 + yarn.lock | 103 +++++++++++++++++++++++++++++++-- 5 files changed, 134 insertions(+), 15 deletions(-) diff --git a/app/controllers/application.js b/app/controllers/application.js index e938c71d3c..f9e11bcef6 100644 --- a/app/controllers/application.js +++ b/app/controllers/application.js @@ -1,8 +1,11 @@ import Ember from 'ember'; -const { observer } = Ember; +const { observer, inject: { service } } = Ember; export default Ember.Controller.extend({ + + fastboot: service(), + searchController: Ember.inject.controller('search'), flashError: null, @@ -11,8 +14,10 @@ export default Ember.Controller.extend({ init() { this._super(...arguments); - Ember.$(document).on('keypress', this.handleKeyPress.bind(this)); - Ember.$(document).on('keydown', this.handleKeyPress.bind(this)); + if (!this.get('fastboot.isFastBoot')) { + Ember.$(window.document).on('keypress', this.handleKeyPress.bind(this)); + Ember.$(window.document).on('keydown', this.handleKeyPress.bind(this)); + } }, // Gets the human-readable string for the virtual-key code of the @@ -52,17 +57,23 @@ export default Ember.Controller.extend({ }, willDestroy() { - Ember.$(document).off('keypress'); - Ember.$(document).off('keydown'); + if (!this.get('fastboot.isFastBoot')) { + Ember.$(window.document).off('keypress'); + Ember.$(window.document).off('keydown'); + } }, stepFlash() { - this.set('flashError', this.get('nextFlashError')); - this.set('nextFlashError', null); + this.setProperties({ + 'flashError': this.get('nextFlashError'), + 'nextFlashError': null + }); }, _scrollToTop() { - window.scrollTo(0, 0); + if (!this.get('fastboot.isFastBoot')) { + window.scrollTo(0, 0); + } }, // TODO: remove observer & DOM mutation in controller.. diff --git a/app/routes/index.js b/app/routes/index.js index 5da35be5d2..aaa3776354 100644 --- a/app/routes/index.js +++ b/app/routes/index.js @@ -1,7 +1,12 @@ import Ember from 'ember'; import ajax from 'ember-fetch/ajax'; +const { inject: { service } } = Ember; + export default Ember.Route.extend({ + + fastboot: service(), + headTags: [{ type: 'meta', attrs: { @@ -17,7 +22,14 @@ export default Ember.Route.extend({ } } - return ajax('/summary').then((data) => { + let summaryURL = `/summary`; + if (this.get('fastboot.isFastBoot')) { + let protocol = this.get('fastboot.request.protocol'); + let host = this.get('fastboot.request.host'); + summaryURL = `${protocol}://${host}/summary`; + } + + return ajax(summaryURL).then((data) => { addCrates(this.store, data.new_crates); addCrates(this.store, data.most_downloaded); addCrates(this.store, data.just_updated); diff --git a/config/environment.js b/config/environment.js index 29cdd5691d..7672fefea5 100644 --- a/config/environment.js +++ b/config/environment.js @@ -23,6 +23,10 @@ module.exports = function(environment) { APP: { // Here you can pass flags/options to your application instance // when it is created + }, + + fastboot: { + hostWhitelist: ['crates.io', /^localhost:\d+$/] } }; diff --git a/package.json b/package.json index 14cc73ffdb..dcc71b78bf 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "ember-cli-clipboard": "^0.7.0", "ember-cli-dependency-checker": "^2.0.1", "ember-cli-eslint": "^4.0.0", + "ember-cli-fastboot": "^1.0.0-rc.5", "ember-cli-htmlbars": "^2.0.2", "ember-cli-htmlbars-inline-precompile": "^0.4.3", "ember-cli-inject-live-reload": "1.6.1", diff --git a/yarn.lock b/yarn.lock index 4321458ab3..3fb41e2e0a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1793,7 +1793,7 @@ compressible@~2.0.8: dependencies: mime-db ">= 1.27.0 < 2" -compression@^1.4.4: +compression@^1.4.4, compression@^1.6.2: version "1.6.2" resolved "https://registry.yarnpkg.com/compression/-/compression-1.6.2.tgz#cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3" dependencies: @@ -1870,6 +1870,10 @@ cookie@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" +cookie@^0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.2.4.tgz#a8c155aa7b9b2cf2c4d32ebc7b9a0aa288ccc6bd" + copy-dereference@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/copy-dereference/-/copy-dereference-1.0.0.tgz#6b131865420fd81b413ba994b44d3655311152b6" @@ -1886,6 +1890,12 @@ core-object@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/core-object/-/core-object-1.1.0.tgz#86d63918733cf9da1a5aae729e62c0a88e66ad0a" +core-object@^2.0.5: + version "2.1.1" + resolved "https://registry.yarnpkg.com/core-object/-/core-object-2.1.1.tgz#4b7a5f1edefcb1e6d0dcb58eab1b9f90bfc666a8" + dependencies: + chalk "^1.1.3" + core-object@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/core-object/-/core-object-3.1.3.tgz#df399b3311bdb0c909e8aae8929fc3c1c4b25880" @@ -2171,6 +2181,32 @@ ember-cli-eslint@^4.0.0: rsvp "^3.2.1" walk-sync "^0.3.0" +ember-cli-fastboot@^1.0.0-rc.5: + version "1.0.0-rc.5" + resolved "https://registry.yarnpkg.com/ember-cli-fastboot/-/ember-cli-fastboot-1.0.0-rc.5.tgz#4f1a5919f1c6bf00850c8412669510fe642b77c3" + dependencies: + broccoli-concat "^3.2.2" + broccoli-funnel "^1.2.0" + broccoli-merge-trees "^1.1.1" + broccoli-plugin "^1.2.1" + broccoli-stew "^1.2.0" + chalk "^1.1.3" + compression "^1.6.2" + core-object "^2.0.5" + debug "^2.2.0" + ember-cli-babel "^5.1.7" + ember-cli-version-checker "^1.3.1" + exists-sync "0.0.4" + express "^4.8.5" + fastboot "1.0.0-rc.6" + fastboot-express-middleware "1.0.0-rc.7" + json-stable-stringify "^1.0.1" + lodash.defaults "^4.0.1" + lodash.uniq "^4.2.0" + md5-hex "^1.3.0" + rsvp "^3.0.16" + silent-error "^1.0.0" + ember-cli-get-component-path-option@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ember-cli-get-component-path-option/-/ember-cli-get-component-path-option-1.0.0.tgz#0d7b595559e2f9050abed804f1d8eff1b08bc771" @@ -2397,7 +2433,7 @@ ember-cli-valid-component-name@^1.0.0: dependencies: silent-error "^1.0.0" -ember-cli-version-checker@^1.0.2, ember-cli-version-checker@^1.1.4, ember-cli-version-checker@^1.1.6, ember-cli-version-checker@^1.1.7, ember-cli-version-checker@^1.2.0: +ember-cli-version-checker@^1.0.2, ember-cli-version-checker@^1.1.4, ember-cli-version-checker@^1.1.6, ember-cli-version-checker@^1.1.7, ember-cli-version-checker@^1.2.0, ember-cli-version-checker@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-1.3.1.tgz#0bc2d134c830142da64bf9627a0eded10b61ae72" dependencies: @@ -2994,7 +3030,11 @@ expand-tilde@^1.2.2: dependencies: os-homedir "^1.0.1" -express@^4.10.7, express@^4.12.3: +express-cluster@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/express-cluster/-/express-cluster-0.0.4.tgz#7aa5c39779bbc7550a30525d02b4c022e40b8798" + +express@^4.10.7, express@^4.12.3, express@^4.13.3, express@^4.8.5: version "4.15.3" resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662" dependencies: @@ -3088,6 +3128,30 @@ fast-sourcemap-concat@^1.0.1: source-map "^0.4.2" source-map-url "^0.3.0" +fastboot-express-middleware@1.0.0-rc.7: + version "1.0.0-rc.7" + resolved "https://registry.yarnpkg.com/fastboot-express-middleware/-/fastboot-express-middleware-1.0.0-rc.7.tgz#285dee01734d40bafe983cefb63e7df0c680f282" + dependencies: + chalk "^1.1.3" + fastboot "^1.0.0-rc.3" + +fastboot@1.0.0-rc.6, fastboot@^1.0.0-rc.3: + version "1.0.0-rc.6" + resolved "https://registry.yarnpkg.com/fastboot/-/fastboot-1.0.0-rc.6.tgz#09af88b41d1b31fda96be425c857e34b2323115b" + dependencies: + chalk "^0.5.1" + cookie "^0.2.3" + debug "^2.1.0" + exists-sync "0.0.3" + express "^4.13.3" + express-cluster "0.0.4" + glob "^4.0.5" + minimist "^1.2.0" + najax "^1.0.1" + rsvp "^3.0.16" + simple-dom "^0.3.0" + source-map-support "^0.4.0" + faye-websocket@~0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" @@ -3406,6 +3470,15 @@ glob@7.1.1, glob@^7.0.4, glob@^7.0.5: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^4.0.5: + version "4.5.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + glob@^5.0.10, glob@^5.0.15: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" @@ -3945,6 +4018,10 @@ istextorbinary@2.1.0: editions "^1.1.1" textextensions "1 || 2" +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.1.1: version "3.2.1" resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.2.1.tgz#5c4d9de652af6cd0a770154a631bba12b015c787" @@ -4221,7 +4298,7 @@ lodash.debounce@^3.1.1: dependencies: lodash._getnative "^3.0.0" -lodash.defaults@^4.2.0: +lodash.defaults@^4.0.1, lodash.defaults@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" @@ -4446,6 +4523,12 @@ matcher-collection@^1.0.0, matcher-collection@^1.0.1: dependencies: minimatch "^3.0.2" +md5-hex@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-1.3.0.tgz#d2c4afe983c4370662179b8cad145219135046c4" + dependencies: + md5-o-matic "^0.1.1" + md5-hex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-2.0.0.tgz#d0588e9f1c74954492ecd24ac0ac6ce997d92e33" @@ -4634,6 +4717,14 @@ mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" +najax@^1.0.1: + 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, nan@^2.3.2: version "2.6.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" @@ -5107,7 +5198,7 @@ q@^1.1.2: version "1.5.0" resolved "https://registry.yarnpkg.com/q/-/q-1.5.0.tgz#dd01bac9d06d30e6f219aecb8253ee9ebdc308f1" -qs@6.4.0, qs@^6.4.0, qs@~6.4.0: +qs@6.4.0, qs@^6.2.0, qs@^6.4.0, qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" @@ -5668,7 +5759,7 @@ source-map-support@^0.2.10: dependencies: source-map "0.1.32" -source-map-support@^0.4.2: +source-map-support@^0.4.0, source-map-support@^0.4.2: version "0.4.15" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" dependencies: From d5fc4b40a9e8558d314fff524ce32c7bb1224638 Mon Sep 17 00:00:00 2001 From: Sivakumar Kailasam Date: Wed, 28 Jun 2017 01:50:55 +0530 Subject: [PATCH 2/8] Move common fastboot code to a mixin --- app/controllers/application.js | 13 ++++++------- app/mixins/fastboot-utils.js | 20 ++++++++++++++++++++ app/routes/index.js | 14 +++----------- app/routes/logout.js | 7 +++++-- tests/unit/mixins/fastboot-utils-test.js | 12 ++++++++++++ 5 files changed, 46 insertions(+), 20 deletions(-) create mode 100644 app/mixins/fastboot-utils.js create mode 100644 tests/unit/mixins/fastboot-utils-test.js diff --git a/app/controllers/application.js b/app/controllers/application.js index f9e11bcef6..43b2d33943 100644 --- a/app/controllers/application.js +++ b/app/controllers/application.js @@ -1,10 +1,9 @@ import Ember from 'ember'; +import FastbootUtils from '../mixins/fastboot-utils'; -const { observer, inject: { service } } = Ember; +const { observer } = Ember; -export default Ember.Controller.extend({ - - fastboot: service(), +export default Ember.Controller.extend(FastbootUtils, { searchController: Ember.inject.controller('search'), @@ -14,7 +13,7 @@ export default Ember.Controller.extend({ init() { this._super(...arguments); - if (!this.get('fastboot.isFastBoot')) { + if (this.get('isNotFastBoot')) { Ember.$(window.document).on('keypress', this.handleKeyPress.bind(this)); Ember.$(window.document).on('keydown', this.handleKeyPress.bind(this)); } @@ -57,7 +56,7 @@ export default Ember.Controller.extend({ }, willDestroy() { - if (!this.get('fastboot.isFastBoot')) { + if (this.get('isNotFastBoot')) { Ember.$(window.document).off('keypress'); Ember.$(window.document).off('keydown'); } @@ -71,7 +70,7 @@ export default Ember.Controller.extend({ }, _scrollToTop() { - if (!this.get('fastboot.isFastBoot')) { + if (this.get('isNotFastBoot')) { window.scrollTo(0, 0); } }, diff --git a/app/mixins/fastboot-utils.js b/app/mixins/fastboot-utils.js new file mode 100644 index 0000000000..89b2665121 --- /dev/null +++ b/app/mixins/fastboot-utils.js @@ -0,0 +1,20 @@ +import Ember from 'ember'; + +const { computed, inject: { service } } = Ember; + +export default Ember.Mixin.create({ + + fastboot: service(), + + isNotFastBoot: computed.not('fastboot.isFastBoot'), + + appURL: computed(function() { + let url = ''; + if (this.get('fastboot.isFastBoot')) { + let protocol = this.get('fastboot.request.protocol'); + let host = this.get('fastboot.request.host'); + url = `${protocol}://${host}`; + } + return url; + }), +}); diff --git a/app/routes/index.js b/app/routes/index.js index aaa3776354..b352324ad4 100644 --- a/app/routes/index.js +++ b/app/routes/index.js @@ -1,11 +1,8 @@ import Ember from 'ember'; import ajax from 'ember-fetch/ajax'; +import FastbootUtils from '../mixins/fastboot-utils'; -const { inject: { service } } = Ember; - -export default Ember.Route.extend({ - - fastboot: service(), +export default Ember.Route.extend(FastbootUtils, { headTags: [{ type: 'meta', @@ -22,12 +19,7 @@ export default Ember.Route.extend({ } } - let summaryURL = `/summary`; - if (this.get('fastboot.isFastBoot')) { - let protocol = this.get('fastboot.request.protocol'); - let host = this.get('fastboot.request.host'); - summaryURL = `${protocol}://${host}/summary`; - } + let summaryURL = `${this.get('appURL')}/summary`; return ajax(summaryURL).then((data) => { addCrates(this.store, data.new_crates); diff --git a/app/routes/logout.js b/app/routes/logout.js index 1254b47628..b7c5b06b3d 100644 --- a/app/routes/logout.js +++ b/app/routes/logout.js @@ -1,8 +1,11 @@ import Ember from 'ember'; +import fetch from 'fetch'; +import FastbootUtils from '../mixins/fastboot-utils'; + +export default Ember.Route.extend(FastbootUtils, { -export default Ember.Route.extend({ activate() { - Ember.$.getJSON('/logout', () => { + fetch(`${this.get('appURL')}/logout`, () => { Ember.run(() => { this.session.logoutUser(); this.transitionTo('index'); diff --git a/tests/unit/mixins/fastboot-utils-test.js b/tests/unit/mixins/fastboot-utils-test.js new file mode 100644 index 0000000000..d18fe4a5dc --- /dev/null +++ b/tests/unit/mixins/fastboot-utils-test.js @@ -0,0 +1,12 @@ +import Ember from 'ember'; +import FastbootUtilsMixin from 'cargo/mixins/fastboot-utils'; +import { module, test } from 'qunit'; + +module('Unit | Mixin | fastboot utils'); + +// Replace this with your real tests. +test('it works', function(assert) { + let FastbootUtilsObject = Ember.Object.extend(FastbootUtilsMixin); + let subject = FastbootUtilsObject.create(); + assert.ok(subject); +}); From 0c81f8cf2ddcd3810781c2dd07f25efddd3c17ce Mon Sep 17 00:00:00 2001 From: Sivakumar Kailasam Date: Wed, 28 Jun 2017 16:48:59 +0530 Subject: [PATCH 3/8] Env based fastboot host whitelisting --- config/environment.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/environment.js b/config/environment.js index 7672fefea5..cae0e32191 100644 --- a/config/environment.js +++ b/config/environment.js @@ -26,7 +26,7 @@ module.exports = function(environment) { }, fastboot: { - hostWhitelist: ['crates.io', /^localhost:\d+$/] + hostWhitelist: ['crates.io', /^[\w\-]+\.herokuapp\.com$/] } }; @@ -36,6 +36,7 @@ module.exports = function(environment) { // ENV.APP.LOG_TRANSITIONS = true; // ENV.APP.LOG_TRANSITIONS_INTERNAL = true; // ENV.APP.LOG_VIEW_LOOKUPS = true; + ENV.fastboot.hostWhitelist = ['crates.io', /^[\w\-]+\.herokuapp\.com$/, /^localhost:\d+$/]; } if (environment === 'test') { From 472418bdf674791222f1add9ee4870d241f79c26 Mon Sep 17 00:00:00 2001 From: Sivakumar Kailasam Date: Thu, 29 Jun 2017 13:29:06 +0530 Subject: [PATCH 4/8] Add jsdoc for new code --- app/mixins/fastboot-utils.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/mixins/fastboot-utils.js b/app/mixins/fastboot-utils.js index 89b2665121..55e52c733b 100644 --- a/app/mixins/fastboot-utils.js +++ b/app/mixins/fastboot-utils.js @@ -8,6 +8,12 @@ export default Ember.Mixin.create({ isNotFastBoot: computed.not('fastboot.isFastBoot'), + /** + * When there's a need to raise network requests from the server + * during Server Side Rendering(SSR) via FastBoot, + * the JS Fetch API doesn't work with absolute urls. + * This property gives the URL prefix for those network calls. + * */ appURL: computed(function() { let url = ''; if (this.get('fastboot.isFastBoot')) { From 82088b629b78ce13b1867635e39d1b4f662e5327 Mon Sep 17 00:00:00 2001 From: Sivakumar Kailasam Date: Thu, 29 Jun 2017 15:47:23 +0530 Subject: [PATCH 5/8] Update yarn file after merge from master --- yarn.lock | 80 ++++++++++++++++++++++++++----------------------------- 1 file changed, 38 insertions(+), 42 deletions(-) diff --git a/yarn.lock b/yarn.lock index e4ea8ebca9..f79429f52b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,7 +1,5 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 -# yarn v0.25.1 -# node v6.9.2 "@glimmer/compiler@^0.22.3": @@ -585,7 +583,7 @@ babel-plugin-dead-code-elimination@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz#5f7c451274dcd7cccdbfbb3e0b85dd28121f0f65" -babel-plugin-debug-macros@^0.1.1, babel-plugin-debug-macros@^0.1.10, babel-plugin-debug-macros@^0.1.6: +babel-plugin-debug-macros@^0.1.1, babel-plugin-debug-macros@^0.1.10: version "0.1.10" resolved "https://registry.yarnpkg.com/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.1.10.tgz#dd077ad6e1cc0a8f9bbc6405c561392ebfc9a01c" dependencies: @@ -891,7 +889,7 @@ babel-polyfill@^6.16.0: core-js "^2.4.0" regenerator-runtime "^0.10.0" -babel-preset-env@^1.2.0, babel-preset-env@^1.5.1: +babel-preset-env@^1.5.1: version "1.5.2" resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.5.2.tgz#cd4ae90a6e94b709f97374b33e5f8b983556adef" dependencies: @@ -1143,16 +1141,19 @@ broccoli-babel-transpiler@^5.5.0, broccoli-babel-transpiler@^5.6.2: json-stable-stringify "^1.0.0" broccoli-babel-transpiler@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.0.0.tgz#a52c5404bf36236849da503b011fd41fe64a00a2" + version "6.1.1" + resolved "https://registry.yarnpkg.com/broccoli-babel-transpiler/-/broccoli-babel-transpiler-6.1.1.tgz#938f470e1ddb47047a77ef5e38f34c21de0e85a8" dependencies: babel-core "^6.14.0" broccoli-funnel "^1.0.0" broccoli-merge-trees "^1.0.0" - broccoli-persistent-filter "^1.0.1" + broccoli-persistent-filter "^1.4.0" clone "^2.0.0" hash-for-dep "^1.0.2" + heimdalljs-logger "^0.1.7" json-stable-stringify "^1.0.0" + rsvp "^3.5.0" + workerpool "^2.2.1" broccoli-brocfile-loader@^0.18.0: version "0.18.0" @@ -1305,7 +1306,7 @@ broccoli-funnel@^0.2.3: symlink-or-copy "^1.0.0" walk-sync "^0.2.6" -broccoli-funnel@^1.0.0, broccoli-funnel@^1.0.1, broccoli-funnel@^1.0.2, broccoli-funnel@^1.0.6, broccoli-funnel@^1.1.0: +broccoli-funnel@^1.0.0, broccoli-funnel@^1.0.1, broccoli-funnel@^1.0.2, broccoli-funnel@^1.0.6, broccoli-funnel@^1.1.0, broccoli-funnel@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz#cddc3afc5ff1685a8023488fff74ce6fb5a51296" dependencies: @@ -1377,9 +1378,9 @@ broccoli-middleware@^1.0.0-beta.8: handlebars "^4.0.4" mime "^1.2.11" -broccoli-persistent-filter@^1.0.1, broccoli-persistent-filter@^1.0.3, broccoli-persistent-filter@^1.1.5, broccoli-persistent-filter@^1.1.6, broccoli-persistent-filter@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/broccoli-persistent-filter/-/broccoli-persistent-filter-1.4.0.tgz#178f0a9ec9ceb80bdf3d60794e4d09f23bb2b47f" +broccoli-persistent-filter@^1.0.1, broccoli-persistent-filter@^1.0.3, broccoli-persistent-filter@^1.1.5, broccoli-persistent-filter@^1.1.6, broccoli-persistent-filter@^1.2.0, broccoli-persistent-filter@^1.4.0: + version v1.4.1 + resolved "https://registry.yarnpkg.com/broccoli-persistent-filter/-/broccoli-persistent-filter-1.4.1.tgz#fd585855f4a0148b9a5f8c7ced128ea8f5eaca06" dependencies: async-disk-cache "^1.2.1" async-promise-queue "^1.0.2" @@ -2164,7 +2165,11 @@ dom-serializer@0, dom-serializer@~0.1.0: domelementtype "~1.1.1" entities "~1.1.1" -domelementtype@1, domelementtype@~1.1.1: +domelementtype@1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + +domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" @@ -2202,8 +2207,8 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" electron-to-chromium@^1.3.14: - version "1.3.14" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.14.tgz#64af0f9efd3c3c6acd57d71f83b49ca7ee9c4b43" + version "1.3.15" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.15.tgz#08397934891cbcfaebbd18b82a95b5a481138369" ember-ajax@^3.0.0: version "3.0.0" @@ -2219,21 +2224,6 @@ ember-cli-app-version@^3.0.0: ember-cli-htmlbars "^1.0.0" git-repo-version "0.4.1" -ember-cli-babel@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-6.1.0.tgz#d9c83a7d0c67cc8a3ccb9bd082971c3593e54fad" - dependencies: - amd-name-resolver "0.0.6" - babel-plugin-debug-macros "^0.1.6" - babel-plugin-transform-es2015-modules-amd "^6.24.0" - babel-polyfill "^6.16.0" - babel-preset-env "^1.2.0" - broccoli-babel-transpiler "^6.0.0" - broccoli-funnel "^1.0.0" - broccoli-source "^1.1.0" - clone "^2.0.0" - ember-cli-version-checker "^1.2.0" - ember-cli-babel@^5.1.6, ember-cli-babel@^5.1.7, ember-cli-babel@^5.2.4: version "5.2.4" resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-5.2.4.tgz#5ce4f46b08ed6f6d21e878619fb689719d6e8e13" @@ -2297,8 +2287,8 @@ ember-cli-eslint@^4.0.0: walk-sync "^0.3.0" ember-cli-fastboot@^1.0.0-rc.5: - version "1.0.0-rc.5" - resolved "https://registry.yarnpkg.com/ember-cli-fastboot/-/ember-cli-fastboot-1.0.0-rc.5.tgz#4f1a5919f1c6bf00850c8412669510fe642b77c3" + version "1.0.0-rc3" + resolved "https://registry.yarnpkg.com/ember-cli-fastboot/-/ember-cli-fastboot-1.0.0-rc3.tgz#971179bdb8f53215025dd23b2f18765b63008584" dependencies: broccoli-concat "^3.2.2" broccoli-funnel "^1.2.0" @@ -2330,7 +2320,7 @@ ember-cli-get-dependency-depth@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ember-cli-get-dependency-depth/-/ember-cli-get-dependency-depth-1.0.0.tgz#e0afecf82a2d52f00f28ab468295281aec368d11" -ember-cli-head@^0.3.0: +ember-cli-head@^0.3.0, ember-cli-head@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/ember-cli-head/-/ember-cli-head-0.3.1.tgz#a407df4880f235280371c437bb5b0b5cbdaea646" dependencies: @@ -2732,14 +2722,14 @@ ember-load-initializers@^1.0.0: ember-cli-babel "^6.0.0-beta.7" ember-lodash@^4.17.3: - version "4.17.4" - resolved "https://registry.yarnpkg.com/ember-lodash/-/ember-lodash-4.17.4.tgz#62a76e322e140281c31406b6dd5a11cf318c452d" + version "4.17.5" + resolved "https://registry.yarnpkg.com/ember-lodash/-/ember-lodash-4.17.5.tgz#bda557402facae144567d1ef530b3de7c38bcde1" dependencies: broccoli-debug "^0.6.1" broccoli-funnel "^1.1.0" broccoli-merge-trees "^2.0.0" broccoli-string-replace "^0.1.1" - ember-cli-babel "6.1.0" + ember-cli-babel "^6.4.1" lodash-es "^4.17.4" ember-macro-helpers@^0.14.1: @@ -2776,11 +2766,11 @@ ember-normalize@^1.0.0: normalize.css "~4.1.1" ember-page-title@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ember-page-title/-/ember-page-title-3.2.1.tgz#395f2504869961783198bc654a51e046e3138a24" + version "3.2.2" + resolved "https://registry.yarnpkg.com/ember-page-title/-/ember-page-title-3.2.2.tgz#241effbc8228ecfb75e33540f6707003fdf6db31" dependencies: ember-cli-babel "^6.0.0" - ember-cli-head "^0.3.0" + ember-cli-head "^0.3.1" ember-cli-htmlbars "^2.0.1" ember-qunit@^2.1.3: @@ -4197,8 +4187,8 @@ js-tokens@1.0.1: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-1.0.1.tgz#cc435a5c8b94ad15acb7983140fc80182c89aeae" js-tokens@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" js-yaml@^3.2.5, js-yaml@^3.2.7, js-yaml@^3.6.1, js-yaml@^3.8.4: version "3.8.4" @@ -5050,7 +5040,7 @@ object-assign@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" -object-assign@^4.0.1, object-assign@^4.1.0: +object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" @@ -5689,7 +5679,7 @@ route-recognizer@^0.2.3: version "0.2.10" resolved "https://registry.yarnpkg.com/route-recognizer/-/route-recognizer-0.2.10.tgz#024b2283c2e68d13a7c7f5173a5924645e8902df" -rsvp@^3.0.14, rsvp@^3.0.16, rsvp@^3.0.17, rsvp@^3.0.18, rsvp@^3.0.21, rsvp@^3.0.6, rsvp@^3.1.0, rsvp@^3.2.1, rsvp@^3.3.3, rsvp@^3.4.0: +rsvp@^3.0.14, rsvp@^3.0.16, rsvp@^3.0.17, rsvp@^3.0.18, rsvp@^3.0.21, rsvp@^3.0.6, rsvp@^3.1.0, rsvp@^3.2.1, rsvp@^3.3.3, rsvp@^3.4.0, rsvp@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.5.0.tgz#a62c573a4ae4e1dfd0697ebc6242e79c681eaa34" @@ -6533,6 +6523,12 @@ wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" +workerpool@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-2.2.1.tgz#41ebff11d5859da948fdb2c850b57da69240988a" + dependencies: + object-assign "^4.1.1" + wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" From ffbfcbea38bc07a10711f0aa564d7083bb8cf905 Mon Sep 17 00:00:00 2001 From: Sivakumar Kailasam Date: Thu, 29 Jun 2017 19:52:50 +0530 Subject: [PATCH 6/8] Fix the jsdoc misinfo --- app/mixins/fastboot-utils.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/mixins/fastboot-utils.js b/app/mixins/fastboot-utils.js index 55e52c733b..14d5ea5dfd 100644 --- a/app/mixins/fastboot-utils.js +++ b/app/mixins/fastboot-utils.js @@ -11,7 +11,7 @@ export default Ember.Mixin.create({ /** * When there's a need to raise network requests from the server * during Server Side Rendering(SSR) via FastBoot, - * the JS Fetch API doesn't work with absolute urls. + * the JS Fetch API doesn't work with relative urls. * This property gives the URL prefix for those network calls. * */ appURL: computed(function() { From 9e859a660827fc8b99cb870e244a58c596ade067 Mon Sep 17 00:00:00 2001 From: Sivakumar Kailasam Date: Thu, 29 Jun 2017 23:34:20 +0530 Subject: [PATCH 7/8] Remove noscript tag --- app/index.html | 7 ------- 1 file changed, 7 deletions(-) diff --git a/app/index.html b/app/index.html index 3de7338254..c729547d89 100644 --- a/app/index.html +++ b/app/index.html @@ -27,13 +27,6 @@ {{content-for 'body'}} - From 8a54e82d210d4cafdd36fee03533c2ba400daead Mon Sep 17 00:00:00 2001 From: Sivakumar Kailasam Date: Mon, 3 Jul 2017 00:49:14 +0530 Subject: [PATCH 8/8] Yet another minor dep upgrade --- package.json | 6 +++--- yarn.lock | 50 +++++++++++++++++++++++--------------------------- 2 files changed, 26 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index a7a6d20a77..d742b92205 100644 --- a/package.json +++ b/package.json @@ -30,10 +30,10 @@ "ember-ajax": "^3.0.0", "ember-cli": "^2.13.3", "ember-cli-app-version": "^3.0.0", - "ember-cli-babel": "^6.4.1", + "ember-cli-babel": "^6.4.2", "ember-cli-clipboard": "^0.7.0", "ember-cli-dependency-checker": "^2.0.1", - "ember-cli-eslint": "^4.0.0", + "ember-cli-eslint": "^4.1.0", "ember-cli-fastboot": "^1.0.0-rc.5", "ember-cli-htmlbars": "^2.0.2", "ember-cli-htmlbars-inline-precompile": "^0.4.3", @@ -54,7 +54,7 @@ "ember-moment": "^7.3.1", "ember-normalize": "^1.0.0", "ember-page-title": "^3.2.1", - "ember-resolver": "^4.1.0", + "ember-resolver": "^4.2.1", "ember-router-scroll": "^0.2.0", "ember-source": "^2.13.3", "ember-svg-jar": "^0.10.3", diff --git a/yarn.lock b/yarn.lock index d09a726d29..b19bd4c162 100644 --- a/yarn.lock +++ b/yarn.lock @@ -52,9 +52,9 @@ dependencies: "@glimmer/util" "^0.22.3" -"@glimmer/resolver@^0.3.0": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@glimmer/resolver/-/resolver-0.3.1.tgz#41069345b6f41beb0948cc35d8e4aa60adcadfc5" +"@glimmer/resolver@0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@glimmer/resolver/-/resolver-0.4.0.tgz#7fe8709342064f144c14c06088d6dc4070ad7d1d" dependencies: "@glimmer/di" "^0.2.0" @@ -583,7 +583,7 @@ babel-plugin-dead-code-elimination@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/babel-plugin-dead-code-elimination/-/babel-plugin-dead-code-elimination-1.0.2.tgz#5f7c451274dcd7cccdbfbb3e0b85dd28121f0f65" -babel-plugin-debug-macros@^0.1.1, babel-plugin-debug-macros@^0.1.10: +babel-plugin-debug-macros@^0.1.10: version "0.1.10" resolved "https://registry.yarnpkg.com/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.1.10.tgz#dd077ad6e1cc0a8f9bbc6405c561392ebfc9a01c" dependencies: @@ -2165,11 +2165,7 @@ dom-serializer@0, dom-serializer@~0.1.0: domelementtype "~1.1.1" entities "~1.1.1" -domelementtype@1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" - -domelementtype@~1.1.1: +domelementtype@1, domelementtype@~1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" @@ -2234,9 +2230,9 @@ ember-cli-babel@^5.1.6, ember-cli-babel@^5.1.7, ember-cli-babel@^5.2.4: ember-cli-version-checker "^1.0.2" resolve "^1.1.2" -ember-cli-babel@^6.0.0, ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.0.0-beta.7, ember-cli-babel@^6.1.0, ember-cli-babel@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-6.4.1.tgz#785a1c24fe3250eb0776b1ab3cee857863b44542" +ember-cli-babel@^6.0.0, ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.0.0-beta.7, ember-cli-babel@^6.1.0, ember-cli-babel@^6.3.0, ember-cli-babel@^6.4.1, ember-cli-babel@^6.4.2: + version "6.4.2" + resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-6.4.2.tgz#746d90f603f2f47d7104fedc9fea98a5c43e5d47" dependencies: amd-name-resolver "0.0.6" babel-plugin-debug-macros "^0.1.10" @@ -2277,9 +2273,9 @@ ember-cli-dependency-checker@^2.0.1: is-git-url "^1.0.0" semver "^5.3.0" -ember-cli-eslint@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/ember-cli-eslint/-/ember-cli-eslint-4.0.0.tgz#a6805275d487b5c635b7a379dcb0a4770eb98e7a" +ember-cli-eslint@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/ember-cli-eslint/-/ember-cli-eslint-4.1.0.tgz#50e43224e71849b7c03f73d5e5c4647b48993033" dependencies: broccoli-lint-eslint "^4.0.0" ember-cli-version-checker "^2.0.0" @@ -2538,7 +2534,7 @@ ember-cli-valid-component-name@^1.0.0: dependencies: silent-error "^1.0.0" -ember-cli-version-checker@^1.0.2, ember-cli-version-checker@^1.1.4, ember-cli-version-checker@^1.1.6, ember-cli-version-checker@^1.1.7, ember-cli-version-checker@^1.2.0, ember-cli-version-checker@^1.3.1: +ember-cli-version-checker@1.3.1, ember-cli-version-checker@^1.0.2, ember-cli-version-checker@^1.1.4, ember-cli-version-checker@^1.1.6, ember-cli-version-checker@^1.1.7, ember-cli-version-checker@^1.2.0, ember-cli-version-checker@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-1.3.1.tgz#0bc2d134c830142da64bf9627a0eded10b61ae72" dependencies: @@ -2782,17 +2778,17 @@ ember-qunit@^2.1.3: dependencies: ember-test-helpers "^0.6.3" -ember-resolver@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ember-resolver/-/ember-resolver-4.1.0.tgz#f02aeb2f1f2e944ed47e085412a7b84f759d11df" +ember-resolver@^4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/ember-resolver/-/ember-resolver-4.2.1.tgz#d8aa7de8444ec9b688aa97a5ddbb58c3b949194b" dependencies: - "@glimmer/resolver" "^0.3.0" - babel-plugin-debug-macros "^0.1.1" + "@glimmer/resolver" "0.4.0" + babel-plugin-debug-macros "^0.1.10" broccoli-funnel "^1.1.0" broccoli-merge-trees "^2.0.0" - ember-cli-babel "^6.0.0-beta.7" - ember-cli-version-checker "^1.1.6" - resolve "^1.3.2" + ember-cli-babel "^6.3.0" + ember-cli-version-checker "1.3.1" + resolve "^1.3.3" ember-router-generator@^1.0.0: version "1.2.3" @@ -3596,7 +3592,7 @@ glob-parent@^2.0.0: dependencies: is-glob "^2.0.0" -glob@7.1.1, glob@^7.0.4, glob@^7.0.5: +glob@7.1.1, glob@^7.0.3, glob@^7.0.4, glob@^7.0.5: version "7.1.1" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: @@ -3626,7 +3622,7 @@ glob@^5.0.10, glob@^5.0.15: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.1.2, glob@~7.1.1: +glob@^7.0.0, glob@^7.1.2, glob@~7.1.1: version "7.1.2" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" dependencies: @@ -5638,7 +5634,7 @@ resolve@1.3.2: dependencies: path-parse "^1.0.5" -resolve@^1.1.2, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.0, resolve@^1.3.2, resolve@^1.3.3: +resolve@^1.1.2, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.3.0, resolve@^1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.3.3.tgz#655907c3469a8680dc2de3a275a8fdd69691f0e5" dependencies: