git ssb

16+

Dominic / patchbay



Tree: ca8ac8d21e58b7d37981f6ee097ce54b1bf10b22

Files: ca8ac8d21e58b7d37981f6ee097ce54b1bf10b22 / main.js

1783 bytesRaw
1const combine = require('depject')
2const entry = require('depject/entry')
3const nest = require('depnest')
4const bulk = require('bulk-require')
5
6// polyfills
7require('setimmediate')
8
9const patchbay = {
10 patchbay: {
11 about: bulk(__dirname, [ 'about/**/*.js' ]),
12 app: bulk(__dirname, [ 'app/**/*.js' ]),
13 blob: bulk(__dirname, [ 'blob/**/*.js' ]),
14 channel: bulk(__dirname, [ 'channel/**/*.js' ]),
15 contact: bulk(__dirname, [ 'contact/**/*.js' ]),
16 message: bulk(__dirname, [ 'message/**/*.js' ]),
17 router: bulk(__dirname, [ 'router/**/*.js' ]),
18 styles: bulk(__dirname, [ 'styles/**/*.js' ]),
19
20 config: require('./config'), // shouldn't be in here ?
21 contextMenu: require('patch-context'),
22 suggestions: require('patch-suggest'),
23 settings: require('patch-settings'),
24 drafts: require('patch-drafts'),
25 inbox: require('patch-inbox'), // TODO - ideally this would be a standalone patch-* module
26 history: require('patch-history')
27 }
28}
29
30const post = {
31 patchbay: {
32 message: bulk(__dirname, [ 'post-patchcore/message/**/*.js' ])
33 }
34}
35
36// from more specialized to more general
37const sockets = combine(
38 require('ssb-horcrux'),
39
40 require('patchbay-dark-crystal'),
41 require('patchbay-poll'),
42 require('ssb-chess'),
43 require('patchbay-gatherings'),
44 require('patchbay-book'),
45 patchbay,
46 require('patchcore'),
47 post
48)
49
50// remove patchcore reply for our version
51var pcReplyIndex = sockets.message.html.action.findIndex(x => x.name === 'reply')
52if (pcReplyIndex !== -1) { delete sockets.message.html.action[pcReplyIndex] }
53
54const api = entry(sockets, nest('app.html.app', 'first'))
55const app = api.app.html.app
56
57module.exports = patchbay
58
59// for electro[n]
60if (typeof window !== 'undefined') {
61 document.body.appendChild(app())
62}
63

Built with git-ssb-web