From 2143880e0abf0040ca63b5e268ab936c2a154065 Mon Sep 17 00:00:00 2001 From: Michel Weststrate Date: Mon, 12 Jun 2017 09:50:15 +0200 Subject: [PATCH] Updated examples --- examples/bookshop/package.json | 4 +- examples/bookshop/src/stores/CartStore.js | 2 +- examples/bookshop/yarn.lock | 102 ++++-------------- examples/boxes/package.json | 5 +- examples/boxes/src/components/sidebar.js | 3 + examples/boxes/src/index.js | 2 +- examples/boxes/src/stores/domain-state.js | 8 +- .../boxes/src/stores/domain-state.spec.js | 17 +-- examples/boxes/yarn.lock | 74 ++++++------- examples/redux-todomvc/package.json | 4 +- examples/redux-todomvc/src/index.js | 2 +- examples/redux-todomvc/src/models/todos.js | 7 +- examples/redux-todomvc/yarn.lock | 12 +-- 13 files changed, 94 insertions(+), 148 deletions(-) diff --git a/examples/bookshop/package.json b/examples/bookshop/package.json index f19510077..36708cdd5 100644 --- a/examples/bookshop/package.json +++ b/examples/bookshop/package.json @@ -6,10 +6,10 @@ "react-scripts": "0.9.0" }, "dependencies": { - "mobx": "^3.1.12", + "mobx": "3.1.15", "mobx-react": "^4.1.7", "mobx-react-devtools": "^4.2.11", - "mobx-state-tree": "^0.6.2", + "mobx-state-tree": "^0.7.1", "mobx-utils": "^2.0.1", "path-match": "^1.2.4", "react": "^15.5.0", diff --git a/examples/bookshop/src/stores/CartStore.js b/examples/bookshop/src/stores/CartStore.js index c5c113502..369811f01 100644 --- a/examples/bookshop/src/stores/CartStore.js +++ b/examples/bookshop/src/stores/CartStore.js @@ -4,7 +4,7 @@ import { Book } from "./BookStore" const CartEntry = types.model("CartEntry", { quantity: 0, - book: types.reference(Book, "../../../bookStore/books"), + book: types.reference(Book), get price() { return this.book.price * this.quantity }, diff --git a/examples/bookshop/yarn.lock b/examples/bookshop/yarn.lock index 4a91be034..f561bf3e7 100644 --- a/examples/bookshop/yarn.lock +++ b/examples/bookshop/yarn.lock @@ -225,7 +225,7 @@ babel-code-frame@^6.11.0, babel-code-frame@^6.16.0, babel-code-frame@^6.22.0: esutils "^2.0.2" js-tokens "^3.0.0" -babel-core@6.22.1, babel-core@^6.22.0: +babel-core@6.22.1, babel-core@^6.0.0, babel-core@^6.22.0: version "6.22.1" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.22.1.tgz#9c5fd658ba1772d28d721f6d25d968fc7ae21648" dependencies: @@ -249,32 +249,6 @@ babel-core@6.22.1, babel-core@^6.22.0: slash "^1.0.0" source-map "^0.5.0" -babel-core@^6.0.0: - version "6.17.0" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.17.0.tgz#6c4576447df479e241e58c807e4bc7da4db7f425" - dependencies: - babel-code-frame "^6.16.0" - babel-generator "^6.17.0" - babel-helpers "^6.16.0" - babel-messages "^6.8.0" - babel-register "^6.16.0" - babel-runtime "^6.9.1" - babel-template "^6.16.0" - babel-traverse "^6.16.0" - babel-types "^6.16.0" - babylon "^6.11.0" - convert-source-map "^1.1.0" - debug "^2.1.1" - json5 "^0.4.0" - lodash "^4.2.0" - minimatch "^3.0.2" - path-exists "^1.0.0" - path-is-absolute "^1.0.0" - private "^0.1.6" - shebang-regex "^1.0.0" - slash "^1.0.0" - source-map "^0.5.0" - babel-eslint@7.1.1: version "7.1.1" resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.1.1.tgz#8a6a884f085aa7060af69cfc77341c2f99370fb2" @@ -285,7 +259,7 @@ babel-eslint@7.1.1: babylon "^6.13.0" lodash.pickby "^4.6.0" -babel-generator@^6.17.0, babel-generator@^6.18.0, babel-generator@^6.22.0: +babel-generator@^6.18.0, babel-generator@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.22.0.tgz#d642bf4961911a8adc7c692b0c9297f325cda805" dependencies: @@ -400,7 +374,7 @@ babel-helper-replace-supers@^6.22.0: babel-traverse "^6.22.0" babel-types "^6.22.0" -babel-helpers@^6.16.0, babel-helpers@^6.22.0: +babel-helpers@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.22.0.tgz#d275f55f2252b8101bff07bc0c556deda657392c" dependencies: @@ -424,7 +398,7 @@ babel-loader@6.2.10: mkdirp "^0.5.1" object-assign "^4.0.1" -babel-messages@^6.22.0, babel-messages@^6.8.0: +babel-messages@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.22.0.tgz#36066a214f1217e4ed4164867669ecb39e3ea575" dependencies: @@ -806,7 +780,7 @@ babel-preset-react@6.22.0: babel-plugin-transform-react-jsx-self "^6.22.0" babel-plugin-transform-react-jsx-source "^6.22.0" -babel-register@^6.16.0, babel-register@^6.22.0: +babel-register@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.22.0.tgz#a61dd83975f9ca4a9e7d6eff3059494cd5ea4c63" dependencies: @@ -818,7 +792,7 @@ babel-register@^6.16.0, babel-register@^6.22.0: mkdirp "^0.5.1" source-map-support "^0.4.2" -babel-runtime@6.22.0, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0, babel-runtime@^6.9.1: +babel-runtime@6.22.0, babel-runtime@^6.18.0, babel-runtime@^6.20.0, babel-runtime@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.22.0.tgz#1cf8b4ac67c77a4ddb0db2ae1f74de52ac4ca611" dependencies: @@ -835,7 +809,7 @@ babel-template@^6.16.0, babel-template@^6.22.0: babylon "^6.11.0" lodash "^4.2.0" -babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-traverse@^6.22.0, babel-traverse@^6.22.1: +babel-traverse@^6.15.0, babel-traverse@^6.18.0, babel-traverse@^6.22.0, babel-traverse@^6.22.1: version "6.22.1" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.22.1.tgz#3b95cd6b7427d6f1f757704908f2fc9748a5f59f" dependencies: @@ -849,7 +823,7 @@ babel-traverse@^6.15.0, babel-traverse@^6.16.0, babel-traverse@^6.18.0, babel-tr invariant "^2.2.0" lodash "^4.2.0" -babel-types@^6.15.0, babel-types@^6.16.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.22.0: +babel-types@^6.15.0, babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.22.0: version "6.22.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.22.0.tgz#2a447e8d0ea25d2512409e4175479fd78cc8b1db" dependencies: @@ -2142,20 +2116,13 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -fsevents@1.0.17: +fsevents@1.0.17, fsevents@^1.0.0: version "1.0.17" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.17.tgz#8537f3f12272678765b4fd6528c0f1f66f8f4558" dependencies: nan "^2.3.0" node-pre-gyp "^0.6.29" -fsevents@^1.0.0: - version "1.0.14" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.14.tgz#558e8cc38643d8ef40fe45158486d0d25758eee4" - dependencies: - nan "^2.3.0" - node-pre-gyp "^0.6.29" - fstream-ignore@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" @@ -2400,7 +2367,7 @@ http-errors@~1.5.0, http-errors@~1.5.1: setprototypeof "1.0.2" statuses ">= 1.3.1 < 2" -http-proxy-middleware@0.17.3: +http-proxy-middleware@0.17.3, http-proxy-middleware@~0.17.1: version "0.17.3" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.3.tgz#940382147149b856084f5534752d5b5a8168cd1d" dependencies: @@ -2409,16 +2376,7 @@ http-proxy-middleware@0.17.3: lodash "^4.17.2" micromatch "^2.3.11" -http-proxy-middleware@~0.17.1: - version "0.17.2" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.17.2.tgz#572d517a6d2fb1063a469de294eed96066352007" - dependencies: - http-proxy "^1.15.1" - is-glob "^3.0.0" - lodash "^4.16.2" - micromatch "^2.3.11" - -http-proxy@^1.15.1, http-proxy@^1.16.2: +http-proxy@^1.16.2: version "1.16.2" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.16.2.tgz#06dff292952bf64dbe8471fa9df73066d4f37742" dependencies: @@ -2594,7 +2552,7 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" -is-glob@^3.0.0, is-glob@^3.1.0: +is-glob@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" dependencies: @@ -3032,10 +2990,6 @@ json3@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" -json5@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.4.0.tgz#054352e4c4c80c86c0923877d449de176a732c8d" - json5@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" @@ -3205,7 +3159,7 @@ lodash.uniq@^4.3.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" -"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.2, lodash@^4.16.4, lodash@^4.17.2, lodash@^4.2.0, lodash@^4.3.0: +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.14.0, lodash@^4.15.0, lodash@^4.16.4, lodash@^4.17.2, lodash@^4.2.0, lodash@^4.3.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" @@ -3364,17 +3318,17 @@ mobx-react@^4.1.7: dependencies: hoist-non-react-statics "^1.2.0" -mobx-state-tree@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/mobx-state-tree/-/mobx-state-tree-0.6.2.tgz#aef2fdc2c71731c963c418525cfdc52e8031c9c7" +mobx-state-tree@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/mobx-state-tree/-/mobx-state-tree-0.7.1.tgz#660bdafaea83f630aa94b63625302e6650568473" mobx-utils@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/mobx-utils/-/mobx-utils-2.0.1.tgz#6460d6436f991b2d3250d51995cbcae2c5707b67" -mobx@^3.1.9: - version "3.1.9" - resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.1.9.tgz#ed4af9d874ff6032c7af91fc1b87d9d33122a557" +mobx@3.1.15: + version "3.1.15" + resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.1.15.tgz#b2c8831725de2f6f1b8d136e589b674b5b75c35d" ms@0.7.1: version "0.7.1" @@ -3546,11 +3500,11 @@ oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" -object-assign@4.1.1: +object-assign@4.1.1, object-assign@^4.0.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" -object-assign@^4.0.1, object-assign@^4.1.0: +object-assign@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" @@ -3677,10 +3631,6 @@ path-browserify@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" -path-exists@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-1.0.0.tgz#d5a8998eb71ef37a74c34eb0d9eba6e878eea081" - path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" @@ -4596,10 +4546,6 @@ sha.js@2.2.6: version "2.2.6" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba" -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - shelljs@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8" @@ -5195,14 +5141,10 @@ whatwg-encoding@^1.0.1: dependencies: iconv-lite "0.4.13" -whatwg-fetch@2.0.2: +whatwg-fetch@2.0.2, whatwg-fetch@>=0.10.0: version "2.0.2" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.2.tgz#fe294d1d89e36c5be8b3195057f2e4bc74fc980e" -whatwg-fetch@>=0.10.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-1.0.0.tgz#01c2ac4df40e236aaa18480e3be74bd5c8eb798e" - whatwg-url@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-4.3.0.tgz#92aaee21f4f2a642074357d70ef8500a7cbb171a" diff --git a/examples/boxes/package.json b/examples/boxes/package.json index f32b4e1b2..300d0495b 100644 --- a/examples/boxes/package.json +++ b/examples/boxes/package.json @@ -36,14 +36,15 @@ "webpack-dev-server": "^1.8.2" }, "dependencies": { - "mobx": "^3.1.12", + "mobx": "3.1.15", "mobx-react": "^4.1.3", "mobx-react-devtools": "^4.2.11", - "mobx-state-tree": "^0.5.0", + "mobx-state-tree": "^0.7.1", "node-uuid": "^1.4.3", "react": "^15.0.0", "react-dom": "^15.0.0", "react-draggable": "^1.0.1", + "remotedev": "^0.2.7", "ws": "^1.1.1" } } diff --git a/examples/boxes/src/components/sidebar.js b/examples/boxes/src/components/sidebar.js index 8a13a20df..009bd9661 100644 --- a/examples/boxes/src/components/sidebar.js +++ b/examples/boxes/src/components/sidebar.js @@ -6,6 +6,9 @@ class Sidebar extends Component { const {selection} = this.props.store; return selection ?
+ (control click the canvas to create new boxes) +
+ Caption:
:
; diff --git a/examples/boxes/src/index.js b/examples/boxes/src/index.js index 0605aaa8d..bf8443fb6 100644 --- a/examples/boxes/src/index.js +++ b/examples/boxes/src/index.js @@ -24,7 +24,7 @@ ReactDOM.render( function prepareStore(newStore) { storeInstance.set(newStore) - connectReduxDevtools(newStore) + connectReduxDevtools(require("remotedev"), newStore) syncStoreWithBackend(socket, newStore) } diff --git a/examples/boxes/src/stores/domain-state.js b/examples/boxes/src/stores/domain-state.js index 2273f5225..dac36170b 100644 --- a/examples/boxes/src/stores/domain-state.js +++ b/examples/boxes/src/stores/domain-state.js @@ -28,14 +28,14 @@ export const Box = types.model("Box", { export const Arrow = types.model("Arrow", { id: types.identifier(), - from: types.reference(Box, "../../boxes"), - to: types.reference(Box, "../../boxes") + from: types.reference(Box), + to: types.reference(Box) }) export const Store = types.model("Store", { boxes: types.map(Box), arrows: types.array(Arrow), - selection: types.reference(Box, "./boxes") + selection: types.maybe(types.reference(Box)) }, { addBox(name, x, y) { const box = Box.create({ name, x, y, id: randomUuid() }) @@ -67,7 +67,7 @@ const store = Store.create({ "arrows":[ {"id":"7b5d33c1-5e12-4278-b1c5-e4ae05c036bd","from":"ce9131ee-f528-4952-a012-543780c5e66d","to":"14194d76-aa31-45c5-a00c-104cc550430f"} ], - "selection":"" + "selection":null }) export default store; diff --git a/examples/boxes/src/stores/domain-state.spec.js b/examples/boxes/src/stores/domain-state.spec.js index 277a15bb8..f4c780e76 100644 --- a/examples/boxes/src/stores/domain-state.spec.js +++ b/examples/boxes/src/stores/domain-state.spec.js @@ -1,5 +1,5 @@ import { - getSnapshot, applyAction, clone, testActions + getSnapshot, applyActions, clone, testActions } from "mobx-state-tree" import {Box} from "./domain-state" @@ -14,10 +14,13 @@ test("it should be able to move boxes - 1", () => { }) test("it should be able to move boxes - 2", () => { - expect(testActions( - Box, - { x: 100, y: 100, id: "1", name: "test" }, - { name: "move", args: [ 5, 5 ]}, - { name: "move", args: [ 3, 2 ]} - )).toMatchSnapshot() + const box = Box.create({ x: 100, y: 100, id: "1", name: "test" }) + applyActions( + box, + [ + { name: "move", args: [ 5, 5 ]}, + { name: "move", args: [ 3, 2 ]} + ] + ) + expect(box.toJSON()).toMatchSnapshot() }) diff --git a/examples/boxes/yarn.lock b/examples/boxes/yarn.lock index 0b71bf786..96eeda134 100644 --- a/examples/boxes/yarn.lock +++ b/examples/boxes/yarn.lock @@ -1104,6 +1104,10 @@ cliui@^3.2.0: strip-ansi "^3.0.1" wrap-ansi "^2.0.0" +clone@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.1.tgz#d217d1e961118e3ac9a4b8bba3285553bf647cdb" + clone@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.2.tgz#260b7a99ebb1edfe247538175f783243cb19d149" @@ -1234,10 +1238,6 @@ cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": dependencies: cssom "0.3.x" -cycle@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" - dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -2438,10 +2438,6 @@ lodash.assign@^4.1.0, lodash.assign@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" -lodash.clonedeep@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - lodash.clonedeep@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz#a0a1e40d82a5ea89ff5b147b8444ed63d92827db" @@ -2595,15 +2591,13 @@ mobx-react@^4.1.3: dependencies: hoist-non-react-statics "^1.2.0" -mobx-state-tree@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mobx-state-tree/-/mobx-state-tree-0.5.0.tgz#c96c3936945cfd0f906c50cee52f7287b66c16de" - dependencies: - remotedev "^0.2.2" +mobx-state-tree@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/mobx-state-tree/-/mobx-state-tree-0.7.1.tgz#660bdafaea83f630aa94b63625302e6650568473" -mobx@^3.1.7: - version "3.1.9" - resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.1.9.tgz#ed4af9d874ff6032c7af91fc1b87d9d33122a557" +mobx@3.1.15: + version "3.1.15" + resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.1.15.tgz#b2c8831725de2f6f1b8d136e589b674b5b75c35d" ms@0.7.1: version "0.7.1" @@ -3157,7 +3151,7 @@ regjsparser@^0.1.4: dependencies: jsesc "~0.5.0" -remotedev@^0.2.2: +remotedev@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/remotedev/-/remotedev-0.2.7.tgz#85ef370b52eb5721bd3e869d681dc7027d527ee3" dependencies: @@ -3253,7 +3247,7 @@ rn-host-detect@^1.0.1: version "1.1.3" resolved "https://registry.yarnpkg.com/rn-host-detect/-/rn-host-detect-1.1.3.tgz#242d76e2fa485c48d751416e65b7cce596969e91" -safe-buffer@^5.0.1: +safe-buffer@^5.0.1, safe-buffer@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" @@ -3272,25 +3266,23 @@ sax@^1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.2.tgz#fd8631a23bc7826bef5d871bdb87378c95647828" -sc-channel@1.0.x: +sc-channel@~1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/sc-channel/-/sc-channel-1.0.6.tgz#b38bd47a993e78290fbc53467867f6b2a0a08639" dependencies: sc-emitter "1.x.x" -sc-emitter@1.x.x: +sc-emitter@1.x.x, sc-emitter@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/sc-emitter/-/sc-emitter-1.1.0.tgz#ef119d4222f4c64f887b486964ef11116cdd0e75" dependencies: component-emitter "1.2.0" -sc-errors@1.0.x: - version "1.0.6" - resolved "https://registry.yarnpkg.com/sc-errors/-/sc-errors-1.0.6.tgz#80e77c36348b2c88bbe7ead8dc63be61f34b7103" - dependencies: - cycle "1.0.3" +sc-errors@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/sc-errors/-/sc-errors-1.2.1.tgz#02417d3e3f2c10b1bb66d42aae8bafd2eab3b9e2" -sc-formatter@3.0.x: +sc-formatter@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/sc-formatter/-/sc-formatter-3.0.0.tgz#c91b1fe56c260abd5a6a2e6af98c724bc7998a38" @@ -3380,18 +3372,18 @@ sntp@1.x.x: hoek "2.x.x" socketcluster-client@^5.0.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/socketcluster-client/-/socketcluster-client-5.3.1.tgz#83eb73bf5cfcd559e372035ab032b0df185936aa" + version "5.5.1" + resolved "https://registry.yarnpkg.com/socketcluster-client/-/socketcluster-client-5.5.1.tgz#566aac05e8b13730d7e52498eb1ad673a6df1ca3" dependencies: base-64 "0.1.0" + clone "2.1.1" linked-list "0.1.0" - lodash.clonedeep "4.5.0" querystring "0.2.0" - sc-channel "1.0.x" - sc-emitter "1.x.x" - sc-errors "1.0.x" - sc-formatter "3.0.x" - ws "1.1.2" + sc-channel "~1.0.6" + sc-emitter "~1.1.0" + sc-errors "~1.2.1" + sc-formatter "~3.0.0" + ws "3.0.0" sockjs-client@^1.0.3: version "1.1.4" @@ -3678,6 +3670,10 @@ ultron@1.0.x: version "1.0.2" resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" +ultron@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.0.tgz#b07a2e6a541a815fc6a34ccd4533baec307ca864" + unpipe@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" @@ -3909,12 +3905,12 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -ws@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f" +ws@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.0.0.tgz#98ddb00056c8390cb751e7788788497f99103b6c" dependencies: - options ">=0.0.5" - ultron "1.0.x" + safe-buffer "~5.0.1" + ultron "~1.1.0" ws@^1.1.1: version "1.1.4" diff --git a/examples/redux-todomvc/package.json b/examples/redux-todomvc/package.json index 365f4ee55..f19070960 100644 --- a/examples/redux-todomvc/package.json +++ b/examples/redux-todomvc/package.json @@ -9,8 +9,8 @@ }, "dependencies": { "classnames": "^2.2.5", - "mobx": "^3.1.12", - "mobx-state-tree": "^0.6.2", + "mobx": "3.1.15", + "mobx-state-tree": "^0.7.1", "react": "^15.3.0", "react-dom": "^15.3.0", "react-redux": "^4.4.5", diff --git a/examples/redux-todomvc/src/index.js b/examples/redux-todomvc/src/index.js index 34a965941..bad436860 100644 --- a/examples/redux-todomvc/src/index.js +++ b/examples/redux-todomvc/src/index.js @@ -16,7 +16,7 @@ const initialState = { } const todos = window.todos = todosFactory.create(initialState) const store = asReduxStore(todos) -connectReduxDevtools(require("remotedev"), todos) // TODO: would make more sense to pass in `store`? +connectReduxDevtools(require("remotedev"), todos) render( diff --git a/examples/redux-todomvc/src/models/todos.js b/examples/redux-todomvc/src/models/todos.js index d7f0c7b61..8645b3dd8 100644 --- a/examples/redux-todomvc/src/models/todos.js +++ b/examples/redux-todomvc/src/models/todos.js @@ -1,5 +1,5 @@ import { ADD_TODO, DELETE_TODO, EDIT_TODO, COMPLETE_TODO, COMPLETE_ALL, CLEAR_COMPLETED } from '../constants/ActionTypes' -import { types } from 'mobx-state-tree' +import { types, destroy } from 'mobx-state-tree' const Todo = types.model({ text: 'Learn Redux', @@ -8,7 +8,7 @@ const Todo = types.model({ }) const TodoStore = types.model({ - todos: types.array(Todo), + todos: types.optional(types.array(Todo), []), // utilities findTodoById: function (id) { @@ -23,7 +23,8 @@ const TodoStore = types.model({ }) }, [DELETE_TODO]({id}) { - this.todos.remove(this.findTodoById(id)) + const todo = this.findTodoById(id) + this.todos.remove(todo) }, [EDIT_TODO]({id, text}) { this.findTodoById(id).text = text diff --git a/examples/redux-todomvc/yarn.lock b/examples/redux-todomvc/yarn.lock index faea83d84..79d98f619 100644 --- a/examples/redux-todomvc/yarn.lock +++ b/examples/redux-todomvc/yarn.lock @@ -3687,13 +3687,13 @@ mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd dependencies: minimist "0.0.8" -mobx-state-tree@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/mobx-state-tree/-/mobx-state-tree-0.6.2.tgz#aef2fdc2c71731c963c418525cfdc52e8031c9c7" +mobx-state-tree@^0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/mobx-state-tree/-/mobx-state-tree-0.7.1.tgz#660bdafaea83f630aa94b63625302e6650568473" -mobx@^3.1.9: - version "3.1.9" - resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.1.9.tgz#ed4af9d874ff6032c7af91fc1b87d9d33122a557" +mobx@3.1.15: + version "3.1.15" + resolved "https://registry.yarnpkg.com/mobx/-/mobx-3.1.15.tgz#b2c8831725de2f6f1b8d136e589b674b5b75c35d" ms@0.7.1: version "0.7.1"