diff --git a/addon/apollo/query-manager.js b/addon/apollo/query-manager.ts similarity index 63% rename from addon/apollo/query-manager.js rename to addon/apollo/query-manager.ts index bd98a46e..932744e9 100644 --- a/addon/apollo/query-manager.js +++ b/addon/apollo/query-manager.ts @@ -1,18 +1,26 @@ -import { inject as service } from '@ember/service'; -import EmberObject from '@ember/object'; -import { alias } from '@ember/object/computed'; -import { A } from '@ember/array'; +import { service } from '@ember-decorators/service'; +import EmberObject, { get } from '@ember/object'; +import { alias } from '@ember-decorators/object/computed'; +import { + ApolloClient, + MutationOptions, + QueryOptions, + WatchQueryOptions, +} from 'apollo-client'; +import ApolloService, { ResultKey } from 'ember-apollo-client/services/apollo'; -export default EmberObject.extend({ - apollo: service(), - apolloClient: alias('apollo.client'), +type Subscription = ZenObservable.Subscription; - activeSubscriptions: null, +interface ActiveSubscription { + subscription: Subscription; + stale: boolean; +} - init() { - this._super(...arguments); - this.set('activeSubscriptions', A([])); - }, +export default class QueryManager extends EmberObject { + @service apollo!: ApolloService; + @alias('apollo.client') apolloClient!: ApolloClient; + + private activeSubscriptions: ActiveSubscription[] = []; /** * Executes a mutation on the Apollo service. The resolved object will @@ -24,9 +32,9 @@ export default EmberObject.extend({ * @return {!Promise} * @public */ - mutate(opts, resultKey) { - return this.get('apollo').mutate(opts, resultKey); - }, + mutate(opts: MutationOptions, resultKey: ResultKey) { + return get(this, 'apollo').mutate(opts, resultKey); + } /** * Executes a single `query` on the Apollo service. The resolved object will @@ -38,9 +46,9 @@ export default EmberObject.extend({ * @return {!Promise} * @public */ - query(opts, resultKey) { - return this.get('apollo').query(opts, resultKey); - }, + query(opts: QueryOptions, resultKey: ResultKey) { + return get(this, 'apollo').query(opts, resultKey); + } /** * Executes a `watchQuery` on the Apollo service. If updated data for this @@ -56,21 +64,21 @@ export default EmberObject.extend({ * @return {!Promise} * @public */ - watchQuery(opts, resultKey) { - return this.get('apollo').managedWatchQuery(this, opts, resultKey); - }, + watchQuery(opts: WatchQueryOptions, resultKey: ResultKey) { + return get(this, 'apollo').managedWatchQuery(this, opts, resultKey); + } /** * Tracks a subscription in the list of active subscriptions, which will all be - * cancelled when `unsubcribeAll` is called. + * cancelled when `unsubscribeAll` is called. * * @method trackSubscription - * @param {!Object} subscription The Apollo Client Subscription to be tracked for future unsubscription. + * @param {!Object} subscription The Apollo Client Subscription to be tracked for future unsubscribing. * @private */ - trackSubscription(subscription) { - this.get('activeSubscriptions').pushObject({ subscription, stale: false }); - }, + trackSubscription(subscription: Subscription) { + this.activeSubscriptions.push({ subscription, stale: false }); + } /** * Marks all tracked subscriptions as being stale, such that they will be @@ -80,11 +88,10 @@ export default EmberObject.extend({ * @private */ markSubscriptionsStale() { - let subscriptions = this.get('activeSubscriptions'); - subscriptions.forEach(subscription => { + for (const subscription of this.activeSubscriptions) { subscription.stale = true; - }); - }, + } + } /** * Unsubscribes from all actively tracked subscriptions initiated by calls to @@ -98,12 +105,11 @@ export default EmberObject.extend({ * @public */ unsubscribeAll(onlyStale = false) { - let subscriptions = this.get('activeSubscriptions'); - subscriptions.forEach(subscription => { - if (!onlyStale || subscription.stale) { - subscription.subscription.unsubscribe(); + for (const { stale, subscription } of this.activeSubscriptions) { + if (!onlyStale || stale) { + subscription.unsubscribe(); } - }); - this.set('activeSubscriptions', A([])); - }, -}); + } + this.activeSubscriptions = []; + } +} diff --git a/addon/graphql.d.ts b/addon/graphql.d.ts new file mode 100644 index 00000000..69a105ea --- /dev/null +++ b/addon/graphql.d.ts @@ -0,0 +1,6 @@ +declare module '*.graphql' { + import { DocumentNode } from 'graphql'; + const defaultDocument: DocumentNode; + + export default defaultDocument; +} diff --git a/addon/index.js b/addon/index.js deleted file mode 100644 index a4ccaa7a..00000000 --- a/addon/index.js +++ /dev/null @@ -1,11 +0,0 @@ -import ComponentQueryManager from 'ember-apollo-client/-private/mixins/component-query-manager'; -import ObjectQueryManager from 'ember-apollo-client/-private/mixins/object-query-manager'; -import RouteQueryManager from 'ember-apollo-client/-private/mixins/route-query-manager'; - -export function getObservable(queryResult) { - return queryResult._apolloObservable; -} - -export let apolloObservableKey = '_apolloObservable'; - -export { ComponentQueryManager, ObjectQueryManager, RouteQueryManager }; diff --git a/addon/index.ts b/addon/index.ts new file mode 100644 index 00000000..d386b33b --- /dev/null +++ b/addon/index.ts @@ -0,0 +1,19 @@ +import { ObservableQuery } from 'apollo-client'; + +export { + default as ComponentQueryManager, +} from 'ember-apollo-client/-private/mixins/component-query-manager'; +export { + default as ObjectQueryManager, +} from 'ember-apollo-client/-private/mixins/object-query-manager'; +export { + default as RouteQueryManager, +} from 'ember-apollo-client/-private/mixins/route-query-manager'; + +export const apolloObservableKey = '_apolloObservable'; + +export function getObservable(queryResult: { + [apolloObservableKey]: ObservableQuery; +}): ObservableQuery { + return queryResult[apolloObservableKey]; +} diff --git a/addon/services/apollo.js b/addon/services/apollo.ts similarity index 76% rename from addon/services/apollo.js rename to addon/services/apollo.ts index afc31fe2..3827bf6e 100644 --- a/addon/services/apollo.js +++ b/addon/services/apollo.ts @@ -1,6 +1,8 @@ import Ember from 'ember'; import Service from '@ember/service'; -import EmberObject, { get, setProperties, computed } from '@ember/object'; +import EmberObject, { get, setProperties } from '@ember/object'; +import { computed } from '@ember-decorators/object'; +import { alias } from '@ember-decorators/object/computed'; import { A } from '@ember/array'; import { isArray } from '@ember/array'; import { isNone, isPresent } from '@ember/utils'; @@ -8,21 +10,36 @@ import { getOwner } from '@ember/application'; import { assign } from '@ember/polyfills'; import RSVP from 'rsvp'; import { run } from '@ember/runloop'; -import { alias } from '@ember/object/computed'; -import { ApolloClient } from 'apollo-client'; -import { createHttpLink } from 'apollo-link-http'; +import { + ApolloClient, + MutationOptions, + QueryOptions, + WatchQueryOptions, + ObservableQuery, +} from 'apollo-client'; +import { createHttpLink, FetchOptions } from 'apollo-link-http'; import { InMemoryCache } from 'apollo-cache-inmemory'; import { apolloObservableKey } from 'ember-apollo-client'; import QueryManager from 'ember-apollo-client/apollo/query-manager'; import copyWithExtras from 'ember-apollo-client/utils/copy-with-extras'; import { registerWaiter } from '@ember/test'; import fetch from 'fetch'; +import { ApolloCache } from 'apollo-cache'; +import NativeArray from '@ember/array/-private/native-array'; -function newDataFunc(observable, resultKey, resolve, mergedProps = {}) { - let obj; +type Subscription = ZenObservable.Subscription; +export type ResultKey = string | null | undefined; + +function newDataFunc( + observable: ObservableQuery, + resultKey: ResultKey, + resolve: (value: any) => void, + mergedProps: { [key: string]: any } = {} +) { + let obj: any; mergedProps[apolloObservableKey] = observable; - return ({ data, loading }) => { + return ({ data, loading }: { data: any; loading: any }) => { if (loading && data === undefined) { // This happens when the cache has no data and the data is still loading // from the server. We don't want to resolve the promise with empty data @@ -35,7 +52,7 @@ function newDataFunc(observable, resultKey, resolve, mergedProps = {}) { let dataToSend = copyWithExtras(keyedData || {}, [], []); if (isNone(obj)) { if (isArray(dataToSend)) { - obj = A(dataToSend); + obj = A(dataToSend as any[]); obj.setProperties(mergedProps); } else { obj = EmberObject.create(assign(dataToSend, mergedProps)); @@ -45,7 +62,7 @@ function newDataFunc(observable, resultKey, resolve, mergedProps = {}) { run(() => { isArray(obj) - ? obj.setObjects(dataToSend) + ? (obj as NativeArray).setObjects(dataToSend) : setProperties(obj, dataToSend); }); }; @@ -56,13 +73,14 @@ const defaultOptions = { apiURL: 'http://testserver.example/v1/graph', }; -export default Service.extend({ - client: null, - apiURL: alias('options.apiURL'), - requestCredentials: alias('options.requestCredentials'), +export default class ApolloService extends Service { + client: ApolloClient = new ApolloClient(this.get('clientOptions')); + @alias('options.apiURL') apiURL!: string; + @alias('options.requestCredentials') requestCredentials!: string; // options are configured in your environment.js. - options: computed(function() { + @computed + get options() { // config:environment not injected into tests, so try to handle that gracefully. let config = getOwner(this).resolveRegistration('config:environment'); if (config && config.apollo) { @@ -71,23 +89,20 @@ export default Service.extend({ return defaultOptions; } throw new Error('no Apollo service options defined'); - }), + } init() { - this._super(...arguments); + super.init(); const owner = getOwner(this); if (owner) { owner.registerOptionsForType('apollo', { instantiate: false }); } - let client = new ApolloClient(this.get('clientOptions')); - this.set('client', client); - if (Ember.testing) { this._registerWaiter(); } - }, + } /** * This is the options hash that will be passed to the ApolloClient constructor. @@ -97,27 +112,30 @@ export default Service.extend({ * @return {!Object} * @public */ - clientOptions: computed(function() { + @computed + get clientOptions() { return { - link: this.get('link'), - cache: this.get('cache'), + link: get(this, 'link'), + cache: get(this, 'cache'), }; - }), + } - cache: computed(function() { + @computed + get cache(): ApolloCache { return new InMemoryCache(); - }), + } - link: computed(function() { - let uri = this.get('apiURL'); - let requestCredentials = this.get('requestCredentials'); - const linkOptions = { uri, fetch }; + @computed + get link() { + const uri = get(this, 'apiURL'); + const requestCredentials = get(this, 'requestCredentials'); + const linkOptions: FetchOptions = { uri, fetch }; if (isPresent(requestCredentials)) { linkOptions.credentials = requestCredentials; } return createHttpLink(linkOptions); - }), + } /** * Executes a mutation on the Apollo client. The resolved object will @@ -129,7 +147,7 @@ export default Service.extend({ * @return {!Promise} * @public */ - mutate(opts, resultKey) { + mutate(opts: MutationOptions, resultKey: ResultKey) { return this._waitFor( new RSVP.Promise((resolve, reject) => { this.client @@ -137,7 +155,7 @@ export default Service.extend({ .then(result => { let dataToSend = isNone(resultKey) ? result.data - : get(result.data, resultKey); + : get(result.data!, resultKey); dataToSend = copyWithExtras(dataToSend, [], []); return resolve(dataToSend); }) @@ -156,7 +174,7 @@ export default Service.extend({ }); }) ); - }, + } /** * Executes a `watchQuery` on the Apollo client. If updated data for this @@ -173,16 +191,16 @@ export default Service.extend({ * @return {!Promise} * @public */ - watchQuery(opts, resultKey) { + watchQuery(opts: WatchQueryOptions, resultKey: ResultKey) { let observable = this.client.watchQuery(opts); - let subscription; + let subscription: Subscription; let mergedProps = { _apolloUnsubscribe() { subscription.unsubscribe(); }, + [apolloObservableKey]: observable, }; - mergedProps[apolloObservableKey] = observable; return this._waitFor( new RSVP.Promise((resolve, reject) => { @@ -195,7 +213,7 @@ export default Service.extend({ }); }) ); - }, + } /** * Executes a single `query` on the Apollo client. The resolved object will @@ -207,7 +225,7 @@ export default Service.extend({ * @return {!Promise} * @public */ - query(opts, resultKey) { + query(opts: QueryOptions, resultKey: ResultKey) { return this._waitFor( new RSVP.Promise((resolve, reject) => { this.client @@ -215,7 +233,7 @@ export default Service.extend({ .then(result => { let response = result.data; if (!isNone(resultKey)) { - response = get(response, resultKey); + response = get(response as { [key: string]: any }, resultKey); } return resolve(copyWithExtras(response, [], [])); }) @@ -224,7 +242,7 @@ export default Service.extend({ }); }) ); - }, + } /** * Executes a `watchQuery` on the Apollo client and tracks the resulting @@ -237,7 +255,11 @@ export default Service.extend({ * @return {!Promise} * @private */ - managedWatchQuery(manager, opts, resultKey) { + managedWatchQuery( + manager: QueryManager, + opts: WatchQueryOptions, + resultKey: ResultKey + ) { let observable = this.client.watchQuery(opts); return this._waitFor( @@ -251,11 +273,11 @@ export default Service.extend({ manager.trackSubscription(subscription); }) ); - }, + } createQueryManager() { return QueryManager.create({ apollo: this }); - }, + } /** * Wraps a promise in test waiters. @@ -264,30 +286,30 @@ export default Service.extend({ * @return {!Promise} * @private */ - _waitFor(promise) { + private _waitFor(promise: RSVP.Promise) { this._incrementOngoing(); return promise.finally(() => this._decrementOngoing()); - }, + } // unresolved / ongoing requests, used for tests: - _ongoing: 0, + _ongoing = 0; - _incrementOngoing() { + private _incrementOngoing() { this._ongoing++; - }, + } - _decrementOngoing() { + private _decrementOngoing() { this._ongoing--; - }, + } - _shouldWait() { + private _isDone() { return this._ongoing === 0; - }, + } - _registerWaiter() { - this._waiter = () => { - return this._shouldWait(); - }; + private _waiter?: () => boolean; + + private _registerWaiter() { + this._waiter = () => this._isDone(); registerWaiter(this._waiter); - }, -}); + } +} diff --git a/blueprints/ember-apollo-client/index.js b/blueprints/ember-apollo-client/index.js index 53f058d0..33094968 100644 --- a/blueprints/ember-apollo-client/index.js +++ b/blueprints/ember-apollo-client/index.js @@ -10,7 +10,8 @@ module.exports = { */ afterInstall() { return this.addPackagesToProject([ - { name: 'ember-fetch', target: '^5.1.1' }, + { name: 'ember-fetch', target: '^6.3.1' }, + { name: 'graphql', target: '^14.0.2' }, ]); }, }; diff --git a/index.js b/index.js index 9db3b1bd..4a2a89f6 100644 --- a/index.js +++ b/index.js @@ -29,7 +29,7 @@ module.exports = { toTree(tree) { const GraphQLFilter = require('broccoli-graphql-filter'); - return new GraphQLFilter(tree); + return new GraphQLFilter(tree, { keepExtension: true }); }, }); } diff --git a/package.json b/package.json index ca06c5eb..33d29d47 100644 --- a/package.json +++ b/package.json @@ -23,9 +23,14 @@ "lint:js": "eslint .", "start": "ember serve", "test": "ember test", - "test:all": "ember try:each" + "test:all": "ember try:each", + "prepublishOnly": "ember ts:precompile", + "postpublish": "ember ts:clean" }, "dependencies": { + "@ember-decorators/babel-transforms": "^3.1.4", + "@ember-decorators/object": "^3.1.4", + "@ember-decorators/service": "^3.1.4", "apollo-cache": "^1.1.21", "apollo-cache-inmemory": "^1.3.11", "apollo-client": "^2.4.7", @@ -34,12 +39,19 @@ "apollo-link-http": "^1.5.9", "broccoli-graphql-filter": "^0.3.2", "ember-auto-import": "^1.2.19", - "ember-cli-babel": "^7.1.2", - "graphql": "^14.0.2" + "ember-cli-babel": "^7.1.3", + "ember-cli-typescript": "^2.0.0-rc.1" }, "devDependencies": { "@ember/optional-features": "^0.7.0", - "@playlyfe/gql": "^2.6.1", + "@types/ember": "^3.0.26", + "@types/ember-qunit": "^3.4.3", + "@types/ember-test-helpers": "^1.0.4", + "@types/ember-testing-helpers": "^0.0.3", + "@types/ember__test-helpers": "^0.7.6", + "@types/graphql": "^14.0.3", + "@types/qunit": "^2.5.3", + "@types/rsvp": "^4.0.2", "broccoli-asset-rev": "^3.0.0", "common-tags": "^1.8.0", "ember-cli": "~3.7.1", @@ -66,11 +78,16 @@ "eslint-plugin-ember": "^6.1.0", "eslint-plugin-node": "^8.0.1", "eslint-plugin-prettier": "3.0.1", + "graphql": "^14.0.2", "graphql-tag": "^2.10.0", "graphql-tools": "^4.0.3", "loader.js": "^4.7.0", "prettier": "^1.15.3", - "qunit-dom": "^0.8.4" + "qunit-dom": "^0.8.4", + "typescript": "^3.2.2" + }, + "peerDependencies": { + "graphql": "^14.0.2" }, "engines": { "node": "6.* || 8.* || >= 10.*" diff --git a/tests/dummy/app/config/environment.d.ts b/tests/dummy/app/config/environment.d.ts new file mode 100644 index 00000000..3252cc3d --- /dev/null +++ b/tests/dummy/app/config/environment.d.ts @@ -0,0 +1,16 @@ +export default config; + +/** + * Type declarations for + * import config from './config/environment' + * + * For now these need to be managed by the developer + * since different ember addons can materialize new entries. + */ +declare const config: { + environment: any; + modulePrefix: string; + podModulePrefix: string; + locationType: string; + rootURL: string; +}; diff --git a/tests/dummy/app/gql/mutations/create-review.graphql b/tests/dummy/app/gql/mutations/create-review.graphql index 74de88ad..67d835d3 100644 --- a/tests/dummy/app/gql/mutations/create-review.graphql +++ b/tests/dummy/app/gql/mutations/create-review.graphql @@ -1,4 +1,4 @@ -#import 'dummy/gql/fragments/review-fragment' +#import 'dummy/gql/fragments/review-fragment.graphql' mutation createReview($ep: Episode!, $review: ReviewInput!) { createReview(episode: $ep, review: $review) { diff --git a/tests/dummy/app/routes/anakin.js b/tests/dummy/app/routes/anakin.js index 225e06b9..aef55f50 100644 --- a/tests/dummy/app/routes/anakin.js +++ b/tests/dummy/app/routes/anakin.js @@ -1,7 +1,7 @@ import Route from '@ember/routing/route'; import { RouteQueryManager } from 'ember-apollo-client'; -import query from 'dummy/gql/queries/human'; -import mutation from 'dummy/gql/mutations/change-character-name'; +import query from 'dummy/gql/queries/human.graphql'; +import mutation from 'dummy/gql/mutations/change-character-name.graphql'; const variables = { id: '1000' }; diff --git a/tests/dummy/app/routes/characters.js b/tests/dummy/app/routes/characters.js index fc3be1bf..24a9b0c8 100644 --- a/tests/dummy/app/routes/characters.js +++ b/tests/dummy/app/routes/characters.js @@ -1,6 +1,6 @@ import Route from '@ember/routing/route'; import { RouteQueryManager } from 'ember-apollo-client'; -import query from 'dummy/gql/queries/characters'; +import query from 'dummy/gql/queries/characters.graphql'; export default Route.extend(RouteQueryManager, { queryParams: { diff --git a/tests/dummy/app/routes/luke.js b/tests/dummy/app/routes/luke.js index c7659b06..9dfab6df 100644 --- a/tests/dummy/app/routes/luke.js +++ b/tests/dummy/app/routes/luke.js @@ -1,6 +1,6 @@ import Route from '@ember/routing/route'; import { RouteQueryManager } from 'ember-apollo-client'; -import query from 'dummy/gql/queries/human'; +import query from 'dummy/gql/queries/human.graphql'; const variables = { id: '1000' }; diff --git a/tests/dummy/app/routes/new-review.js b/tests/dummy/app/routes/new-review.js index 6417b9c3..309ff975 100644 --- a/tests/dummy/app/routes/new-review.js +++ b/tests/dummy/app/routes/new-review.js @@ -1,6 +1,6 @@ import Route from '@ember/routing/route'; import EmberObject from '@ember/object'; -import mutation from 'dummy/gql/mutations/create-review'; +import mutation from 'dummy/gql/mutations/create-review.graphql'; export default Route.extend({ model() { diff --git a/tests/dummy/app/services/apollo.js b/tests/dummy/app/services/apollo.ts similarity index 74% rename from tests/dummy/app/services/apollo.js rename to tests/dummy/app/services/apollo.ts index beba2d54..d46ab656 100644 --- a/tests/dummy/app/services/apollo.js +++ b/tests/dummy/app/services/apollo.ts @@ -1,17 +1,18 @@ import ApolloService from 'ember-apollo-client/services/apollo'; -import { computed } from '@ember/object'; +import { computed } from '@ember-decorators/object'; import { InMemoryCache, IntrospectionFragmentMatcher, } from 'apollo-cache-inmemory'; import TypeIntrospectionQuery from 'dummy/utils/graphql-type-query'; -export default ApolloService.extend({ - cache: computed(function() { +export default class extends ApolloService { + @computed + get cache() { return new InMemoryCache({ fragmentMatcher: new IntrospectionFragmentMatcher({ introspectionQueryResultData: TypeIntrospectionQuery, }), }); - }), -}); + } +} diff --git a/tests/dummy/app/utils/graphql-type-query.js b/tests/dummy/app/utils/graphql-type-query.js index a93ec8f7..f9839aae 100644 --- a/tests/dummy/app/utils/graphql-type-query.js +++ b/tests/dummy/app/utils/graphql-type-query.js @@ -19,57 +19,57 @@ export default { { kind: 'OBJECT', name: 'Droid', - possibleTypes: null, + possibleTypes: [], }, { kind: 'OBJECT', name: 'Human', - possibleTypes: null, + possibleTypes: [], }, { kind: 'OBJECT', name: 'Starship', - possibleTypes: null, + possibleTypes: [], }, { kind: 'OBJECT', name: '__Schema', - possibleTypes: null, + possibleTypes: [], }, { kind: 'OBJECT', name: '__Type', - possibleTypes: null, + possibleTypes: [], }, { kind: 'ENUM', name: '__TypeKind', - possibleTypes: null, + possibleTypes: [], }, { kind: 'OBJECT', name: '__Field', - possibleTypes: null, + possibleTypes: [], }, { kind: 'OBJECT', name: '__InputValue', - possibleTypes: null, + possibleTypes: [], }, { kind: 'OBJECT', name: '__EnumValue', - possibleTypes: null, + possibleTypes: [], }, { kind: 'OBJECT', name: '__Directive', - possibleTypes: null, + possibleTypes: [], }, { kind: 'ENUM', name: '__DirectiveLocation', - possibleTypes: null, + possibleTypes: [], }, ], }, diff --git a/tests/helpers/call-super-computed.ts b/tests/helpers/call-super-computed.ts new file mode 100644 index 00000000..b6c4c25b --- /dev/null +++ b/tests/helpers/call-super-computed.ts @@ -0,0 +1,21 @@ +export default function getSuperComputed( + instance: C, + key: keyof C +) { + const desc = Object.getOwnPropertyDescriptor( + Object.getPrototypeOf(Object.getPrototypeOf(instance)), + key + )!; + + if (desc) { + if (desc.get || desc.set) { + return { get: desc.get, set: desc.set }; + } else if (desc.value && (desc.value._getter || desc.value._setter)) { + return { get: desc.value._getter, set: desc.value._setter }; + } + } + + throw new TypeError( + `Could not retrieve super computed property '${key}' from '${instance}'.` + ); +} diff --git a/tests/helpers/start-pretender.js b/tests/helpers/start-pretender.js index 77f88784..e3061ad4 100644 --- a/tests/helpers/start-pretender.js +++ b/tests/helpers/start-pretender.js @@ -6,7 +6,7 @@ import { addResolveFunctionsToSchema, makeExecutableSchema, } from 'graphql-tools'; -import schemaString from '../fixtures/test-schema'; +import schemaString from '../fixtures/test-schema.graphql'; const interfaceResolveType = { __resolveType(data) { diff --git a/tests/unit/build/graphql-filter-test.js b/tests/unit/build/graphql-filter-test.js index 121ba196..57fac7bb 100644 --- a/tests/unit/build/graphql-filter-test.js +++ b/tests/unit/build/graphql-filter-test.js @@ -1,8 +1,8 @@ import { module, test } from 'qunit'; import gql from 'graphql-tag'; -import testFragment from './test-fragment'; -import testQuery from './test-query'; +import testFragment from './test-fragment.graphql'; +import testQuery from './test-query.graphql'; module('Unit | graphql-filter', function() { function testCompilation(description, { actual, expected }) { diff --git a/tests/unit/build/test-mutation.graphql b/tests/unit/build/test-mutation.graphql index dc7e9b8c..b4bd31d3 100644 --- a/tests/unit/build/test-mutation.graphql +++ b/tests/unit/build/test-mutation.graphql @@ -1,4 +1,4 @@ -#import './test-fragment' +#import './test-fragment.graphql' mutation TestMutation($id: ID!) { subject_update(id: $id) { diff --git a/tests/unit/build/test-query.graphql b/tests/unit/build/test-query.graphql index bb4ddbef..e9bcce26 100644 --- a/tests/unit/build/test-query.graphql +++ b/tests/unit/build/test-query.graphql @@ -1,4 +1,4 @@ -#import './test-fragment' +#import './test-fragment.graphql' query TestQuery { subject { diff --git a/tests/unit/services/apollo-test.js b/tests/unit/services/apollo-test.ts similarity index 65% rename from tests/unit/services/apollo-test.js rename to tests/unit/services/apollo-test.ts index 7d387a14..2ca58e5e 100644 --- a/tests/unit/services/apollo-test.js +++ b/tests/unit/services/apollo-test.ts @@ -1,10 +1,13 @@ import { module, test } from 'qunit'; import { setupTest } from 'ember-qunit'; -import { computed } from '@ember/object'; +import { computed } from '@ember-decorators/object'; import ApolloService from 'ember-apollo-client/services/apollo'; -import testQuery from '../build/test-query'; -import testMutation from '../build/test-mutation'; +import testQuery from '../build/test-query.graphql'; +import testMutation from '../build/test-mutation.graphql'; import { Promise } from 'rsvp'; +import getSuperComputed from 'dummy/tests/helpers/call-super-computed'; +import { InMemoryCache } from 'apollo-cache-inmemory'; +import { ObservableQuery } from 'apollo-client'; module('Unit | Service | apollo', function(hooks) { setupTest(hooks); @@ -18,23 +21,26 @@ module('Unit | Service | apollo', function(hooks) { }); test('it uses clientOptions', function(assert) { - let customDataIdFromObject = o => o.name; - this.owner.register( - 'service:overridden-apollo', - ApolloService.extend({ - // Override the clientOptions. - clientOptions: computed(function() { - let opts = this._super(...arguments); - opts.dataIdFromObject = customDataIdFromObject; - return opts; - }), - }) - ); - let service = this.owner.lookup('service:overridden-apollo'); + const dataIdFromObject = (o: { name: string }) => o.name; + + class OverriddenApolloService extends ApolloService { + // Override the clientOptions. + @computed + get clientOptions() { + const { get } = getSuperComputed(this, 'clientOptions'); + const opts = get!.call(this); + + return { ...opts, cache: new InMemoryCache({ dataIdFromObject }) }; + } + } + this.owner.register('service:overridden-apollo', OverriddenApolloService); + + const service = this.owner.lookup('service:overridden-apollo'); // make sure the override was used. assert.equal( - service.get('apollo.dataIdFromObject', customDataIdFromObject) + service.get('client.cache.config.dataIdFromObject'), + dataIdFromObject ); }); @@ -82,12 +88,13 @@ module('Unit | Service | apollo', function(hooks) { let service = this.owner.lookup('service:apollo'); service.set('client', { - watchQuery() { + watchQuery(): Pick { assert.ok(true, 'Called watchQuery function on apollo client'); return { - subscribe({ next }) { + subscribe({ next }: ZenObservable.SubscriptionObserver) { next({ data: { human: { name: 'Link' }, __typename: 'person' } }); + return { closed: false, unsubscribe() {} }; }, }; }, @@ -101,10 +108,11 @@ module('Unit | Service | apollo', function(hooks) { let service = this.owner.lookup('service:apollo'); service.set('client', { - watchQuery() { + watchQuery(): Pick { return { - subscribe({ next }) { + subscribe({ next }: ZenObservable.SubscriptionObserver) { next({ data: null }); + return { closed: false, unsubscribe() {} }; }, }; }, diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..c95dbf78 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,43 @@ +{ + "compilerOptions": { + "lib": ["esnext", "dom"], + "target": "es2017", + "allowJs": true, + "moduleResolution": "node", + "experimentalDecorators": true, + "allowSyntheticDefaultImports": true, + "noImplicitAny": true, + "noImplicitThis": true, + "alwaysStrict": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "noFallthroughCasesInSwitch": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noImplicitReturns": true, + "noEmitOnError": false, + "noEmit": true, + "inlineSourceMap": true, + "inlineSources": true, + "baseUrl": ".", + "module": "es6", + "paths": { + "dummy/tests/*": ["tests/*"], + "dummy/*": ["tests/dummy/app/*", "app/*"], + "ember-apollo-client": ["addon"], + "ember-apollo-client/*": ["addon/*"], + "ember-apollo-client/test-support": ["addon-test-support"], + "ember-apollo-client/test-support/*": ["addon-test-support/*"], + "*": ["types/*"], + "fetch": ["node_modules/ember-fetch/index.d.ts"] + } + }, + "include": [ + "app/**/*", + "addon/**/*", + "tests/**/*", + "types/**/*", + "test-support/**/*", + "addon-test-support/**/*" + ] +} diff --git a/types/dummy/index.d.ts b/types/dummy/index.d.ts new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/types/dummy/index.d.ts @@ -0,0 +1 @@ + diff --git a/yarn.lock b/yarn.lock index 8a97b57a..412841dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -64,6 +64,17 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" +"@babel/helper-create-class-features-plugin@^7.2.3": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.2.3.tgz#f6e719abb90cb7f4a69591e35fd5eb89047c4a7c" + integrity sha512-xO/3Gn+2C7/eOUeb0VRnSP1+yvWHNxlpAot1eMhtoKDCN7POsyQP5excuT5UsV5daHxMWBeIIOeI5cmB8vMRgQ== + dependencies: + "@babel/helper-function-name" "^7.1.0" + "@babel/helper-member-expression-to-functions" "^7.0.0" + "@babel/helper-optimise-call-expression" "^7.0.0" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-replace-supers" "^7.2.3" + "@babel/helper-define-map@^7.1.0": version "7.1.0" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.1.0.tgz#3b74caec329b3c80c116290887c0dd9ae468c20c" @@ -160,7 +171,7 @@ "@babel/traverse" "^7.1.0" "@babel/types" "^7.0.0" -"@babel/helper-replace-supers@^7.1.0": +"@babel/helper-replace-supers@^7.1.0", "@babel/helper-replace-supers@^7.2.3": version "7.2.3" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.2.3.tgz#19970020cf22677d62b3a689561dbd9644d8c5e5" integrity sha512-GyieIznGUfPXPWu0yLS6U55Mz67AZD9cUk0BfirOWlPrXlBcan9Gz+vHGz+cPfuoweZSnPzPIm67VtQM0OWZbA== @@ -227,6 +238,23 @@ "@babel/helper-remap-async-to-generator" "^7.1.0" "@babel/plugin-syntax-async-generators" "^7.2.0" +"@babel/plugin-proposal-class-properties@^7.1.0": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.2.3.tgz#c9e1294363b346cff333007a92080f3203698461" + integrity sha512-FVuQngLoN2iDrpW7LmhPZ2sO4DJxf35FOcwidwB9Ru9tMvI5URthnkVHuG14IStV+TzkMTyLMoOUlSTtrdVwqw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.2.3" + "@babel/helper-plugin-utils" "^7.0.0" + +"@babel/plugin-proposal-decorators@^7.1.2": + version "7.2.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.2.3.tgz#1fe5b0d22ce0c4418f225474ebd40267430364c0" + integrity sha512-jhCFm7ftmue02EWIYqbhzP0iConEPsgVQeDriOs/Qc2lgr6MDtHTTrv3hE2GOOQDFjQ9tjP7nWQq0ad0JhIsQg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.2.3" + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-decorators" "^7.2.0" + "@babel/plugin-proposal-json-strings@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" @@ -267,6 +295,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-syntax-decorators@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz#c50b1b957dcc69e4b1127b65e1c33eef61570c1b" + integrity sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-json-strings@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" @@ -288,6 +323,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-syntax-typescript@^7.2.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.2.0.tgz#55d240536bd314dcbbec70fd949c5cabaed1de29" + integrity sha512-WhKr6yu6yGpGcNMVgIBuI9MkredpVc7Y3YR4UzEZmDztHoL6wV56YBHLhWnjO1EvId1B32HrD3DRFc+zSoKI1g== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-transform-arrow-functions@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" @@ -494,6 +536,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.0.0" +"@babel/plugin-transform-typescript@^7.1.0": + version "7.2.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.2.0.tgz#bce7c06300434de6a860ae8acf6a442ef74a99d1" + integrity sha512-EnI7i2/gJ7ZNr2MuyvN2Hu+BHJENlxWte5XygPvfj/MbvtOkWor9zcnHpMMQL2YYaaCcqtIvJUyJ7QVfoGs7ew== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-syntax-typescript" "^7.2.0" + "@babel/plugin-transform-unicode-regex@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.2.0.tgz#4eb8db16f972f8abb5062c161b8b115546ade08b" @@ -591,6 +641,43 @@ lodash "^4.17.10" to-fast-properties "^2.0.0" +"@ember-decorators/babel-transforms@^3.1.4": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@ember-decorators/babel-transforms/-/babel-transforms-3.1.5.tgz#6df543f7f1d862ad54d05555d548805e032f6514" + integrity sha512-dTcpIylGj+gU+GM3Se0mVn/NGcIFLDTJYE0h04WtBT+Szon8y0SKFPO4pyEz+NINNU6w+PRP/Y7GsT8txxdrYg== + dependencies: + "@babel/plugin-proposal-class-properties" "^7.1.0" + "@babel/plugin-proposal-decorators" "^7.1.2" + ember-cli-babel-plugin-helpers "^1.0.0" + ember-cli-version-checker "^2.1.0" + +"@ember-decorators/object@^3.1.4": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@ember-decorators/object/-/object-3.1.5.tgz#51de623b99edf4ee116b62f775fa57a270af5b52" + integrity sha512-3CiFwwhEi0KWdIIjLMOO03sSC4JajVIJYtgHMrDwU1GcJ4lPtS6SSxmGNTcuXCZ853cmEbfaRUg9NEadqxyV/g== + dependencies: + "@ember-decorators/utils" "^3.1.5" + ember-cli-babel "^7.1.3" + +"@ember-decorators/service@^3.1.4": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@ember-decorators/service/-/service-3.1.5.tgz#ed5ab1fdb3d59659b3c4911797761f79958550f9" + integrity sha512-JYZr1IzliJfeo7DRoQRxwI5KmAWnjGffRx4ToFQDjH2/HXE0ofRUd3/cREX7bK9OjmEVH4snmgeG0QTKyn3XPQ== + dependencies: + "@ember-decorators/utils" "^3.1.5" + ember-cli-babel "^7.1.3" + +"@ember-decorators/utils@^3.1.5": + version "3.1.5" + resolved "https://registry.yarnpkg.com/@ember-decorators/utils/-/utils-3.1.5.tgz#8f692582329a88553192e998012c7ca59e547c37" + integrity sha512-SqckJdUgnsZGZw6XHdRMeOk7YEdXHOZjJNOeJgNzjUdhS9jWSNu3OQrXcwYjJZBW8ICdqV87lpJB/rozTCezoQ== + dependencies: + babel-plugin-debug-macros "^0.1.11" + ember-cli-babel "^7.1.3" + ember-cli-version-checker "^2.1.2" + ember-compatibility-helpers "^1.1.2" + semver "^5.6.0" + "@ember/optional-features@^0.7.0": version "0.7.0" resolved "https://registry.yarnpkg.com/@ember/optional-features/-/optional-features-0.7.0.tgz#f65a858007020ddfb8342f586112750c32abd2d9" @@ -681,30 +768,6 @@ resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== -"@playlyfe/gql@^2.6.1": - version "2.6.1" - resolved "https://registry.yarnpkg.com/@playlyfe/gql/-/gql-2.6.1.tgz#2032eb70e3e13d057107347706d4dc8b7edd4fae" - integrity sha512-ybZAb8YHBpvRxYh04ejvOw909nhKVj7B2AyUVEzXUi1YlkpKPPpEm/8aBlxzxb2dRj5A34iqvAfjLU5PDEChuw== - dependencies: - apollo-codegen "0.10.13" - babel-runtime "6.23.0" - dentist "1.0.3" - fb-watchman "2.0.0" - find-config "1.0.0" - flow-runtime "0.14.0" - graphql "0.9.6" - graphql-language-service-interface "0.0.11" - graphql-language-service-parser "0.0.10" - invariant "2.2.2" - json5 "0.5.1" - keymirror "0.1.1" - leven "2.1.0" - lodash "4.17.11" - minimatch "3.0.4" - node-ipc "9.0.1" - parse-glob "3.0.4" - promise-retry "1.1.1" - "@simple-dom/interface@1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@simple-dom/interface/-/interface-1.4.0.tgz#e8feea579232017f89b0138e2726facda6fbb71f" @@ -727,16 +790,195 @@ resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.50.tgz#117540e026d64e1846093abbd5adc7e27fda7bcb" integrity sha512-VMhZMMQgV1zsR+lX/0IBfAk+8Eb7dPVMWiQGFAt3qjo5x7Ml6b77jUo0e1C3ToD+XRDXqtrfw+6AB0uUsPEr3Q== +"@types/ember-qunit@^3.4.3": + version "3.4.4" + resolved "https://registry.yarnpkg.com/@types/ember-qunit/-/ember-qunit-3.4.4.tgz#c480b941e554e16d9cb0ea19f80eb37ca50ef541" + integrity sha512-BeR+045sYh1hYAHZOuCm8uIzoL367BkvD2YSa+yKEZll+FbB7OPRrv/qNRNNziB4YEgKihj4uKMomzLdCaUGxw== + dependencies: + "@types/ember" "*" + "@types/ember-test-helpers" "*" + +"@types/ember-test-helpers@*", "@types/ember-test-helpers@^1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@types/ember-test-helpers/-/ember-test-helpers-1.0.4.tgz#db08190659339cd6018ff8f842c6df6f24d7679a" + integrity sha512-9UnLaDSRiNHZtj3Bn46kRkQKbbnb50ClpzQQ0p/raZYzHjDjUZfLpI4KOuVRfibgEj4LI+lsUKx5LQeLD09wcw== + dependencies: + "@types/ember" "*" + "@types/htmlbars-inline-precompile" "*" + "@types/jquery" "*" + "@types/rsvp" "*" + +"@types/ember-testing-helpers@^0.0.3": + version "0.0.3" + resolved "https://registry.yarnpkg.com/@types/ember-testing-helpers/-/ember-testing-helpers-0.0.3.tgz#1a6cfc484b63d19ddd822c87e4dd710597db17d9" + integrity sha512-QG3QBBR7PFzz3zhLTbsZWBgk3cNQIZYVG6rbXKMM36+YP3dcSkkWQ6CRTyQImUIfgAkYPMaWqGlGEtkuanq3Bg== + dependencies: + "@types/jquery" "*" + "@types/rsvp" "*" + +"@types/ember@*", "@types/ember@^3.0.26": + version "3.0.26" + resolved "https://registry.yarnpkg.com/@types/ember/-/ember-3.0.26.tgz#54381f59c63e8860de9ea0c40defb519f117b0b3" + integrity sha512-GsvXPrRHBYSq55ZHaXX7NpMvmJBe95Uy8wHAF+2KDIcEy2HbHps6QcnrRBgg/8MEEI71lFs28ZKrTY/YhwyQOw== + dependencies: + "@types/ember__application" "*" + "@types/ember__array" "*" + "@types/ember__component" "*" + "@types/ember__controller" "*" + "@types/ember__debug" "*" + "@types/ember__engine" "*" + "@types/ember__error" "*" + "@types/ember__object" "*" + "@types/ember__polyfills" "*" + "@types/ember__routing" "*" + "@types/ember__runloop" "*" + "@types/ember__service" "*" + "@types/ember__string" "*" + "@types/ember__test" "*" + "@types/ember__utils" "*" + "@types/handlebars" "*" + "@types/htmlbars-inline-precompile" "*" + "@types/jquery" "*" + "@types/rsvp" "*" + +"@types/ember__application@*": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/ember__application/-/ember__application-3.0.5.tgz#e171c5f44f58fb5600952bfde25c1dfe3785a08e" + integrity sha512-lRZZInE7g5//UQyJ2ro/wql6AcjYeFTo69SYrL2qdgHSwGemSv/A/6u5Q73OMuKZL22nNyCLoCy/Q7TrEhM/mQ== + +"@types/ember__array@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/ember__array/-/ember__array-3.0.3.tgz#87887852b16b7572441b9723994098f939f2a386" + integrity sha512-9RVCedNGxkXrCwOVvDaD5/RB4FbOzZLA5+BV5kcRkxjNcAQMx29BwM6/nipAKGppi1wmoPPkVpsHcJcbiuUgbQ== + +"@types/ember__component@*": + version "3.0.4" + resolved "https://registry.yarnpkg.com/@types/ember__component/-/ember__component-3.0.4.tgz#e671213269bbf974445fb9fdd600d52ef0ae1e2a" + integrity sha512-SgUAtEqbTdexNFJsvC0EJ0wfQ3+a66xGEFojwjoeilVUaBDAhcfGzlai6Y101xfyax9kYdBX3XJ2YmtRh32rPw== + dependencies: + "@types/jquery" "*" + +"@types/ember__controller@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/ember__controller/-/ember__controller-3.0.3.tgz#622440d41ce0ae46f2610ed22670be9088cc9c2b" + integrity sha512-jJ/4SmRfAQuLS+dxB7GdS9BU1dpqA8QzKq84d1+aZkpcDiu0pD7/Xwu5FN4pbU1kBfX2w6jdQQRlnorOpuYltQ== + +"@types/ember__debug@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/ember__debug/-/ember__debug-3.0.3.tgz#b8c3481e2305b636dca4524331efd4112071902b" + integrity sha512-6cOPb5S9IX4tU4b8YwkxbnlF+mql/ejTgpMtuyNmFyp4irBV9fdKn6y1K6hvml7yDSJnhdw37/6Gs+nGi95eKQ== + +"@types/ember__engine@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/ember__engine/-/ember__engine-3.0.3.tgz#440e656f825f73240419367ee7637ca94b4a1780" + integrity sha512-mXaUam9NbU7mOxRDBNcnW3GYpo+NVYQPSRor6ghdABOl+Lik8frX0oqgSnknauoCVW34Q75oH3xAd1cjNWEsPA== + +"@types/ember__error@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/ember__error/-/ember__error-3.0.2.tgz#a30c0e51215feaaa7a32e341c5a04bd601a01d1b" + integrity sha512-U1IsKAfoqgNTAQ7rojbAmF8ynQaovfHP9Kff1lCB1A1FLq+vtQ81CzaiEHgWWAlPfbqrFtBIYD0rwehEQ1ofRg== + +"@types/ember__object@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/ember__object/-/ember__object-3.0.6.tgz#980822abe397ae16cce5dba51688aa0e0e12b39a" + integrity sha512-Kx2aKbbjF66k3+owaXQ5HDzn9+yIkg37neuN88sKcZdmHZA1g7xJq6fZliJMp3fX3pA5nbRYVM6Jt0OeBWjGFw== + dependencies: + "@types/ember__object" "*" + "@types/rsvp" "*" + +"@types/ember__polyfills@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/ember__polyfills/-/ember__polyfills-3.0.3.tgz#3435974347f52b962283a1ab8d699fef6b7334d0" + integrity sha512-i1p3rn4qb09U3xkj6ziiOlcnH15zCdhsusW8y/jg39P/bcmOOBvL7M7D0hXcPoS3ynohPMuhLiO25nfl1bM7UA== + +"@types/ember__routing@*": + version "3.0.6" + resolved "https://registry.yarnpkg.com/@types/ember__routing/-/ember__routing-3.0.6.tgz#30a695b065486dec69a579598436eb98cb512fb5" + integrity sha512-G6RSZB2/UWu/Op6I18NXMsJVzFbHeVN61Dqf5ni/9JafSrdHExaezpOKeGQy4N5GjPnVQAiMs1NBN9oTd1lwig== + +"@types/ember__runloop@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/ember__runloop/-/ember__runloop-3.0.3.tgz#c23c9d4327ca811482422505a1f5bf1c48458f53" + integrity sha512-JQ9SK0pmdXcIpy++FpIC3tJeHtEn9sxO2QRNDR3Xe8KVnq7+ld4lmNF6DMIx9UvoyV2lJstrv/sjDqhMvIadwA== + +"@types/ember__service@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/ember__service/-/ember__service-3.0.2.tgz#8265c94a599c865f633361b0e3b1efbeef393d7d" + integrity sha512-HxruUU/U3wIFk6YTX1Yl57WjosuPpawr3JJHUZktPHjFwe9uHEIoO8yc7QUeQTB9OIk3NVt05391TtOJrKON7g== + +"@types/ember__string@*": + version "3.0.2" + resolved "https://registry.yarnpkg.com/@types/ember__string/-/ember__string-3.0.2.tgz#2ffdf09baab6a641c94c0149a8ff3670f793788d" + integrity sha512-VN6HgEs7VJzPFmfVN2riQ4oroIh650YWsNOWFiq5uKzYD8kCtfrkpyRJjzGoTmS3mm8F3qIVw6Ev6KGXxQU8+A== + dependencies: + "@types/handlebars" "*" + +"@types/ember__test-helpers@^0.7.6": + version "0.7.6" + resolved "https://registry.yarnpkg.com/@types/ember__test-helpers/-/ember__test-helpers-0.7.6.tgz#f26050fc74cd8ce111ee9e01864a293d6a9ac7ac" + integrity sha512-TEIitF7M984drIuK1iKHWfU7BLvdp4qakC7Qwmz88HoJxjdMKHHYAIIVO+SPZdXBCmPjOmCs87bz2okMs9nU2Q== + dependencies: + "@types/ember" "*" + "@types/ember__error" "*" + "@types/htmlbars-inline-precompile" "*" + +"@types/ember__test@*": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/ember__test/-/ember__test-3.0.3.tgz#dda4721609e9e80d62af784757b8b3b76b49a07d" + integrity sha512-pedzxJh7BZBIL4tgnWv74f3EuRqbm7sRroWFhcIRhNliFUTN0GZ9p7poAp7gnwOxpYLcXOvUjkdaeaWP6rxYMA== + +"@types/ember__utils@*": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/ember__utils/-/ember__utils-3.0.1.tgz#f08aa24920515400fec869cbf29df69c4773f6d0" + integrity sha512-seA9IX2DCrkHxgVmtoKUVEBj6to8vqlPG7AzwB2oodLlQZiRwmrnn+fjOn+wKA5btIVIiRdxn/f41qFZXcPy6w== + "@types/estree@*", "@types/estree@0.0.39": version "0.0.39" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/graphql@^14.0.3": + version "14.0.4" + resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-14.0.4.tgz#d71a75967cd93c33eaea32b626b362ce0f2b2ae9" + integrity sha512-gI98ANelzzpq7lZzuYCUJg8LZDjQc7ekj7cxoWt8RezOKaVaAyK27U6AHa9LEqikP1NUhyi8blQQkHYHVRZ7Tg== + +"@types/handlebars@*": + version "4.0.40" + resolved "https://registry.yarnpkg.com/@types/handlebars/-/handlebars-4.0.40.tgz#b714e13d296a75bff3f199316d1311933ca79ffd" + integrity sha512-sGWNtsjNrLOdKha2RV1UeF8+UbQnPSG7qbe5wwbni0mw4h2gHXyPFUMOC+xwGirIiiydM/HSqjDO4rk6NFB18w== + +"@types/htmlbars-inline-precompile@*": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/htmlbars-inline-precompile/-/htmlbars-inline-precompile-1.0.0.tgz#4c283da1a7e303b269de3c6aa953acc8d8736949" + integrity sha512-J7+MkDbUl/Sb57OuniuvVr4HLlHV2ub2y31HmD9QiepLEMj0zGIv4hbyOfGHTKWCcU0r7lxcDdHdLyUjpuL21w== + +"@types/jquery@*": + version "3.3.29" + resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-3.3.29.tgz#680a2219ce3c9250483722fccf5570d1e2d08abd" + integrity sha512-FhJvBninYD36v3k6c+bVk1DSZwh7B5Dpb/Pyk3HKVsiohn0nhbefZZ+3JXbWQhFyt0MxSl2jRDdGQPHeOHFXrQ== + dependencies: + "@types/sizzle" "*" + "@types/node@^9.6.0": version "9.6.41" resolved "https://registry.yarnpkg.com/@types/node/-/node-9.6.41.tgz#e57c3152eb2e7ec748c733cebd0c095b437c5d37" integrity sha512-sPZWEbFMz6qAy9SLY7jh5cgepmsiwqUUHjvEm8lpU6kug2hmmcyuTnwhoGw/GWpI5Npue4EqvsiQQI0eWjW/ZA== +"@types/qunit@^2.5.3": + version "2.5.3" + resolved "https://registry.yarnpkg.com/@types/qunit/-/qunit-2.5.3.tgz#e7df363b5e1d1ba034b5fdd34b560d5ec0914225" + integrity sha512-b9xNH1wBOnY+yiCT2DiAC0yi7GCF5g6whiAFA/dpd9RtL/Jn2XR7e4yyeAQwH3TUeF00zikmYqYxS0K8+EKTKQ== + +"@types/rsvp@*", "@types/rsvp@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/rsvp/-/rsvp-4.0.2.tgz#bf9f72eaa6771292638a85bb8ce1db97e754b371" + integrity sha512-48ZwxFD1hdBj8QMOSNGA2kYuo3+SKh8OEYh5cMi7cPRZXBF9jwVPV4yqA7EcJTNlAJL0v99pEUYetl0TsufMQA== + +"@types/sizzle@*": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@types/sizzle/-/sizzle-2.3.2.tgz#a811b8c18e2babab7d542b3365887ae2e4d9de47" + integrity sha512-7EJYyKTL7tFR8+gDbB6Wwz/arpGa0Mywk1TJbNzKzHtzbwVmY4HR9WqS5VV7dsBUKQmPNr192jHr/VpBluj/hg== + "@types/zen-observable@^0.8.0": version "0.8.0" resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d" @@ -1022,6 +1264,13 @@ ansi-styles@^3.0.0, ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" +ansi-to-html@^0.6.6: + version "0.6.9" + resolved "https://registry.yarnpkg.com/ansi-to-html/-/ansi-to-html-0.6.9.tgz#f4f2e2361792269cc62da85944f39759fc71b1e2" + integrity sha512-hwNdg2DNgCzsrvaNc+LDqSxJkpxf9oEt4R7KE0IeURXhEOlontEqNpXNiGeFBpSes8TZF+ZZ9sjB85QzjPsI6A== + dependencies: + entities "^1.1.1" + ansicolors@~0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/ansicolors/-/ansicolors-0.2.1.tgz#be089599097b74a5c9c4a84a0cdbcdb62bd87aef" @@ -1066,21 +1315,6 @@ apollo-client@^2.4.7: optionalDependencies: "@types/async" "2.0.50" -apollo-codegen@0.10.13: - version "0.10.13" - resolved "https://registry.yarnpkg.com/apollo-codegen/-/apollo-codegen-0.10.13.tgz#337c5ac58c588d3cf6f38a50a7ec6cf824f2dc98" - integrity sha1-M3xaxYxYjTz284pQp+xs+CTy3Jg= - dependencies: - babel-runtime "^6.20.0" - change-case "^3.0.0" - glob "^7.0.5" - graphql "^0.9.5" - inflected "^1.1.7" - mkdirp "^0.5.1" - node-fetch "^1.5.3" - source-map-support "^0.4.2" - yargs "^7.0.1" - apollo-link-context@^1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/apollo-link-context/-/apollo-link-context-1.0.12.tgz#02d72e621a3b75239d4419a9bfd38d8bd9bb0d3f" @@ -1485,14 +1719,14 @@ babel-plugin-check-es2015-constants@^6.22.0: dependencies: babel-runtime "^6.22.0" -babel-plugin-debug-macros@^0.1.10: +babel-plugin-debug-macros@^0.1.10, babel-plugin-debug-macros@^0.1.11: version "0.1.11" resolved "https://registry.yarnpkg.com/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.1.11.tgz#6c562bf561fccd406ce14ab04f42c218cf956605" integrity sha512-hZw5qNNGAR02Y+yBUrtsnJHh8OXavkayPRqKGAXnIm4t5rWVpj3ArwsC7TWdpZsBguQvHAeyTxZ7s23yY60HHg== dependencies: semver "^5.3.0" -babel-plugin-debug-macros@^0.2.0-beta.6: +babel-plugin-debug-macros@^0.2.0, babel-plugin-debug-macros@^0.2.0-beta.6: version "0.2.0" resolved "https://registry.yarnpkg.com/babel-plugin-debug-macros/-/babel-plugin-debug-macros-0.2.0.tgz#0120ac20ce06ccc57bf493b667cf24b85c28da7a" integrity sha512-Wpmw4TbhR3Eq2t3W51eBAQSdKlr+uAyF0GI4GtPfMCD12Y4cIdpKC9l0RjNTH/P9isFypSqqewMPm7//fnZlNA== @@ -1823,15 +2057,7 @@ babel-register@^6.26.0: mkdirp "^0.5.1" source-map-support "^0.4.15" -babel-runtime@6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.23.0.tgz#0a9489f144de70efb3ce4300accdb329e2fc543b" - integrity sha1-CpSJ8UTecO+zzkMArM2zKeL8VDs= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.10.0" - -babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= @@ -2751,14 +2977,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.0.0.tgz#fb7eb569b72ad7a45812f93fd9430a3e410b3dd3" integrity sha512-tWnkwu9YEq2uzlBDI4RcLn8jrFvF9AOi8PxDNU3hZZjJcjkcRAq3vCI+vZcg1SuxISDYe86k9VZFwAxDiJGoAw== -camel-case@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - camelcase-keys@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" @@ -2772,11 +2990,6 @@ camelcase@^2.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= -camelcase@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" - integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= - can-symlink@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/can-symlink/-/can-symlink-1.0.0.tgz#97b607d8a84bb6c6e228b902d864ecb594b9d219" @@ -2839,30 +3052,6 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.0, chalk@^2.3.1, chalk@^2.4 escape-string-regexp "^1.0.5" supports-color "^5.3.0" -change-case@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.2.tgz#fd48746cce02f03f0a672577d1d3a8dc2eceb037" - integrity sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA== - dependencies: - camel-case "^3.0.0" - constant-case "^2.0.0" - dot-case "^2.1.0" - header-case "^1.0.0" - is-lower-case "^1.1.0" - is-upper-case "^1.1.0" - lower-case "^1.1.1" - lower-case-first "^1.0.0" - no-case "^2.3.2" - param-case "^2.1.0" - pascal-case "^2.0.0" - path-case "^2.1.0" - sentence-case "^2.1.0" - snake-case "^2.1.0" - swap-case "^1.1.0" - title-case "^2.1.0" - upper-case "^1.1.1" - upper-case-first "^1.1.0" - chardet@^0.4.0: version "0.4.2" resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" @@ -3008,15 +3197,6 @@ cli-width@^2.0.0: resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= -cliui@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" - integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi "^2.0.0" - clone-response@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.2.tgz#d1dc973920314df67fbeb94223b4ee350239e96b" @@ -3209,14 +3389,6 @@ consolidate@^0.15.1: dependencies: bluebird "^3.1.1" -constant-case@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46" - integrity sha1-QXV2TTidP6nI7NKRhu1gBSQ7akY= - dependencies: - snake-case "^2.1.0" - upper-case "^1.1.1" - constants-browserify@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" @@ -3414,14 +3586,14 @@ debug@^3.1.0: dependencies: ms "^2.1.1" -debug@^4.0.1, debug@^4.1.0, debug@~4.1.0: +debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@~4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: ms "^2.1.1" -decamelize@^1.1.1, decamelize@^1.1.2: +decamelize@^1.1.2: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= @@ -3489,11 +3661,6 @@ delegates@^1.0.0: resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= -dentist@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dentist/-/dentist-1.0.3.tgz#ef194a9753420a150c2423c7cb64cf9887d721b4" - integrity sha1-7xlKl1NCChUMJCPHy2TPmIfXIbQ= - depd@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" @@ -3573,13 +3740,6 @@ domain-browser@^1.1.1: resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== -dot-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee" - integrity sha1-NNzzf1Co6TwrO8qLt/uRVcfaO+4= - dependencies: - no-case "^2.2.0" - dot-prop@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" @@ -3607,11 +3767,6 @@ duplexify@^3.4.2, duplexify@^3.6.0: readable-stream "^2.0.0" stream-shift "^1.0.0" -easy-stack@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/easy-stack/-/easy-stack-1.0.0.tgz#12c91b3085a37f0baa336e9486eac4bf94e3e788" - integrity sha1-EskbMIWjfwuqM26UhurEv5Tj54g= - editions@^1.1.1: version "1.3.4" resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz#3662cb592347c3168eb8e498a0ff73271d67f50b" @@ -3678,6 +3833,11 @@ ember-auto-import@^1.2.19: walk-sync "^0.3.3" webpack "^4.12.0" +ember-cli-babel-plugin-helpers@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/ember-cli-babel-plugin-helpers/-/ember-cli-babel-plugin-helpers-1.0.2.tgz#d4bec0f32febc530e621ea8d66d3365727cb5e6c" + integrity sha512-tTWmHiIvadgtu0i+Zlb5Jnue69qO6dtACcddkRhhV+m9NfAr+2XNoTKRSeGL8QyRDhfWeo4rsK9dqPrU4PQ+8g== + ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.0.0-beta.7, ember-cli-babel@^6.16.0, ember-cli-babel@^6.6.0, ember-cli-babel@^6.8.1, 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" @@ -3697,7 +3857,7 @@ ember-cli-babel@^6.0.0-beta.4, ember-cli-babel@^6.0.0-beta.7, ember-cli-babel@^6 ember-cli-version-checker "^2.1.2" semver "^5.5.0" -ember-cli-babel@^7.0.0, ember-cli-babel@^7.1.2, ember-cli-babel@^7.1.3, ember-cli-babel@^7.1.4, ember-cli-babel@^7.2.0: +ember-cli-babel@^7.0.0, ember-cli-babel@^7.1.3, ember-cli-babel@^7.1.4, ember-cli-babel@^7.2.0: version "7.2.0" resolved "https://registry.yarnpkg.com/ember-cli-babel/-/ember-cli-babel-7.2.0.tgz#5c5bd877fb73f6fb198c878d3127ba9e18e9b8a0" integrity sha512-vwx/AgPD7P4ebgTFJMqFovbrSNCA02UMuItlR/Il16njYjgN9ZzjUqgYxaylN7k8RF88wdJq3jrtqyMS/oOq8A== @@ -3849,6 +4009,24 @@ ember-cli-test-loader@^2.2.0: dependencies: ember-cli-babel "^6.8.1" +ember-cli-typescript@^2.0.0-rc.1: + version "2.0.0-rc.2" + resolved "https://registry.yarnpkg.com/ember-cli-typescript/-/ember-cli-typescript-2.0.0-rc.2.tgz#d8253097279ed292c20e739ee72f8fb994dbb6b7" + integrity sha512-u4mhdt/R0ip5s1H93aXtGJ/tnZ/3LsIOhKmaPylvlAVW/HtgPk+j/9sFHT4YmFUKMWPP2gXExtDkYNbz81XWzw== + dependencies: + "@babel/plugin-proposal-class-properties" "^7.1.0" + "@babel/plugin-transform-typescript" "^7.1.0" + ansi-to-html "^0.6.6" + debug "^4.0.0" + ember-cli-babel-plugin-helpers "^1.0.0" + execa "^1.0.0" + fs-extra "^7.0.0" + resolve "^1.5.0" + rsvp "^4.8.1" + semver "^5.5.1" + stagehand "^1.0.0" + walk-sync "^1.0.0" + ember-cli-uglify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ember-cli-uglify/-/ember-cli-uglify-2.1.0.tgz#4a0641fe4768d7ab7d4807aca9924cc77c544184" @@ -3857,7 +4035,7 @@ ember-cli-uglify@^2.1.0: broccoli-uglify-sourcemap "^2.1.1" lodash.defaultsdeep "^4.6.0" -ember-cli-version-checker@^2.0.0, ember-cli-version-checker@^2.1.0, ember-cli-version-checker@^2.1.2: +ember-cli-version-checker@^2.0.0, ember-cli-version-checker@^2.1.0, ember-cli-version-checker@^2.1.1, ember-cli-version-checker@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/ember-cli-version-checker/-/ember-cli-version-checker-2.2.0.tgz#47771b731fe0962705e27c8199a9e3825709f3b3" integrity sha512-G+KtYIVlSOWGcNaTFHk76xR4GdzDLzAS4uxZUKdASuFX0KJE43C6DaqL+y3VTpUFLI2FIkAS6HZ4I1YBi+S3hg== @@ -3961,6 +4139,15 @@ ember-cli@~3.7.1: watch-detector "^0.1.0" yam "^1.0.0" +ember-compatibility-helpers@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/ember-compatibility-helpers/-/ember-compatibility-helpers-1.1.2.tgz#ae0ee4a7a2858b5ffdf79b428c23aee85c47d93d" + integrity sha512-yN163MzERpotO8M0b+q+kXs4i3Nx6aIriiZHWv+yXQzr2TAtYlVwg9V7/3+jcurOa3oDEYDpN7y9UZ6q3mnoTg== + dependencies: + babel-plugin-debug-macros "^0.2.0" + ember-cli-version-checker "^2.1.1" + semver "^5.4.1" + ember-disable-prototype-extensions@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/ember-disable-prototype-extensions/-/ember-disable-prototype-extensions-1.1.3.tgz#1969135217654b5e278f9fe2d9d4e49b5720329e" @@ -4131,13 +4318,6 @@ encodeurl@~1.0.1, encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= - dependencies: - iconv-lite "~0.4.13" - end-of-stream@^1.0.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" @@ -4199,16 +4379,11 @@ ensure-posix-path@^1.0.0, ensure-posix-path@^1.0.1, ensure-posix-path@^1.0.2: resolved "https://registry.yarnpkg.com/ensure-posix-path/-/ensure-posix-path-1.0.2.tgz#a65b3e42d0b71cfc585eb774f9943c8d9b91b0c2" integrity sha1-pls+QtC3HPxYXrd0+ZQ8jZuRsMI= -entities@~1.1.1: +entities@^1.1.1, entities@~1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== -err-code@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" - integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= - errno@^0.1.3, errno@~0.1.7: version "0.1.7" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" @@ -4423,11 +4598,6 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= -event-pubsub@4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/event-pubsub/-/event-pubsub-4.2.4.tgz#634fb697fe4014dc5004722d859432baa2123257" - integrity sha1-Y0+2l/5AFNxQBHIthZQyuqISMlc= - eventemitter3@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163" @@ -4703,7 +4873,7 @@ faye-websocket@~0.10.0: dependencies: websocket-driver ">=0.5.1" -fb-watchman@2.0.0, fb-watchman@^2.0.0: +fb-watchman@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= @@ -4804,13 +4974,6 @@ find-cache-dir@^2.0.0: make-dir "^1.0.0" pkg-dir "^3.0.0" -find-config@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/find-config/-/find-config-1.0.0.tgz#eafa2b9bc07fa9c90e9a0c3ef9cecf1cc800f530" - integrity sha1-6vorm8B/qckOmgw++c7PHMgA9TA= - dependencies: - user-home "^2.0.0" - find-index@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-index/-/find-index-1.1.0.tgz#53007c79cd30040d6816d79458e8837d5c5705ef" @@ -4893,11 +5056,6 @@ flat-cache@^1.2.1: rimraf "~2.6.2" write "^0.2.1" -flow-runtime@0.14.0: - version "0.14.0" - resolved "https://registry.yarnpkg.com/flow-runtime/-/flow-runtime-0.14.0.tgz#bbbcb700b19a0a299ab403e807d69912ef077c16" - integrity sha1-u7y3ALGaCimatAPoB9aZEu8HfBY= - flush-write-stream@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" @@ -5092,11 +5250,6 @@ gauge@~2.7.3: strip-ansi "^3.0.1" wide-align "^1.1.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" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - get-caller-file@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.1.tgz#25835260d3a2b9665fcdbb08cb039a7bbf7011c0" @@ -5218,7 +5371,7 @@ glob@^5.0.10: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.4, glob@^7.0.5, glob@^7.1.2, glob@^7.1.3: +glob@^7.0.4, glob@^7.1.2, glob@^7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ== @@ -5323,46 +5476,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3 resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" integrity sha1-TK+tdrxi8C+gObL5Tpo906ORpyU= -graphql-language-service-config@0.0.11: - version "0.0.11" - resolved "https://registry.yarnpkg.com/graphql-language-service-config/-/graphql-language-service-config-0.0.11.tgz#edf593ee7d0b6d8f9cbc8fe5d958b8607c75cea4" - integrity sha1-7fWT7n0LbY+cvI/l2Vi4YHx1zqQ= - dependencies: - graphql-language-service-types "0.0.16" - -graphql-language-service-interface@0.0.11: - version "0.0.11" - resolved "https://registry.yarnpkg.com/graphql-language-service-interface/-/graphql-language-service-interface-0.0.11.tgz#d84d9b5c6044049187e5fb351cfe1ebdcdf04520" - integrity sha1-2E2bXGBEBJGH5fs1HP4evc3wRSA= - dependencies: - graphql "^0.9.6" - graphql-language-service-config "0.0.11" - graphql-language-service-parser "0.0.10" - graphql-language-service-types "0.0.16" - graphql-language-service-utils "0.0.10" - -graphql-language-service-parser@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/graphql-language-service-parser/-/graphql-language-service-parser-0.0.10.tgz#ed74f77ba0f135d06d7e767874f872c3f12cc71f" - integrity sha1-7XT3e6DxNdBtfnZ4dPhyw/Esxx8= - dependencies: - graphql-language-service-types "0.0.16" - -graphql-language-service-types@0.0.16: - version "0.0.16" - resolved "https://registry.yarnpkg.com/graphql-language-service-types/-/graphql-language-service-types-0.0.16.tgz#8bf9061873cd7e9c6923d51536f418b966a91a85" - integrity sha1-i/kGGHPNfpxpI9UVNvQYuWapGoU= - dependencies: - graphql "^0.9.6" - -graphql-language-service-utils@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/graphql-language-service-utils/-/graphql-language-service-utils-0.0.10.tgz#9cc1df69f8e4382088e790da96e45b07fda9a5f9" - integrity sha1-nMHfafjkOCCI55DaluRbB/2ppfk= - dependencies: - graphql "^0.9.6" - graphql-language-service-types "0.0.16" - graphql-tag@^2.10.0: version "2.10.0" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.0.tgz#87da024be863e357551b2b8700e496ee2d4353ae" @@ -5379,13 +5492,6 @@ graphql-tools@^4.0.3: iterall "^1.1.3" uuid "^3.1.0" -graphql@0.9.6, graphql@^0.9.5, graphql@^0.9.6: - version "0.9.6" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.9.6.tgz#514421e9d225c29dfc8fd305459abae58815ef2c" - integrity sha1-UUQh6dIlwp38j9MFRZq65YgV7yw= - dependencies: - iterall "^1.0.0" - graphql@^14.0.2: version "14.0.2" resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.0.2.tgz#7dded337a4c3fd2d075692323384034b357f5650" @@ -5519,14 +5625,6 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -header-case@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d" - integrity sha1-lTWXMZfBRLCWE81l0xfvGZY70C0= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.3" - heimdalljs-fs-monitor@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/heimdalljs-fs-monitor/-/heimdalljs-fs-monitor-0.2.2.tgz#a76d98f52dbf3aa1b7c20cebb0132e2f5eeb9204" @@ -5625,7 +5723,7 @@ iconv-lite@0.4.23: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: +iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv-lite@^0.4.4: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -5694,11 +5792,6 @@ indexof@0.0.1: resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10= -inflected@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/inflected/-/inflected-1.1.7.tgz#c393df6e28472d0d77b3082ec3aa2091f4bc96f9" - integrity sha1-w5PfbihHLQ13swguw6ogkfS8lvk= - inflection@^1.12.0: version "1.12.0" resolved "https://registry.yarnpkg.com/inflection/-/inflection-1.12.0.tgz#a200935656d6f5f6bc4dc7502e1aecb703228416" @@ -5805,13 +5898,6 @@ into-stream@^3.1.0: from2 "^2.1.1" p-is-promise "^1.1.0" -invariant@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" - integrity sha1-nh9WrArNtr8wMwbzOL47IErmA2A= - dependencies: - loose-envify "^1.0.0" - invariant@^2.2.2: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" @@ -5819,11 +5905,6 @@ invariant@^2.2.2: dependencies: loose-envify "^1.0.0" -invert-kv@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" - integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY= - ipaddr.js@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e" @@ -5988,13 +6069,6 @@ is-glob@^4.0.0: dependencies: is-extglob "^2.1.1" -is-lower-case@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393" - integrity sha1-fhR75HaNxGbbO/shzGCzHmrWk5M= - dependencies: - lower-case "^1.1.0" - is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" @@ -6075,7 +6149,7 @@ is-retry-allowed@^1.0.0, is-retry-allowed@^1.1.0: resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" integrity sha1-EaBgVotnM5REAz0BJaYaINVk+zQ= -is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.0.0, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -6094,13 +6168,6 @@ is-type@0.0.1: dependencies: core-util-is "~1.0.0" -is-upper-case@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f" - integrity sha1-jQsfp+eTOh5YSDYA7H2WYcuvdW8= - dependencies: - upper-case "^1.1.0" - is-utf8@^0.2.0: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -6167,7 +6234,7 @@ isurl@^1.0.0-alpha5: has-to-string-tag-x "^1.2.0" is-object "^1.0.1" -iterall@^1.0.0, iterall@^1.1.3, iterall@^1.2.2: +iterall@^1.1.3, iterall@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7" integrity sha512-yynBb1g+RFUPY64fTrFv7nsjRrENBQJaX2UL+2Szc9REFrSNm1rpSXHGzhmAy7a9uv3vlvgBlXnf9RqmPH1/DA== @@ -6182,18 +6249,6 @@ js-levenshtein@^1.1.3: resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== -js-message@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/js-message/-/js-message-1.0.5.tgz#2300d24b1af08e89dd095bc1a4c9c9cfcb892d15" - integrity sha1-IwDSSxrwjondCVvBpMnJz8uJLRU= - -js-queue@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/js-queue/-/js-queue-2.0.0.tgz#362213cf860f468f0125fc6c96abc1742531f948" - integrity sha1-NiITz4YPRo8BJfxslqvBdCUx+Ug= - dependencies: - easy-stack "^1.0.0" - js-reporters@1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/js-reporters/-/js-reporters-1.2.1.tgz#f88c608e324a3373a95bcc45ad305e5c979c459b" @@ -6269,7 +6324,7 @@ json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: dependencies: jsonify "~0.0.0" -json5@0.5.1, json5@^0.5.1: +json5@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= @@ -6307,11 +6362,6 @@ jsonify@~0.0.0: resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= -keymirror@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/keymirror/-/keymirror-0.1.1.tgz#918889ea13f8d0a42e7c557250eee713adc95c35" - integrity sha1-kYiJ6hP40KQufFVyUO7nE63JXDU= - keyv@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.0.0.tgz#44923ba39e68b12a7cec7df6c3268c031f2ef373" @@ -6350,13 +6400,6 @@ klaw@^1.0.0: optionalDependencies: graceful-fs "^4.1.9" -lcid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" - integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU= - dependencies: - invert-kv "^1.0.0" - leek@0.0.24: version "0.0.24" resolved "https://registry.yarnpkg.com/leek/-/leek-0.0.24.tgz#e400e57f0e60d8ef2bd4d068dc428a54345dbcda" @@ -6366,11 +6409,6 @@ leek@0.0.24: lodash.assign "^3.2.0" rsvp "^3.0.21" -leven@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" - integrity sha1-wuep93IJTe6dNCAq6KzORoeHVYA= - levn@^0.3.0, levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" @@ -6833,7 +6871,7 @@ lodash.values@~2.3.0: dependencies: lodash.keys "~2.3.0" -lodash@4.17.11, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.6.1: +lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.6.1: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -6860,14 +6898,7 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lower-case-first@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1" - integrity sha1-5dp8JvKacHO+AtUrrJmA5ZIq36E= - dependencies: - lower-case "^1.1.2" - -lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2: +lower-case@^1.1.1: version "1.1.4" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= @@ -7311,21 +7342,13 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -no-case@^2.2.0, no-case@^2.3.2: +no-case@^2.2.0: version "2.3.2" resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== dependencies: lower-case "^1.1.1" -node-fetch@^1.5.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - node-fetch@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.3.0.tgz#1a1d940bbfb916a1d3e0219f037e89e71f8c5fa5" @@ -7336,15 +7359,6 @@ node-int64@^0.4.0: resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= -node-ipc@9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/node-ipc/-/node-ipc-9.0.1.tgz#6af4700b8430502f28850bb1026414450688c575" - integrity sha1-avRwC4QwUC8ohQuxAmQURQaIxXU= - dependencies: - event-pubsub "4.2.4" - js-message "1.0.5" - js-queue "2.0.0" - node-libs-browser@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" @@ -7642,13 +7656,6 @@ os-homedir@^1.0.0, os-homedir@^1.0.1: resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= -os-locale@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" - integrity sha1-IPnxeuKe00XoveWDsT0gCYA8FNk= - dependencies: - lcid "^1.0.0" - os-shim@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/os-shim/-/os-shim-0.1.3.tgz#6b62c3791cf7909ea35ed46e17658bb417cb3917" @@ -7751,13 +7758,6 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" -param-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= - dependencies: - no-case "^2.2.0" - parent-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.0.tgz#df250bdc5391f4a085fb589dad761f5ad6b865b5" @@ -7776,7 +7776,7 @@ parse-asn1@^5.0.0: evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" -parse-glob@3.0.4, parse-glob@^3.0.4: +parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" integrity sha1-ssN2z7EfNVE7rdFz7wu246OIORw= @@ -7822,14 +7822,6 @@ parseurl@~1.3.2: resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" integrity sha1-/CidTtiZMRlGDBViUyYs3I3mW/M= -pascal-case@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e" - integrity sha1-LVeNNFX2YNpl7KGO+VtODekSdh4= - dependencies: - camel-case "^3.0.0" - upper-case-first "^1.1.0" - pascalcase@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" @@ -7847,13 +7839,6 @@ path-browserify@0.0.0: resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo= -path-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5" - integrity sha1-lLgDfDctP+KQbkZbtF4l0ibo7qU= - dependencies: - no-case "^2.2.0" - path-dirname@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" @@ -8075,14 +8060,6 @@ promise-map-series@^0.2.1, promise-map-series@^0.2.3: dependencies: rsvp "^3.0.14" -promise-retry@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" - integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0= - dependencies: - err-code "^1.0.0" - retry "^0.10.0" - promise.prototype.finally@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/promise.prototype.finally/-/promise.prototype.finally-3.1.0.tgz#66f161b1643636e50e7cf201dc1b84a857f3864e" @@ -8357,7 +8334,7 @@ regenerate@^1.2.1, regenerate@^1.4.0: resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== -regenerator-runtime@^0.10.0, regenerator-runtime@^0.10.5: +regenerator-runtime@^0.10.5: version "0.10.5" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" integrity sha1-M2w+/BIgrc7dosn6tntaeVWjNlg= @@ -8503,16 +8480,6 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - require-relative@^0.8.7: version "0.8.7" resolved "https://registry.yarnpkg.com/require-relative/-/require-relative-0.8.7.tgz#7999539fc9e047a37928fa196f8e1563dabd36de" @@ -8596,11 +8563,6 @@ ret@~0.1.10: resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== -retry@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" - integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= - rimraf@^2.2.8, rimraf@^2.3.2, 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" @@ -8763,7 +8725,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1: +"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: version "5.6.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004" integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg== @@ -8787,14 +8749,6 @@ send@0.16.2: range-parser "~1.2.0" statuses "~1.4.0" -sentence-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4" - integrity sha1-H24t2jnBaL+S0T+G1KkYkz9mftQ= - dependencies: - no-case "^2.2.0" - upper-case-first "^1.1.2" - serialize-javascript@^1.4.0: version "1.6.1" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879" @@ -8810,7 +8764,7 @@ serve-static@1.13.2: parseurl "~1.3.2" send "0.16.2" -set-blocking@^2.0.0, set-blocking@~2.0.0: +set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= @@ -9020,7 +8974,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.4.15, source-map-support@^0.4.2: +source-map-support@^0.4.15: version "0.4.18" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== @@ -9028,9 +8982,9 @@ source-map-support@^0.4.15, source-map-support@^0.4.2: source-map "^0.5.6" source-map-support@~0.5.6: - version "0.5.9" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.9.tgz#41bc953b2534267ea2d605bccfa7bfa3111ced5f" - integrity sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA== + version "0.5.10" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.10.tgz#2214080bc9d51832511ee2bab96e3c2f9353120c" + integrity sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -9152,6 +9106,13 @@ ssri@^6.0.1: dependencies: figgy-pudding "^3.5.1" +stagehand@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stagehand/-/stagehand-1.0.0.tgz#79515e2ad3a02c63f8720c7df9b6077ae14276d9" + integrity sha512-zrXl0QixAtSHFyN1iv04xOBgplbT4HgC8T7g+q8ESZbDNi5uZbMtxLukFVXPJ5Nl7zCYvYcrT3Mj24WYCH93hw== + dependencies: + debug "^4.1.0" + static-extend@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" @@ -9217,7 +9178,7 @@ string-template@~0.2.1: resolved "https://registry.yarnpkg.com/string-template/-/string-template-0.2.1.tgz#42932e598a352d01fc22ec3367d9d84eec6c9add" integrity sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0= -string-width@^1.0.1, string-width@^1.0.2: +string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= @@ -9327,14 +9288,6 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -swap-case@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3" - integrity sha1-w5IDpFhzhfrTyFCgvRvK+ggZdOM= - dependencies: - lower-case "^1.1.1" - upper-case "^1.1.1" - symbol-observable@^1.0.2: version "1.2.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" @@ -9346,9 +9299,9 @@ symlink-or-copy@^1.0.0, symlink-or-copy@^1.0.1, symlink-or-copy@^1.1.8, symlink- integrity sha512-W31+GLiBmU/ZR02Ii0mVZICuNEN9daZ63xZMPDsYgPgNjMtg+atqLEGI7PPI936jYSQZxoLb/63xos8Adrx4Eg== table@^5.0.2: - version "5.1.1" - resolved "https://registry.yarnpkg.com/table/-/table-5.1.1.tgz#92030192f1b7b51b6eeab23ed416862e47b70837" - integrity sha512-NUjapYb/qd4PeFW03HnAuOJ7OMcBkJlqeClWxeNlQ0lXGSb52oZXGzkO0/I0ARegQ2eUT1g2VDJH0eUxDRcHmw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/table/-/table-5.2.0.tgz#2e38bd1f16dd3f97085ac80cdc574ad9198af04d" + integrity sha512-hAdBBAMCZl4/U3eQhsPN2Z8wRJC98lpRhDW2I86VQbPBqyj4E681VhvUkfb90qUJ4rnRfu8t4/8SGHPsAH1ygg== dependencies: ajv "^6.6.1" lodash "^4.17.11" @@ -9504,14 +9457,6 @@ tiny-lr@^1.1.1: object-assign "^4.1.0" qs "^6.4.0" -title-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa" - integrity sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o= - dependencies: - no-case "^2.2.0" - upper-case "^1.0.3" - tmp@0.0.28: version "0.0.28" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.28.tgz#172735b7f614ea7af39664fa84cf0de4e515d120" @@ -9639,6 +9584,11 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= +typescript@^3.2.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.2.2.tgz#fe8101c46aa123f8353523ebdcf5730c2ae493e5" + integrity sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.5.tgz#0c65f15f815aa08b560a61ce8b4db7ffc3f45376" @@ -9754,18 +9704,6 @@ upath@^1.0.5: resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw== -upper-case-first@^1.1.0, upper-case-first@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" - integrity sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU= - dependencies: - upper-case "^1.1.1" - -upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" @@ -9810,13 +9748,6 @@ use@^3.1.0: resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== -user-home@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f" - integrity sha1-nHC/2Babwdy/SGBODwS4tJzenp8= - dependencies: - os-homedir "^1.0.0" - user-info@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/user-info/-/user-info-1.0.0.tgz#81c82b7ed63e674c2475667653413b3c76fde239" @@ -10024,11 +9955,6 @@ whatwg-fetch@^3.0.0: resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== -which-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" - integrity sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8= - which@^1.2.14, which@^1.2.9, which@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" @@ -10067,14 +9993,6 @@ workerpool@^2.3.0, workerpool@^2.3.1: dependencies: object-assign "4.1.1" -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" @@ -10123,11 +10041,6 @@ xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68= -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - integrity sha1-bRX7qITAhnnA136I53WegR4H+kE= - y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" @@ -10146,32 +10059,6 @@ yam@^1.0.0: fs-extra "^4.0.2" lodash.merge "^4.6.0" -yargs-parser@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" - integrity sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo= - dependencies: - camelcase "^3.0.0" - -yargs@^7.0.1: - version "7.1.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" - integrity sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg= - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^5.0.0" - yeast@0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" @@ -10187,4 +10074,4 @@ zen-observable-ts@^0.8.13: zen-observable@^0.8.0: version "0.8.11" resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.11.tgz#d3415885eeeb42ee5abb9821c95bb518fcd6d199" - integrity sha512-N3xXQVr4L61rZvGMpWe8XoCGX8vhU35dPyQ4fm5CY/KDlG0F75un14hjbckPXTDuKUY6V0dqR2giT6xN8Y4GEQ== + integrity sha512-N3xXQVr4L61rZvGMpWe8XoCGX8vhU35dPyQ4fm5CY/KDlG0F75un14hjbckPXTDuKUY6V0dqR2giT6xN8Y4GEQ== \ No newline at end of file