ee-core 2.9.2 → 2.10.1

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.
Files changed (103) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +65 -65
  3. package/addon/index.js +34 -34
  4. package/addon/window/index.js +98 -98
  5. package/bin/tools.js +8 -8
  6. package/config/cache.js +41 -38
  7. package/config/config.default.js +331 -330
  8. package/config/index.js +86 -73
  9. package/const/channel.js +17 -17
  10. package/const/index.js +8 -8
  11. package/controller/baseContextClass.js +34 -34
  12. package/controller/index.js +34 -34
  13. package/core/index.js +10 -10
  14. package/core/lib/ee.js +216 -216
  15. package/core/lib/loader/context_loader.js +106 -106
  16. package/core/lib/loader/ee_loader.js +435 -435
  17. package/core/lib/loader/file_loader.js +326 -326
  18. package/core/lib/loader/mixin/addon.js +32 -32
  19. package/core/lib/loader/mixin/config.js +130 -130
  20. package/core/lib/loader/mixin/controller.js +125 -125
  21. package/core/lib/loader/mixin/service.js +28 -28
  22. package/core/lib/utils/base_context_class.js +34 -34
  23. package/core/lib/utils/function.js +30 -30
  24. package/core/lib/utils/index.js +133 -133
  25. package/core/lib/utils/sequencify.js +59 -59
  26. package/core/lib/utils/timing.js +77 -77
  27. package/cross/index.js +183 -183
  28. package/cross/spawnProcess.js +183 -183
  29. package/ee/appLoader.js +48 -48
  30. package/ee/application.js +99 -99
  31. package/ee/baseApp.js +103 -102
  32. package/ee/eeApp.js +408 -408
  33. package/ee/index.js +57 -57
  34. package/electron/app/index.js +64 -58
  35. package/electron/index.js +19 -19
  36. package/electron/window/index.js +73 -73
  37. package/electron/window/winState.js +186 -186
  38. package/exception/index.js +112 -112
  39. package/html/boot.html +98 -98
  40. package/html/cross-failure.html +28 -28
  41. package/html/failure.html +28 -28
  42. package/html/index.js +13 -13
  43. package/httpclient/index.js +161 -161
  44. package/index.js +54 -54
  45. package/jobs/baseJobClass.js +16 -16
  46. package/jobs/child/app.js +58 -65
  47. package/jobs/child/forkProcess.js +145 -145
  48. package/jobs/child/index.js +82 -82
  49. package/jobs/child-pool/index.js +213 -213
  50. package/jobs/index.js +8 -8
  51. package/jobs/load-balancer/algorithm/index.js +11 -11
  52. package/jobs/load-balancer/algorithm/minimumConnection.js +18 -18
  53. package/jobs/load-balancer/algorithm/polling.js +11 -11
  54. package/jobs/load-balancer/algorithm/random.js +9 -9
  55. package/jobs/load-balancer/algorithm/specify.js +14 -14
  56. package/jobs/load-balancer/algorithm/weights.js +21 -21
  57. package/jobs/load-balancer/algorithm/weightsMinimumConnection.js +29 -29
  58. package/jobs/load-balancer/algorithm/weightsPolling.js +22 -22
  59. package/jobs/load-balancer/algorithm/weightsRandom.js +16 -16
  60. package/jobs/load-balancer/consts.js +9 -9
  61. package/jobs/load-balancer/index.js +201 -201
  62. package/jobs/load-balancer/scheduler.js +31 -31
  63. package/jobs/renderer/index.js +141 -141
  64. package/jobs/renderer/loadView.js +40 -40
  65. package/jobs/unification.js +63 -63
  66. package/loader/index.js +172 -172
  67. package/log/index.js +68 -68
  68. package/log/logger.js +86 -80
  69. package/main/index.js +56 -56
  70. package/message/childMessage.js +54 -54
  71. package/message/index.js +18 -18
  72. package/old-utils/index.js +91 -91
  73. package/package.json +38 -38
  74. package/ps/index.js +371 -371
  75. package/services/baseContextClass.js +34 -34
  76. package/services/index.js +40 -40
  77. package/socket/httpServer.js +147 -147
  78. package/socket/index.js +81 -81
  79. package/socket/io.js +27 -27
  80. package/socket/ipcServer.js +112 -112
  81. package/socket/socketServer.js +69 -67
  82. package/storage/index.js +38 -38
  83. package/storage/jsondb/adapters/Base.js +23 -23
  84. package/storage/jsondb/adapters/FileSync.js +64 -52
  85. package/storage/jsondb/main.js +55 -42
  86. package/storage/jsondbStorage.js +195 -195
  87. package/storage/sqliteStorage.js +123 -123
  88. package/utils/co.js +237 -237
  89. package/utils/copyto.js +160 -160
  90. package/utils/depd/index.js +538 -538
  91. package/utils/depd/lib/browser/index.js +77 -77
  92. package/utils/extend.js +73 -73
  93. package/utils/get-port/index.d.ts +64 -64
  94. package/utils/get-port/index.js +148 -148
  95. package/utils/helper.js +220 -220
  96. package/utils/index.js +160 -160
  97. package/utils/ip.js +261 -261
  98. package/utils/is.js +145 -145
  99. package/utils/json.js +72 -72
  100. package/utils/pargv.js +263 -263
  101. package/utils/time/index.js +19 -19
  102. package/utils/time/ms.js +162 -162
  103. package/utils/wrap.js +35 -35
package/ee/index.js CHANGED
@@ -1,58 +1,58 @@
1
- const Utils = require('../utils');
2
- const EEApplication = Symbol('Ee#Application');
3
- const BuiltInApp = Symbol('Ee#BuiltInApp');
4
-
5
- /**
6
- * EE
7
- */
8
- const EE = {
9
-
10
- /**
11
- * 兼容1.x版本api
12
- */
13
- get Application() {
14
- const appClass = require('./application');
15
- return appClass;
16
- },
17
-
18
- /**
19
- * 设置实例化app对象
20
- */
21
- set app(appObject) {
22
- if (!this[EEApplication]) {
23
- this[EEApplication] = appObject;
24
- }
25
- },
26
-
27
- /**
28
- * 获取实例化app对象
29
- */
30
- get app() {
31
- return this[EEApplication] || null;
32
- },
33
-
34
- /**
35
- * 设置全局this到CoreApp (eeApp)
36
- */
37
- set CoreApp(obj) {
38
- if (!this[BuiltInApp]) {
39
- this[BuiltInApp] = obj;
40
- }
41
- },
42
-
43
- /**
44
- * 获取 CoreApp (eeApp)
45
- */
46
- get CoreApp() {
47
- return this[BuiltInApp] || null;
48
- },
49
-
50
- /**
51
- * 是否加密
52
- */
53
- isEncrypt(basePath) {
54
- return Utils.isEncrypt(basePath);
55
- },
56
- }
57
-
1
+ const Utils = require('../utils');
2
+ const EEApplication = Symbol('Ee#Application');
3
+ const BuiltInApp = Symbol('Ee#BuiltInApp');
4
+
5
+ /**
6
+ * EE
7
+ */
8
+ const EE = {
9
+
10
+ /**
11
+ * 兼容1.x版本api
12
+ */
13
+ get Application() {
14
+ const appClass = require('./application');
15
+ return appClass;
16
+ },
17
+
18
+ /**
19
+ * 设置实例化app对象
20
+ */
21
+ set app(appObject) {
22
+ if (!this[EEApplication]) {
23
+ this[EEApplication] = appObject;
24
+ }
25
+ },
26
+
27
+ /**
28
+ * 获取实例化app对象
29
+ */
30
+ get app() {
31
+ return this[EEApplication] || null;
32
+ },
33
+
34
+ /**
35
+ * 设置全局this到CoreApp (eeApp)
36
+ */
37
+ set CoreApp(obj) {
38
+ if (!this[BuiltInApp]) {
39
+ this[BuiltInApp] = obj;
40
+ }
41
+ },
42
+
43
+ /**
44
+ * 获取 CoreApp (eeApp)
45
+ */
46
+ get CoreApp() {
47
+ return this[BuiltInApp] || null;
48
+ },
49
+
50
+ /**
51
+ * 是否加密
52
+ */
53
+ isEncrypt(basePath) {
54
+ return Utils.isEncrypt(basePath);
55
+ },
56
+ }
57
+
58
58
  module.exports = EE;
@@ -1,58 +1,64 @@
1
- const { app } = require('electron');
2
- const EE = require('../../ee');
3
- const Log = require('../../log');
4
- const Electron = require('../index');
5
- const UtilsIs = require('../../utils/is');
6
- const Cross = require('../../cross');
7
-
8
- /**
9
- * CoreElectronApp (框架封装的electron app对象)
10
- */
11
- const CoreElectronApp = {
12
-
13
- /**
14
- * 创建electron应用
15
- */
16
- async create() {
17
- const { CoreApp } = EE;
18
-
19
- const gotTheLock = app.requestSingleInstanceLock();
20
- if (!gotTheLock) {
21
- app.quit();
22
- return;
23
- }
24
-
25
- app.whenReady().then(() => {
26
- CoreApp.createWindow();
27
- })
28
-
29
- app.on('window-all-closed', () => {
30
- if (!UtilsIs.macOS()) {
31
- Log.coreLogger.info('[ee-core] [lib/eeApp] window-all-closed quit');
32
- CoreApp.appQuit();
33
- }
34
- })
35
-
36
- app.on('before-quit', () => {
37
- Electron.extra.closeWindow = true;
38
-
39
- // kill cross services
40
- Cross.killAll();
41
- })
42
-
43
- if (CoreApp.config.hardGpu.enable == false) {
44
- app.disableHardwareAcceleration();
45
- }
46
-
47
- return app;
48
- },
49
-
50
- /**
51
- * 退出app
52
- */
53
- quit() {
54
- app.quit();
55
- }
56
- }
57
-
58
- module.exports = CoreElectronApp;
1
+ const { app } = require('electron');
2
+ const EE = require('../../ee');
3
+ const Log = require('../../log');
4
+ const Electron = require('../index');
5
+ const UtilsIs = require('../../utils/is');
6
+ const Cross = require('../../cross');
7
+ const Window = require('../window');
8
+
9
+ /**
10
+ * CoreElectronApp (框架封装的electron app对象)
11
+ */
12
+ const CoreElectronApp = {
13
+
14
+ /**
15
+ * 创建electron应用
16
+ */
17
+ async create() {
18
+ const { CoreApp } = EE;
19
+
20
+ const gotTheLock = app.requestSingleInstanceLock();
21
+ if (!gotTheLock) {
22
+ app.quit();
23
+ }
24
+
25
+ app.whenReady().then(() => {
26
+ CoreApp.createWindow();
27
+ })
28
+
29
+ // 显示首次打开的窗口
30
+ app.on('second-instance', () => {
31
+ Log.coreLogger.info('[ee-core] [lib/eeApp] second-instance');
32
+ Window.restoreMainWindow();
33
+ });
34
+
35
+ app.on('window-all-closed', () => {
36
+ if (!UtilsIs.macOS()) {
37
+ Log.coreLogger.info('[ee-core] [lib/eeApp] window-all-closed quit');
38
+ CoreApp.appQuit();
39
+ }
40
+ })
41
+
42
+ app.on('before-quit', () => {
43
+ Electron.extra.closeWindow = true;
44
+
45
+ // kill cross services
46
+ Cross.killAll();
47
+ })
48
+
49
+ if (CoreApp.config.hardGpu.enable == false) {
50
+ app.disableHardwareAcceleration();
51
+ }
52
+
53
+ return app;
54
+ },
55
+
56
+ /**
57
+ * 退出app
58
+ */
59
+ quit() {
60
+ app.quit();
61
+ }
62
+ }
63
+
64
+ module.exports = CoreElectronApp;
package/electron/index.js CHANGED
@@ -1,20 +1,20 @@
1
- const Window = require('./window');
2
-
3
- const Electron = {
4
-
5
- /**
6
- * 兼容1.x版本api
7
- */
8
- get mainWindow() {
9
- return Window.getMainWindow();
10
- },
11
-
12
- /**
13
- * extra
14
- */
15
- extra: {
16
- closeWindow: false,
17
- },
18
- };
19
-
1
+ const Window = require('./window');
2
+
3
+ const Electron = {
4
+
5
+ /**
6
+ * 兼容1.x版本api
7
+ */
8
+ get mainWindow() {
9
+ return Window.getMainWindow();
10
+ },
11
+
12
+ /**
13
+ * extra
14
+ */
15
+ extra: {
16
+ closeWindow: false,
17
+ },
18
+ };
19
+
20
20
  module.exports = Electron;
@@ -1,74 +1,74 @@
1
- const is = require('is-type-of');
2
- const { BrowserWindow, Menu } = require('electron');
3
- const Conf = require('../../config');
4
- const Ps = require('../../ps');
5
- const EEMainWindow = Symbol('Ee#electron#mainWindow');
6
-
7
- const Window = {
8
-
9
- /**
10
- * 获取 mainWindow
11
- */
12
- getMainWindow() {
13
- if (!this[EEMainWindow]) {
14
- this[EEMainWindow] = this.createMainWindow();
15
- }
16
-
17
- return this[EEMainWindow] || null;
18
- },
19
-
20
- /**
21
- * 创建应用主窗口
22
- */
23
- createMainWindow() {
24
-
25
- // todo
26
- // const protocolName = 'eefile';
27
- // protocol.registerFileProtocol(protocolName, (request, callback) => {
28
- // const url = request.url.substring(protocolName.length + 3);
29
- // console.log('[ee-core] [lib/eeApp] registerFileProtocol ----url: ', url);
30
- // callback({ path: path.normalize(decodeURIComponent(url)) })
31
- // });
32
-
33
- const config = Conf.all();
34
- const win = new BrowserWindow(config.windowsOption);
35
- this[EEMainWindow] = win;
36
-
37
- // 菜单显示/隐藏
38
- if (config.openAppMenu === 'dev-show' && Ps.isProd()) {
39
- Menu.setApplicationMenu(null);
40
- } else if (config.openAppMenu === false) {
41
- Menu.setApplicationMenu(null);
42
- } else {
43
- // nothing
44
- }
45
-
46
- // DevTools
47
- if (is.object(config.openDevTools)) {
48
- win.webContents.openDevTools(config.openDevTools);
49
- } else if (config.openDevTools === true) {
50
- win.webContents.openDevTools({
51
- mode: 'undocked'
52
- });
53
- } else {
54
- //
55
- }
56
-
57
- return win;
58
- },
59
-
60
- /**
61
- * 还原窗口
62
- */
63
- restoreMainWindow() {
64
- if (this[EEMainWindow]) {
65
- if (this[EEMainWindow].isMinimized()) {
66
- this[EEMainWindow].restore();
67
- }
68
- this[EEMainWindow].show();
69
- this[EEMainWindow].focus();
70
- }
71
- }
72
- };
73
-
1
+ const is = require('is-type-of');
2
+ const { BrowserWindow, Menu } = require('electron');
3
+ const Conf = require('../../config/cache');
4
+ const Ps = require('../../ps');
5
+ const EEMainWindow = Symbol('Ee#electron#mainWindow');
6
+
7
+ const Window = {
8
+
9
+ /**
10
+ * 获取 mainWindow
11
+ */
12
+ getMainWindow() {
13
+ if (!this[EEMainWindow]) {
14
+ this[EEMainWindow] = this.createMainWindow();
15
+ }
16
+
17
+ return this[EEMainWindow] || null;
18
+ },
19
+
20
+ /**
21
+ * 创建应用主窗口
22
+ */
23
+ createMainWindow() {
24
+
25
+ // todo
26
+ // const protocolName = 'eefile';
27
+ // protocol.registerFileProtocol(protocolName, (request, callback) => {
28
+ // const url = request.url.substring(protocolName.length + 3);
29
+ // console.log('[ee-core] [lib/eeApp] registerFileProtocol ----url: ', url);
30
+ // callback({ path: path.normalize(decodeURIComponent(url)) })
31
+ // });
32
+
33
+ const config = Conf.all();
34
+ const win = new BrowserWindow(config.windowsOption);
35
+ this[EEMainWindow] = win;
36
+
37
+ // 菜单显示/隐藏
38
+ if (config.openAppMenu === 'dev-show' && Ps.isProd()) {
39
+ Menu.setApplicationMenu(null);
40
+ } else if (config.openAppMenu === false) {
41
+ Menu.setApplicationMenu(null);
42
+ } else {
43
+ // nothing
44
+ }
45
+
46
+ // DevTools
47
+ if (is.object(config.openDevTools)) {
48
+ win.webContents.openDevTools(config.openDevTools);
49
+ } else if (config.openDevTools === true) {
50
+ win.webContents.openDevTools({
51
+ mode: 'undocked'
52
+ });
53
+ } else {
54
+ //
55
+ }
56
+
57
+ return win;
58
+ },
59
+
60
+ /**
61
+ * 还原窗口
62
+ */
63
+ restoreMainWindow() {
64
+ if (this[EEMainWindow]) {
65
+ if (this[EEMainWindow].isMinimized()) {
66
+ this[EEMainWindow].restore();
67
+ }
68
+ this[EEMainWindow].show();
69
+ this[EEMainWindow].focus();
70
+ }
71
+ }
72
+ };
73
+
74
74
  module.exports = Window;