ee-core 2.9.2-beta.1 → 2.10.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/LICENSE +21 -21
- package/README.md +65 -65
- package/addon/index.js +34 -34
- package/addon/window/index.js +98 -98
- package/bin/tools.js +8 -8
- package/config/cache.js +41 -38
- package/config/config.default.js +331 -330
- package/config/index.js +75 -73
- package/const/channel.js +17 -17
- package/const/index.js +8 -8
- package/controller/baseContextClass.js +34 -34
- package/controller/index.js +34 -34
- package/core/index.js +10 -10
- package/core/lib/ee.js +216 -216
- package/core/lib/loader/context_loader.js +106 -106
- package/core/lib/loader/ee_loader.js +435 -435
- package/core/lib/loader/file_loader.js +326 -326
- package/core/lib/loader/mixin/addon.js +32 -32
- package/core/lib/loader/mixin/config.js +130 -130
- package/core/lib/loader/mixin/controller.js +125 -125
- package/core/lib/loader/mixin/service.js +28 -28
- package/core/lib/utils/base_context_class.js +34 -34
- package/core/lib/utils/function.js +30 -30
- package/core/lib/utils/index.js +133 -133
- package/core/lib/utils/sequencify.js +59 -59
- package/core/lib/utils/timing.js +77 -77
- package/cross/index.js +183 -183
- package/cross/spawnProcess.js +183 -183
- package/ee/appLoader.js +48 -48
- package/ee/application.js +99 -99
- package/ee/baseApp.js +103 -102
- package/ee/eeApp.js +408 -408
- package/ee/index.js +57 -57
- package/electron/app/index.js +64 -58
- package/electron/index.js +19 -19
- package/electron/window/index.js +73 -73
- package/electron/window/winState.js +186 -186
- package/exception/index.js +112 -112
- package/html/boot.html +98 -98
- package/html/cross-failure.html +28 -28
- package/html/failure.html +28 -28
- package/html/index.js +13 -13
- package/httpclient/index.js +161 -161
- package/index.js +54 -54
- package/jobs/baseJobClass.js +16 -16
- package/jobs/child/app.js +65 -65
- package/jobs/child/forkProcess.js +145 -145
- package/jobs/child/index.js +82 -82
- package/jobs/child-pool/index.js +213 -213
- package/jobs/index.js +8 -8
- package/jobs/load-balancer/algorithm/index.js +11 -11
- package/jobs/load-balancer/algorithm/minimumConnection.js +18 -18
- package/jobs/load-balancer/algorithm/polling.js +11 -11
- package/jobs/load-balancer/algorithm/random.js +9 -9
- package/jobs/load-balancer/algorithm/specify.js +14 -14
- package/jobs/load-balancer/algorithm/weights.js +21 -21
- package/jobs/load-balancer/algorithm/weightsMinimumConnection.js +29 -29
- package/jobs/load-balancer/algorithm/weightsPolling.js +22 -22
- package/jobs/load-balancer/algorithm/weightsRandom.js +16 -16
- package/jobs/load-balancer/consts.js +9 -9
- package/jobs/load-balancer/index.js +201 -201
- package/jobs/load-balancer/scheduler.js +31 -31
- package/jobs/renderer/index.js +141 -141
- package/jobs/renderer/loadView.js +40 -40
- package/jobs/unification.js +63 -63
- package/loader/index.js +172 -172
- package/log/index.js +68 -68
- package/log/logger.js +86 -80
- package/main/index.js +56 -56
- package/message/childMessage.js +54 -54
- package/message/index.js +18 -18
- package/old-utils/index.js +91 -91
- package/package.json +38 -38
- package/ps/index.js +371 -371
- package/services/baseContextClass.js +34 -34
- package/services/index.js +40 -40
- package/socket/httpServer.js +147 -147
- package/socket/index.js +81 -81
- package/socket/io.js +27 -27
- package/socket/ipcServer.js +112 -112
- package/socket/socketServer.js +69 -65
- package/storage/index.js +38 -38
- package/storage/jsondb/adapters/Base.js +23 -23
- package/storage/jsondb/adapters/FileSync.js +64 -52
- package/storage/jsondb/main.js +55 -42
- package/storage/jsondbStorage.js +195 -195
- package/storage/sqliteStorage.js +123 -123
- package/utils/co.js +237 -237
- package/utils/copyto.js +160 -160
- package/utils/depd/index.js +538 -538
- package/utils/depd/lib/browser/index.js +77 -77
- package/utils/extend.js +73 -73
- package/utils/get-port/index.d.ts +64 -64
- package/utils/get-port/index.js +148 -148
- package/utils/helper.js +220 -220
- package/utils/index.js +160 -160
- package/utils/ip.js +261 -261
- package/utils/is.js +145 -145
- package/utils/json.js +72 -72
- package/utils/pargv.js +263 -263
- package/utils/time/index.js +19 -19
- package/utils/time/ms.js +162 -162
- package/utils/wrap.js +35 -35
package/utils/time/ms.js
CHANGED
|
@@ -1,162 +1,162 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Helpers.
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
var s = 1000;
|
|
6
|
-
var m = s * 60;
|
|
7
|
-
var h = m * 60;
|
|
8
|
-
var d = h * 24;
|
|
9
|
-
var w = d * 7;
|
|
10
|
-
var y = d * 365.25;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Parse or format the given `val`.
|
|
14
|
-
*
|
|
15
|
-
* Options:
|
|
16
|
-
*
|
|
17
|
-
* - `long` verbose formatting [false]
|
|
18
|
-
*
|
|
19
|
-
* @param {String|Number} val
|
|
20
|
-
* @param {Object} [options]
|
|
21
|
-
* @throws {Error} throw an error if val is not a non-empty string or a number
|
|
22
|
-
* @return {String|Number}
|
|
23
|
-
* @api public
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
module.exports = function(val, options) {
|
|
27
|
-
options = options || {};
|
|
28
|
-
var type = typeof val;
|
|
29
|
-
if (type === 'string' && val.length > 0) {
|
|
30
|
-
return parse(val);
|
|
31
|
-
} else if (type === 'number' && isFinite(val)) {
|
|
32
|
-
return options.long ? fmtLong(val) : fmtShort(val);
|
|
33
|
-
}
|
|
34
|
-
throw new Error(
|
|
35
|
-
'val is not a non-empty string or a valid number. val=' +
|
|
36
|
-
JSON.stringify(val)
|
|
37
|
-
);
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Parse the given `str` and return milliseconds.
|
|
42
|
-
*
|
|
43
|
-
* @param {String} str
|
|
44
|
-
* @return {Number}
|
|
45
|
-
* @api private
|
|
46
|
-
*/
|
|
47
|
-
|
|
48
|
-
function parse(str) {
|
|
49
|
-
str = String(str);
|
|
50
|
-
if (str.length > 100) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
|
|
54
|
-
str
|
|
55
|
-
);
|
|
56
|
-
if (!match) {
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
var n = parseFloat(match[1]);
|
|
60
|
-
var type = (match[2] || 'ms').toLowerCase();
|
|
61
|
-
switch (type) {
|
|
62
|
-
case 'years':
|
|
63
|
-
case 'year':
|
|
64
|
-
case 'yrs':
|
|
65
|
-
case 'yr':
|
|
66
|
-
case 'y':
|
|
67
|
-
return n * y;
|
|
68
|
-
case 'weeks':
|
|
69
|
-
case 'week':
|
|
70
|
-
case 'w':
|
|
71
|
-
return n * w;
|
|
72
|
-
case 'days':
|
|
73
|
-
case 'day':
|
|
74
|
-
case 'd':
|
|
75
|
-
return n * d;
|
|
76
|
-
case 'hours':
|
|
77
|
-
case 'hour':
|
|
78
|
-
case 'hrs':
|
|
79
|
-
case 'hr':
|
|
80
|
-
case 'h':
|
|
81
|
-
return n * h;
|
|
82
|
-
case 'minutes':
|
|
83
|
-
case 'minute':
|
|
84
|
-
case 'mins':
|
|
85
|
-
case 'min':
|
|
86
|
-
case 'm':
|
|
87
|
-
return n * m;
|
|
88
|
-
case 'seconds':
|
|
89
|
-
case 'second':
|
|
90
|
-
case 'secs':
|
|
91
|
-
case 'sec':
|
|
92
|
-
case 's':
|
|
93
|
-
return n * s;
|
|
94
|
-
case 'milliseconds':
|
|
95
|
-
case 'millisecond':
|
|
96
|
-
case 'msecs':
|
|
97
|
-
case 'msec':
|
|
98
|
-
case 'ms':
|
|
99
|
-
return n;
|
|
100
|
-
default:
|
|
101
|
-
return undefined;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Short format for `ms`.
|
|
107
|
-
*
|
|
108
|
-
* @param {Number} ms
|
|
109
|
-
* @return {String}
|
|
110
|
-
* @api private
|
|
111
|
-
*/
|
|
112
|
-
|
|
113
|
-
function fmtShort(ms) {
|
|
114
|
-
var msAbs = Math.abs(ms);
|
|
115
|
-
if (msAbs >= d) {
|
|
116
|
-
return Math.round(ms / d) + 'd';
|
|
117
|
-
}
|
|
118
|
-
if (msAbs >= h) {
|
|
119
|
-
return Math.round(ms / h) + 'h';
|
|
120
|
-
}
|
|
121
|
-
if (msAbs >= m) {
|
|
122
|
-
return Math.round(ms / m) + 'm';
|
|
123
|
-
}
|
|
124
|
-
if (msAbs >= s) {
|
|
125
|
-
return Math.round(ms / s) + 's';
|
|
126
|
-
}
|
|
127
|
-
return ms + 'ms';
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Long format for `ms`.
|
|
132
|
-
*
|
|
133
|
-
* @param {Number} ms
|
|
134
|
-
* @return {String}
|
|
135
|
-
* @api private
|
|
136
|
-
*/
|
|
137
|
-
|
|
138
|
-
function fmtLong(ms) {
|
|
139
|
-
var msAbs = Math.abs(ms);
|
|
140
|
-
if (msAbs >= d) {
|
|
141
|
-
return plural(ms, msAbs, d, 'day');
|
|
142
|
-
}
|
|
143
|
-
if (msAbs >= h) {
|
|
144
|
-
return plural(ms, msAbs, h, 'hour');
|
|
145
|
-
}
|
|
146
|
-
if (msAbs >= m) {
|
|
147
|
-
return plural(ms, msAbs, m, 'minute');
|
|
148
|
-
}
|
|
149
|
-
if (msAbs >= s) {
|
|
150
|
-
return plural(ms, msAbs, s, 'second');
|
|
151
|
-
}
|
|
152
|
-
return ms + ' ms';
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Pluralization helper.
|
|
157
|
-
*/
|
|
158
|
-
|
|
159
|
-
function plural(ms, msAbs, n, name) {
|
|
160
|
-
var isPlural = msAbs >= n * 1.5;
|
|
161
|
-
return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
|
|
162
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Helpers.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
var s = 1000;
|
|
6
|
+
var m = s * 60;
|
|
7
|
+
var h = m * 60;
|
|
8
|
+
var d = h * 24;
|
|
9
|
+
var w = d * 7;
|
|
10
|
+
var y = d * 365.25;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Parse or format the given `val`.
|
|
14
|
+
*
|
|
15
|
+
* Options:
|
|
16
|
+
*
|
|
17
|
+
* - `long` verbose formatting [false]
|
|
18
|
+
*
|
|
19
|
+
* @param {String|Number} val
|
|
20
|
+
* @param {Object} [options]
|
|
21
|
+
* @throws {Error} throw an error if val is not a non-empty string or a number
|
|
22
|
+
* @return {String|Number}
|
|
23
|
+
* @api public
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
module.exports = function(val, options) {
|
|
27
|
+
options = options || {};
|
|
28
|
+
var type = typeof val;
|
|
29
|
+
if (type === 'string' && val.length > 0) {
|
|
30
|
+
return parse(val);
|
|
31
|
+
} else if (type === 'number' && isFinite(val)) {
|
|
32
|
+
return options.long ? fmtLong(val) : fmtShort(val);
|
|
33
|
+
}
|
|
34
|
+
throw new Error(
|
|
35
|
+
'val is not a non-empty string or a valid number. val=' +
|
|
36
|
+
JSON.stringify(val)
|
|
37
|
+
);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Parse the given `str` and return milliseconds.
|
|
42
|
+
*
|
|
43
|
+
* @param {String} str
|
|
44
|
+
* @return {Number}
|
|
45
|
+
* @api private
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
function parse(str) {
|
|
49
|
+
str = String(str);
|
|
50
|
+
if (str.length > 100) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
|
|
54
|
+
str
|
|
55
|
+
);
|
|
56
|
+
if (!match) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
var n = parseFloat(match[1]);
|
|
60
|
+
var type = (match[2] || 'ms').toLowerCase();
|
|
61
|
+
switch (type) {
|
|
62
|
+
case 'years':
|
|
63
|
+
case 'year':
|
|
64
|
+
case 'yrs':
|
|
65
|
+
case 'yr':
|
|
66
|
+
case 'y':
|
|
67
|
+
return n * y;
|
|
68
|
+
case 'weeks':
|
|
69
|
+
case 'week':
|
|
70
|
+
case 'w':
|
|
71
|
+
return n * w;
|
|
72
|
+
case 'days':
|
|
73
|
+
case 'day':
|
|
74
|
+
case 'd':
|
|
75
|
+
return n * d;
|
|
76
|
+
case 'hours':
|
|
77
|
+
case 'hour':
|
|
78
|
+
case 'hrs':
|
|
79
|
+
case 'hr':
|
|
80
|
+
case 'h':
|
|
81
|
+
return n * h;
|
|
82
|
+
case 'minutes':
|
|
83
|
+
case 'minute':
|
|
84
|
+
case 'mins':
|
|
85
|
+
case 'min':
|
|
86
|
+
case 'm':
|
|
87
|
+
return n * m;
|
|
88
|
+
case 'seconds':
|
|
89
|
+
case 'second':
|
|
90
|
+
case 'secs':
|
|
91
|
+
case 'sec':
|
|
92
|
+
case 's':
|
|
93
|
+
return n * s;
|
|
94
|
+
case 'milliseconds':
|
|
95
|
+
case 'millisecond':
|
|
96
|
+
case 'msecs':
|
|
97
|
+
case 'msec':
|
|
98
|
+
case 'ms':
|
|
99
|
+
return n;
|
|
100
|
+
default:
|
|
101
|
+
return undefined;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Short format for `ms`.
|
|
107
|
+
*
|
|
108
|
+
* @param {Number} ms
|
|
109
|
+
* @return {String}
|
|
110
|
+
* @api private
|
|
111
|
+
*/
|
|
112
|
+
|
|
113
|
+
function fmtShort(ms) {
|
|
114
|
+
var msAbs = Math.abs(ms);
|
|
115
|
+
if (msAbs >= d) {
|
|
116
|
+
return Math.round(ms / d) + 'd';
|
|
117
|
+
}
|
|
118
|
+
if (msAbs >= h) {
|
|
119
|
+
return Math.round(ms / h) + 'h';
|
|
120
|
+
}
|
|
121
|
+
if (msAbs >= m) {
|
|
122
|
+
return Math.round(ms / m) + 'm';
|
|
123
|
+
}
|
|
124
|
+
if (msAbs >= s) {
|
|
125
|
+
return Math.round(ms / s) + 's';
|
|
126
|
+
}
|
|
127
|
+
return ms + 'ms';
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Long format for `ms`.
|
|
132
|
+
*
|
|
133
|
+
* @param {Number} ms
|
|
134
|
+
* @return {String}
|
|
135
|
+
* @api private
|
|
136
|
+
*/
|
|
137
|
+
|
|
138
|
+
function fmtLong(ms) {
|
|
139
|
+
var msAbs = Math.abs(ms);
|
|
140
|
+
if (msAbs >= d) {
|
|
141
|
+
return plural(ms, msAbs, d, 'day');
|
|
142
|
+
}
|
|
143
|
+
if (msAbs >= h) {
|
|
144
|
+
return plural(ms, msAbs, h, 'hour');
|
|
145
|
+
}
|
|
146
|
+
if (msAbs >= m) {
|
|
147
|
+
return plural(ms, msAbs, m, 'minute');
|
|
148
|
+
}
|
|
149
|
+
if (msAbs >= s) {
|
|
150
|
+
return plural(ms, msAbs, s, 'second');
|
|
151
|
+
}
|
|
152
|
+
return ms + ' ms';
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Pluralization helper.
|
|
157
|
+
*/
|
|
158
|
+
|
|
159
|
+
function plural(ms, msAbs, n, name) {
|
|
160
|
+
var isPlural = msAbs >= n * 1.5;
|
|
161
|
+
return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');
|
|
162
|
+
}
|
package/utils/wrap.js
CHANGED
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
const assert = require('assert');
|
|
2
|
-
const is = require('is-type-of');
|
|
3
|
-
|
|
4
|
-
exports.getProperties = (filepath, { caseStyle }) => {
|
|
5
|
-
// if caseStyle is function, return the result of function
|
|
6
|
-
if (is.function(caseStyle)) {
|
|
7
|
-
const result = caseStyle(filepath);
|
|
8
|
-
assert(is.array(result), `caseStyle expect an array, but got ${result}`);
|
|
9
|
-
return result;
|
|
10
|
-
}
|
|
11
|
-
// use default camelize
|
|
12
|
-
return this.defaultCamelize(filepath, caseStyle);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
exports.defaultCamelize = (filepath, caseStyle) => {
|
|
16
|
-
const properties = filepath.substring(0, filepath.lastIndexOf('.')).split('/');
|
|
17
|
-
return properties.map(property => {
|
|
18
|
-
if (!/^[a-z][a-z0-9_-]*$/i.test(property)) {
|
|
19
|
-
throw new Error(`${property} is not match 'a-z0-9_-' in ${filepath}`);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
property = property.replace(/[_-][a-z]/ig, s => s.substring(1).toUpperCase());
|
|
23
|
-
let first = property[0];
|
|
24
|
-
switch (caseStyle) {
|
|
25
|
-
case 'lower':
|
|
26
|
-
first = first.toLowerCase();
|
|
27
|
-
break;
|
|
28
|
-
case 'upper':
|
|
29
|
-
first = first.toUpperCase();
|
|
30
|
-
break;
|
|
31
|
-
case 'camel':
|
|
32
|
-
default:
|
|
33
|
-
}
|
|
34
|
-
return first + property.substring(1);
|
|
35
|
-
});
|
|
1
|
+
const assert = require('assert');
|
|
2
|
+
const is = require('is-type-of');
|
|
3
|
+
|
|
4
|
+
exports.getProperties = (filepath, { caseStyle }) => {
|
|
5
|
+
// if caseStyle is function, return the result of function
|
|
6
|
+
if (is.function(caseStyle)) {
|
|
7
|
+
const result = caseStyle(filepath);
|
|
8
|
+
assert(is.array(result), `caseStyle expect an array, but got ${result}`);
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
// use default camelize
|
|
12
|
+
return this.defaultCamelize(filepath, caseStyle);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
exports.defaultCamelize = (filepath, caseStyle) => {
|
|
16
|
+
const properties = filepath.substring(0, filepath.lastIndexOf('.')).split('/');
|
|
17
|
+
return properties.map(property => {
|
|
18
|
+
if (!/^[a-z][a-z0-9_-]*$/i.test(property)) {
|
|
19
|
+
throw new Error(`${property} is not match 'a-z0-9_-' in ${filepath}`);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
property = property.replace(/[_-][a-z]/ig, s => s.substring(1).toUpperCase());
|
|
23
|
+
let first = property[0];
|
|
24
|
+
switch (caseStyle) {
|
|
25
|
+
case 'lower':
|
|
26
|
+
first = first.toLowerCase();
|
|
27
|
+
break;
|
|
28
|
+
case 'upper':
|
|
29
|
+
first = first.toUpperCase();
|
|
30
|
+
break;
|
|
31
|
+
case 'camel':
|
|
32
|
+
default:
|
|
33
|
+
}
|
|
34
|
+
return first + property.substring(1);
|
|
35
|
+
});
|
|
36
36
|
}
|