ee-core 2.11.1 → 4.0.0-beta.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 (96) hide show
  1. package/app/application.js +31 -0
  2. package/app/boot.js +81 -0
  3. package/app/dir.js +27 -0
  4. package/app/events.js +56 -0
  5. package/app/index.js +7 -0
  6. package/config/config_loader.js +66 -0
  7. package/config/default_config.js +110 -0
  8. package/config/index.js +21 -83
  9. package/const/channel.js +26 -16
  10. package/const/index.js +0 -4
  11. package/controller/controller_loader.js +78 -0
  12. package/controller/index.js +18 -19
  13. package/core/index.js +6 -5
  14. package/core/{lib/loader → loader}/file_loader.js +39 -156
  15. package/core/utils/index.js +83 -0
  16. package/core/{lib/utils → utils}/timing.js +3 -2
  17. package/cross/cross.js +152 -0
  18. package/cross/index.js +6 -181
  19. package/cross/spawnProcess.js +34 -51
  20. package/electron/app/index.js +38 -54
  21. package/electron/index.js +13 -17
  22. package/electron/window/index.js +260 -65
  23. package/exception/index.js +34 -32
  24. package/html/index.js +7 -10
  25. package/index.js +4 -52
  26. package/jobs/child/app.js +9 -9
  27. package/jobs/child/forkProcess.js +29 -45
  28. package/jobs/child/index.js +13 -10
  29. package/jobs/child-pool/index.js +13 -11
  30. package/jobs/index.js +2 -4
  31. package/loader/index.js +91 -144
  32. package/log/index.js +74 -57
  33. package/log/logger.js +76 -84
  34. package/message/childMessage.js +12 -13
  35. package/message/index.js +7 -16
  36. package/package.json +2 -2
  37. package/ps/index.js +137 -223
  38. package/socket/httpServer.js +46 -43
  39. package/socket/index.js +52 -69
  40. package/socket/ipcServer.js +80 -94
  41. package/socket/socketServer.js +31 -24
  42. package/storage/index.js +5 -37
  43. package/storage/sqliteStorage.js +18 -18
  44. package/utils/extend.js +10 -5
  45. package/utils/helper.js +38 -42
  46. package/utils/index.js +40 -23
  47. package/utils/ip.js +5 -45
  48. package/utils/is.js +107 -141
  49. package/utils/json.js +15 -7
  50. package/utils/pargv.js +5 -1
  51. package/utils/{get-port → port}/index.js +4 -26
  52. package/utils/wrap.js +8 -3
  53. package/addon/index.js +0 -35
  54. package/addon/window/index.js +0 -99
  55. package/bin/tools.js +0 -8
  56. package/config/cache.js +0 -42
  57. package/config/config.default.js +0 -331
  58. package/controller/baseContextClass.js +0 -25
  59. package/core/lib/ee.js +0 -216
  60. package/core/lib/loader/context_loader.js +0 -106
  61. package/core/lib/loader/ee_loader.js +0 -435
  62. package/core/lib/loader/mixin/addon.js +0 -32
  63. package/core/lib/loader/mixin/config.js +0 -130
  64. package/core/lib/loader/mixin/controller.js +0 -125
  65. package/core/lib/loader/mixin/service.js +0 -28
  66. package/core/lib/utils/base_context_class.js +0 -34
  67. package/core/lib/utils/function.js +0 -30
  68. package/core/lib/utils/index.js +0 -133
  69. package/core/lib/utils/sequencify.js +0 -59
  70. package/ee/appLoader.js +0 -48
  71. package/ee/application.js +0 -100
  72. package/ee/baseApp.js +0 -104
  73. package/ee/eeApp.js +0 -409
  74. package/ee/index.js +0 -58
  75. package/electron/window/winState.js +0 -186
  76. package/httpclient/index.js +0 -161
  77. package/jobs/baseJobClass.js +0 -16
  78. package/jobs/renderer/index.js +0 -141
  79. package/jobs/renderer/loadView.js +0 -41
  80. package/jobs/unification.js +0 -64
  81. package/main/index.js +0 -57
  82. package/old-utils/index.js +0 -91
  83. package/services/baseContextClass.js +0 -24
  84. package/services/index.js +0 -41
  85. package/socket/io.js +0 -28
  86. package/storage/jsondb/adapters/Base.js +0 -23
  87. package/storage/jsondb/adapters/FileSync.js +0 -64
  88. package/storage/jsondb/main.js +0 -55
  89. package/storage/jsondbStorage.js +0 -196
  90. package/utils/co.js +0 -237
  91. package/utils/copyto.js +0 -161
  92. package/utils/depd/index.js +0 -538
  93. package/utils/depd/lib/browser/index.js +0 -77
  94. package/utils/get-port/index.d.ts +0 -64
  95. package/utils/time/index.js +0 -20
  96. package/utils/time/ms.js +0 -162
package/log/logger.js CHANGED
@@ -1,10 +1,13 @@
1
+ 'use strict';
2
+
3
+ const debug = require('debug')('ee-core:log:logger');
1
4
  const Loggers = require('egg-logger').EggLoggers;
2
- const assert = require('assert');
3
5
  const dayjs = require('dayjs');
4
6
  const path = require('path');
5
- const Ps = require('../ps');
6
- const Conf = require('../config');
7
- const ConfigCache = require('../config/cache');
7
+ const { extend } = require('../utils/extend');
8
+ const { getConfig } = require('../config');
9
+ const { getLogDir, env, isDev } = require('../ps');
10
+
8
11
  let LogDate = 0;
9
12
  const TmpFileName = {
10
13
  appLogName: '',
@@ -12,92 +15,81 @@ const TmpFileName = {
12
15
  errorLogName: '',
13
16
  }
14
17
 
15
- module.exports = {
18
+ // 创建
19
+ function create(config = {}) {
20
+ let opt = {};
21
+
22
+ if (Object.keys(config).length == 0) {
23
+ const defaultConfig = {
24
+ logger: {
25
+ type: 'application',
26
+ dir: getLogDir(),
27
+ env: env(),
28
+ consoleLevel: 'INFO',
29
+ disableConsoleAfterReady: !isDev(),
30
+ coreLogger: {},
31
+ allowDebugAtProd: false,
32
+ agentLogName: 'ee-agent.log',
33
+ rotator: 'day',
34
+ },
35
+ customLogger: {}
36
+ };
37
+ const sysConfig = getConfig();
38
+ opt = extend(true, defaultConfig, {
39
+ logger: sysConfig.logger,
40
+ customLogger: sysConfig.customLogger || {}
41
+ });
42
+ } else {
43
+ opt.logger = config.logger;
44
+ opt.customLogger = config.customLogger;
45
+ }
16
46
 
17
- /**
18
- * 创建
19
- */
20
- create(config = {}) {
21
- let opt = {};
22
-
23
- if (Object.keys(config).length == 0) {
24
- const defaultConfig = {
25
- logger: {
26
- type: 'application',
27
- dir: Ps.getLogDir(),
28
- encoding: 'utf8',
29
- env: Ps.env(),
30
- level: 'INFO',
31
- consoleLevel: 'INFO',
32
- disableConsoleAfterReady: !Ps.isDev(),
33
- outputJSON: false,
34
- buffer: true,
35
- appLogName: `ee.log`,
36
- coreLogName: 'ee-core.log',
37
- agentLogName: 'ee-agent.log',
38
- errorLogName: `ee-error.log`,
39
- coreLogger: {},
40
- allowDebugAtProd: false,
41
- enablePerformanceTimer: false,
42
- rotator: 'none',
43
- },
44
- customLogger: {}
45
- }
47
+ if (Object.keys(opt).length == 0) {
48
+ throw new Error("logger config is null");
49
+ }
46
50
 
47
- // 先从 cache 中读配置且不能抛出错误,如果没有从文件中读(子进程无法获取 cache)
48
- let sysConfig = ConfigCache.all(false);
49
- if (!sysConfig) {
50
- sysConfig = Conf.all(false);
51
- }
52
- opt = Object.assign(defaultConfig, {
53
- logger: sysConfig.logger,
54
- customLogger: sysConfig.customLogger || {}
55
- });
56
- } else {
57
- opt.logger = config.logger;
58
- opt.customLogger = config.customLogger;
59
- }
60
- // console.log('log---------', opt);
51
+ let rotateType = opt.logger.rotator;
52
+ if (rotateType == 'day') {
53
+ opt = _rotateByDay(opt);
54
+ }
61
55
 
62
- assert(Object.keys(opt).length != 0, `logger config is null`);
56
+ debug('[create] opt:%j', opt);
57
+ const loggers = new Loggers(opt);
63
58
 
64
- let rotateType = opt.logger.rotator;
65
- if (rotateType == 'day') {
66
- this._rotateByDay(opt);
67
- }
59
+ return loggers;
60
+ }
68
61
 
69
- const loggers = new Loggers(opt);
62
+ /**
63
+ * 按天分割
64
+ */
65
+ function _rotateByDay(logOpt) {
66
+ const now = parseInt(dayjs().format('YYYYMMDD'));
67
+ if (LogDate != now) {
68
+ LogDate = now;
70
69
 
71
- return loggers;
72
- },
70
+ // 保存一个临时文件名,防止文件名按日期累加
71
+ if (TmpFileName.appLogName.length == 0) {
72
+ TmpFileName.appLogName = logOpt.logger.appLogName;
73
+ }
74
+ if (TmpFileName.coreLogName.length == 0) {
75
+ TmpFileName.coreLogName = logOpt.logger.coreLogName;
76
+ }
77
+ if (TmpFileName.errorLogName.length == 0) {
78
+ TmpFileName.errorLogName = logOpt.logger.errorLogName;
79
+ }
73
80
 
74
- /**
75
- * 按天分割
76
- */
77
- _rotateByDay(logOpt) {
78
- let now = parseInt(dayjs().format('YYYYMMDD'));
79
- if (LogDate != now) {
80
- LogDate = now;
81
+ const {appLogName, coreLogName, errorLogName} = TmpFileName;
82
+ const appLogExtname = path.extname(appLogName);
83
+ const coreLogExtname = path.extname(coreLogName);
84
+ const errorLogExtname = path.extname(errorLogName);
85
+ logOpt.logger.appLogName = path.basename(appLogName, appLogExtname) + '-' + now + appLogExtname;
86
+ logOpt.logger.coreLogName = path.basename(coreLogName, coreLogExtname) + '-' + now + coreLogExtname;
87
+ logOpt.logger.errorLogName = path.basename(errorLogName, errorLogExtname) + '-' + now + errorLogExtname;
88
+ }
81
89
 
82
- // 保存一个临时文件名,防止文件名按日期累加
83
- if (TmpFileName.appLogName.length == 0) {
84
- TmpFileName.appLogName = logOpt.logger.appLogName;
85
- }
86
- if (TmpFileName.coreLogName.length == 0) {
87
- TmpFileName.coreLogName = logOpt.logger.coreLogName;
88
- }
89
- if (TmpFileName.errorLogName.length == 0) {
90
- TmpFileName.errorLogName = logOpt.logger.errorLogName;
91
- }
92
- let appLogName = TmpFileName.appLogName;
93
- let coreLogName = TmpFileName.coreLogName;
94
- let errorLogName = TmpFileName.errorLogName;
95
- let appLogExtname = path.extname(appLogName);
96
- let coreLogExtname = path.extname(coreLogName);
97
- let errorLogExtname = path.extname(errorLogName);
98
- logOpt.logger.appLogName = path.basename(appLogName, appLogExtname) + '-' + now + appLogExtname;
99
- logOpt.logger.coreLogName = path.basename(coreLogName, coreLogExtname) + '-' + now + coreLogExtname;
100
- logOpt.logger.errorLogName = path.basename(errorLogName, errorLogExtname) + '-' + now + errorLogExtname;
101
- }
102
- },
90
+ return logOpt;
91
+ }
92
+
93
+ module.exports = {
94
+ create
103
95
  };
@@ -1,15 +1,14 @@
1
- const Channel = require('../const/channel');
1
+ 'use strict';
2
+
3
+ const { Receiver, Processes } = require('../const/channel');
2
4
 
3
5
  class ChildMessage {
4
- constructor() {
5
- // ...
6
- }
7
6
 
8
7
  /**
9
8
  * 向主进程发消息 for ChildJob 实例
10
9
  */
11
10
  sendToMain(eventName, params = {}) {
12
- let receiver = Channel.receiver.childJob;
11
+ const receiver = Receiver.childJob;
13
12
  return this.send(eventName, params, receiver);
14
13
  }
15
14
 
@@ -17,9 +16,9 @@ class ChildMessage {
17
16
  * 向主进程发消息 for task 实例
18
17
  */
19
18
  send(eventName, params = {}, receiver) {
20
- let eventReceiver = receiver || Channel.receiver.forkProcess;
21
- let message = {
22
- channel: Channel.process.sendToMain,
19
+ const eventReceiver = receiver || Receiver.forkProcess;
20
+ const message = {
21
+ channel: Processes.sendToMain,
23
22
  eventReceiver,
24
23
  event: eventName,
25
24
  data: params,
@@ -41,14 +40,14 @@ class ChildMessage {
41
40
  sendErrorToTerminal(err) {
42
41
  let errTips = (err && typeof err == 'object') ? err.toString() : '';
43
42
  errTips += ' Error !!! Please See file ee-core.log or ee-error-xxx.log for details !'
44
- let message = {
45
- channel: Channel.process.showException,
43
+ const message = {
44
+ channel: Processes.showException,
46
45
  data: errTips
47
46
  }
48
47
  process.send(message);
49
48
  }
50
49
  }
51
50
 
52
-
53
-
54
- module.exports = ChildMessage;
51
+ module.exports = {
52
+ ChildMessage
53
+ };
package/message/index.js CHANGED
@@ -1,19 +1,10 @@
1
- const ChildMessage = require('./childMessage');
2
- const EEChildMessage = Symbol('EeCore#Module#ChildMessage');
1
+ 'use strict';
3
2
 
4
- const message = {
3
+ const { ChildMessage } = require('./childMessage');
5
4
 
6
- /**
7
- * childMessage
8
- */
9
- get childMessage() {
10
- if (!this[EEChildMessage]) {
11
- this[EEChildMessage] = new ChildMessage();
12
- }
5
+ const childMessage = new ChildMessage();
13
6
 
14
- return this[EEChildMessage] || null;
15
- },
16
-
17
- };
18
-
19
- module.exports = message;
7
+ module.exports = {
8
+ ChildMessage,
9
+ childMessage
10
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ee-core",
3
- "version": "2.11.1",
3
+ "version": "4.0.0-beta.1",
4
4
  "description": "ee core",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -13,12 +13,12 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "agentkeepalive": "^4.2.0",
16
+ "axios": "^1.7.9",
16
17
  "bytenode": "^1.3.6",
17
18
  "chalk": "^4.1.2",
18
19
  "cross-spawn": "^7.0.3",
19
20
  "dayjs": "^1.11.7",
20
21
  "debug": "^4.3.3",
21
- "egg-errors": "^2.3.0",
22
22
  "egg-logger": "^2.7.1",
23
23
  "globby": "^10.0.0",
24
24
  "is-type-of": "^1.2.1",