diff --git a/jsconfig.json b/jsconfig.json
new file mode 100644
index 00000000..d370b2fb
--- /dev/null
+++ b/jsconfig.json
@@ -0,0 +1,9 @@
+{
+ "compilerOptions": {
+ "module": "commonjs",
+ "target": "es2016",
+ "jsx": "preserve"
+ },
+ "exclude": ["node_modules", "**/node_modules/*"],
+ "js-import.excludeFilesToScan": "packages/*/{es,lib,build}/**"
+}
diff --git a/packages/iiif-graphql/.gitignore b/packages/iiif-graphql/.gitignore
new file mode 100644
index 00000000..76710371
--- /dev/null
+++ b/packages/iiif-graphql/.gitignore
@@ -0,0 +1,5 @@
+/coverage
+/dist
+/node_modules
+npm-debug.log*
+/build
diff --git a/packages/iiif-graphql/CONTRIBUTING.md b/packages/iiif-graphql/CONTRIBUTING.md
new file mode 100644
index 00000000..5d624e51
--- /dev/null
+++ b/packages/iiif-graphql/CONTRIBUTING.md
@@ -0,0 +1,27 @@
+## Prerequisites
+
+[Node.js](http://nodejs.org/) >= v4 must be installed.
+
+## Installation
+
+- Running `npm install` in the app's root directory will install everything you need for development.
+
+## Development Server
+
+- `npm start` will run the app's development server at [http://localhost:3000](http://localhost:3000) with hot module reloading.
+
+## Running Tests
+
+- `npm test` will run the tests once.
+
+- `npm run test:coverage` will run the tests and produce a coverage report in `coverage/`.
+
+- `npm run test:watch` will run the tests on every change.
+
+## Building
+
+- `npm run build` creates a production build by default.
+
+ To create a development build, set the `NODE_ENV` environment variable to `development` while running this command.
+
+- `npm run clean` will delete built resources.
diff --git a/packages/iiif-graphql/README.md b/packages/iiif-graphql/README.md
new file mode 100644
index 00000000..7af287b3
--- /dev/null
+++ b/packages/iiif-graphql/README.md
@@ -0,0 +1,103 @@
+# IIIF Graphql
+
+IIIF specification through GraphQL over rest. Thats the goal, this is the start. It is a heavy client-side implementation built on top of IIIF Redux, which acts as safe-access and a unified API to both IIIF Presentation 2 and Presentation 3 resources.
+
+The goal of this library will be to offer both a server implementation and client side implementation. The server implementation will have the option to be hooked up to a non-IIIF data source through a layer over the resolver API for institutions collections. It will also feature an out of the box proxy to content hosted in the IIIF space so you can host your own IIIF GraphQL instance that can query any IIIF content, composed together for building your own applications and tools.
+
+The client implementation will get better with time, but the main focus is building a single implementation that can work both on the server and on the client.
+
+## The why
+
+At the moment the IIIF space is full of duplicate code, multiple solutions to the same problem and lots of already solved problems that are hard to discover. This implementation of GraphQL is intended to become a place to colabourate on solving common problems parsing IIIF data and building a library of GraphQL resolvers and custom queries that can be used quickly in small to large projects.
+
+## The what
+
+Heres the dream query:
+
+```graphql
+query getManifest($id: String, $q: String!) {
+ manifest(id: $id) {
+ id
+ label
+ metadata {
+ label
+ value
+ }
+ search(query: $q) {
+ results {
+ canvasId
+ contentAsText
+ selector {
+ x
+ y
+ width
+ height
+ }
+ }
+ }
+ canvases {
+ id
+ label
+ thumbnail: thumbnailAtSize(size: 200) {
+ src
+ height
+ width
+ }
+ tiledImages {
+ height
+ width
+ tiles
+ scaleFactor
+ }
+ }
+ }
+}
+```
+
+If you are unfamiliar with GraphQL, the key concept is that they query language descibes a JSON format that you want returned. You can read this query and know what the fields will be and so can predicably start using these fields.
+
+Reading through this query, you can see we are grabbing some basic properties like `id` and `label` from the manifest. We are also requesting the metadata pairs. This is always an array, so each item in the array will match the format `{label: "str", value: "str"}`. Translation is done automatically using a global context (to be documented).
+
+The next section is where the power of GraphQL starts coming through, theres a search block that accepts `query` just like the IIIF specification. Behind the scenes this will be doing many things:
+
+- Checking if the resource has a search service
+- Fetching the service
+- Constructing and executing the search
+- Formatting and parsing that back in your desired format
+
+In addition, because this is using IIIF Redux under the hood, any references (such as targets) in the search results or any request are maintained as logical links. IIIF Redux maintains that graph and makes it query-able here.
+
+The next section `canvases` is dropping deeper into the graph of the manifest. You can go as deep as you want or need to here. You can see another non-IIIF property in the query `thumbnailAtSize` being assigned to the `thumbnail` property. This is another theoretical extension where some derived data is being reduced into a handful of fields. Under the hood this could be:
+
+- Finding a thumbnail service
+- Finding a thumbnail static image, checking its height/width against your requested height
+- Looking for an image service in the annotations
+
+In the end its goal is to find the best thumbnail given the criteria. This is immediately available in the query language to be reused once created. It can be improved.
+
+## The how
+
+Slowly. This is the start of this project that I am working on in my down-time. Currently with IIIF Redux you can use functional composition to create a bunch of queries for IIIF content, but the interface to that is low-level but fail-safe. The goal of IIIF-GraphQL is to be both fail-safe and nice to work with.
+
+GraphQL and apollo, the library that this is using, has integrations with every Frontend framework under the sun. There is no lock-in with this library, this broadens the developer interest and collabouration.
+
+## Roadmap
+
+The road map is not in any particular order. The first goal is a base for collabouration. The second goal is exploring some of the challenges in IIIF-space using GraphQL.
+
+### v1.0
+
+- Fully IIIF compliant GraphQL type definition
+- Full compatibility with Presentation 2 over a presentation 3 query interface
+- Extension model to start adding derived fields to queries
+- v1.0 IIIF explorer using GraphQL
+- Cookbook of GraphQL queries for common UI interfaces
+
+### v1.x
+
+- W3C Annotation compliant GraphQL type definition
+- IIIF Image 2.x compliant GraphQL type definition
+- IIIF Activity stream compliant GraphQL type definition
+- IIIF Discovery integration in GraphQL server (invalidating caches)
+- IIIF Authentication compliant GraphQL type defintion
+- Authentication extensions
diff --git a/packages/iiif-graphql/nwb.config.js b/packages/iiif-graphql/nwb.config.js
new file mode 100644
index 00000000..ed71963a
--- /dev/null
+++ b/packages/iiif-graphql/nwb.config.js
@@ -0,0 +1,6 @@
+module.exports = {
+ type: 'react-app',
+ babel: {
+ plugins: ['graphql-tag', require.resolve('babel-plugin-import-graphql')],
+ },
+};
diff --git a/packages/iiif-graphql/package.json b/packages/iiif-graphql/package.json
new file mode 100644
index 00000000..9ca71612
--- /dev/null
+++ b/packages/iiif-graphql/package.json
@@ -0,0 +1,38 @@
+{
+ "name": "iiif-graphql",
+ "version": "1.0.0",
+ "description": "Describe iiif-graphql here",
+ "private": true,
+ "scripts": {
+ "build": "nwb build-react-app",
+ "clean": "nwb clean-app",
+ "start": "nwb serve-react-app",
+ "server:dev": "graphpack",
+ "server:build": "graphpack build",
+ "test": "echo \"No tests yet\""
+ },
+ "dependencies": {
+ "apollo-cache-inmemory": "^1.3.7",
+ "apollo-client": "^2.4.4",
+ "apollo-link": "^1.2.3",
+ "apollo-link-schema": "^1.1.1",
+ "apollo-link-set-context": "^0.5.4",
+ "dataloader": "^1.4.0",
+ "graphql": "^14.0.2",
+ "graphql-tag": "^2.10.0",
+ "graphql-tools": "^4.0.2",
+ "iiif-redux": "1.0.0",
+ "react": "^16.6.0",
+ "react-apollo": "^2.2.4",
+ "react-dom": "^16.6.0"
+ },
+ "devDependencies": {
+ "babel-plugin-graphql-tag": "^1.6.0",
+ "babel-plugin-import-graphql": "^2.6.2",
+ "graphpack": "^1.0.0-alpha.3",
+ "nwb": "0.19.x"
+ },
+ "author": "",
+ "license": "MIT",
+ "repository": ""
+}
diff --git a/packages/iiif-graphql/public/.gitkeep b/packages/iiif-graphql/public/.gitkeep
new file mode 100644
index 00000000..e69de29b
diff --git a/packages/iiif-graphql/src/components/App.js b/packages/iiif-graphql/src/components/App.js
new file mode 100644
index 00000000..ff8d711c
--- /dev/null
+++ b/packages/iiif-graphql/src/components/App.js
@@ -0,0 +1,28 @@
+import React, { Component } from 'react';
+import { ApolloProvider } from 'react-apollo';
+import HelloWorld from './HelloWorld';
+
+import client from '../graphql/client';
+
+class App extends Component {
+ state = {
+ client: null,
+ };
+
+ async componentWillMount() {
+ this.setState({ client: await client });
+ }
+
+ render() {
+ if (!this.state.client) {
+ return 'Loading ...';
+ }
+ return (
+
+
+
+ );
+ }
+}
+
+export default App;
diff --git a/packages/iiif-graphql/src/components/HelloWorld.js b/packages/iiif-graphql/src/components/HelloWorld.js
new file mode 100644
index 00000000..43c310b3
--- /dev/null
+++ b/packages/iiif-graphql/src/components/HelloWorld.js
@@ -0,0 +1,47 @@
+import React, { Component } from 'react';
+import { Query } from 'react-apollo';
+import gql from 'graphql-tag';
+
+const queryText = gql`
+ query {
+ collection(id: "https://view.nls.uk/collections/7446/74466699.json") {
+ id
+ type
+ label
+ metadata {
+ label
+ value
+ }
+ }
+ manifest(id: "https://wellcomelibrary.org/iiif/b20432033/manifest") {
+ id
+ type
+ label
+ metadata {
+ label
+ value
+ }
+ }
+ }
+`;
+
+class HelloWorld extends Component {
+ render() {
+ return (
+
+ {({ data, loading, error }) => {
+ if (loading) {
+ return Loading
;
+ }
+ if (error) {
+ return {JSON.stringify(error)}
;
+ }
+
+ return {JSON.stringify(data, null, 2)}
;
+ }}
+
+ );
+ }
+}
+
+export default HelloWorld;
diff --git a/packages/iiif-graphql/src/config.js b/packages/iiif-graphql/src/config.js
new file mode 100644
index 00000000..47e7aaa8
--- /dev/null
+++ b/packages/iiif-graphql/src/config.js
@@ -0,0 +1,7 @@
+import schemaDirectives from './graphql/directives';
+
+const config = {
+ schemaDirectives,
+};
+
+export default config;
diff --git a/packages/iiif-graphql/src/context.js b/packages/iiif-graphql/src/context.js
new file mode 100644
index 00000000..d85b0650
--- /dev/null
+++ b/packages/iiif-graphql/src/context.js
@@ -0,0 +1,77 @@
+import { createStore } from 'iiif-redux';
+import { doesResourceExist } from 'iiif-redux/es/api/dereferenced';
+import { iiifResourceRequestUnknownAsync } from 'iiif-redux/es/spaces/iiif-resource';
+import { mappings as presentation2Mapping } from 'iiif-redux/es/api/2.x';
+import { mappings as presentation3Mapping } from 'iiif-redux/es/api/3.x';
+import DataLoader from 'dataloader';
+
+const store = createStore();
+
+const iiifLoader = new DataLoader(keys =>
+ Promise.all(
+ keys.map(id => store.dispatch(iiifResourceRequestUnknownAsync(id)))
+ )
+);
+
+function mapping(version) {
+ if (version === 3) {
+ return presentation3Mapping;
+ }
+ return presentation2Mapping;
+}
+
+function select(selector) {
+ return selector(store.getState());
+}
+
+async function loadResource(id, type) {
+ return await iiifLoader.load(id);
+}
+
+const selectById = (id, type) => {
+ return state => state.resources[type][id];
+};
+
+function resourceExists(id, type) {
+ return select(doesResourceExist(selectById(id, type), type));
+}
+
+function fieldExists(id, type, field) {
+ const value = getFieldValue(id, type, field);
+
+ return typeof value !== 'undefined' && value !== null;
+}
+
+function resourceDereferenced(id, type) {}
+
+function getFieldValue(id, type, field) {
+ const version = getPresentationVersionFromResource(
+ select(selectById(id, type))
+ );
+ const api = mapping(version)(selectById(id, type));
+ const singleField = api[field];
+ return select(singleField);
+}
+
+const combinedResolver = (id, type, field) => {
+ if (!resourceExists(id, type)) {
+ return loadResource(id, type).then(() => combinedResolver(id, type, field));
+ }
+ if (!fieldExists(id, type, field)) {
+ if (resourceDereferenced(id, type)) {
+ return null;
+ }
+ return loadResource(id, type).then(() => combinedResolver(id, type, field));
+ }
+ return getFieldValue(id, type, field);
+};
+
+const context = req => ({
+ store,
+ query: selector => {
+ return selector(store.getState());
+ },
+ combinedResolver,
+});
+
+export default context;
diff --git a/packages/iiif-graphql/src/dataloaders/collections.js b/packages/iiif-graphql/src/dataloaders/collections.js
new file mode 100644
index 00000000..58282f04
--- /dev/null
+++ b/packages/iiif-graphql/src/dataloaders/collections.js
@@ -0,0 +1,3 @@
+import DataLoader from 'dataloader';
+
+const collectionLoader = new DataLoader({});
diff --git a/packages/iiif-graphql/src/graphql/client.js b/packages/iiif-graphql/src/graphql/client.js
new file mode 100644
index 00000000..b3495dbe
--- /dev/null
+++ b/packages/iiif-graphql/src/graphql/client.js
@@ -0,0 +1,30 @@
+import { SchemaLink } from 'apollo-link-schema';
+import { InMemoryCache } from 'apollo-cache-inmemory';
+import SetContextLink from 'apollo-link-set-context';
+import { ApolloLink } from 'apollo-link';
+import { createStore } from 'iiif-redux';
+import ApolloClient from 'apollo-client';
+import schema from './schema';
+
+const store = createStore();
+
+// const link = ApolloLink.from([
+// consoleLink,
+// TestLink,
+// new SchemaLink({ schema, context: { store } }),
+// ]);
+
+const client = new ApolloClient({
+ link: new SchemaLink({
+ schema,
+ context: {
+ store,
+ query: selector => {
+ return selector(store.getState());
+ },
+ },
+ }),
+ cache: new InMemoryCache(),
+});
+
+export default client;
diff --git a/packages/iiif-graphql/src/graphql/directives.js b/packages/iiif-graphql/src/graphql/directives.js
new file mode 100644
index 00000000..a1e59802
--- /dev/null
+++ b/packages/iiif-graphql/src/graphql/directives.js
@@ -0,0 +1,35 @@
+import { SchemaDirectiveVisitor } from 'graphql-tools';
+import { defaultFieldResolver } from 'graphql';
+
+/**
+ * This is non functional.
+ */
+function translate(str, path, locale) {
+ if (!str) {
+ return '';
+ }
+ if (typeof str === 'string') {
+ return str;
+ }
+ if (Array.isArray(str)) {
+ return str && str[0] ? str[0]['@value'] || '' : '';
+ }
+ return str[Object.keys(str)[0]][0] || '';
+}
+
+class IntlDirective extends SchemaDirectiveVisitor {
+ visitFieldDefinition(field, details) {
+ const { resolve = defaultFieldResolver } = field;
+ field.resolve = async function(...args) {
+ const context = args[2];
+ const defaultText = await resolve.apply(this, args);
+ // In this example, path would be ["Query", "greeting"]:
+ const path = [details.objectType.name, field.name];
+ return translate(defaultText, path, context.locale);
+ };
+ }
+}
+
+export default {
+ intl: IntlDirective,
+};
diff --git a/packages/iiif-graphql/src/graphql/schema.js b/packages/iiif-graphql/src/graphql/schema.js
new file mode 100644
index 00000000..06eea4f0
--- /dev/null
+++ b/packages/iiif-graphql/src/graphql/schema.js
@@ -0,0 +1,13 @@
+import { makeExecutableSchema } from 'graphql-tools';
+
+import typeDefs from '../schema.graphql';
+import resolvers from '../resolvers';
+import schemaDirectives from './directives';
+
+const schema = makeExecutableSchema({
+ typeDefs,
+ resolvers,
+ schemaDirectives,
+});
+
+export default schema;
diff --git a/packages/iiif-graphql/src/index.css b/packages/iiif-graphql/src/index.css
new file mode 100644
index 00000000..8f8b7852
--- /dev/null
+++ b/packages/iiif-graphql/src/index.css
@@ -0,0 +1,8 @@
+html, body, #app {
+ height: 100%;
+}
+body {
+ font-family: sans-serif;
+ margin: 0;
+ padding: 0;
+}
diff --git a/packages/iiif-graphql/src/index.html b/packages/iiif-graphql/src/index.html
new file mode 100644
index 00000000..9659423a
--- /dev/null
+++ b/packages/iiif-graphql/src/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ iiif-graphql
+
+
+
+
+
+
diff --git a/packages/iiif-graphql/src/index.js b/packages/iiif-graphql/src/index.js
new file mode 100644
index 00000000..036d7a64
--- /dev/null
+++ b/packages/iiif-graphql/src/index.js
@@ -0,0 +1,8 @@
+import './index.css';
+
+import React from 'react';
+import { render } from 'react-dom';
+
+import App from './components/App';
+
+render(, document.querySelector('#app'));
diff --git a/packages/iiif-graphql/src/resolvers/index.js b/packages/iiif-graphql/src/resolvers/index.js
new file mode 100644
index 00000000..61282f7f
--- /dev/null
+++ b/packages/iiif-graphql/src/resolvers/index.js
@@ -0,0 +1,179 @@
+import { iiifResourceRequestUnknownAsync } from 'iiif-redux/es/spaces/iiif-resource';
+import collection from 'iiif-redux/es/api/collection';
+import manifest from 'iiif-redux/es/api/manifest';
+import { doesResourceExist } from 'iiif-redux/es/api/dereferenced';
+import presentation2Collection from 'iiif-redux/es/api/2.x/collection';
+import presentation3Collection from 'iiif-redux/es/api/3.x/collection';
+import { getSchemaVersionForResource } from 'iiif-redux/es/api/schema-version';
+
+// To get this working.
+// 1) Single function that goes from ID + FIELD to value
+// 2) Data loader that will load a resource if not already loaded (single promise)
+// 3) Wrapper function that load a resource if a value doesn't exist (lazy)
+// 4) Function that will sort out entities of different types
+// 5) Figure out what nested entities will look like in code.
+//
+// Bugs:
+// - Presentation 2 getMemberIds needs to return the schema
+//
+// Things to note:
+// - Only Manifests, Collections and annotation collections may be dereferenced
+// - Data loading may result in more than
+//
+// Single field example
+// - Check if resource exists
+// - If not, send request and await promise
+// - Check if field exists on resource
+// - If not, check if dereferenced
+// - If not, send request and await promise
+// - Return field
+//
+// Multiple field example
+// - All of the above for parent resource
+// - Return resources as simple objects with ID field (and schema/type). Maybe?
+
+const reduxResolver = (typeFunc, stateType) => apiFunc => (
+ data,
+ opt,
+ context
+) => {
+ return typeFunc(s => s.resources[stateType][data.id], api => api[apiFunc])(
+ context.store.getState()
+ );
+};
+
+const collectionSelector = api => ({
+ id: api.getId,
+ type: api.getType,
+ viewingDirection: api.getViewingDirection,
+ behavior: api.getBehavior,
+ label: api.getLabel,
+ metadata: api.getMetadata,
+ summary: api.getSummary,
+ thumbnailId: api.getThumbnailId,
+ thumbnail: api.getThumbnail,
+ posterCanvasId: api.getPosterCanvasId,
+ posterCanvas: api.getPosterCanvas,
+ requiredStatement: api.getRequiredStatement,
+ rights: api.getRights,
+ navDate: api.getNavDate,
+ seeAlsoIds: api.getSeeAlsoIds,
+ seeAlso: api.getSeeAlso,
+ serviceIds: api.getServiceIds,
+ service: api.getService,
+ logoIds: api.getLogoIds,
+ logo: api.getLogo,
+ homepageId: api.getHomepageId,
+ homepage: api.getHomepage,
+ renderingIds: api.getRenderingIds,
+ rendering: api.getRendering,
+ partOfId: api.getPartOfId,
+ partOf: api.getPartOf,
+ itemIds: api.getMemberIds,
+ items: api.getMembers,
+ manifestIds: api.getManifestIds,
+ manifests: api.getManifests,
+ collectionIds: api.getCollectionIds,
+ collections: api.getCollections,
+ annotationIds: api.getAnnotationIds,
+ annotations: api.getAnnotations,
+});
+
+const manifestSelector = api => ({
+ id: api.getId,
+ type: api.getType,
+ viewingDirection: api.getViewingDirection,
+ behavior: api.getBehavior,
+ label: api.getLabel,
+ metadata: api.getMetadata,
+ summary: api.getSummary,
+ thumbnailId: api.getThumbnailId,
+ thumbnail: api.getThumbnail,
+ posterCanvasId: api.getPosterCanvasId,
+ posterCanvas: api.getPosterCanvas,
+ requiredStatement: api.getRequiredStatement,
+ rights: api.getRights,
+ navDate: api.getNavDate,
+ seeAlsoIds: api.getSeeAlsoIds,
+ seeAlso: api.getSeeAlso,
+ serviceIds: api.getServiceIds,
+ service: api.getService,
+ logoIds: api.getLogoIds,
+ logo: api.getLogo,
+ homepageId: api.getHomepageId,
+ homepage: api.getHomepage,
+ renderingIds: api.getRenderingIds,
+ rendering: api.getRendering,
+ partOfId: api.getPartOfId,
+ partOf: api.getPartOf,
+ startId: api.getStartId,
+ start: api.getStart,
+ itemIds: api.getItemIds,
+ items: api.getItems,
+ canvasIds: api.getCanvasIds,
+ canvases: api.getCanvases,
+ structureIds: api.getStructureIds,
+ structures: api.getStructures,
+ annotationIds: api.getAnnotationIds,
+ annotations: api.getAnnotations,
+});
+
+const collectionResolver = reduxResolver(collection, 'collections');
+const manifestResolver = reduxResolver(manifest, 'manifests');
+
+const resolvers = {
+ Query: {
+ collection: async (root, args, context, info) => {
+ const { id } = await context.store.dispatch(
+ iiifResourceRequestUnknownAsync(args.id)
+ );
+
+ return context.query(
+ collection(s => s.resources.collections[id], collectionSelector)
+ );
+ },
+ manifest: async (root, args, context, info) => {
+ const { id } = await context.store.dispatch(
+ iiifResourceRequestUnknownAsync(args.id)
+ );
+ return context.query(
+ manifest(s => s.resources.manifests[id], manifestSelector)
+ );
+ },
+ },
+ RangeItem: {
+ __resolveType(obj) {
+ return obj.schema || obj.type;
+ },
+ },
+ CollectionItem: {
+ __resolveType(obj, context, info) {
+ const types = {
+ 'sc:Collection': 'Collection',
+ 'sc:Manifest': 'Manifest',
+ };
+ return obj.type || types[obj['@type']];
+ },
+ // label: (obj, context) => context.collectionApi.getLabel(context.store.getState()),
+ // label: withApi(api => api.getLabel),
+ },
+
+ Manifest: {
+ type: () => 'Manifest',
+ summary: manifestResolver('getSummary'),
+ // label: (obj, _, context) =>
+ // context.combinedResolver(obj.id, 'manifest', 'label'),
+ },
+ Collection: {
+ type: () => 'Collection',
+ viewingDirection: collectionResolver('getViewingDirection'),
+ behaviour: collectionResolver('getBehaviour'),
+ items(obj, _, context) {
+ console.log(obj);
+
+ return obj.items;
+ },
+ },
+};
+
+export default resolvers;
diff --git a/packages/iiif-graphql/src/schema.graphql b/packages/iiif-graphql/src/schema.graphql
new file mode 100644
index 00000000..60e7c021
--- /dev/null
+++ b/packages/iiif-graphql/src/schema.graphql
@@ -0,0 +1,286 @@
+directive @intl on FIELD_DEFINITION
+
+interface CollectionItem {
+ # Technical
+ id: String
+ type: String
+ viewingDirection: String
+ behaviour: String
+
+ # Descriptive
+ label: String @intl
+ metadata: [Metadata]
+ summary: String @intl
+ thumbnail: [ContentResource]
+ posterCanvas: Canvas
+ requiredStatement: String @intl
+ rights: String
+ navDate: String
+
+ # Linking
+ seeAlso: [ContentResource]
+ service: [Service]
+ logo: [ContentResource]
+ homepage: ContentResource
+ rendering: [ContentResource]
+ partOf: PartOf
+}
+
+type Collection implements CollectionItem {
+ # Technical
+ id: String
+ type: String
+ viewingDirection: String
+ behaviour: String
+
+ # Descriptive
+ label: String @intl
+ metadata: [Metadata]
+ summary: String @intl
+ thumbnail: [ContentResource]
+ posterCanvas: Canvas
+ requiredStatement: String @intl
+ rights: String
+ navDate: String
+
+ # Linking
+ seeAlso: [ContentResource]
+ service: [Service]
+ logo: [ContentResource]
+ homepage: ContentResource
+ rendering: [ContentResource]
+ partOf: PartOf
+
+ # Structural
+ items: [CollectionItem]
+ annotations: [AnnotationPage]
+}
+
+type Manifest implements CollectionItem {
+ # Technical
+ id: String
+ type: String
+ viewingDirection: String
+ behaviour: String
+
+ # Descriptive
+ label: String @intl
+ metadata: [Metadata]
+ summary: String @intl
+ thumbnail: [ContentResource]
+ posterCanvas: Canvas
+ requiredStatement: String @intl
+ rights: String
+ navDate: String
+
+ # Linking
+ seeAlso: [ContentResource]
+ service: [Service]
+ logo: [ContentResource]
+ homepage: ContentResource
+ rendering: [ContentResource]
+ partOf: PartOf
+
+ # Structural
+ items: [Canvas]
+ canvases: [Canvas]
+ annotations: [AnnotationPage]
+ structures: [Range]
+}
+
+type Canvas {
+ # Technical
+ id: String
+ type: String
+ viewingDirection: String
+ behaviour: String
+ height: Int
+ width: Int
+ duration: Int
+
+ # Descriptive
+ label: String @intl
+ metadata: [Metadata]
+ summary: String @intl
+ thumbnail: [ContentResource]
+ posterCanvas: Canvas
+ requiredStatement: String @intl
+ rights: String
+ navDate: String
+
+ # Linking
+ seeAlso: [ContentResource]
+ service: [Service]
+ logo: [ContentResource]
+ homepage: ContentResource
+ rendering: [ContentResource]
+ partOf: PartOf
+
+ # Structural
+ items: [AnnotationPage]
+ paintingAnnotations: [AnnotationPage]
+ annotations: [AnnotationPage]
+}
+
+type Annotation {
+ # Technical
+ id: String
+ type: String
+ viewingDirection: String
+ behaviour: String
+ timeMode: String
+
+ # Descriptive
+ label: String @intl
+ metadata: [Metadata]
+ summary: String @intl
+ thumbnail: [ContentResource]
+ requiredStatement: String @intl
+ rights: String
+
+ # Linking
+ seeAlso: [ContentResource]
+ service: [Service]
+ logo: [ContentResource]
+ homepage: ContentResource
+ rendering: [ContentResource]
+ partOf: PartOf
+
+ # Structural
+ body: [AnnotationBody]
+ target: [Selector]
+}
+
+type AnnotationCollection {
+ # Technical
+ id: String
+ type: String
+ viewingDirection: String
+ behaviour: String
+ timeMode: String
+
+ # Descriptive
+ label: String @intl
+ metadata: [Metadata]
+ summary: String @intl
+ thumbnail: [ContentResource]
+ requiredStatement: String @intl
+ rights: String
+
+ # Linking
+ seeAlso: [ContentResource]
+ service: [Service]
+ logo: [ContentResource]
+ homepage: ContentResource
+ rendering: [ContentResource]
+ partOf: PartOf
+
+ # Structural
+ items: [AnnotationPage]
+ first: AnnotationPage
+ last: AnnotationPage
+}
+
+type AnnotationPage {
+ # Technical
+ id: String
+ type: String
+ viewingDirection: String
+ behaviour: String
+ timeMode: String
+
+ # Descriptive
+ label: String @intl
+ metadata: [Metadata]
+ summary: String @intl
+ thumbnail: [ContentResource]
+ requiredStatement: String @intl
+ rights: String
+
+ # Linking
+ seeAlso: [ContentResource]
+ service: [Service]
+ logo: [ContentResource]
+ homepage: ContentResource
+ rendering: [ContentResource]
+ partOf: PartOf
+
+ # Structural
+ next: AnnotationPage
+ previous: AnnotationPage
+ items: [Annotation]
+ annotations: [Annotation]
+}
+
+type Range {
+ # Technical
+ id: String
+ type: String
+ viewingDirection: String
+ behaviour: String
+
+ # Descriptive
+ label: String @intl
+ metadata: [Metadata]
+ summary: String @intl
+ thumbnail: [ContentResource]
+ posterCanvas: Canvas
+ requiredStatement: String @intl
+ rights: String
+ navDate: String
+
+ # Linking
+ seeAlso: [ContentResource]
+ service: [Service]
+ logo: [ContentResource]
+ homepage: ContentResource
+ rendering: [ContentResource]
+ partOf: PartOf
+ start: Canvas
+ supplementary: AnnotationCollection
+
+ # Structural
+ items: [RangeItem]
+ annotations: [AnnotationPage]
+}
+
+type ContentResource {
+ id: String
+}
+
+union RangeItem = Range | Canvas
+
+# Maybe union?
+type CanvasOrReference {
+ id: String
+}
+
+type Selector {
+ id: String
+}
+
+type Metadata {
+ label: String @intl
+ value: String @intl
+}
+
+type AnnotationBody {
+ value: String
+}
+
+type PartOf {
+ id: String
+}
+
+type Service {
+ id: String
+}
+
+type Choice {
+ id: String
+}
+
+type Query {
+ collection(id: String): Collection
+ manifest(id: String): Manifest
+}
diff --git a/packages/iiif-redux/__tests__/api/2.x/annotation-list/descriptive-test.js b/packages/iiif-redux/__tests__/api/2.x/annotation-list/descriptive-test.js
index 2b16e95e..28df0f63 100644
--- a/packages/iiif-redux/__tests__/api/2.x/annotation-list/descriptive-test.js
+++ b/packages/iiif-redux/__tests__/api/2.x/annotation-list/descriptive-test.js
@@ -156,9 +156,9 @@ describe('api/2.x/annotationList/descriptive', () => {
describe('getLogo', () => {
it('should load logo from annotationList', () => {
- expect(getLogo(state)).toEqual(
- 'http://example.org/logos/institution1.jpg'
- );
+ expect(getLogo(state)).toEqual([
+ 'http://example.org/logos/institution1.jpg',
+ ]);
});
});
});
diff --git a/packages/iiif-redux/__tests__/api/2.x/annotation/descriptive-test.js b/packages/iiif-redux/__tests__/api/2.x/annotation/descriptive-test.js
index 4f846149..a32235a4 100644
--- a/packages/iiif-redux/__tests__/api/2.x/annotation/descriptive-test.js
+++ b/packages/iiif-redux/__tests__/api/2.x/annotation/descriptive-test.js
@@ -156,9 +156,9 @@ describe('api/2.x/annotation/descriptive', () => {
describe('getLogo', () => {
it('should load logo from annotation', () => {
- expect(getLogo(state)).toEqual(
- 'http://example.org/logos/institution1.jpg'
- );
+ expect(getLogo(state)).toEqual([
+ 'http://example.org/logos/institution1.jpg',
+ ]);
});
});
});
diff --git a/packages/iiif-redux/__tests__/api/2.x/canvas/descriptive-test.js b/packages/iiif-redux/__tests__/api/2.x/canvas/descriptive-test.js
index d698ab45..cc43a17e 100644
--- a/packages/iiif-redux/__tests__/api/2.x/canvas/descriptive-test.js
+++ b/packages/iiif-redux/__tests__/api/2.x/canvas/descriptive-test.js
@@ -93,9 +93,9 @@ describe('api/2.x/canvas/descriptive', () => {
describe('getLogo', () => {
it('should load logo from canvas', () => {
- expect(getLogo(state)).toEqual(
- 'http://example.org/logos/institution1.jpg'
- );
+ expect(getLogo(state)).toEqual([
+ 'http://example.org/logos/institution1.jpg',
+ ]);
});
});
diff --git a/packages/iiif-redux/__tests__/api/2.x/collection/descriptive-test.js b/packages/iiif-redux/__tests__/api/2.x/collection/descriptive-test.js
index 5cfba895..d4a1d82e 100644
--- a/packages/iiif-redux/__tests__/api/2.x/collection/descriptive-test.js
+++ b/packages/iiif-redux/__tests__/api/2.x/collection/descriptive-test.js
@@ -98,9 +98,9 @@ describe('api/2.x/collection/descriptive', () => {
describe('getLogo', () => {
it('should load logo from collection', () => {
- expect(getLogo(state)).toEqual(
- 'http://example.org/logos/institution1.jpg'
- );
+ expect(getLogo(state)).toEqual([
+ 'http://example.org/logos/institution1.jpg',
+ ]);
});
});
diff --git a/packages/iiif-redux/__tests__/api/2.x/external-resource/descriptive-test.js b/packages/iiif-redux/__tests__/api/2.x/external-resource/descriptive-test.js
index 9d597a02..9d664511 100644
--- a/packages/iiif-redux/__tests__/api/2.x/external-resource/descriptive-test.js
+++ b/packages/iiif-redux/__tests__/api/2.x/external-resource/descriptive-test.js
@@ -157,9 +157,9 @@ describe('api/2.x/external-resource/descriptive', () => {
describe('getLogo', () => {
it('should load logo from externalResource', () => {
- expect(getLogo(state)).toEqual(
- 'http://example.org/logos/institution1.jpg'
- );
+ expect(getLogo(state)).toEqual([
+ 'http://example.org/logos/institution1.jpg',
+ ]);
});
});
});
diff --git a/packages/iiif-redux/__tests__/api/2.x/iiif/descriptive-test.js b/packages/iiif-redux/__tests__/api/2.x/iiif/descriptive-test.js
index 2eb1ff7b..3bdbf274 100644
--- a/packages/iiif-redux/__tests__/api/2.x/iiif/descriptive-test.js
+++ b/packages/iiif-redux/__tests__/api/2.x/iiif/descriptive-test.js
@@ -104,7 +104,7 @@ describe('api/iiif/descriptive', () => {
describe('getLogo', () => {
it('should ignore missing logos', () => {
- expect(getLogo({})).toEqual(null);
+ expect(getLogo({})).toEqual([]);
});
it('should unwrap service to ID', () => {
expect(
@@ -118,14 +118,23 @@ describe('api/iiif/descriptive', () => {
},
},
})
- ).toEqual('http://example.org/logos/institution1.jpg');
+ ).toEqual([
+ {
+ '@id': 'http://example.org/logos/institution1.jpg',
+ service: {
+ '@context': 'http://iiif.io/api/image/2/context.json',
+ '@id': 'http://example.org/service/inst1',
+ profile: 'http://iiif.io/api/image/2/level2.json',
+ },
+ },
+ ]);
expect(
getLogo({
logo: 'http://example.org/logos/institution1.jpg',
})
- ).toEqual('http://example.org/logos/institution1.jpg');
+ ).toEqual(['http://example.org/logos/institution1.jpg']);
});
- it('should return the first service', () => {
+ it('should return all images', () => {
expect(
getLogo({
logo: [
@@ -133,7 +142,10 @@ describe('api/iiif/descriptive', () => {
'http://example.org/logos/institution2.jpg',
],
})
- ).toEqual('http://example.org/logos/institution1.jpg');
+ ).toEqual([
+ 'http://example.org/logos/institution1.jpg',
+ 'http://example.org/logos/institution2.jpg',
+ ]);
expect(
getLogo({
logo: [
@@ -155,7 +167,24 @@ describe('api/iiif/descriptive', () => {
},
],
})
- ).toEqual('http://example.org/logos/institution1.jpg');
+ ).toEqual([
+ {
+ '@id': 'http://example.org/logos/institution1.jpg',
+ service: {
+ '@context': 'http://iiif.io/api/image/2/context.json',
+ '@id': 'http://example.org/service/inst1',
+ profile: 'http://iiif.io/api/image/2/level2.json',
+ },
+ },
+ {
+ '@id': 'http://example.org/logos/institution2.jpg',
+ service: {
+ '@context': 'http://iiif.io/api/image/2/context.json',
+ '@id': 'http://example.org/service/inst1',
+ profile: 'http://iiif.io/api/image/2/level2.json',
+ },
+ },
+ ]);
});
});
});
diff --git a/packages/iiif-redux/__tests__/api/2.x/image-resource/descriptive-test.js b/packages/iiif-redux/__tests__/api/2.x/image-resource/descriptive-test.js
index f1664913..bd946e3d 100644
--- a/packages/iiif-redux/__tests__/api/2.x/image-resource/descriptive-test.js
+++ b/packages/iiif-redux/__tests__/api/2.x/image-resource/descriptive-test.js
@@ -156,9 +156,9 @@ describe('api/2.x/imageResource/descriptive', () => {
describe('getLogo', () => {
it('should load logo from imageResource', () => {
- expect(getLogo(state)).toEqual(
- 'http://example.org/logos/institution1.jpg'
- );
+ expect(getLogo(state)).toEqual([
+ 'http://example.org/logos/institution1.jpg',
+ ]);
});
});
});
diff --git a/packages/iiif-redux/__tests__/api/2.x/manifest/descriptive-test.js b/packages/iiif-redux/__tests__/api/2.x/manifest/descriptive-test.js
index a22d2da9..68f407e8 100644
--- a/packages/iiif-redux/__tests__/api/2.x/manifest/descriptive-test.js
+++ b/packages/iiif-redux/__tests__/api/2.x/manifest/descriptive-test.js
@@ -152,9 +152,9 @@ describe('api/2.x/manifest/descriptive', () => {
describe('getLogo', () => {
it('should load logo from manifest', () => {
- expect(getLogo(state)).toEqual(
- 'http://example.org/logos/institution1.jpg'
- );
+ expect(getLogo(state)).toEqual([
+ 'http://example.org/logos/institution1.jpg',
+ ]);
});
});
});
diff --git a/packages/iiif-redux/__tests__/api/2.x/range/descriptive-test.js b/packages/iiif-redux/__tests__/api/2.x/range/descriptive-test.js
index 57cd2c64..fa49875b 100644
--- a/packages/iiif-redux/__tests__/api/2.x/range/descriptive-test.js
+++ b/packages/iiif-redux/__tests__/api/2.x/range/descriptive-test.js
@@ -151,9 +151,9 @@ describe('api/2.x/range/descriptive', () => {
describe('getLogo', () => {
it('should load logo from range', () => {
- expect(getLogo(state)).toEqual(
- 'http://example.org/logos/institution1.jpg'
- );
+ expect(getLogo(state)).toEqual([
+ 'http://example.org/logos/institution1.jpg',
+ ]);
});
});
});
diff --git a/packages/iiif-redux/__tests__/api/2.x/sequence/descriptive-test.js b/packages/iiif-redux/__tests__/api/2.x/sequence/descriptive-test.js
index fb9e8550..047e8896 100644
--- a/packages/iiif-redux/__tests__/api/2.x/sequence/descriptive-test.js
+++ b/packages/iiif-redux/__tests__/api/2.x/sequence/descriptive-test.js
@@ -153,9 +153,9 @@ describe('api/2.x/sequence/descriptive', () => {
describe('getLogo', () => {
it('should load logo from sequence', () => {
- expect(getLogo(state)).toEqual(
- 'http://example.org/logos/institution1.jpg'
- );
+ expect(getLogo(state)).toEqual([
+ 'http://example.org/logos/institution1.jpg',
+ ]);
});
});
});
diff --git a/packages/iiif-redux/package.json b/packages/iiif-redux/package.json
index 11c51c12..b1452735 100644
--- a/packages/iiif-redux/package.json
+++ b/packages/iiif-redux/package.json
@@ -32,6 +32,7 @@
"redux": "^4.0.0",
"redux-actions": "^2.3.0",
"redux-saga": "^0.16.0",
+ "redux-thunk": "^2.3.0",
"reselect": "^4.0.0",
"striptags": "^3.1.1",
"traverse": "^0.6.6",
diff --git a/packages/iiif-redux/src/api/2.x/annotation-list.js b/packages/iiif-redux/src/api/2.x/annotation-list.js
index 938b1de2..e8b80285 100644
--- a/packages/iiif-redux/src/api/2.x/annotation-list.js
+++ b/packages/iiif-redux/src/api/2.x/annotation-list.js
@@ -13,6 +13,7 @@ import {
import * as linking from './iiif/linking';
import * as paging from './iiif/paging';
import * as structural from './iiif/structural';
+import { standardFieldMappingFactory } from '../../utility/new/standardFieldMappingFactory';
const annotationList = memoize(selector => {
/**************************************************
@@ -50,7 +51,14 @@ const annotationList = memoize(selector => {
const getAttribution = createSelector(selector, descriptive.getAttribution);
- const getLogo = createSelector(selector, descriptive.getLogo);
+ const getLogoIds = createSelector(selector, descriptive.getLogo);
+ const getLogo = createSelector(
+ getLogoIds,
+ getAllImages,
+ (logoIds, allImages) => {
+ return logoIds.map(logoId => allImages[logoId] || logoId);
+ }
+ );
const getLicense = createSelector(selector, descriptive.getLicense);
@@ -166,6 +174,7 @@ const annotationList = memoize(selector => {
getDescription,
getMetadata,
getAttribution,
+ getLogoIds,
getLogo,
getLicense,
getThumbnail,
@@ -198,4 +207,6 @@ const annotationList = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(annotationList);
+
export default annotationList;
diff --git a/packages/iiif-redux/src/api/2.x/annotation.js b/packages/iiif-redux/src/api/2.x/annotation.js
index cb14af0b..797c53ee 100644
--- a/packages/iiif-redux/src/api/2.x/annotation.js
+++ b/packages/iiif-redux/src/api/2.x/annotation.js
@@ -12,6 +12,7 @@ import {
} from '../all';
import * as linking from './iiif/linking';
import { isImageService } from '../../constants/services';
+import { standardFieldMappingFactory } from '../../utility/new/standardFieldMappingFactory';
const annotation = memoize(selector => {
/**************************************************
* Technical properties
@@ -51,7 +52,14 @@ const annotation = memoize(selector => {
const getAttribution = createSelector(selector, descriptive.getAttribution);
- const getLogo = createSelector(selector, descriptive.getLogo);
+ const getLogoIds = createSelector(selector, descriptive.getLogo);
+ const getLogo = createSelector(
+ getLogoIds,
+ getAllImages,
+ (logoIds, allImages) => {
+ return logoIds.map(logoId => allImages[logoId] || logoId);
+ }
+ );
const getLicense = createSelector(selector, descriptive.getLicense);
@@ -169,6 +177,7 @@ const annotation = memoize(selector => {
getThumbnail,
getAttribution,
getLicense,
+ getLogoIds,
getLogo,
// Linking
getSeeAlso,
@@ -192,4 +201,6 @@ const annotation = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(annotation);
+
export default annotation;
diff --git a/packages/iiif-redux/src/api/2.x/canvas.js b/packages/iiif-redux/src/api/2.x/canvas.js
index de42f6eb..2cc37d4b 100644
--- a/packages/iiif-redux/src/api/2.x/canvas.js
+++ b/packages/iiif-redux/src/api/2.x/canvas.js
@@ -13,6 +13,7 @@ import {
getAllServices,
} from '../all';
import { isImageService } from '../../constants/services';
+import { standardFieldMappingFactory } from '../../utility/new/standardFieldMappingFactory';
const canvas = memoize(selector => {
/**************************************************
@@ -56,7 +57,14 @@ const canvas = memoize(selector => {
const getAttribution = createSelector(selector, descriptive.getAttribution);
- const getLogo = createSelector(selector, descriptive.getLogo);
+ const getLogoIds = createSelector(selector, descriptive.getLogo);
+ const getLogo = createSelector(
+ getLogoIds,
+ getAllImages,
+ (logoIds, allImages) => {
+ return logoIds.map(logoId => allImages[logoId] || logoId);
+ }
+ );
const getLicense = createSelector(selector, descriptive.getLicense);
@@ -200,6 +208,7 @@ const canvas = memoize(selector => {
getThumbnail,
getAttribution,
getLicense,
+ getLogoIds,
getLogo,
// Linking
getWithinIds,
@@ -222,4 +231,6 @@ const canvas = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(canvas);
+
export default canvas;
diff --git a/packages/iiif-redux/src/api/2.x/collection.js b/packages/iiif-redux/src/api/2.x/collection.js
index 067265cc..117ffe7d 100644
--- a/packages/iiif-redux/src/api/2.x/collection.js
+++ b/packages/iiif-redux/src/api/2.x/collection.js
@@ -16,6 +16,7 @@ import {
} from '../all';
import mapById from '../../utility/mapById';
import mapAllById from '../../utility/mapAllById';
+import { standardFieldMappingFactory } from '../../utility/new/standardFieldMappingFactory';
const collection = memoize(selector => {
/**************************************************
@@ -53,7 +54,14 @@ const collection = memoize(selector => {
const getAttribution = createSelector(selector, descriptive.getAttribution);
- const getLogo = createSelector(selector, descriptive.getLogo);
+ const getLogoIds = createSelector(selector, descriptive.getLogo);
+ const getLogo = createSelector(
+ getLogoIds,
+ getAllImages,
+ (logoIds, allImages) => {
+ return logoIds.map(logoId => allImages[logoId] || logoId);
+ }
+ );
const getLicense = createSelector(selector, descriptive.getLicense);
@@ -186,6 +194,8 @@ const collection = memoize(selector => {
}
)
);
+ const getItemIds = getMemberIds;
+ const getItems = getMembers;
return {
// Technical
@@ -198,6 +208,7 @@ const collection = memoize(selector => {
getDescription,
getMetadata,
getAttribution,
+ getLogoIds,
getLogo,
getLicense,
getThumbnailId,
@@ -234,7 +245,11 @@ const collection = memoize(selector => {
getOtherContentIds,
getOtherContent,
// Other
+ getItemIds,
+ getItems,
};
});
+export const mappings = standardFieldMappingFactory(collection);
+
export default collection;
diff --git a/packages/iiif-redux/src/api/2.x/external-resource.js b/packages/iiif-redux/src/api/2.x/external-resource.js
index d3c51ee5..b12218c8 100644
--- a/packages/iiif-redux/src/api/2.x/external-resource.js
+++ b/packages/iiif-redux/src/api/2.x/external-resource.js
@@ -9,6 +9,7 @@ import {
getAllLayers,
getAllServices,
} from '../all';
+import { standardFieldMappingFactory } from '../../../es/utility/new/standardFieldMappingFactory';
const externalResource = memoize(selector => {
/**************************************************
@@ -55,7 +56,14 @@ const externalResource = memoize(selector => {
const getAttribution = createSelector(selector, descriptive.getAttribution);
- const getLogo = createSelector(selector, descriptive.getLogo);
+ const getLogoIds = createSelector(selector, descriptive.getLogo);
+ const getLogo = createSelector(
+ getLogoIds,
+ getAllImages,
+ (logoIds, allImages) => {
+ return logoIds.map(logoId => allImages[logoId] || logoId);
+ }
+ );
const getLicense = createSelector(selector, descriptive.getLicense);
@@ -138,6 +146,7 @@ const externalResource = memoize(selector => {
getDescription,
getMetadata,
getAttribution,
+ getLogoIds,
getLogo,
getLicense,
getThumbnail,
@@ -156,4 +165,6 @@ const externalResource = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(externalResource);
+
export default externalResource;
diff --git a/packages/iiif-redux/src/api/2.x/iiif/descriptive.js b/packages/iiif-redux/src/api/2.x/iiif/descriptive.js
index 48abe4de..16c99b31 100644
--- a/packages/iiif-redux/src/api/2.x/iiif/descriptive.js
+++ b/packages/iiif-redux/src/api/2.x/iiif/descriptive.js
@@ -26,12 +26,12 @@ const getLicense = resource => {
const getLogo = resource => {
if (!resource.logo) {
- return null;
+ return [];
}
if (Array.isArray(resource.logo)) {
- return resource.logo[0]['@id'] || resource.logo[0];
+ return resource.logo;
}
- return resource.logo['@id'] || resource.logo;
+ return [resource.logo];
};
export {
diff --git a/packages/iiif-redux/src/api/2.x/image-resource.js b/packages/iiif-redux/src/api/2.x/image-resource.js
index 8b0dbe19..ea4974f0 100644
--- a/packages/iiif-redux/src/api/2.x/image-resource.js
+++ b/packages/iiif-redux/src/api/2.x/image-resource.js
@@ -9,6 +9,7 @@ import {
getAllLayers,
getAllServices,
} from '../all';
+import { standardFieldMappingFactory } from '../../../es/utility/new/standardFieldMappingFactory';
const imageResource = memoize(selector => {
/**************************************************
@@ -55,7 +56,14 @@ const imageResource = memoize(selector => {
const getAttribution = createSelector(selector, descriptive.getAttribution);
- const getLogo = createSelector(selector, descriptive.getLogo);
+ const getLogoIds = createSelector(selector, descriptive.getLogo);
+ const getLogo = createSelector(
+ getLogoIds,
+ getAllImages,
+ (logoIds, allImages) => {
+ return logoIds.map(logoId => allImages[logoId] || logoId);
+ }
+ );
const getLicense = createSelector(selector, descriptive.getLicense);
@@ -138,6 +146,7 @@ const imageResource = memoize(selector => {
getDescription,
getMetadata,
getAttribution,
+ getLogoIds,
getLogo,
getLicense,
getThumbnail,
@@ -156,4 +165,6 @@ const imageResource = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(imageResource);
+
export default imageResource;
diff --git a/packages/iiif-redux/src/api/2.x/index.js b/packages/iiif-redux/src/api/2.x/index.js
new file mode 100644
index 00000000..d5021a2b
--- /dev/null
+++ b/packages/iiif-redux/src/api/2.x/index.js
@@ -0,0 +1,44 @@
+import annotationList, {
+ mappings as annotationListMapping,
+} from './annotation-list';
+import annotation, { mappings as annotationMapping } from './annotation';
+import canvas, { mappings as canvasMapping } from './canvas';
+import collection, { mappings as collectionMapping } from './collection';
+import externalResource, {
+ mappings as externalResourceMapping,
+} from './external-resource';
+import imageResource, {
+ mappings as imageResourceMapping,
+} from './image-resource';
+import manifest, { mappings as manifestMapping } from './manifest';
+import range, { mappings as rangeMapping } from './range';
+import sequence, { mappings as sequenceMapping } from './sequence';
+
+export const mappings = {
+ annotationList: annotationListMapping,
+ annotation: annotationMapping,
+ canvas: canvasMapping,
+ collection: collectionMapping,
+ externalResource: externalResourceMapping,
+ imageResource: imageResourceMapping,
+ manifest: manifestMapping,
+ range: rangeMapping,
+ sequence: sequenceMapping,
+
+ // Aliases.
+ annotationPage: annotationListMapping,
+ contentResources: imageResourceMapping, // @todo change when image/external get merged.
+};
+
+export {
+ annotationCollection,
+ annotationList,
+ annotation,
+ canvas,
+ collection,
+ externalResource,
+ imageResource,
+ manifest,
+ range,
+ sequence,
+};
diff --git a/packages/iiif-redux/src/api/2.x/manifest.js b/packages/iiif-redux/src/api/2.x/manifest.js
index 2829cd12..6cc00f1a 100644
--- a/packages/iiif-redux/src/api/2.x/manifest.js
+++ b/packages/iiif-redux/src/api/2.x/manifest.js
@@ -14,6 +14,7 @@ import {
} from '../all';
import * as linking from './iiif/linking';
import * as structural from './iiif/structural';
+import { standardFieldMappingFactory } from '../../utility/new/standardFieldMappingFactory';
const manifest = memoize(selector => {
/**************************************************
@@ -59,7 +60,15 @@ const manifest = memoize(selector => {
const getMetadata = createSelector(selector, descriptive.getMetadata);
const getAttribution = createSelector(selector, descriptive.getAttribution);
- const getLogo = createSelector(selector, descriptive.getLogo);
+
+ const getLogoIds = createSelector(selector, descriptive.getLogo);
+ const getLogo = createSelector(
+ getLogoIds,
+ getAllImages,
+ (logoIds, allImages) => {
+ return logoIds.map(logoId => allImages[logoId] || logoId);
+ }
+ );
const getLicense = createSelector(selector, descriptive.getLicense);
@@ -196,6 +205,7 @@ const manifest = memoize(selector => {
getDescription,
getMetadata,
getAttribution,
+ getLogoIds,
getLogo,
getLicense,
getThumbnailId,
@@ -225,4 +235,6 @@ const manifest = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(manifest);
+
export default manifest;
diff --git a/packages/iiif-redux/src/api/2.x/range.js b/packages/iiif-redux/src/api/2.x/range.js
index 27f24b9d..c4d428f4 100644
--- a/packages/iiif-redux/src/api/2.x/range.js
+++ b/packages/iiif-redux/src/api/2.x/range.js
@@ -12,6 +12,7 @@ import { createSelector } from 'reselect';
import * as descriptive from './iiif/descriptive';
import * as linking from './iiif/linking';
import * as structural from './iiif/structural';
+import { standardFieldMappingFactory } from '../../../es/utility/new/standardFieldMappingFactory';
const range = memoize(selector => {
/**************************************************
@@ -60,7 +61,14 @@ const range = memoize(selector => {
const getAttribution = createSelector(selector, descriptive.getAttribution);
- const getLogo = createSelector(selector, descriptive.getLogo);
+ const getLogoIds = createSelector(selector, descriptive.getLogo);
+ const getLogo = createSelector(
+ getLogoIds,
+ getAllImages,
+ (logoIds, allImages) => {
+ return logoIds.map(logoId => allImages[logoId] || logoId);
+ }
+ );
const getLicense = createSelector(selector, descriptive.getLicense);
@@ -195,6 +203,7 @@ const range = memoize(selector => {
getThumbnailId,
getAttribution,
getLicense,
+ getLogoIds,
getLogo,
// linking.
@@ -221,4 +230,6 @@ const range = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(range);
+
export default range;
diff --git a/packages/iiif-redux/src/api/2.x/sequence.js b/packages/iiif-redux/src/api/2.x/sequence.js
index c45d1a72..48585369 100644
--- a/packages/iiif-redux/src/api/2.x/sequence.js
+++ b/packages/iiif-redux/src/api/2.x/sequence.js
@@ -12,6 +12,7 @@ import {
getAllCanvases,
getAllImages,
} from '../all';
+import { standardFieldMappingFactory } from '../../../es/utility/new/standardFieldMappingFactory';
const sequence = memoize(selector => {
/**************************************************
@@ -59,7 +60,14 @@ const sequence = memoize(selector => {
const getAttribution = createSelector(selector, descriptive.getAttribution);
- const getLogo = createSelector(selector, descriptive.getLogo);
+ const getLogoIds = createSelector(selector, descriptive.getLogo);
+ const getLogo = createSelector(
+ getLogoIds,
+ getAllImages,
+ (logoIds, allImages) => {
+ return logoIds.map(logoId => allImages[logoId] || logoId);
+ }
+ );
const getLicense = createSelector(selector, descriptive.getLicense);
@@ -154,6 +162,7 @@ const sequence = memoize(selector => {
getDescription,
getMetadata,
getAttribution,
+ getLogoIds,
getLogo,
getLicense,
getThumbnailId,
@@ -177,4 +186,6 @@ const sequence = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(sequence);
+
export default sequence;
diff --git a/packages/iiif-redux/src/api/3.x/annotation-collection.js b/packages/iiif-redux/src/api/3.x/annotation-collection.js
index cbf90044..9f3a8356 100644
--- a/packages/iiif-redux/src/api/3.x/annotation-collection.js
+++ b/packages/iiif-redux/src/api/3.x/annotation-collection.js
@@ -12,6 +12,7 @@ import {
import mapByIdOrId from '../../utility/mapByIdOrId';
import mapAllResources from '../../utility/mapAllResources';
import mapAllById from '../../utility/mapAllById';
+import { standardFieldMappingFactory } from '../../utility/new/standardFieldMappingFactory';
const annotationCollection = memoize(selector => {
/**
@@ -138,4 +139,6 @@ const annotationCollection = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(annotationCollection);
+
export default annotationCollection;
diff --git a/packages/iiif-redux/src/api/3.x/annotation-page.js b/packages/iiif-redux/src/api/3.x/annotation-page.js
index fcdb1178..463ce494 100644
--- a/packages/iiif-redux/src/api/3.x/annotation-page.js
+++ b/packages/iiif-redux/src/api/3.x/annotation-page.js
@@ -14,6 +14,7 @@ import {
import mapByIdOrId from '../../utility/mapByIdOrId';
import mapAllResources from '../../utility/mapAllResources';
import mapAllById from '../../utility/mapAllById';
+import { standardFieldMappingFactory } from '../../../es/utility/new/standardFieldMappingFactory';
const annotationPage = memoize(selector => {
/**
@@ -154,4 +155,6 @@ const annotationPage = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(annotationPage);
+
export default annotationPage;
diff --git a/packages/iiif-redux/src/api/3.x/annotation.js b/packages/iiif-redux/src/api/3.x/annotation.js
index 2fe93702..9b6fc161 100644
--- a/packages/iiif-redux/src/api/3.x/annotation.js
+++ b/packages/iiif-redux/src/api/3.x/annotation.js
@@ -15,6 +15,7 @@ import mapByIdOrId from '../../utility/mapByIdOrId';
import mapAllResources from '../../utility/mapAllResources';
import mapAllById from '../../utility/mapAllById';
import mapAllByIdOrId from '../../utility/mapAllByIdOrId';
+import { standardFieldMappingFactory } from '../../../es/utility/new/standardFieldMappingFactory';
const annotation = memoize(selector => {
/**
@@ -167,4 +168,6 @@ const annotation = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(annotation);
+
export default annotation;
diff --git a/packages/iiif-redux/src/api/3.x/canvas.js b/packages/iiif-redux/src/api/3.x/canvas.js
index 337db57d..68a1d48d 100644
--- a/packages/iiif-redux/src/api/3.x/canvas.js
+++ b/packages/iiif-redux/src/api/3.x/canvas.js
@@ -15,6 +15,7 @@ import {
import mapByIdOrId from '../../utility/mapByIdOrId';
import mapAllResources from '../../utility/mapAllResources';
import mapAllById from '../../utility/mapAllById';
+import { standardFieldMappingFactory } from '../../utility/new/standardFieldMappingFactory';
const canvas = memoize(selector => {
/**
@@ -195,4 +196,6 @@ const canvas = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(canvas);
+
export default canvas;
diff --git a/packages/iiif-redux/src/api/3.x/collection.js b/packages/iiif-redux/src/api/3.x/collection.js
index 74118a22..2fefa405 100644
--- a/packages/iiif-redux/src/api/3.x/collection.js
+++ b/packages/iiif-redux/src/api/3.x/collection.js
@@ -17,6 +17,7 @@ import mapById from '../../utility/mapById';
import mapAllById from '../../utility/mapAllById';
import mapAllResources from '../../utility/mapAllResources';
import mapByIdOrId from '../../utility/mapByIdOrId';
+import { standardFieldMappingFactory } from '../../../es/utility/new/standardFieldMappingFactory';
const collection = memoize(selector => {
/**
@@ -219,4 +220,6 @@ const collection = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(collection);
+
export default collection;
diff --git a/packages/iiif-redux/src/api/3.x/content-resource.js b/packages/iiif-redux/src/api/3.x/content-resource.js
index ecf79658..084648d6 100644
--- a/packages/iiif-redux/src/api/3.x/content-resource.js
+++ b/packages/iiif-redux/src/api/3.x/content-resource.js
@@ -14,8 +14,9 @@ import {
import mapByIdOrId from '../../utility/mapByIdOrId';
import mapAllResources from '../../utility/mapAllResources';
import mapAllById from '../../utility/mapAllById';
+import { standardFieldMappingFactory } from '../../../es/utility/new/standardFieldMappingFactory';
-const canvas = memoize(selector => {
+const contentResource = memoize(selector => {
/**
* Technical properties
*
@@ -176,4 +177,6 @@ const canvas = memoize(selector => {
};
});
-export default canvas;
+export const mappings = standardFieldMappingFactory(contentResource);
+
+export default contentResource;
diff --git a/packages/iiif-redux/src/api/3.x/index.js b/packages/iiif-redux/src/api/3.x/index.js
new file mode 100644
index 00000000..7aa9326b
--- /dev/null
+++ b/packages/iiif-redux/src/api/3.x/index.js
@@ -0,0 +1,36 @@
+import annotationCollection, {
+ mappings as annotationCollectionMapping,
+} from './annotation-collection';
+import annotationPage, {
+ mappings as annotationPageMapping,
+} from './annotation-page';
+import annotation, { mappings as annotationMapping } from './annotation';
+import canvas, { mappings as canvasMapping } from './canvas';
+import collection, { mappings as collectionMapping } from './collection';
+import contentResource, {
+ mappings as contentResourceMapping,
+} from './content-resource';
+import manifest, { mappings as manifestMapping } from './manifest';
+import range, { mappings as rangeMapping } from './range';
+
+export const mappings = {
+ annotationCollection: annotationCollectionMapping,
+ annotationPage: annotationPageMapping,
+ annotation: annotationMapping,
+ canvas: canvasMapping,
+ collection: collectionMapping,
+ contentResource: contentResourceMapping,
+ manifest: manifestMapping,
+ range: rangeMapping,
+};
+
+export {
+ annotationCollection,
+ annotationPage,
+ annotation,
+ canvas,
+ collection,
+ contentResource,
+ manifest,
+ range,
+};
diff --git a/packages/iiif-redux/src/api/3.x/manifest.js b/packages/iiif-redux/src/api/3.x/manifest.js
index 8541553f..878728c8 100644
--- a/packages/iiif-redux/src/api/3.x/manifest.js
+++ b/packages/iiif-redux/src/api/3.x/manifest.js
@@ -17,6 +17,7 @@ import {
import mapByIdOrId from '../../utility/mapByIdOrId';
import mapAllResources from '../../utility/mapAllResources';
import mapAllById from '../../utility/mapAllById';
+import { standardFieldMappingFactory } from '../../../es/utility/new/standardFieldMappingFactory';
const manifest = memoize(selector => {
/**
@@ -216,4 +217,6 @@ const manifest = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(manifest);
+
export default manifest;
diff --git a/packages/iiif-redux/src/api/3.x/range.js b/packages/iiif-redux/src/api/3.x/range.js
index 13d225d0..948dd029 100644
--- a/packages/iiif-redux/src/api/3.x/range.js
+++ b/packages/iiif-redux/src/api/3.x/range.js
@@ -20,6 +20,7 @@ import {
import mapByIdOrId from '../../utility/mapByIdOrId';
import mapAllResources from '../../utility/mapAllResources';
import mapAllById from '../../utility/mapAllById';
+import { standardFieldMappingFactory } from '../../../es/utility/new/standardFieldMappingFactory';
const range = memoize(selector => {
/**
@@ -255,4 +256,6 @@ const range = memoize(selector => {
};
});
+export const mappings = standardFieldMappingFactory(range);
+
export default range;
diff --git a/packages/iiif-redux/src/createStore.js b/packages/iiif-redux/src/createStore.js
index 6752b58e..de15b995 100644
--- a/packages/iiif-redux/src/createStore.js
+++ b/packages/iiif-redux/src/createStore.js
@@ -1,9 +1,20 @@
import { createStore, applyMiddleware, combineReducers, compose } from 'redux';
import createSagaMiddleware from 'redux-saga';
+import thunk from 'redux-thunk';
import * as reducers from './reducers';
import sagas from './sagas';
-const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
+function getWindow() {
+ try {
+ return window;
+ } catch (err) {
+ return null;
+ }
+}
+
+const composeEnhancers = getWindow()
+ ? getWindow().__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose
+ : compose;
export default function createCustomStore(
customReducers = {},
@@ -16,7 +27,7 @@ export default function createCustomStore(
const store = createStore(
combineReducers(reducers),
defaultState,
- composeEnhancers(applyMiddleware(sagaMiddleware, ...extraMiddleware))
+ composeEnhancers(applyMiddleware(sagaMiddleware, thunk, ...extraMiddleware))
);
sagas.map(saga => sagaMiddleware.run(saga));
diff --git a/packages/iiif-redux/src/spaces/iiif-resource.js b/packages/iiif-redux/src/spaces/iiif-resource.js
index f92c9d3c..882003ba 100644
--- a/packages/iiif-redux/src/spaces/iiif-resource.js
+++ b/packages/iiif-redux/src/spaces/iiif-resource.js
@@ -87,6 +87,42 @@ const DEFAULT_STATE = {
},
};
+const asyncAction = action => (...args) => dispatch => {
+ return new Promise((resolve, reject) => {
+ const actionData = action(...args);
+ const newActionPayload = {
+ ...actionData,
+ meta: {
+ ...(actionData.meta || {}),
+ resolve: a => {
+ console.log(a);
+ resolve(a);
+ },
+ reject,
+ },
+ };
+ dispatch(newActionPayload);
+ });
+};
+
+const chainAsyncAction = (action, { resolve, reject }) => (
+ ...args
+) => dispatch => {
+ const actionData = action(...args);
+ const newActionPayload = {
+ ...actionData,
+ meta: {
+ ...(actionData.meta || {}),
+ resolve: a => {
+ console.log(a);
+ resolve(a);
+ },
+ reject,
+ },
+ };
+ dispatch(newActionPayload);
+};
+
const resourceReducer = handleActions(
{
[iiifResourceSuccess]: (state, { payload: { normalizedResponse } }) =>
@@ -148,11 +184,14 @@ async function requestResource(resourceId, options) {
return fetch(resourceId).then(resp => resp.json());
}
-function* errorAction(type, resourceId, error) {
+function* errorAction(type, resourceId, error, meta) {
yield put(iiifResourceError(resourceId, error));
if (type) {
yield put({ type, payload: { resourceId, error } });
}
+ if (meta && meta.reject) {
+ meta.reject({ resourceId, error });
+ }
}
function* successAction(type, resourceId, normalizedResponse) {
@@ -160,15 +199,17 @@ function* successAction(type, resourceId, normalizedResponse) {
yield put({ type, payload: { resourceId, normalizedResponse } });
}
-function* requestIiifResource({ payload }) {
+function* requestIiifResource({ payload, meta = {} }) {
const { resourceId, types, ...options } = payload;
if (types.length !== 3 && process.env.NODE_ENV !== 'production') {
yield call(
errorAction,
null,
resourceId,
- 'DEV ERROR: You must pass in exactly 3 action types'
+ 'DEV ERROR: You must pass in exactly 3 action types',
+ meta
);
+ return;
}
const [REQUEST, SUCCESS, ERROR] = types;
@@ -178,7 +219,8 @@ function* requestIiifResource({ payload }) {
errorAction,
ERROR,
resourceId,
- 'Resource is not a valid Web URI.'
+ 'Resource is not a valid Web URI.',
+ meta
);
return;
}
@@ -192,7 +234,9 @@ function* requestIiifResource({ payload }) {
false /*&& options.forceFresh === false*/
) {
debug('Skipping fetch for resource %s using cache.', resourceId);
-
+ if (meta.resolve) {
+ meta.resolve({ id: resourceId });
+ }
return;
}
@@ -210,9 +254,12 @@ function* requestIiifResource({ payload }) {
debug('Finished normalize resource %s', result.id);
yield call(successAction, SUCCESS, result.id, entities);
+ if (meta.resolve) {
+ meta.resolve(result);
+ }
} catch (err) {
debug('Error: %O', err);
- yield call(errorAction, ERROR, resourceId, err);
+ yield call(errorAction, ERROR, resourceId, err, meta);
}
}
@@ -288,6 +335,7 @@ function* getPresentation3ResourceType(resourceId, response) {
function* requestUnknownResource({
payload: { resourceId, mappings, ...options },
+ meta = {},
}) {
if (!validUrl.isWebUri(resourceId)) {
yield put(iiifResourceError(resourceId, 'Resource is not a valid URL.'));
@@ -299,26 +347,24 @@ function* requestUnknownResource({
debug('Fetching unknown resource %s', resourceId);
const response = yield call(requestResource, resourceId, options);
if (!response) {
- yield put(
- iiifResourceError(
- resourceId,
- new Error('Resource cannot be null or undefined')
- )
- );
+ const errorMessage = 'Resource cannot be null or undefined';
+ yield put(iiifResourceError(resourceId, new Error(errorMessage)));
+ if (meta.reject) {
+ meta.reject({ error: errorMessage });
+ }
return;
}
const type = yield call(getResourceType, resourceId, response);
if (!mappings[type]) {
- yield put(
- iiifResourceError(
- resourceId,
- `Resource type is not in configured mappings (${Object.keys(
- mappings
- ).join(', ')})`
- )
- );
+ const errorMessage = `Resource type is not in configured mappings (${Object.keys(
+ mappings
+ ).join(', ')})`;
+ yield put(iiifResourceError(resourceId, errorMessage));
+ if (meta.reject) {
+ meta.reject({ resourceId, error: errorMessage });
+ }
return;
}
@@ -326,9 +372,17 @@ function* requestUnknownResource({
const [REQUEST, SUCCESS, ERROR] = mappings[type];
// 4) Send to regular import (will be cached).
- yield put(iiifResourceRequest(resourceId, [REQUEST, SUCCESS, ERROR]));
+ if (meta.resolve) {
+ const action = chainAsyncAction(iiifResourceRequest, meta);
+ yield put(action(resourceId, [REQUEST, SUCCESS, ERROR]));
+ } else {
+ yield put(iiifResourceRequest(resourceId, [REQUEST, SUCCESS, ERROR]));
+ }
} catch (err) {
yield put(iiifResourceError(resourceId, err.message));
+ if (meta.reject) {
+ meta.reject({ resourceId, error: err.message });
+ }
}
}
@@ -339,12 +393,17 @@ function* saga() {
]);
}
+const iiifResourceRequestAsync = asyncAction(iiifResourceRequest);
+const iiifResourceRequestUnknownAsync = asyncAction(iiifResourceRequestUnknown);
+
export {
saga,
resourceReducer,
dereferencedReducer,
iiifResourceRequest,
iiifResourceRequestUnknown,
+ iiifResourceRequestAsync,
+ iiifResourceRequestUnknownAsync,
DEFAULT_STATE,
IIIF_RESOURCE_REQUEST,
IIIF_RESOURCE_SUCCESS,
diff --git a/packages/iiif-redux/src/utility/new/standardFieldMappingFactory.js b/packages/iiif-redux/src/utility/new/standardFieldMappingFactory.js
new file mode 100644
index 00000000..eb78ab61
--- /dev/null
+++ b/packages/iiif-redux/src/utility/new/standardFieldMappingFactory.js
@@ -0,0 +1,122 @@
+import memoize from 'lodash.memoize';
+
+function optional(func, msg) {
+ if (func) return func;
+ return () => {
+ throw new Error(msg);
+ };
+}
+
+function nullable(func) {
+ if (func) return func;
+ return () => null;
+}
+
+function fallbacks(options) {
+ // Find first non-null option.
+ return options.find(Boolean);
+}
+
+function alias(from, to, obj) {
+ obj[to] = obj[from];
+}
+
+export function standardFieldMappingFactory(apiFactory, aliases = true) {
+ return memoize(selector => {
+ const api = apiFactory(selector);
+
+ const fieldMapping = {
+ // Technical properties.
+ id: api.getId,
+ type: api.getType,
+ format: optional(api.getFormat),
+ profile: optional(api.getProfile),
+ height: optional(api.getHeight),
+ width: optional(api.getWidth),
+ height: optional(api.getHeight),
+ duration: optional(api.getDuration),
+ viewingDirection: optional(api.getViewingDirection),
+ behaviour: optional(api.getBehaviour),
+ timeMode: optional(api.getTimeMode),
+ // Descriptive properties.
+ label: api.getLabel,
+ metadata: api.getMetadata,
+ summary: fallbacks([api.getSummary, api.getDescription]),
+ thumbnailId: api.getThumbnailId,
+ thumbnail: api.getThumbnail,
+ posterCanvas: optional(api.getPosterCanvas),
+ requiredStatement: fallbacks([
+ api.getRequiredStatement,
+ api.getAttribution,
+ ]),
+ rights: fallbacks([api.getRights, api.getLicense]),
+ navDate: optional(api.getNavDate),
+ language: optional(api.getLanguage),
+ // Linking properties
+ seeAlsoIds: api.getSeeAlsoIds,
+ seeAlso: api.getSeeAlso,
+ serviceIds: api.getServiceIds,
+ service: api.getService,
+ logoId: api.getLogoIds,
+ logo: api.getLogo,
+ homepageIds: fallbacks([api.getHomepageId, api.getRelatedIds]),
+ homepage: fallbacks([api.getHomepage, api.getRelated]),
+ renderingIds: api.getRenderingIds,
+ rendering: api.getRendering,
+ partOfId: fallbacks([api.getPartOfId, api.getWithinIds]),
+ partOf: fallbacks([api.getPartOf, api.getWithin]),
+ startId: optional(fallbacks([api.getStartId, api.getStartCanvasId])),
+ start: optional(fallbacks([api.getStart, api.getStartCanvas])),
+ supplementary: nullable(api.getSupplementary), // No equivelent in Presentation 2.
+ // Structural.
+ itemIds: optional(
+ fallbacks([
+ api.getItems,
+ api.getMembers,
+ api.getSequences,
+ api.getCanvases,
+ api.getResources,
+ api.getImages,
+ api.getRanges,
+ ])
+ ),
+ items: optional(
+ fallbacks([
+ api.getItems,
+ api.getMembers,
+ api.getSequences,
+ api.getCanvases,
+ api.getResources,
+ api.getImages,
+ api.getRanges,
+ ])
+ ),
+ // Part of the core API, as items isn't as descriptive.
+ collectionIds: optional(api.getCollectionIds),
+ collections: optional(api.getCollections),
+ manifestIds: optional(api.getManifestIds),
+ manifests: optional(api.getManifests),
+ canvasIds: optional(api.getCanvasIds),
+ canvases: optional(api.getCanvases),
+
+ structreIds: optional(fallbacks([api.getStructureIds, api.getRangeIds])),
+ structures: optional(fallbacks([api.getStructures, api.getRanges])),
+ // This may conflict (painting vs non-painting between 2.x to 3.x)
+ annotationIds: optional(api.getAnnotationIds),
+ annotations: optional(api.getAnnotations),
+ };
+
+ if (aliases) {
+ // QoL aliases.
+ alias('service', 'services', fieldMapping);
+ alias('rights', 'license', fieldMapping);
+ alias('rights', 'licence', fieldMapping);
+ alias('homepage', 'homepages', fieldMapping);
+ alias('rendering', 'renderings', fieldMapping);
+ alias('structures', 'ranges', fieldMapping);
+ alias('structureIds', 'rangeIds', fieldMapping);
+ }
+
+ return fieldMapping;
+ });
+}
diff --git a/yarn.lock b/yarn.lock
index 288a462b..88d8860a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -13,6 +13,18 @@
version "1.1.15"
resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-1.1.15.tgz#2ff689b87bb160c246a07adaa99cdb1c8dfd4412"
+"@apollographql/apollo-upload-server@^5.0.3":
+ version "5.0.3"
+ resolved "https://registry.yarnpkg.com/@apollographql/apollo-upload-server/-/apollo-upload-server-5.0.3.tgz#8558c378ff6457de82147e5072c96a6b242773b7"
+ dependencies:
+ "@babel/runtime-corejs2" "^7.0.0-rc.1"
+ busboy "^0.2.14"
+ object-path "^0.11.4"
+
+"@apollographql/graphql-playground-html@^1.6.0":
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.0.tgz#15e1a042b97d6834e6d70b17cc73e1514fde9027"
+
"@babel/code-frame@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.0.0.tgz#06e2ab19bdb535385559aabb5ba59729482800f8"
@@ -25,6 +37,25 @@
dependencies:
"@babel/highlight" "7.0.0-beta.44"
+"@babel/core@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.1.2.tgz#f8d2a9ceb6832887329a7b60f9d035791400ba4e"
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/generator" "^7.1.2"
+ "@babel/helpers" "^7.1.2"
+ "@babel/parser" "^7.1.2"
+ "@babel/template" "^7.1.2"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.1.2"
+ convert-source-map "^1.1.0"
+ debug "^3.1.0"
+ json5 "^0.5.0"
+ lodash "^4.17.10"
+ resolve "^1.3.2"
+ semver "^5.4.1"
+ source-map "^0.5.0"
+
"@babel/generator@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.0.0.tgz#1efd58bffa951dc846449e58ce3a1d7f02d393aa"
@@ -35,6 +66,52 @@
source-map "^0.5.0"
trim-right "^1.0.1"
+"@babel/generator@^7.1.2", "@babel/generator@^7.1.3":
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.1.3.tgz#2103ec9c42d9bdad9190a6ad5ff2d456fd7b8673"
+ dependencies:
+ "@babel/types" "^7.1.3"
+ jsesc "^2.5.1"
+ lodash "^4.17.10"
+ source-map "^0.5.0"
+ trim-right "^1.0.1"
+
+"@babel/helper-annotate-as-pure@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32"
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f"
+ dependencies:
+ "@babel/helper-explode-assignable-expression" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-call-delegate@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.1.0.tgz#6a957f105f37755e8645343d3038a22e1449cc4a"
+ dependencies:
+ "@babel/helper-hoist-variables" "^7.0.0"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@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"
+ dependencies:
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/types" "^7.0.0"
+ lodash "^4.17.10"
+
+"@babel/helper-explode-assignable-expression@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6"
+ dependencies:
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
"@babel/helper-function-name@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.0.0.tgz#a68cc8d04420ccc663dd258f9cc41b8261efa2d4"
@@ -43,24 +120,114 @@
"@babel/template" "^7.0.0"
"@babel/types" "^7.0.0"
+"@babel/helper-function-name@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53"
+ dependencies:
+ "@babel/helper-get-function-arity" "^7.0.0"
+ "@babel/template" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
"@babel/helper-get-function-arity@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3"
dependencies:
"@babel/types" "^7.0.0"
+"@babel/helper-hoist-variables@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.0.0.tgz#46adc4c5e758645ae7a45deb92bab0918c23bb88"
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-member-expression-to-functions@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.0.0.tgz#8cd14b0a0df7ff00f009e7d7a436945f47c7a16f"
+ dependencies:
+ "@babel/types" "^7.0.0"
+
"@babel/helper-module-imports@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d"
dependencies:
"@babel/types" "^7.0.0"
+"@babel/helper-module-transforms@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.1.0.tgz#470d4f9676d9fad50b324cdcce5fbabbc3da5787"
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-simple-access" "^7.1.0"
+ "@babel/helper-split-export-declaration" "^7.0.0"
+ "@babel/template" "^7.1.0"
+ "@babel/types" "^7.0.0"
+ lodash "^4.17.10"
+
+"@babel/helper-optimise-call-expression@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5"
+ dependencies:
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-plugin-utils@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250"
+
+"@babel/helper-regex@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.0.0.tgz#2c1718923b57f9bbe64705ffe5640ac64d9bdb27"
+ dependencies:
+ lodash "^4.17.10"
+
+"@babel/helper-remap-async-to-generator@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f"
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-wrap-function" "^7.1.0"
+ "@babel/template" "^7.1.0"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-replace-supers@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.1.0.tgz#5fc31de522ec0ef0899dc9b3e7cf6a5dd655f362"
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.0.0"
+ "@babel/helper-optimise-call-expression" "^7.0.0"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@babel/helper-simple-access@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c"
+ dependencies:
+ "@babel/template" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
"@babel/helper-split-export-declaration@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.0.0.tgz#3aae285c0311c2ab095d997b8c9a94cad547d813"
dependencies:
"@babel/types" "^7.0.0"
+"@babel/helper-wrap-function@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.1.0.tgz#8cf54e9190706067f016af8f75cb3df829cc8c66"
+ dependencies:
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/template" "^7.1.0"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.0.0"
+
+"@babel/helpers@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.1.2.tgz#ab752e8c35ef7d39987df4e8586c63b8846234b5"
+ dependencies:
+ "@babel/template" "^7.1.2"
+ "@babel/traverse" "^7.1.0"
+ "@babel/types" "^7.1.2"
+
"@babel/highlight@7.0.0-beta.44":
version "7.0.0-beta.44"
resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.0.0-beta.44.tgz#18c94ce543916a80553edcdcf681890b200747d5"
@@ -81,6 +248,318 @@
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.0.0.tgz#697655183394facffb063437ddf52c0277698775"
+"@babel/parser@^7.1.2", "@babel/parser@^7.1.3":
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.1.3.tgz#2c92469bac2b7fbff810b67fca07bd138b48af77"
+
+"@babel/plugin-proposal-async-generator-functions@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.1.0.tgz#41c1a702e10081456e23a7b74d891922dd1bb6ce"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-remap-async-to-generator" "^7.1.0"
+ "@babel/plugin-syntax-async-generators" "^7.0.0"
+
+"@babel/plugin-proposal-json-strings@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.0.0.tgz#3b4d7b5cf51e1f2e70f52351d28d44fc2970d01e"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-json-strings" "^7.0.0"
+
+"@babel/plugin-proposal-object-rest-spread@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.0.0.tgz#9a17b547f64d0676b6c9cecd4edf74a82ab85e7e"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
+
+"@babel/plugin-proposal-optional-catch-binding@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.0.0.tgz#b610d928fe551ff7117d42c8bb410eec312a6425"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.0.0"
+
+"@babel/plugin-proposal-unicode-property-regex@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.0.0.tgz#498b39cd72536cd7c4b26177d030226eba08cd33"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.0.0"
+ regexpu-core "^4.2.0"
+
+"@babel/plugin-syntax-async-generators@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.0.0.tgz#bf0891dcdbf59558359d0c626fdc9490e20bc13c"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-dynamic-import@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.0.0.tgz#6dfb7d8b6c3be14ce952962f658f3b7eb54c33ee"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-json-strings@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.0.0.tgz#0d259a68090e15b383ce3710e01d5b23f3770cbd"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-object-rest-spread@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.0.0.tgz#37d8fbcaf216bd658ea1aebbeb8b75e88ebc549b"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-syntax-optional-catch-binding@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.0.0.tgz#886f72008b3a8b185977f7cb70713b45e51ee475"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-arrow-functions@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.0.0.tgz#a6c14875848c68a3b4b3163a486535ef25c7e749"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-async-to-generator@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.1.0.tgz#109e036496c51dd65857e16acab3bafdf3c57811"
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-remap-async-to-generator" "^7.1.0"
+
+"@babel/plugin-transform-block-scoped-functions@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.0.0.tgz#482b3f75103927e37288b3b67b65f848e2aa0d07"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-block-scoping@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.0.0.tgz#1745075edffd7cdaf69fab2fb6f9694424b7e9bc"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ lodash "^4.17.10"
+
+"@babel/plugin-transform-classes@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.1.0.tgz#ab3f8a564361800cbc8ab1ca6f21108038432249"
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-define-map" "^7.1.0"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-optimise-call-expression" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-replace-supers" "^7.1.0"
+ "@babel/helper-split-export-declaration" "^7.0.0"
+ globals "^11.1.0"
+
+"@babel/plugin-transform-computed-properties@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.0.0.tgz#2fbb8900cd3e8258f2a2ede909b90e7556185e31"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-destructuring@^7.0.0":
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.1.3.tgz#e69ff50ca01fac6cb72863c544e516c2b193012f"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-dotall-regex@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.0.0.tgz#73a24da69bc3c370251f43a3d048198546115e58"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.0.0"
+ regexpu-core "^4.1.3"
+
+"@babel/plugin-transform-duplicate-keys@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.0.0.tgz#a0601e580991e7cace080e4cf919cfd58da74e86"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-exponentiation-operator@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.1.0.tgz#9c34c2ee7fd77e02779cfa37e403a2e1003ccc73"
+ dependencies:
+ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-for-of@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.0.0.tgz#f2ba4eadb83bd17dc3c7e9b30f4707365e1c3e39"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-function-name@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.1.0.tgz#29c5550d5c46208e7f730516d41eeddd4affadbb"
+ dependencies:
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-literals@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.0.0.tgz#2aec1d29cdd24c407359c930cdd89e914ee8ff86"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-modules-amd@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.1.0.tgz#f9e0a7072c12e296079b5a59f408ff5b97bf86a8"
+ dependencies:
+ "@babel/helper-module-transforms" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-modules-commonjs@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.1.0.tgz#0a9d86451cbbfb29bd15186306897c67f6f9a05c"
+ dependencies:
+ "@babel/helper-module-transforms" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-simple-access" "^7.1.0"
+
+"@babel/plugin-transform-modules-systemjs@^7.0.0":
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.1.3.tgz#2119a3e3db612fd74a19d88652efbfe9613a5db0"
+ dependencies:
+ "@babel/helper-hoist-variables" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-modules-umd@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.1.0.tgz#a29a7d85d6f28c3561c33964442257cc6a21f2a8"
+ dependencies:
+ "@babel/helper-module-transforms" "^7.1.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-new-target@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.0.0.tgz#ae8fbd89517fa7892d20e6564e641e8770c3aa4a"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-object-super@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.1.0.tgz#b1ae194a054b826d8d4ba7ca91486d4ada0f91bb"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-replace-supers" "^7.1.0"
+
+"@babel/plugin-transform-parameters@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.1.0.tgz#44f492f9d618c9124026e62301c296bf606a7aed"
+ dependencies:
+ "@babel/helper-call-delegate" "^7.1.0"
+ "@babel/helper-get-function-arity" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-regenerator@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.0.0.tgz#5b41686b4ed40bef874d7ed6a84bdd849c13e0c1"
+ dependencies:
+ regenerator-transform "^0.13.3"
+
+"@babel/plugin-transform-shorthand-properties@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.0.0.tgz#85f8af592dcc07647541a0350e8c95c7bf419d15"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-spread@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.0.0.tgz#93583ce48dd8c85e53f3a46056c856e4af30b49b"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-sticky-regex@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.0.0.tgz#30a9d64ac2ab46eec087b8530535becd90e73366"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.0.0"
+
+"@babel/plugin-transform-template-literals@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.0.0.tgz#084f1952efe5b153ddae69eb8945f882c7a97c65"
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-typeof-symbol@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.0.0.tgz#4dcf1e52e943e5267b7313bff347fdbe0f81cec9"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+
+"@babel/plugin-transform-unicode-regex@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.0.0.tgz#c6780e5b1863a76fe792d90eded9fcd5b51d68fc"
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/helper-regex" "^7.0.0"
+ regexpu-core "^4.1.3"
+
+"@babel/preset-env@^7.1.0":
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.1.0.tgz#e67ea5b0441cfeab1d6f41e9b5c79798800e8d11"
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/helper-plugin-utils" "^7.0.0"
+ "@babel/plugin-proposal-async-generator-functions" "^7.1.0"
+ "@babel/plugin-proposal-json-strings" "^7.0.0"
+ "@babel/plugin-proposal-object-rest-spread" "^7.0.0"
+ "@babel/plugin-proposal-optional-catch-binding" "^7.0.0"
+ "@babel/plugin-proposal-unicode-property-regex" "^7.0.0"
+ "@babel/plugin-syntax-async-generators" "^7.0.0"
+ "@babel/plugin-syntax-object-rest-spread" "^7.0.0"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.0.0"
+ "@babel/plugin-transform-arrow-functions" "^7.0.0"
+ "@babel/plugin-transform-async-to-generator" "^7.1.0"
+ "@babel/plugin-transform-block-scoped-functions" "^7.0.0"
+ "@babel/plugin-transform-block-scoping" "^7.0.0"
+ "@babel/plugin-transform-classes" "^7.1.0"
+ "@babel/plugin-transform-computed-properties" "^7.0.0"
+ "@babel/plugin-transform-destructuring" "^7.0.0"
+ "@babel/plugin-transform-dotall-regex" "^7.0.0"
+ "@babel/plugin-transform-duplicate-keys" "^7.0.0"
+ "@babel/plugin-transform-exponentiation-operator" "^7.1.0"
+ "@babel/plugin-transform-for-of" "^7.0.0"
+ "@babel/plugin-transform-function-name" "^7.1.0"
+ "@babel/plugin-transform-literals" "^7.0.0"
+ "@babel/plugin-transform-modules-amd" "^7.1.0"
+ "@babel/plugin-transform-modules-commonjs" "^7.1.0"
+ "@babel/plugin-transform-modules-systemjs" "^7.0.0"
+ "@babel/plugin-transform-modules-umd" "^7.1.0"
+ "@babel/plugin-transform-new-target" "^7.0.0"
+ "@babel/plugin-transform-object-super" "^7.1.0"
+ "@babel/plugin-transform-parameters" "^7.1.0"
+ "@babel/plugin-transform-regenerator" "^7.0.0"
+ "@babel/plugin-transform-shorthand-properties" "^7.0.0"
+ "@babel/plugin-transform-spread" "^7.0.0"
+ "@babel/plugin-transform-sticky-regex" "^7.0.0"
+ "@babel/plugin-transform-template-literals" "^7.0.0"
+ "@babel/plugin-transform-typeof-symbol" "^7.0.0"
+ "@babel/plugin-transform-unicode-regex" "^7.0.0"
+ browserslist "^4.1.0"
+ invariant "^2.2.2"
+ js-levenshtein "^1.1.3"
+ semver "^5.3.0"
+
+"@babel/runtime-corejs2@^7.0.0-rc.1":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/runtime-corejs2/-/runtime-corejs2-7.1.2.tgz#8695811a3fd8091f54f274b9320334e5e8c62200"
+ dependencies:
+ core-js "^2.5.7"
+ regenerator-runtime "^0.12.0"
+
"@babel/runtime@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c"
@@ -101,6 +580,14 @@
"@babel/parser" "^7.0.0"
"@babel/types" "^7.0.0"
+"@babel/template@^7.1.0", "@babel/template@^7.1.2":
+ version "7.1.2"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.1.2.tgz#090484a574fef5a2d2d7726a674eceda5c5b5644"
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/parser" "^7.1.2"
+ "@babel/types" "^7.1.2"
+
"@babel/traverse@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.0.0.tgz#b1fe9b6567fdf3ab542cfad6f3b31f854d799a61"
@@ -115,6 +602,20 @@
globals "^11.1.0"
lodash "^4.17.10"
+"@babel/traverse@^7.1.0":
+ version "7.1.4"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.1.4.tgz#f4f83b93d649b4b2c91121a9087fa2fa949ec2b4"
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/generator" "^7.1.3"
+ "@babel/helper-function-name" "^7.1.0"
+ "@babel/helper-split-export-declaration" "^7.0.0"
+ "@babel/parser" "^7.1.3"
+ "@babel/types" "^7.1.3"
+ debug "^3.1.0"
+ globals "^11.1.0"
+ lodash "^4.17.10"
+
"@babel/types@^7.0.0":
version "7.0.0"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.0.0.tgz#6e191793d3c854d19c6749989e3bc55f0e962118"
@@ -123,6 +624,14 @@
lodash "^4.17.10"
to-fast-properties "^2.0.0"
+"@babel/types@^7.1.2", "@babel/types@^7.1.3":
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.1.3.tgz#3a767004567060c2f40fca49a304712c525ee37d"
+ dependencies:
+ esutils "^2.0.2"
+ lodash "^4.17.10"
+ to-fast-properties "^2.0.0"
+
"@canvas-panel/core@^0.0.9":
version "0.0.9"
resolved "https://registry.yarnpkg.com/@canvas-panel/core/-/core-0.0.9.tgz#9efd394c7c716e7c3179197e57a5e05ad7b0e8c5"
@@ -697,6 +1206,49 @@
version "1.1.0"
resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz#50c1e2260ac0ed9439a181de3725a0168d59c48a"
+"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
+
+"@protobufjs/base64@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"
+
+"@protobufjs/codegen@^2.0.4":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"
+
+"@protobufjs/eventemitter@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"
+
+"@protobufjs/fetch@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"
+ dependencies:
+ "@protobufjs/aspromise" "^1.1.1"
+ "@protobufjs/inquire" "^1.1.0"
+
+"@protobufjs/float@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"
+
+"@protobufjs/inquire@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"
+
+"@protobufjs/path@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"
+
+"@protobufjs/pool@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"
+
+"@protobufjs/utf8@^1.1.0":
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
+
"@reach/router@1.2.1":
version "1.2.1"
resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.2.1.tgz#34ae3541a5ac44fa7796e5506a5d7274a162be4e"
@@ -720,9 +1272,92 @@
exjs BSick7/exjs#0.5.0
http-status-codes edsilv/http-status-codes#v0.0.7
-"@types/jquery@^2.0.40":
- version "2.0.49"
- resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-2.0.49.tgz#95bd7064caebf65bde10429dff491a1aea05b67d"
+"@types/accepts@^1.3.5":
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575"
+ dependencies:
+ "@types/node" "*"
+
+"@types/async@2.0.50":
+ version "2.0.50"
+ resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.50.tgz#117540e026d64e1846093abbd5adc7e27fda7bcb"
+
+"@types/body-parser@*", "@types/body-parser@1.17.0":
+ version "1.17.0"
+ resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.17.0.tgz#9f5c9d9bd04bb54be32d5eb9fc0d8c974e6cf58c"
+ dependencies:
+ "@types/connect" "*"
+ "@types/node" "*"
+
+"@types/connect@*":
+ version "3.4.32"
+ resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.32.tgz#aa0e9616b9435ccad02bc52b5b454ffc2c70ba28"
+ dependencies:
+ "@types/node" "*"
+
+"@types/cors@^2.8.4":
+ version "2.8.4"
+ resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.4.tgz#50991a759a29c0b89492751008c6af7a7c8267b0"
+ dependencies:
+ "@types/express" "*"
+
+"@types/events@*":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@types/events/-/events-1.2.0.tgz#81a6731ce4df43619e5c8c945383b3e62a89ea86"
+
+"@types/express-serve-static-core@*":
+ version "4.16.0"
+ resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz#fdfe777594ddc1fe8eb8eccce52e261b496e43e7"
+ dependencies:
+ "@types/events" "*"
+ "@types/node" "*"
+ "@types/range-parser" "*"
+
+"@types/express@*", "@types/express@4.16.0":
+ version "4.16.0"
+ resolved "https://registry.yarnpkg.com/@types/express/-/express-4.16.0.tgz#6d8bc42ccaa6f35cf29a2b7c3333cb47b5a32a19"
+ dependencies:
+ "@types/body-parser" "*"
+ "@types/express-serve-static-core" "*"
+ "@types/serve-static" "*"
+
+"@types/jquery@^2.0.40":
+ version "2.0.49"
+ resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-2.0.49.tgz#95bd7064caebf65bde10429dff491a1aea05b67d"
+
+"@types/long@^4.0.0":
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.0.tgz#719551d2352d301ac8b81db732acb6bdc28dbdef"
+
+"@types/mime@*":
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.0.tgz#5a7306e367c539b9f6543499de8dd519fac37a8b"
+
+"@types/node@*", "@types/node@^10.1.0":
+ version "10.12.0"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.0.tgz#ea6dcbddbc5b584c83f06c60e82736d8fbb0c235"
+
+"@types/range-parser@*":
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.2.tgz#fa8e1ad1d474688a757140c91de6dace6f4abc8d"
+
+"@types/serve-static@*":
+ version "1.13.2"
+ resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.2.tgz#f5ac4d7a6420a99a6a45af4719f4dcd8cd907a48"
+ dependencies:
+ "@types/express-serve-static-core" "*"
+ "@types/mime" "*"
+
+"@types/ws@^5.1.2":
+ version "5.1.2"
+ resolved "https://registry.yarnpkg.com/@types/ws/-/ws-5.1.2.tgz#f02d3b1cd46db7686734f3ce83bdf46c49decd64"
+ dependencies:
+ "@types/events" "*"
+ "@types/node" "*"
+
+"@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"
"@webassemblyjs/ast@1.5.13":
version "1.5.13"
@@ -734,30 +1369,60 @@
debug "^3.1.0"
mamacro "^0.0.3"
+"@webassemblyjs/ast@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.7.8.tgz#f31f480debeef957f01b623f27eabc695fa4fe8f"
+ dependencies:
+ "@webassemblyjs/helper-module-context" "1.7.8"
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.8"
+ "@webassemblyjs/wast-parser" "1.7.8"
+
"@webassemblyjs/floating-point-hex-parser@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.5.13.tgz#29ce0baa97411f70e8cce68ce9c0f9d819a4e298"
+"@webassemblyjs/floating-point-hex-parser@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.8.tgz#1b3ed0e27e384032254e9322fc646dd3e70ef1b9"
+
"@webassemblyjs/helper-api-error@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.5.13.tgz#e49b051d67ee19a56e29b9aa8bd949b5b4442a59"
+"@webassemblyjs/helper-api-error@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.8.tgz#a2b49c11f615e736f815ec927f035dcfa690d572"
+
"@webassemblyjs/helper-buffer@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.5.13.tgz#873bb0a1b46449231137c1262ddfd05695195a1e"
dependencies:
debug "^3.1.0"
+"@webassemblyjs/helper-buffer@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.8.tgz#3fc66bfa09c1c60e824cf3d5887826fac062877d"
+
"@webassemblyjs/helper-code-frame@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.5.13.tgz#1bd2181b6a0be14e004f0fe9f5a660d265362b58"
dependencies:
"@webassemblyjs/wast-printer" "1.5.13"
+"@webassemblyjs/helper-code-frame@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.8.tgz#cc5a7e9522b70e7580df056dfd34020cf29645b0"
+ dependencies:
+ "@webassemblyjs/wast-printer" "1.7.8"
+
"@webassemblyjs/helper-fsm@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.5.13.tgz#cdf3d9d33005d543a5c5e5adaabf679ffa8db924"
+"@webassemblyjs/helper-fsm@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.8.tgz#fe4607430af466912797c21acafd3046080182ea"
+
"@webassemblyjs/helper-module-context@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.5.13.tgz#dc29ddfb51ed657655286f94a5d72d8a489147c5"
@@ -765,10 +1430,18 @@
debug "^3.1.0"
mamacro "^0.0.3"
+"@webassemblyjs/helper-module-context@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.8.tgz#3c2e7ee93d14ff4768ba66fb1be42fdc9dc7160a"
+
"@webassemblyjs/helper-wasm-bytecode@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.5.13.tgz#03245817f0a762382e61733146f5773def15a747"
+"@webassemblyjs/helper-wasm-bytecode@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.8.tgz#89bdb78cd6dd5209ae2ed2925de78d0f0e00b6f0"
+
"@webassemblyjs/helper-wasm-section@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.5.13.tgz#efc76f44a10d3073b584b43c38a179df173d5c7d"
@@ -779,22 +1452,47 @@
"@webassemblyjs/wasm-gen" "1.5.13"
debug "^3.1.0"
+"@webassemblyjs/helper-wasm-section@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.8.tgz#c68ef7d26a6fc12421b2e6e56f9bc810dfb33e87"
+ dependencies:
+ "@webassemblyjs/ast" "1.7.8"
+ "@webassemblyjs/helper-buffer" "1.7.8"
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.8"
+ "@webassemblyjs/wasm-gen" "1.7.8"
+
"@webassemblyjs/ieee754@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.5.13.tgz#573e97c8c12e4eebb316ca5fde0203ddd90b0364"
dependencies:
ieee754 "^1.1.11"
+"@webassemblyjs/ieee754@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.7.8.tgz#1f37974b13cb486a9237e73ce04cac7a2f1265ed"
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
"@webassemblyjs/leb128@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.5.13.tgz#ab52ebab9cec283c1c1897ac1da833a04a3f4cee"
dependencies:
long "4.0.0"
+"@webassemblyjs/leb128@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.7.8.tgz#1bee83426819192db2ea1a234b84c7ebc6d34c1f"
+ dependencies:
+ "@xtuc/long" "4.2.1"
+
"@webassemblyjs/utf8@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.5.13.tgz#6b53d2cd861cf94fa99c1f12779dde692fbc2469"
+"@webassemblyjs/utf8@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.7.8.tgz#2b489d5cf43e0aebb93d8e2d792aff9879c61f05"
+
"@webassemblyjs/wasm-edit@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.5.13.tgz#c9cef5664c245cf11b3b3a73110c9155831724a8"
@@ -809,6 +1507,19 @@
"@webassemblyjs/wast-printer" "1.5.13"
debug "^3.1.0"
+"@webassemblyjs/wasm-edit@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.8.tgz#f8bdbe7088718eca27b1c349bb7c06b8a457950c"
+ dependencies:
+ "@webassemblyjs/ast" "1.7.8"
+ "@webassemblyjs/helper-buffer" "1.7.8"
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.8"
+ "@webassemblyjs/helper-wasm-section" "1.7.8"
+ "@webassemblyjs/wasm-gen" "1.7.8"
+ "@webassemblyjs/wasm-opt" "1.7.8"
+ "@webassemblyjs/wasm-parser" "1.7.8"
+ "@webassemblyjs/wast-printer" "1.7.8"
+
"@webassemblyjs/wasm-gen@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.5.13.tgz#8e6ea113c4b432fa66540189e79b16d7a140700e"
@@ -819,6 +1530,16 @@
"@webassemblyjs/leb128" "1.5.13"
"@webassemblyjs/utf8" "1.5.13"
+"@webassemblyjs/wasm-gen@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.8.tgz#7e8abf1545eae74ac6781d545c034af3cfd0c7d5"
+ dependencies:
+ "@webassemblyjs/ast" "1.7.8"
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.8"
+ "@webassemblyjs/ieee754" "1.7.8"
+ "@webassemblyjs/leb128" "1.7.8"
+ "@webassemblyjs/utf8" "1.7.8"
+
"@webassemblyjs/wasm-opt@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.5.13.tgz#147aad7717a7ee4211c36b21a5f4c30dddf33138"
@@ -829,6 +1550,15 @@
"@webassemblyjs/wasm-parser" "1.5.13"
debug "^3.1.0"
+"@webassemblyjs/wasm-opt@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.8.tgz#7ada6e211914728fce02ff0ff9c344edc6d41f26"
+ dependencies:
+ "@webassemblyjs/ast" "1.7.8"
+ "@webassemblyjs/helper-buffer" "1.7.8"
+ "@webassemblyjs/wasm-gen" "1.7.8"
+ "@webassemblyjs/wasm-parser" "1.7.8"
+
"@webassemblyjs/wasm-parser@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.5.13.tgz#6f46516c5bb23904fbdf58009233c2dd8a54c72f"
@@ -840,6 +1570,17 @@
"@webassemblyjs/leb128" "1.5.13"
"@webassemblyjs/utf8" "1.5.13"
+"@webassemblyjs/wasm-parser@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.8.tgz#dac47c291fb6a3e63529aecd647592cd34afbf94"
+ dependencies:
+ "@webassemblyjs/ast" "1.7.8"
+ "@webassemblyjs/helper-api-error" "1.7.8"
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.8"
+ "@webassemblyjs/ieee754" "1.7.8"
+ "@webassemblyjs/leb128" "1.7.8"
+ "@webassemblyjs/utf8" "1.7.8"
+
"@webassemblyjs/wast-parser@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.5.13.tgz#5727a705d397ae6a3ae99d7f5460acf2ec646eea"
@@ -852,6 +1593,17 @@
long "^3.2.0"
mamacro "^0.0.3"
+"@webassemblyjs/wast-parser@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.8.tgz#f8aab9a450c048c1f9537695c89faeb92fabfba5"
+ dependencies:
+ "@webassemblyjs/ast" "1.7.8"
+ "@webassemblyjs/floating-point-hex-parser" "1.7.8"
+ "@webassemblyjs/helper-api-error" "1.7.8"
+ "@webassemblyjs/helper-code-frame" "1.7.8"
+ "@webassemblyjs/helper-fsm" "1.7.8"
+ "@xtuc/long" "4.2.1"
+
"@webassemblyjs/wast-printer@1.5.13":
version "1.5.13"
resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.5.13.tgz#bb34d528c14b4f579e7ec11e793ec50ad7cd7c95"
@@ -860,6 +1612,14 @@
"@webassemblyjs/wast-parser" "1.5.13"
long "^3.2.0"
+"@webassemblyjs/wast-printer@1.7.8":
+ version "1.7.8"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.8.tgz#e7e965782c1912f6a965f14a53ff43d8ad0403a5"
+ dependencies:
+ "@webassemblyjs/ast" "1.7.8"
+ "@webassemblyjs/wast-parser" "1.7.8"
+ "@xtuc/long" "4.2.1"
+
"@webpack-contrib/schema-utils@^1.0.0-beta.0":
version "1.0.0-beta.0"
resolved "https://registry.yarnpkg.com/@webpack-contrib/schema-utils/-/schema-utils-1.0.0-beta.0.tgz#bf9638c9464d177b48209e84209e23bee2eb4f65"
@@ -871,6 +1631,14 @@
text-table "^0.2.0"
webpack-log "^1.1.2"
+"@xtuc/ieee754@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
+
+"@xtuc/long@4.2.1":
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8"
+
JSONStream@^1.0.3:
version "1.3.5"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
@@ -904,7 +1672,14 @@ abbrev@1.0.x:
version "1.0.9"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.0.9.tgz#91b4792588a7738c25f35dd6f63752a2f8776135"
-accepts@~1.3.4, accepts@~1.3.5:
+accepts@1.3.3:
+ version "1.3.3"
+ resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
+ dependencies:
+ mime-types "~2.1.11"
+ negotiator "0.6.1"
+
+accepts@^1.3.5, accepts@~1.3.4, accepts@~1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2"
dependencies:
@@ -1176,6 +1951,184 @@ anymatch@^2.0.0:
micromatch "^3.1.4"
normalize-path "^2.1.1"
+apollo-cache-control@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/apollo-cache-control/-/apollo-cache-control-0.2.5.tgz#0831ad796754a7beec858668f99e7517fe744a1e"
+ dependencies:
+ apollo-server-env "^2.0.3"
+ graphql-extensions "^0.2.1"
+
+apollo-cache-inmemory@^1.3.7:
+ version "1.3.7"
+ resolved "https://registry.yarnpkg.com/apollo-cache-inmemory/-/apollo-cache-inmemory-1.3.7.tgz#a9dabead5939e19068040c97c7c1009619a9df37"
+ dependencies:
+ apollo-cache "^1.1.19"
+ apollo-utilities "^1.0.24"
+ optimism "^0.6.6"
+
+apollo-cache@1.1.19, apollo-cache@^1.1.19:
+ version "1.1.19"
+ resolved "https://registry.yarnpkg.com/apollo-cache/-/apollo-cache-1.1.19.tgz#a9ff2b6c70ab888c29ea038d8642b5698f115a3a"
+ dependencies:
+ apollo-utilities "^1.0.24"
+
+apollo-client@^2.4.4:
+ version "2.4.4"
+ resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-2.4.4.tgz#b96d4fc2dd856b24552bb2e2da466219b0d4eb1f"
+ dependencies:
+ "@types/zen-observable" "^0.8.0"
+ apollo-cache "1.1.19"
+ apollo-link "^1.0.0"
+ apollo-link-dedup "^1.0.0"
+ apollo-utilities "1.0.24"
+ symbol-observable "^1.0.2"
+ zen-observable "^0.8.0"
+ optionalDependencies:
+ "@types/async" "2.0.50"
+
+apollo-datasource@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-0.1.3.tgz#e7ae9d20f29a8a35f239b02f0c47169cfd78d70b"
+ dependencies:
+ apollo-server-caching "0.1.2"
+ apollo-server-env "2.0.3"
+
+apollo-engine-reporting-protobuf@^0.0.1:
+ version "0.0.1"
+ resolved "https://registry.yarnpkg.com/apollo-engine-reporting-protobuf/-/apollo-engine-reporting-protobuf-0.0.1.tgz#cd394f0f769c6f97d8621c4a7839095c84efcdb0"
+ dependencies:
+ protobufjs "^6.8.6"
+
+apollo-engine-reporting@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/apollo-engine-reporting/-/apollo-engine-reporting-0.0.6.tgz#c1a74dffce782525f8a3230e4e5228fbd05bbd59"
+ dependencies:
+ apollo-engine-reporting-protobuf "^0.0.1"
+ apollo-server-env "^2.0.3"
+ async-retry "^1.2.1"
+ graphql-extensions "^0.2.1"
+ lodash "^4.17.10"
+
+apollo-link-core@^0.5.4:
+ version "0.5.4"
+ resolved "https://registry.yarnpkg.com/apollo-link-core/-/apollo-link-core-0.5.4.tgz#8efd4cd747959872a32f313f0ccfc2a76b396668"
+ dependencies:
+ graphql "^0.10.3"
+ graphql-tag "^2.4.2"
+ zen-observable-ts "^0.4.4"
+
+apollo-link-dedup@^1.0.0:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/apollo-link-dedup/-/apollo-link-dedup-1.0.10.tgz#7b94589fe7f969777efd18a129043c78430800ae"
+ dependencies:
+ apollo-link "^1.2.3"
+
+apollo-link-schema@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/apollo-link-schema/-/apollo-link-schema-1.1.1.tgz#b36b513d1a008184ae8cfc2aad4fce445df5f149"
+ dependencies:
+ apollo-link "^1.2.3"
+
+apollo-link-set-context@^0.5.4:
+ version "0.5.4"
+ resolved "https://registry.yarnpkg.com/apollo-link-set-context/-/apollo-link-set-context-0.5.4.tgz#275002474c6e39465bb46a9ffe51f1830c1cb40c"
+ dependencies:
+ apollo-link-core "^0.5.4"
+
+apollo-link@^1.0.0, apollo-link@^1.2.2, apollo-link@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/apollo-link/-/apollo-link-1.2.3.tgz#9bd8d5fe1d88d31dc91dae9ecc22474d451fb70d"
+ dependencies:
+ apollo-utilities "^1.0.0"
+ zen-observable-ts "^0.8.10"
+
+apollo-server-caching@0.1.2, apollo-server-caching@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/apollo-server-caching/-/apollo-server-caching-0.1.2.tgz#f5b85701945110a5fca1956450e8553576635936"
+ dependencies:
+ lru-cache "^4.1.3"
+
+apollo-server-core@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-2.1.0.tgz#b56f9f1ddb948b257e738eb25c5fdfd2f2fb2e07"
+ dependencies:
+ "@apollographql/apollo-upload-server" "^5.0.3"
+ "@types/ws" "^5.1.2"
+ apollo-cache-control "^0.2.5"
+ apollo-datasource "^0.1.3"
+ apollo-engine-reporting "^0.0.6"
+ apollo-server-caching "^0.1.2"
+ apollo-server-env "^2.0.3"
+ apollo-server-errors "^2.0.2"
+ apollo-tracing "^0.2.5"
+ graphql-extensions "^0.2.1"
+ graphql-subscriptions "^0.5.8"
+ graphql-tag "^2.9.2"
+ graphql-tools "^3.0.4"
+ hash.js "^1.1.3"
+ lodash "^4.17.10"
+ subscriptions-transport-ws "^0.9.11"
+ ws "^5.2.0"
+
+apollo-server-env@2.0.3, apollo-server-env@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-2.0.3.tgz#3c13552cd33f400160076cf8e1c9b24be4d27e13"
+ dependencies:
+ node-fetch "^2.1.2"
+ util.promisify "^1.0.0"
+
+apollo-server-errors@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-2.0.2.tgz#e9cbb1b74d2cd78aed23cd886ca2d0c186323b2b"
+
+apollo-server-express@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-2.1.0.tgz#b2d423c2c934df5c4e0a1b0d5f0088a9461f3c86"
+ dependencies:
+ "@apollographql/apollo-upload-server" "^5.0.3"
+ "@apollographql/graphql-playground-html" "^1.6.0"
+ "@types/accepts" "^1.3.5"
+ "@types/body-parser" "1.17.0"
+ "@types/cors" "^2.8.4"
+ "@types/express" "4.16.0"
+ accepts "^1.3.5"
+ apollo-server-core "^2.1.0"
+ body-parser "^1.18.3"
+ cors "^2.8.4"
+ graphql-subscriptions "^0.5.8"
+ graphql-tools "^3.0.4"
+ type-is "^1.6.16"
+
+apollo-server@2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-2.1.0.tgz#abec7853647c59f386087352cc7f06a4f1f8afe2"
+ dependencies:
+ apollo-server-core "^2.1.0"
+ apollo-server-express "^2.1.0"
+ express "^4.0.0"
+ graphql-subscriptions "^0.5.8"
+ graphql-tools "^3.0.4"
+
+apollo-tracing@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/apollo-tracing/-/apollo-tracing-0.2.5.tgz#15bb8d6f37efe8c1bb6351e8e21521dd4f14c5f2"
+ dependencies:
+ apollo-server-env "^2.0.3"
+ graphql-extensions "^0.2.1"
+
+apollo-utilities@1.0.24, apollo-utilities@^1.0.24:
+ version "1.0.24"
+ resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.24.tgz#77d2d3008bb9ee52aa76b799ce7a8d6cb6cf8a1c"
+ dependencies:
+ fast-json-stable-stringify "^2.0.0"
+
+apollo-utilities@^1.0.0, apollo-utilities@^1.0.1:
+ version "1.0.21"
+ resolved "https://registry.yarnpkg.com/apollo-utilities/-/apollo-utilities-1.0.21.tgz#cb8b5779fe275850b16046ff8373f4af2de90765"
+ dependencies:
+ fast-json-stable-stringify "^2.0.0"
+ fclone "^1.0.11"
+
append-transform@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
@@ -1294,6 +2247,10 @@ array-unique@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+arraybuffer.slice@0.0.6:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca"
+
arraybuffer.slice@~0.0.7:
version "0.0.7"
resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675"
@@ -1356,6 +2313,12 @@ async-limiter@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
+async-retry@^1.2.1:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.2.3.tgz#a6521f338358d322b1a0012b79030c6f411d1ce0"
+ dependencies:
+ retry "0.12.0"
+
async-validator@1.x:
version "1.8.2"
resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-1.8.2.tgz#b77597226e96242f8d531c0d46ae295f62422ba4"
@@ -1390,6 +2353,17 @@ atob@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.0.tgz#ab2b150e51d7b122b9efc8d7340c06b6c41076bc"
+autoprefixer@7.1.6:
+ version "7.1.6"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.1.6.tgz#fb933039f74af74a83e71225ce78d9fd58ba84d7"
+ dependencies:
+ browserslist "^2.5.1"
+ caniuse-lite "^1.0.30000748"
+ normalize-range "^0.1.2"
+ num2fraction "^1.2.2"
+ postcss "^6.0.13"
+ postcss-value-parser "^3.2.3"
+
autoprefixer@7.2.5:
version "7.2.5"
resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-7.2.5.tgz#04ccbd0c6a61131b6d13f53d371926092952d192"
@@ -1462,7 +2436,7 @@ babel-cli@6.26.0:
optionalDependencies:
chokidar "^1.6.1"
-babel-code-frame@^6.26.0:
+babel-code-frame@^6.11.0, babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
dependencies:
@@ -1675,6 +2649,14 @@ babel-jest@23.6.0, babel-jest@^23.6.0:
babel-plugin-istanbul "^4.1.6"
babel-preset-jest "^23.2.0"
+babel-literal-to-ast@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/babel-literal-to-ast/-/babel-literal-to-ast-0.1.2.tgz#f50aa963711935adf19da0d5a4defc827ad5f403"
+ dependencies:
+ babel-traverse "^6.0.20"
+ babel-types "^6.0.19"
+ babylon "^6.0.18"
+
babel-loader@7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126"
@@ -1691,6 +2673,15 @@ babel-loader@7.1.5:
loader-utils "^1.0.2"
mkdirp "^0.5.1"
+babel-loader@^8.0.4:
+ version "8.0.4"
+ resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.4.tgz#7bbf20cbe4560629e2e41534147692d3fecbdce6"
+ dependencies:
+ find-cache-dir "^1.0.0"
+ loader-utils "^1.0.2"
+ mkdirp "^0.5.1"
+ util.promisify "^1.0.0"
+
babel-messages@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
@@ -1707,6 +2698,21 @@ babel-plugin-check-es2015-constants@^6.22.0:
dependencies:
babel-runtime "^6.22.0"
+babel-plugin-graphql-tag@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-graphql-tag/-/babel-plugin-graphql-tag-1.6.0.tgz#bfdc83e9a8d0eeea6d93508d6b5261368aa6064f"
+ dependencies:
+ babel-literal-to-ast "^0.1.2"
+ babel-types "^6.24.1"
+ babylon "^6.18.0"
+ debug "^2.6.8"
+
+babel-plugin-import-graphql@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/babel-plugin-import-graphql/-/babel-plugin-import-graphql-2.6.2.tgz#0f88a3b32133765854253b8ba7f9383367cd360e"
+ dependencies:
+ graphql-tag "^2.9.2"
+
babel-plugin-import@1.11.0:
version "1.11.0"
resolved "https://registry.yarnpkg.com/babel-plugin-import/-/babel-plugin-import-1.11.0.tgz#78ac908e6b225206babb734e19eae5f78d6d1035"
@@ -1714,6 +2720,13 @@ babel-plugin-import@1.11.0:
"@babel/helper-module-imports" "^7.0.0"
"@babel/runtime" "^7.0.0"
+babel-plugin-inferno@3.3.0:
+ version "3.3.0"
+ resolved "https://registry.yarnpkg.com/babel-plugin-inferno/-/babel-plugin-inferno-3.3.0.tgz#4815e563fe5e4658837da9974851d5cfbb9be623"
+ dependencies:
+ babel-plugin-syntax-jsx "^6.18.0"
+ inferno-vnode-flags "3.10.1"
+
babel-plugin-inferno@3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/babel-plugin-inferno/-/babel-plugin-inferno-3.3.1.tgz#7ca11124b8bfef4658ef6041b835cb1fbccb00bc"
@@ -2228,6 +3241,10 @@ babel-preset-flow@^6.23.0:
dependencies:
babel-plugin-transform-flow-strip-types "^6.22.0"
+babel-preset-graphpack@^1.0.0-alpha.3:
+ version "1.0.0-alpha.3"
+ resolved "https://registry.yarnpkg.com/babel-preset-graphpack/-/babel-preset-graphpack-1.0.0-alpha.3.tgz#c8ff9a9cb9a4a6ecf7363a78d3cb9b78853070eb"
+
babel-preset-jest@^23.2.0:
version "23.2.0"
resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46"
@@ -2310,7 +3327,7 @@ babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0, babel-te
babylon "^6.18.0"
lodash "^4.17.4"
-babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0:
+babel-traverse@^6.0.0, babel-traverse@^6.0.20, babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
dependencies:
@@ -2324,7 +3341,7 @@ babel-traverse@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-tra
invariant "^2.2.2"
lodash "^4.17.4"
-babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
+babel-types@^6.0.0, babel-types@^6.0.19, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
dependencies:
@@ -2333,11 +3350,11 @@ babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.
lodash "^4.17.4"
to-fast-properties "^1.0.3"
-babylon@^6.18.0:
+babylon@^6.0.18, babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
-backo2@1.0.2:
+backo2@1.0.2, backo2@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
@@ -2446,6 +3463,21 @@ body-parser@1.18.2, body-parser@^1.16.1:
raw-body "2.3.2"
type-is "~1.6.15"
+body-parser@1.18.3, body-parser@^1.18.3:
+ version "1.18.3"
+ resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.3.tgz#5b292198ffdd553b3a0f20ded0592b956955c8b4"
+ dependencies:
+ bytes "3.0.0"
+ content-type "~1.0.4"
+ debug "2.6.9"
+ depd "~1.1.2"
+ http-errors "~1.6.3"
+ iconv-lite "0.4.23"
+ on-finished "~2.3.0"
+ qs "6.5.2"
+ raw-body "2.3.3"
+ type-is "~1.6.16"
+
bonjour@^3.5.0:
version "3.5.0"
resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5"
@@ -2673,7 +3705,7 @@ browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
caniuse-db "^1.0.30000639"
electron-to-chromium "^1.2.7"
-browserslist@^2.1.2, browserslist@^2.11.1:
+browserslist@^2.1.2, browserslist@^2.11.1, browserslist@^2.5.1:
version "2.11.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2"
dependencies:
@@ -2695,6 +3727,14 @@ browserslist@^4.0.1:
electron-to-chromium "^1.3.52"
node-releases "^1.0.0-alpha.10"
+browserslist@^4.1.0:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.3.2.tgz#a5479f20fd387357be2d01aefcbbdcaadffb4d75"
+ dependencies:
+ caniuse-lite "^1.0.30000898"
+ electron-to-chromium "^1.3.80"
+ node-releases "^1.0.0-alpha.14"
+
bser@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
@@ -2756,6 +3796,13 @@ builtins@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88"
+busboy@^0.2.14:
+ version "0.2.14"
+ resolved "https://registry.yarnpkg.com/busboy/-/busboy-0.2.14.tgz#6c2a622efcf47c57bbbe1e2a9c37ad36c7925453"
+ dependencies:
+ dicer "0.2.5"
+ readable-stream "1.1.x"
+
byline@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1"
@@ -2896,6 +3943,10 @@ caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
version "1.0.30000890"
resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000890.tgz#b406595db8b631975b8dc5fa174f32925c23778b"
+caniuse-lite@^1.0.30000748:
+ version "1.0.30000892"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000892.tgz#344d2b51ee3ff5977537da4aa449c90eec40b759"
+
caniuse-lite@^1.0.30000791, caniuse-lite@^1.0.30000792:
version "1.0.30000890"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000890.tgz#86a18ffcc65d79ec6a437e985761b8bf1c4efeaf"
@@ -2904,6 +3955,10 @@ caniuse-lite@^1.0.30000844, caniuse-lite@^1.0.30000865:
version "1.0.30000874"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000874.tgz#a641b1f1c420d58d9b132920ef6ba87bbdcd2223"
+caniuse-lite@^1.0.30000898:
+ version "1.0.30000898"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000898.tgz#651306e690ca83caca5814da5afa3eb4de0f86c2"
+
capture-stack-trace@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
@@ -3283,6 +4338,12 @@ commander@2.15.1, commander@2.15.x, commander@^2.11.0, commander@^2.14.1, comman
version "2.15.1"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f"
+commander@2.9.0:
+ version "2.9.0"
+ resolved "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
+ dependencies:
+ graceful-readlink ">= 1.0.0"
+
commander@~2.13.0:
version "2.13.0"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.13.0.tgz#6964bca67685df7c1f1430c584f07d7597885b9c"
@@ -3312,6 +4373,10 @@ component-classes@1.x, component-classes@^1.2.5, component-classes@^1.2.6:
dependencies:
component-indexof "0.0.3"
+component-emitter@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3"
+
component-emitter@1.2.1, component-emitter@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
@@ -3500,6 +4565,12 @@ conventional-recommended-bump@^4.0.1:
meow "^4.0.0"
q "^1.5.1"
+convert-source-map@^1.1.0:
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
+ dependencies:
+ safe-buffer "~5.1.1"
+
convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
@@ -3559,6 +4630,19 @@ copy-template-dir@1.4.0:
readdirp "^2.0.0"
run-parallel "^1.1.4"
+copy-webpack-plugin@4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.2.0.tgz#252bb94597f96399d23d7fad355f8d3a661ac096"
+ dependencies:
+ bluebird "^3.5.1"
+ fs-extra "^4.0.2"
+ glob "^7.1.2"
+ is-glob "^4.0.0"
+ loader-utils "^0.2.15"
+ lodash "^4.3.0"
+ minimatch "^3.0.4"
+ node-dir "^0.1.10"
+
copy-webpack-plugin@4.3.1:
version "4.3.1"
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-4.3.1.tgz#19ba6370bf6f8e263cbd66185a2b79f2321a9302"
@@ -3595,7 +4679,7 @@ core-js@^2.2.0, core-js@^2.4.0, core-js@^2.5.0:
version "2.5.4"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.4.tgz#f2c8bf181f2a80b92f360121429ce63a2f0aeae0"
-core-js@^2.5.3:
+core-js@^2.4.1, core-js@^2.5.3, core-js@^2.5.7:
version "2.5.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e"
@@ -3603,6 +4687,13 @@ core-util-is@1.0.2, 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"
+cors@^2.8.4:
+ version "2.8.4"
+ resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.4.tgz#2bd381f2eb201020105cd50ea59da63090694686"
+ dependencies:
+ object-assign "^4"
+ vary "^1"
+
cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
version "2.2.2"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892"
@@ -3706,6 +4797,14 @@ create-react-context@^0.2.0:
fbjs "^0.8.0"
gud "^1.0.0"
+cross-spawn@5.1.0, cross-spawn@^5.0.1:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ dependencies:
+ lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
cross-spawn@6.0.4:
version "6.0.4"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.4.tgz#bbf44ccb30fb8314a08f178b62290c669c36d808"
@@ -3733,14 +4832,6 @@ cross-spawn@^3.0.0:
lru-cache "^4.0.1"
which "^1.2.9"
-cross-spawn@^5.0.1:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
- dependencies:
- lru-cache "^4.0.1"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
cryptiles@2.x.x:
version "2.0.5"
resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
@@ -3784,6 +4875,25 @@ css-color-names@0.0.4:
version "0.0.4"
resolved "http://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
+css-loader@0.28.7:
+ version "0.28.7"
+ resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.7.tgz#5f2ee989dd32edd907717f953317656160999c1b"
+ dependencies:
+ babel-code-frame "^6.11.0"
+ css-selector-tokenizer "^0.7.0"
+ cssnano ">=2.6.1 <4"
+ icss-utils "^2.1.0"
+ loader-utils "^1.0.2"
+ lodash.camelcase "^4.3.0"
+ object-assign "^4.0.1"
+ postcss "^5.0.6"
+ postcss-modules-extract-imports "^1.0.0"
+ postcss-modules-local-by-default "^1.0.1"
+ postcss-modules-scope "^1.0.0"
+ postcss-modules-values "^1.1.0"
+ postcss-value-parser "^3.3.0"
+ source-list-map "^2.0.0"
+
css-loader@0.28.9:
version "0.28.9"
resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-0.28.9.tgz#68064b85f4e271d7ce4c48a58300928e535d1c95"
@@ -3845,7 +4955,7 @@ cssesc@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-0.1.0.tgz#c814903e45623371a0477b40109aaafbeeaddbb4"
-cssnano@^3.10.0:
+"cssnano@>=2.6.1 <4", cssnano@^3.10.0:
version "3.10.0"
resolved "http://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
dependencies:
@@ -3943,6 +5053,10 @@ data-urls@^1.0.0:
whatwg-mimetype "^2.0.0"
whatwg-url "^6.4.0"
+dataloader@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8"
+
date-fns@^1.27.2:
version "1.29.0"
resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6"
@@ -3972,6 +5086,24 @@ debug@2, debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, de
dependencies:
ms "2.0.0"
+debug@2.2.0:
+ version "2.2.0"
+ resolved "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
+ dependencies:
+ ms "0.7.1"
+
+debug@2.3.3:
+ version "2.3.3"
+ resolved "http://registry.npmjs.org/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c"
+ dependencies:
+ ms "0.7.2"
+
+debug@2.6.8:
+ version "2.6.8"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
+ dependencies:
+ ms "2.0.0"
+
debug@3.1.0, debug@^3.1.0, debug@~3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
@@ -4128,6 +5260,10 @@ depd@~1.1.1, depd@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
+deprecated-decorator@^0.1.6:
+ version "0.1.6"
+ resolved "https://registry.yarnpkg.com/deprecated-decorator/-/deprecated-decorator-0.1.6.tgz#00966317b7a12fe92f3cc831f7583af329b86c37"
+
deps-sort@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/deps-sort/-/deps-sort-2.0.0.tgz#091724902e84658260eb910748cccd1af6e21fb5"
@@ -4170,6 +5306,13 @@ detect-node@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127"
+detect-port@1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.2.1.tgz#a2c0a048aa9df2b703fc54bb4436ce2118f09b5a"
+ dependencies:
+ address "^1.0.1"
+ debug "^2.6.0"
+
detect-port@1.2.2:
version "1.2.2"
resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.2.2.tgz#57a44533632d8bc74ad255676866ca43f96c7469"
@@ -4202,6 +5345,17 @@ di@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c"
+dicer@0.2.5:
+ version "0.2.5"
+ resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f"
+ dependencies:
+ readable-stream "1.1.x"
+ streamsearch "0.1.2"
+
+diff@3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9"
+
diff@3.3.1:
version "3.3.1"
resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75"
@@ -4413,6 +5567,10 @@ electron-to-chromium@^1.3.47, electron-to-chromium@^1.3.52:
version "1.3.55"
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.55.tgz#f150e10b20b77d9d41afcca312efe0c3b1a7fdce"
+electron-to-chromium@^1.3.80:
+ version "1.3.80"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.80.tgz#e99ec7efe64c2c6a269d3885ff411ea88852fa53"
+
elegant-spinner@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
@@ -4449,6 +5607,23 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0:
dependencies:
once "^1.4.0"
+engine.io-client@1.8.3:
+ version "1.8.3"
+ resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz#1798ed93451246453d4c6f635d7a201fe940d5ab"
+ dependencies:
+ component-emitter "1.2.1"
+ component-inherit "0.0.3"
+ debug "2.3.3"
+ engine.io-parser "1.3.2"
+ has-cors "1.1.0"
+ indexof "0.0.1"
+ parsejson "0.0.3"
+ parseqs "0.0.5"
+ parseuri "0.0.5"
+ ws "1.1.2"
+ xmlhttprequest-ssl "1.5.3"
+ yeast "0.1.2"
+
engine.io-client@~3.1.0:
version "3.1.6"
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.6.tgz#5bdeb130f8b94a50ac5cbeb72583e7a4a063ddfd"
@@ -4465,6 +5640,17 @@ engine.io-client@~3.1.0:
xmlhttprequest-ssl "~1.5.4"
yeast "0.1.2"
+engine.io-parser@1.3.2:
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a"
+ dependencies:
+ after "0.8.2"
+ arraybuffer.slice "0.0.6"
+ base64-arraybuffer "0.1.5"
+ blob "0.0.4"
+ has-binary "0.1.7"
+ wtf-8 "1.0.0"
+
engine.io-parser@~2.1.0, engine.io-parser@~2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.2.tgz#4c0f4cff79aaeecbbdcfdea66a823c6085409196"
@@ -4475,6 +5661,17 @@ engine.io-parser@~2.1.0, engine.io-parser@~2.1.1:
blob "0.0.4"
has-binary2 "~1.0.2"
+engine.io@1.8.3:
+ version "1.8.3"
+ resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4"
+ dependencies:
+ accepts "1.3.3"
+ base64id "1.0.0"
+ cookie "0.3.1"
+ debug "2.3.3"
+ engine.io-parser "1.3.2"
+ ws "1.1.2"
+
engine.io@~3.1.0:
version "3.1.5"
resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.1.5.tgz#0e7ef9d690eb0b35597f1d4ad02a26ca2dba3845"
@@ -4539,6 +5736,12 @@ error-stack-parser@1.3.6:
dependencies:
stackframe "^0.3.1"
+error-stack-parser@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.0.2.tgz#4ae8dbaa2bf90a8b450707b9149dcabca135520d"
+ dependencies:
+ stackframe "^1.0.4"
+
es-abstract@^1.4.3, es-abstract@^1.5.1, es-abstract@^1.6.1, es-abstract@^1.7.0:
version "1.11.0"
resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.11.0.tgz#cce87d518f0496893b1a30cd8461835535480681"
@@ -4834,6 +6037,10 @@ eventemitter3@1.x.x:
version "1.2.0"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
+eventemitter3@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.0.tgz#090b4d6cdbd645ed10bf750d4b5407942d7ba163"
+
eventlistener@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/eventlistener/-/eventlistener-0.0.1.tgz#ed2baabb852227af2bcf889152c72c63ca532eb8"
@@ -4865,6 +6072,18 @@ exec-sh@^0.2.0:
dependencies:
merge "^1.1.3"
+execa@^0.10.0:
+ version "0.10.0"
+ resolved "https://registry.yarnpkg.com/execa/-/execa-0.10.0.tgz#ff456a8f53f90f8eccc71a96d11bdfc7f082cb50"
+ dependencies:
+ cross-spawn "^6.0.0"
+ get-stream "^3.0.0"
+ is-stream "^1.1.0"
+ npm-run-path "^2.0.0"
+ p-finally "^1.0.0"
+ signal-exit "^3.0.0"
+ strip-eof "^1.0.0"
+
execa@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
@@ -4975,6 +6194,41 @@ expect@^23.6.0:
jest-message-util "^23.4.0"
jest-regex-util "^23.3.0"
+express@^4.0.0, express@^4.13.3:
+ version "4.16.4"
+ resolved "https://registry.yarnpkg.com/express/-/express-4.16.4.tgz#fddef61926109e24c515ea97fd2f1bdbf62df12e"
+ dependencies:
+ accepts "~1.3.5"
+ array-flatten "1.1.1"
+ body-parser "1.18.3"
+ content-disposition "0.5.2"
+ content-type "~1.0.4"
+ cookie "0.3.1"
+ cookie-signature "1.0.6"
+ debug "2.6.9"
+ depd "~1.1.2"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ finalhandler "1.1.1"
+ fresh "0.5.2"
+ merge-descriptors "1.0.1"
+ methods "~1.1.2"
+ on-finished "~2.3.0"
+ parseurl "~1.3.2"
+ path-to-regexp "0.1.7"
+ proxy-addr "~2.0.4"
+ qs "6.5.2"
+ range-parser "~1.2.0"
+ safe-buffer "5.1.2"
+ send "0.16.2"
+ serve-static "1.13.2"
+ setprototypeof "1.1.0"
+ statuses "~1.4.0"
+ type-is "~1.6.16"
+ utils-merge "1.0.1"
+ vary "~1.1.2"
+
express@^4.16.2:
version "4.16.3"
resolved "https://registry.yarnpkg.com/express/-/express-4.16.3.tgz#6af8a502350db3246ecc4becf6b5a34d22f7ed53"
@@ -5141,6 +6395,10 @@ fb-watchman@^2.0.0:
dependencies:
bser "^2.0.0"
+fbjs-css-vars@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/fbjs-css-vars/-/fbjs-css-vars-1.0.1.tgz#836d876e887d702f45610f5ebd2fbeef649527fc"
+
fbjs@^0.8.0, fbjs@^0.8.15, fbjs@^0.8.16, fbjs@^0.8.9:
version "0.8.16"
resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db"
@@ -5153,6 +6411,23 @@ fbjs@^0.8.0, fbjs@^0.8.15, fbjs@^0.8.16, fbjs@^0.8.9:
setimmediate "^1.0.5"
ua-parser-js "^0.7.9"
+fbjs@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-1.0.0.tgz#52c215e0883a3c86af2a7a776ed51525ae8e0a5a"
+ dependencies:
+ core-js "^2.4.1"
+ fbjs-css-vars "^1.0.0"
+ isomorphic-fetch "^2.1.1"
+ loose-envify "^1.0.0"
+ object-assign "^4.1.0"
+ promise "^7.1.1"
+ setimmediate "^1.0.5"
+ ua-parser-js "^0.7.18"
+
+fclone@^1.0.11:
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/fclone/-/fclone-1.0.11.tgz#10e85da38bfea7fc599341c296ee1d77266ee640"
+
fd-slicer@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
@@ -5203,6 +6478,13 @@ file-loader@1.1.11:
loader-utils "^1.0.2"
schema-utils "^0.4.5"
+file-loader@1.1.5:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.5.tgz#91c25b6b6fbe56dae99f10a425fd64933b5c9daa"
+ dependencies:
+ loader-utils "^1.0.2"
+ schema-utils "^0.3.0"
+
file-loader@1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-1.1.6.tgz#7b9a8f2c58f00a77fddf49e940f7ac978a3ea0e8"
@@ -5403,6 +6685,14 @@ fresh@0.5.2:
version "0.5.2"
resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+friendly-errors-webpack-plugin@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.yarnpkg.com/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.7.0.tgz#efc86cbb816224565861a1be7a9d84d0aafea136"
+ dependencies:
+ chalk "^1.1.3"
+ error-stack-parser "^2.0.0"
+ string-width "^2.0.0"
+
from2@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
@@ -5420,6 +6710,14 @@ fs-access@^1.0.0:
dependencies:
null-check "^1.0.0"
+fs-extra@4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.2.tgz#f91704c53d1b461f893452b0c307d9997647ab6b"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
fs-extra@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-5.0.0.tgz#414d0110cdd06705734d055652c5411260c31abd"
@@ -5444,6 +6742,14 @@ fs-extra@^1.0.0:
jsonfile "^2.1.0"
klaw "^1.0.0"
+fs-extra@^4.0.2:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94"
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
fs-minipass@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
@@ -5681,6 +6987,17 @@ glob-to-regexp@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
+glob@7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.2"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1:
version "7.1.2"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
@@ -5820,6 +7137,84 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.4,
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+"graceful-readlink@>= 1.0.0":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
+
+graphpack@^1.0.0-alpha.3:
+ version "1.0.0-alpha.3"
+ resolved "https://registry.yarnpkg.com/graphpack/-/graphpack-1.0.0-alpha.3.tgz#53b7b2b2ec31a523cd7dfdb27bef2ebebe07565e"
+ dependencies:
+ "@babel/core" "^7.1.2"
+ "@babel/plugin-syntax-dynamic-import" "^7.0.0"
+ "@babel/preset-env" "^7.1.0"
+ apollo-server "2.1.0"
+ babel-loader "^8.0.4"
+ babel-preset-graphpack "^1.0.0-alpha.3"
+ cosmiconfig "^5.0.6"
+ friendly-errors-webpack-plugin "^1.7.0"
+ graphql "^0.13.2"
+ graphql-tag "^2.9.2"
+ nodemon "^1.18.4"
+ ramda "^0.25.0"
+ webpack "^4.20.2"
+ webpack-node-externals "^1.7.2"
+ yargs "^12.0.2"
+
+graphql-extensions@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.yarnpkg.com/graphql-extensions/-/graphql-extensions-0.2.1.tgz#7697e0fcea2e622afe9e24dd31fc84f533e84c70"
+ dependencies:
+ apollo-server-env "^2.0.3"
+
+graphql-subscriptions@^0.5.8:
+ version "0.5.8"
+ resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-0.5.8.tgz#13a6143c546bce390404657dc73ca501def30aa7"
+ dependencies:
+ iterall "^1.2.1"
+
+graphql-tag@^2.10.0, graphql-tag@^2.4.2, graphql-tag@^2.9.2:
+ version "2.10.0"
+ resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.0.tgz#87da024be863e357551b2b8700e496ee2d4353ae"
+
+graphql-tools@^3.0.4:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-3.1.1.tgz#d593358f01e7c8b1671a17b70ddb034dea9dbc50"
+ dependencies:
+ apollo-link "^1.2.2"
+ apollo-utilities "^1.0.1"
+ deprecated-decorator "^0.1.6"
+ iterall "^1.1.3"
+ uuid "^3.1.0"
+
+graphql-tools@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.yarnpkg.com/graphql-tools/-/graphql-tools-4.0.2.tgz#9da22974cc6bf6524ed4f4af35556fd15aa6516d"
+ dependencies:
+ apollo-link "^1.2.3"
+ apollo-utilities "^1.0.1"
+ deprecated-decorator "^0.1.6"
+ iterall "^1.1.3"
+ uuid "^3.1.0"
+
+graphql@^0.10.3:
+ version "0.10.5"
+ resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.10.5.tgz#c9be17ca2bdfdbd134077ffd9bbaa48b8becd298"
+ dependencies:
+ iterall "^1.1.0"
+
+graphql@^0.13.2:
+ version "0.13.2"
+ resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.13.2.tgz#4c740ae3c222823e7004096f832e7b93b2108270"
+ dependencies:
+ iterall "^1.2.1"
+
+graphql@^14.0.2:
+ version "14.0.2"
+ resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.0.2.tgz#7dded337a4c3fd2d075692323384034b357f5650"
+ dependencies:
+ iterall "^1.2.2"
+
growl@1.10.3:
version "1.10.3"
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f"
@@ -5828,6 +7223,10 @@ growl@1.10.5, "growl@~> 1.10.0":
version "1.10.5"
resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e"
+growl@1.9.2:
+ version "1.9.2"
+ resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f"
+
growly@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
@@ -5836,6 +7235,13 @@ gud@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/gud/-/gud-1.0.0.tgz#a489581b17e6a70beca9abe3ae57de7a499852c0"
+gzip-size@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-4.0.0.tgz#a80e13e18938bcb2e6702fec606f5cf8b666db3a"
+ dependencies:
+ duplexer "^0.1.1"
+ pify "^3.0.0"
+
gzip-size@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-4.1.0.tgz#8ae096257eabe7d69c45be2b67c448124ffb517c"
@@ -5911,6 +7317,12 @@ has-binary2@~1.0.2:
dependencies:
isarray "2.0.1"
+has-binary@0.1.7:
+ version "0.1.7"
+ resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c"
+ dependencies:
+ isarray "0.0.1"
+
has-cors@1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
@@ -5994,6 +7406,13 @@ hash.js@^1.0.0, hash.js@^1.0.3:
inherits "^2.0.3"
minimalistic-assert "^1.0.0"
+hash.js@^1.1.3:
+ version "1.1.5"
+ resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812"
+ dependencies:
+ inherits "^2.0.3"
+ minimalistic-assert "^1.0.1"
+
hasha@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1"
@@ -6169,7 +7588,7 @@ http-errors@1.6.2:
setprototypeof "1.0.3"
statuses ">= 1.3.1 < 2"
-http-errors@1.6.3, http-errors@~1.6.2:
+http-errors@1.6.3, http-errors@~1.6.2, http-errors@~1.6.3:
version "1.6.3"
resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
dependencies:
@@ -6347,6 +7766,10 @@ immutability-helper@^2.6.6:
dependencies:
invariant "^2.2.0"
+immutable-tuple@^0.4.4:
+ version "0.4.8"
+ resolved "https://registry.yarnpkg.com/immutable-tuple/-/immutable-tuple-0.4.8.tgz#f60b65b863d34be39d307d1bbf4a450e1ac3048a"
+
immutable@^3.7.4:
version "3.8.2"
resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3"
@@ -6573,6 +7996,10 @@ invert-kv@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+invert-kv@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
+
ip@^1.1.0, ip@^1.1.2, ip@^1.1.4, ip@^1.1.5:
version "1.1.5"
resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a"
@@ -6581,6 +8008,10 @@ ipaddr.js@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.6.0.tgz#e3fa357b773da619f26e95f049d055c72796f86b"
+ipaddr.js@1.8.0:
+ version "1.8.0"
+ resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.8.0.tgz#eaa33d6ddd7ace8f7f6fe0c9ca0440e706738b1e"
+
is-absolute-url@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
@@ -7086,6 +8517,10 @@ istanbul@0.4.5, istanbul@^0.4.0:
which "^1.1.1"
wordwrap "^1.0.0"
+iterall@^1.1.0, iterall@^1.1.3, iterall@^1.2.1, iterall@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.2.2.tgz#92d70deb8028e0c39ff3164fdbf4d8b088130cd7"
+
jest-changed-files@^23.4.2:
version "23.4.2"
resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz#1eed688370cd5eebafe4ae93d34bb3b64968fe83"
@@ -7399,6 +8834,10 @@ js-base64@^2.1.9:
version "2.4.9"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.9.tgz#748911fb04f48a60c4771b375cac45a80df11c03"
+js-levenshtein@^1.1.3:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.4.tgz#3a56e3cbf589ca0081eb22cd9ba0b1290a16d26e"
+
js-tokens@^3.0.0, js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
@@ -7521,7 +8960,7 @@ json2mq@^0.2.0:
dependencies:
string-convert "^0.2.0"
-json3@^3.3.2:
+json3@3.3.2, json3@^3.3.2:
version "3.3.2"
resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
@@ -7616,6 +9055,16 @@ karma-sourcemap-loader@0.3.7:
dependencies:
graceful-fs "^4.1.2"
+karma-webpack@2.0.5:
+ version "2.0.5"
+ resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.5.tgz#4f56887e32cf4f9583391c2388415de06af06efd"
+ dependencies:
+ async "~0.9.0"
+ loader-utils "^0.2.5"
+ lodash "^3.8.0"
+ source-map "^0.1.41"
+ webpack-dev-middleware "^1.0.11"
+
karma-webpack@2.0.9:
version "2.0.9"
resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-2.0.9.tgz#61c88091f7dd910635134c032b266a465affb57f"
@@ -7637,6 +9086,38 @@ karma-webpack@3.0.0:
source-map "^0.5.6"
webpack-dev-middleware "^2.0.6"
+karma@1.7.1:
+ version "1.7.1"
+ resolved "https://registry.yarnpkg.com/karma/-/karma-1.7.1.tgz#85cc08e9e0a22d7ce9cca37c4a1be824f6a2b1ae"
+ dependencies:
+ bluebird "^3.3.0"
+ body-parser "^1.16.1"
+ chokidar "^1.4.1"
+ colors "^1.1.0"
+ combine-lists "^1.0.0"
+ connect "^3.6.0"
+ core-js "^2.2.0"
+ di "^0.0.1"
+ dom-serialize "^2.2.0"
+ expand-braces "^0.1.1"
+ glob "^7.1.1"
+ graceful-fs "^4.1.2"
+ http-proxy "^1.13.0"
+ isbinaryfile "^3.0.0"
+ lodash "^3.8.0"
+ log4js "^0.6.31"
+ mime "^1.3.4"
+ minimatch "^3.0.2"
+ optimist "^0.6.1"
+ qjobs "^1.1.4"
+ range-parser "^1.2.0"
+ rimraf "^2.6.0"
+ safe-buffer "^5.0.1"
+ socket.io "1.7.3"
+ source-map "^0.5.3"
+ tmp "0.0.31"
+ useragent "^2.1.12"
+
karma@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/karma/-/karma-2.0.0.tgz#a02698dd7f0f05ff5eb66ab8f65582490b512e58"
@@ -7760,6 +9241,12 @@ lcid@^1.0.0:
dependencies:
invert-kv "^1.0.0"
+lcid@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
+ dependencies:
+ invert-kv "^2.0.0"
+
lcov-parse@^0.0.10:
version "0.0.10"
resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-0.0.10.tgz#1b0b8ff9ac9c7889250582b70b71315d9da6d9a3"
@@ -7883,7 +9370,6 @@ listr-silent-renderer@^1.1.1:
listr-update-renderer@^0.4.0, "listr-update-renderer@https://github.com/okonet/listr-update-renderer/tarball/upgrade-log-update":
version "0.4.0"
- uid "06073fa93166277607a7814f4e1f83960081414c"
resolved "https://github.com/okonet/listr-update-renderer/tarball/upgrade-log-update#06073fa93166277607a7814f4e1f83960081414c"
dependencies:
chalk "^1.1.3"
@@ -7985,10 +9471,29 @@ lodash-es@^4.17.4:
version "4.17.8"
resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.8.tgz#6fa8c8c5d337481df0bdf1c0d899d42473121e45"
+lodash._baseassign@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e"
+ dependencies:
+ lodash._basecopy "^3.0.0"
+ lodash.keys "^3.0.0"
+
+lodash._basecopy@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
+
+lodash._basecreate@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.yarnpkg.com/lodash._basecreate/-/lodash._basecreate-3.0.3.tgz#1bc661614daa7fc311b7d03bf16806a0213cf821"
+
lodash._getnative@^3.0.0:
version "3.9.1"
resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
+lodash._isiterateecall@^3.0.0:
+ version "3.0.9"
+ resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
+
lodash._reinterpolate@~3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
@@ -8005,10 +9510,22 @@ lodash.clonedeep@^4.3.2:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
+lodash.create@3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lodash.create/-/lodash.create-3.1.1.tgz#d7f2849f0dbda7e04682bb8cd72ab022461debe7"
+ dependencies:
+ lodash._baseassign "^3.0.0"
+ lodash._basecreate "^3.0.0"
+ lodash._isiterateecall "^3.0.0"
+
lodash.debounce@^4.0.0, lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+lodash.flowright@^3.5.0:
+ version "3.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.flowright/-/lodash.flowright-3.5.0.tgz#2b5fff399716d7e7dc5724fe9349f67065184d67"
+
lodash.isarguments@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
@@ -8017,7 +9534,11 @@ lodash.isarray@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
-lodash.keys@^3.1.2:
+lodash.isequal@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
+
+lodash.keys@^3.0.0, lodash.keys@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
dependencies:
@@ -8106,6 +9627,13 @@ log-update@^2.3.0:
cli-cursor "^2.0.0"
wrap-ansi "^3.0.1"
+log4js@^0.6.31:
+ version "0.6.38"
+ resolved "http://registry.npmjs.org/log4js/-/log4js-0.6.38.tgz#2c494116695d6fb25480943d3fc872e662a522fd"
+ dependencies:
+ readable-stream "~1.0.2"
+ semver "~4.3.3"
+
log4js@^2.3.9, log4js@^2.5.3:
version "2.11.0"
resolved "https://registry.yarnpkg.com/log4js/-/log4js-2.11.0.tgz#bf3902eff65c6923d9ce9cfbd2db54160e34005a"
@@ -8144,7 +9672,7 @@ loglevelnext@^1.0.1:
es6-symbol "^3.1.1"
object.assign "^4.1.0"
-long@4.0.0:
+long@4.0.0, long@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
@@ -8258,6 +9786,12 @@ mamacro@^0.0.3:
version "0.0.3"
resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4"
+map-age-cleaner@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz#098fb15538fd3dbe461f12745b0ca8568d4e3f74"
+ dependencies:
+ p-defer "^1.0.0"
+
map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
@@ -8320,6 +9854,14 @@ mem@^1.1.0:
dependencies:
mimic-fn "^1.0.0"
+mem@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf"
+ dependencies:
+ map-age-cleaner "^0.1.1"
+ mimic-fn "^1.0.0"
+ p-is-promise "^1.1.0"
+
memory-fs@^0.4.0, memory-fs@^0.4.1, memory-fs@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
@@ -8429,12 +9971,22 @@ miller-rabin@^4.0.0:
version "1.33.0"
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.33.0.tgz#a3492050a5cb9b63450541e39d9788d2272783db"
+mime-db@~1.36.0:
+ version "1.36.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.36.0.tgz#5020478db3c7fe93aad7bbcc4dcf869c43363397"
+
mime-types@^2.1.11, mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7:
version "2.1.18"
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.18.tgz#6f323f60a83d11146f831ff11fd66e2fe5503bb8"
dependencies:
mime-db "~1.33.0"
+mime-types@~2.1.11:
+ version "2.1.20"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.20.tgz#930cb719d571e903738520f8470911548ca2cc19"
+ dependencies:
+ mime-db "~1.36.0"
+
mime@1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6"
@@ -8486,6 +10038,10 @@ minimalistic-assert@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3"
+minimalistic-assert@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+
minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
@@ -8584,6 +10140,23 @@ mkdirp@0.5.1, mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdi
dependencies:
minimist "0.0.8"
+mocha@3.5.3:
+ version "3.5.3"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.5.3.tgz#1e0480fe36d2da5858d1eb6acc38418b26eaa20d"
+ dependencies:
+ browser-stdout "1.3.0"
+ commander "2.9.0"
+ debug "2.6.8"
+ diff "3.2.0"
+ escape-string-regexp "1.0.5"
+ glob "7.1.1"
+ growl "1.9.2"
+ he "1.1.1"
+ json3 "3.3.2"
+ lodash.create "3.1.1"
+ mkdirp "0.5.1"
+ supports-color "3.1.2"
+
mocha@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/mocha/-/mocha-4.1.0.tgz#7d86cfbcf35cb829e2754c32e17355ec05338794"
@@ -8658,6 +10231,14 @@ move-concurrently@^1.0.1:
rimraf "^2.5.4"
run-queue "^1.0.3"
+ms@0.7.1:
+ version "0.7.1"
+ resolved "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
+
+ms@0.7.2:
+ version "0.7.2"
+ resolved "http://registry.npmjs.org/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765"
+
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -8753,6 +10334,12 @@ no-case@^2.2.0:
dependencies:
lower-case "^1.1.1"
+node-dir@^0.1.10:
+ version "0.1.17"
+ resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5"
+ dependencies:
+ minimatch "^3.0.2"
+
node-fetch-npm@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz#7258c9046182dca345b4208eda918daf33697ff7"
@@ -8768,6 +10355,10 @@ node-fetch@^1.0.1:
encoding "^0.1.11"
is-stream "^1.0.1"
+node-fetch@^2.1.2:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.2.0.tgz#4ee79bde909262f9775f731e3656d0db55ced5b5"
+
node-forge@0.7.1:
version "0.7.1"
resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.1.tgz#9da611ea08982f4b94206b3beb4cc9665f20c300"
@@ -8884,6 +10475,12 @@ node-releases@^1.0.0-alpha.10:
dependencies:
semver "^5.3.0"
+node-releases@^1.0.0-alpha.14:
+ version "1.0.0-alpha.14"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.0.0-alpha.14.tgz#da9e2780add4bbb59ad890af9e2018a1d9c0034b"
+ dependencies:
+ semver "^5.3.0"
+
node-sass@4.9.2:
version "4.9.2"
resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-4.9.2.tgz#5e63fe6bd0f2ae3ac9d6c14ede8620e2b8bdb437"
@@ -8976,6 +10573,21 @@ nodemon@^1.12.1:
undefsafe "^2.0.2"
update-notifier "^2.3.0"
+nodemon@^1.18.4:
+ version "1.18.4"
+ resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.18.4.tgz#873f65fdb53220eb166180cf106b1354ac5d714d"
+ dependencies:
+ chokidar "^2.0.2"
+ debug "^3.1.0"
+ ignore-by-default "^1.0.1"
+ minimatch "^3.0.4"
+ pstree.remy "^1.1.0"
+ semver "^5.5.0"
+ supports-color "^5.2.0"
+ touch "^3.1.0"
+ undefsafe "^2.0.2"
+ update-notifier "^2.3.0"
+
noop2@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/noop2/-/noop2-2.0.0.tgz#4b636015e9882b54783c02b412f699d8c5cd0a5b"
@@ -9188,6 +10800,86 @@ nwb-watch@1.0.0:
dependencies:
cross-spawn "^6.0.5"
+nwb@0.19.x:
+ version "0.19.2"
+ resolved "https://registry.yarnpkg.com/nwb/-/nwb-0.19.2.tgz#a2c7eb57fe151961eacd660b8e7810f01ae33366"
+ dependencies:
+ autoprefixer "7.1.6"
+ babel-cli "6.26.0"
+ babel-core "6.26.0"
+ babel-loader "7.1.2"
+ babel-plugin-add-module-exports "0.2.1"
+ babel-plugin-inferno "3.3.0"
+ babel-plugin-istanbul "4.1.5"
+ babel-plugin-lodash "3.2.11"
+ babel-plugin-react-transform "3.0.0"
+ babel-plugin-syntax-dynamic-import "6.18.0"
+ babel-plugin-syntax-jsx "6.18.0"
+ babel-plugin-transform-decorators-legacy "1.3.4"
+ babel-plugin-transform-react-constant-elements "6.23.0"
+ babel-plugin-transform-react-jsx "6.24.1"
+ babel-plugin-transform-react-jsx-self "6.22.0"
+ babel-plugin-transform-react-jsx-source "6.22.0"
+ babel-plugin-transform-react-remove-prop-types "0.4.10"
+ babel-plugin-transform-runtime "6.23.0"
+ babel-polyfill "6.26.0"
+ babel-preset-env "1.6.1"
+ babel-preset-react "6.24.1"
+ babel-preset-stage-0 "6.24.1"
+ babel-preset-stage-1 "6.24.1"
+ babel-preset-stage-2 "6.24.1"
+ babel-preset-stage-3 "6.24.1"
+ babel-runtime "6.26.0"
+ case-sensitive-paths-webpack-plugin "2.1.1"
+ chalk "2.3.0"
+ copy-template-dir "1.3.0"
+ copy-webpack-plugin "4.2.0"
+ cross-spawn "5.1.0"
+ css-loader "0.28.7"
+ debug "3.1.0"
+ detect-port "1.2.1"
+ diff "3.4.0"
+ eventsource-polyfill "0.9.6"
+ expect "1.20.2"
+ extract-text-webpack-plugin "3.0.2"
+ figures "2.0.0"
+ file-loader "1.1.5"
+ filesize "3.5.11"
+ fs-extra "4.0.2"
+ gzip-size "4.0.0"
+ html-webpack-plugin "2.30.1"
+ inquirer "3.3.0"
+ karma "1.7.1"
+ karma-chrome-launcher "2.2.0"
+ karma-coverage "1.1.1"
+ karma-mocha "1.3.0"
+ karma-mocha-reporter "2.2.5"
+ karma-phantomjs-launcher "1.0.4"
+ karma-sourcemap-loader "0.3.7"
+ karma-webpack "2.0.5"
+ minimist "1.2.0"
+ mocha "3.5.3"
+ npm-install-webpack2-plugin "5.0.1"
+ object-assign "4.1.1"
+ ora "1.3.0"
+ phantomjs-prebuilt "2.1.16"
+ postcss-loader "2.0.8"
+ promise "8.0.1"
+ react-transform-catch-errors "1.0.2"
+ react-transform-hmr "1.0.4"
+ redbox-noreact "1.1.0"
+ resolve "1.5.0"
+ run-series "1.1.4"
+ semver "5.4.1"
+ style-loader "0.19.0"
+ url-loader "0.6.2"
+ webpack "3.8.1"
+ webpack-dev-middleware "1.12.0"
+ webpack-dev-server "2.9.4"
+ webpack-hot-middleware "2.20.0"
+ webpack-merge "4.1.1"
+ whatwg-fetch "2.0.3"
+
nwb@0.21.5:
version "0.21.5"
resolved "https://registry.yarnpkg.com/nwb/-/nwb-0.21.5.tgz#8fc50eda7e3d5137801f6747bb9776d00d69cd88"
@@ -9359,7 +11051,11 @@ oauth-sign@~0.8.1, oauth-sign@~0.8.2:
version "0.8.2"
resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
-object-assign@4.1.1, object-assign@4.x, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+object-assign@4.1.0:
+ version "4.1.0"
+ resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
+
+object-assign@4.1.1, object-assign@4.x, object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
@@ -9395,6 +11091,10 @@ object-keys@^1.0.8, object-keys@^1.0.9:
version "1.0.11"
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d"
+object-path@^0.11.4:
+ version "0.11.4"
+ resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949"
+
object-visit@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
@@ -9491,6 +11191,12 @@ opn@5.3.0, opn@^5.1.0:
dependencies:
is-wsl "^1.1.0"
+optimism@^0.6.6:
+ version "0.6.6"
+ resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.6.6.tgz#5415b2d6a2f8b3745aedb9f97fdf4e52467ecd84"
+ dependencies:
+ immutable-tuple "^0.4.4"
+
optimist@^0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
@@ -9509,6 +11215,10 @@ optionator@^0.8.1, optionator@^0.8.2:
type-check "~0.3.2"
wordwrap "~1.0.0"
+options@>=0.0.5:
+ version "0.0.6"
+ resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f"
+
ora@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/ora/-/ora-1.3.0.tgz#80078dd2b92a934af66a3ad72a5b910694ede51a"
@@ -9557,7 +11267,15 @@ os-locale@^2.0.0:
lcid "^1.0.0"
mem "^1.1.0"
-os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2:
+os-locale@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.0.1.tgz#3b014fbf01d87f60a1e5348d80fe870dc82c4620"
+ dependencies:
+ execa "^0.10.0"
+ lcid "^2.0.0"
+ mem "^4.0.0"
+
+os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.1, os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
@@ -9576,10 +11294,18 @@ output-file-sync@^1.1.2:
mkdirp "^0.5.1"
object-assign "^4.1.0"
+p-defer@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
+
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+p-is-promise@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e"
+
p-limit@^1.0.0, p-limit@^1.1.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c"
@@ -9764,6 +11490,12 @@ parse5@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
+parsejson@0.0.3:
+ version "0.0.3"
+ resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab"
+ dependencies:
+ better-assert "~1.0.0"
+
parseqs@0.0.5:
version "0.0.5"
resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
@@ -10065,6 +11797,15 @@ postcss-loader@2.0.10:
postcss-load-config "^1.2.0"
schema-utils "^0.3.0"
+postcss-loader@2.0.8:
+ version "2.0.8"
+ resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.0.8.tgz#8c67ddb029407dfafe684a406cfc16bad2ce0814"
+ dependencies:
+ loader-utils "^1.1.0"
+ postcss "^6.0.0"
+ postcss-load-config "^1.2.0"
+ schema-utils "^0.3.0"
+
postcss-loader@2.1.6:
version "2.1.6"
resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-2.1.6.tgz#1d7dd7b17c6ba234b9bed5af13e0bea40a42d740"
@@ -10135,27 +11876,33 @@ postcss-minify-selectors@^2.0.4:
postcss "^5.0.14"
postcss-selector-parser "^2.0.0"
+postcss-modules-extract-imports@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.1.0.tgz#b614c9720be6816eaee35fb3a5faa1dba6a05ddb"
+ dependencies:
+ postcss "^6.0.1"
+
postcss-modules-extract-imports@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.0.tgz#66140ecece38ef06bf0d3e355d69bf59d141ea85"
dependencies:
postcss "^6.0.1"
-postcss-modules-local-by-default@^1.2.0:
+postcss-modules-local-by-default@^1.0.1, postcss-modules-local-by-default@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069"
dependencies:
css-selector-tokenizer "^0.7.0"
postcss "^6.0.1"
-postcss-modules-scope@^1.1.0:
+postcss-modules-scope@^1.0.0, postcss-modules-scope@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90"
dependencies:
css-selector-tokenizer "^0.7.0"
postcss "^6.0.1"
-postcss-modules-values@^1.3.0:
+postcss-modules-values@^1.1.0, postcss-modules-values@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20"
dependencies:
@@ -10263,7 +12010,7 @@ postcss@^6.0.0, postcss@^6.0.1:
source-map "^0.6.1"
supports-color "^5.3.0"
-postcss@^6.0.16, postcss@^6.0.23:
+postcss@^6.0.13, postcss@^6.0.16, postcss@^6.0.23:
version "6.0.23"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
dependencies:
@@ -10411,6 +12158,24 @@ proto-list@~1.2.1:
version "1.2.4"
resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
+protobufjs@^6.8.6:
+ version "6.8.8"
+ resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.8.8.tgz#c8b4f1282fd7a90e6f5b109ed11c84af82908e7c"
+ dependencies:
+ "@protobufjs/aspromise" "^1.1.2"
+ "@protobufjs/base64" "^1.1.2"
+ "@protobufjs/codegen" "^2.0.4"
+ "@protobufjs/eventemitter" "^1.1.0"
+ "@protobufjs/fetch" "^1.1.0"
+ "@protobufjs/float" "^1.0.2"
+ "@protobufjs/inquire" "^1.1.0"
+ "@protobufjs/path" "^1.1.2"
+ "@protobufjs/pool" "^1.1.0"
+ "@protobufjs/utf8" "^1.1.0"
+ "@types/long" "^4.0.0"
+ "@types/node" "^10.1.0"
+ long "^4.0.0"
+
protoduck@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.0.tgz#752145e6be0ad834cb25716f670a713c860dce70"
@@ -10424,6 +12189,13 @@ proxy-addr@~2.0.3:
forwarded "~0.1.2"
ipaddr.js "1.6.0"
+proxy-addr@~2.0.4:
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.4.tgz#ecfc733bf22ff8c6f407fa275327b9ab67e48b93"
+ dependencies:
+ forwarded "~0.1.2"
+ ipaddr.js "1.8.0"
+
proxy-agent@~3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-3.0.1.tgz#4fb7b61b1476d0fe8e3a3384d90e2460bbded3f9"
@@ -10524,6 +12296,10 @@ qs@6.5.1, qs@~6.5.1:
version "6.5.1"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
+qs@6.5.2:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
+
qs@~6.2.0:
version "6.2.3"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe"
@@ -10572,6 +12348,10 @@ raf@^3.4.0:
dependencies:
performance-now "^2.1.0"
+ramda@^0.25.0:
+ version "0.25.0"
+ resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.25.0.tgz#8fdf68231cffa90bc2f9460390a0cb74a29b29a9"
+
randomatic@^1.1.3:
version "1.1.7"
resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
@@ -10605,7 +12385,7 @@ raw-body@2.3.2:
iconv-lite "0.4.19"
unpipe "1.0.0"
-raw-body@^2.2.0:
+raw-body@2.3.3, raw-body@^2.2.0:
version "2.3.3"
resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3"
dependencies:
@@ -11091,11 +12871,22 @@ rc@^1.2.7:
minimist "^1.2.0"
strip-json-comments "~2.0.1"
+react-apollo@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-2.2.4.tgz#05b2a91deb4d5f30d2511fc663abc465b219435e"
+ dependencies:
+ fbjs "^1.0.0"
+ hoist-non-react-statics "^3.0.0"
+ invariant "^2.2.2"
+ lodash.flowright "^3.5.0"
+ lodash.isequal "^4.5.0"
+ prop-types "^15.6.0"
+
react-deep-force-update@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/react-deep-force-update/-/react-deep-force-update-1.1.1.tgz#bcd31478027b64b3339f108921ab520b4313dc2c"
-react-dom@16.6.0:
+react-dom@16.6.0, react-dom@^16.6.0:
version "16.6.0"
resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.6.0.tgz#6375b8391e019a632a89a0988bce85f0cc87a92f"
dependencies:
@@ -11120,7 +12911,11 @@ react-draggable@^3.0.5:
classnames "^2.2.5"
prop-types "^15.6.0"
-react-is@^16.3.2, react-is@^16.6.0:
+react-is@^16.3.2:
+ version "16.5.2"
+ resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.5.2.tgz#e2a7b7c3f5d48062eb769fcb123505eb928722e3"
+
+react-is@^16.6.0:
version "16.6.0"
resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.6.0.tgz#456645144581a6e99f6816ae2bd24ee94bdd0c01"
@@ -11230,7 +13025,7 @@ react-transform-hmr@1.0.4:
global "^4.3.0"
react-proxy "^1.1.7"
-react@16.6.0:
+react@16.6.0, react@^16.6.0:
version "16.6.0"
resolved "https://registry.yarnpkg.com/react/-/react-16.6.0.tgz#b34761cfaf3e30f5508bc732fb4736730b7da246"
dependencies:
@@ -11352,7 +13147,7 @@ read@1, read@~1.0.1:
string_decoder "~1.1.1"
util-deprecate "~1.0.1"
-readable-stream@1.0:
+readable-stream@1.0, readable-stream@~1.0.2:
version "1.0.34"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
dependencies:
@@ -11476,6 +13271,10 @@ redux-saga@^0.16.0:
version "0.16.0"
resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-0.16.0.tgz#0a231db0a1489301dd980f6f2f88d8ced418f724"
+redux-thunk@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/redux-thunk/-/redux-thunk-2.3.0.tgz#51c2c19a185ed5187aaa9a2d08b666d0d6467622"
+
redux@4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.1.tgz#436cae6cc40fbe4727689d7c8fae44808f1bfef5"
@@ -11490,10 +13289,20 @@ redux@^4.0.0:
loose-envify "^1.1.0"
symbol-observable "^1.2.0"
+regenerate-unicode-properties@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-7.0.0.tgz#107405afcc4a190ec5ed450ecaa00ed0cafa7a4c"
+ dependencies:
+ regenerate "^1.4.0"
+
regenerate@^1.2.1:
version "1.3.3"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f"
+regenerate@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
+
regenerator-runtime@^0.10.5:
version "0.10.5"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
@@ -11514,6 +13323,12 @@ regenerator-transform@^0.10.0:
babel-types "^6.19.0"
private "^0.1.6"
+regenerator-transform@^0.13.3:
+ version "0.13.3"
+ resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.13.3.tgz#264bd9ff38a8ce24b06e0636496b2c856b57bcbb"
+ dependencies:
+ private "^0.1.6"
+
regex-cache@^0.4.2:
version "0.4.4"
resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
@@ -11547,6 +13362,17 @@ regexpu-core@^2.0.0:
regjsgen "^0.2.0"
regjsparser "^0.1.4"
+regexpu-core@^4.1.3, regexpu-core@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.2.0.tgz#a3744fa03806cffe146dea4421a3e73bdcc47b1d"
+ dependencies:
+ regenerate "^1.4.0"
+ regenerate-unicode-properties "^7.0.0"
+ regjsgen "^0.4.0"
+ regjsparser "^0.3.0"
+ unicode-match-property-ecmascript "^1.0.4"
+ unicode-match-property-value-ecmascript "^1.0.2"
+
registry-auth-token@^3.0.1:
version "3.3.2"
resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.3.2.tgz#851fd49038eecb586911115af845260eec983f20"
@@ -11564,12 +13390,22 @@ regjsgen@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
+regjsgen@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.4.0.tgz#c1eb4c89a209263f8717c782591523913ede2561"
+
regjsparser@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
dependencies:
jsesc "~0.5.0"
+regjsparser@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.3.0.tgz#3c326da7fcfd69fa0d332575a41c8c0cdf588c96"
+ dependencies:
+ jsesc "~0.5.0"
+
relateurl@0.2.x:
version "0.2.7"
resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
@@ -11815,7 +13651,7 @@ resolve@1.5.0:
dependencies:
path-parse "^1.0.5"
-resolve@1.8.1, resolve@^1.1.3, resolve@^1.1.4:
+resolve@1.8.1, resolve@^1.1.3, resolve@^1.1.4, resolve@^1.3.2:
version "1.8.1"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26"
dependencies:
@@ -11845,6 +13681,10 @@ ret@~0.1.10:
version "0.1.15"
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+retry@0.12.0:
+ version "0.12.0"
+ resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
+
retry@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4"
@@ -11929,7 +13769,7 @@ safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, s
version "5.1.1"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
-safe-buffer@^5.1.2:
+safe-buffer@5.1.2, safe-buffer@^5.1.2:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
@@ -12043,10 +13883,18 @@ semver-diff@^2.0.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab"
+semver@5.4.1:
+ version "5.4.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
+
semver@^5.5.1:
version "5.5.1"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477"
+semver@~4.3.3:
+ version "4.3.6"
+ resolved "http://registry.npmjs.org/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
+
semver@~5.3.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
@@ -12295,10 +14143,33 @@ sntp@2.x.x:
dependencies:
hoek "4.x.x"
+socket.io-adapter@0.5.0:
+ version "0.5.0"
+ resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b"
+ dependencies:
+ debug "2.3.3"
+ socket.io-parser "2.3.1"
+
socket.io-adapter@~1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b"
+socket.io-client@1.7.3:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.3.tgz#b30e86aa10d5ef3546601c09cde4765e381da377"
+ dependencies:
+ backo2 "1.0.2"
+ component-bind "1.0.0"
+ component-emitter "1.2.1"
+ debug "2.3.3"
+ engine.io-client "1.8.3"
+ has-binary "0.1.7"
+ indexof "0.0.1"
+ object-component "0.0.3"
+ parseuri "0.0.5"
+ socket.io-parser "2.3.1"
+ to-array "0.1.4"
+
socket.io-client@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.0.4.tgz#0918a552406dc5e540b380dcd97afc4a64332f8e"
@@ -12317,6 +14188,15 @@ socket.io-client@2.0.4:
socket.io-parser "~3.1.1"
to-array "0.1.4"
+socket.io-parser@2.3.1:
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0"
+ dependencies:
+ component-emitter "1.1.2"
+ debug "2.2.0"
+ isarray "0.0.1"
+ json3 "3.3.2"
+
socket.io-parser@~3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.3.tgz#ed2da5ee79f10955036e3da413bfd7f1e4d86c8e"
@@ -12326,6 +14206,18 @@ socket.io-parser@~3.1.1:
has-binary2 "~1.0.2"
isarray "2.0.1"
+socket.io@1.7.3:
+ version "1.7.3"
+ resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.3.tgz#b8af9caba00949e568e369f1327ea9be9ea2461b"
+ dependencies:
+ debug "2.3.3"
+ engine.io "1.8.3"
+ has-binary "0.1.7"
+ object-assign "4.1.0"
+ socket.io-adapter "0.5.0"
+ socket.io-client "1.7.3"
+ socket.io-parser "2.3.1"
+
socket.io@2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.0.4.tgz#c1a4590ceff87ecf13c72652f046f716b29e6014"
@@ -12454,6 +14346,12 @@ source-map@0.5.x, source-map@^0.5.0, source-map@^0.5.1, source-map@^0.5.3, sourc
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+source-map@^0.1.41:
+ version "0.1.43"
+ resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
+ dependencies:
+ amdefine ">=0.0.4"
+
source-map@^0.4.2, source-map@^0.4.4:
version "0.4.4"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
@@ -12581,6 +14479,10 @@ stackframe@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-0.3.1.tgz#33aa84f1177a5548c8935533cbfeb3420975f5a4"
+stackframe@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.0.4.tgz#357b24a992f9427cba6b545d96a14ed2cbca187b"
+
staged-git-files@1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/staged-git-files/-/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b"
@@ -12681,6 +14583,10 @@ streamroller@0.7.0:
mkdirp "^0.5.1"
readable-stream "^2.3.0"
+streamsearch@0.1.2:
+ version "0.1.2"
+ resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a"
+
strict-uri-encode@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
@@ -12808,6 +14714,13 @@ strong-log-transformer@^2.0.0:
minimist "^1.2.0"
through "^2.3.4"
+style-loader@0.19.0:
+ version "0.19.0"
+ resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.19.0.tgz#7258e788f0fee6a42d710eaf7d6c2412a4c50759"
+ dependencies:
+ loader-utils "^1.0.2"
+ schema-utils "^0.3.0"
+
style-loader@0.20.1:
version "0.20.1"
resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.20.1.tgz#33ac2bf4d5c65a8906bc586ad253334c246998d0"
@@ -12828,6 +14741,22 @@ subarg@^1.0.0:
dependencies:
minimist "^1.1.0"
+subscriptions-transport-ws@^0.9.11:
+ version "0.9.15"
+ resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.15.tgz#68a8b7ba0037d8c489fb2f5a102d1494db297d0d"
+ dependencies:
+ backo2 "^1.0.2"
+ eventemitter3 "^3.1.0"
+ iterall "^1.2.1"
+ symbol-observable "^1.0.4"
+ ws "^5.2.0"
+
+supports-color@3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.1.2.tgz#72a262894d9d408b956ca05ff37b2ed8a6e2a2d5"
+ dependencies:
+ has-flag "^1.0.0"
+
supports-color@4.4.0:
version "4.4.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e"
@@ -12878,7 +14807,7 @@ symbol-observable@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.1.tgz#8340fc4702c3122df5d22288f88283f513d3fdd4"
-symbol-observable@^1.1.0, symbol-observable@^1.2.0:
+symbol-observable@^1.0.2, symbol-observable@^1.0.4, symbol-observable@^1.1.0, symbol-observable@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
@@ -12909,6 +14838,10 @@ tapable@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.0.0.tgz#cbb639d9002eed9c6b5975eb20598d7936f1f9f2"
+tapable@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.0.tgz#0d076a172e3d9ba088fd2272b2668fb8d194b78c"
+
tar-pack@^3.4.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f"
@@ -13050,6 +14983,12 @@ tmatch@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/tmatch/-/tmatch-2.0.1.tgz#0c56246f33f30da1b8d3d72895abaf16660f38cf"
+tmp@0.0.31:
+ version "0.0.31"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.31.tgz#8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7"
+ dependencies:
+ os-tmpdir "~1.0.1"
+
tmp@0.0.33, tmp@0.0.x, tmp@^0.0.33:
version "0.0.33"
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
@@ -13182,7 +15121,7 @@ type-check@~0.3.2:
dependencies:
prelude-ls "~1.1.2"
-type-is@~1.6.15, type-is@~1.6.16:
+type-is@^1.6.16, type-is@~1.6.15, type-is@~1.6.16:
version "1.6.16"
resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.16.tgz#f89ce341541c672b25ee7ae3c73dee3b2be50194"
dependencies:
@@ -13193,6 +15132,10 @@ typedarray@^0.0.6, typedarray@~0.0.5:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ua-parser-js@^0.7.18:
+ version "0.7.18"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.18.tgz#a7bfd92f56edfb117083b69e31d2aa8882d4b1ed"
+
ua-parser-js@^0.7.9:
version "0.7.17"
resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac"
@@ -13262,6 +15205,10 @@ uid-number@0.0.6, uid-number@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
+ultron@1.0.x:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa"
+
ultron@~1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
@@ -13293,6 +15240,25 @@ underscore@~1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209"
+unicode-canonical-property-names-ecmascript@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
+
+unicode-match-property-ecmascript@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c"
+ dependencies:
+ unicode-canonical-property-names-ecmascript "^1.0.4"
+ unicode-property-aliases-ecmascript "^1.0.4"
+
+unicode-match-property-value-ecmascript@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.0.2.tgz#9f1dc76926d6ccf452310564fd834ace059663d4"
+
+unicode-property-aliases-ecmascript@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.4.tgz#5a533f31b4317ea76f17d807fa0d116546111dd0"
+
unidragger@~2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/unidragger/-/unidragger-2.1.0.tgz#e4c23f5fab8188c637e776d0b3810c7d989e5561"
@@ -13558,7 +15524,7 @@ value-equal@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-0.4.0.tgz#c5bdd2f54ee093c04839d71ce2e4758a6890abc7"
-vary@~1.1.2:
+vary@^1, vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
@@ -13651,7 +15617,17 @@ webidl-conversions@^4.0.1, webidl-conversions@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
-webpack-dev-middleware@1.12.2, webpack-dev-middleware@^1.11.0, webpack-dev-middleware@^1.12.0:
+webpack-dev-middleware@1.12.0:
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.0.tgz#d34efefb2edda7e1d3b5dbe07289513219651709"
+ dependencies:
+ memory-fs "~0.4.1"
+ mime "^1.3.4"
+ path-is-absolute "^1.0.0"
+ range-parser "^1.0.3"
+ time-stamp "^2.0.0"
+
+webpack-dev-middleware@1.12.2, webpack-dev-middleware@^1.0.11, webpack-dev-middleware@^1.11.0, webpack-dev-middleware@^1.12.0:
version "1.12.2"
resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz#f8fc1120ce3b4fc5680ceecb43d777966b21105e"
dependencies:
@@ -13685,6 +15661,38 @@ webpack-dev-middleware@^2.0.6:
url-join "^2.0.2"
webpack-log "^1.0.1"
+webpack-dev-server@2.9.4:
+ version "2.9.4"
+ resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.4.tgz#7883e61759c6a4b33e9b19ec4037bd4ab61428d1"
+ dependencies:
+ ansi-html "0.0.7"
+ array-includes "^3.0.3"
+ bonjour "^3.5.0"
+ chokidar "^1.6.0"
+ compression "^1.5.2"
+ connect-history-api-fallback "^1.3.0"
+ debug "^3.1.0"
+ del "^3.0.0"
+ express "^4.13.3"
+ html-entities "^1.2.0"
+ http-proxy-middleware "~0.17.4"
+ import-local "^0.1.1"
+ internal-ip "1.2.0"
+ ip "^1.1.5"
+ killable "^1.0.0"
+ loglevel "^1.4.1"
+ opn "^5.1.0"
+ portfinder "^1.0.9"
+ selfsigned "^1.9.1"
+ serve-index "^1.7.2"
+ sockjs "0.3.18"
+ sockjs-client "1.1.4"
+ spdy "^3.4.1"
+ strip-ansi "^3.0.1"
+ supports-color "^4.2.1"
+ webpack-dev-middleware "^1.11.0"
+ yargs "^6.6.0"
+
webpack-dev-server@2.9.7:
version "2.9.7"
resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.9.7.tgz#100ad6a14775478924d417ca6dcfb9d52a98faed"
@@ -13750,6 +15758,15 @@ webpack-dev-server@3.1.5:
webpack-log "^1.1.2"
yargs "11.0.0"
+webpack-hot-middleware@2.20.0:
+ version "2.20.0"
+ resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.20.0.tgz#cb896d837758b6408fe0afeeafdc0e5316b15319"
+ dependencies:
+ ansi-html "0.0.7"
+ html-entities "^1.2.0"
+ querystring "^0.2.0"
+ strip-ansi "^3.0.0"
+
webpack-hot-middleware@2.21.0:
version "2.21.0"
resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.21.0.tgz#7b3c113a7a4b301c91e0749573c7aab28b414b52"
@@ -13789,6 +15806,10 @@ webpack-merge@4.1.4:
dependencies:
lodash "^4.17.5"
+webpack-node-externals@^1.7.2:
+ version "1.7.2"
+ resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-1.7.2.tgz#6e1ee79ac67c070402ba700ef033a9b8d52ac4e3"
+
webpack-sources@^1.0.1, webpack-sources@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54"
@@ -13796,6 +15817,13 @@ webpack-sources@^1.0.1, webpack-sources@^1.1.0:
source-list-map "^2.0.0"
source-map "~0.6.1"
+webpack-sources@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85"
+ dependencies:
+ source-list-map "^2.0.0"
+ source-map "~0.6.1"
+
webpack@3.10.0:
version "3.10.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.10.0.tgz#5291b875078cf2abf42bdd23afe3f8f96c17d725"
@@ -13823,6 +15851,33 @@ webpack@3.10.0:
webpack-sources "^1.0.1"
yargs "^8.0.2"
+webpack@3.8.1:
+ version "3.8.1"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.8.1.tgz#b16968a81100abe61608b0153c9159ef8bb2bd83"
+ dependencies:
+ acorn "^5.0.0"
+ acorn-dynamic-import "^2.0.0"
+ ajv "^5.1.5"
+ ajv-keywords "^2.0.0"
+ async "^2.1.2"
+ enhanced-resolve "^3.4.0"
+ escope "^3.6.0"
+ interpret "^1.0.0"
+ json-loader "^0.5.4"
+ json5 "^0.5.1"
+ loader-runner "^2.3.0"
+ loader-utils "^1.1.0"
+ memory-fs "~0.4.1"
+ mkdirp "~0.5.0"
+ node-libs-browser "^2.0.0"
+ source-map "^0.5.3"
+ supports-color "^4.2.1"
+ tapable "^0.2.7"
+ uglifyjs-webpack-plugin "^0.4.6"
+ watchpack "^1.4.0"
+ webpack-sources "^1.0.1"
+ yargs "^8.0.2"
+
webpack@4.16.4:
version "4.16.4"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.16.4.tgz#6b020f76483bc66339164c296d89978aa100d37a"
@@ -13853,6 +15908,35 @@ webpack@4.16.4:
watchpack "^1.5.0"
webpack-sources "^1.0.1"
+webpack@^4.20.2:
+ version "4.22.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.22.0.tgz#b168111e2e7b05f5169ac484e79e62093ec39e0d"
+ dependencies:
+ "@webassemblyjs/ast" "1.7.8"
+ "@webassemblyjs/helper-module-context" "1.7.8"
+ "@webassemblyjs/wasm-edit" "1.7.8"
+ "@webassemblyjs/wasm-parser" "1.7.8"
+ acorn "^5.6.2"
+ acorn-dynamic-import "^3.0.0"
+ ajv "^6.1.0"
+ ajv-keywords "^3.1.0"
+ chrome-trace-event "^1.0.0"
+ enhanced-resolve "^4.1.0"
+ eslint-scope "^4.0.0"
+ json-parse-better-errors "^1.0.2"
+ loader-runner "^2.3.0"
+ loader-utils "^1.1.0"
+ memory-fs "~0.4.1"
+ micromatch "^3.1.8"
+ mkdirp "~0.5.0"
+ neo-async "^2.5.0"
+ node-libs-browser "^2.0.0"
+ schema-utils "^0.4.4"
+ tapable "^1.1.0"
+ uglifyjs-webpack-plugin "^1.2.4"
+ watchpack "^1.5.0"
+ webpack-sources "^1.3.0"
+
websocket-driver@>=0.5.1:
version "0.7.0"
resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.0.tgz#0caf9d2d755d93aee049d4bdd0d3fe2cca2a24eb"
@@ -14014,6 +16098,13 @@ write@^0.2.1:
dependencies:
mkdirp "^0.5.1"
+ws@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f"
+ dependencies:
+ options ">=0.0.5"
+ ultron "1.0.x"
+
ws@^4.0.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-4.1.0.tgz#a979b5d7d4da68bf54efe0408967c324869a7289"
@@ -14021,6 +16112,12 @@ ws@^4.0.0:
async-limiter "~1.0.0"
safe-buffer "~5.1.0"
+ws@^5.2.0:
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f"
+ dependencies:
+ async-limiter "~1.0.0"
+
ws@~3.3.1:
version "3.3.3"
resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
@@ -14029,6 +16126,10 @@ ws@~3.3.1:
safe-buffer "~5.1.0"
ultron "~1.1.0"
+wtf-8@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a"
+
xdg-basedir@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4"
@@ -14037,6 +16138,10 @@ xml-name-validator@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
+xmlhttprequest-ssl@1.5.3:
+ version "1.5.3"
+ resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d"
+
xmlhttprequest-ssl@~1.5.4:
version "1.5.5"
resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e"
@@ -14133,6 +16238,23 @@ yargs@^12.0.1:
y18n "^3.2.1 || ^4.0.0"
yargs-parser "^10.1.0"
+yargs@^12.0.2:
+ version "12.0.2"
+ resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.2.tgz#fe58234369392af33ecbef53819171eff0f5aadc"
+ dependencies:
+ cliui "^4.0.0"
+ decamelize "^2.0.0"
+ find-up "^3.0.0"
+ get-caller-file "^1.0.1"
+ os-locale "^3.0.0"
+ require-directory "^2.1.1"
+ require-main-filename "^1.0.1"
+ set-blocking "^2.0.0"
+ string-width "^2.0.0"
+ which-module "^2.0.0"
+ y18n "^3.2.1 || ^4.0.0"
+ yargs-parser "^10.1.0"
+
yargs@^6.6.0:
version "6.6.0"
resolved "http://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208"
@@ -14205,3 +16327,17 @@ yauzl@2.4.1:
yeast@0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
+
+zen-observable-ts@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.4.4.tgz#c244c71eaebef79a985ccf9895bc90307a6e9712"
+
+zen-observable-ts@^0.8.10:
+ version "0.8.10"
+ resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.10.tgz#18e2ce1c89fe026e9621fd83cc05168228fce829"
+ dependencies:
+ zen-observable "^0.8.0"
+
+zen-observable@^0.8.0:
+ version "0.8.9"
+ resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.9.tgz#0475c760ff0eda046bbdfa4dc3f95d392807ac53"