├── src
├── simple
│ ├── root.re
│ ├── apollo
│ │ └── apolloProvider.re
│ ├── app.re
│ ├── apolloClient.re
│ ├── todoItem.re
│ ├── todoInput.re
│ ├── todoList.re
│ ├── types.re
│ ├── dataTodoContainer.re
│ └── todoContainer.re
├── assets
│ ├── index.html
│ ├── todomvc-common
│ │ └── base.css
│ └── todomvc-app-css
│ │ └── index.css
└── apollo-server
│ ├── index.js
│ └── schema.js
├── .gitignore
├── bsconfig.json
├── webpack.config.js
├── package.json
├── README.md
└── yarn-error.log
/src/simple/root.re:
--------------------------------------------------------------------------------
1 | ReactDOMRe.renderToElementWithId "index";
2 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | lib
3 | node_modules
4 | .merlin
5 | npm-debug.log
6 |
--------------------------------------------------------------------------------
/src/assets/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Todo App
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/simple/apollo/apolloProvider.re:
--------------------------------------------------------------------------------
1 | external apollo_provider : ReasonReact.reactClass = "ApolloProvider" [@@bs.module "react-apollo"];
2 |
3 | let make ::client children =>
4 | ReasonReact.wrapJsForReason reactClass::apollo_provider props::{"client": client} children;
5 |
--------------------------------------------------------------------------------
/src/simple/app.re:
--------------------------------------------------------------------------------
1 | let component = ReasonReact.statelessComponent "ApolloProviderLink";
2 |
3 | let make _children => {
4 | ...component,
5 | render: fun _self => {
6 |
7 | }
8 | };
9 |
--------------------------------------------------------------------------------
/src/simple/apolloClient.re:
--------------------------------------------------------------------------------
1 | open Types;
2 |
3 | external apollo_client : apolloClient => string =
4 | "ApolloClient" [@@bs.new] [@@bs.module "react-apollo"];
5 |
6 | external create_network_interface : networkInterface => string =
7 | "createNetworkInterface" [@@bs.module "react-apollo"];
8 |
9 | let networkInterfaceInstance = {"uri": "http://localhost:3010/graphql"};
10 |
11 | let apolloClientInstance = {"networkInterface": create_network_interface networkInterfaceInstance};
12 | let instance = apollo_client apolloClientInstance;
--------------------------------------------------------------------------------
/src/apollo-server/index.js:
--------------------------------------------------------------------------------
1 | const express = require('express');
2 | const bodyParser = require('body-parser');
3 | const {graphqlExpress} = require('apollo-server-express');
4 | const {schema} = require('./schema');
5 | const cors = require('cors');
6 |
7 | const PORT = 3010;
8 |
9 | const app = express();
10 |
11 | app.use(cors());
12 |
13 | // bodyParser is needed just for POST.
14 | app.use('/graphql', bodyParser.json(), graphqlExpress({ schema: schema }));
15 |
16 | app.listen(PORT, () => {
17 | console.log('Great, now open a new tab and run npm start');
18 | });
--------------------------------------------------------------------------------
/src/simple/todoItem.re:
--------------------------------------------------------------------------------
1 | open Types;
2 |
3 | let component = ReasonReact.statelessComponent "Todo";
4 |
5 | let make ::todo ::toggleTodo ::deleteTodo _children => {
6 | ...component,
7 | render: fun _self =>
8 |
9 |
10 | toggleTodo ()) />
11 |
12 |
14 |
15 | };
16 |
--------------------------------------------------------------------------------
/bsconfig.json:
--------------------------------------------------------------------------------
1 | /* This is the BuckleScript configuration file. Note that this is a comment;
2 | BuckleScript comes with a JSON parser that supports comments and trailing
3 | comma. If this screws with your editor highlighting, please tell us by filing
4 | an issue! */
5 | {
6 | "name" : "my-first-react-app",
7 | "reason" : {"react-jsx" : 2},
8 | "bs-dependencies": ["reason-react"],
9 | "bsc-flags": ["-bs-super-errors"],
10 | "sources": [
11 | {
12 | "dir": "src",
13 | "subdirs": [
14 | "simple",
15 | "simple/apollo"
16 | ]
17 | }
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/src/simple/todoInput.re:
--------------------------------------------------------------------------------
1 | let valueFromEvent event :string => (
2 | event |> ReactEventRe.Form.target |> ReactDOMRe.domElementToObj
3 | )##value;
4 |
5 | let component = ReasonReact.statefulComponent "Greeting";
6 |
7 | let make ::addTodo _children => {
8 | ...component,
9 | initialState: fun () => "",
10 | render: fun {state: text, update} =>
11 | ReasonReact.Update (valueFromEvent event)))
17 | onKeyDown=(
18 | update (
19 | fun event _ =>
20 | if (ReactEventRe.Keyboard.key event == "Enter") {
21 | addTodo text;
22 | ReasonReact.Update ""
23 | } else {
24 | ReasonReact.NoUpdate
25 | }
26 | )
27 | )
28 | />
29 | };
30 |
--------------------------------------------------------------------------------
/src/simple/todoList.re:
--------------------------------------------------------------------------------
1 | open Types;
2 |
3 | let se = ReasonReact.stringToElement;
4 |
5 | let component = ReasonReact.statelessComponent "TodosList";
6 |
7 | let make ::todos ::toggleTodo ::deleteTodo _children => {
8 | ...component,
9 | render: fun self => {
10 |
11 |
12 | (
13 | ReasonReact.arrayToElement (
14 | Array.of_list (
15 | List.map
16 | (
17 | fun todo => {
18 | toggleTodo todo##id)
22 | deleteTodo=(fun _ => deleteTodo todo##id)
23 | />
24 | }
25 | )
26 | todos
27 | )
28 | )
29 | )
30 |
31 |
32 | }
33 | };
34 |
--------------------------------------------------------------------------------
/webpack.config.js:
--------------------------------------------------------------------------------
1 | const path = require('path');
2 | const HtmlWebpackPlugin = require('html-webpack-plugin');
3 | const CleanWebpackPlugin = require('clean-webpack-plugin');
4 |
5 | module.exports = {
6 | entry: {
7 | root: './src/simple/root.re',
8 | static: [
9 | './src/assets/todomvc-app-css/index.css',
10 | './src/assets/todomvc-common/base.css'
11 | ]
12 | },
13 | output: {
14 | path: path.resolve(__dirname, 'bundledOutputs'),
15 | filename: '[name].js',
16 | },
17 | devServer: {
18 | contentBase: './bundledOutputs'
19 | },
20 | plugins: [
21 | new CleanWebpackPlugin(['bundledOutputs']),
22 | new HtmlWebpackPlugin({
23 | title: 'ReasonML graphQL',
24 | template: 'src/assets/index.html'
25 | })
26 | ],
27 | module: {
28 | rules: [
29 | // Set up Reason and OCaml files to use the loader
30 | { test: /\.(re|ml)$/, use: 'bs-loader' },
31 | { test: /\.css$/, use: [ 'style-loader', 'css-loader' ]}
32 | ]
33 | },
34 | resolve: {
35 | // Add .re and .ml to the list of extensions webpack recognizes
36 | extensions: ['.re', '.ml', '.js']
37 | },
38 | };
39 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "my-first-react-app",
3 | "private": true,
4 | "version": "0.1.0",
5 | "description": "",
6 | "main": "index.js",
7 | "scripts": {
8 | "start": "webpack-dev-server --open",
9 | "start:server": "node src/apollo-server/",
10 | "build": "bsb -make-world -w",
11 | "clean": "bsb -clean-world"
12 | },
13 | "keywords": [],
14 | "author": "",
15 | "license": "ISC",
16 | "dependencies": {
17 | "apollo-server-express": "^1.0.5",
18 | "body-parser": "^1.17.2",
19 | "cors": "^2.8.4",
20 | "express": "^4.15.3",
21 | "graphql-tag": "^2.4.2",
22 | "graphql-tools": "^1.1.0",
23 | "react": "^15.4.2",
24 | "react-apollo": "^1.4.8",
25 | "react-dom": "^15.4.2",
26 | "reason-react": ">=0.2.1",
27 | "todomvc-app-css": "^2.1.0",
28 | "todomvc-common": "^1.0.3"
29 | },
30 | "devDependencies": {
31 | "bs-loader": "^1.5.8",
32 | "bs-platform": "^1.8.2",
33 | "clean-webpack-plugin": "^0.1.16",
34 | "css-loader": "^0.28.4",
35 | "html-webpack-plugin": "^2.30.0",
36 | "style-loader": "^0.18.2",
37 | "webpack": "^3.4.1",
38 | "webpack-dev-server": "^2.6.1"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ### This repository uses plain GraphQL, Reason and Apollo.
2 | #### If you're looking for an easier way to use GraphQL, checkout the official [reason-apollo bindings](https://github.com/apollographql/reason-apollo)
3 |
4 | Have something you don't understand? Join us on [Discord](https://discord.gg/reasonml)!
5 |
6 | Run this project:
7 |
8 | ```
9 | npm install
10 | npm run start:server
11 | npm start # in a new tab
12 | ```
13 |
14 | Once your express server is running with `npm run start:server`,
15 | open a new tab and start the client with `npm start`
16 | this will run your client written in [ReasonML](https://reasonml.github.io/).
17 | Then modify whichever `.re` file in `src/simple/` and the page will reflect the changes automatically.
18 |
19 | You can see and modify the graphQL schema, running in express in `apollo-server/schema`. (install nodemon to automatically restart the server)
20 |
21 | The client is build using [ReasonReact](https://github.com/reasonml/reason-react).
22 | `dataTodoContainer.re` uses graphql from react-apollo to enhance ReasonML components with queries and mutations.
23 | `todoContainer.re` uses the query and mutations
24 |
25 | If you're looking for a very simple/basic example: https://github.com/Gregoirevda/graphql-reason-simple-example
26 |
--------------------------------------------------------------------------------
/src/simple/types.re:
--------------------------------------------------------------------------------
1 | type todo = Js.t {.
2 | id: int,
3 | title: string,
4 | active: bool
5 | };
6 |
7 | /* we give the query (under the hood, it's a string) an opaque type. This way nobody can accidentally use it as a string */
8 | type query;
9 |
10 | type apolloConfig = Js.t {. name : string};
11 |
12 | /*
13 | * annotate the function with [@bs] so that it's statically verified to be fully
14 | * applied at each callsite. Better perf from fewer curryings. See more info on
15 | * `[@bs]` in the BS manual
16 | */
17 | type gql = (string => query) [@bs];
18 |
19 | type wrapper = (ReasonReact.reactClass => ReasonReact.reactClass) [@bs];
20 |
21 | /* we can't easily use the Js.t {. ...} format here, since some config fields are optional */
22 | /* what's the props field exactly? */
23 | type graphqlConfig;
24 |
25 | external graphqlConfig :
26 | name::string =>
27 | alias::string? =>
28 | skip::Js.boolean? =>
29 | skip__func::'whateverTooLazy? =>
30 | unit =>
31 | graphqlConfig =
32 | "" [@@bs.obj];
33 |
34 | type graphql = (query => wrapper) [@bs];
35 |
36 | type graphqlWithConfig = (query => graphqlConfig => wrapper) [@bs];
37 |
38 | type stuff = {
39 | state: string,
40 | noRetainedProps: string,
41 | componentSpec: string
42 | };
43 |
44 | type networkInterface = Js.t {. uri : string};
45 |
46 | type apolloClient = Js.t {. networkInterface : string};
47 |
--------------------------------------------------------------------------------
/src/apollo-server/schema.js:
--------------------------------------------------------------------------------
1 | // graphql-tools combines a schema string with resolvers.
2 | const {makeExecutableSchema} = require('graphql-tools');
3 |
4 | let todos = [{ id: "1", active: true, title: "One"},
5 | { id: "2", active: false, title: "Two"}];
6 |
7 | // Construct a schema, using GraphQL schema language
8 | const typeDefs = `
9 | input TodoInput {
10 | title: String!
11 | active: Boolean!
12 | }
13 | type Todo {
14 | id: ID!
15 | title: String!
16 | active: Boolean!
17 | }
18 |
19 | type Query {
20 | todos: [Todo]
21 | }
22 |
23 | type Mutation {
24 | deleteTodo(id: ID!): [Todo]
25 | toggleTodo(id: ID!): [Todo]
26 | addTodo(title: String!, active: Boolean!): [Todo]
27 | }
28 | `;
29 |
30 | // Provide resolver functions for your schema fields
31 | const resolvers = {
32 | Query: {
33 | todos: () => {
34 | return todos;
35 | },
36 | },
37 | Mutation: {
38 | deleteTodo: (_, {id}) => {
39 | console.log(todos, id);
40 | todos = todos.filter(todo => todo.id !== id);
41 | return todos;
42 | },
43 | toggleTodo: (_, {id}) => {
44 | todos = todos.map(todo =>
45 | todo.id === id ? Object.assign({}, todo, {active: !todo.active}) : todo
46 | );
47 | return todos;
48 | },
49 | addTodo: (_, {title, active}) => {
50 | todos = [
51 | ...todos, {
52 | id: todos.reduce((id, todo) => parseInt(todo.id, 10) + 1, 1).toString(),
53 | title,
54 | active
55 | }];
56 | return todos;
57 | }
58 | }
59 | };
60 |
61 | exports.schema = makeExecutableSchema({
62 | typeDefs,
63 | resolvers,
64 | });
65 |
66 |
--------------------------------------------------------------------------------
/src/assets/todomvc-common/base.css:
--------------------------------------------------------------------------------
1 | hr {
2 | margin: 20px 0;
3 | border: 0;
4 | border-top: 1px dashed #c5c5c5;
5 | border-bottom: 1px dashed #f7f7f7;
6 | }
7 |
8 | .learn a {
9 | font-weight: normal;
10 | text-decoration: none;
11 | color: #b83f45;
12 | }
13 |
14 | .learn a:hover {
15 | text-decoration: underline;
16 | color: #787e7e;
17 | }
18 |
19 | .learn h3,
20 | .learn h4,
21 | .learn h5 {
22 | margin: 10px 0;
23 | font-weight: 500;
24 | line-height: 1.2;
25 | color: #000;
26 | }
27 |
28 | .learn h3 {
29 | font-size: 24px;
30 | }
31 |
32 | .learn h4 {
33 | font-size: 18px;
34 | }
35 |
36 | .learn h5 {
37 | margin-bottom: 0;
38 | font-size: 14px;
39 | }
40 |
41 | .learn ul {
42 | padding: 0;
43 | margin: 0 0 30px 25px;
44 | }
45 |
46 | .learn li {
47 | line-height: 20px;
48 | }
49 |
50 | .learn p {
51 | font-size: 15px;
52 | font-weight: 300;
53 | line-height: 1.3;
54 | margin-top: 0;
55 | margin-bottom: 0;
56 | }
57 |
58 | #issue-count {
59 | display: none;
60 | }
61 |
62 | .quote {
63 | border: none;
64 | margin: 20px 0 60px 0;
65 | }
66 |
67 | .quote p {
68 | font-style: italic;
69 | }
70 |
71 | .quote p:before {
72 | content: '“';
73 | font-size: 50px;
74 | opacity: .15;
75 | position: absolute;
76 | top: -20px;
77 | left: 3px;
78 | }
79 |
80 | .quote p:after {
81 | content: '”';
82 | font-size: 50px;
83 | opacity: .15;
84 | position: absolute;
85 | bottom: -42px;
86 | right: 3px;
87 | }
88 |
89 | .quote footer {
90 | position: absolute;
91 | bottom: -40px;
92 | right: 0;
93 | }
94 |
95 | .quote footer img {
96 | border-radius: 3px;
97 | }
98 |
99 | .quote footer a {
100 | margin-left: 5px;
101 | vertical-align: middle;
102 | }
103 |
104 | .speech-bubble {
105 | position: relative;
106 | padding: 10px;
107 | background: rgba(0, 0, 0, .04);
108 | border-radius: 5px;
109 | }
110 |
111 | .speech-bubble:after {
112 | content: '';
113 | position: absolute;
114 | top: 100%;
115 | right: 30px;
116 | border: 13px solid transparent;
117 | border-top-color: rgba(0, 0, 0, .04);
118 | }
119 |
120 | .learn-bar > .learn {
121 | position: absolute;
122 | width: 272px;
123 | top: 8px;
124 | left: -300px;
125 | padding: 10px;
126 | border-radius: 5px;
127 | background-color: rgba(255, 255, 255, .6);
128 | transition-property: left;
129 | transition-duration: 500ms;
130 | }
131 |
132 | @media (min-width: 899px) {
133 | .learn-bar {
134 | width: auto;
135 | padding-left: 300px;
136 | }
137 |
138 | .learn-bar > .learn {
139 | left: 8px;
140 | }
141 | }
142 |
--------------------------------------------------------------------------------
/src/simple/dataTodoContainer.re:
--------------------------------------------------------------------------------
1 | open Types;
2 |
3 | external gql : gql = "graphql-tag" [@@bs.module];
4 |
5 | external graphql : graphql = "graphql" [@@bs.module "react-apollo"];
6 |
7 | external graphqlWithConfig : graphqlWithConfig = "graphql" [@@bs.module "react-apollo"];
8 |
9 | /* usage: graphqlWithConfig todos_query (graphqlConfig name::"foo" ()) */
10 | let todos_query =
11 | gql {|
12 | query getAllTodos {
13 | todos {
14 | id
15 | title
16 | active
17 | }
18 | }
19 | |} [@bs];
20 |
21 | let add_todo_mutation =
22 | gql
23 | {|
24 | mutation addTodo($title: String!, $active: Boolean!) {
25 | addTodo(
26 | title: $title,
27 | active: $active
28 | ) {
29 | id
30 | title
31 | active
32 | }
33 | }
34 | |}
35 | [@bs];
36 |
37 | let toggle_todo_mutation =
38 | gql
39 | {|
40 | mutation toggleTodo($id: ID!) {
41 | toggleTodo(id: $id) {
42 | id
43 | title
44 | active
45 | }
46 | }
47 | |}
48 | [@bs];
49 |
50 | let delete_todo_mutation =
51 | gql
52 | {|
53 | mutation deleteTodo($id: ID!) {
54 | deleteTodo(id: $id) {
55 | id
56 | title
57 | active
58 | }
59 | }
60 | |}
61 | [@bs];
62 |
63 |
64 | let addTodoWrapper = graphqlWithConfig add_todo_mutation (graphqlConfig name::"addTodoMutation" ()) [@bs];
65 |
66 | let wrappedAddTodoComponent: ReasonReact.reactClass =
67 | addTodoWrapper TodoContainer.jsComponent [@bs];
68 |
69 | let queryWrapper = graphqlWithConfig todos_query (graphqlConfig name::"todosQuery"()) [@bs];
70 |
71 | let wrappedQueryTodosComponent: ReasonReact.reactClass =
72 | queryWrapper wrappedAddTodoComponent [@bs];
73 |
74 | let toggleTodoWrapper = graphqlWithConfig toggle_todo_mutation (graphqlConfig name::"toggleTodoMutation"()) [@bs];
75 |
76 | let wrappedToggleTodoMutationComponent: ReasonReact.reactClass =
77 | toggleTodoWrapper wrappedQueryTodosComponent [@bs];
78 |
79 | let deleteTodoWrapper = graphqlWithConfig delete_todo_mutation (graphqlConfig name::"deleteTodoMutation"()) [@bs];
80 |
81 | let wrappedDeleteTodoMutationComponent: ReasonReact.reactClass =
82 | deleteTodoWrapper wrappedToggleTodoMutationComponent [@bs];
83 |
84 | /*
85 | * this is unfortunate (but legit, and a supported use-case of ReasonReact). See
86 | * the comment in todoContainer, at the end. In the future, hopefully we can cut
87 | * out the js part in reason->js->js->reason */
88 | let make children =>
89 | ReasonReact.wrapJsForReason
90 | reactClass::wrappedDeleteTodoMutationComponent props::(Js.Obj.empty ()) children;
91 |
--------------------------------------------------------------------------------
/src/simple/todoContainer.re:
--------------------------------------------------------------------------------
1 | open Types;
2 |
3 | type todoJS = Js.t {
4 | .
5 | active: bool,
6 | title: string
7 | };
8 | type todoInput = Js.t {
9 | .
10 | todo: todoJS
11 | };
12 | type mutation = Js.t {
13 | .
14 | variables: todoInput
15 | };
16 |
17 | type response = Js.t {.
18 | todos: list todo,
19 | loading : bool
20 | };
21 |
22 | type propsType = {
23 | data: response
24 | };
25 |
26 | let se = ReasonReact.stringToElement;
27 |
28 | let lastTodoId = ref 0;
29 |
30 | let component = ReasonReact.statefulComponent "Page";
31 |
32 | let make ::todosQuery ::addTodoMutation ::toggleTodoMutation ::deleteTodoMutation _children => {
33 | ...component,
34 | render: fun _self => {
35 | let nonNullTodos = if(todosQuery##loading) { [] } else { Array.to_list todosQuery##todos };
36 | let numOfItems = List.length nonNullTodos;
37 |
38 | (ReasonReact.stringToElement "Todos")
39 | {
42 | let mutation = {
43 | "variables": {
44 | "title": text,
45 | "active": Js.true_
46 | }
47 | };
48 | addTodoMutation mutation;
49 | todosQuery##refetch ();
50 | }
51 | )
52 | />
53 | {
57 | let mutation = {
58 | "variables": {
59 | "id": id
60 | }
61 | };
62 | toggleTodoMutation mutation;
63 | todosQuery##refetch ();
64 | }
65 | )
66 | deleteTodo=(
67 | fun id => {
68 | let mutation = {
69 | "variables": {
70 | "id": id
71 | }
72 | };
73 | deleteTodoMutation mutation;
74 | todosQuery##refetch ();
75 | }
76 | )
77 | />
78 | (se ("Amount of todos: " ^ string_of_int numOfItems))
79 |
80 | }
81 | };
82 |
83 | /*
84 | * Why are we exposing this JS interop, even though this file's only used by the
85 | * Reason side? Because the higher-order function returned by the `graphql` call
86 | * (wrapper, in dataTodoContainer) asks as an input the backing ReactJS class,
87 | * which Reason circumvents, and only exposes when some JS calls really needs
88 | * it. Remember that a ReasonReact "class" isn't a ReactJS class.
89 | */
90 | let jsComponent = ReasonReact.wrapReasonForJs ::component (fun props => {
91 | make
92 | addTodoMutation::props##addTodoMutation
93 | todosQuery::props##todosQuery
94 | toggleTodoMutation::props##toggleTodoMutation
95 | deleteTodoMutation::props##deleteTodoMutation [||];
96 | }
97 |
98 | );
99 |
--------------------------------------------------------------------------------
/src/assets/todomvc-app-css/index.css:
--------------------------------------------------------------------------------
1 | html,
2 | body {
3 | margin: 0;
4 | padding: 0;
5 | }
6 |
7 | button {
8 | margin: 0;
9 | padding: 0;
10 | border: 0;
11 | background: none;
12 | font-size: 100%;
13 | vertical-align: baseline;
14 | font-family: inherit;
15 | font-weight: inherit;
16 | color: inherit;
17 | -webkit-appearance: none;
18 | appearance: none;
19 | -webkit-font-smoothing: antialiased;
20 | -moz-osx-font-smoothing: grayscale;
21 | }
22 |
23 | body {
24 | font: 14px 'Helvetica Neue', Helvetica, Arial, sans-serif;
25 | line-height: 1.4em;
26 | background: #f5f5f5;
27 | color: #4d4d4d;
28 | min-width: 230px;
29 | max-width: 550px;
30 | margin: 0 auto;
31 | -webkit-font-smoothing: antialiased;
32 | -moz-osx-font-smoothing: grayscale;
33 | font-weight: 300;
34 | }
35 |
36 | :focus {
37 | outline: 0;
38 | }
39 |
40 | .hidden {
41 | display: none;
42 | }
43 |
44 | .todoapp {
45 | background: #fff;
46 | margin: 130px 0 40px 0;
47 | position: relative;
48 | box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2),
49 | 0 25px 50px 0 rgba(0, 0, 0, 0.1);
50 | }
51 |
52 | .todoapp input::-webkit-input-placeholder {
53 | font-style: italic;
54 | font-weight: 300;
55 | color: #e6e6e6;
56 | }
57 |
58 | .todoapp input::-moz-placeholder {
59 | font-style: italic;
60 | font-weight: 300;
61 | color: #e6e6e6;
62 | }
63 |
64 | .todoapp input::input-placeholder {
65 | font-style: italic;
66 | font-weight: 300;
67 | color: #e6e6e6;
68 | }
69 |
70 | .todoapp h1 {
71 | position: absolute;
72 | top: -155px;
73 | width: 100%;
74 | font-size: 100px;
75 | font-weight: 100;
76 | text-align: center;
77 | color: rgba(175, 47, 47, 0.15);
78 | -webkit-text-rendering: optimizeLegibility;
79 | -moz-text-rendering: optimizeLegibility;
80 | text-rendering: optimizeLegibility;
81 | }
82 |
83 | .new-todo,
84 | .edit {
85 | position: relative;
86 | margin: 0;
87 | width: 100%;
88 | font-size: 24px;
89 | font-family: inherit;
90 | font-weight: inherit;
91 | line-height: 1.4em;
92 | border: 0;
93 | color: inherit;
94 | padding: 6px;
95 | border: 1px solid #999;
96 | box-shadow: inset 0 -1px 5px 0 rgba(0, 0, 0, 0.2);
97 | box-sizing: border-box;
98 | -webkit-font-smoothing: antialiased;
99 | -moz-osx-font-smoothing: grayscale;
100 | }
101 |
102 | .new-todo {
103 | padding: 16px 16px 16px 60px;
104 | border: none;
105 | background: rgba(0, 0, 0, 0.003);
106 | box-shadow: inset 0 -2px 1px rgba(0,0,0,0.03);
107 | }
108 |
109 | .main {
110 | position: relative;
111 | z-index: 2;
112 | border-top: 1px solid #e6e6e6;
113 | }
114 |
115 | .toggle-all {
116 | text-align: center;
117 | border: none; /* Mobile Safari */
118 | opacity: 0;
119 | position: absolute;
120 | }
121 |
122 | .toggle-all + label {
123 | width: 60px;
124 | height: 34px;
125 | font-size: 0;
126 | position: absolute;
127 | top: -52px;
128 | left: -13px;
129 | -webkit-transform: rotate(90deg);
130 | transform: rotate(90deg);
131 | }
132 |
133 | .toggle-all + label:before {
134 | content: '❯';
135 | font-size: 22px;
136 | color: #e6e6e6;
137 | padding: 10px 27px 10px 27px;
138 | }
139 |
140 | .toggle-all:checked + label:before {
141 | color: #737373;
142 | }
143 |
144 | .todo-list {
145 | margin: 0;
146 | padding: 0;
147 | list-style: none;
148 | }
149 |
150 | .todo-list li {
151 | position: relative;
152 | font-size: 24px;
153 | border-bottom: 1px solid #ededed;
154 | }
155 |
156 | .todo-list li:last-child {
157 | border-bottom: none;
158 | }
159 |
160 | .todo-list li.editing {
161 | border-bottom: none;
162 | padding: 0;
163 | }
164 |
165 | .todo-list li.editing .edit {
166 | display: block;
167 | width: 506px;
168 | padding: 12px 16px;
169 | margin: 0 0 0 43px;
170 | }
171 |
172 | .todo-list li.editing .view {
173 | display: none;
174 | }
175 |
176 | .todo-list li .toggle {
177 | text-align: center;
178 | width: 40px;
179 | /* auto, since non-WebKit browsers doesn't support input styling */
180 | height: auto;
181 | position: absolute;
182 | top: 0;
183 | bottom: 0;
184 | margin: auto 0;
185 | border: none; /* Mobile Safari */
186 | -webkit-appearance: none;
187 | appearance: none;
188 | }
189 |
190 | .todo-list li .toggle {
191 | opacity: 0;
192 | }
193 |
194 | .todo-list li .toggle + label {
195 | /*
196 | Firefox requires `#` to be escaped - https://bugzilla.mozilla.org/show_bug.cgi?id=922433
197 | IE and Edge requires *everything* to be escaped to render, so we do that instead of just the `#` - https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7157459/
198 | */
199 | background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23ededed%22%20stroke-width%3D%223%22/%3E%3C/svg%3E');
200 | background-repeat: no-repeat;
201 | background-position: center left;
202 | }
203 |
204 | .todo-list li .toggle:checked + label {
205 | background-image: url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%22-10%20-18%20100%20135%22%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2250%22%20fill%3D%22none%22%20stroke%3D%22%23bddad5%22%20stroke-width%3D%223%22/%3E%3Cpath%20fill%3D%22%235dc2af%22%20d%3D%22M72%2025L42%2071%2027%2056l-4%204%2020%2020%2034-52z%22/%3E%3C/svg%3E');
206 | }
207 |
208 | .todo-list li label {
209 | word-break: break-all;
210 | padding: 15px 15px 15px 60px;
211 | display: block;
212 | line-height: 1.2;
213 | transition: color 0.4s;
214 | }
215 |
216 | .todo-list li.completed label {
217 | color: #d9d9d9;
218 | text-decoration: line-through;
219 | }
220 |
221 | .todo-list li .destroy {
222 | display: none;
223 | position: absolute;
224 | top: 0;
225 | right: 10px;
226 | bottom: 0;
227 | width: 40px;
228 | height: 40px;
229 | margin: auto 0;
230 | font-size: 30px;
231 | color: #cc9a9a;
232 | margin-bottom: 11px;
233 | transition: color 0.2s ease-out;
234 | }
235 |
236 | .todo-list li .destroy:hover {
237 | color: #af5b5e;
238 | }
239 |
240 | .todo-list li .destroy:after {
241 | content: '×';
242 | }
243 |
244 | .todo-list li:hover .destroy {
245 | display: block;
246 | }
247 |
248 | .todo-list li .edit {
249 | display: none;
250 | }
251 |
252 | .todo-list li.editing:last-child {
253 | margin-bottom: -1px;
254 | }
255 |
256 | .footer {
257 | color: #777;
258 | padding: 10px 15px;
259 | height: 20px;
260 | text-align: center;
261 | border-top: 1px solid #e6e6e6;
262 | }
263 |
264 | .footer:before {
265 | content: '';
266 | position: absolute;
267 | right: 0;
268 | bottom: 0;
269 | left: 0;
270 | height: 50px;
271 | overflow: hidden;
272 | box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2),
273 | 0 8px 0 -3px #f6f6f6,
274 | 0 9px 1px -3px rgba(0, 0, 0, 0.2),
275 | 0 16px 0 -6px #f6f6f6,
276 | 0 17px 2px -6px rgba(0, 0, 0, 0.2);
277 | }
278 |
279 | .todo-count {
280 | float: left;
281 | text-align: left;
282 | }
283 |
284 | .todo-count strong {
285 | font-weight: 300;
286 | }
287 |
288 | .filters {
289 | margin: 0;
290 | padding: 0;
291 | list-style: none;
292 | position: absolute;
293 | right: 0;
294 | left: 0;
295 | }
296 |
297 | .filters li {
298 | display: inline;
299 | }
300 |
301 | .filters li a {
302 | color: inherit;
303 | margin: 3px;
304 | padding: 3px 7px;
305 | text-decoration: none;
306 | border: 1px solid transparent;
307 | border-radius: 3px;
308 | }
309 |
310 | .filters li a:hover {
311 | border-color: rgba(175, 47, 47, 0.1);
312 | }
313 |
314 | .filters li a.selected {
315 | border-color: rgba(175, 47, 47, 0.2);
316 | }
317 |
318 | .clear-completed,
319 | html .clear-completed:active {
320 | float: right;
321 | position: relative;
322 | line-height: 20px;
323 | text-decoration: none;
324 | cursor: pointer;
325 | }
326 |
327 | .clear-completed:hover {
328 | text-decoration: underline;
329 | }
330 |
331 | .info {
332 | margin: 65px auto 0;
333 | color: #bfbfbf;
334 | font-size: 10px;
335 | text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
336 | text-align: center;
337 | }
338 |
339 | .info p {
340 | line-height: 1;
341 | }
342 |
343 | .info a {
344 | color: inherit;
345 | text-decoration: none;
346 | font-weight: 400;
347 | }
348 |
349 | .info a:hover {
350 | text-decoration: underline;
351 | }
352 |
353 | /*
354 | Hack to remove background from Mobile Safari.
355 | Can't use it globally since it destroys checkboxes in Firefox
356 | */
357 | @media screen and (-webkit-min-device-pixel-ratio:0) {
358 | .toggle-all,
359 | .todo-list li .toggle {
360 | background: none;
361 | }
362 |
363 | .todo-list li .toggle {
364 | height: 40px;
365 | }
366 | }
367 |
368 | @media (max-width: 430px) {
369 | .footer {
370 | height: 50px;
371 | }
372 |
373 | .filters {
374 | bottom: 10px;
375 | }
376 | }
377 |
--------------------------------------------------------------------------------
/yarn-error.log:
--------------------------------------------------------------------------------
1 | Arguments:
2 | /usr/local/Cellar/node/8.2.1/bin/node /usr/local/bin/yarn
3 |
4 | PATH:
5 | /Users/greg/.nvm/versions/node/v7.0.0/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
6 |
7 | Yarn version:
8 | 0.23.4
9 |
10 | Node version:
11 | 8.2.1
12 |
13 | Platform:
14 | darwin x64
15 |
16 | npm manifest:
17 | {
18 | "name": "my-first-react-app",
19 | "private": true,
20 | "version": "0.1.0",
21 | "description": "",
22 | "main": "index.js",
23 | "scripts": {
24 | "test": "echo \"Error: no test specified\" && exit 1",
25 | "start": "bsb -make-world -w",
26 | "build": "webpack-dev-server --content-base bundledOutputs/",
27 | "clean": "bsb -clean-world"
28 | },
29 | "keywords": [],
30 | "author": "",
31 | "license": "ISC",
32 | "dependencies": {
33 | "graphql-tag": "^2.4.2",
34 | "react": "^15.4.2",
35 | "react-apollo": "^1.4.8",
36 | "react-dom": "^15.4.2",
37 | "reason-react": ">=0.2.1",
38 | "todomvc-app-css": "^2.1.0",
39 | "todomvc-common": "^1.0.3"
40 | },
41 | "devDependencies": {
42 | "bs-platform": "^1.8.2"
43 | }
44 | }
45 |
46 | yarn manifest:
47 | No manifest
48 |
49 | Lockfile:
50 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
51 | # yarn lockfile v1
52 |
53 |
54 | "@types/async@^2.0.31":
55 | version "2.0.40"
56 | resolved "https://registry.yarnpkg.com/@types/async/-/async-2.0.40.tgz#ac02de68e66c004a61b7cb16df8b1db3a254cca9"
57 |
58 | "@types/graphql@^0.9.0":
59 | version "0.9.4"
60 | resolved "https://registry.yarnpkg.com/@types/graphql/-/graphql-0.9.4.tgz#cdeb6bcbef9b6c584374b81aa7f48ecf3da404fa"
61 |
62 | "@types/isomorphic-fetch@0.0.34":
63 | version "0.0.34"
64 | resolved "https://registry.yarnpkg.com/@types/isomorphic-fetch/-/isomorphic-fetch-0.0.34.tgz#3c3483e606c041378438e951464f00e4e60706d6"
65 |
66 | abbrev@1:
67 | version "1.1.0"
68 | resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f"
69 |
70 | accepts@~1.3.3:
71 | version "1.3.3"
72 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
73 | dependencies:
74 | mime-types "~2.1.11"
75 | negotiator "0.6.1"
76 |
77 | acorn@^3.0.0:
78 | version "3.3.0"
79 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
80 |
81 | ajv@^4.9.1:
82 | version "4.11.8"
83 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
84 | dependencies:
85 | co "^4.6.0"
86 | json-stable-stringify "^1.0.1"
87 |
88 | align-text@^0.1.1, align-text@^0.1.3:
89 | version "0.1.4"
90 | resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
91 | dependencies:
92 | kind-of "^3.0.2"
93 | longest "^1.0.1"
94 | repeat-string "^1.5.2"
95 |
96 | amdefine@>=0.0.4:
97 | version "1.0.1"
98 | resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
99 |
100 | ansi-regex@^2.0.0:
101 | version "2.1.1"
102 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
103 |
104 | anymatch@^1.3.0:
105 | version "1.3.0"
106 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.0.tgz#a3e52fa39168c825ff57b0248126ce5a8ff95507"
107 | dependencies:
108 | arrify "^1.0.0"
109 | micromatch "^2.1.5"
110 |
111 | apollo-client@^1.4.0:
112 | version "1.8.1"
113 | resolved "https://registry.yarnpkg.com/apollo-client/-/apollo-client-1.8.1.tgz#17481cc15dc787202684c4a6fdaa80ba84568a10"
114 | dependencies:
115 | graphql "^0.10.0"
116 | graphql-anywhere "^3.0.1"
117 | graphql-tag "^2.0.0"
118 | redux "^3.4.0"
119 | symbol-observable "^1.0.2"
120 | whatwg-fetch "^2.0.0"
121 | optionalDependencies:
122 | "@types/async" "^2.0.31"
123 | "@types/graphql" "^0.9.0"
124 | "@types/isomorphic-fetch" "0.0.34"
125 |
126 | aproba@^1.0.3:
127 | version "1.1.2"
128 | resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.1.2.tgz#45c6629094de4e96f693ef7eab74ae079c240fc1"
129 |
130 | are-we-there-yet@~1.1.2:
131 | version "1.1.4"
132 | resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
133 | dependencies:
134 | delegates "^1.0.0"
135 | readable-stream "^2.0.6"
136 |
137 | arr-diff@^2.0.0:
138 | version "2.0.0"
139 | resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
140 | dependencies:
141 | arr-flatten "^1.0.1"
142 |
143 | arr-flatten@^1.0.1:
144 | version "1.1.0"
145 | resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
146 |
147 | array-flatten@1.1.1:
148 | version "1.1.1"
149 | resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
150 |
151 | array-unique@^0.2.1:
152 | version "0.2.1"
153 | resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
154 |
155 | arrify@^1.0.0:
156 | version "1.0.1"
157 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
158 |
159 | asap@~2.0.3:
160 | version "2.0.6"
161 | resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
162 |
163 | asn1@~0.2.3:
164 | version "0.2.3"
165 | resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
166 |
167 | assert-plus@1.0.0, assert-plus@^1.0.0:
168 | version "1.0.0"
169 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
170 |
171 | assert-plus@^0.2.0:
172 | version "0.2.0"
173 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
174 |
175 | assert@^1.1.1:
176 | version "1.4.1"
177 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
178 | dependencies:
179 | util "0.10.3"
180 |
181 | async-each@^1.0.0:
182 | version "1.0.1"
183 | resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
184 |
185 | async@^0.9.0:
186 | version "0.9.2"
187 | resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
188 |
189 | async@^1.3.0:
190 | version "1.5.2"
191 | resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
192 |
193 | async@~0.2.6:
194 | version "0.2.10"
195 | resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
196 |
197 | asynckit@^0.4.0:
198 | version "0.4.0"
199 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
200 |
201 | aws-sign2@~0.6.0:
202 | version "0.6.0"
203 | resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
204 |
205 | aws4@^1.2.1:
206 | version "1.6.0"
207 | resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
208 |
209 | balanced-match@^1.0.0:
210 | version "1.0.0"
211 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
212 |
213 | base64-js@^1.0.2:
214 | version "1.2.1"
215 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886"
216 |
217 | batch@0.6.1:
218 | version "0.6.1"
219 | resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
220 |
221 | bcrypt-pbkdf@^1.0.0:
222 | version "1.0.1"
223 | resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
224 | dependencies:
225 | tweetnacl "^0.14.3"
226 |
227 | big.js@^3.1.3:
228 | version "3.1.3"
229 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.1.3.tgz#4cada2193652eb3ca9ec8e55c9015669c9806978"
230 |
231 | binary-extensions@^1.0.0:
232 | version "1.8.0"
233 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774"
234 |
235 | block-stream@*:
236 | version "0.0.9"
237 | resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
238 | dependencies:
239 | inherits "~2.0.0"
240 |
241 | boom@2.x.x:
242 | version "2.10.1"
243 | resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
244 | dependencies:
245 | hoek "2.x.x"
246 |
247 | brace-expansion@^1.1.7:
248 | version "1.1.8"
249 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
250 | dependencies:
251 | balanced-match "^1.0.0"
252 | concat-map "0.0.1"
253 |
254 | braces@^1.8.2:
255 | version "1.8.5"
256 | resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
257 | dependencies:
258 | expand-range "^1.8.1"
259 | preserve "^0.2.0"
260 | repeat-element "^1.1.2"
261 |
262 | browserify-aes@0.4.0:
263 | version "0.4.0"
264 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-0.4.0.tgz#067149b668df31c4b58533e02d01e806d8608e2c"
265 | dependencies:
266 | inherits "^2.0.1"
267 |
268 | browserify-zlib@^0.1.4:
269 | version "0.1.4"
270 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
271 | dependencies:
272 | pako "~0.2.0"
273 |
274 | bs-platform@^1.8.2:
275 | version "1.8.2"
276 | resolved "https://registry.yarnpkg.com/bs-platform/-/bs-platform-1.8.2.tgz#2aba1cfc73e21feaa8902d67b5ddbec975938554"
277 |
278 | buffer@^4.9.0:
279 | version "4.9.1"
280 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
281 | dependencies:
282 | base64-js "^1.0.2"
283 | ieee754 "^1.1.4"
284 | isarray "^1.0.0"
285 |
286 | builtin-status-codes@^3.0.0:
287 | version "3.0.0"
288 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
289 |
290 | bytes@2.5.0:
291 | version "2.5.0"
292 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-2.5.0.tgz#4c9423ea2d252c270c41b2bdefeff9bb6b62c06a"
293 |
294 | camelcase@^1.0.2:
295 | version "1.2.1"
296 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
297 |
298 | caseless@~0.12.0:
299 | version "0.12.0"
300 | resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
301 |
302 | center-align@^0.1.1:
303 | version "0.1.3"
304 | resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
305 | dependencies:
306 | align-text "^0.1.3"
307 | lazy-cache "^1.0.3"
308 |
309 | chokidar@^1.0.0:
310 | version "1.7.0"
311 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
312 | dependencies:
313 | anymatch "^1.3.0"
314 | async-each "^1.0.0"
315 | glob-parent "^2.0.0"
316 | inherits "^2.0.1"
317 | is-binary-path "^1.0.0"
318 | is-glob "^2.0.0"
319 | path-is-absolute "^1.0.0"
320 | readdirp "^2.0.0"
321 | optionalDependencies:
322 | fsevents "^1.0.0"
323 |
324 | cliui@^2.1.0:
325 | version "2.1.0"
326 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
327 | dependencies:
328 | center-align "^0.1.1"
329 | right-align "^0.1.1"
330 | wordwrap "0.0.2"
331 |
332 | clone@^1.0.2:
333 | version "1.0.2"
334 | resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149"
335 |
336 | co@^4.6.0:
337 | version "4.6.0"
338 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
339 |
340 | code-point-at@^1.0.0:
341 | version "1.1.0"
342 | resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
343 |
344 | combined-stream@^1.0.5, combined-stream@~1.0.5:
345 | version "1.0.5"
346 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
347 | dependencies:
348 | delayed-stream "~1.0.0"
349 |
350 | compressible@~2.0.10:
351 | version "2.0.11"
352 | resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.11.tgz#16718a75de283ed8e604041625a2064586797d8a"
353 | dependencies:
354 | mime-db ">= 1.29.0 < 2"
355 |
356 | compression@^1.5.2:
357 | version "1.7.0"
358 | resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.0.tgz#030c9f198f1643a057d776a738e922da4373012d"
359 | dependencies:
360 | accepts "~1.3.3"
361 | bytes "2.5.0"
362 | compressible "~2.0.10"
363 | debug "2.6.8"
364 | on-headers "~1.0.1"
365 | safe-buffer "5.1.1"
366 | vary "~1.1.1"
367 |
368 | concat-map@0.0.1:
369 | version "0.0.1"
370 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
371 |
372 | connect-history-api-fallback@^1.3.0:
373 | version "1.3.0"
374 | resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.3.0.tgz#e51d17f8f0ef0db90a64fdb47de3051556e9f169"
375 |
376 | console-browserify@^1.1.0:
377 | version "1.1.0"
378 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
379 | dependencies:
380 | date-now "^0.1.4"
381 |
382 | console-control-strings@^1.0.0, console-control-strings@~1.1.0:
383 | version "1.1.0"
384 | resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
385 |
386 | constants-browserify@^1.0.0:
387 | version "1.0.0"
388 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
389 |
390 | content-disposition@0.5.2:
391 | version "0.5.2"
392 | resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4"
393 |
394 | content-type@~1.0.2:
395 | version "1.0.2"
396 | resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.2.tgz#b7d113aee7a8dd27bd21133c4dc2529df1721eed"
397 |
398 | cookie-signature@1.0.6:
399 | version "1.0.6"
400 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
401 |
402 | cookie@0.3.1:
403 | version "0.3.1"
404 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
405 |
406 | core-js@^1.0.0:
407 | version "1.2.7"
408 | resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
409 |
410 | core-util-is@~1.0.0:
411 | version "1.0.2"
412 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
413 |
414 | create-react-class@^15.0.0, create-react-class@^15.6.0:
415 | version "15.6.0"
416 | resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.0.tgz#ab448497c26566e1e29413e883207d57cfe7bed4"
417 | dependencies:
418 | fbjs "^0.8.9"
419 | loose-envify "^1.3.1"
420 | object-assign "^4.1.1"
421 |
422 | cryptiles@2.x.x:
423 | version "2.0.5"
424 | resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
425 | dependencies:
426 | boom "2.x.x"
427 |
428 | crypto-browserify@3.3.0:
429 | version "3.3.0"
430 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.3.0.tgz#b9fc75bb4a0ed61dcf1cd5dae96eb30c9c3e506c"
431 | dependencies:
432 | browserify-aes "0.4.0"
433 | pbkdf2-compat "2.0.1"
434 | ripemd160 "0.2.0"
435 | sha.js "2.2.6"
436 |
437 | dashdash@^1.12.0:
438 | version "1.14.1"
439 | resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
440 | dependencies:
441 | assert-plus "^1.0.0"
442 |
443 | date-now@^0.1.4:
444 | version "0.1.4"
445 | resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
446 |
447 | debug@2.6.7:
448 | version "2.6.7"
449 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.7.tgz#92bad1f6d05bbb6bba22cca88bcd0ec894c2861e"
450 | dependencies:
451 | ms "2.0.0"
452 |
453 | debug@2.6.8, debug@^2.2.0, debug@^2.6.6:
454 | version "2.6.8"
455 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
456 | dependencies:
457 | ms "2.0.0"
458 |
459 | decamelize@^1.0.0:
460 | version "1.2.0"
461 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
462 |
463 | deep-extend@~0.4.0:
464 | version "0.4.2"
465 | resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
466 |
467 | delayed-stream@~1.0.0:
468 | version "1.0.0"
469 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
470 |
471 | delegates@^1.0.0:
472 | version "1.0.0"
473 | resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
474 |
475 | depd@1.1.0:
476 | version "1.1.0"
477 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3"
478 |
479 | depd@~1.1.0:
480 | version "1.1.1"
481 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
482 |
483 | destroy@~1.0.4:
484 | version "1.0.4"
485 | resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
486 |
487 | domain-browser@^1.1.1:
488 | version "1.1.7"
489 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
490 |
491 | ecc-jsbn@~0.1.1:
492 | version "0.1.1"
493 | resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
494 | dependencies:
495 | jsbn "~0.1.0"
496 |
497 | ee-first@1.1.1:
498 | version "1.1.1"
499 | resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
500 |
501 | emojis-list@^2.0.0:
502 | version "2.1.0"
503 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
504 |
505 | encodeurl@~1.0.1:
506 | version "1.0.1"
507 | resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
508 |
509 | encoding@^0.1.11:
510 | version "0.1.12"
511 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb"
512 | dependencies:
513 | iconv-lite "~0.4.13"
514 |
515 | enhanced-resolve@~0.9.0:
516 | version "0.9.1"
517 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e"
518 | dependencies:
519 | graceful-fs "^4.1.2"
520 | memory-fs "^0.2.0"
521 | tapable "^0.1.8"
522 |
523 | errno@^0.1.3:
524 | version "0.1.4"
525 | resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d"
526 | dependencies:
527 | prr "~0.0.0"
528 |
529 | escape-html@~1.0.3:
530 | version "1.0.3"
531 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
532 |
533 | etag@~1.8.0:
534 | version "1.8.0"
535 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051"
536 |
537 | eventemitter3@1.x.x:
538 | version "1.2.0"
539 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
540 |
541 | events@^1.0.0:
542 | version "1.1.1"
543 | resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
544 |
545 | eventsource@0.1.6:
546 | version "0.1.6"
547 | resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-0.1.6.tgz#0acede849ed7dd1ccc32c811bb11b944d4f29232"
548 | dependencies:
549 | original ">=0.0.5"
550 |
551 | expand-brackets@^0.1.4:
552 | version "0.1.5"
553 | resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
554 | dependencies:
555 | is-posix-bracket "^0.1.0"
556 |
557 | expand-range@^1.8.1:
558 | version "1.8.2"
559 | resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
560 | dependencies:
561 | fill-range "^2.1.0"
562 |
563 | express@^4.13.3:
564 | version "4.15.3"
565 | resolved "https://registry.yarnpkg.com/express/-/express-4.15.3.tgz#bab65d0f03aa80c358408972fc700f916944b662"
566 | dependencies:
567 | accepts "~1.3.3"
568 | array-flatten "1.1.1"
569 | content-disposition "0.5.2"
570 | content-type "~1.0.2"
571 | cookie "0.3.1"
572 | cookie-signature "1.0.6"
573 | debug "2.6.7"
574 | depd "~1.1.0"
575 | encodeurl "~1.0.1"
576 | escape-html "~1.0.3"
577 | etag "~1.8.0"
578 | finalhandler "~1.0.3"
579 | fresh "0.5.0"
580 | merge-descriptors "1.0.1"
581 | methods "~1.1.2"
582 | on-finished "~2.3.0"
583 | parseurl "~1.3.1"
584 | path-to-regexp "0.1.7"
585 | proxy-addr "~1.1.4"
586 | qs "6.4.0"
587 | range-parser "~1.2.0"
588 | send "0.15.3"
589 | serve-static "1.12.3"
590 | setprototypeof "1.0.3"
591 | statuses "~1.3.1"
592 | type-is "~1.6.15"
593 | utils-merge "1.0.0"
594 | vary "~1.1.1"
595 |
596 | extend@~3.0.0:
597 | version "3.0.1"
598 | resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
599 |
600 | extglob@^0.3.1:
601 | version "0.3.2"
602 | resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
603 | dependencies:
604 | is-extglob "^1.0.0"
605 |
606 | extsprintf@1.0.2:
607 | version "1.0.2"
608 | resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.0.2.tgz#e1080e0658e300b06294990cc70e1502235fd550"
609 |
610 | faye-websocket@^0.10.0:
611 | version "0.10.0"
612 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4"
613 | dependencies:
614 | websocket-driver ">=0.5.1"
615 |
616 | faye-websocket@~0.11.0:
617 | version "0.11.1"
618 | resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.1.tgz#f0efe18c4f56e4f40afc7e06c719fd5ee6188f38"
619 | dependencies:
620 | websocket-driver ">=0.5.1"
621 |
622 | fbjs@^0.8.9:
623 | version "0.8.12"
624 | resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.12.tgz#10b5d92f76d45575fd63a217d4ea02bea2f8ed04"
625 | dependencies:
626 | core-js "^1.0.0"
627 | isomorphic-fetch "^2.1.1"
628 | loose-envify "^1.0.0"
629 | object-assign "^4.1.0"
630 | promise "^7.1.1"
631 | setimmediate "^1.0.5"
632 | ua-parser-js "^0.7.9"
633 |
634 | filename-regex@^2.0.0:
635 | version "2.0.1"
636 | resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
637 |
638 | fill-range@^2.1.0:
639 | version "2.2.3"
640 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
641 | dependencies:
642 | is-number "^2.1.0"
643 | isobject "^2.0.0"
644 | randomatic "^1.1.3"
645 | repeat-element "^1.1.2"
646 | repeat-string "^1.5.2"
647 |
648 | finalhandler@~1.0.3:
649 | version "1.0.3"
650 | resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.0.3.tgz#ef47e77950e999780e86022a560e3217e0d0cc89"
651 | dependencies:
652 | debug "2.6.7"
653 | encodeurl "~1.0.1"
654 | escape-html "~1.0.3"
655 | on-finished "~2.3.0"
656 | parseurl "~1.3.1"
657 | statuses "~1.3.1"
658 | unpipe "~1.0.0"
659 |
660 | for-in@^1.0.1:
661 | version "1.0.2"
662 | resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
663 |
664 | for-own@^0.1.4:
665 | version "0.1.5"
666 | resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
667 | dependencies:
668 | for-in "^1.0.1"
669 |
670 | forever-agent@~0.6.1:
671 | version "0.6.1"
672 | resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
673 |
674 | form-data@~2.1.1:
675 | version "2.1.4"
676 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
677 | dependencies:
678 | asynckit "^0.4.0"
679 | combined-stream "^1.0.5"
680 | mime-types "^2.1.12"
681 |
682 | forwarded@~0.1.0:
683 | version "0.1.0"
684 | resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.0.tgz#19ef9874c4ae1c297bcf078fde63a09b66a84363"
685 |
686 | fresh@0.5.0:
687 | version "0.5.0"
688 | resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e"
689 |
690 | fs.realpath@^1.0.0:
691 | version "1.0.0"
692 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
693 |
694 | fsevents@^1.0.0:
695 | version "1.1.2"
696 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.2.tgz#3282b713fb3ad80ede0e9fcf4611b5aa6fc033f4"
697 | dependencies:
698 | nan "^2.3.0"
699 | node-pre-gyp "^0.6.36"
700 |
701 | fstream-ignore@^1.0.5:
702 | version "1.0.5"
703 | resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
704 | dependencies:
705 | fstream "^1.0.0"
706 | inherits "2"
707 | minimatch "^3.0.0"
708 |
709 | fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
710 | version "1.0.11"
711 | resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
712 | dependencies:
713 | graceful-fs "^4.1.2"
714 | inherits "~2.0.0"
715 | mkdirp ">=0.5 0"
716 | rimraf "2"
717 |
718 | gauge@~2.7.3:
719 | version "2.7.4"
720 | resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
721 | dependencies:
722 | aproba "^1.0.3"
723 | console-control-strings "^1.0.0"
724 | has-unicode "^2.0.0"
725 | object-assign "^4.1.0"
726 | signal-exit "^3.0.0"
727 | string-width "^1.0.1"
728 | strip-ansi "^3.0.1"
729 | wide-align "^1.1.0"
730 |
731 | getpass@^0.1.1:
732 | version "0.1.7"
733 | resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
734 | dependencies:
735 | assert-plus "^1.0.0"
736 |
737 | glob-base@^0.3.0:
738 | version "0.3.0"
739 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
740 | dependencies:
741 | glob-parent "^2.0.0"
742 | is-glob "^2.0.0"
743 |
744 | glob-parent@^2.0.0:
745 | version "2.0.0"
746 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
747 | dependencies:
748 | is-glob "^2.0.0"
749 |
750 | glob@^7.0.5:
751 | version "7.1.2"
752 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
753 | dependencies:
754 | fs.realpath "^1.0.0"
755 | inflight "^1.0.4"
756 | inherits "2"
757 | minimatch "^3.0.4"
758 | once "^1.3.0"
759 | path-is-absolute "^1.0.0"
760 |
761 | graceful-fs@^4.1.2:
762 | version "4.1.11"
763 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
764 |
765 | graphql-anywhere@^3.0.0, graphql-anywhere@^3.0.1:
766 | version "3.1.0"
767 | resolved "https://registry.yarnpkg.com/graphql-anywhere/-/graphql-anywhere-3.1.0.tgz#3ea0d8e8646b5cee68035016a9a7557c15c21e96"
768 |
769 | graphql-tag@^2.0.0, graphql-tag@^2.4.2:
770 | version "2.4.2"
771 | resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.4.2.tgz#6a63297d8522d03a2b72d26f1b239aab343840cd"
772 |
773 | graphql@^0.10.0:
774 | version "0.10.5"
775 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-0.10.5.tgz#c9be17ca2bdfdbd134077ffd9bbaa48b8becd298"
776 | dependencies:
777 | iterall "^1.1.0"
778 |
779 | har-schema@^1.0.5:
780 | version "1.0.5"
781 | resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
782 |
783 | har-validator@~4.2.1:
784 | version "4.2.1"
785 | resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
786 | dependencies:
787 | ajv "^4.9.1"
788 | har-schema "^1.0.5"
789 |
790 | has-flag@^1.0.0:
791 | version "1.0.0"
792 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
793 |
794 | has-unicode@^2.0.0:
795 | version "2.0.1"
796 | resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
797 |
798 | hawk@~3.1.3:
799 | version "3.1.3"
800 | resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
801 | dependencies:
802 | boom "2.x.x"
803 | cryptiles "2.x.x"
804 | hoek "2.x.x"
805 | sntp "1.x.x"
806 |
807 | hoek@2.x.x:
808 | version "2.16.3"
809 | resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
810 |
811 | hoist-non-react-statics@^2.2.0:
812 | version "2.2.1"
813 | resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.2.1.tgz#a7e41c760121d0abfc7a2339b331d29a26389e52"
814 |
815 | http-errors@~1.6.1:
816 | version "1.6.1"
817 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257"
818 | dependencies:
819 | depd "1.1.0"
820 | inherits "2.0.3"
821 | setprototypeof "1.0.3"
822 | statuses ">= 1.3.1 < 2"
823 |
824 | http-proxy-middleware@~0.17.1:
825 | version "0.17.4"
826 | resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.4.tgz#642e8848851d66f09d4f124912846dbaeb41b833"
827 | dependencies:
828 | http-proxy "^1.16.2"
829 | is-glob "^3.1.0"
830 | lodash "^4.17.2"
831 | micromatch "^2.3.11"
832 |
833 | http-proxy@^1.16.2:
834 | version "1.16.2"
835 | resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742"
836 | dependencies:
837 | eventemitter3 "1.x.x"
838 | requires-port "1.x.x"
839 |
840 | http-signature@~1.1.0:
841 | version "1.1.1"
842 | resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
843 | dependencies:
844 | assert-plus "^0.2.0"
845 | jsprim "^1.2.2"
846 | sshpk "^1.7.0"
847 |
848 | https-browserify@0.0.1:
849 | version "0.0.1"
850 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
851 |
852 | iconv-lite@~0.4.13:
853 | version "0.4.18"
854 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.18.tgz#23d8656b16aae6742ac29732ea8f0336a4789cf2"
855 |
856 | ieee754@^1.1.4:
857 | version "1.1.8"
858 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
859 |
860 | indexof@0.0.1:
861 | version "0.0.1"
862 | resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
863 |
864 | inflight@^1.0.4:
865 | version "1.0.6"
866 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
867 | dependencies:
868 | once "^1.3.0"
869 | wrappy "1"
870 |
871 | inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
872 | version "2.0.3"
873 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
874 |
875 | inherits@2.0.1:
876 | version "2.0.1"
877 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
878 |
879 | ini@~1.3.0:
880 | version "1.3.4"
881 | resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e"
882 |
883 | interpret@^0.6.4:
884 | version "0.6.6"
885 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b"
886 |
887 | invariant@^2.2.1:
888 | version "2.2.2"
889 | resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
890 | dependencies:
891 | loose-envify "^1.0.0"
892 |
893 | ipaddr.js@1.4.0:
894 | version "1.4.0"
895 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.4.0.tgz#296aca878a821816e5b85d0a285a99bcff4582f0"
896 |
897 | is-binary-path@^1.0.0:
898 | version "1.0.1"
899 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
900 | dependencies:
901 | binary-extensions "^1.0.0"
902 |
903 | is-buffer@^1.1.5:
904 | version "1.1.5"
905 | resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.5.tgz#1f3b26ef613b214b88cbca23cc6c01d87961eecc"
906 |
907 | is-dotfile@^1.0.0:
908 | version "1.0.3"
909 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
910 |
911 | is-equal-shallow@^0.1.3:
912 | version "0.1.3"
913 | resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
914 | dependencies:
915 | is-primitive "^2.0.0"
916 |
917 | is-extendable@^0.1.1:
918 | version "0.1.1"
919 | resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
920 |
921 | is-extglob@^1.0.0:
922 | version "1.0.0"
923 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
924 |
925 | is-extglob@^2.1.0:
926 | version "2.1.1"
927 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
928 |
929 | is-fullwidth-code-point@^1.0.0:
930 | version "1.0.0"
931 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
932 | dependencies:
933 | number-is-nan "^1.0.0"
934 |
935 | is-glob@^2.0.0, is-glob@^2.0.1:
936 | version "2.0.1"
937 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
938 | dependencies:
939 | is-extglob "^1.0.0"
940 |
941 | is-glob@^3.1.0:
942 | version "3.1.0"
943 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
944 | dependencies:
945 | is-extglob "^2.1.0"
946 |
947 | is-number@^2.1.0:
948 | version "2.1.0"
949 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
950 | dependencies:
951 | kind-of "^3.0.2"
952 |
953 | is-number@^3.0.0:
954 | version "3.0.0"
955 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
956 | dependencies:
957 | kind-of "^3.0.2"
958 |
959 | is-posix-bracket@^0.1.0:
960 | version "0.1.1"
961 | resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
962 |
963 | is-primitive@^2.0.0:
964 | version "2.0.0"
965 | resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
966 |
967 | is-stream@^1.0.1:
968 | version "1.1.0"
969 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
970 |
971 | is-typedarray@~1.0.0:
972 | version "1.0.0"
973 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
974 |
975 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
976 | version "1.0.0"
977 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
978 |
979 | isobject@^2.0.0:
980 | version "2.1.0"
981 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
982 | dependencies:
983 | isarray "1.0.0"
984 |
985 | isomorphic-fetch@^2.1.1:
986 | version "2.2.1"
987 | resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
988 | dependencies:
989 | node-fetch "^1.0.1"
990 | whatwg-fetch ">=0.10.0"
991 |
992 | isstream@~0.1.2:
993 | version "0.1.2"
994 | resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
995 |
996 | iterall@^1.1.0:
997 | version "1.1.1"
998 | resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.1.1.tgz#f7f0af11e9a04ec6426260f5019d9fcca4d50214"
999 |
1000 | js-tokens@^3.0.0:
1001 | version "3.0.2"
1002 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
1003 |
1004 | jsbn@~0.1.0:
1005 | version "0.1.1"
1006 | resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
1007 |
1008 | json-schema@0.2.3:
1009 | version "0.2.3"
1010 | resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
1011 |
1012 | json-stable-stringify@^1.0.1:
1013 | version "1.0.1"
1014 | resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
1015 | dependencies:
1016 | jsonify "~0.0.0"
1017 |
1018 | json-stringify-safe@~5.0.1:
1019 | version "5.0.1"
1020 | resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
1021 |
1022 | json3@^3.3.2:
1023 | version "3.3.2"
1024 | resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1"
1025 |
1026 | json5@^0.5.0:
1027 | version "0.5.1"
1028 | resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
1029 |
1030 | jsonify@~0.0.0:
1031 | version "0.0.0"
1032 | resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
1033 |
1034 | jsprim@^1.2.2:
1035 | version "1.4.0"
1036 | resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918"
1037 | dependencies:
1038 | assert-plus "1.0.0"
1039 | extsprintf "1.0.2"
1040 | json-schema "0.2.3"
1041 | verror "1.3.6"
1042 |
1043 | kind-of@^3.0.2:
1044 | version "3.2.2"
1045 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
1046 | dependencies:
1047 | is-buffer "^1.1.5"
1048 |
1049 | kind-of@^4.0.0:
1050 | version "4.0.0"
1051 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
1052 | dependencies:
1053 | is-buffer "^1.1.5"
1054 |
1055 | lazy-cache@^1.0.3:
1056 | version "1.0.4"
1057 | resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
1058 |
1059 | loader-utils@^0.2.11:
1060 | version "0.2.17"
1061 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
1062 | dependencies:
1063 | big.js "^3.1.3"
1064 | emojis-list "^2.0.0"
1065 | json5 "^0.5.0"
1066 | object-assign "^4.0.1"
1067 |
1068 | lodash-es@^4.2.1:
1069 | version "4.17.4"
1070 | resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.4.tgz#dcc1d7552e150a0640073ba9cb31d70f032950e7"
1071 |
1072 | lodash.flatten@^4.2.0:
1073 | version "4.4.0"
1074 | resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
1075 |
1076 | lodash.isequal@^4.1.1:
1077 | version "4.5.0"
1078 | resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
1079 |
1080 | lodash.isobject@^3.0.2:
1081 | version "3.0.2"
1082 | resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d"
1083 |
1084 | lodash.pick@^4.4.0:
1085 | version "4.4.0"
1086 | resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3"
1087 |
1088 | lodash@^4.17.2, lodash@^4.2.1:
1089 | version "4.17.4"
1090 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
1091 |
1092 | longest@^1.0.1:
1093 | version "1.0.1"
1094 | resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
1095 |
1096 | loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1:
1097 | version "1.3.1"
1098 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
1099 | dependencies:
1100 | js-tokens "^3.0.0"
1101 |
1102 | media-typer@0.3.0:
1103 | version "0.3.0"
1104 | resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
1105 |
1106 | memory-fs@^0.2.0:
1107 | version "0.2.0"
1108 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290"
1109 |
1110 | memory-fs@~0.3.0:
1111 | version "0.3.0"
1112 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20"
1113 | dependencies:
1114 | errno "^0.1.3"
1115 | readable-stream "^2.0.1"
1116 |
1117 | memory-fs@~0.4.1:
1118 | version "0.4.1"
1119 | resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
1120 | dependencies:
1121 | errno "^0.1.3"
1122 | readable-stream "^2.0.1"
1123 |
1124 | merge-descriptors@1.0.1:
1125 | version "1.0.1"
1126 | resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
1127 |
1128 | methods@~1.1.2:
1129 | version "1.1.2"
1130 | resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
1131 |
1132 | micromatch@^2.1.5, micromatch@^2.3.11:
1133 | version "2.3.11"
1134 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
1135 | dependencies:
1136 | arr-diff "^2.0.0"
1137 | array-unique "^0.2.1"
1138 | braces "^1.8.2"
1139 | expand-brackets "^0.1.4"
1140 | extglob "^0.3.1"
1141 | filename-regex "^2.0.0"
1142 | is-extglob "^1.0.0"
1143 | is-glob "^2.0.1"
1144 | kind-of "^3.0.2"
1145 | normalize-path "^2.0.1"
1146 | object.omit "^2.0.0"
1147 | parse-glob "^3.0.4"
1148 | regex-cache "^0.4.2"
1149 |
1150 | "mime-db@>= 1.29.0 < 2":
1151 | version "1.29.0"
1152 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.29.0.tgz#48d26d235589651704ac5916ca06001914266878"
1153 |
1154 | mime-db@~1.27.0:
1155 | version "1.27.0"
1156 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1"
1157 |
1158 | mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.15, mime-types@~2.1.7:
1159 | version "2.1.15"
1160 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed"
1161 | dependencies:
1162 | mime-db "~1.27.0"
1163 |
1164 | mime@1.3.4, mime@^1.3.4:
1165 | version "1.3.4"
1166 | resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
1167 |
1168 | minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.4:
1169 | version "3.0.4"
1170 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
1171 | dependencies:
1172 | brace-expansion "^1.1.7"
1173 |
1174 | minimist@0.0.8, minimist@~0.0.1:
1175 | version "0.0.8"
1176 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
1177 |
1178 | minimist@^1.2.0:
1179 | version "1.2.0"
1180 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
1181 |
1182 | "mkdirp@>=0.5 0", mkdirp@^0.5.1, mkdirp@~0.5.0:
1183 | version "0.5.1"
1184 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
1185 | dependencies:
1186 | minimist "0.0.8"
1187 |
1188 | ms@2.0.0:
1189 | version "2.0.0"
1190 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
1191 |
1192 | nan@^2.3.0:
1193 | version "2.6.2"
1194 | resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45"
1195 |
1196 | negotiator@0.6.1:
1197 | version "0.6.1"
1198 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
1199 |
1200 | node-fetch@^1.0.1:
1201 | version "1.7.1"
1202 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.1.tgz#899cb3d0a3c92f952c47f1b876f4c8aeabd400d5"
1203 | dependencies:
1204 | encoding "^0.1.11"
1205 | is-stream "^1.0.1"
1206 |
1207 | node-libs-browser@^0.7.0:
1208 | version "0.7.0"
1209 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.7.0.tgz#3e272c0819e308935e26674408d7af0e1491b83b"
1210 | dependencies:
1211 | assert "^1.1.1"
1212 | browserify-zlib "^0.1.4"
1213 | buffer "^4.9.0"
1214 | console-browserify "^1.1.0"
1215 | constants-browserify "^1.0.0"
1216 | crypto-browserify "3.3.0"
1217 | domain-browser "^1.1.1"
1218 | events "^1.0.0"
1219 | https-browserify "0.0.1"
1220 | os-browserify "^0.2.0"
1221 | path-browserify "0.0.0"
1222 | process "^0.11.0"
1223 | punycode "^1.2.4"
1224 | querystring-es3 "^0.2.0"
1225 | readable-stream "^2.0.5"
1226 | stream-browserify "^2.0.1"
1227 | stream-http "^2.3.1"
1228 | string_decoder "^0.10.25"
1229 | timers-browserify "^2.0.2"
1230 | tty-browserify "0.0.0"
1231 | url "^0.11.0"
1232 | util "^0.10.3"
1233 | vm-browserify "0.0.4"
1234 |
1235 | node-pre-gyp@^0.6.36:
1236 | version "0.6.36"
1237 | resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.36.tgz#db604112cb74e0d477554e9b505b17abddfab786"
1238 | dependencies:
1239 | mkdirp "^0.5.1"
1240 | nopt "^4.0.1"
1241 | npmlog "^4.0.2"
1242 | rc "^1.1.7"
1243 | request "^2.81.0"
1244 | rimraf "^2.6.1"
1245 | semver "^5.3.0"
1246 | tar "^2.2.1"
1247 | tar-pack "^3.4.0"
1248 |
1249 | nopt@^4.0.1:
1250 | version "4.0.1"
1251 | resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
1252 | dependencies:
1253 | abbrev "1"
1254 | osenv "^0.1.4"
1255 |
1256 | normalize-path@^2.0.1:
1257 | version "2.1.1"
1258 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
1259 | dependencies:
1260 | remove-trailing-separator "^1.0.1"
1261 |
1262 | npmlog@^4.0.2:
1263 | version "4.1.2"
1264 | resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
1265 | dependencies:
1266 | are-we-there-yet "~1.1.2"
1267 | console-control-strings "~1.1.0"
1268 | gauge "~2.7.3"
1269 | set-blocking "~2.0.0"
1270 |
1271 | number-is-nan@^1.0.0:
1272 | version "1.0.1"
1273 | resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
1274 |
1275 | oauth-sign@~0.8.1:
1276 | version "0.8.2"
1277 | resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
1278 |
1279 | object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
1280 | version "4.1.1"
1281 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
1282 |
1283 | object.omit@^2.0.0:
1284 | version "2.0.1"
1285 | resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
1286 | dependencies:
1287 | for-own "^0.1.4"
1288 | is-extendable "^0.1.1"
1289 |
1290 | on-finished@~2.3.0:
1291 | version "2.3.0"
1292 | resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
1293 | dependencies:
1294 | ee-first "1.1.1"
1295 |
1296 | on-headers@~1.0.1:
1297 | version "1.0.1"
1298 | resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.1.tgz#928f5d0f470d49342651ea6794b0857c100693f7"
1299 |
1300 | once@^1.3.0, once@^1.3.3:
1301 | version "1.4.0"
1302 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
1303 | dependencies:
1304 | wrappy "1"
1305 |
1306 | open@0.0.5:
1307 | version "0.0.5"
1308 | resolved "https://registry.yarnpkg.com/open/-/open-0.0.5.tgz#42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc"
1309 |
1310 | optimist@~0.6.0, optimist@~0.6.1:
1311 | version "0.6.1"
1312 | resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
1313 | dependencies:
1314 | minimist "~0.0.1"
1315 | wordwrap "~0.0.2"
1316 |
1317 | original@>=0.0.5:
1318 | version "1.0.0"
1319 | resolved "https://registry.yarnpkg.com/original/-/original-1.0.0.tgz#9147f93fa1696d04be61e01bd50baeaca656bd3b"
1320 | dependencies:
1321 | url-parse "1.0.x"
1322 |
1323 | os-browserify@^0.2.0:
1324 | version "0.2.1"
1325 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f"
1326 |
1327 | os-homedir@^1.0.0:
1328 | version "1.0.2"
1329 | resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
1330 |
1331 | os-tmpdir@^1.0.0:
1332 | version "1.0.2"
1333 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
1334 |
1335 | osenv@^0.1.4:
1336 | version "0.1.4"
1337 | resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
1338 | dependencies:
1339 | os-homedir "^1.0.0"
1340 | os-tmpdir "^1.0.0"
1341 |
1342 | pako@~0.2.0:
1343 | version "0.2.9"
1344 | resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
1345 |
1346 | parse-glob@^3.0.4:
1347 | version "3.0.4"
1348 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
1349 | dependencies:
1350 | glob-base "^0.3.0"
1351 | is-dotfile "^1.0.0"
1352 | is-extglob "^1.0.0"
1353 | is-glob "^2.0.0"
1354 |
1355 | parseurl@~1.3.1:
1356 | version "1.3.1"
1357 | resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56"
1358 |
1359 | path-browserify@0.0.0:
1360 | version "0.0.0"
1361 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
1362 |
1363 | path-is-absolute@^1.0.0:
1364 | version "1.0.1"
1365 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
1366 |
1367 | path-to-regexp@0.1.7:
1368 | version "0.1.7"
1369 | resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
1370 |
1371 | pbkdf2-compat@2.0.1:
1372 | version "2.0.1"
1373 | resolved "https://registry.yarnpkg.com/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz#b6e0c8fa99494d94e0511575802a59a5c142f288"
1374 |
1375 | performance-now@^0.2.0:
1376 | version "0.2.0"
1377 | resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
1378 |
1379 | preserve@^0.2.0:
1380 | version "0.2.0"
1381 | resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
1382 |
1383 | process-nextick-args@~1.0.6:
1384 | version "1.0.7"
1385 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
1386 |
1387 | process@^0.11.0:
1388 | version "0.11.10"
1389 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
1390 |
1391 | promise@^7.1.1:
1392 | version "7.3.1"
1393 | resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf"
1394 | dependencies:
1395 | asap "~2.0.3"
1396 |
1397 | prop-types@^15.5.10, prop-types@^15.5.8:
1398 | version "15.5.10"
1399 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.5.10.tgz#2797dfc3126182e3a95e3dfbb2e893ddd7456154"
1400 | dependencies:
1401 | fbjs "^0.8.9"
1402 | loose-envify "^1.3.1"
1403 |
1404 | proxy-addr@~1.1.4:
1405 | version "1.1.5"
1406 | resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-1.1.5.tgz#71c0ee3b102de3f202f3b64f608d173fcba1a918"
1407 | dependencies:
1408 | forwarded "~0.1.0"
1409 | ipaddr.js "1.4.0"
1410 |
1411 | prr@~0.0.0:
1412 | version "0.0.0"
1413 | resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a"
1414 |
1415 | punycode@1.3.2:
1416 | version "1.3.2"
1417 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
1418 |
1419 | punycode@^1.2.4, punycode@^1.4.1:
1420 | version "1.4.1"
1421 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
1422 |
1423 | qs@6.4.0, qs@~6.4.0:
1424 | version "6.4.0"
1425 | resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
1426 |
1427 | querystring-es3@^0.2.0:
1428 | version "0.2.1"
1429 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
1430 |
1431 | querystring@0.2.0:
1432 | version "0.2.0"
1433 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
1434 |
1435 | querystringify@0.0.x:
1436 | version "0.0.4"
1437 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-0.0.4.tgz#0cf7f84f9463ff0ae51c4c4b142d95be37724d9c"
1438 |
1439 | querystringify@~1.0.0:
1440 | version "1.0.0"
1441 | resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-1.0.0.tgz#6286242112c5b712fa654e526652bf6a13ff05cb"
1442 |
1443 | randomatic@^1.1.3:
1444 | version "1.1.7"
1445 | resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
1446 | dependencies:
1447 | is-number "^3.0.0"
1448 | kind-of "^4.0.0"
1449 |
1450 | range-parser@^1.0.3, range-parser@~1.2.0:
1451 | version "1.2.0"
1452 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
1453 |
1454 | rc@^1.1.7:
1455 | version "1.2.1"
1456 | resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95"
1457 | dependencies:
1458 | deep-extend "~0.4.0"
1459 | ini "~1.3.0"
1460 | minimist "^1.2.0"
1461 | strip-json-comments "~2.0.1"
1462 |
1463 | react-apollo@^1.4.8:
1464 | version "1.4.8"
1465 | resolved "https://registry.yarnpkg.com/react-apollo/-/react-apollo-1.4.8.tgz#b510f207b08ce4bd1e3adbd46a3ede68e3af27e7"
1466 | dependencies:
1467 | apollo-client "^1.4.0"
1468 | graphql-anywhere "^3.0.0"
1469 | graphql-tag "^2.0.0"
1470 | hoist-non-react-statics "^2.2.0"
1471 | invariant "^2.2.1"
1472 | lodash.flatten "^4.2.0"
1473 | lodash.isequal "^4.1.1"
1474 | lodash.isobject "^3.0.2"
1475 | lodash.pick "^4.4.0"
1476 | object-assign "^4.0.1"
1477 | prop-types "^15.5.8"
1478 |
1479 | react-dom@^15.4.2:
1480 | version "15.6.1"
1481 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-15.6.1.tgz#2cb0ed4191038e53c209eb3a79a23e2a4cf99470"
1482 | dependencies:
1483 | fbjs "^0.8.9"
1484 | loose-envify "^1.1.0"
1485 | object-assign "^4.1.0"
1486 | prop-types "^15.5.10"
1487 |
1488 | react@^15.4.2:
1489 | version "15.6.1"
1490 | resolved "https://registry.yarnpkg.com/react/-/react-15.6.1.tgz#baa8434ec6780bde997cdc380b79cd33b96393df"
1491 | dependencies:
1492 | create-react-class "^15.6.0"
1493 | fbjs "^0.8.9"
1494 | loose-envify "^1.1.0"
1495 | object-assign "^4.1.0"
1496 | prop-types "^15.5.10"
1497 |
1498 | readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.6:
1499 | version "2.3.3"
1500 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
1501 | dependencies:
1502 | core-util-is "~1.0.0"
1503 | inherits "~2.0.3"
1504 | isarray "~1.0.0"
1505 | process-nextick-args "~1.0.6"
1506 | safe-buffer "~5.1.1"
1507 | string_decoder "~1.0.3"
1508 | util-deprecate "~1.0.1"
1509 |
1510 | readdirp@^2.0.0:
1511 | version "2.1.0"
1512 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
1513 | dependencies:
1514 | graceful-fs "^4.1.2"
1515 | minimatch "^3.0.2"
1516 | readable-stream "^2.0.2"
1517 | set-immediate-shim "^1.0.1"
1518 |
1519 | reason-react@>=0.2.1:
1520 | version "0.2.3"
1521 | resolved "https://registry.yarnpkg.com/reason-react/-/reason-react-0.2.3.tgz#7a2654b9bf85b25ccd53ae6bd84d3f33238220ae"
1522 | dependencies:
1523 | create-react-class "^15.0.0"
1524 |
1525 | redux@^3.4.0:
1526 | version "3.7.2"
1527 | resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b"
1528 | dependencies:
1529 | lodash "^4.2.1"
1530 | lodash-es "^4.2.1"
1531 | loose-envify "^1.1.0"
1532 | symbol-observable "^1.0.3"
1533 |
1534 | regex-cache@^0.4.2:
1535 | version "0.4.3"
1536 | resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.3.tgz#9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145"
1537 | dependencies:
1538 | is-equal-shallow "^0.1.3"
1539 | is-primitive "^2.0.0"
1540 |
1541 | remove-trailing-separator@^1.0.1:
1542 | version "1.0.2"
1543 | resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.2.tgz#69b062d978727ad14dc6b56ba4ab772fd8d70511"
1544 |
1545 | repeat-element@^1.1.2:
1546 | version "1.1.2"
1547 | resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
1548 |
1549 | repeat-string@^1.5.2:
1550 | version "1.6.1"
1551 | resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
1552 |
1553 | request@^2.81.0:
1554 | version "2.81.0"
1555 | resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
1556 | dependencies:
1557 | aws-sign2 "~0.6.0"
1558 | aws4 "^1.2.1"
1559 | caseless "~0.12.0"
1560 | combined-stream "~1.0.5"
1561 | extend "~3.0.0"
1562 | forever-agent "~0.6.1"
1563 | form-data "~2.1.1"
1564 | har-validator "~4.2.1"
1565 | hawk "~3.1.3"
1566 | http-signature "~1.1.0"
1567 | is-typedarray "~1.0.0"
1568 | isstream "~0.1.2"
1569 | json-stringify-safe "~5.0.1"
1570 | mime-types "~2.1.7"
1571 | oauth-sign "~0.8.1"
1572 | performance-now "^0.2.0"
1573 | qs "~6.4.0"
1574 | safe-buffer "^5.0.1"
1575 | stringstream "~0.0.4"
1576 | tough-cookie "~2.3.0"
1577 | tunnel-agent "^0.6.0"
1578 | uuid "^3.0.0"
1579 |
1580 | requires-port@1.0.x, requires-port@1.x.x:
1581 | version "1.0.0"
1582 | resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
1583 |
1584 | right-align@^0.1.1:
1585 | version "0.1.3"
1586 | resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
1587 | dependencies:
1588 | align-text "^0.1.1"
1589 |
1590 | rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1:
1591 | version "2.6.1"
1592 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d"
1593 | dependencies:
1594 | glob "^7.0.5"
1595 |
1596 | ripemd160@0.2.0:
1597 | version "0.2.0"
1598 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce"
1599 |
1600 | safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
1601 | version "5.1.1"
1602 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
1603 |
1604 | semver@^5.3.0:
1605 | version "5.3.0"
1606 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
1607 |
1608 | send@0.15.3:
1609 | version "0.15.3"
1610 | resolved "https://registry.yarnpkg.com/send/-/send-0.15.3.tgz#5013f9f99023df50d1bd9892c19e3defd1d53309"
1611 | dependencies:
1612 | debug "2.6.7"
1613 | depd "~1.1.0"
1614 | destroy "~1.0.4"
1615 | encodeurl "~1.0.1"
1616 | escape-html "~1.0.3"
1617 | etag "~1.8.0"
1618 | fresh "0.5.0"
1619 | http-errors "~1.6.1"
1620 | mime "1.3.4"
1621 | ms "2.0.0"
1622 | on-finished "~2.3.0"
1623 | range-parser "~1.2.0"
1624 | statuses "~1.3.1"
1625 |
1626 | serve-index@^1.7.2:
1627 | version "1.9.0"
1628 | resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.0.tgz#d2b280fc560d616ee81b48bf0fa82abed2485ce7"
1629 | dependencies:
1630 | accepts "~1.3.3"
1631 | batch "0.6.1"
1632 | debug "2.6.8"
1633 | escape-html "~1.0.3"
1634 | http-errors "~1.6.1"
1635 | mime-types "~2.1.15"
1636 | parseurl "~1.3.1"
1637 |
1638 | serve-static@1.12.3:
1639 | version "1.12.3"
1640 | resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.3.tgz#9f4ba19e2f3030c547f8af99107838ec38d5b1e2"
1641 | dependencies:
1642 | encodeurl "~1.0.1"
1643 | escape-html "~1.0.3"
1644 | parseurl "~1.3.1"
1645 | send "0.15.3"
1646 |
1647 | set-blocking@~2.0.0:
1648 | version "2.0.0"
1649 | resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
1650 |
1651 | set-immediate-shim@^1.0.1:
1652 | version "1.0.1"
1653 | resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
1654 |
1655 | setimmediate@^1.0.4, setimmediate@^1.0.5:
1656 | version "1.0.5"
1657 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
1658 |
1659 | setprototypeof@1.0.3:
1660 | version "1.0.3"
1661 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
1662 |
1663 | sha.js@2.2.6:
1664 | version "2.2.6"
1665 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba"
1666 |
1667 | signal-exit@^3.0.0:
1668 | version "3.0.2"
1669 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
1670 |
1671 | sntp@1.x.x:
1672 | version "1.0.9"
1673 | resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
1674 | dependencies:
1675 | hoek "2.x.x"
1676 |
1677 | sockjs-client@^1.0.3:
1678 | version "1.1.4"
1679 | resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.1.4.tgz#5babe386b775e4cf14e7520911452654016c8b12"
1680 | dependencies:
1681 | debug "^2.6.6"
1682 | eventsource "0.1.6"
1683 | faye-websocket "~0.11.0"
1684 | inherits "^2.0.1"
1685 | json3 "^3.3.2"
1686 | url-parse "^1.1.8"
1687 |
1688 | sockjs@^0.3.15:
1689 | version "0.3.18"
1690 | resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.18.tgz#d9b289316ca7df77595ef299e075f0f937eb4207"
1691 | dependencies:
1692 | faye-websocket "^0.10.0"
1693 | uuid "^2.0.2"
1694 |
1695 | source-list-map@~0.1.7:
1696 | version "0.1.8"
1697 | resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
1698 |
1699 | source-map@~0.4.1:
1700 | version "0.4.4"
1701 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
1702 | dependencies:
1703 | amdefine ">=0.0.4"
1704 |
1705 | source-map@~0.5.1:
1706 | version "0.5.6"
1707 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412"
1708 |
1709 | sshpk@^1.7.0:
1710 | version "1.13.1"
1711 | resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3"
1712 | dependencies:
1713 | asn1 "~0.2.3"
1714 | assert-plus "^1.0.0"
1715 | dashdash "^1.12.0"
1716 | getpass "^0.1.1"
1717 | optionalDependencies:
1718 | bcrypt-pbkdf "^1.0.0"
1719 | ecc-jsbn "~0.1.1"
1720 | jsbn "~0.1.0"
1721 | tweetnacl "~0.14.0"
1722 |
1723 | "statuses@>= 1.3.1 < 2", statuses@~1.3.1:
1724 | version "1.3.1"
1725 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
1726 |
1727 | stream-browserify@^2.0.1:
1728 | version "2.0.1"
1729 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
1730 | dependencies:
1731 | inherits "~2.0.1"
1732 | readable-stream "^2.0.2"
1733 |
1734 | stream-cache@~0.0.1:
1735 | version "0.0.2"
1736 | resolved "https://registry.yarnpkg.com/stream-cache/-/stream-cache-0.0.2.tgz#1ac5ad6832428ca55667dbdee395dad4e6db118f"
1737 |
1738 | stream-http@^2.3.1:
1739 | version "2.7.2"
1740 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad"
1741 | dependencies:
1742 | builtin-status-codes "^3.0.0"
1743 | inherits "^2.0.1"
1744 | readable-stream "^2.2.6"
1745 | to-arraybuffer "^1.0.0"
1746 | xtend "^4.0.0"
1747 |
1748 | string-width@^1.0.1, string-width@^1.0.2:
1749 | version "1.0.2"
1750 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
1751 | dependencies:
1752 | code-point-at "^1.0.0"
1753 | is-fullwidth-code-point "^1.0.0"
1754 | strip-ansi "^3.0.0"
1755 |
1756 | string_decoder@^0.10.25:
1757 | version "0.10.31"
1758 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
1759 |
1760 | string_decoder@~1.0.3:
1761 | version "1.0.3"
1762 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
1763 | dependencies:
1764 | safe-buffer "~5.1.0"
1765 |
1766 | stringstream@~0.0.4:
1767 | version "0.0.5"
1768 | resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
1769 |
1770 | strip-ansi@^3.0.0, strip-ansi@^3.0.1:
1771 | version "3.0.1"
1772 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
1773 | dependencies:
1774 | ansi-regex "^2.0.0"
1775 |
1776 | strip-json-comments@~2.0.1:
1777 | version "2.0.1"
1778 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
1779 |
1780 | supports-color@^3.1.0, supports-color@^3.1.1:
1781 | version "3.2.3"
1782 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
1783 | dependencies:
1784 | has-flag "^1.0.0"
1785 |
1786 | symbol-observable@^1.0.2, symbol-observable@^1.0.3:
1787 | version "1.0.4"
1788 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
1789 |
1790 | tapable@^0.1.8, tapable@~0.1.8:
1791 | version "0.1.10"
1792 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4"
1793 |
1794 | tar-pack@^3.4.0:
1795 | version "3.4.0"
1796 | resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.0.tgz#23be2d7f671a8339376cbdb0b8fe3fdebf317984"
1797 | dependencies:
1798 | debug "^2.2.0"
1799 | fstream "^1.0.10"
1800 | fstream-ignore "^1.0.5"
1801 | once "^1.3.3"
1802 | readable-stream "^2.1.4"
1803 | rimraf "^2.5.1"
1804 | tar "^2.2.1"
1805 | uid-number "^0.0.6"
1806 |
1807 | tar@^2.2.1:
1808 | version "2.2.1"
1809 | resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
1810 | dependencies:
1811 | block-stream "*"
1812 | fstream "^1.0.2"
1813 | inherits "2"
1814 |
1815 | timers-browserify@^2.0.2:
1816 | version "2.0.2"
1817 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.2.tgz#ab4883cf597dcd50af211349a00fbca56ac86b86"
1818 | dependencies:
1819 | setimmediate "^1.0.4"
1820 |
1821 | to-arraybuffer@^1.0.0:
1822 | version "1.0.1"
1823 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
1824 |
1825 | todomvc-app-css@^2.1.0:
1826 | version "2.1.0"
1827 | resolved "https://registry.yarnpkg.com/todomvc-app-css/-/todomvc-app-css-2.1.0.tgz#b6f2716d339afa2e5f799347d2a48b05396242a5"
1828 |
1829 | todomvc-common@^1.0.3:
1830 | version "1.0.3"
1831 | resolved "https://registry.yarnpkg.com/todomvc-common/-/todomvc-common-1.0.3.tgz#cba1868109caa401b908ebf77794cc1014b74873"
1832 |
1833 | tough-cookie@~2.3.0:
1834 | version "2.3.2"
1835 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a"
1836 | dependencies:
1837 | punycode "^1.4.1"
1838 |
1839 | tty-browserify@0.0.0:
1840 | version "0.0.0"
1841 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
1842 |
1843 | tunnel-agent@^0.6.0:
1844 | version "0.6.0"
1845 | resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
1846 | dependencies:
1847 | safe-buffer "^5.0.1"
1848 |
1849 | tweetnacl@^0.14.3, tweetnacl@~0.14.0:
1850 | version "0.14.5"
1851 | resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
1852 |
1853 | type-is@~1.6.15:
1854 | version "1.6.15"
1855 | resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410"
1856 | dependencies:
1857 | media-typer "0.3.0"
1858 | mime-types "~2.1.15"
1859 |
1860 | ua-parser-js@^0.7.9:
1861 | version "0.7.14"
1862 | resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.14.tgz#110d53fa4c3f326c121292bbeac904d2e03387ca"
1863 |
1864 | uglify-js@~2.7.3:
1865 | version "2.7.5"
1866 | resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8"
1867 | dependencies:
1868 | async "~0.2.6"
1869 | source-map "~0.5.1"
1870 | uglify-to-browserify "~1.0.0"
1871 | yargs "~3.10.0"
1872 |
1873 | uglify-to-browserify@~1.0.0:
1874 | version "1.0.2"
1875 | resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
1876 |
1877 | uid-number@^0.0.6:
1878 | version "0.0.6"
1879 | resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
1880 |
1881 | unpipe@~1.0.0:
1882 | version "1.0.0"
1883 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
1884 |
1885 | url-parse@1.0.x:
1886 | version "1.0.5"
1887 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.0.5.tgz#0854860422afdcfefeb6c965c662d4800169927b"
1888 | dependencies:
1889 | querystringify "0.0.x"
1890 | requires-port "1.0.x"
1891 |
1892 | url-parse@^1.1.8:
1893 | version "1.1.9"
1894 | resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.9.tgz#c67f1d775d51f0a18911dd7b3ffad27bb9e5bd19"
1895 | dependencies:
1896 | querystringify "~1.0.0"
1897 | requires-port "1.0.x"
1898 |
1899 | url@^0.11.0:
1900 | version "0.11.0"
1901 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
1902 | dependencies:
1903 | punycode "1.3.2"
1904 | querystring "0.2.0"
1905 |
1906 | util-deprecate@~1.0.1:
1907 | version "1.0.2"
1908 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
1909 |
1910 | util@0.10.3, util@^0.10.3:
1911 | version "0.10.3"
1912 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
1913 | dependencies:
1914 | inherits "2.0.1"
1915 |
1916 | utils-merge@1.0.0:
1917 | version "1.0.0"
1918 | resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
1919 |
1920 | uuid@^2.0.2:
1921 | version "2.0.3"
1922 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
1923 |
1924 | uuid@^3.0.0:
1925 | version "3.1.0"
1926 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04"
1927 |
1928 | vary@~1.1.1:
1929 | version "1.1.1"
1930 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.1.tgz#67535ebb694c1d52257457984665323f587e8d37"
1931 |
1932 | verror@1.3.6:
1933 | version "1.3.6"
1934 | resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c"
1935 | dependencies:
1936 | extsprintf "1.0.2"
1937 |
1938 | vm-browserify@0.0.4:
1939 | version "0.0.4"
1940 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
1941 | dependencies:
1942 | indexof "0.0.1"
1943 |
1944 | watchpack@^0.2.1:
1945 | version "0.2.9"
1946 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-0.2.9.tgz#62eaa4ab5e5ba35fdfc018275626e3c0f5e3fb0b"
1947 | dependencies:
1948 | async "^0.9.0"
1949 | chokidar "^1.0.0"
1950 | graceful-fs "^4.1.2"
1951 |
1952 | webpack-core@~0.6.9:
1953 | version "0.6.9"
1954 | resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2"
1955 | dependencies:
1956 | source-list-map "~0.1.7"
1957 | source-map "~0.4.1"
1958 |
1959 | webpack-dev-middleware@^1.10.2:
1960 | version "1.11.0"
1961 | resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-1.11.0.tgz#09691d0973a30ad1f82ac73a12e2087f0a4754f9"
1962 | dependencies:
1963 | memory-fs "~0.4.1"
1964 | mime "^1.3.4"
1965 | path-is-absolute "^1.0.0"
1966 | range-parser "^1.0.3"
1967 |
1968 | webpack-dev-server@v1.16.4:
1969 | version "1.16.4"
1970 | resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-1.16.4.tgz#9a5b8e86aafa2c478e8a24d29ddb282ac696ef50"
1971 | dependencies:
1972 | compression "^1.5.2"
1973 | connect-history-api-fallback "^1.3.0"
1974 | express "^4.13.3"
1975 | http-proxy-middleware "~0.17.1"
1976 | open "0.0.5"
1977 | optimist "~0.6.1"
1978 | serve-index "^1.7.2"
1979 | sockjs "^0.3.15"
1980 | sockjs-client "^1.0.3"
1981 | stream-cache "~0.0.1"
1982 | strip-ansi "^3.0.0"
1983 | supports-color "^3.1.1"
1984 | webpack-dev-middleware "^1.10.2"
1985 |
1986 | webpack@^1.14.0:
1987 | version "1.15.0"
1988 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.15.0.tgz#4ff31f53db03339e55164a9d468ee0324968fe98"
1989 | dependencies:
1990 | acorn "^3.0.0"
1991 | async "^1.3.0"
1992 | clone "^1.0.2"
1993 | enhanced-resolve "~0.9.0"
1994 | interpret "^0.6.4"
1995 | loader-utils "^0.2.11"
1996 | memory-fs "~0.3.0"
1997 | mkdirp "~0.5.0"
1998 | node-libs-browser "^0.7.0"
1999 | optimist "~0.6.0"
2000 | supports-color "^3.1.0"
2001 | tapable "~0.1.8"
2002 | uglify-js "~2.7.3"
2003 | watchpack "^0.2.1"
2004 | webpack-core "~0.6.9"
2005 |
2006 | websocket-driver@>=0.5.1:
2007 | version "0.6.5"
2008 | resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.6.5.tgz#5cb2556ceb85f4373c6d8238aa691c8454e13a36"
2009 | dependencies:
2010 | websocket-extensions ">=0.1.1"
2011 |
2012 | websocket-extensions@>=0.1.1:
2013 | version "0.1.1"
2014 | resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.1.tgz#76899499c184b6ef754377c2dbb0cd6cb55d29e7"
2015 |
2016 | whatwg-fetch@>=0.10.0, whatwg-fetch@^2.0.0:
2017 | version "2.0.3"
2018 | resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84"
2019 |
2020 | wide-align@^1.1.0:
2021 | version "1.1.2"
2022 | resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
2023 | dependencies:
2024 | string-width "^1.0.2"
2025 |
2026 | window-size@0.1.0:
2027 | version "0.1.0"
2028 | resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
2029 |
2030 | wordwrap@0.0.2:
2031 | version "0.0.2"
2032 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
2033 |
2034 | wordwrap@~0.0.2:
2035 | version "0.0.3"
2036 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
2037 |
2038 | wrappy@1:
2039 | version "1.0.2"
2040 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
2041 |
2042 | xtend@^4.0.0:
2043 | version "4.0.1"
2044 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
2045 |
2046 | yargs@~3.10.0:
2047 | version "3.10.0"
2048 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
2049 | dependencies:
2050 | camelcase "^1.0.2"
2051 | cliui "^2.1.0"
2052 | decamelize "^1.0.0"
2053 | window-size "0.1.0"
2054 |
2055 | Trace:
2056 | Error: ENOENT: no such file or directory, stat '/Users/greg/dev/fun/my-first-react-app/node_modules/bs-platform'
2057 |
--------------------------------------------------------------------------------