├── .gitignore
├── LICENSE
├── README.md
├── build
└── index.html
├── npm-shrinkwrap.json
├── package.json
├── rollup.config.js
└── src
├── actions.js
├── index.js
├── reducers.js
├── selectors.js
└── tags
├── app.tag
└── counter.tag
/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | build/bundle.js
3 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2016, Fabian Boehlke
2 |
3 | Permission to use, copy, modify, and/or distribute this software for any purpose
4 | with or without fee is hereby granted, provided that the above copyright notice
5 | and this permission notice appear in all copies.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
9 | FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
11 | OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
12 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
13 | THIS SOFTWARE.
14 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | riot-redux-sample (archived)
2 | =================
3 |
4 | Showing how to use [riot-redux-mixin](https://github.com/ibloat/riot-redux-mixin) to connect riot tags with a redux store.
5 | Using [reselect](https://github.com/rackt/reselect) as memoizing selector library.
6 |
7 | ```
8 | npm install
9 |
10 | # build
11 | npm run build
12 | # or if you want to watch for changes.
13 | npm run watch
14 |
15 | # serve files in build directory
16 | npm run serve
17 | ```
18 |
--------------------------------------------------------------------------------
/build/index.html:
--------------------------------------------------------------------------------
1 |
Riot Redux FRP Boilerplate
2 |
--------------------------------------------------------------------------------
/npm-shrinkwrap.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "riot-redux-sample",
3 | "version": "1.0.0",
4 | "dependencies": {
5 | "accepts": {
6 | "version": "1.3.3",
7 | "from": "accepts@>=1.3.3 <1.4.0",
8 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz"
9 | },
10 | "acorn": {
11 | "version": "3.2.0",
12 | "from": "acorn@>=3.1.0 <4.0.0",
13 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.2.0.tgz"
14 | },
15 | "acorn-jsx": {
16 | "version": "3.0.1",
17 | "from": "acorn-jsx@>=3.0.1 <4.0.0",
18 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz"
19 | },
20 | "acorn-object-spread": {
21 | "version": "1.0.0",
22 | "from": "acorn-object-spread@>=1.0.0 <2.0.0",
23 | "resolved": "https://registry.npmjs.org/acorn-object-spread/-/acorn-object-spread-1.0.0.tgz"
24 | },
25 | "amdefine": {
26 | "version": "1.0.0",
27 | "from": "amdefine@>=0.0.4",
28 | "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz"
29 | },
30 | "ansi-align": {
31 | "version": "1.1.0",
32 | "from": "ansi-align@>=1.1.0 <2.0.0",
33 | "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz"
34 | },
35 | "ansi-regex": {
36 | "version": "2.0.0",
37 | "from": "ansi-regex@>=2.0.0 <3.0.0",
38 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
39 | },
40 | "ansi-styles": {
41 | "version": "2.2.1",
42 | "from": "ansi-styles@>=2.2.1 <3.0.0",
43 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"
44 | },
45 | "anymatch": {
46 | "version": "1.3.0",
47 | "from": "anymatch@>=1.3.0 <2.0.0",
48 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz"
49 | },
50 | "arr-diff": {
51 | "version": "2.0.0",
52 | "from": "arr-diff@>=2.0.0 <3.0.0",
53 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz"
54 | },
55 | "arr-flatten": {
56 | "version": "1.0.1",
57 | "from": "arr-flatten@>=1.0.1 <2.0.0",
58 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz"
59 | },
60 | "array-flatten": {
61 | "version": "1.1.1",
62 | "from": "array-flatten@>=1.0.0 <2.0.0",
63 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
64 | },
65 | "array-unique": {
66 | "version": "0.2.1",
67 | "from": "array-unique@>=0.2.1 <0.3.0",
68 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz"
69 | },
70 | "arrify": {
71 | "version": "1.0.1",
72 | "from": "arrify@>=1.0.0 <2.0.0",
73 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz"
74 | },
75 | "as-array": {
76 | "version": "2.0.0",
77 | "from": "as-array@>=2.0.0 <3.0.0",
78 | "resolved": "https://registry.npmjs.org/as-array/-/as-array-2.0.0.tgz"
79 | },
80 | "async": {
81 | "version": "1.5.2",
82 | "from": "async@>=1.5.2 <2.0.0",
83 | "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz"
84 | },
85 | "async-each": {
86 | "version": "1.0.0",
87 | "from": "async-each@>=1.0.0 <2.0.0",
88 | "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.0.tgz"
89 | },
90 | "balanced-match": {
91 | "version": "0.4.2",
92 | "from": "balanced-match@>=0.4.1 <0.5.0",
93 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz"
94 | },
95 | "basic-auth": {
96 | "version": "1.0.4",
97 | "from": "basic-auth@>=1.0.3 <1.1.0",
98 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz"
99 | },
100 | "basic-auth-connect": {
101 | "version": "1.0.0",
102 | "from": "basic-auth-connect@>=1.0.0 <2.0.0",
103 | "resolved": "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz"
104 | },
105 | "binary-extensions": {
106 | "version": "1.5.0",
107 | "from": "binary-extensions@>=1.0.0 <2.0.0",
108 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.5.0.tgz"
109 | },
110 | "boxen": {
111 | "version": "0.6.0",
112 | "from": "boxen@>=0.6.0 <0.7.0",
113 | "resolved": "https://registry.npmjs.org/boxen/-/boxen-0.6.0.tgz"
114 | },
115 | "brace-expansion": {
116 | "version": "1.1.6",
117 | "from": "brace-expansion@>=1.0.0 <2.0.0",
118 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
119 | },
120 | "braces": {
121 | "version": "1.8.5",
122 | "from": "braces@>=1.8.2 <2.0.0",
123 | "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz"
124 | },
125 | "browser-resolve": {
126 | "version": "1.11.2",
127 | "from": "browser-resolve@>=1.11.0 <2.0.0",
128 | "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz"
129 | },
130 | "buble": {
131 | "version": "0.12.5",
132 | "from": "buble@>=0.12.0 <0.13.0",
133 | "resolved": "https://registry.npmjs.org/buble/-/buble-0.12.5.tgz"
134 | },
135 | "buffer-shims": {
136 | "version": "1.0.0",
137 | "from": "buffer-shims@>=1.0.0 <2.0.0",
138 | "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz"
139 | },
140 | "builtin-modules": {
141 | "version": "1.1.1",
142 | "from": "builtin-modules@>=1.1.0 <2.0.0",
143 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz"
144 | },
145 | "bytes": {
146 | "version": "2.3.0",
147 | "from": "bytes@2.3.0",
148 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-2.3.0.tgz"
149 | },
150 | "camelcase": {
151 | "version": "2.1.1",
152 | "from": "camelcase@>=2.1.0 <3.0.0",
153 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz"
154 | },
155 | "capture-stack-trace": {
156 | "version": "1.0.0",
157 | "from": "capture-stack-trace@>=1.0.0 <2.0.0",
158 | "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz"
159 | },
160 | "chalk": {
161 | "version": "1.1.3",
162 | "from": "chalk@>=1.1.3 <2.0.0",
163 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
164 | },
165 | "char-spinner": {
166 | "version": "1.0.1",
167 | "from": "char-spinner@>=1.0.1 <2.0.0",
168 | "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz"
169 | },
170 | "chokidar": {
171 | "version": "1.6.0",
172 | "from": "chokidar@>=1.5.2 <2.0.0",
173 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.6.0.tgz"
174 | },
175 | "cli-boxes": {
176 | "version": "1.0.0",
177 | "from": "cli-boxes@>=1.0.0 <2.0.0",
178 | "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-1.0.0.tgz"
179 | },
180 | "co": {
181 | "version": "4.6.0",
182 | "from": "co@>=4.6.0 <5.0.0",
183 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz"
184 | },
185 | "code-point-at": {
186 | "version": "1.0.0",
187 | "from": "code-point-at@>=1.0.0 <2.0.0",
188 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz"
189 | },
190 | "compare-semver": {
191 | "version": "1.1.0",
192 | "from": "compare-semver@>=1.0.0 <2.0.0",
193 | "resolved": "https://registry.npmjs.org/compare-semver/-/compare-semver-1.1.0.tgz"
194 | },
195 | "compressible": {
196 | "version": "2.0.8",
197 | "from": "compressible@>=2.0.8 <2.1.0",
198 | "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.8.tgz"
199 | },
200 | "compression": {
201 | "version": "1.6.2",
202 | "from": "compression@>=1.2.2 <2.0.0",
203 | "resolved": "https://registry.npmjs.org/compression/-/compression-1.6.2.tgz"
204 | },
205 | "concat-map": {
206 | "version": "0.0.1",
207 | "from": "concat-map@0.0.1",
208 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
209 | },
210 | "concat-stream": {
211 | "version": "1.5.1",
212 | "from": "concat-stream@>=1.5.1 <2.0.0",
213 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz",
214 | "dependencies": {
215 | "readable-stream": {
216 | "version": "2.0.6",
217 | "from": "readable-stream@>=2.0.0 <2.1.0",
218 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz"
219 | }
220 | }
221 | },
222 | "configstore": {
223 | "version": "2.0.0",
224 | "from": "configstore@>=2.0.0 <3.0.0",
225 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-2.0.0.tgz"
226 | },
227 | "connect": {
228 | "version": "3.4.1",
229 | "from": "connect@>=3.3.3 <4.0.0",
230 | "resolved": "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz"
231 | },
232 | "connect-query": {
233 | "version": "0.2.0",
234 | "from": "connect-query@>=0.2.0 <0.3.0",
235 | "resolved": "https://registry.npmjs.org/connect-query/-/connect-query-0.2.0.tgz"
236 | },
237 | "core-util-is": {
238 | "version": "1.0.2",
239 | "from": "core-util-is@>=1.0.0 <1.1.0",
240 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
241 | },
242 | "create-error-class": {
243 | "version": "3.0.2",
244 | "from": "create-error-class@>=3.0.1 <4.0.0",
245 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz"
246 | },
247 | "debug": {
248 | "version": "2.2.0",
249 | "from": "debug@>=2.2.0 <2.3.0",
250 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz"
251 | },
252 | "deep-extend": {
253 | "version": "0.4.1",
254 | "from": "deep-extend@>=0.4.0 <0.5.0",
255 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz"
256 | },
257 | "deep-is": {
258 | "version": "0.1.3",
259 | "from": "deep-is@>=0.1.3 <0.2.0",
260 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"
261 | },
262 | "depd": {
263 | "version": "1.1.0",
264 | "from": "depd@>=1.1.0 <1.2.0",
265 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz"
266 | },
267 | "destroy": {
268 | "version": "1.0.4",
269 | "from": "destroy@>=1.0.3 <2.0.0",
270 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz"
271 | },
272 | "dot-prop": {
273 | "version": "2.4.0",
274 | "from": "dot-prop@>=2.3.0 <3.0.0",
275 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-2.4.0.tgz"
276 | },
277 | "duplexer2": {
278 | "version": "0.1.4",
279 | "from": "duplexer2@>=0.1.4 <0.2.0",
280 | "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz"
281 | },
282 | "ee-first": {
283 | "version": "1.1.1",
284 | "from": "ee-first@1.1.1",
285 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
286 | },
287 | "error-ex": {
288 | "version": "1.3.0",
289 | "from": "error-ex@>=1.2.0 <2.0.0",
290 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz"
291 | },
292 | "escape-html": {
293 | "version": "1.0.3",
294 | "from": "escape-html@>=1.0.3 <1.1.0",
295 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
296 | },
297 | "escape-string-regexp": {
298 | "version": "1.0.5",
299 | "from": "escape-string-regexp@>=1.0.2 <2.0.0",
300 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
301 | },
302 | "estree-walker": {
303 | "version": "0.2.1",
304 | "from": "estree-walker@>=0.2.1 <0.3.0",
305 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.2.1.tgz"
306 | },
307 | "expand-brackets": {
308 | "version": "0.1.5",
309 | "from": "expand-brackets@>=0.1.4 <0.2.0",
310 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz"
311 | },
312 | "expand-range": {
313 | "version": "1.8.2",
314 | "from": "expand-range@>=1.8.1 <2.0.0",
315 | "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz"
316 | },
317 | "extglob": {
318 | "version": "0.3.2",
319 | "from": "extglob@>=0.3.1 <0.4.0",
320 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz"
321 | },
322 | "fast-levenshtein": {
323 | "version": "1.1.4",
324 | "from": "fast-levenshtein@>=1.1.0 <2.0.0",
325 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz"
326 | },
327 | "fast-url-parser": {
328 | "version": "1.1.3",
329 | "from": "fast-url-parser@>=1.1.3 <2.0.0",
330 | "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz"
331 | },
332 | "filename-regex": {
333 | "version": "2.0.0",
334 | "from": "filename-regex@>=2.0.0 <3.0.0",
335 | "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz"
336 | },
337 | "fill-range": {
338 | "version": "2.2.3",
339 | "from": "fill-range@>=2.1.0 <3.0.0",
340 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz"
341 | },
342 | "filled-array": {
343 | "version": "1.1.0",
344 | "from": "filled-array@>=1.0.0 <2.0.0",
345 | "resolved": "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz"
346 | },
347 | "finalhandler": {
348 | "version": "0.4.1",
349 | "from": "finalhandler@0.4.1",
350 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz"
351 | },
352 | "flat-arguments": {
353 | "version": "1.0.2",
354 | "from": "flat-arguments@>=1.0.0 <2.0.0",
355 | "resolved": "https://registry.npmjs.org/flat-arguments/-/flat-arguments-1.0.2.tgz",
356 | "dependencies": {
357 | "as-array": {
358 | "version": "1.0.0",
359 | "from": "as-array@>=1.0.0 <2.0.0",
360 | "resolved": "https://registry.npmjs.org/as-array/-/as-array-1.0.0.tgz",
361 | "dependencies": {
362 | "lodash.isarguments": {
363 | "version": "2.4.1",
364 | "from": "lodash.isarguments@>=2.4.0 <2.5.0",
365 | "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-2.4.1.tgz"
366 | },
367 | "lodash.isobject": {
368 | "version": "2.4.1",
369 | "from": "lodash.isobject@^2.4.1",
370 | "resolved": "http://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
371 | }
372 | }
373 | },
374 | "lodash.isobject": {
375 | "version": "3.0.2",
376 | "from": "lodash.isobject@>=3.0.0 <4.0.0",
377 | "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-3.0.2.tgz"
378 | }
379 | }
380 | },
381 | "for-in": {
382 | "version": "0.1.5",
383 | "from": "for-in@>=0.1.5 <0.2.0",
384 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-0.1.5.tgz"
385 | },
386 | "for-own": {
387 | "version": "0.1.4",
388 | "from": "for-own@>=0.1.3 <0.2.0",
389 | "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz"
390 | },
391 | "fs-extra": {
392 | "version": "0.30.0",
393 | "from": "fs-extra@>=0.30.0 <0.31.0",
394 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz"
395 | },
396 | "fs.realpath": {
397 | "version": "1.0.0",
398 | "from": "fs.realpath@>=1.0.0 <2.0.0",
399 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
400 | },
401 | "glob": {
402 | "version": "7.0.5",
403 | "from": "glob@>=7.0.0 <8.0.0",
404 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz"
405 | },
406 | "glob-base": {
407 | "version": "0.3.0",
408 | "from": "glob-base@>=0.3.0 <0.4.0",
409 | "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz"
410 | },
411 | "glob-parent": {
412 | "version": "2.0.0",
413 | "from": "glob-parent@>=2.0.0 <3.0.0",
414 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz"
415 | },
416 | "glob-slash": {
417 | "version": "1.0.0",
418 | "from": "glob-slash@>=1.0.0 <2.0.0",
419 | "resolved": "https://registry.npmjs.org/glob-slash/-/glob-slash-1.0.0.tgz"
420 | },
421 | "glob-slasher": {
422 | "version": "1.0.1",
423 | "from": "glob-slasher@>=1.0.1 <2.0.0",
424 | "resolved": "https://registry.npmjs.org/glob-slasher/-/glob-slasher-1.0.1.tgz"
425 | },
426 | "got": {
427 | "version": "5.6.0",
428 | "from": "got@>=5.0.0 <6.0.0",
429 | "resolved": "https://registry.npmjs.org/got/-/got-5.6.0.tgz"
430 | },
431 | "graceful-fs": {
432 | "version": "4.1.4",
433 | "from": "graceful-fs@>=4.1.2 <5.0.0",
434 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz"
435 | },
436 | "has-ansi": {
437 | "version": "2.0.0",
438 | "from": "has-ansi@>=2.0.0 <3.0.0",
439 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
440 | },
441 | "home-dir": {
442 | "version": "1.0.0",
443 | "from": "home-dir@>=1.0.0 <2.0.0",
444 | "resolved": "https://registry.npmjs.org/home-dir/-/home-dir-1.0.0.tgz"
445 | },
446 | "imurmurhash": {
447 | "version": "0.1.4",
448 | "from": "imurmurhash@>=0.1.4 <0.2.0",
449 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
450 | },
451 | "inflight": {
452 | "version": "1.0.5",
453 | "from": "inflight@>=1.0.4 <2.0.0",
454 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz"
455 | },
456 | "inherits": {
457 | "version": "2.0.1",
458 | "from": "inherits@>=2.0.1 <3.0.0",
459 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
460 | },
461 | "ini": {
462 | "version": "1.3.4",
463 | "from": "ini@>=1.3.0 <1.4.0",
464 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz"
465 | },
466 | "interpret": {
467 | "version": "1.0.1",
468 | "from": "interpret@>=1.0.0 <2.0.0",
469 | "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz"
470 | },
471 | "is-arrayish": {
472 | "version": "0.2.1",
473 | "from": "is-arrayish@>=0.2.1 <0.3.0",
474 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
475 | },
476 | "is-binary-path": {
477 | "version": "1.0.1",
478 | "from": "is-binary-path@>=1.0.0 <2.0.0",
479 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz"
480 | },
481 | "is-buffer": {
482 | "version": "1.1.3",
483 | "from": "is-buffer@>=1.0.2 <2.0.0",
484 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz"
485 | },
486 | "is-dotfile": {
487 | "version": "1.0.2",
488 | "from": "is-dotfile@>=1.0.0 <2.0.0",
489 | "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz"
490 | },
491 | "is-equal-shallow": {
492 | "version": "0.1.3",
493 | "from": "is-equal-shallow@>=0.1.3 <0.2.0",
494 | "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz"
495 | },
496 | "is-extendable": {
497 | "version": "0.1.1",
498 | "from": "is-extendable@>=0.1.1 <0.2.0",
499 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz"
500 | },
501 | "is-extglob": {
502 | "version": "1.0.0",
503 | "from": "is-extglob@>=1.0.0 <2.0.0",
504 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz"
505 | },
506 | "is-finite": {
507 | "version": "1.0.1",
508 | "from": "is-finite@>=1.0.0 <2.0.0",
509 | "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz"
510 | },
511 | "is-fullwidth-code-point": {
512 | "version": "1.0.0",
513 | "from": "is-fullwidth-code-point@>=1.0.0 <2.0.0",
514 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"
515 | },
516 | "is-glob": {
517 | "version": "2.0.1",
518 | "from": "is-glob@>=2.0.0 <3.0.0",
519 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz"
520 | },
521 | "is-npm": {
522 | "version": "1.0.0",
523 | "from": "is-npm@>=1.0.0 <2.0.0",
524 | "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz"
525 | },
526 | "is-number": {
527 | "version": "2.1.0",
528 | "from": "is-number@>=2.1.0 <3.0.0",
529 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz"
530 | },
531 | "is-obj": {
532 | "version": "1.0.1",
533 | "from": "is-obj@>=1.0.0 <2.0.0",
534 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz"
535 | },
536 | "is-plain-obj": {
537 | "version": "1.1.0",
538 | "from": "is-plain-obj@>=1.0.0 <2.0.0",
539 | "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz"
540 | },
541 | "is-posix-bracket": {
542 | "version": "0.1.1",
543 | "from": "is-posix-bracket@>=0.1.0 <0.2.0",
544 | "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz"
545 | },
546 | "is-primitive": {
547 | "version": "2.0.0",
548 | "from": "is-primitive@>=2.0.0 <3.0.0",
549 | "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz"
550 | },
551 | "is-redirect": {
552 | "version": "1.0.0",
553 | "from": "is-redirect@>=1.0.0 <2.0.0",
554 | "resolved": "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz"
555 | },
556 | "is-retry-allowed": {
557 | "version": "1.1.0",
558 | "from": "is-retry-allowed@>=1.0.0 <2.0.0",
559 | "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz"
560 | },
561 | "is-stream": {
562 | "version": "1.1.0",
563 | "from": "is-stream@>=1.0.0 <2.0.0",
564 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz"
565 | },
566 | "is-url": {
567 | "version": "1.2.2",
568 | "from": "is-url@>=1.2.1 <2.0.0",
569 | "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.2.tgz"
570 | },
571 | "isarray": {
572 | "version": "1.0.0",
573 | "from": "isarray@1.0.0",
574 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
575 | },
576 | "isobject": {
577 | "version": "2.1.0",
578 | "from": "isobject@>=2.0.0 <3.0.0",
579 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz"
580 | },
581 | "join-path": {
582 | "version": "1.1.0",
583 | "from": "join-path@>=1.0.0 <2.0.0",
584 | "resolved": "https://registry.npmjs.org/join-path/-/join-path-1.1.0.tgz"
585 | },
586 | "js-tokens": {
587 | "version": "1.0.3",
588 | "from": "js-tokens@>=1.0.1 <2.0.0",
589 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz"
590 | },
591 | "jsonfile": {
592 | "version": "2.3.1",
593 | "from": "jsonfile@>=2.1.0 <3.0.0",
594 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.3.1.tgz"
595 | },
596 | "kind-of": {
597 | "version": "3.0.3",
598 | "from": "kind-of@>=3.0.2 <4.0.0",
599 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz"
600 | },
601 | "klaw": {
602 | "version": "1.3.0",
603 | "from": "klaw@>=1.0.0 <2.0.0",
604 | "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.0.tgz"
605 | },
606 | "latest-version": {
607 | "version": "2.0.0",
608 | "from": "latest-version@>=2.0.0 <3.0.0",
609 | "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz"
610 | },
611 | "lazy-req": {
612 | "version": "1.1.0",
613 | "from": "lazy-req@>=1.1.0 <2.0.0",
614 | "resolved": "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz"
615 | },
616 | "levn": {
617 | "version": "0.3.0",
618 | "from": "levn@>=0.3.0 <0.4.0",
619 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz"
620 | },
621 | "lodash": {
622 | "version": "4.13.1",
623 | "from": "lodash@>=4.11.2 <5.0.0",
624 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.13.1.tgz"
625 | },
626 | "lodash-es": {
627 | "version": "4.13.1",
628 | "from": "lodash-es@>=4.2.1 <5.0.0",
629 | "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.13.1.tgz"
630 | },
631 | "lodash._isnative": {
632 | "version": "2.4.1",
633 | "from": "lodash._isnative@>=2.4.1 <2.5.0",
634 | "resolved": "https://registry.npmjs.org/lodash._isnative/-/lodash._isnative-2.4.1.tgz"
635 | },
636 | "lodash._objecttypes": {
637 | "version": "2.4.1",
638 | "from": "lodash._objecttypes@>=2.4.1 <2.5.0",
639 | "resolved": "https://registry.npmjs.org/lodash._objecttypes/-/lodash._objecttypes-2.4.1.tgz"
640 | },
641 | "lodash._shimkeys": {
642 | "version": "2.4.1",
643 | "from": "lodash._shimkeys@>=2.4.1 <2.5.0",
644 | "resolved": "https://registry.npmjs.org/lodash._shimkeys/-/lodash._shimkeys-2.4.1.tgz"
645 | },
646 | "lodash.isarguments": {
647 | "version": "3.0.8",
648 | "from": "lodash.isarguments@>=3.0.0 <4.0.0",
649 | "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.8.tgz"
650 | },
651 | "lodash.isobject": {
652 | "version": "2.4.1",
653 | "from": "lodash.isobject@>=2.4.1 <3.0.0",
654 | "resolved": "https://registry.npmjs.org/lodash.isobject/-/lodash.isobject-2.4.1.tgz"
655 | },
656 | "lodash.keys": {
657 | "version": "2.4.1",
658 | "from": "lodash.keys@>=2.4.1 <2.5.0",
659 | "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-2.4.1.tgz"
660 | },
661 | "lodash.values": {
662 | "version": "2.4.1",
663 | "from": "lodash.values@>=2.4.1 <3.0.0",
664 | "resolved": "https://registry.npmjs.org/lodash.values/-/lodash.values-2.4.1.tgz"
665 | },
666 | "loose-envify": {
667 | "version": "1.2.0",
668 | "from": "loose-envify@>=1.1.0 <2.0.0",
669 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz"
670 | },
671 | "lowercase-keys": {
672 | "version": "1.0.0",
673 | "from": "lowercase-keys@>=1.0.0 <2.0.0",
674 | "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz"
675 | },
676 | "magic-string": {
677 | "version": "0.14.0",
678 | "from": "magic-string@>=0.14.0 <0.15.0",
679 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.14.0.tgz"
680 | },
681 | "methods": {
682 | "version": "1.1.2",
683 | "from": "methods@>=1.1.2 <1.2.0",
684 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
685 | },
686 | "micromatch": {
687 | "version": "2.3.11",
688 | "from": "micromatch@>=2.1.5 <3.0.0",
689 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz"
690 | },
691 | "mime-db": {
692 | "version": "1.23.0",
693 | "from": "mime-db@>=1.23.0 <1.24.0",
694 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz"
695 | },
696 | "mime-types": {
697 | "version": "2.1.11",
698 | "from": "mime-types@>=2.0.4 <3.0.0",
699 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz"
700 | },
701 | "minimatch": {
702 | "version": "3.0.2",
703 | "from": "minimatch@>=3.0.2 <4.0.0",
704 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.2.tgz"
705 | },
706 | "minimist": {
707 | "version": "1.2.0",
708 | "from": "minimist@>=1.2.0 <2.0.0",
709 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz"
710 | },
711 | "mkdirp": {
712 | "version": "0.5.1",
713 | "from": "mkdirp@>=0.5.0 <0.6.0",
714 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
715 | "dependencies": {
716 | "minimist": {
717 | "version": "0.0.8",
718 | "from": "minimist@0.0.8",
719 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
720 | }
721 | }
722 | },
723 | "morgan": {
724 | "version": "1.7.0",
725 | "from": "morgan@>=1.5.0 <2.0.0",
726 | "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.7.0.tgz"
727 | },
728 | "ms": {
729 | "version": "0.7.1",
730 | "from": "ms@0.7.1",
731 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
732 | },
733 | "nash": {
734 | "version": "2.0.4",
735 | "from": "nash@>=2.0.0 <3.0.0",
736 | "resolved": "https://registry.npmjs.org/nash/-/nash-2.0.4.tgz",
737 | "dependencies": {
738 | "lodash": {
739 | "version": "3.10.1",
740 | "from": "lodash@>=3.10.0 <4.0.0",
741 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz"
742 | }
743 | }
744 | },
745 | "negotiator": {
746 | "version": "0.6.1",
747 | "from": "negotiator@0.6.1",
748 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz"
749 | },
750 | "node-status-codes": {
751 | "version": "1.0.0",
752 | "from": "node-status-codes@>=1.0.0 <2.0.0",
753 | "resolved": "https://registry.npmjs.org/node-status-codes/-/node-status-codes-1.0.0.tgz"
754 | },
755 | "normalize-path": {
756 | "version": "2.0.1",
757 | "from": "normalize-path@>=2.0.1 <3.0.0",
758 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz"
759 | },
760 | "number-is-nan": {
761 | "version": "1.0.0",
762 | "from": "number-is-nan@>=1.0.0 <2.0.0",
763 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz"
764 | },
765 | "object-assign": {
766 | "version": "4.1.0",
767 | "from": "object-assign@>=4.0.1 <5.0.0",
768 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
769 | },
770 | "object.omit": {
771 | "version": "2.0.0",
772 | "from": "object.omit@>=2.0.0 <3.0.0",
773 | "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.0.tgz"
774 | },
775 | "on-finished": {
776 | "version": "2.3.0",
777 | "from": "on-finished@>=2.2.0 <3.0.0",
778 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
779 | },
780 | "on-headers": {
781 | "version": "1.0.1",
782 | "from": "on-headers@>=1.0.0 <2.0.0",
783 | "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz"
784 | },
785 | "once": {
786 | "version": "1.3.3",
787 | "from": "once@>=1.3.0 <2.0.0",
788 | "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz"
789 | },
790 | "optionator": {
791 | "version": "0.8.1",
792 | "from": "optionator@>=0.8.1 <0.9.0",
793 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz"
794 | },
795 | "os-homedir": {
796 | "version": "1.0.1",
797 | "from": "os-homedir@>=1.0.1 <2.0.0",
798 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz"
799 | },
800 | "os-tmpdir": {
801 | "version": "1.0.1",
802 | "from": "os-tmpdir@>=1.0.0 <2.0.0",
803 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz"
804 | },
805 | "osenv": {
806 | "version": "0.1.3",
807 | "from": "osenv@>=0.1.0 <0.2.0",
808 | "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz"
809 | },
810 | "package-json": {
811 | "version": "2.3.3",
812 | "from": "package-json@>=2.0.0 <3.0.0",
813 | "resolved": "https://registry.npmjs.org/package-json/-/package-json-2.3.3.tgz"
814 | },
815 | "parse-glob": {
816 | "version": "3.0.4",
817 | "from": "parse-glob@>=3.0.4 <4.0.0",
818 | "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz"
819 | },
820 | "parse-json": {
821 | "version": "2.2.0",
822 | "from": "parse-json@>=2.1.0 <3.0.0",
823 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz"
824 | },
825 | "parseurl": {
826 | "version": "1.3.1",
827 | "from": "parseurl@>=1.3.1 <1.4.0",
828 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz"
829 | },
830 | "path-is-absolute": {
831 | "version": "1.0.0",
832 | "from": "path-is-absolute@>=1.0.0 <2.0.0",
833 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
834 | },
835 | "path-to-regexp": {
836 | "version": "1.5.3",
837 | "from": "path-to-regexp@>=1.2.1 <2.0.0",
838 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.5.3.tgz",
839 | "dependencies": {
840 | "isarray": {
841 | "version": "0.0.1",
842 | "from": "isarray@0.0.1",
843 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
844 | }
845 | }
846 | },
847 | "pinkie": {
848 | "version": "2.0.4",
849 | "from": "pinkie@>=2.0.0 <3.0.0",
850 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz"
851 | },
852 | "pinkie-promise": {
853 | "version": "2.0.1",
854 | "from": "pinkie-promise@>=2.0.0 <3.0.0",
855 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz"
856 | },
857 | "prelude-ls": {
858 | "version": "1.1.2",
859 | "from": "prelude-ls@>=1.1.2 <1.2.0",
860 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"
861 | },
862 | "prepend-http": {
863 | "version": "1.0.4",
864 | "from": "prepend-http@>=1.0.1 <2.0.0",
865 | "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz"
866 | },
867 | "preserve": {
868 | "version": "0.2.0",
869 | "from": "preserve@>=0.2.0 <0.3.0",
870 | "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz"
871 | },
872 | "process-nextick-args": {
873 | "version": "1.0.7",
874 | "from": "process-nextick-args@>=1.0.6 <1.1.0",
875 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz"
876 | },
877 | "punycode": {
878 | "version": "1.4.1",
879 | "from": "punycode@>=1.3.2 <2.0.0",
880 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
881 | },
882 | "qs": {
883 | "version": "1.1.0",
884 | "from": "qs@>=1.1.0 <1.2.0",
885 | "resolved": "https://registry.npmjs.org/qs/-/qs-1.1.0.tgz"
886 | },
887 | "randomatic": {
888 | "version": "1.1.5",
889 | "from": "randomatic@>=1.1.3 <2.0.0",
890 | "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz"
891 | },
892 | "rc": {
893 | "version": "1.1.6",
894 | "from": "rc@>=1.1.2 <2.0.0",
895 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz"
896 | },
897 | "read-all-stream": {
898 | "version": "3.1.0",
899 | "from": "read-all-stream@>=3.0.0 <4.0.0",
900 | "resolved": "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz"
901 | },
902 | "readable-stream": {
903 | "version": "2.1.4",
904 | "from": "readable-stream@>=2.0.2 <3.0.0",
905 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz"
906 | },
907 | "readdirp": {
908 | "version": "2.1.0",
909 | "from": "readdirp@>=2.0.0 <3.0.0",
910 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz"
911 | },
912 | "rechoir": {
913 | "version": "0.6.2",
914 | "from": "rechoir@>=0.6.2 <0.7.0",
915 | "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz"
916 | },
917 | "redux": {
918 | "version": "3.5.2",
919 | "from": "redux@latest",
920 | "resolved": "https://registry.npmjs.org/redux/-/redux-3.5.2.tgz"
921 | },
922 | "regex-cache": {
923 | "version": "0.4.3",
924 | "from": "regex-cache@>=0.4.2 <0.5.0",
925 | "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz"
926 | },
927 | "registry-url": {
928 | "version": "3.1.0",
929 | "from": "registry-url@>=3.0.3 <4.0.0",
930 | "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz"
931 | },
932 | "repeat-element": {
933 | "version": "1.1.2",
934 | "from": "repeat-element@>=1.1.2 <2.0.0",
935 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz"
936 | },
937 | "repeat-string": {
938 | "version": "1.5.4",
939 | "from": "repeat-string@>=1.5.2 <2.0.0",
940 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz"
941 | },
942 | "repeating": {
943 | "version": "2.0.1",
944 | "from": "repeating@>=2.0.0 <3.0.0",
945 | "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz"
946 | },
947 | "reselect": {
948 | "version": "2.5.3",
949 | "from": "reselect@latest",
950 | "resolved": "https://registry.npmjs.org/reselect/-/reselect-2.5.3.tgz"
951 | },
952 | "resolve": {
953 | "version": "1.1.7",
954 | "from": "resolve@>=1.1.6 <2.0.0",
955 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz"
956 | },
957 | "rimraf": {
958 | "version": "2.5.3",
959 | "from": "rimraf@>=2.2.8 <3.0.0",
960 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.3.tgz"
961 | },
962 | "riot": {
963 | "version": "2.5.0",
964 | "from": "riot@>=2.5.0 <3.0.0",
965 | "resolved": "https://registry.npmjs.org/riot/-/riot-2.5.0.tgz",
966 | "dependencies": {
967 | "riot-cli": {
968 | "version": "2.6.1",
969 | "from": "riot-cli@>=2.6.1 <3.0.0",
970 | "resolved": "https://registry.npmjs.org/riot-cli/-/riot-cli-2.6.1.tgz"
971 | },
972 | "rollup": {
973 | "version": "0.32.4",
974 | "from": "rollup@>=0.32.0 <0.33.0",
975 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.32.4.tgz"
976 | }
977 | }
978 | },
979 | "riot-compiler": {
980 | "version": "2.5.2",
981 | "from": "riot-compiler@>=2.5.2 <3.0.0",
982 | "resolved": "https://registry.npmjs.org/riot-compiler/-/riot-compiler-2.5.2.tgz"
983 | },
984 | "riot-observable": {
985 | "version": "2.4.2",
986 | "from": "riot-observable@>=2.4.2 <3.0.0",
987 | "resolved": "https://registry.npmjs.org/riot-observable/-/riot-observable-2.4.2.tgz"
988 | },
989 | "riot-redux-mixin": {
990 | "version": "1.0.0",
991 | "from": "riot-redux-mixin@latest",
992 | "resolved": "http://registry.npmjs.org/riot-redux-mixin/-/riot-redux-mixin-1.0.0.tgz"
993 | },
994 | "riot-route": {
995 | "version": "2.4.0",
996 | "from": "riot-route@>=2.4.0 <3.0.0",
997 | "resolved": "https://registry.npmjs.org/riot-route/-/riot-route-2.4.0.tgz"
998 | },
999 | "riot-tmpl": {
1000 | "version": "2.4.0",
1001 | "from": "riot-tmpl@>=2.4.0 <3.0.0",
1002 | "resolved": "https://registry.npmjs.org/riot-tmpl/-/riot-tmpl-2.4.0.tgz"
1003 | },
1004 | "rollup": {
1005 | "version": "0.34.1",
1006 | "from": "rollup@>=0.34.1 <0.35.0",
1007 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.34.1.tgz"
1008 | },
1009 | "rollup-plugin-browserify-transform": {
1010 | "version": "0.1.0",
1011 | "from": "rollup-plugin-browserify-transform@>=0.1.0 <0.2.0",
1012 | "resolved": "https://registry.npmjs.org/rollup-plugin-browserify-transform/-/rollup-plugin-browserify-transform-0.1.0.tgz"
1013 | },
1014 | "rollup-plugin-buble": {
1015 | "version": "0.12.1",
1016 | "from": "rollup-plugin-buble@>=0.12.1 <0.13.0",
1017 | "resolved": "https://registry.npmjs.org/rollup-plugin-buble/-/rollup-plugin-buble-0.12.1.tgz"
1018 | },
1019 | "rollup-plugin-commonjs": {
1020 | "version": "3.3.0",
1021 | "from": "rollup-plugin-commonjs@>=3.3.0 <4.0.0",
1022 | "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-3.3.0.tgz",
1023 | "dependencies": {
1024 | "magic-string": {
1025 | "version": "0.15.2",
1026 | "from": "magic-string@>=0.15.2 <0.16.0",
1027 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.15.2.tgz"
1028 | }
1029 | }
1030 | },
1031 | "rollup-plugin-node-resolve": {
1032 | "version": "1.7.1",
1033 | "from": "rollup-plugin-node-resolve@>=1.7.1 <2.0.0",
1034 | "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-1.7.1.tgz"
1035 | },
1036 | "rollup-plugin-replace": {
1037 | "version": "1.1.1",
1038 | "from": "rollup-plugin-replace@latest",
1039 | "resolved": "https://registry.npmjs.org/rollup-plugin-replace/-/rollup-plugin-replace-1.1.1.tgz",
1040 | "dependencies": {
1041 | "magic-string": {
1042 | "version": "0.15.2",
1043 | "from": "magic-string@>=0.15.2 <0.16.0",
1044 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.15.2.tgz"
1045 | }
1046 | }
1047 | },
1048 | "rollup-plugin-riot": {
1049 | "version": "0.4.0",
1050 | "from": "rollup-plugin-riot@>=0.4.0 <0.5.0",
1051 | "resolved": "https://registry.npmjs.org/rollup-plugin-riot/-/rollup-plugin-riot-0.4.0.tgz"
1052 | },
1053 | "rollup-pluginutils": {
1054 | "version": "1.5.1",
1055 | "from": "rollup-pluginutils@>=1.3.1 <2.0.0",
1056 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-1.5.1.tgz"
1057 | },
1058 | "rollup-watch": {
1059 | "version": "2.5.0",
1060 | "from": "rollup-watch@>=2.5.0 <3.0.0",
1061 | "resolved": "https://registry.npmjs.org/rollup-watch/-/rollup-watch-2.5.0.tgz"
1062 | },
1063 | "router": {
1064 | "version": "1.1.4",
1065 | "from": "router@>=1.0.0 <2.0.0",
1066 | "resolved": "https://registry.npmjs.org/router/-/router-1.1.4.tgz",
1067 | "dependencies": {
1068 | "array-flatten": {
1069 | "version": "2.0.0",
1070 | "from": "array-flatten@2.0.0",
1071 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.0.0.tgz"
1072 | },
1073 | "path-to-regexp": {
1074 | "version": "0.1.7",
1075 | "from": "path-to-regexp@0.1.7",
1076 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
1077 | }
1078 | }
1079 | },
1080 | "rsvp": {
1081 | "version": "3.2.1",
1082 | "from": "rsvp@>=3.1.0 <4.0.0",
1083 | "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.2.1.tgz"
1084 | },
1085 | "semver": {
1086 | "version": "5.3.0",
1087 | "from": "semver@>=5.1.0 <6.0.0",
1088 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz"
1089 | },
1090 | "semver-diff": {
1091 | "version": "2.1.0",
1092 | "from": "semver-diff@>=2.0.0 <3.0.0",
1093 | "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz"
1094 | },
1095 | "set-immediate-shim": {
1096 | "version": "1.0.1",
1097 | "from": "set-immediate-shim@>=1.0.1 <2.0.0",
1098 | "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz"
1099 | },
1100 | "setprototypeof": {
1101 | "version": "1.0.0",
1102 | "from": "setprototypeof@1.0.0",
1103 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.0.tgz"
1104 | },
1105 | "shelljs": {
1106 | "version": "0.7.0",
1107 | "from": "shelljs@>=0.7.0 <0.8.0",
1108 | "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.7.0.tgz"
1109 | },
1110 | "simple-dom": {
1111 | "version": "0.3.0",
1112 | "from": "simple-dom@0.3.0",
1113 | "resolved": "https://registry.npmjs.org/simple-dom/-/simple-dom-0.3.0.tgz"
1114 | },
1115 | "simple-html-tokenizer": {
1116 | "version": "0.2.5",
1117 | "from": "simple-html-tokenizer@>=0.2.3 <0.3.0",
1118 | "resolved": "https://registry.npmjs.org/simple-html-tokenizer/-/simple-html-tokenizer-0.2.5.tgz"
1119 | },
1120 | "slide": {
1121 | "version": "1.1.6",
1122 | "from": "slide@>=1.1.5 <2.0.0",
1123 | "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz"
1124 | },
1125 | "source-map": {
1126 | "version": "0.1.32",
1127 | "from": "source-map@0.1.32",
1128 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz"
1129 | },
1130 | "source-map-support": {
1131 | "version": "0.4.2",
1132 | "from": "source-map-support@>=0.4.0 <0.5.0",
1133 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.2.tgz"
1134 | },
1135 | "source-map-url": {
1136 | "version": "0.4.0",
1137 | "from": "source-map-url@>=0.4.0 <0.5.0",
1138 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz"
1139 | },
1140 | "string_decoder": {
1141 | "version": "0.10.31",
1142 | "from": "string_decoder@>=0.10.0 <0.11.0",
1143 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
1144 | },
1145 | "string-length": {
1146 | "version": "1.0.1",
1147 | "from": "string-length@>=1.0.0 <2.0.0",
1148 | "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz"
1149 | },
1150 | "string-width": {
1151 | "version": "1.0.1",
1152 | "from": "string-width@>=1.0.1 <2.0.0",
1153 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz"
1154 | },
1155 | "strip-ansi": {
1156 | "version": "3.0.1",
1157 | "from": "strip-ansi@>=3.0.0 <4.0.0",
1158 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
1159 | },
1160 | "strip-json-comments": {
1161 | "version": "1.0.4",
1162 | "from": "strip-json-comments@>=1.0.4 <1.1.0",
1163 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz"
1164 | },
1165 | "superstatic": {
1166 | "version": "4.0.3",
1167 | "from": "superstatic@>=4.0.3 <5.0.0",
1168 | "resolved": "https://registry.npmjs.org/superstatic/-/superstatic-4.0.3.tgz"
1169 | },
1170 | "supports-color": {
1171 | "version": "2.0.0",
1172 | "from": "supports-color@>=2.0.0 <3.0.0",
1173 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
1174 | },
1175 | "symbol-observable": {
1176 | "version": "0.2.4",
1177 | "from": "symbol-observable@>=0.2.3 <0.3.0",
1178 | "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-0.2.4.tgz"
1179 | },
1180 | "timed-out": {
1181 | "version": "2.0.0",
1182 | "from": "timed-out@>=2.0.0 <3.0.0",
1183 | "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz"
1184 | },
1185 | "toxic": {
1186 | "version": "1.0.0",
1187 | "from": "toxic@>=1.0.0 <2.0.0",
1188 | "resolved": "https://registry.npmjs.org/toxic/-/toxic-1.0.0.tgz",
1189 | "dependencies": {
1190 | "lodash": {
1191 | "version": "2.4.2",
1192 | "from": "lodash@>=2.4.1 <3.0.0",
1193 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz"
1194 | }
1195 | }
1196 | },
1197 | "try-require": {
1198 | "version": "1.2.1",
1199 | "from": "try-require@>=1.0.0 <2.0.0",
1200 | "resolved": "https://registry.npmjs.org/try-require/-/try-require-1.2.1.tgz"
1201 | },
1202 | "type-check": {
1203 | "version": "0.3.2",
1204 | "from": "type-check@>=0.3.2 <0.4.0",
1205 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"
1206 | },
1207 | "typedarray": {
1208 | "version": "0.0.6",
1209 | "from": "typedarray@>=0.0.5 <0.1.0",
1210 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
1211 | },
1212 | "unpipe": {
1213 | "version": "1.0.0",
1214 | "from": "unpipe@>=1.0.0 <1.1.0",
1215 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
1216 | },
1217 | "unzip-response": {
1218 | "version": "1.0.0",
1219 | "from": "unzip-response@>=1.0.0 <2.0.0",
1220 | "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.0.tgz"
1221 | },
1222 | "update-notifier": {
1223 | "version": "1.0.2",
1224 | "from": "update-notifier@>=1.0.1 <2.0.0",
1225 | "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-1.0.2.tgz"
1226 | },
1227 | "url-join": {
1228 | "version": "0.0.1",
1229 | "from": "url-join@0.0.1",
1230 | "resolved": "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz"
1231 | },
1232 | "url-parse-lax": {
1233 | "version": "1.0.0",
1234 | "from": "url-parse-lax@>=1.0.0 <2.0.0",
1235 | "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz"
1236 | },
1237 | "util-deprecate": {
1238 | "version": "1.0.2",
1239 | "from": "util-deprecate@>=1.0.1 <1.1.0",
1240 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
1241 | },
1242 | "utils-merge": {
1243 | "version": "1.0.0",
1244 | "from": "utils-merge@1.0.0",
1245 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz"
1246 | },
1247 | "uuid": {
1248 | "version": "2.0.2",
1249 | "from": "uuid@>=2.0.1 <3.0.0",
1250 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.2.tgz"
1251 | },
1252 | "vary": {
1253 | "version": "1.1.0",
1254 | "from": "vary@>=1.1.0 <1.2.0",
1255 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz"
1256 | },
1257 | "vlq": {
1258 | "version": "0.2.1",
1259 | "from": "vlq@>=0.2.1 <0.3.0",
1260 | "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.1.tgz"
1261 | },
1262 | "widest-line": {
1263 | "version": "1.0.0",
1264 | "from": "widest-line@>=1.0.0 <2.0.0",
1265 | "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-1.0.0.tgz"
1266 | },
1267 | "wordwrap": {
1268 | "version": "1.0.0",
1269 | "from": "wordwrap@>=1.0.0 <1.1.0",
1270 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz"
1271 | },
1272 | "wrappy": {
1273 | "version": "1.0.2",
1274 | "from": "wrappy@>=1.0.0 <2.0.0",
1275 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
1276 | },
1277 | "write-file-atomic": {
1278 | "version": "1.1.4",
1279 | "from": "write-file-atomic@>=1.1.2 <2.0.0",
1280 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.4.tgz"
1281 | },
1282 | "xdg-basedir": {
1283 | "version": "2.0.0",
1284 | "from": "xdg-basedir@>=2.0.0 <3.0.0",
1285 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz"
1286 | }
1287 | }
1288 | }
1289 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "riot-redux-sample",
3 | "version": "1.0.0",
4 | "description": "Showing how to use riot-redux-mixin to connect riot tags with a redux store",
5 | "main": "src/index.js",
6 | "scripts": {
7 | "build": "rollup -c --output build/bundle.js",
8 | "watch": "rollup -c --watch --output build/bundle.js",
9 | "serve": "superstatic build",
10 | "test": "echo \"Error: no test specified\" && exit 1"
11 | },
12 | "repository": {
13 | "type": "git",
14 | "url": "https://github.com/ibloat/riot-redux-sample"
15 | },
16 | "author": "ibloat",
17 | "license": "ISC",
18 | "devDependencies": {
19 | "riot": "^2.5.0",
20 | "rollup": "^0.34.1",
21 | "rollup-plugin-browserify-transform": "^0.1.0",
22 | "rollup-plugin-buble": "^0.12.1",
23 | "rollup-plugin-commonjs": "^3.3.0",
24 | "rollup-plugin-node-resolve": "^1.7.1",
25 | "rollup-plugin-replace": "^1.1.1",
26 | "rollup-plugin-riot": "^0.4.0",
27 | "rollup-watch": "^2.5.0",
28 | "superstatic": "^7.1.0"
29 | },
30 | "dependencies": {
31 | "redux": "^3.5.2",
32 | "reselect": "^2.5.3",
33 | "riot-redux-mixin": "^1.0.0"
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import riot from 'rollup-plugin-riot'
2 | import npm from 'rollup-plugin-node-resolve'
3 | import commonjs from 'rollup-plugin-commonjs'
4 | import buble from 'rollup-plugin-buble'
5 | import bublec from 'buble'
6 | import replace from 'rollup-plugin-replace'
7 |
8 | export default {
9 | entry: 'src/index.js',
10 | format: 'iife',
11 | exports: 'none',
12 | sourceMap: false, // the riot plugin does not produce source maps :(
13 | plugins: [
14 | riot({
15 | parser: function(src) { return bublec.transform(src).code },
16 | }),
17 | npm({
18 | jsnext: true,
19 | main: true,
20 | browser: true
21 | }),
22 | commonjs(),
23 | buble({
24 | target : {
25 | chrome: 49,
26 | firefox: 45,
27 | safari: 9,
28 | edge: 12,
29 | ie: 11
30 | }
31 | }),
32 | replace({
33 | 'process.env.NODE_ENV': JSON.stringify( 'development' )
34 | })
35 | ]
36 | }
37 |
--------------------------------------------------------------------------------
/src/actions.js:
--------------------------------------------------------------------------------
1 | export const INCREASE_COUNTER = 'INCREASE_COUNTER'
2 | export const DECREASE_COUNTER = 'DECREASE_COUNTER'
3 | export const RESET_COUNTER = 'RESET_COUNTER'
4 |
5 | export function increaseCounter () {
6 | return {
7 | type: INCREASE_COUNTER
8 | }
9 | }
10 |
11 | export function decreaseCounter () {
12 | return {
13 | type: DECREASE_COUNTER
14 | }
15 | }
16 |
17 | export function resetCounter (reallySure) {
18 | return {
19 | type: RESET_COUNTER,
20 | payload: !!reallySure
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | import './tags/app.tag'
2 | import './tags/counter.tag'
3 |
4 | import riot from 'riot'
5 | import { createStore } from 'redux'
6 | import rrm from 'riot-redux-mixin'
7 | import rr from './reducers'
8 |
9 | const store = createStore(rr)
10 | riot.mixin(rrm(store))
11 |
12 | riot.mount('sample-app')
13 |
--------------------------------------------------------------------------------
/src/reducers.js:
--------------------------------------------------------------------------------
1 | import { combineReducers } from 'redux'
2 |
3 | import { INCREASE_COUNTER, DECREASE_COUNTER, RESET_COUNTER } from './actions'
4 |
5 | const DEFAULT_COUNTER_STATE = {
6 | value: 0,
7 | direction: '⇒',
8 | resetCount: 0
9 | }
10 |
11 | function countReducer (state = DEFAULT_COUNTER_STATE, action) {
12 | switch (action.type) {
13 | case INCREASE_COUNTER:
14 | return { ...state, value: state.value + 1, direction: '⇑' }
15 | case DECREASE_COUNTER:
16 | return { ...state, value: state.value - 1, direction: '⇓' }
17 | case RESET_COUNTER:
18 | return action.payload
19 | ? { ...DEFAULT_COUNTER_STATE, resetCount: state.resetCount + 1 }
20 | : state
21 | default:
22 | return state
23 | }
24 | }
25 |
26 | export default combineReducers({
27 | count: countReducer
28 | })
29 |
--------------------------------------------------------------------------------
/src/selectors.js:
--------------------------------------------------------------------------------
1 | import { createSelector } from 'reselect'
2 |
3 | export const countSelector = createSelector(
4 | (state) => state.count.value,
5 | (state) => state.count.direction,
6 | (count, direction) => ({ count, direction })
7 | )
8 |
9 | export const resetCountSelector = createSelector(
10 | (state) => state.count.resetCount,
11 | (count) => count
12 | )
13 |
14 |
--------------------------------------------------------------------------------
/src/tags/app.tag:
--------------------------------------------------------------------------------
1 | import { countSelector, resetCountSelector } from '../selectors'
2 |
3 |
4 | This tag subscribes with countSelector
5 |
6 | Current count being: { count }
7 | Last direction being: { direction }
8 |
9 | Reset { resetCount } times
10 |
11 |
12 |
16 |
17 |
--------------------------------------------------------------------------------
/src/tags/counter.tag:
--------------------------------------------------------------------------------
1 | import { increaseCounter, decreaseCounter, resetCounter } from '../actions'
2 |
3 |
4 | This tag allows the user to dispatch counter actions
5 | INCREASE
6 | DECREASE
7 |
8 |
10 | RESET (bound)
11 | RESET (action)
12 | RESET (manual dispatch)
13 |
14 |
26 |
27 |
--------------------------------------------------------------------------------