@soundworks/core 3.6.0 → 4.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc +16 -0
- package/LICENSE +1 -1
- package/README.md +32 -30
- package/package.json +57 -26
- package/src/client/Client.js +391 -0
- package/src/client/Context.js +225 -0
- package/src/client/ContextManager.js +111 -0
- package/src/client/Plugin.js +66 -0
- package/src/client/PluginManager.js +123 -0
- package/src/client/SharedState.js +84 -0
- package/src/client/Socket.js +389 -0
- package/src/client/StateManager.js +67 -0
- package/src/client/index.js +77 -0
- package/src/common/BasePlugin.js +163 -0
- package/src/common/BasePluginManager.js +227 -0
- package/src/common/BaseSharedState.js +473 -0
- package/src/common/BaseStateManager.js +200 -0
- package/{common → src/common}/ParameterBag.js +82 -122
- package/{common → src/common}/SharedStatePrivate.js +56 -64
- package/src/common/constants.js +51 -0
- package/src/common/logger.js +154 -0
- package/src/common/promise-store.js +25 -0
- package/src/common/sockets-utils.js +73 -0
- package/src/common/utils.js +22 -0
- package/src/server/Client.js +50 -0
- package/src/server/Context.js +99 -0
- package/src/server/ContextManager.js +266 -0
- package/src/server/Plugin.js +77 -0
- package/src/server/PluginManager.js +150 -0
- package/src/server/Server.js +849 -0
- package/src/server/SharedState.js +86 -0
- package/{server → src/server}/Socket.js +119 -94
- package/{server → src/server}/Sockets.js +73 -61
- package/{common/SharedStateManagerServer.js → src/server/StateManager.js} +183 -131
- package/src/server/audit-network-latency.worker.js +57 -0
- package/src/server/audit-schema.js +42 -0
- package/src/server/index.js +45 -0
- package/tsconfig.json +21 -0
- package/types/client/Client.d.ts +194 -0
- package/types/client/Client.d.ts.map +1 -0
- package/types/client/Context.d.ts +139 -0
- package/types/client/Context.d.ts.map +1 -0
- package/types/client/ContextManager.d.ts +45 -0
- package/types/client/ContextManager.d.ts.map +1 -0
- package/types/client/Plugin.d.ts +53 -0
- package/types/client/Plugin.d.ts.map +1 -0
- package/types/client/PluginManager.d.ts +96 -0
- package/types/client/PluginManager.d.ts.map +1 -0
- package/types/client/SharedState.d.ts +85 -0
- package/types/client/SharedState.d.ts.map +1 -0
- package/types/client/Socket.d.ts +138 -0
- package/types/client/Socket.d.ts.map +1 -0
- package/types/client/StateManager.d.ts +72 -0
- package/types/client/StateManager.d.ts.map +1 -0
- package/types/client/index.d.ts +11 -0
- package/types/client/index.d.ts.map +1 -0
- package/types/common/BasePlugin.d.ts +145 -0
- package/types/common/BasePlugin.d.ts.map +1 -0
- package/types/common/BasePluginManager.d.ts +88 -0
- package/types/common/BasePluginManager.d.ts.map +1 -0
- package/types/common/BaseSharedState.d.ts +173 -0
- package/types/common/BaseSharedState.d.ts.map +1 -0
- package/types/common/BaseStateManager.d.ts +70 -0
- package/types/common/BaseStateManager.d.ts.map +1 -0
- package/types/common/ParameterBag.d.ts +143 -0
- package/types/common/ParameterBag.d.ts.map +1 -0
- package/types/common/SharedStatePrivate.d.ts +20 -0
- package/types/common/SharedStatePrivate.d.ts.map +1 -0
- package/types/common/constants.d.ts +35 -0
- package/types/common/constants.d.ts.map +1 -0
- package/types/common/logger.d.ts +16 -0
- package/types/common/logger.d.ts.map +1 -0
- package/types/common/promise-store.d.ts +4 -0
- package/types/common/promise-store.d.ts.map +1 -0
- package/types/common/sockets-utils.d.ts +9 -0
- package/types/common/sockets-utils.d.ts.map +1 -0
- package/types/common/utils.d.ts +5 -0
- package/types/common/utils.d.ts.map +1 -0
- package/types/server/Client.d.ts +40 -0
- package/types/server/Client.d.ts.map +1 -0
- package/types/server/Context.d.ts +59 -0
- package/types/server/Context.d.ts.map +1 -0
- package/types/server/ContextManager.d.ts +69 -0
- package/types/server/ContextManager.d.ts.map +1 -0
- package/types/server/Plugin.d.ts +70 -0
- package/types/server/Plugin.d.ts.map +1 -0
- package/types/server/PluginManager.d.ts +91 -0
- package/types/server/PluginManager.d.ts.map +1 -0
- package/types/server/Server.d.ts +223 -0
- package/types/server/Server.d.ts.map +1 -0
- package/types/server/SharedState.d.ts +86 -0
- package/types/server/SharedState.d.ts.map +1 -0
- package/types/server/Socket.d.ts +128 -0
- package/types/server/Socket.d.ts.map +1 -0
- package/types/server/Sockets.d.ts +73 -0
- package/types/server/Sockets.d.ts.map +1 -0
- package/types/server/StateManager.d.ts +190 -0
- package/types/server/StateManager.d.ts.map +1 -0
- package/types/server/audit-network-latency.worker.d.ts +2 -0
- package/types/server/audit-network-latency.worker.d.ts.map +1 -0
- package/types/server/audit-schema.d.ts +27 -0
- package/types/server/audit-schema.d.ts.map +1 -0
- package/types/server/index.d.ts +7 -0
- package/types/server/index.d.ts.map +1 -0
- package/client/AbstractExperience.js +0 -54
- package/client/AbstractPlugin.js +0 -230
- package/client/Client.js +0 -190
- package/client/PluginManager.js +0 -267
- package/client/Socket.js +0 -338
- package/client/index.js +0 -48
- package/client.js +0 -28
- package/common/SharedState.js +0 -480
- package/common/SharedStateManagerClient.js +0 -194
- package/common/Signal.js +0 -40
- package/common/SignalAll.js +0 -44
- package/common/shared-state-utils.js +0 -90
- package/common/sockets-encoder-decoder.js +0 -73
- package/server/AbstractExperience.js +0 -126
- package/server/AbstractPlugin.js +0 -211
- package/server/Client.js +0 -70
- package/server/PluginManager.js +0 -177
- package/server/Server.js +0 -746
- package/server/index.js +0 -49
- package/server/utils/logger.js +0 -134
- package/server.js +0 -28
package/server/index.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.Server = exports.AbstractExperience = void 0;
|
|
7
|
-
|
|
8
|
-
var _Server2 = _interopRequireDefault(require("./Server.js"));
|
|
9
|
-
|
|
10
|
-
var _AbstractExperience2 = _interopRequireDefault(require("./AbstractExperience.js"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Server-side part of the *soundworks* framework.
|
|
16
|
-
*
|
|
17
|
-
* @namespace server
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* import soundworks from '@soundworks/core/server';
|
|
21
|
-
*
|
|
22
|
-
* const server = new soundworks.Server();
|
|
23
|
-
*
|
|
24
|
-
* server.registerService('delay-1', delayServiceFactory, { delayTime: 1 }, []);
|
|
25
|
-
* server.registerService('delay-2', delayServiceFactory, { delayTime: 2 }, ['delay-1']);
|
|
26
|
-
*
|
|
27
|
-
* await server.init(envConfig, (clientType, config, httpRequest) => {
|
|
28
|
-
* return { ...clientConfig };
|
|
29
|
-
* });
|
|
30
|
-
*
|
|
31
|
-
* // serve static files
|
|
32
|
-
* await server.router.use(serveStatic('public'));
|
|
33
|
-
* await server.router.use('build', serveStatic('.build/public'));
|
|
34
|
-
*
|
|
35
|
-
* const playerExperience = new PlayerExperience(server, 'player');
|
|
36
|
-
*
|
|
37
|
-
* await server.start();
|
|
38
|
-
* playerExperience.start();
|
|
39
|
-
*
|
|
40
|
-
*/
|
|
41
|
-
const AbstractExperience = _AbstractExperience2.default;
|
|
42
|
-
exports.AbstractExperience = AbstractExperience;
|
|
43
|
-
const Server = _Server2.default;
|
|
44
|
-
exports.Server = Server;
|
|
45
|
-
var _default = {
|
|
46
|
-
AbstractExperience: _AbstractExperience2.default,
|
|
47
|
-
Server: _Server2.default
|
|
48
|
-
};
|
|
49
|
-
exports.default = _default;
|
package/server/utils/logger.js
DELETED
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
|
|
8
|
-
var _chalk = _interopRequireDefault(require("chalk"));
|
|
9
|
-
|
|
10
|
-
var _columnify = _interopRequireDefault(require("columnify"));
|
|
11
|
-
|
|
12
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @private
|
|
16
|
-
*/
|
|
17
|
-
const logger = {
|
|
18
|
-
verbose: true,
|
|
19
|
-
|
|
20
|
-
configure(verbose) {
|
|
21
|
-
this.verbose = verbose;
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
title(msg) {
|
|
25
|
-
if (!this.verbose) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
console.log(_chalk.default.cyan(`+ ${msg}`));
|
|
30
|
-
},
|
|
31
|
-
|
|
32
|
-
clientConfigAndRouting(routes, config) {
|
|
33
|
-
if (!this.verbose) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const clientsConfig = config.app.clients;
|
|
38
|
-
const serverIp = config.env.serverIp;
|
|
39
|
-
const auth = config.env.auth;
|
|
40
|
-
const table = [];
|
|
41
|
-
|
|
42
|
-
for (let clientType in clientsConfig) {
|
|
43
|
-
const client = clientsConfig[clientType];
|
|
44
|
-
|
|
45
|
-
if (client.target === 'node') {
|
|
46
|
-
const line = {
|
|
47
|
-
client_type: `> ${clientType}`,
|
|
48
|
-
target: _chalk.default.red(client.target),
|
|
49
|
-
path: `server ip: ${_chalk.default.green(serverIp)}`,
|
|
50
|
-
default: undefined,
|
|
51
|
-
auth: undefined
|
|
52
|
-
};
|
|
53
|
-
table.push(line);
|
|
54
|
-
} else if (client.target === 'browser') {
|
|
55
|
-
const line = {
|
|
56
|
-
client_type: `> ${clientType}`,
|
|
57
|
-
target: _chalk.default.red(client.target),
|
|
58
|
-
path: routes.find(r => r.clientType === clientType) ? _chalk.default.green(routes.find(r => r.clientType === clientType).path) : _chalk.default.red('no route defined'),
|
|
59
|
-
default: client.default ? 'x' : undefined,
|
|
60
|
-
auth: auth && auth.clients.indexOf(clientType) !== -1 ? 'x' : undefined
|
|
61
|
-
};
|
|
62
|
-
table.push(line);
|
|
63
|
-
} else {
|
|
64
|
-
console.log(`@warning: no target defined for client ${clientType}`);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
console.log(``);
|
|
69
|
-
console.log((0, _columnify.default)(table, {
|
|
70
|
-
showHeaders: true,
|
|
71
|
-
minWidth: 6,
|
|
72
|
-
columnSplitter: ' | ',
|
|
73
|
-
config: {
|
|
74
|
-
default: {
|
|
75
|
-
align: 'center'
|
|
76
|
-
},
|
|
77
|
-
auth: {
|
|
78
|
-
align: 'center'
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}));
|
|
82
|
-
console.log(``); // check if a route is defined but not in config
|
|
83
|
-
|
|
84
|
-
const configClientTypes = Object.keys(clientsConfig);
|
|
85
|
-
routes.forEach(r => {
|
|
86
|
-
if (configClientTypes.indexOf(r.clientType) === -1) {
|
|
87
|
-
console.log(`@warning: no client config found for route ${r.clientType}`);
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
},
|
|
91
|
-
|
|
92
|
-
ip(protocol, address, port) {
|
|
93
|
-
if (!this.verbose) {
|
|
94
|
-
return;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
console.log(` ${protocol}://${address}:${_chalk.default.green(port)}`);
|
|
98
|
-
},
|
|
99
|
-
|
|
100
|
-
pluginStart(name) {
|
|
101
|
-
if (!this.verbose) {
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
console.log(` ${name} ${_chalk.default.yellow('start...')}`);
|
|
106
|
-
},
|
|
107
|
-
|
|
108
|
-
pluginStarted(name) {
|
|
109
|
-
if (!this.verbose) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
console.log(` ${name} ${_chalk.default.cyan('started')}`);
|
|
114
|
-
},
|
|
115
|
-
|
|
116
|
-
pluginReady(name) {
|
|
117
|
-
if (!this.verbose) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
console.log(` ${name} ${_chalk.default.green('ready')}`);
|
|
122
|
-
},
|
|
123
|
-
|
|
124
|
-
pluginErrored(name) {
|
|
125
|
-
if (!this.verbose) {
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
console.log(` ${name} ${_chalk.default.red('errors')}`);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
};
|
|
133
|
-
var _default = logger;
|
|
134
|
-
exports.default = _default;
|
package/server.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* This is a dirty shortcut to enable cleaner import in template using `type=module`
|
|
5
|
-
* This should be cleaned little by little...
|
|
6
|
-
*
|
|
7
|
-
* We need to define if we can be backward compatible there if we go to full module (probably not)
|
|
8
|
-
*/
|
|
9
|
-
Object.defineProperty(exports, "__esModule", {
|
|
10
|
-
value: true
|
|
11
|
-
});
|
|
12
|
-
exports.default = exports.Server = exports.AbstractExperience = void 0;
|
|
13
|
-
|
|
14
|
-
var _Server2 = _interopRequireDefault(require("./server/Server.js"));
|
|
15
|
-
|
|
16
|
-
var _AbstractExperience2 = _interopRequireDefault(require("./server/AbstractExperience.js"));
|
|
17
|
-
|
|
18
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
-
|
|
20
|
-
const AbstractExperience = _AbstractExperience2.default;
|
|
21
|
-
exports.AbstractExperience = AbstractExperience;
|
|
22
|
-
const Server = _Server2.default;
|
|
23
|
-
exports.Server = Server;
|
|
24
|
-
var _default = {
|
|
25
|
-
AbstractExperience: _AbstractExperience2.default,
|
|
26
|
-
Server: _Server2.default
|
|
27
|
-
};
|
|
28
|
-
exports.default = _default;
|