From 7d16d533837892e5a1b78bd7a53d45c450acdcdf Mon Sep 17 00:00:00 2001 From: Stefan Penner Date: Tue, 21 Feb 2017 14:21:48 -0800 Subject: [PATCH] [Fixes #4807] realize class + factory seperation *note: this combined with embers factoryFor makes `MODEL_FACTORY_INJECTIONS` irrelevant.* --- addon/-private/system/model/internal-model.js | 2 +- addon/-private/system/model/model.js | 29 +- addon/-private/system/store.js | 23 +- tests/integration/injection-test.js | 76 ++++ tests/unit/model-test.js | 2 +- yarn.lock | 324 +++++++++++------- 6 files changed, 308 insertions(+), 148 deletions(-) create mode 100644 tests/integration/injection-test.js diff --git a/addon/-private/system/model/internal-model.js b/addon/-private/system/model/internal-model.js index 878c749c4f6..43fef0b646e 100644 --- a/addon/-private/system/model/internal-model.js +++ b/addon/-private/system/model/internal-model.js @@ -330,7 +330,7 @@ export default class InternalModel { createOptions.container = this.store.container; } - this._record = this.modelClass._create(createOptions); + this._record = this.store.modelFactoryFor(this.modelName).create(createOptions); this._triggerDeferredTriggers(); heimdall.stop(token); diff --git a/addon/-private/system/model/model.js b/addon/-private/system/model/model.js index 3c8f7087319..f6b75956da9 100644 --- a/addon/-private/system/model/model.js +++ b/addon/-private/system/model/model.js @@ -10,6 +10,7 @@ import { relatedTypesDescriptor, relationshipsDescriptor } from 'ember-data/-private/system/relationships/ext'; +import { runInDebug } from 'ember-data/-private/debug'; const { get, @@ -21,7 +22,6 @@ const { @module ember-data */ - function findPossibleInverses(type, inverseType, name, relationshipsSoFar) { let possibleRelationships = relationshipsSoFar || []; @@ -1173,17 +1173,20 @@ Object.defineProperty(Model.prototype, 'data', { } }); -Model.reopenClass({ - /** - Alias DS.Model's `create` method to `_create`. This allows us to create DS.Model - instances from within the store, but if end users accidentally call `create()` - (instead of `createRecord()`), we can raise an error. +runInDebug(function() { + Model.reopen({ + init() { + this._super(...arguments); - @method _create - @private - @static - */ - _create: Model.create, + if (!this.store) { + throw new Ember.Error('You should not call `create` on a model. Instead, call `store.createRecord` with the attributes you would like to set.'); + } + } + }); +}); + +Model.reopenClass({ + isModel: true, /** Override the class' `create()` method to raise an error. This @@ -1196,10 +1199,6 @@ Model.reopenClass({ @private @static */ - create() { - throw new Ember.Error("You should not call `create` on a model. Instead, call `store.createRecord` with the attributes you would like to set."); - }, - /** Represents the model's class name as a string. This can be used to look up the model through DS.Store's modelFor method. diff --git a/addon/-private/system/store.js b/addon/-private/system/store.js index 0b08e271f66..e0ca26417f7 100644 --- a/addon/-private/system/store.js +++ b/addon/-private/system/store.js @@ -2087,6 +2087,12 @@ Store = Service.extend({ @private */ _modelFor(modelName) { + let maybeFactory = this._modelFactoryFor(modelName); + // for factorFor factory/class split + return maybeFactory.class ? maybeFactory.class : maybeFactory; + }, + + _modelFactoryFor(modelName) { heimdall.increment(modelFor); let factory = this._modelClassCache[modelName]; @@ -2101,9 +2107,13 @@ Store = Service.extend({ throw new EmberError(`No model was found for '${modelName}'`); } - assert(`'${inspect(factory)}' does not appear to be an ember-data model`, (typeof factory._create === 'function') ); + // interopt with the future + let klass = getOwner(this).factoryFor ? factory.class : factory; + + assert(`'${inspect(klass)}' does not appear to be an ember-data model`, klass.isModel); - factory.modelName = factory.modelName || modelName; + // TODO: deprecate this + klass.modelName = klass.modelName || modelName; this._modelClassCache[modelName] = factory; } @@ -2116,16 +2126,13 @@ Store = Service.extend({ */ modelFactoryFor(modelName) { heimdall.increment(modelFactoryFor); - assert("You need to pass a model name to the store's modelFactoryFor method", isPresent(modelName)); - assert('Passing classes to store methods has been removed. Please pass a dasherized string instead of '+ inspect(modelName), typeof modelName === 'string'); + assert(`You need to pass a model name to the store's modelFactoryFor method`, isPresent(modelName)); + assert(`Passing classes to store methods has been removed. Please pass a dasherized string instead of ${modelName}`, typeof modelName === 'string'); let trueModelName = this._classKeyFor(modelName); let owner = getOwner(this); if (owner.factoryFor) { - let MaybeModel = owner.factoryFor(`model:${trueModelName}`); - let MaybeModelFactory = MaybeModel && MaybeModel.class; - - return MaybeModelFactory; + return owner.factoryFor(`model:${trueModelName}`); } else { return owner._lookupFactory(`model:${trueModelName}`); } diff --git a/tests/integration/injection-test.js b/tests/integration/injection-test.js new file mode 100644 index 00000000000..e010029bb33 --- /dev/null +++ b/tests/integration/injection-test.js @@ -0,0 +1,76 @@ +import setupStore from 'dummy/tests/helpers/store'; +import Ember from 'ember'; +import DS from 'ember-data'; +import { module, test } from 'qunit'; + +let env, originalFactoryFor, originalMODEL_FACTORY_INJECTIONS = Ember.MODEL_FACTORY_INJECTIONS; +const { run } = Ember; + +const factory = { + isFactory: true, + class: { + isModel: true, + _create() { } + } +}; + +module('integration/injection factoryFor enabled', { + setup() { + env = setupStore(); + + originalFactoryFor = Ember.getOwner(env.store).factoryFor; + + Ember.getOwner(env.store).factoryFor = function(name) { + return factory; + }; + }, + + teardown() { + Ember.getOwner(env.store).factoryFor = originalFactoryFor; + + run(env.store, 'destroy'); + } +}); + +test('modelFactoryFor', function(assert) { + const modelFactory = env.store.modelFactoryFor('super-villain'); + + assert.equal(modelFactory, factory, 'expected the factory itself to be returned'); +}); + +test('modelFor', function(assert) { + const modelFactory = env.store.modelFor('super-villain'); + + assert.equal(modelFactory, factory.class, 'expected the factory itself to be returned'); + + // TODO: we should deprecate this next line. Resolved state on the class is fraught with peril + assert.equal(modelFactory.modelName, 'super-villain', 'expected the factory itself to be returned'); +}); + +module('integration/injection eager injections', { + setup() { + Ember.MODEL_FACTORY_INJECTIONS = true; + env = setupStore(); + + env.registry.injection('model:foo', 'apple', 'service:apple'); + env.registry.register('model:foo', DS.Model); + env.registry.register('service:apple', Ember.Object.extend({ isService: true })); + // container injection + }, + + teardown() { + // can be removed once we no longer support ember versions without lookupFactory + Ember.MODEL_FACTORY_INJECTIONS = originalMODEL_FACTORY_INJECTIONS; + + run(env.store, 'destroy'); + } +}); + +test('did inject', function(assert) { + let foo = run(() => env.store.createRecord('foo')); + let apple = foo.get('apple'); + let Apple = env.registry.registrations['service:apple']; + + assert.ok(apple, `'model:foo' instance should have an 'apple' property`); + assert.ok(apple instanceof Apple, `'model:foo'.apple should be an instance of 'service:apple'`); +}); diff --git a/tests/unit/model-test.js b/tests/unit/model-test.js index aaf7e0c8a81..6e0e8b1b434 100644 --- a/tests/unit/model-test.js +++ b/tests/unit/model-test.js @@ -15,7 +15,7 @@ var run = Ember.run; var Person, store, env; -module("unit/model - DS.Model", { +module('unit/model - DS.Model', { beforeEach() { Person = DS.Model.extend({ name: DS.attr('string'), diff --git a/yarn.lock b/yarn.lock index fafe1692837..2b23523f006 100644 --- a/yarn.lock +++ b/yarn.lock @@ -80,14 +80,14 @@ ansi-escapes@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e" -ansi-regex@*, ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - ansi-regex@^0.2.0, ansi-regex@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + ansi-styles@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" @@ -585,9 +585,9 @@ breakable@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/breakable/-/breakable-1.0.0.tgz#784a797915a38ead27bad456b5572cb4bbaa78c1" -broccoli-asset-rev@^2.4.2: +broccoli-asset-rev@^2.4.5: version "2.5.0" - resolved "https://registry.yarnpkg.com/broccoli-asset-rev/-/broccoli-asset-rev-2.5.0.tgz#f5f66eac962bf9f086286921f0eaeaab6d00d819" + resolved "https://registry.npmjs.org/broccoli-asset-rev/-/broccoli-asset-rev-2.5.0.tgz#f5f66eac962bf9f086286921f0eaeaab6d00d819" dependencies: broccoli-asset-rewrite "^1.1.0" broccoli-filter "^1.2.2" @@ -630,7 +630,20 @@ broccoli-builder@^0.18.0: rsvp "^3.0.17" silent-error "^1.0.1" -broccoli-caching-writer@^2.0.4, broccoli-caching-writer@^2.2.0, broccoli-caching-writer@^2.3.1: +broccoli-caching-writer@^2.0.4, broccoli-caching-writer@~2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/broccoli-caching-writer/-/broccoli-caching-writer-2.0.4.tgz#d995d7d1977292e498f78df05887230fcb4a5e2c" + dependencies: + broccoli-kitchen-sink-helpers "^0.2.5" + broccoli-plugin "1.1.0" + debug "^2.1.1" + lodash-node "^3.2.0" + rimraf "^2.2.8" + rsvp "^3.0.17" + symlink-or-copy "^1.0.0" + walk-sync "^0.2.0" + +broccoli-caching-writer@^2.2.0, broccoli-caching-writer@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/broccoli-caching-writer/-/broccoli-caching-writer-2.3.1.tgz#b93cf58f9264f003075868db05774f4e7f25bd07" dependencies: @@ -652,19 +665,6 @@ broccoli-caching-writer@^3.0.0: rsvp "^3.0.17" walk-sync "^0.3.0" -broccoli-caching-writer@~2.0.1: - version "2.0.4" - resolved "https://registry.yarnpkg.com/broccoli-caching-writer/-/broccoli-caching-writer-2.0.4.tgz#d995d7d1977292e498f78df05887230fcb4a5e2c" - dependencies: - broccoli-kitchen-sink-helpers "^0.2.5" - broccoli-plugin "1.1.0" - debug "^2.1.1" - lodash-node "^3.2.0" - rimraf "^2.2.8" - rsvp "^3.0.17" - symlink-or-copy "^1.0.0" - walk-sync "^0.2.0" - broccoli-clean-css@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/broccoli-clean-css/-/broccoli-clean-css-1.1.0.tgz#9db143d9af7e0ae79c26e3ac5a9bb2d720ea19fa" @@ -756,7 +756,7 @@ broccoli-funnel-reducer@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/broccoli-funnel-reducer/-/broccoli-funnel-reducer-1.0.0.tgz#11365b2a785aec9b17972a36df87eef24c5cc0ea" -broccoli-funnel@^1.0.0, broccoli-funnel@^1.0.1, broccoli-funnel@^1.0.6: +broccoli-funnel@^1.0.0, broccoli-funnel@^1.0.1, broccoli-funnel@^1.0.6, broccoli-funnel@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/broccoli-funnel/-/broccoli-funnel-1.1.0.tgz#dfb91a37c902456456de4a40a1881948d65b27d9" dependencies: @@ -800,7 +800,7 @@ broccoli-lint-eslint@^2.0.0: json-stable-stringify "^1.0.1" md5-hex "^1.2.1" -broccoli-merge-trees@^1.0.0, broccoli-merge-trees@^1.1.0, broccoli-merge-trees@^1.1.3: +broccoli-merge-trees@^1.0.0, broccoli-merge-trees@^1.1.0, broccoli-merge-trees@^1.1.3, broccoli-merge-trees@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/broccoli-merge-trees/-/broccoli-merge-trees-1.2.1.tgz#16a7494ed56dbe61611f6c2d4817cfbaad2a3055" dependencies: @@ -1004,9 +1004,9 @@ can-symlink@^1.0.0: dependencies: tmp "0.0.28" -capture-exit@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-1.1.0.tgz#d931b32b11c2bd20ae57f34af0c1eb2c18781626" +capture-exit@^1.0.7: + version "1.2.0" + resolved "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f" dependencies: rsvp "^3.3.3" @@ -1309,7 +1309,7 @@ concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@1.5.0, concat-stream@^1.4.6, concat-stream@^1.4.7: +concat-stream@1.5.0: version "1.5.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.5.0.tgz#53f7d43c51c5e43f81c8fdd03321c631be68d611" dependencies: @@ -1317,7 +1317,7 @@ concat-stream@1.5.0, concat-stream@^1.4.6, concat-stream@^1.4.7: readable-stream "~2.0.0" typedarray "~0.0.5" -concat-stream@^1.5.2: +concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.2: version "1.6.0" resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" dependencies: @@ -1350,6 +1350,15 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" +console-ui@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/console-ui/-/console-ui-1.0.3.tgz#31c524461b63422769f9e89c173495d91393721c" + dependencies: + chalk "^1.1.3" + inquirer "^1.2.3" + ora "^0.2.0" + through "^2.3.8" + consolidate@^0.14.0: version "0.14.5" resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.14.5.tgz#5a25047bc76f73072667c8cb52c989888f494c63" @@ -1402,6 +1411,13 @@ core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" +cross-spawn-async@^2.1.1: + version "2.2.5" + resolved "https://registry.npmjs.org/cross-spawn-async/-/cross-spawn-async-2.2.5.tgz#845ff0c0834a3ded9d160daca6d390906bb288cc" + dependencies: + lru-cache "^4.0.0" + which "^1.2.8" + cross-spawn@^5.0.0: version "5.0.1" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.0.1.tgz#a3bbb302db2297cbea3c04edf36941f4613aa399" @@ -1464,7 +1480,7 @@ debug@^2.1.0, debug@^2.1.1, debug@^2.1.3, debug@^2.2.0: dependencies: ms "0.7.2" -debuglog@*, debuglog@^1.0.1: +debuglog@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" @@ -1602,19 +1618,19 @@ ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" -ember-ajax@^2.0.1: - version "2.5.3" - resolved "https://registry.yarnpkg.com/ember-ajax/-/ember-ajax-2.5.3.tgz#02dded6c132290edd47ee9862a7a8821c6919dad" +ember-ajax@^2.4.1: + version "2.5.5" + resolved "https://registry.npmjs.org/ember-ajax/-/ember-ajax-2.5.5.tgz#9b59e415997012bc0f91cb302d3cf0db941e38ab" dependencies: ember-cli-babel "^5.1.5" -ember-cli-app-version@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ember-cli-app-version/-/ember-cli-app-version-1.0.1.tgz#d135eba75f30e791d8a5e5844f1251dcbcc40438" +ember-cli-app-version@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/ember-cli-app-version/-/ember-cli-app-version-2.0.1.tgz#64cbe581a9abaf98afd60e9cf60fdec460766c9b" dependencies: ember-cli-babel "^5.1.6" ember-cli-htmlbars "^1.0.0" - git-repo-version "0.3.0" + git-repo-version "0.4.1" ember-cli-babel@^5.0.0, ember-cli-babel@^5.1.10, ember-cli-babel@^5.1.3, ember-cli-babel@^5.1.5, ember-cli-babel@^5.1.6, ember-cli-babel@^5.1.7, ember-cli-babel@^5.2.1: version "5.2.1" @@ -1651,9 +1667,9 @@ ember-cli-broccoli-sane-watcher@^2.0.3: rsvp "^3.0.18" sane "^1.1.1" -ember-cli-dependency-checker@^1.2.0: +ember-cli-dependency-checker@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/ember-cli-dependency-checker/-/ember-cli-dependency-checker-1.3.0.tgz#f0e8cb7f0f43c1e560494eaa9372804e7a088a2a" + resolved "https://registry.npmjs.org/ember-cli-dependency-checker/-/ember-cli-dependency-checker-1.3.0.tgz#f0e8cb7f0f43c1e560494eaa9372804e7a088a2a" dependencies: chalk "^0.5.1" is-git-url "0.2.0" @@ -1675,16 +1691,16 @@ ember-cli-get-dependency-depth@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/ember-cli-get-dependency-depth/-/ember-cli-get-dependency-depth-1.0.0.tgz#e0afecf82a2d52f00f28ab468295281aec368d11" -ember-cli-htmlbars-inline-precompile@^0.3.1: +ember-cli-htmlbars-inline-precompile@^0.3.6: version "0.3.6" - resolved "https://registry.yarnpkg.com/ember-cli-htmlbars-inline-precompile/-/ember-cli-htmlbars-inline-precompile-0.3.6.tgz#4095fe423f93102724c0725e4dd1a31f25e24de5" + resolved "https://registry.npmjs.org/ember-cli-htmlbars-inline-precompile/-/ember-cli-htmlbars-inline-precompile-0.3.6.tgz#4095fe423f93102724c0725e4dd1a31f25e24de5" dependencies: babel-plugin-htmlbars-inline-precompile "^0.1.0" ember-cli-babel "^5.1.3" ember-cli-htmlbars "^1.0.0" hash-for-dep "^1.0.2" -ember-cli-htmlbars@^1.0.0, ember-cli-htmlbars@^1.0.3: +ember-cli-htmlbars@^1.0.0, ember-cli-htmlbars@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ember-cli-htmlbars/-/ember-cli-htmlbars-1.1.1.tgz#8776cf59796dac8f32e8625fc6d1ea45ffa55de1" dependencies: @@ -1694,9 +1710,9 @@ ember-cli-htmlbars@^1.0.0, ember-cli-htmlbars@^1.0.3: json-stable-stringify "^1.0.0" strip-bom "^2.0.0" -ember-cli-inject-live-reload@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/ember-cli-inject-live-reload/-/ember-cli-inject-live-reload-1.4.1.tgz#ddadb9a346c5ed694ec0f9e11f49994eacafd277" +ember-cli-inject-live-reload@^1.4.1: + version "1.6.1" + resolved "https://registry.npmjs.org/ember-cli-inject-live-reload/-/ember-cli-inject-live-reload-1.6.1.tgz#82b8f5be454815a75e7f6d42c9ce0bc883a914a3" ember-cli-internal-test-helpers@^0.8.1: version "0.8.3" @@ -1769,9 +1785,14 @@ ember-cli-preprocess-registry@^3.0.0: process-relative-require "^1.0.0" silent-error "^1.0.0" -ember-cli-pretender@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/ember-cli-pretender/-/ember-cli-pretender-0.6.0.tgz#7525ffa3081b8ba7b0791f24f1f229d83e87bd1e" +ember-cli-pretender@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/ember-cli-pretender/-/ember-cli-pretender-1.0.1.tgz#35540babddef6f2778e91c627d190c73505103cd" + dependencies: + broccoli-funnel "^1.1.0" + broccoli-merge-trees "^1.2.1" + pretender "^1.4.2" + resolve "^1.2.0" ember-cli-qunit@^2.1.0: version "2.2.5" @@ -1803,6 +1824,14 @@ ember-cli-release@^0.2.9: semver "^4.3.1" silent-error "^1.0.0" +ember-cli-shims@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/ember-cli-shims/-/ember-cli-shims-1.0.2.tgz#e2ec1b6687f94df1b68cc0aa66c1d690d9ded02c" + dependencies: + ember-cli-babel "^5.2.1" + ember-cli-version-checker "^1.2.0" + silent-error "^1.0.1" + ember-cli-sri@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ember-cli-sri/-/ember-cli-sri-2.1.1.tgz#971620934a4b9183cf7923cc03e178b83aa907fd" @@ -1837,15 +1866,15 @@ ember-cli-valid-component-name@^1.0.0: dependencies: silent-error "^1.0.0" -ember-cli-version-checker@^1.0.2, ember-cli-version-checker@^1.1.4, ember-cli-version-checker@^1.1.6, ember-cli-version-checker@^1.1.7: +ember-cli-version-checker@^1.0.2, ember-cli-version-checker@^1.1.4, ember-cli-version-checker@^1.1.6, ember-cli-version-checker@^1.1.7, ember-cli-version-checker@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-1.2.0.tgz#caa286b77d1b485df5d2f62c67a6f19aa8b582c4" dependencies: semver "^5.3.0" -ember-cli@^2.8.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/ember-cli/-/ember-cli-2.10.0.tgz#3aefd56a207f60be1ba120aeacd41e7e7a9383d8" +ember-cli@^2.11.1: + version "2.11.1" + resolved "https://registry.npmjs.org/ember-cli/-/ember-cli-2.11.1.tgz#519f93ee944e0a092e77da81027400a692c5b7d3" dependencies: amd-name-resolver "0.0.6" bower "^1.3.12" @@ -1863,11 +1892,12 @@ ember-cli@^2.8.0: broccoli-middleware "^0.18.1" broccoli-source "^1.1.0" broccoli-stew "^1.2.0" - capture-exit "^1.0.4" + capture-exit "^1.0.7" chalk "^1.1.3" clean-base-url "^1.0.0" compression "^1.4.4" configstore "^2.0.0" + console-ui "^1.0.2" core-object "^2.0.2" diff "^1.3.1" ember-cli-broccoli-sane-watcher "^2.0.3" @@ -1880,36 +1910,34 @@ ember-cli@^2.8.0: ember-cli-string-utils "^1.0.0" ember-try "^0.2.6" escape-string-regexp "^1.0.3" - exists-sync "0.0.3" + execa "^0.4.0" + exists-sync "0.0.4" exit "^0.1.2" express "^4.12.3" filesize "^3.1.3" find-up "^1.1.2" - fs-extra "0.30.0" + fs-extra "1.0.0" fs-tree-diff "^0.5.2" get-caller-file "^1.0.0" git-repo-info "^1.0.4" glob "7.1.1" - heimdalljs-fs-monitor "^0.0.3" + heimdalljs-fs-monitor "^0.1.0" heimdalljs-logger "^0.1.7" http-proxy "^1.9.0" inflection "^1.7.0" - inquirer "^1.2.1" is-git-url "^0.2.0" isbinaryfile "^3.0.0" js-yaml "^3.6.1" - leek "0.0.23" + leek "0.0.24" lodash.template "^4.2.5" - markdown-it "8.0.0" + markdown-it "8.1.0" markdown-it-terminal "0.0.4" minimatch "^3.0.0" morgan "^1.5.2" node-modules-path "^1.0.0" - node-uuid "^1.4.3" nopt "^3.0.1" npm "3.10.8" npm-package-arg "^4.1.1" - ora "^0.2.0" portfinder "^1.0.7" promise-map-series "^0.2.1" quick-temp "0.1.6" @@ -1922,9 +1950,9 @@ ember-cli@^2.8.0: symlink-or-copy "^1.0.1" temp "0.8.3" testem "^1.8.1" - through "^2.3.6" tiny-lr "^1.0.3" tree-sync "^1.1.4" + uuid "^3.0.0" walk-sync "^0.3.0" yam "0.0.22" @@ -1958,9 +1986,11 @@ ember-inflector@^1.9.4: dependencies: ember-cli-babel "^5.1.7" -ember-load-initializers@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/ember-load-initializers/-/ember-load-initializers-0.5.1.tgz#76e3db23c111dbdcd3ae6f687036bf0b56be0cbe" +ember-load-initializers@^0.6.0: + version "0.6.3" + resolved "https://registry.npmjs.org/ember-load-initializers/-/ember-load-initializers-0.6.3.tgz#f47396ad271ba77294068c98f992a5f19705441a" + dependencies: + ember-cli-babel "^5.1.6" ember-publisher@0.0.7: version "0.0.7" @@ -1994,6 +2024,23 @@ ember-runtime-enumerable-includes-polyfill@^1.0.0: ember-cli-babel "^5.1.6" ember-cli-version-checker "^1.1.6" +ember-source@~2.11.0: + version "2.11.2" + resolved "https://registry.npmjs.org/ember-source/-/ember-source-2.11.2.tgz#07239925dc8fc2a8377bdf43210c42093e8fc4ae" + dependencies: + broccoli-stew "^1.2.0" + ember-cli-get-component-path-option "^1.0.0" + ember-cli-normalize-entity-name "^1.0.0" + ember-cli-path-utils "^1.0.0" + ember-cli-string-utils "^1.0.0" + ember-cli-test-info "^1.0.0" + ember-cli-valid-component-name "^1.0.0" + ember-cli-version-checker "^1.1.7" + jquery "^3.1.1" + resolve "^1.1.7" + rsvp "^3.3.3" + simple-dom "^0.3.0" + ember-test-helpers@^0.5.32: version "0.5.34" resolved "https://registry.yarnpkg.com/ember-test-helpers/-/ember-test-helpers-0.5.34.tgz#c8439108d1cba1d7d838c212208a5c4061471b83" @@ -2305,6 +2352,17 @@ exec-sh@^0.2.0: dependencies: merge "^1.1.3" +execa@^0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/execa/-/execa-0.4.0.tgz#4eb6467a36a095fabb2970ff9d5e3fb7bce6ebc3" + dependencies: + cross-spawn-async "^2.1.1" + is-stream "^1.1.0" + npm-run-path "^1.0.0" + object-assign "^4.0.1" + path-key "^1.0.0" + strip-eof "^1.0.0" + exists-sync@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/exists-sync/-/exists-sync-0.0.3.tgz#b910000bedbb113b378b82f5f5a7638107622dcf" @@ -2401,7 +2459,7 @@ extsprintf@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550" -fake-xml-http-request@^1.3.0: +fake-xml-http-request@^1.3.0, fake-xml-http-request@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/fake-xml-http-request/-/fake-xml-http-request-1.4.0.tgz#6481c727a0eae9c420bae229dcdfc5369c4b5477" @@ -2588,15 +2646,13 @@ fs-exists-sync@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" -fs-extra@0.30.0, fs-extra@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" +fs-extra@1.0.0, fs-extra@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" dependencies: graceful-fs "^4.1.2" jsonfile "^2.1.0" klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" fs-extra@^0.24.0: version "0.24.0" @@ -2617,13 +2673,15 @@ fs-extra@^0.26.0, fs-extra@^0.26.7: path-is-absolute "^1.0.0" rimraf "^2.2.8" -fs-extra@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" +fs-extra@^0.30.0: + version "0.30.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" dependencies: graceful-fs "^4.1.2" jsonfile "^2.1.0" klaw "^1.0.0" + path-is-absolute "^1.0.0" + rimraf "^2.2.8" fs-readdir-recursive@^0.1.0: version "0.1.2" @@ -2749,11 +2807,15 @@ git-repo-info@^1.0.4, git-repo-info@^1.1.2: version "1.4.0" resolved "https://registry.yarnpkg.com/git-repo-info/-/git-repo-info-1.4.0.tgz#ed210221defd3fdefce8b16ac61985cabe242e4a" -git-repo-version@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/git-repo-version/-/git-repo-version-0.3.0.tgz#c9b97d0d21c4357d669dc1269c2b6a75da6cc0e9" +git-repo-info@~1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/git-repo-info/-/git-repo-info-1.2.0.tgz#43d8513e04a24dd441330a2f7c6655a709fdbaf2" + +git-repo-version@0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/git-repo-version/-/git-repo-version-0.4.1.tgz#75fab9a0a4ec8470755b0eea7fdaa6f9d41453bf" dependencies: - git-repo-info "^1.0.4" + git-repo-info "~1.2.0" git-tools@^0.1.4: version "0.1.4" @@ -3024,11 +3086,12 @@ heimdall-query@^0.0.5: progress "^1.1.8" selenium-webdriver "^3.0.0-beta-2" -heimdalljs-fs-monitor@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/heimdalljs-fs-monitor/-/heimdalljs-fs-monitor-0.0.3.tgz#468a1afa5d31ba58fb199fcdb5b0007dca69e63d" +heimdalljs-fs-monitor@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/heimdalljs-fs-monitor/-/heimdalljs-fs-monitor-0.1.0.tgz#d404a65688c6714c485469ed3495da4853440272" dependencies: heimdalljs "^0.2.0" + heimdalljs-logger "^0.1.7" heimdalljs-logger@^0.1.7: version "0.1.7" @@ -3125,7 +3188,7 @@ ignore@^3.1.2: version "3.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.2.0.tgz#8d88f03c3002a0ac52114db25d2c673b0bf1e435" -imurmurhash@*, imurmurhash@^0.1.4: +imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -3197,9 +3260,9 @@ inquirer@^0.12.0: strip-ansi "^3.0.0" through "^2.3.6" -inquirer@^1.2.1: +inquirer@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918" + resolved "https://registry.npmjs.org/inquirer/-/inquirer-1.2.3.tgz#4dec6f32f37ef7bb0b2ed3f1d1a5c3f545074918" dependencies: ansi-escapes "^1.1.0" chalk "^1.0.0" @@ -3345,7 +3408,7 @@ is-resolvable@^1.0.0: dependencies: tryit "^1.0.1" -is-stream@^1.0.1: +is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -3422,6 +3485,10 @@ jodid25519@^1.0.0: dependencies: jsbn "~0.1.0" +jquery@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/jquery/-/jquery-3.1.1.tgz#347c1c21c7e004115e0a4da32cece041fad3c8a3" + js-string-escape@^1.0.0, js-string-escape@^1.0.1, js-string-escape@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" @@ -3543,9 +3610,9 @@ lcid@^1.0.0: dependencies: invert-kv "^1.0.0" -leek@0.0.23: - version "0.0.23" - resolved "https://registry.yarnpkg.com/leek/-/leek-0.0.23.tgz#d44b9f55b27e22902a6603eaeec193f0c301d25f" +leek@0.0.24: + version "0.0.24" + resolved "https://registry.npmjs.org/leek/-/leek-0.0.24.tgz#e400e57f0e60d8ef2bd4d068dc428a54345dbcda" dependencies: debug "^2.1.0" lodash.assign "^3.2.0" @@ -3588,9 +3655,9 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -loader.js@^4.0.1: +loader.js@^4.0.10: version "4.1.0" - resolved "https://registry.yarnpkg.com/loader.js/-/loader.js-4.1.0.tgz#1d0897a62f8b7375d3d9cd1ae6acf798c36c1ffe" + resolved "https://registry.npmjs.org/loader.js/-/loader.js-4.1.0.tgz#1d0897a62f8b7375d3d9cd1ae6acf798c36c1ffe" lockfile@~1.0.1: version "1.0.3" @@ -3641,10 +3708,6 @@ lodash._basefor@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/lodash._basefor/-/lodash._basefor-3.0.3.tgz#7550b4e9218ef09fad24343b612021c79b4c20c2" -lodash._baseindexof@*: - version "3.1.0" - resolved "https://registry.yarnpkg.com/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c" - lodash._baseuniq@~4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8" @@ -3652,14 +3715,10 @@ lodash._baseuniq@~4.6.0: lodash._createset "~4.0.0" lodash._root "~3.0.0" -lodash._bindcallback@*, lodash._bindcallback@^3.0.0: +lodash._bindcallback@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" -lodash._cacheindexof@*: - version "3.0.2" - resolved "https://registry.yarnpkg.com/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92" - lodash._createassigner@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz#838a5bae2fdaca63ac22dee8e19fa4e6d6970b11" @@ -3668,17 +3727,11 @@ lodash._createassigner@^3.0.0: lodash._isiterateecall "^3.0.0" lodash.restparam "^3.0.0" -lodash._createcache@*: - version "3.1.2" - resolved "https://registry.yarnpkg.com/lodash._createcache/-/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093" - dependencies: - lodash._getnative "^3.0.0" - lodash._createset@~4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/lodash._createset/-/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26" -lodash._getnative@*, lodash._getnative@^3.0.0: +lodash._getnative@^3.0.0: version "3.9.1" resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" @@ -3797,7 +3850,7 @@ lodash.omit@^4.1.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" -lodash.restparam@*, lodash.restparam@^3.0.0: +lodash.restparam@^3.0.0: version "3.6.1" resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" @@ -3857,7 +3910,7 @@ lru-cache@2: version "2.7.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" -lru-cache@^4.0.1: +lru-cache@^4.0.0, lru-cache@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" dependencies: @@ -3884,9 +3937,9 @@ markdown-it-terminal@0.0.4: lodash.merge "^3.3.2" markdown-it "^4.4.0" -markdown-it@8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-8.0.0.tgz#e66255497a0e409e816fbc67807975f4f26f6f82" +markdown-it@8.1.0: + version "8.1.0" + resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-8.1.0.tgz#38902d4e7bac2260c073eb67be623211fbb2c2e3" dependencies: argparse "^1.0.7" entities "~1.1.1" @@ -4188,7 +4241,7 @@ node-notifier@^4.3.1: shellwords "^0.1.0" which "^1.0.5" -node-uuid@^1.4.3, node-uuid@~1.4.0, node-uuid@~1.4.7: +node-uuid@~1.4.0, node-uuid@~1.4.7: version "1.4.7" resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.7.tgz#6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f" @@ -4252,6 +4305,12 @@ npm-registry-client@~7.2.1: optionalDependencies: npmlog "~2.0.0 || ~3.1.0" +npm-run-path@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-1.0.0.tgz#f5c32bf595fe81ae927daec52e82f8b000ac3c8f" + dependencies: + path-key "^1.0.0" + npm-user-validate@~0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/npm-user-validate/-/npm-user-validate-0.1.5.tgz#52465d50c2d20294a57125b996baedbf56c5004b" @@ -4530,6 +4589,10 @@ path-is-inside@^1.0.1, path-is-inside@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" +path-key@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/path-key/-/path-key-1.0.0.tgz#5d53d578019646c0d68800db4e146e6bdc2ac7af" + path-posix@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/path-posix/-/path-posix-1.0.0.tgz#06b26113f56beab042545a23bfa88003ccac260f" @@ -4609,6 +4672,13 @@ pretender@1.0.0: fake-xml-http-request "^1.3.0" route-recognizer "^0.1.9" +pretender@^1.4.2: + version "1.4.2" + resolved "https://registry.npmjs.org/pretender/-/pretender-1.4.2.tgz#dde9995dfdf75b28a3dd7a73cde2f9f612e5e8f4" + dependencies: + fake-xml-http-request "^1.4.0" + route-recognizer "^0.2.3" + printf@^0.2.3: version "0.2.5" resolved "https://registry.yarnpkg.com/printf/-/printf-0.2.5.tgz#c438ca2ca33e3927671db4ab69c0e52f936a4f0f" @@ -4832,7 +4902,7 @@ readable-stream@~2.0.0, readable-stream@~2.0.5: string_decoder "~0.10.x" util-deprecate "~1.0.1" -readdir-scoped-modules@*, readdir-scoped-modules@^1.0.0: +readdir-scoped-modules@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz#9fafa37d286be5d92cbaebdee030dc9b5f406747" dependencies: @@ -5057,7 +5127,7 @@ resolve-from@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" -resolve@^1.1.2, resolve@^1.1.6: +resolve@^1.1.2, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c" @@ -5078,13 +5148,13 @@ right-align@^0.1.1: dependencies: align-text "^0.1.1" -rimraf@2, rimraf@^2.4.4, rimraf@^2.5.2, rimraf@^2.5.3, rimraf@^2.5.4, rimraf@~2.5.4: +rimraf@2, rimraf@^2.4.4, rimraf@^2.5.1, rimraf@^2.5.2, rimraf@^2.5.3, rimraf@^2.5.4, rimraf@~2.5.4: version "2.5.4" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.4.tgz#96800093cbf1a0c86bd95b4625467535c29dfa04" dependencies: glob "^7.0.5" -rimraf@2.5.2, rimraf@^2.2.8, rimraf@^2.3.2, rimraf@^2.3.4, rimraf@^2.4.1, rimraf@^2.4.3, rimraf@^2.5.1: +rimraf@2.5.2, rimraf@^2.2.8, rimraf@^2.3.2, rimraf@^2.3.4, rimraf@^2.4.1, rimraf@^2.4.3: version "2.5.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.5.2.tgz#62ba947fa4c0b4363839aefecd4f0fbad6059726" dependencies: @@ -5104,11 +5174,15 @@ route-recognizer@^0.1.9: version "0.1.11" resolved "https://registry.yarnpkg.com/route-recognizer/-/route-recognizer-0.1.11.tgz#810d8e5702abb4056d6dcb8e865c5685e7c14eb7" -rsvp@3.2.1, rsvp@^3.0.16, rsvp@^3.0.17, rsvp@^3.0.6, rsvp@^3.2.1, rsvp@~3.2.1: +route-recognizer@^0.2.3: + version "0.2.10" + resolved "https://registry.npmjs.org/route-recognizer/-/route-recognizer-0.2.10.tgz#024b2283c2e68d13a7c7f5173a5924645e8902df" + +rsvp@3.2.1, rsvp@^3.0.16, rsvp@^3.0.6, rsvp@~3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.2.1.tgz#07cb4a5df25add9e826ebc67dcc9fd89db27d84a" -rsvp@^3.0.14, rsvp@^3.0.18, rsvp@^3.0.21, rsvp@^3.1.0, rsvp@^3.3.3: +rsvp@^3.0.14, rsvp@^3.0.17, rsvp@^3.0.18, rsvp@^3.0.21, rsvp@^3.1.0, rsvp@^3.2.1, rsvp@^3.3.3: version "3.3.3" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.3.3.tgz#34633caaf8bc66ceff4be3c2e1dffd032538a813" @@ -5251,6 +5325,10 @@ silent-error@^1.0.0, silent-error@^1.0.1: dependencies: debug "^2.2.0" +simple-dom@^0.3.0: + version "0.3.2" + resolved "https://registry.npmjs.org/simple-dom/-/simple-dom-0.3.2.tgz#0663d10f1556f1500551d518f56e3aba0871371d" + simple-fmt@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/simple-fmt/-/simple-fmt-0.1.0.tgz#191bf566a59e6530482cb25ab53b4a8dc85c3a6b" @@ -5484,6 +5562,10 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + strip-json-comments@~1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-1.0.4.tgz#1e15fbcac97d3ee99bf2d73b4c656b082bbafb91" @@ -5808,7 +5890,7 @@ uuid@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" -validate-npm-package-license@*, validate-npm-package-license@^3.0.1: +validate-npm-package-license@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" dependencies: @@ -5879,7 +5961,7 @@ which-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" -which@1, which@^1.0.5, which@^1.2.12, which@^1.2.9, which@~1.2.10, which@~1.2.11: +which@1, which@^1.0.5, which@^1.2.12, which@^1.2.8, which@^1.2.9, which@~1.2.10, which@~1.2.11: version "1.2.12" resolved "https://registry.yarnpkg.com/which/-/which-1.2.12.tgz#de67b5e450269f194909ef23ece4ebe416fa1192" dependencies: @@ -5903,14 +5985,10 @@ window-size@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" -wordwrap@0.0.2: +wordwrap@0.0.2, wordwrap@~0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - wordwrap@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"