From dee69bfef39ef7829ad6ba18114eec64bdb6b19c Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Wed, 8 Jan 2020 13:55:15 -0500 Subject: [PATCH 01/13] Transform tests to 'setup-test' syntax --- config/environment.js | 12 +- ember-cli-build.js | 4 +- tests/acceptance/asset-load-test.js | 39 +- tests/test-helper.js | 11 +- tests/unit/asset-manifest-test.js | 74 +-- tests/unit/errors/asset-load-test.js | 54 +- tests/unit/errors/bundle-load-test.js | 54 +- tests/unit/errors/load-test.js | 36 +- tests/unit/services/asset-loader-test.js | 617 +++++++++--------- .../test-helpers/loaded-asset-state-test.js | 53 +- 10 files changed, 480 insertions(+), 474 deletions(-) diff --git a/config/environment.js b/config/environment.js index 012a412..6baa2b7 100644 --- a/config/environment.js +++ b/config/environment.js @@ -1,6 +1,14 @@ /* eslint-env node */ 'use strict'; -module.exports = function(/* environment, appConfig */) { - return { }; +module.exports = function(environment/*, appConfig */) { + let ENV = { + APP: {} + }; + + if (environment === 'test') { + ENV.APP.autoboot = false; + } + + return ENV; }; diff --git a/ember-cli-build.js b/ember-cli-build.js index 156e23f..0347324 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -5,7 +5,9 @@ const EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); module.exports = function(defaults) { let app = new EmberAddon(defaults, { - // Add options here + 'ember-cli-babel': { + includePolyfill: true + } }); /* diff --git a/tests/acceptance/asset-load-test.js b/tests/acceptance/asset-load-test.js index 1f6322f..7aef34a 100644 --- a/tests/acceptance/asset-load-test.js +++ b/tests/acceptance/asset-load-test.js @@ -1,6 +1,7 @@ import Ember from 'ember'; -import { test } from 'qunit'; -import moduleForAcceptance from '../../tests/helpers/module-for-acceptance'; +import { module, test } from 'qunit'; +import { setupApplicationTest } from 'ember-qunit'; +import { visit, currentRouteName } from '@ember/test-helpers'; const { run } = Ember; const { Promise } = Ember.RSVP; @@ -25,22 +26,22 @@ function waitFor(checkerFn, timeout = 1000) { }); } -moduleForAcceptance('Acceptance | asset-load'); +module('Acceptance | asset-load', function(hooks) { + setupApplicationTest(hooks); -test('visiting a route which loads a bundle', function(assert) { - assert.expect(7); + test('visiting a route which loads a bundle', async function(assert) { + assert.expect(7); - const container = document.getElementById('ember-testing'); - const originalContainerStyle = window.getComputedStyle(container); - const originalBackgroundColor = originalContainerStyle.backgroundColor; - const originalColor = originalContainerStyle.color; + const container = document.getElementById('ember-testing'); + const originalContainerStyle = window.getComputedStyle(container); + const originalBackgroundColor = originalContainerStyle.backgroundColor; + const originalColor = originalContainerStyle.color; - const containerText = container.innerText; - assert.equal(containerText, '', 'test container is empty before load'); + let containerText = container.innerText; + assert.equal(containerText, '', 'test container is empty before load'); - visit('/'); + await visit('/'); - andThen(function() { assert.equal(currentRouteName(), 'index', 'transitioned '); const testScriptText = container.querySelector('h2').innerText; @@ -49,7 +50,7 @@ test('visiting a route which loads a bundle', function(assert) { const routeText = container.querySelector('h1').innerText; assert.equal(routeText, 'Welcome!', 'route was loaded correctly'); - const containerText = container.innerText; + containerText = container.innerText; assert.ok(containerText.indexOf(testScriptText) < containerText.indexOf(routeText), 'test script was executed before route load'); return waitFor(() => { @@ -66,16 +67,14 @@ test('visiting a route which loads a bundle', function(assert) { assert.notEqual(containerStyle.color, originalColor, 'color is different after css load'); }); }); -}); -test('visiting a route which fails to load a script removes the node from DOM', function(assert) { - assert.expect(2); + test('visiting a route which fails to load a script removes the node from DOM', async function(assert) { + assert.expect(2); - const getScript = () => document.querySelector('script[src="foo.js"]'); + const getScript = () => document.querySelector('script[src="foo.js"]'); - visit('asset-error'); + await visit('asset-error'); - andThen(function() { assert.equal(currentRouteName(), 'asset-error', 'transitioned '); return waitFor(() => !getScript()) diff --git a/tests/test-helper.js b/tests/test-helper.js index f219659..7827a6a 100644 --- a/tests/test-helper.js +++ b/tests/test-helper.js @@ -1,8 +1,7 @@ -import resolver from './helpers/resolver'; -import { - setResolver -} from 'ember-qunit'; -import { start } from 'ember-cli-qunit'; +import Application from '../app'; +import config from '../config/environment'; +import { setApplication } from '@ember/test-helpers'; +import { start } from 'ember-qunit'; -setResolver(resolver); +setApplication(Application.create(config.APP)); start(); diff --git a/tests/unit/asset-manifest-test.js b/tests/unit/asset-manifest-test.js index 4776aaf..c974714 100644 --- a/tests/unit/asset-manifest-test.js +++ b/tests/unit/asset-manifest-test.js @@ -3,56 +3,56 @@ import { module, test } from 'qunit'; import require from 'require'; -module('Unit | asset-manifest', { - beforeEach() { +module('Unit | asset-manifest', function(hooks) { + hooks.beforeEach(function() { resetModules(); this.originalNodeModule = requirejs.entries['dummy/config/node-asset-manifest']; - }, + }); - afterEach() { + hooks.afterEach(function() { requirejs.entries['dummy/config/node-asset-manifest'] = this.originalNodeModule; resetModules(); - } -}); + }); -function resetModules() { - requirejs.unsee('dummy/config/node-asset-manifest'); - requirejs.unsee('dummy/config/asset-manifest'); -} + function resetModules() { + requirejs.unsee('dummy/config/node-asset-manifest'); + requirejs.unsee('dummy/config/asset-manifest'); + } -test('node-asset-manifest is generated properly', function(assert) { - const nodeManifest = require('dummy/config/node-asset-manifest').default; - delete requirejs.entries['dummy/config/node-asset-manifest']; + test('node-asset-manifest is generated properly', function(assert) { + const nodeManifest = require('dummy/config/node-asset-manifest').default; + delete requirejs.entries['dummy/config/node-asset-manifest']; - const manifest = require('dummy/config/asset-manifest').default; + const manifest = require('dummy/config/asset-manifest').default; - assert.notStrictEqual(nodeManifest, manifest); - assert.deepEqual(nodeManifest, manifest); -}); + assert.notStrictEqual(nodeManifest, manifest); + assert.deepEqual(nodeManifest, manifest); + }); -test('loads the node-asset-manifest if present', function(assert) { - const replacementModule = {}; - define('dummy/config/node-asset-manifest', () => ({ default: replacementModule})); + test('loads the node-asset-manifest if present', function(assert) { + const replacementModule = {}; + define('dummy/config/node-asset-manifest', () => ({ default: replacementModule})); - assert.strictEqual(require('dummy/config/asset-manifest').default, replacementModule); -}); + assert.strictEqual(require('dummy/config/asset-manifest').default, replacementModule); + }); -test('loads the manifest from the meta tag if available', function(assert) { - delete requirejs.entries['dummy/config/node-asset-manifest']; + test('loads the manifest from the meta tag if available', function(assert) { + delete requirejs.entries['dummy/config/node-asset-manifest']; - const meta = document.querySelector('meta[name="dummy/config/asset-manifest"]'); - const metaContent = meta.getAttribute('content'); - meta.setAttribute('content', '{"derp":"herp"}'); - assert.deepEqual(require('dummy/config/asset-manifest').default, { derp: 'herp' }); - meta.setAttribute('content', metaContent); -}); + const meta = document.querySelector('meta[name="dummy/config/asset-manifest"]'); + const metaContent = meta.getAttribute('content'); + meta.setAttribute('content', '{"derp":"herp"}'); + assert.deepEqual(require('dummy/config/asset-manifest').default, { derp: 'herp' }); + meta.setAttribute('content', metaContent); + }); -test('throws an error if unable to load the manifest', function(assert) { - delete requirejs.entries['dummy/config/node-asset-manifest']; + test('throws an error if unable to load the manifest', function(assert) { + delete requirejs.entries['dummy/config/node-asset-manifest']; - const meta = document.querySelector('meta[name="dummy/config/asset-manifest"]'); - const metaContent = meta.getAttribute('content'); - meta.setAttribute('content', 'herp'); - assert.throws(() => assert.deepEqual(require('dummy/config/asset-manifest').default, {})); - meta.setAttribute('content', metaContent); + const meta = document.querySelector('meta[name="dummy/config/asset-manifest"]'); + const metaContent = meta.getAttribute('content'); + meta.setAttribute('content', 'herp'); + assert.throws(() => assert.deepEqual(require('dummy/config/asset-manifest').default, {})); + meta.setAttribute('content', metaContent); + }); }); diff --git a/tests/unit/errors/asset-load-test.js b/tests/unit/errors/asset-load-test.js index 41aeb67..39e4c57 100644 --- a/tests/unit/errors/asset-load-test.js +++ b/tests/unit/errors/asset-load-test.js @@ -1,32 +1,36 @@ import AssetLoadError from 'ember-asset-loader/errors/asset-load'; import { module, test } from 'qunit'; -module('Unit | Error | asset-load', { - asset: { - type: 'js', - uri: 'some-js-file.js' - }, - loader: { - loadAsset(asset) { - return `Loaded ${asset.type} asset with uri "${asset.uri}".`; - } - }, - originalError: new Error('some error') -}); +module('Unit | Error | asset-load', function(hooks) { + hooks.beforeEach(function() { + this.asset = { + type: 'js', + uri: 'some-js-file.js' + }; -test('constructor() - accepts an asset and the original error', function(assert) { - const error = new AssetLoadError(this.loader, this.asset, this.originalError); - assert.ok(error instanceof Error, 'AssetLoadError inherits Error'); - assert.ok(error.stack, 'stack is preserved'); - assert.strictEqual(error.asset, this.asset, 'asset is set'); -}); + this.loader = { + loadAsset(asset) { + return `Loaded ${asset.type} asset with uri "${asset.uri}".`; + } + }; -test('toString() - has correct name and message', function(assert) { - const error = new AssetLoadError(this.loader, this.asset, this.originalError); - assert.equal(error.toString(), 'AssetLoadError: The js asset with uri "some-js-file.js" failed to load with the error: Error: some error.'); -}); + this.originalError = new Error('some error'); + }); + + test('constructor() - accepts an asset and the original error', function(assert) { + const error = new AssetLoadError(this.loader, this.asset, this.originalError); + assert.ok(error instanceof Error, 'AssetLoadError inherits Error'); + assert.ok(error.stack, 'stack is preserved'); + assert.strictEqual(error.asset, this.asset, 'asset is set'); + }); + + test('toString() - has correct name and message', function(assert) { + const error = new AssetLoadError(this.loader, this.asset, this.originalError); + assert.equal(error.toString(), 'AssetLoadError: The js asset with uri "some-js-file.js" failed to load with the error: Error: some error.'); + }); -test('retryLoad() - calls loadAsset on the loader', function(assert) { - const error = new AssetLoadError(this.loader, this.asset, this.originalError); - assert.equal(error.retryLoad(), 'Loaded js asset with uri "some-js-file.js".'); + test('retryLoad() - calls loadAsset on the loader', function(assert) { + const error = new AssetLoadError(this.loader, this.asset, this.originalError); + assert.equal(error.retryLoad(), 'Loaded js asset with uri "some-js-file.js".'); + }); }); diff --git a/tests/unit/errors/bundle-load-test.js b/tests/unit/errors/bundle-load-test.js index 4542c88..2a42b56 100644 --- a/tests/unit/errors/bundle-load-test.js +++ b/tests/unit/errors/bundle-load-test.js @@ -1,32 +1,36 @@ import BundleLoadError from 'ember-asset-loader/errors/bundle-load'; import { module, test } from 'qunit'; -module('Unit | Error | bundle-load', { - bundleName: 'herp-de-derp', - errors: [ - new Error('derp error') - ], - loader: { - loadBundle(bundleName) { - return `Loaded the bundle "${bundleName}".`; - } - } -}); +module('Unit | Error | bundle-load', function(hooks) { + hooks.beforeEach(function() { + this.bundleName = 'herp-de-derp'; -test('constructor() - accepts a bundleName and errors array', function(assert) { - const error = new BundleLoadError(this.loader, this.bundleName, this.errors); - assert.ok(error instanceof Error, 'BundleLoadError inherits Error'); - assert.ok(error.stack, 'stack is preserved'); - assert.equal(error.bundleName, this.bundleName, 'bundleName is set'); - assert.strictEqual(error.errors, this.errors, 'errors is set'); -}); + this.errors = [ + new Error('derp error') + ]; -test('toString() - has correct name and message', function(assert) { - const error = new BundleLoadError(this.loader, this.bundleName, this.errors); - assert.equal(error.toString(), 'BundleLoadError: The bundle "herp-de-derp" failed to load.'); -}); + this.loader = { + loadBundle(bundleName) { + return `Loaded the bundle "${bundleName}".`; + } + }; + }); + + test('constructor() - accepts a bundleName and errors array', function(assert) { + const error = new BundleLoadError(this.loader, this.bundleName, this.errors); + assert.ok(error instanceof Error, 'BundleLoadError inherits Error'); + assert.ok(error.stack, 'stack is preserved'); + assert.equal(error.bundleName, this.bundleName, 'bundleName is set'); + assert.strictEqual(error.errors, this.errors, 'errors is set'); + }); + + test('toString() - has correct name and message', function(assert) { + const error = new BundleLoadError(this.loader, this.bundleName, this.errors); + assert.equal(error.toString(), 'BundleLoadError: The bundle "herp-de-derp" failed to load.'); + }); -test('retryLoad() - calls loadBundle on the loader', function(assert) { - const error = new BundleLoadError(this.loader, this.bundleName, this.errors); - assert.equal(error.retryLoad(), 'Loaded the bundle "herp-de-derp".'); + test('retryLoad() - calls loadBundle on the loader', function(assert) { + const error = new BundleLoadError(this.loader, this.bundleName, this.errors); + assert.equal(error.retryLoad(), 'Loaded the bundle "herp-de-derp".'); + }); }); diff --git a/tests/unit/errors/load-test.js b/tests/unit/errors/load-test.js index 48b18f0..07bcc6b 100644 --- a/tests/unit/errors/load-test.js +++ b/tests/unit/errors/load-test.js @@ -1,25 +1,25 @@ import LoadError from 'ember-asset-loader/errors/load'; import { module, test } from 'qunit'; -module('Unit | Error | load'); +module('Unit | Error | load', function() { + test('constructor() - accepts a message and a loader', function(assert) { + const message = 'herp-de-derp'; + const loader = {}; + const error = new LoadError(message, loader); -test('constructor() - accepts a message and a loader', function(assert) { - const message = 'herp-de-derp'; - const loader = {}; - const error = new LoadError(message, loader); + assert.ok(error instanceof Error, 'LoadError inherits Error'); + assert.ok(error.stack, 'stack is preserved'); + assert.equal(error.message, message, 'message is set'); + assert.strictEqual(error.loader, loader, 'loader is set'); + }); - assert.ok(error instanceof Error, 'LoadError inherits Error'); - assert.ok(error.stack, 'stack is preserved'); - assert.equal(error.message, message, 'message is set'); - assert.strictEqual(error.loader, loader, 'loader is set'); -}); - -test('toString() - has correct name and message', function(assert) { - const error = new LoadError('herp-de-derp'); - assert.equal(error.toString(), 'LoadError: herp-de-derp'); -}); + test('toString() - has correct name and message', function(assert) { + const error = new LoadError('herp-de-derp'); + assert.equal(error.toString(), 'LoadError: herp-de-derp'); + }); -test('retryLoad() - throws an error', function(assert) { - const error = new LoadError(); - assert.throws(() => error.retryLoad(), /You must define a behavior for 'retryLoad' in a subclass./); + test('retryLoad() - throws an error', function(assert) { + const error = new LoadError(); + assert.throws(() => error.retryLoad(), /You must define a behavior for 'retryLoad' in a subclass./); + }); }); diff --git a/tests/unit/services/asset-loader-test.js b/tests/unit/services/asset-loader-test.js index 0ae711f..9b78ad4 100644 --- a/tests/unit/services/asset-loader-test.js +++ b/tests/unit/services/asset-loader-test.js @@ -1,5 +1,6 @@ import RSVP from 'rsvp'; -import { moduleFor, test } from 'ember-qunit'; +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; function noop() {} function shouldNotHappen(assert) { @@ -9,425 +10,427 @@ function shouldHappen(assert) { return () => assert.ok(true, 'callback should happen'); } -moduleFor('service:asset-loader', 'Unit | Service | asset-loader'); +module('Unit | Service | asset-loader', function(hooks) { + setupTest(hooks); -test('loadBundle() - throws an error if no asset manifest has been provided', function(assert) { - const service = this.subject(); + test('loadBundle() - throws an error if no asset manifest has been provided', function(assert) { + const service = this.owner.lookup('service:asset-loader'); - assert.throws(() => service.loadBundle('blog'), /No asset manifest found. Ensure you call pushManifest before attempting to use the AssetLoader./); -}); - -test('loadBundle() - throws an error if asset manifest does not list any bundles', function(assert) { - const service = this.subject(); - - service.pushManifest({}); + assert.throws(() => service.loadBundle('blog'), /No bundle with name "blog" exists./); + }); - assert.throws(() => service.loadBundle('blog'), /Asset manifest does not list any available bundles./); -}); + test('loadBundle() - throws an error if asset manifest does not list any bundles', function(assert) { + const service = this.owner.lookup('service:asset-loader'); -test('loadBundle() - throws an error if asset manifest does not contain the bundle', function(assert) { - const service = this.subject(); + service.pushManifest({}); - service.pushManifest({ - bundles: { - chat: {} - } + assert.throws(() => service.loadBundle('blog'), /No bundle with name "blog" exists./); }); - assert.throws(() => service.loadBundle('blog'), /No bundle with name "blog" exists in the asset manifest./); -}); - -test('loadBundle() - returns a promise that resolves with the name of the loaded bundle', function(assert) { - assert.expect(1); + test('loadBundle() - throws an error if asset manifest does not contain the bundle', function(assert) { + const service = this.owner.lookup('service:asset-loader'); - const service = this.subject(); + service.pushManifest({ + bundles: { + chat: {} + } + }); - service.pushManifest({ - bundles: { - blog: {} - } + assert.throws(() => service.loadBundle('blog'), /No bundle with name "blog" exists in the asset manifest./); }); - return service.loadBundle('blog').then((bundle) => { - assert.equal(bundle, 'blog'); - }); -}); + test('loadBundle() - returns a promise that resolves with the name of the loaded bundle', function(assert) { + assert.expect(1); -test('loadBundle() - subsequent calls return the same promise', function(assert) { - assert.expect(1); + const service = this.owner.lookup('service:asset-loader'); - const service = this.subject(); + service.pushManifest({ + bundles: { + blog: {} + } + }); - service.pushManifest({ - bundles: { - blog: {} - } + return service.loadBundle('blog').then((bundle) => { + assert.equal(bundle, 'blog'); + }); }); - const firstCall = service.loadBundle('blog'); - const secondCall = service.loadBundle('blog'); + test('loadBundle() - subsequent calls return the same promise', function(assert) { + assert.expect(1); - assert.strictEqual(firstCall, secondCall); -}); + const service = this.owner.lookup('service:asset-loader'); -test('loadBundle() - rejects with a BundleLoadError', function(assert) { - assert.expect(2); + service.pushManifest({ + bundles: { + blog: {} + } + }); - const service = this.subject(); + const firstCall = service.loadBundle('blog'); + const secondCall = service.loadBundle('blog'); - service.pushManifest({ - bundles: { - blog: { - assets: [ - { type: 'fail', uri: 'someuri' } - ] - } - } + assert.strictEqual(firstCall, secondCall); }); - service.defineLoader('fail', () => RSVP.reject('rejected')); + test('loadBundle() - rejects with a BundleLoadError', function(assert) { + assert.expect(2); - return service.loadBundle('blog').then( - shouldNotHappen(assert), - (error) => { - assert.equal(error.errors.length, 1, 'has an array of the errors causing the load to fail.'); - assert.equal(error.toString(), 'BundleLoadError: The bundle "blog" failed to load.', 'error message contains correct info.'); - } - ); -}); + const service = this.owner.lookup('service:asset-loader'); -test('loadBundle() - a rejection allows retrying the load', function(assert) { - assert.expect(2); + service.pushManifest({ + bundles: { + blog: { + assets: [ + { type: 'fail', uri: 'someuri' } + ] + } + } + }); - const service = this.subject(); + service.defineLoader('fail', () => RSVP.reject('rejected')); - service.pushManifest({ - bundles: { - blog: { - assets: [ - { type: 'fail', uri: 'someuri' } - ] + return service.loadBundle('blog').then( + shouldNotHappen(assert), + (error) => { + assert.equal(error.errors.length, 1, 'has an array of the errors causing the load to fail.'); + assert.equal(error.toString(), 'BundleLoadError: The bundle "blog" failed to load.', 'error message contains correct info.'); } - } + ); }); - service.defineLoader('fail', () => RSVP.reject('rejected')); + test('loadBundle() - a rejection allows retrying the load', function(assert) { + assert.expect(2); - return service.loadBundle('blog').then( - shouldNotHappen(assert), - (error) => { - assert.ok(true, 'first error occured'); - return error.retryLoad(); - } - ).then( - shouldNotHappen(assert), - () => { - assert.ok(true, 'retry error occured'); - } - ); -}); + const service = this.owner.lookup('service:asset-loader'); -test('loadBundle() - subsequent call after rejection returns a new promise', function(assert) { - assert.expect(2); + service.pushManifest({ + bundles: { + blog: { + assets: [ + { type: 'fail', uri: 'someuri' } + ] + } + } + }); - const service = this.subject(); - let firstRetry; + service.defineLoader('fail', () => RSVP.reject('rejected')); - service.pushManifest({ - bundles: { - blog: { - assets: [ - { type: 'fail', uri: 'someuri' } - ] + return service.loadBundle('blog').then( + shouldNotHappen(assert), + (error) => { + assert.ok(true, 'first error occured'); + return error.retryLoad(); } - } + ).then( + shouldNotHappen(assert), + () => { + assert.ok(true, 'retry error occured'); + } + ); }); - service.defineLoader('fail', () => RSVP.reject('rejected')); + test('loadBundle() - subsequent call after rejection returns a new promise', function(assert) { + assert.expect(2); - return service.loadBundle('blog').then( - shouldNotHappen(assert), - (error) => firstRetry = error.retryLoad() - ).then( - shouldNotHappen(assert), - () => { - service.defineLoader('fail', () => RSVP.resolve()); + const service = this.owner.lookup('service:asset-loader'); + let firstRetry; - const serviceRetry = service.loadBundle('blog'); + service.pushManifest({ + bundles: { + blog: { + assets: [ + { type: 'fail', uri: 'someuri' } + ] + } + } + }); - assert.notStrictEqual(firstRetry, serviceRetry, 'calling loadAsset again returns other result'); + service.defineLoader('fail', () => RSVP.reject('rejected')); - return serviceRetry; - } - ).then(shouldHappen(assert), shouldNotHappen(assert)); -}); + return service.loadBundle('blog').then( + shouldNotHappen(assert), + (error) => firstRetry = error.retryLoad() + ).then( + shouldNotHappen(assert), + () => { + service.defineLoader('fail', () => RSVP.resolve()); -test('loadBundle() - retrying a load twice returns the same promise', function(assert) { - assert.expect(2); + const serviceRetry = service.loadBundle('blog'); - const service = this.subject(); + assert.notStrictEqual(firstRetry, serviceRetry, 'calling loadAsset again returns other result'); - service.pushManifest({ - bundles: { - blog: { - assets: [ - { type: 'fail', uri: 'someuri' } - ] + return serviceRetry; } - } + ).then(shouldHappen(assert), shouldNotHappen(assert)); }); - service.defineLoader('fail', () => RSVP.reject('rejected')); + test('loadBundle() - retrying a load twice returns the same promise', function(assert) { + assert.expect(2); - return service.loadBundle('blog').then( - shouldNotHappen(assert), - (error) => { - const firstRetry = error.retryLoad(); - const secondRetry = error.retryLoad(); - const serviceRetry = service.loadBundle('blog'); + const service = this.owner.lookup('service:asset-loader'); - assert.strictEqual(firstRetry, secondRetry, 'multiple retries produce same results'); - assert.strictEqual(firstRetry, serviceRetry, 'calling loadBundle again returns the retry result'); + service.pushManifest({ + bundles: { + blog: { + assets: [ + { type: 'fail', uri: 'someuri' } + ] + } + } + }); - return firstRetry; - } - ).catch(noop); -}); + service.defineLoader('fail', () => RSVP.reject('rejected')); -test('loadAsset() - throws an error if there is no loader defined for the asset type', function(assert) { - const service = this.subject(); - const asset = { type: 'crazy-type', uri: 'someuri' }; + return service.loadBundle('blog').then( + shouldNotHappen(assert), + (error) => { + const firstRetry = error.retryLoad(); + const secondRetry = error.retryLoad(); + const serviceRetry = service.loadBundle('blog'); - assert.throws(() => service.loadAsset(asset), /No loader for assets of type "crazy-type" defined./); -}); + assert.strictEqual(firstRetry, secondRetry, 'multiple retries produce same results'); + assert.strictEqual(firstRetry, serviceRetry, 'calling loadBundle again returns the retry result'); -test('loadAsset() - returns a promise that resolves with the loaded asset information', function(assert) { - assert.expect(1); + return firstRetry; + } + ).catch(noop); + }); + + test('loadAsset() - throws an error if there is no loader defined for the asset type', function(assert) { + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'crazy-type', uri: 'someuri' }; + + assert.throws(() => service.loadAsset(asset), /No loader for assets of type "crazy-type" defined./); + }); - const service = this.subject(); - const asset = { type: 'test', uri: 'someuri' }; + test('loadAsset() - returns a promise that resolves with the loaded asset information', function(assert) { + assert.expect(1); - service.defineLoader('test', (uri) => RSVP.resolve(uri)); + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'test', uri: 'someuri' }; - return service.loadAsset(asset).then((result) => { - assert.deepEqual(result, asset); + service.defineLoader('test', (uri) => RSVP.resolve(uri)); + + return service.loadAsset(asset).then((result) => { + assert.deepEqual(result, asset); + }); }); -}); -test('loadAsset() - subsequent calls return the same promise', function(assert) { - assert.expect(1); + test('loadAsset() - subsequent calls return the same promise', function(assert) { + assert.expect(1); - const service = this.subject(); - const asset = { type: 'test', uri: 'someuri' }; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'test', uri: 'someuri' }; - service.defineLoader('test', (uri) => RSVP.resolve(uri)); + service.defineLoader('test', (uri) => RSVP.resolve(uri)); - const firstCall = service.loadAsset(asset); - const secondCall = service.loadAsset(asset); + const firstCall = service.loadAsset(asset); + const secondCall = service.loadAsset(asset); - assert.strictEqual(firstCall, secondCall); -}); + assert.strictEqual(firstCall, secondCall); + }); -test('loadAsset() - rejects with an AssetLoadPromise', function(assert) { - assert.expect(1); + test('loadAsset() - rejects with an AssetLoadPromise', function(assert) { + assert.expect(1); - const service = this.subject(); - const asset = { type: 'test', uri: 'someuri' }; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'test', uri: 'someuri' }; - service.defineLoader('test', () => RSVP.reject('some error')); + service.defineLoader('test', () => RSVP.reject('some error')); - return service.loadAsset(asset).then(shouldNotHappen(assert), (error) => { - assert.equal(error.toString(), 'AssetLoadError: The test asset with uri "someuri" failed to load with the error: some error.'); + return service.loadAsset(asset).then(shouldNotHappen(assert), (error) => { + assert.equal(error.toString(), 'AssetLoadError: The test asset with uri "someuri" failed to load with the error: some error.'); + }); }); -}); -test('loadAsset() - a rejection allows retrying the load', function(assert) { - assert.expect(2); + test('loadAsset() - a rejection allows retrying the load', function(assert) { + assert.expect(2); - const service = this.subject(); - const asset = { type: 'test', uri: 'someuri' }; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'test', uri: 'someuri' }; - service.defineLoader('test', () => RSVP.reject('some error')); + service.defineLoader('test', () => RSVP.reject('some error')); - return service.loadAsset(asset).then( - shouldNotHappen(assert), - (error) => { - assert.ok(true, 'first error occured'); - return error.retryLoad(); - } - ).then( - shouldNotHappen(assert), - () => { - assert.ok(true, 'retry error occured'); - } - ); -}); + return service.loadAsset(asset).then( + shouldNotHappen(assert), + (error) => { + assert.ok(true, 'first error occured'); + return error.retryLoad(); + } + ).then( + shouldNotHappen(assert), + () => { + assert.ok(true, 'retry error occured'); + } + ); + }); -test('loadAsset() - subsequent call after rejection returns a new promise', function(assert) { - assert.expect(2); + test('loadAsset() - subsequent call after rejection returns a new promise', function(assert) { + assert.expect(2); - const service = this.subject(); - const asset = { type: 'test', uri: 'someuri' }; - let firstRetry; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'test', uri: 'someuri' }; + let firstRetry; - service.defineLoader('test', () => RSVP.reject('some error')); + service.defineLoader('test', () => RSVP.reject('some error')); - return service.loadAsset(asset).then( - shouldNotHappen(assert), - (error) => firstRetry = error.retryLoad() - ).then( - shouldNotHappen(assert), - () => { - service.defineLoader('test', () => RSVP.resolve()); + return service.loadAsset(asset).then( + shouldNotHappen(assert), + (error) => firstRetry = error.retryLoad() + ).then( + shouldNotHappen(assert), + () => { + service.defineLoader('test', () => RSVP.resolve()); - const serviceRetry = service.loadAsset(asset); + const serviceRetry = service.loadAsset(asset); - assert.notStrictEqual(firstRetry, serviceRetry, 'calling loadAsset again returns other result'); + assert.notStrictEqual(firstRetry, serviceRetry, 'calling loadAsset again returns other result'); - return serviceRetry; - } - ).then(shouldHappen(assert), shouldNotHappen(assert)); -}); + return serviceRetry; + } + ).then(shouldHappen(assert), shouldNotHappen(assert)); + }); -test('loadAsset() - retrying a load twice returns the same promise', function(assert) { - assert.expect(2); + test('loadAsset() - retrying a load twice returns the same promise', function(assert) { + assert.expect(2); - const service = this.subject(); - const asset = { type: 'test', uri: 'someuri' }; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'test', uri: 'someuri' }; - service.defineLoader('test', () => RSVP.reject('some error')); + service.defineLoader('test', () => RSVP.reject('some error')); - return service.loadAsset(asset).then( - shouldNotHappen(assert), - (error) => { - const firstRetry = error.retryLoad(); - const secondRetry = error.retryLoad(); - const serviceRetry = service.loadAsset(asset); + return service.loadAsset(asset).then( + shouldNotHappen(assert), + (error) => { + const firstRetry = error.retryLoad(); + const secondRetry = error.retryLoad(); + const serviceRetry = service.loadAsset(asset); - assert.strictEqual(firstRetry, secondRetry, 'multiple retries produce same results'); - assert.strictEqual(firstRetry, serviceRetry, 'calling loadBundle again returns the retry result'); + assert.strictEqual(firstRetry, secondRetry, 'multiple retries produce same results'); + assert.strictEqual(firstRetry, serviceRetry, 'calling loadBundle again returns the retry result'); - return firstRetry; - } - ).catch(noop); -}); + return firstRetry; + } + ).catch(noop); + }); -test('loadAsset() - js - handles successful load', function(assert) { - assert.expect(1); + test('loadAsset() - js - handles successful load', function(assert) { + assert.expect(1); - const service = this.subject(); - const asset = { type: 'js', uri: '/unit-test.js' }; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'js', uri: '/unit-test.js' }; - return service.loadAsset(asset).then(shouldHappen(assert), shouldNotHappen(assert)); -}); + return service.loadAsset(asset).then(shouldHappen(assert), shouldNotHappen(assert)); + }); -test('loadAsset() - js - handles failed load', function(assert) { - assert.expect(1); + test('loadAsset() - js - handles failed load', function(assert) { + assert.expect(1); - const service = this.subject(); - const asset = { type: 'js', uri: '/unit-test.jsss' }; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'js', uri: '/unit-test.jsss' }; - return service.loadAsset(asset).then(shouldNotHappen(assert), shouldHappen(assert)); -}); + return service.loadAsset(asset).then(shouldNotHappen(assert), shouldHappen(assert)); + }); -test('loadAsset() - js - does not insert additional script tag if asset is in DOM already', function(assert) { - assert.expect(1); + test('loadAsset() - js - does not insert additional script tag if asset is in DOM already', function(assert) { + assert.expect(1); - if (!document.querySelector('script[src="/unit-test.js"]')) { - const script = document.createElement('script'); - script.src = '/unit-test.js'; - document.body.appendChild(script); - } + if (!document.querySelector('script[src="/unit-test.js"]')) { + const script = document.createElement('script'); + script.src = '/unit-test.js'; + document.body.appendChild(script); + } - const service = this.subject(); - const asset = { type: 'js', uri: '/unit-test.js' }; - const numScripts = document.querySelectorAll('script').length; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'js', uri: '/unit-test.js' }; + const numScripts = document.querySelectorAll('script').length; - return service.loadAsset(asset).then(() => { - const newNumScripts = document.querySelectorAll('script').length; - assert.equal(newNumScripts, numScripts); + return service.loadAsset(asset).then(() => { + const newNumScripts = document.querySelectorAll('script').length; + assert.equal(newNumScripts, numScripts); + }); }); -}); -test('loadAsset() - js - sets async false to try to guarantee execution order', function(assert) { - assert.expect(1); + test('loadAsset() - js - sets async false to try to guarantee execution order', function(assert) { + assert.expect(1); - const service = this.subject(); - const asset = { type: 'js', uri: '/unit-test.js' }; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'js', uri: '/unit-test.js' }; - return service.loadAsset(asset).then(() => { - const script = document.querySelector('script[src="/unit-test.js"]'); - assert.equal(script.async, false); + return service.loadAsset(asset).then(() => { + const script = document.querySelector('script[src="/unit-test.js"]'); + assert.equal(script.async, false); + }); }); -}); -test('loadAsset() - css - handles successful load', function(assert) { - assert.expect(1); + test('loadAsset() - css - handles successful load', function(assert) { + assert.expect(1); - const service = this.subject(); - const asset = { type: 'css', uri: '/unit-test.css' }; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'css', uri: '/unit-test.css' }; - return service.loadAsset(asset).then(shouldHappen(assert), shouldNotHappen(assert)); -}); + return service.loadAsset(asset).then(shouldHappen(assert), shouldNotHappen(assert)); + }); -test('loadAsset() - css - handles failed load', function(assert) { - assert.expect(1); + test('loadAsset() - css - handles failed load', function(assert) { + assert.expect(1); - const service = this.subject(); - const asset = { type: 'css', uri: '/unit-test.csss' }; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'css', uri: '/unit-test.csss' }; - // Since onload/onerror support is spotty for link elements, we allow - // non-Chrome browsers to either resolve or reject (they should do something). - var isChrome = !!window.chrome && window.navigator.vendor === 'Google Inc.'; - if (isChrome) { - return service.loadAsset(asset).then(shouldNotHappen(assert), shouldHappen(assert)); - } else { - return service.loadAsset(asset).then(shouldHappen(assert), shouldHappen(assert)); - } -}); + // Since onload/onerror support is spotty for link elements, we allow + // non-Chrome browsers to either resolve or reject (they should do something). + var isChrome = !!window.chrome && window.navigator.vendor === 'Google Inc.'; + if (isChrome) { + return service.loadAsset(asset).then(shouldNotHappen(assert), shouldHappen(assert)); + } else { + return service.loadAsset(asset).then(shouldHappen(assert), shouldHappen(assert)); + } + }); -test('loadAsset() - css - does not insert additional link tag if asset is in DOM already', function(assert) { - assert.expect(1); + test('loadAsset() - css - does not insert additional link tag if asset is in DOM already', function(assert) { + assert.expect(1); - if (!document.querySelector('link[href="/unit-test.css"]')) { - const link = document.createElement('link'); - link.href = '/unit-test.css'; - document.head.appendChild(link); - } + if (!document.querySelector('link[href="/unit-test.css"]')) { + const link = document.createElement('link'); + link.href = '/unit-test.css'; + document.head.appendChild(link); + } - const service = this.subject(); - const asset = { type: 'css', uri: '/unit-test.css' }; - const numLinks = document.querySelectorAll('link').length; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'css', uri: '/unit-test.css' }; + const numLinks = document.querySelectorAll('link').length; - return service.loadAsset(asset).then(() => { - const newNumLinks = document.querySelectorAll('link').length; - assert.equal(newNumLinks, numLinks); + return service.loadAsset(asset).then(() => { + const newNumLinks = document.querySelectorAll('link').length; + assert.equal(newNumLinks, numLinks); + }); }); -}); -test('defineLoader() - overwrites existing asset loader types', function(assert) { - assert.expect(1); + test('defineLoader() - overwrites existing asset loader types', function(assert) { + assert.expect(1); - const service = this.subject(); - const asset = { type: 'test', uri: 'someuri' }; + const service = this.owner.lookup('service:asset-loader'); + const asset = { type: 'test', uri: 'someuri' }; - service.defineLoader('test', () => RSVP.reject()); - service.defineLoader('test', () => RSVP.resolve()); + service.defineLoader('test', () => RSVP.reject()); + service.defineLoader('test', () => RSVP.resolve()); - return service.loadAsset(asset).then( - () => assert.ok(true), - shouldNotHappen(assert) - ); -}); + return service.loadAsset(asset).then( + () => assert.ok(true), + shouldNotHappen(assert) + ); + }); -test('pushManifest() - throws an error when merging two manifests with the same bundle', function(assert) { - const service = this.subject(); - const manifest = { - bundles: { - blog: {} - } - }; + test('pushManifest() - throws an error when merging two manifests with the same bundle', function(assert) { + const service = this.owner.lookup('service:asset-loader'); + const manifest = { + bundles: { + blog: {} + } + }; - service.pushManifest(manifest); - assert.throws(() => service.pushManifest(manifest), /The bundle "blog" already exists./); + service.pushManifest(manifest); + assert.throws(() => service.pushManifest(manifest), /The bundle "blog" already exists./); + }); }); diff --git a/tests/unit/test-helpers/loaded-asset-state-test.js b/tests/unit/test-helpers/loaded-asset-state-test.js index 5491e58..6920393 100644 --- a/tests/unit/test-helpers/loaded-asset-state-test.js +++ b/tests/unit/test-helpers/loaded-asset-state-test.js @@ -1,43 +1,30 @@ -import { moduleFor, test } from 'ember-qunit'; +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; import { cacheLoadedAssetState, getLoadedAssetState, resetLoadedAssetState } from 'ember-asset-loader/test-support/loaded-asset-state'; -moduleFor('service:asset-loader', 'Unit | Test Helper | loaded-asset-state', { - beforeEach() { - this.service = this.subject(); - this.service.pushManifest({ - bundles: { - 'loaded-asset-state': { - assets: [ - { - uri: '/test-dist/loaded-asset-state/loaded-asset-state.css', - type: 'css' - }, - { - uri: '/test-dist/loaded-asset-state/loaded-asset-state.js', - type: 'js' - } - ] - } - } - }); - } -}); +module('Unit | Test Helper | loaded-asset-state', function(hooks) { + setupTest(hooks); -test('resetLoadedAssetState removes new script tags, new link tags, and new modules', function(assert) { - assert.expect(4); + hooks.beforeEach(function() { + this.service = this.owner.lookup('service:asset-loader'); + }); - const startingState = getLoadedAssetState(); + test('resetLoadedAssetState removes new script tags, new link tags, and new modules', function(assert) { + assert.expect(4); - cacheLoadedAssetState(); + const startingState = getLoadedAssetState(); - return this.service.loadBundle('loaded-asset-state').then(() => { - const middleState = getLoadedAssetState(); - assert.notDeepEqual(startingState.requireEntries, middleState.requireEntries, 'starting and middle state for require entries are not the same'); - assert.notDeepEqual(startingState.scripts, middleState.scripts, 'starting and middle state for scripts are not the same'); - assert.notDeepEqual(startingState.links, middleState.links, 'starting and middle state for links are not the same'); + cacheLoadedAssetState(); - resetLoadedAssetState(); + return this.service.loadBundle('loaded-asset-state').then(() => { + const middleState = getLoadedAssetState(); + assert.notDeepEqual(startingState.requireEntries, middleState.requireEntries, 'starting and middle state for require entries are not the same'); + assert.notDeepEqual(startingState.scripts, middleState.scripts, 'starting and middle state for scripts are not the same'); + assert.notDeepEqual(startingState.links, middleState.links, 'starting and middle state for links are not the same'); - assert.deepEqual(startingState, getLoadedAssetState(), 'starting and ending state are the same'); + resetLoadedAssetState(); + + assert.deepEqual(startingState, getLoadedAssetState(), 'starting and ending state are the same'); + }); }); }); From 5e39ec0536cd0f43508cc67b3676d1e6f6387837 Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Wed, 8 Jan 2020 15:33:00 -0500 Subject: [PATCH 02/13] Moved autoboot config to dummy's environment.js file; Installed ember-maybe-import-regenerator as a dev dep. --- config/environment.js | 14 ++------ ember-cli-build.js | 4 +-- package.json | 1 + tests/dummy/config/environment.js | 1 + yarn.lock | 55 ++++++++++++++++++++----------- 5 files changed, 41 insertions(+), 34 deletions(-) diff --git a/config/environment.js b/config/environment.js index 6baa2b7..826bb01 100644 --- a/config/environment.js +++ b/config/environment.js @@ -1,14 +1,6 @@ /* eslint-env node */ 'use strict'; -module.exports = function(environment/*, appConfig */) { - let ENV = { - APP: {} - }; - - if (environment === 'test') { - ENV.APP.autoboot = false; - } - - return ENV; -}; +module.exports = function(/* environment, appConfig */) { + return { }; +} diff --git a/ember-cli-build.js b/ember-cli-build.js index 0347324..156e23f 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -5,9 +5,7 @@ const EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); module.exports = function(defaults) { let app = new EmberAddon(defaults, { - 'ember-cli-babel': { - includePolyfill: true - } + // Add options here }); /* diff --git a/package.json b/package.json index d27b97f..bf6c2f8 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "ember-disable-prototype-extensions": "^1.1.0", "ember-export-application-global": "^2.0.0", "ember-load-initializers": "^2.0.0", + "ember-maybe-import-regenerator": "^0.1.6", "ember-resolver": "^5.1.3", "ember-source": "~2.14.1", "loader.js": "^4.7.0", diff --git a/tests/dummy/config/environment.js b/tests/dummy/config/environment.js index 251bdcb..fc456bb 100644 --- a/tests/dummy/config/environment.js +++ b/tests/dummy/config/environment.js @@ -41,6 +41,7 @@ module.exports = function(environment) { ENV.APP.LOG_VIEW_LOOKUPS = false; ENV.APP.rootElement = '#ember-testing'; + ENV.APP.autoboot = false; } if (environment === 'production') { diff --git a/yarn.lock b/yarn.lock index 263c8a6..b7d3c02 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2009,7 +2009,7 @@ broccoli-funnel-reducer@^1.0.0: resolved "https://registry.yarnpkg.com/broccoli-funnel-reducer/-/broccoli-funnel-reducer-1.0.0.tgz#11365b2a785aec9b17972a36df87eef24c5cc0ea" integrity sha1-ETZbKnha7JsXlyo234fu8kxcwOo= -broccoli-funnel@^1.0.0, broccoli-funnel@^1.2.0: +broccoli-funnel@^1.0.0, broccoli-funnel@^1.0.1, broccoli-funnel@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/broccoli-funnel/-/broccoli-funnel-1.2.0.tgz#cddc3afc5ff1685a8023488fff74ce6fb5a51296" integrity sha1-zdw6/F/xaFqAI0iP/3TOb7WlEpY= @@ -3110,25 +3110,7 @@ ember-assign-polyfill@~2.4.0: ember-cli-babel "^6.6.0" ember-cli-version-checker "^2.0.0" -ember-cli-babel@^6.0.0-beta.7, ember-cli-babel@^6.11.0, ember-cli-babel@^6.6.0, ember-cli-babel@^6.8.1: - version "6.12.0" - resolved "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.12.0.tgz#3adcdbe1278da1fcd0b9038f1360cb4ac5d4414c" - dependencies: - amd-name-resolver "0.0.7" - babel-plugin-debug-macros "^0.1.11" - babel-plugin-ember-modules-api-polyfill "^2.3.0" - babel-plugin-transform-es2015-modules-amd "^6.24.0" - babel-polyfill "^6.16.0" - babel-preset-env "^1.5.1" - broccoli-babel-transpiler "^6.1.2" - broccoli-debug "^0.6.2" - broccoli-funnel "^1.0.0" - broccoli-source "^1.1.0" - clone "^2.0.0" - ember-cli-version-checker "^2.1.0" - semver "^5.4.1" - -ember-cli-babel@^6.12.0, ember-cli-babel@^6.16.0, ember-cli-babel@^6.8.2: +ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.12.0, ember-cli-babel@^6.16.0, ember-cli-babel@^6.8.2: version "6.18.0" resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-6.18.0.tgz#3f6435fd275172edeff2b634ee7b29ce74318957" integrity sha512-7ceC8joNYxY2wES16iIBlbPSxwKDBhYwC8drU3ZEvuPDMwVv1KzxCNu1fvxyFEBWhwaRNTUxSCsEVoTd9nosGA== @@ -3147,6 +3129,24 @@ ember-cli-babel@^6.12.0, ember-cli-babel@^6.16.0, ember-cli-babel@^6.8.2: ember-cli-version-checker "^2.1.2" semver "^5.5.0" +ember-cli-babel@^6.0.0-beta.7, ember-cli-babel@^6.11.0, ember-cli-babel@^6.6.0, ember-cli-babel@^6.8.1: + version "6.12.0" + resolved "https://registry.npmjs.org/ember-cli-babel/-/ember-cli-babel-6.12.0.tgz#3adcdbe1278da1fcd0b9038f1360cb4ac5d4414c" + dependencies: + amd-name-resolver "0.0.7" + babel-plugin-debug-macros "^0.1.11" + babel-plugin-ember-modules-api-polyfill "^2.3.0" + babel-plugin-transform-es2015-modules-amd "^6.24.0" + babel-polyfill "^6.16.0" + babel-preset-env "^1.5.1" + broccoli-babel-transpiler "^6.1.2" + broccoli-debug "^0.6.2" + broccoli-funnel "^1.0.0" + broccoli-source "^1.1.0" + clone "^2.0.0" + ember-cli-version-checker "^2.1.0" + semver "^5.4.1" + ember-cli-babel@^7.0.0, ember-cli-babel@^7.5.0: version "7.5.0" resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-7.5.0.tgz#af654dcef23630391d2efe85aaa3bdf8b6ca17b7" @@ -3472,6 +3472,16 @@ ember-load-initializers@^2.0.0: dependencies: ember-cli-babel "^7.0.0" +ember-maybe-import-regenerator@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ember-maybe-import-regenerator/-/ember-maybe-import-regenerator-0.1.6.tgz#35d41828afa6d6a59bc0da3ce47f34c573d776ca" + integrity sha1-NdQYKK+m1qWbwNo85H80xXPXdso= + dependencies: + broccoli-funnel "^1.0.1" + broccoli-merge-trees "^1.0.0" + ember-cli-babel "^6.0.0-beta.4" + regenerator-runtime "^0.9.5" + ember-qunit@^3.5.0: version "3.5.3" resolved "https://registry.yarnpkg.com/ember-qunit/-/ember-qunit-3.5.3.tgz#bfd0bff8298c78c77e870cca43fe0826e78a0d09" @@ -6902,6 +6912,11 @@ regenerator-runtime@^0.12.0: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de" integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg== +regenerator-runtime@^0.9.5: + version "0.9.6" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.9.6.tgz#d33eb95d0d2001a4be39659707c51b0cb71ce029" + integrity sha1-0z65XQ0gAaS+OWWXB8UbDLcc4Ck= + regenerator-transform@^0.10.0: version "0.10.1" resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" From 4c92ac58829ec921b1e65e9a13fa1461d4d2b1b5 Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Wed, 8 Jan 2020 17:06:40 -0500 Subject: [PATCH 03/13] bumped ember sauce to latest --- package.json | 2 +- yarn.lock | 714 +++++++++++++++++++++------------------------------ 2 files changed, 294 insertions(+), 422 deletions(-) diff --git a/package.json b/package.json index bf6c2f8..2d71df1 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "ember-cli-htmlbars-inline-precompile": "^2.1.0", "ember-cli-inject-live-reload": "^2.0.1", "ember-cli-qunit": "^4.4.0", - "ember-cli-sauce": "1.6.0", + "ember-cli-sauce": "^2.2.0", "ember-cli-shims": "^1.1.0", "ember-disable-prototype-extensions": "^1.1.0", "ember-export-application-global": "^2.0.0", diff --git a/yarn.lock b/yarn.lock index b7d3c02..9171238 100644 --- a/yarn.lock +++ b/yarn.lock @@ -763,13 +763,12 @@ after@0.8.2: resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" integrity sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8= -agent-base@2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-2.1.1.tgz#d6de10d5af6132d5bd692427d46fc538539094c7" - integrity sha1-1t4Q1a9hMtW9aSQn1G/FOFOQlMc= +agent-base@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" + integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== dependencies: - extend "~3.0.0" - semver "~5.0.1" + es6-promisify "^5.0.0" ajv@^6.5.5, ajv@^6.9.1: version "6.10.0" @@ -876,19 +875,34 @@ aproba@^1.0.3: resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== -archiver@~0.14.0: - version "0.14.4" - resolved "https://registry.yarnpkg.com/archiver/-/archiver-0.14.4.tgz#5b9ddb9f5ee1ceef21cb8f3b020e6240ecb4315c" - integrity sha1-W53bn17hzu8hy487Ag5iQOy0MVw= +archiver-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2" + integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw== + dependencies: + glob "^7.1.4" + graceful-fs "^4.2.0" + lazystream "^1.0.0" + lodash.defaults "^4.2.0" + lodash.difference "^4.5.0" + lodash.flatten "^4.4.0" + lodash.isplainobject "^4.0.6" + lodash.union "^4.6.0" + normalize-path "^3.0.0" + readable-stream "^2.0.0" + +archiver@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-3.1.1.tgz#9db7819d4daf60aec10fe86b16cb9258ced66ea0" + integrity sha512-5Hxxcig7gw5Jod/8Gq0OneVgLYET+oNHcxgWItq4TbhOzRLKNAFUb9edAftiMKXvXfCB0vbGrJdZDNq0dWMsxg== dependencies: - async "~0.9.0" - buffer-crc32 "~0.2.1" - glob "~4.3.0" - lazystream "~0.1.0" - lodash "~3.2.0" - readable-stream "~1.0.26" - tar-stream "~1.1.0" - zip-stream "~0.5.0" + archiver-utils "^2.1.0" + async "^2.6.3" + buffer-crc32 "^0.2.1" + glob "^7.1.4" + readable-stream "^3.4.0" + tar-stream "^2.1.0" + zip-stream "^2.1.2" are-we-there-yet@~1.1.2: version "1.1.5" @@ -952,11 +966,6 @@ arraybuffer.slice@~0.0.7: resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" integrity sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog== -asn1@0.1.11: - version "0.1.11" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7" - integrity sha1-VZvhg3bQik7E2+gId9J4GGObLfc= - asn1@~0.2.3: version "0.2.4" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" @@ -969,20 +978,15 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= -assert-plus@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160" - integrity sha1-7nQAlBMALYTOxyGcasgRgS5yMWA= - assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= -ast-types@0.9.6: - version "0.9.6" - resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.9.6.tgz#102c9e9e9005d3e7e3829bf0c4fa24ee862ee9b9" - integrity sha1-ECyenpAF0+fjgpvwxPok7oYu6bk= +ast-types@0.11.3: + version "0.11.3" + resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.3.tgz#c20757fe72ee71278ea0ff3d87e5c2ca30d9edf8" + integrity sha512-XA5o5dsNw8MhyW0Q7MWXJWc4oOzZKbdsEJq45h7c8q/d9DwWZ5F2ugUc1PuMLPGsUnphCt/cNDHu8JeBbxf1qA== astral-regex@^1.0.0: version "1.0.0" @@ -1015,16 +1019,18 @@ async-promise-queue@^1.0.3: async "^2.4.1" debug "^2.6.8" -async@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/async/-/async-1.4.0.tgz#35f86f83c59e0421d099cd9a91d8278fb578c00d" - integrity sha1-Nfhvg8WeBCHQmc2akdgnj7V4wA0= - async@^1.4.0, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= +async@^2.0.0, async@^2.1.2, async@^2.6.3: + version "2.6.3" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" + integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + dependencies: + lodash "^4.17.14" + async@^2.4.1, async@^2.5.0: version "2.6.2" resolved "https://registry.yarnpkg.com/async/-/async-2.6.2.tgz#18330ea7e6e313887f5d2f2a904bac6fe4dd5381" @@ -1037,16 +1043,6 @@ async@~0.2.9: resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" integrity sha1-trvgsGdLnXGXCMo43owjfLUmw9E= -async@~0.9.0: - version "0.9.2" - resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" - integrity sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0= - -async@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" - integrity sha1-+PwEyjoTeErenhZBr5hXjPvWR6k= - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -1057,11 +1053,6 @@ atob@^2.1.1: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -aws-sign2@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.5.0.tgz#c57103f7a17fc037f02d7c2e64b602ea223f7d63" - integrity sha1-xXED96F/wDfwLXwuZLYC6iI/fWM= - aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -1668,6 +1659,11 @@ base64-arraybuffer@0.1.5: resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" integrity sha1-c5JncZI7Whl0etZmqlzUv5xunOg= +base64-js@^1.0.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" + integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + base64id@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" @@ -1712,12 +1708,12 @@ better-assert@~1.0.0: resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.2.tgz#c83c3d74233ba7674e4f313cb2a2b70f54e94b7c" integrity sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg== -bl@^0.9.0, bl@~0.9.0: - version "0.9.5" - resolved "https://registry.yarnpkg.com/bl/-/bl-0.9.5.tgz#c06b797af085ea00bc527afc8efcf11de2232054" - integrity sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ= +bl@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-3.0.0.tgz#3611ec00579fd18561754360b21e9f784500ff88" + integrity sha512-EUAyP5UHU5hxF8BPT0LKW8gjYLhq1DQIcneOX/pL/m2Alo+OYDQAJlHq+yseMP50Os2nHXOSic6Ss3vSQeyf4A== dependencies: - readable-stream "~1.0.26" + readable-stream "^3.0.1" blank-object@^1.0.1: version "1.0.2" @@ -1729,11 +1725,6 @@ blob@0.0.5: resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.5.tgz#d680eeef25f8cd91ad533f5b01eed48e64caf683" integrity sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig== -bluebird@^2.9.30: - version "2.11.0" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-2.11.0.tgz#534b9033c022c9579c56ba3b3e5a5caafbb650e1" - integrity sha1-U0uQM8AiyVecVro7Plpcqvu2UOE= - bluebird@^3.1.1, bluebird@^3.4.6: version "3.5.3" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.3.tgz#7d01c6f9616c9a51ab0f8c549a79dfe6ec33efa7" @@ -1765,13 +1756,6 @@ body@^5.1.0: raw-body "~1.1.0" safe-json-parse "~1.0.1" -boom@2.x.x: - version "2.10.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" - integrity sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8= - dependencies: - hoek "2.x.x" - bower-config@^1.3.0: version "1.4.1" resolved "https://registry.yarnpkg.com/bower-config/-/bower-config-1.4.1.tgz#85fd9df367c2b8dbbd0caa4c5f2bad40cd84c2cc" @@ -1788,7 +1772,7 @@ bower-endpoint-parser@0.2.2: resolved "https://registry.yarnpkg.com/bower-endpoint-parser/-/bower-endpoint-parser-0.2.2.tgz#00b565adbfab6f2d35addde977e97962acbcb3f6" integrity sha1-ALVlrb+rby01rd3pd+l5Yqy8s/Y= -brace-expansion@^1.0.0, brace-expansion@^1.1.7: +brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== @@ -2355,7 +2339,7 @@ buffer-alloc@^1.2.0: buffer-alloc-unsafe "^1.1.0" buffer-fill "^1.0.0" -buffer-crc32@~0.2.1: +buffer-crc32@^0.2.1, buffer-crc32@^0.2.13: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI= @@ -2365,6 +2349,14 @@ buffer-fill@^1.0.0: resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= +buffer@^5.1.0: + version "5.4.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.4.3.tgz#3fbc9c69eb713d323e3fc1a895eee0710c072115" + integrity sha512-zvj65TkFeIt3i6aj5bIvJDzjjQQGs4o/sNoezg1F1kYap9Nu2jcUdpwzRSJTHMMzG0H7bZkn4rNQpImhuxWX2A== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" @@ -2478,11 +2470,6 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -caseless@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.9.0.tgz#b7b65ce6bf1413886539cfd533f0b30effa9cf88" - integrity sha1-t7Zc5r8UE4hlOc/VM/CzDv+pz4g= - center-align@^0.1.1: version "0.1.3" resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" @@ -2677,13 +2664,6 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -combined-stream@~0.0.4, combined-stream@~0.0.5: - version "0.0.7" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-0.0.7.tgz#0137e657baa5a7541c57ac37ac5fc07d73b4dc1f" - integrity sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8= - dependencies: - delayed-stream "0.0.5" - commander@2.12.2: version "2.12.2" resolved "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" @@ -2695,11 +2675,16 @@ commander@2.8.x: dependencies: graceful-readlink ">= 1.0.0" -commander@^2.15.1, commander@^2.6.0, commander@^2.8.1: +commander@^2.15.1, commander@^2.6.0: version "2.19.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== +commander@^2.9.0: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + commander@~2.17.1: version "2.17.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" @@ -2726,15 +2711,15 @@ component-inherit@0.0.3: resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" integrity sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM= -compress-commons@~0.2.0: - version "0.2.9" - resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-0.2.9.tgz#422d927430c01abd06cd455b6dfc04cb4cf8003c" - integrity sha1-Qi2SdDDAGr0GzUVbbfwEy0z4ADw= +compress-commons@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-2.1.1.tgz#9410d9a534cf8435e3fbbb7c6ce48de2dc2f0610" + integrity sha512-eVw6n7CnEMFzc3duyFVrQEuY1BlHR3rYsSztyG32ibGMW722i3C6IizEGMFmfMU+A+fALvBIwxN3czffTcdA+Q== dependencies: - buffer-crc32 "~0.2.1" - crc32-stream "~0.3.1" - node-int64 "~0.3.0" - readable-stream "~1.0.26" + buffer-crc32 "^0.2.13" + crc32-stream "^3.0.1" + normalize-path "^3.0.0" + readable-stream "^2.3.6" compressible@~2.0.14: version "2.0.16" @@ -2864,13 +2849,20 @@ core-util-is@1.0.2, core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= -crc32-stream@~0.3.1: - version "0.3.4" - resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-0.3.4.tgz#73bc25b45fac1db6632231a7bfce8927e9f06552" - integrity sha1-c7wltF+sHbZjIjGnv86JJ+nwZVI= +crc32-stream@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-3.0.1.tgz#cae6eeed003b0e44d739d279de5ae63b171b4e85" + integrity sha512-mctvpXlbzsvK+6z8kJwSJ5crm7yBwrQMTybJzMw1O4lLGJqjlDCXY2Zw7KheiA6XBEcBmfLx1D88mjRGVJtY9w== dependencies: - buffer-crc32 "~0.2.1" - readable-stream "~1.0.24" + crc "^3.4.4" + readable-stream "^3.4.0" + +crc@^3.4.4: + version "3.8.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" + integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== + dependencies: + buffer "^5.1.0" cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" @@ -2883,23 +2875,11 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cryptiles@2.x.x: - version "2.0.5" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" - integrity sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g= - dependencies: - boom "2.x.x" - crypto-random-string@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= -ctype@0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz#82c18c2461f74114ef16c135224ad0b9144ca12f" - integrity sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8= - dag-map@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/dag-map/-/dag-map-2.0.2.tgz#9714b472de82a1843de2fba9b6876938cab44c68" @@ -2912,7 +2892,7 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -debug@2, debug@2.6.9, debug@^2.1.0, debug@^2.1.1, debug@^2.1.2, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: +debug@2.6.9, debug@^2.1.0, debug@^2.1.1, debug@^2.1.2, debug@^2.1.3, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: @@ -3001,11 +2981,6 @@ define-property@^2.0.2: is-descriptor "^1.0.2" isobject "^3.0.1" -delayed-stream@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-0.0.5.tgz#d4b1f43a93e8296dfe02694f4680bc37a313c73f" - integrity sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8= - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -3287,14 +3262,14 @@ ember-cli-qunit@^4.4.0: ember-cli-babel "^6.11.0" ember-qunit "^3.5.0" -ember-cli-sauce@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ember-cli-sauce/-/ember-cli-sauce-1.6.0.tgz#f4f61e8c0980548b13567f2b5501bbdaa0f908b9" - integrity sha1-9PYejAmAVIsTVn8rVQG72qD5CLk= +ember-cli-sauce@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ember-cli-sauce/-/ember-cli-sauce-2.2.0.tgz#a6a5923de31f65ed9710207176801f5d5a440cba" + integrity sha512-swEktdLHV2tjH1XBImQSD4J1P6uL7u+XTaqkmwN+bTpz+sdNdUNAAcYs+RT+mjAKbP/I60CUpi7hBSr3jzz3YA== dependencies: - recast "^0.11.6" - rsvp "^3.1.0" - saucie "^1.0.0" + recast "^0.14.0" + rsvp "^4.7.0" + saucie "^3.2.0" ember-cli-shims@^1.1.0: version "1.2.0" @@ -3558,13 +3533,20 @@ encodeurl@~1.0.1, encodeurl@~1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +end-of-stream@^1.1.0: version "1.4.1" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== dependencies: once "^1.4.0" +end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + engine.io-client@~3.3.1: version "3.3.2" resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.3.2.tgz#04e068798d75beda14375a264bb3d742d7bc33aa" @@ -3644,6 +3626,18 @@ es-to-primitive@^1.2.0: is-date-object "^1.0.1" is-symbol "^1.0.2" +es6-promise@^4.0.3: + version "4.2.8" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" + integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== + +es6-promisify@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" + integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= + dependencies: + es6-promise "^4.0.3" + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -3727,7 +3721,7 @@ espree@^5.0.1: acorn-jsx "^5.0.0" eslint-visitor-keys "^1.0.0" -esprima@^4.0.0: +esprima@^4.0.0, esprima@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -3737,11 +3731,6 @@ esprima@~3.0.0: resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" integrity sha1-U88kes2ncxPlUcOqLnM0LT+099k= -esprima@~3.1.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - esquery@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708" @@ -3888,7 +3877,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2: assign-symbols "^1.0.0" is-extendable "^1.0.1" -extend@3, extend@^3.0.0, extend@~3.0.0, extend@~3.0.2: +extend@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== @@ -4124,20 +4113,11 @@ for-in@^1.0.2: resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= -forever-agent@~0.6.0, forever-agent@~0.6.1: +forever-agent@~0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= -form-data@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-0.2.0.tgz#26f8bc26da6440e299cbdcfb69035c4f77a6e466" - integrity sha1-Jvi8JtpkQOKZy9z7aQNcT3em5GY= - dependencies: - async "~0.9.0" - combined-stream "~0.0.4" - mime-types "~2.0.3" - form-data@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" @@ -4172,6 +4152,11 @@ from2@^2.1.1: inherits "^2.0.1" readable-stream "^2.0.0" +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + fs-extra@^0.24.0: version "0.24.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.24.0.tgz#d4e4342a96675cb7846633a6099249332b539952" @@ -4303,20 +4288,6 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.0" -generate-function@^2.0.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.3.1.tgz#f069617690c10c868e73b8465746764f97c3479f" - integrity sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ== - dependencies: - is-property "^1.0.2" - -generate-object-property@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA= - dependencies: - is-property "^1.0.0" - get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -4373,7 +4344,7 @@ glob@7.1.3, glob@^7.0.4, glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^5.0.10, glob@^5.0.14: +glob@^5.0.10: version "5.0.15" resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" integrity sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E= @@ -4395,15 +4366,17 @@ glob@^7.1.2: once "^1.3.0" path-is-absolute "^1.0.0" -glob@~4.3.0: - version "4.3.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-4.3.5.tgz#80fbb08ca540f238acce5d11d1e9bc41e75173d3" - integrity sha1-gPuwjKVA8jiszl0R0em8QedRc9M= +glob@^7.1.4: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: + fs.realpath "^1.0.0" inflight "^1.0.4" inherits "2" - minimatch "^2.0.1" + minimatch "^3.0.4" once "^1.3.0" + path-is-absolute "^1.0.0" global-modules@^1.0.0: version "1.0.0" @@ -4461,6 +4434,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.15.tgz#ffb703e1066e8a0eeaa4c8b80ba9253eeefbfb00" integrity sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA== +graceful-fs@^4.2.0: + version "4.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" + integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== + "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -4502,16 +4480,6 @@ har-schema@^2.0.0: resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= -har-validator@^1.4.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-1.8.0.tgz#d83842b0eb4c435960aeb108a067a3aa94c0eeb2" - integrity sha1-2DhCsOtMQ1lgrrEIoGejqpTA7rI= - dependencies: - bluebird "^2.9.30" - chalk "^1.0.0" - commander "^2.8.1" - is-my-json-valid "^2.12.0" - har-validator@~5.1.0: version "5.1.3" resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" @@ -4616,16 +4584,6 @@ hash-for-dep@^1.0.2, hash-for-dep@^1.2.3, hash-for-dep@^1.4.7, hash-for-dep@^1.5 resolve "^1.10.0" resolve-package-path "^1.0.11" -hawk@~2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/hawk/-/hawk-2.3.1.tgz#1e731ce39447fa1d0f6d707f7bceebec0fd1ec1f" - integrity sha1-HnMc45RH+h0PbXB/e87r7A/R7B8= - dependencies: - boom "2.x.x" - cryptiles "2.x.x" - hoek "2.x.x" - sntp "1.x.x" - he@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -4659,11 +4617,6 @@ heimdalljs@^0.2.0, heimdalljs@^0.2.1, heimdalljs@^0.2.3, heimdalljs@^0.2.5, heim dependencies: rsvp "~3.2.1" -hoek@2.x.x: - version "2.16.3" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" - integrity sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0= - home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" @@ -4712,15 +4665,6 @@ http-proxy@^1.13.1, http-proxy@^1.17.0: follow-redirects "^1.0.0" requires-port "^1.0.0" -http-signature@~0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-0.10.1.tgz#4fbdac132559aa8323121e540779c0a012b27e66" - integrity sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY= - dependencies: - asn1 "0.1.11" - assert-plus "^0.1.5" - ctype "0.5.3" - http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -4730,14 +4674,13 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" -https-proxy-agent@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz#35f7da6c48ce4ddbfa264891ac593ee5ff8671e6" - integrity sha1-NffabEjOTdv6JkiRrFk+5f+GceY= +https-proxy-agent@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz#b8c286433e87602311b01c8ea34413d856a4af81" + integrity sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg== dependencies: - agent-base "2" - debug "2" - extend "3" + agent-base "^4.3.0" + debug "^3.1.0" iconv-lite@0.4.23: version "0.4.23" @@ -4753,6 +4696,11 @@ iconv-lite@^0.4.24, iconv-lite@^0.4.4: dependencies: safer-buffer ">= 2.1.2 < 3" +ieee754@^1.1.4: + version "1.1.13" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" + integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + ignore-walk@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" @@ -4801,6 +4749,11 @@ inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.1, inherits@~2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= +inherits@^2.0.3: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + ini@^1.3.4, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" @@ -4856,11 +4809,6 @@ invert-kv@^2.0.0: resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - ipaddr.js@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" @@ -4976,22 +4924,6 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-my-ip-valid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-my-ip-valid/-/is-my-ip-valid-1.0.0.tgz#7b351b8e8edd4d3995d4d066680e664d94696824" - integrity sha512-gmh/eWXROncUzRnIa1Ubrt5b8ep/MGSnfAUI3aRp+sqTCs1tv1Isl8d8F6JmkN3dXKc3ehZMrtiPN9eL03NuaQ== - -is-my-json-valid@^2.12.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.19.0.tgz#8fd6e40363cd06b963fa877d444bfb5eddc62175" - integrity sha512-mG0f/unGX1HZ5ep4uhRaPOS8EkAY8/j6mDRMJrutq4CqhoJWYp7qAlonIPy3TV7p3ju4TK9fo/PbnoksWmsp5Q== - dependencies: - generate-function "^2.0.0" - generate-object-property "^1.1.0" - is-my-ip-valid "^1.0.0" - jsonpointer "^4.0.0" - xtend "^4.0.0" - is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -5026,11 +4958,6 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= -is-property@^1.0.0, is-property@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - integrity sha1-V/4cTkhHTt1lsJkR8msc1Ald2oQ= - is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" @@ -5115,7 +5042,7 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -isstream@~0.1.1, isstream@~0.1.2: +isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= @@ -5230,7 +5157,7 @@ json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: dependencies: jsonify "~0.0.0" -json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1: +json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= @@ -5265,11 +5192,6 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= -jsonpointer@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9" - integrity sha1-T9kss04OnbPInIYi7PUfm5eMbLk= - jsprim@^1.2.2: version "1.4.1" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" @@ -5323,12 +5245,12 @@ lazy-cache@^1.0.3: resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= -lazystream@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-0.1.0.tgz#1b25d63c772a4c20f0a5ed0a9d77f484b6e16920" - integrity sha1-GyXWPHcqTCDwpe0KnXf0hLbhaSA= +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + integrity sha1-9plf4PggOS9hOWvolGJAe7dxaOQ= dependencies: - readable-stream "~1.0.2" + readable-stream "^2.0.5" lcid@^2.0.0: version "2.0.0" @@ -5583,6 +5505,11 @@ lodash.debounce@^3.1.1: dependencies: lodash._getnative "^3.0.0" +lodash.defaults@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= + lodash.defaults@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-2.3.0.tgz#a832b001f138f3bb9721c2819a2a7cc5ae21ed25" @@ -5595,6 +5522,11 @@ lodash.defaultsdeep@^4.6.0: version "4.6.0" resolved "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.0.tgz#bec1024f85b1bd96cbea405b23c14ad6443a6f81" +lodash.difference@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c" + integrity sha1-nMtOUF1Ia5FlE0V3KIWi3yf9AXw= + lodash.escape@~2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-2.3.0.tgz#844c38c58f844e1362ebe96726159b62cf5f2a58" @@ -5617,6 +5549,11 @@ lodash.flatten@^3.0.2: lodash._baseflatten "^3.0.0" lodash._isiterateecall "^3.0.0" +lodash.flatten@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= + lodash.foreach@~2.3.x: version "2.3.0" resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-2.3.0.tgz#083404c91e846ee77245fdf9d76519c68b2af168" @@ -5661,6 +5598,11 @@ lodash.isobject@~2.3.0: dependencies: lodash._objecttypes "~2.3.0" +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + lodash.keys@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" @@ -5742,6 +5684,11 @@ lodash.templatesettings@~2.3.0: lodash._reinterpolate "~2.3.0" lodash.escape "~2.3.0" +lodash.union@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88" + integrity sha1-SLtQiECfFvGCFmZkHETdGqrjzYg= + lodash.uniq@^4.2.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -5759,25 +5706,16 @@ lodash.values@~2.3.0: dependencies: lodash.keys "~2.3.0" -lodash@3.10.1: - version "3.10.1" - resolved "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" +lodash@^4.0.0, lodash@^4.16.6, lodash@^4.17.14: + version "4.17.15" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" + integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== -lodash@~3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.2.0.tgz#4bf50a3243f9aeb0bac41a55d3d5990675a462fb" - integrity sha1-S/UKMkP5rrC6xBpV09WZBnWkYvs= - -lodash@~3.9.3: - version "3.9.3" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.9.3.tgz#0159e86832feffc6d61d852b12a953b99496bd32" - integrity sha1-AVnoaDL+/8bWHYUrEqlTuZSWvTI= - log-symbols@2.2.0, log-symbols@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" @@ -5988,11 +5926,6 @@ micromatch@^3.1.4: resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.38.0.tgz#1a2aab16da9eb167b49c6e4df2d9c68d63d8e2ad" integrity sha512-bqVioMFFzc2awcdJZIzR3HjZFX20QhilVS7hytkKrv7xFAn8bM1gzc/FOX2awLISvWe0PV8ptFKcon+wZ5qYkg== -mime-db@~1.12.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.12.0.tgz#3d0c63180f458eb10d325aaa37d7c58ae312e9d7" - integrity sha1-PQxjGA9FjrENMlqqN9fFiuMS6dc= - mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.19, mime-types@~2.1.18, mime-types@~2.1.19: version "2.1.22" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.22.tgz#fe6b355a190926ab7698c9a0556a11199b2199bd" @@ -6000,13 +5933,6 @@ mime-types@^2.1.12, mime-types@^2.1.18, mime-types@^2.1.19, mime-types@~2.1.18, dependencies: mime-db "~1.38.0" -mime-types@~2.0.1, mime-types@~2.0.3: - version "2.0.14" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.0.14.tgz#310e159db23e077f8bb22b748dabfa4957140aa6" - integrity sha1-MQ4VnbI+B3+Lsit0jav6SVcUCqY= - dependencies: - mime-db "~1.12.0" - mime@1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" @@ -6028,13 +5954,6 @@ mimic-response@^1.0.0: dependencies: brace-expansion "^1.1.7" -minimatch@^2.0.1: - version "2.0.10" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" - integrity sha1-jQh8OcazjAAbl/ynzm0OHoCvusc= - dependencies: - brace-expansion "^1.0.0" - minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" @@ -6206,11 +6125,6 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-int64@~0.3.0: - version "0.3.3" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.3.3.tgz#2d6e6b2ece5de8588b43d88d1bc41b26cd1fa84d" - integrity sha1-LW5rLs5d6FiLQ9iNG8QbJs0fqE0= - node-modules-path@^1.0.0, node-modules-path@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/node-modules-path/-/node-modules-path-1.0.2.tgz#e3acede9b7baf4bc336e3496b58e5b40d517056e" @@ -6250,11 +6164,6 @@ node-releases@^1.1.8: dependencies: semver "^5.3.0" -node-uuid@~1.4.0: - version "1.4.8" - resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" - integrity sha1-sEDrCSOWivq/jTL7HxfxFn/auQc= - nopt@^3.0.6: version "3.0.6" resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" @@ -6277,6 +6186,11 @@ normalize-path@^2.1.1: dependencies: remove-trailing-separator "^1.0.1" +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + normalize-url@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-2.0.1.tgz#835a9da1551fa26f70e92329069a23aa6574d7e6" @@ -6331,11 +6245,6 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -oauth-sign@~0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.6.0.tgz#7dbeae44f6ca454e1f168451d630746735813ce3" - integrity sha1-fb6uRPbKRU4fFoRR1jB0ZzWBPOM= - oauth-sign@~0.9.0: version "0.9.0" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" @@ -6426,7 +6335,7 @@ onetime@^2.0.0: dependencies: mimic-fn "^1.0.0" -optimist@^0.6.0, optimist@^0.6.1: +optimist@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= @@ -6736,7 +6645,7 @@ proxy-addr@~2.0.4: forwarded "~0.1.2" ipaddr.js "1.8.0" -psl@^1.1.24, psl@^1.1.28: +psl@^1.1.24: version "1.1.31" resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.31.tgz#e9aa86d0101b5b105cbe93ac6b784cd547276184" integrity sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw== @@ -6754,15 +6663,15 @@ punycode@^1.4.1: resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= -punycode@^2.1.0, punycode@^2.1.1: +punycode@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -q@~1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e" - integrity sha1-VXBbzZPF82c1MMLCy8DCs63cKG4= +q@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= qs@6.5.2, qs@~6.5.2: version "6.5.2" @@ -6774,11 +6683,6 @@ qs@^6.4.0: resolved "https://registry.yarnpkg.com/qs/-/qs-6.6.0.tgz#a99c0f69a8d26bf7ef012f871cdabb0aee4424c2" integrity sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA== -qs@~2.4.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-2.4.2.tgz#f7ce788e5777df0b5010da7f7c4e73ba32470f5a" - integrity sha1-9854jld33wtQENp/fE5zujJHD1o= - query-string@^5.0.1: version "5.1.1" resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" @@ -6856,7 +6760,29 @@ readable-stream@^2.0.0, readable-stream@^2.0.6: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@~1.0.2, readable-stream@~1.0.24, readable-stream@~1.0.26, readable-stream@~1.0.33: +readable-stream@^2.0.5, readable-stream@^2.3.6: + version "2.3.7" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" + integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.1, readable-stream@^3.1.1, readable-stream@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@~1.0.2: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" integrity sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw= @@ -6866,14 +6792,15 @@ readable-stream@~1.0.2, readable-stream@~1.0.24, readable-stream@~1.0.26, readab isarray "0.0.1" string_decoder "~0.10.x" -recast@^0.11.6: - version "0.11.23" - resolved "https://registry.npmjs.org/recast/-/recast-0.11.23.tgz#451fd3004ab1e4df9b4e4b66376b2a21912462d3" +recast@^0.14.0: + version "0.14.7" + resolved "https://registry.yarnpkg.com/recast/-/recast-0.14.7.tgz#4f1497c2b5826d42a66e8e3c9d80c512983ff61d" + integrity sha512-/nwm9pkrcWagN40JeJhkPaRxiHXBRkXyRh/hgU088Z/v+qCy+zIHHY6bC6o7NaKAxPqtE6nD8zBH1LfU0/Wx6A== dependencies: - ast-types "0.9.6" - esprima "~3.1.0" + ast-types "0.11.3" + esprima "~4.0.0" private "~0.1.5" - source-map "~0.5.0" + source-map "~0.6.1" redeyed@~1.0.0: version "1.0.1" @@ -7014,7 +6941,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request@^2.51.0: +request@2.88.0, request@^2.81.0: version "2.88.0" resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== @@ -7040,30 +6967,6 @@ request@^2.51.0: tunnel-agent "^0.6.0" uuid "^3.3.2" -request@~2.55.0: - version "2.55.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.55.0.tgz#d75c1cdf679d76bb100f9bffe1fe551b5c24e93d" - integrity sha1-11wc32eddrsQD5v/4f5VG1wk6T0= - dependencies: - aws-sign2 "~0.5.0" - bl "~0.9.0" - caseless "~0.9.0" - combined-stream "~0.0.5" - forever-agent "~0.6.0" - form-data "~0.2.0" - har-validator "^1.4.0" - hawk "~2.3.0" - http-signature "~0.10.0" - isstream "~0.1.1" - json-stringify-safe "~5.0.0" - mime-types "~2.0.1" - node-uuid "~1.4.0" - oauth-sign "~0.6.0" - qs "~2.4.0" - stringstream "~0.0.4" - tough-cookie ">=0.12.0" - tunnel-agent "~0.4.0" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" @@ -7156,13 +7059,6 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.3.tgz#e5b51c9437a4c582adb955e9f28cf8d945e272af" - integrity sha1-5bUclDekxYKtuVXp8oz42UXicq8= - dependencies: - glob "^5.0.14" - rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.3.4, rimraf@^2.4.3, rimraf@^2.4.4, rimraf@^2.5.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@~2.6.2: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" @@ -7170,7 +7066,7 @@ rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.3.4, rimraf@^2.4.3, rimraf@^2.4.4, rimraf dependencies: glob "^7.1.3" -rsvp@^3.0.14, rsvp@^3.0.17, rsvp@^3.0.18, rsvp@^3.0.21, rsvp@^3.0.6, rsvp@^3.1.0, rsvp@^3.3.3, rsvp@^3.5.0: +rsvp@^3.0.14, rsvp@^3.0.17, rsvp@^3.0.18, rsvp@^3.0.21, rsvp@^3.0.6, rsvp@^3.3.3, rsvp@^3.5.0: version "3.6.2" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a" integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw== @@ -7212,6 +7108,11 @@ safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@^5.1.2, s resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-buffer@~5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" + integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== + safe-json-parse@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/safe-json-parse/-/safe-json-parse-1.0.1.tgz#3e76723e38dfdda13c9b1d29a1e07ffee4b30b57" @@ -7260,28 +7161,27 @@ sane@^4.0.0: minimist "^1.1.1" walker "~1.0.5" -sauce-connect-launcher@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/sauce-connect-launcher/-/sauce-connect-launcher-0.15.1.tgz#8c6102e566ad30545bfa5c9fda17b1c941afbc66" - integrity sha1-jGEC5WatMFRb+lyf2hexyUGvvGY= +sauce-connect-launcher@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/sauce-connect-launcher/-/sauce-connect-launcher-1.3.1.tgz#31137f57b0f7176e1c0525b7fb09c6da746647cf" + integrity sha512-vIf9qDol3q2FlYzrKt0dr3kvec6LSjX2WS+/mVnAJIhqh1evSkPKCR2AzcJrnSmx9Xt9PtV0tLY7jYh0wsQi8A== dependencies: adm-zip "~0.4.3" - async "1.4.0" - https-proxy-agent "~1.0.0" - lodash "3.10.1" - rimraf "2.4.3" + async "^2.1.2" + https-proxy-agent "^3.0.0" + lodash "^4.16.6" + rimraf "^2.5.4" -saucie@^1.0.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/saucie/-/saucie-1.4.1.tgz#32da8b727b0b481e22d320686cf51e4c4ad5fdd8" - integrity sha1-MtqLcnsLSB4i0yBobPUeTErV/dg= +saucie@^3.2.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/saucie/-/saucie-3.3.2.tgz#26994ffeaecfbeeff97ebee4687c180da68f136c" + integrity sha512-aJOFEcmSeJdy3SejBhbr//roE9PXXGJNb4YV6cmzoh82oyy+x7xAWTDLDUQkTwil3mKvcZ/Mifd6/579/gznMQ== dependencies: bluebird "^3.1.1" - extend "^3.0.0" - optimist "^0.6.0" - request "^2.51.0" - sauce-connect-launcher "^0.15.1" - wd "^0.4.0" + commander "^2.9.0" + request "^2.81.0" + sauce-connect-launcher "^1.2.2" + wd "^1.2.0" sax@^1.2.4: version "1.2.4" @@ -7293,11 +7193,6 @@ semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== -semver@~5.0.1: - version "5.0.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.0.3.tgz#77466de589cd5d3c95f138aa78bc569a3cb5d27a" - integrity sha1-d0Zt5YnNXTyV8TiqeLxWmjy10no= - send@0.16.2: version "0.16.2" resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" @@ -7448,13 +7343,6 @@ snapdragon@^0.8.1: source-map-resolve "^0.5.0" use "^3.1.0" -sntp@1.x.x: - version "1.0.9" - resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" - integrity sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg= - dependencies: - hoek "2.x.x" - socket.io-adapter@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" @@ -7556,7 +7444,7 @@ source-map@0.4.x, source-map@^0.4.2, source-map@^0.4.4: dependencies: amdefine ">=0.0.4" -source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.0, source-map@~0.5.1: +source-map@^0.5.0, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -7682,6 +7570,13 @@ string_decoder@0.10, string_decoder@~0.10.x: resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" @@ -7689,11 +7584,6 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -stringstream@~0.0.4: - version "0.0.6" - resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" - integrity sha512-87GEBAkegbBcweToUrdzf3eLhWNg06FJTebl4BVJz/JgWy8CvEr9dRtX5qWphiynMSQlxxi+QqN0z5T32SLlhA== - strip-ansi@^3.0.0, strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" @@ -7782,15 +7672,16 @@ tap-parser@^7.0.0: js-yaml "^3.2.7" minipass "^2.2.0" -tar-stream@~1.1.0: - version "1.1.5" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.1.5.tgz#be9218c130c20029e107b0f967fb23de0579d13c" - integrity sha1-vpIYwTDCACnhB7D5Z/sj3gV50Tw= +tar-stream@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.1.0.tgz#d1aaa3661f05b38b5acc9b7020efdca5179a2cc3" + integrity sha512-+DAn4Nb4+gz6WZigRzKEZl1QuJVOLtAwwF+WUxy1fJ6X63CaGaUAxJRD2KEn1OMfcbCjySTYpNC6WmfQoIEOdw== dependencies: - bl "^0.9.0" - end-of-stream "^1.0.0" - readable-stream "~1.0.33" - xtend "^4.0.0" + bl "^3.0.0" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" tar@^4: version "4.4.8" @@ -7940,15 +7831,6 @@ to-regex@^3.0.1, to-regex@^3.0.2: regex-not "^1.0.2" safe-regex "^1.1.0" -tough-cookie@>=0.12.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - tough-cookie@~2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" @@ -7985,11 +7867,6 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tunnel-agent@~0.4.0: - version "0.4.3" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" - integrity sha1-Y3PbdpCf5XDgjXNYM2Xtgop07us= - tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" @@ -8044,11 +7921,6 @@ underscore.string@^3.2.2: sprintf-js "^1.0.3" util-deprecate "^1.0.2" -underscore.string@~3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.0.3.tgz#4617b8c1a250cf6e5064fbbb363d0fa96cf14552" - integrity sha1-Rhe4waJQz25QZPu7Nj0PqWzxRVI= - underscore.string@~3.3.4: version "3.3.5" resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023" @@ -8161,7 +8033,7 @@ username-sync@^1.0.2: resolved "https://registry.yarnpkg.com/username-sync/-/username-sync-1.0.2.tgz#0a3697909fb7b5768d29e2921f573acfdd427592" integrity sha512-ayNkOJdoNSGNDBE46Nkc+l6IXmeugbzahZLSMkwvgRWv5y5ZqNY2IrzcgmkR4z32sj1W3tM3TuTUMqkqBzO+RA== -util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -8183,7 +8055,7 @@ validate-npm-package-name@^3.0.0: dependencies: builtins "^1.0.3" -vargs@~0.1.0: +vargs@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/vargs/-/vargs-0.1.0.tgz#6b6184da6520cc3204ce1b407cac26d92609ebff" integrity sha1-a2GE2mUgzDIEzhtAfKwm2SYJ6/8= @@ -8259,18 +8131,18 @@ wcwidth@^1.0.1: dependencies: defaults "^1.0.3" -wd@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/wd/-/wd-0.4.0.tgz#f6f4a4e202f68a4b7687ae765aeb130c84341f9a" - integrity sha1-9vSk4gL2ikt2h652WusTDIQ0H5o= +wd@^1.2.0: + version "1.12.0" + resolved "https://registry.yarnpkg.com/wd/-/wd-1.12.0.tgz#763ce9ebcaa854ab8e05d0a660f24da839674329" + integrity sha512-P8fOXV+FAxR7Pdto4sQ982ud6xUJHzxfY/JYH+NfBJ2EYJhGeO7fLXiVKosZK3YlZK7EQfPmUVqkbEzNlGTGgQ== dependencies: - archiver "~0.14.0" - async "~1.0.0" - lodash "~3.9.3" - q "~1.4.1" - request "~2.55.0" - underscore.string "~3.0.3" - vargs "~0.1.0" + archiver "^3.0.0" + async "^2.0.0" + lodash "^4.0.0" + mkdirp "^0.5.1" + q "^1.5.1" + request "2.88.0" + vargs "^0.1.0" websocket-driver@>=0.5.1: version "0.7.0" @@ -8467,11 +8339,11 @@ yeast@0.1.2: resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= -zip-stream@~0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-0.5.2.tgz#32dcbc506d0dab4d21372625bd7ebaac3c2fff56" - integrity sha1-Mty8UG0Nq00hNyYlvX66rDwv/1Y= +zip-stream@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-2.1.2.tgz#841efd23214b602ff49c497cba1a85d8b5fbc39c" + integrity sha512-ykebHGa2+uzth/R4HZLkZh3XFJzivhVsjJt8bN3GvBzLaqqrUdRacu+c4QtnUgjkkQfsOuNE1JgLKMCPNmkKgg== dependencies: - compress-commons "~0.2.0" - lodash "~3.2.0" - readable-stream "~1.0.26" + archiver-utils "^2.1.0" + compress-commons "^2.1.1" + readable-stream "^3.4.0" From f4633219c841821c7a9472d6d74ed463753ae852 Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Thu, 9 Jan 2020 12:25:42 -0500 Subject: [PATCH 04/13] Adding sauce_version environment variable to travis.yml --- .travis.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fcd0291..2af2ee1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,7 +46,8 @@ jobs: # - run tests without pinned dependencies to catch issues with new versions - stage: additional tests - env: NAME=test sauce + name: test sauce + env: SAUCE_VERSION='latest' script: - ember sauce:connect - yarn test:sauce From 64b66bb7053efa6bf40f1e9238fbdfd0296be0d5 Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Thu, 9 Jan 2020 12:34:39 -0500 Subject: [PATCH 05/13] Pinning sauce_version to 4.5.4 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 2af2ee1..970615e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -47,7 +47,7 @@ jobs: - stage: additional tests name: test sauce - env: SAUCE_VERSION='latest' + env: SAUCE_VERSION='4.5.4' script: - ember sauce:connect - yarn test:sauce From b0f9e86ba9f7e9198c2f134fb5a04f86d9cc41f5 Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Thu, 16 Jan 2020 11:15:00 -0500 Subject: [PATCH 06/13] Moved autoboot config to dummy's environment.js file; Installed ember-maybe-import-regenerator as a dev dep. --- .travis.yml | 4 ++-- package.json | 2 +- testem.sauce.js | 54 +++++++++++++++++++++++-------------------------- 3 files changed, 28 insertions(+), 32 deletions(-) diff --git a/.travis.yml b/.travis.yml index 970615e..068c4b4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,7 +3,7 @@ language: node_js node_js: # we recommend testing addons with the same minimum supported node version as Ember CLI # so that your addon works for all apps - - "6" + - "8" sudo: false dist: trusty @@ -54,7 +54,7 @@ jobs: - ember sauce:disconnect - env: NAME=floating dependencies - install: yarn install --no-lockfile --non-interactive + install: yarn install --no-lockfile --non-interactive --ignore-engines script: - yarn test:node - yarn test diff --git a/package.json b/package.json index 2d71df1..2e88d57 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "walk-sync": "^1.1.3" }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": "8.* || >= 10.*" }, "ember-addon": { "configPath": "tests/dummy/config" diff --git a/testem.sauce.js b/testem.sauce.js index c27e828..c5c1396 100644 --- a/testem.sauce.js +++ b/testem.sauce.js @@ -2,78 +2,74 @@ module.exports = { "framework": "qunit", "test_page": "tests/index.html?hidepassed", - "parallel": 4, + "parallel": 2, "disable_watching": true, "launchers": { "SL_CHROME": { - "exe": "ember", + "exe": "./node_modules/.bin/ember-cli-sauce", "args": [ - "sauce:launch", "-b", "chrome", "-v", "47", - "--vi", + "--visibility", "public", - "-p", + "--platform", "Windows 10", - "--at", - "--no-ct", - "--u" + "--attach", + "--no-connect", + "--url" ], "protocol": "browser" }, "SL_EDGE": { - "exe": "ember", + "exe": "./node_modules/.bin/ember-cli-sauce", "args": [ - "sauce:launch", "-b", "microsoftedge", "-v", "14", - "--vi", + "--visibility", "public", - "-p", + "--platform", "Windows 10", - "--at", - "--no-ct", - "--u" + "--attach", + "--no-connect", + "--url" ], "protocol": "browser" }, "SL_IE11": { - "exe": "ember", + "exe": "./node_modules/.bin/ember-cli-sauce", "args": [ - "sauce:launch", "-b", "internet explorer", "-v", "11", - "--vi", + "--visibility", "public", - "-p", + "--platform", "Windows 8.1", - "--at", - "--no-ct", - "--u" + "--attach", + "--no-connect", + "--url" ], "protocol": "browser" }, "SL_IE10": { - "exe": "ember", + "exe": "./node_modules/.bin/ember-cli-sauce", "args": [ - "sauce:launch", "-b", "internet explorer", "-v", "10", - "--vi", + "--visibility", "public", - "-p", + "--platform", "Windows 8", - "--at", - "--no-ct", - "--u" + "--attach", + "--no-connect", + "--url" ], "protocol": "browser" } From 37a5260c0681f1e2b28e33fdf57d60ae7560fa88 Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Tue, 14 Jan 2020 14:00:07 -0500 Subject: [PATCH 07/13] Fix travis errors that are occurring due to ember-cli-sauce config --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9171238..1419669 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8340,9 +8340,9 @@ yeast@0.1.2: integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= zip-stream@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-2.1.2.tgz#841efd23214b602ff49c497cba1a85d8b5fbc39c" - integrity sha512-ykebHGa2+uzth/R4HZLkZh3XFJzivhVsjJt8bN3GvBzLaqqrUdRacu+c4QtnUgjkkQfsOuNE1JgLKMCPNmkKgg== + version "2.1.3" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-2.1.3.tgz#26cc4bdb93641a8590dd07112e1f77af1758865b" + integrity sha512-EkXc2JGcKhO5N5aZ7TmuNo45budRaFGHOmz24wtJR7znbNqDPmdZtUauKX6et8KAVseAMBOyWJqEpXcHTBsh7Q== dependencies: archiver-utils "^2.1.0" compress-commons "^2.1.1" From 4aa3a954211bbf68b8943c938f317e1567ab896a Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Tue, 14 Jan 2020 14:36:17 -0500 Subject: [PATCH 08/13] Changed node check in travis.yml to use node 8 instead of node 6 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2e88d57..7e572d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ember-asset-loader", - "version": "0.6.1", + "version": "1.0.0", "description": "Asset loading support for Ember applications", "keywords": [ "ember-addon" From 8d4a78a4442603b08019e195ec15c661aaeba144 Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Thu, 16 Jan 2020 07:34:43 -0500 Subject: [PATCH 09/13] Revert version bump in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7e572d0..2e88d57 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ember-asset-loader", - "version": "1.0.0", + "version": "0.6.1", "description": "Asset loading support for Ember applications", "keywords": [ "ember-addon" From 2a5fd28586a39f2532cafa0121765f37f3ad01ec Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Wed, 8 Jan 2020 17:06:40 -0500 Subject: [PATCH 10/13] bumped ember sauce to latest --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 1419669..9171238 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8340,9 +8340,9 @@ yeast@0.1.2: integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= zip-stream@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-2.1.3.tgz#26cc4bdb93641a8590dd07112e1f77af1758865b" - integrity sha512-EkXc2JGcKhO5N5aZ7TmuNo45budRaFGHOmz24wtJR7znbNqDPmdZtUauKX6et8KAVseAMBOyWJqEpXcHTBsh7Q== + version "2.1.2" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-2.1.2.tgz#841efd23214b602ff49c497cba1a85d8b5fbc39c" + integrity sha512-ykebHGa2+uzth/R4HZLkZh3XFJzivhVsjJt8bN3GvBzLaqqrUdRacu+c4QtnUgjkkQfsOuNE1JgLKMCPNmkKgg== dependencies: archiver-utils "^2.1.0" compress-commons "^2.1.1" From 52a9b61c1564a151008a1778f21d42f991f07ff3 Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Thu, 16 Jan 2020 14:58:01 -0500 Subject: [PATCH 11/13] Import Promise from rsvp instead of Ember object --- tests/acceptance/asset-load-test.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/acceptance/asset-load-test.js b/tests/acceptance/asset-load-test.js index 7aef34a..af18c8a 100644 --- a/tests/acceptance/asset-load-test.js +++ b/tests/acceptance/asset-load-test.js @@ -1,10 +1,8 @@ -import Ember from 'ember'; import { module, test } from 'qunit'; import { setupApplicationTest } from 'ember-qunit'; import { visit, currentRouteName } from '@ember/test-helpers'; - -const { run } = Ember; -const { Promise } = Ember.RSVP; +import { run } from '@ember/runloop'; +import { Promise } from 'rsvp'; function waitFor(checkerFn, timeout = 1000) { let start = Date.now(); From bc7ab7ad35007715a013d42843c36ac8fff34532 Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Thu, 16 Jan 2020 15:18:43 -0500 Subject: [PATCH 12/13] Include babel polyfill in tests because ember-maybe-import-regenerator uses Promise --- ember-cli-build.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ember-cli-build.js b/ember-cli-build.js index 156e23f..6d19968 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -5,7 +5,10 @@ const EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); module.exports = function(defaults) { let app = new EmberAddon(defaults, { - // Add options here + 'ember-cli-babel': { + // Needed because ember-maybe-import-regenerator uses Promise + includePolyfill: (EmberApp.env() === 'test'), + }, }); /* From 7502336bdf4d0dc46e0ce00dab5f42a73dcbc627 Mon Sep 17 00:00:00 2001 From: Evan Farina Date: Thu, 16 Jan 2020 15:24:19 -0500 Subject: [PATCH 13/13] Fixed typo in ember-cli-build --- ember-cli-build.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ember-cli-build.js b/ember-cli-build.js index 6d19968..1aed934 100644 --- a/ember-cli-build.js +++ b/ember-cli-build.js @@ -7,7 +7,7 @@ module.exports = function(defaults) { let app = new EmberAddon(defaults, { 'ember-cli-babel': { // Needed because ember-maybe-import-regenerator uses Promise - includePolyfill: (EmberApp.env() === 'test'), + includePolyfill: (EmberAddon.env() === 'test'), }, });