ee-core 2.12.0 → 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 +19 -23
  7. package/config/default_config.js +110 -0
  8. package/config/index.js +20 -37
  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 +10 -10
  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 -143
  32. package/log/index.js +74 -57
  33. package/log/logger.js +75 -80
  34. package/message/childMessage.js +13 -13
  35. package/message/index.js +7 -16
  36. package/package.json +2 -2
  37. package/ps/index.js +136 -229
  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 -62
  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 -101
  72. package/ee/baseApp.js +0 -99
  73. package/ee/eeApp.js +0 -406
  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,12 @@
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 ConfigCache = require('../config/cache');
7
- const extend = require('../utils/extend');
7
+ const { extend } = require('../utils/extend');
8
+ const { getConfig } = require('../config');
9
+ const { getLogDir, env, isDev } = require('../ps');
8
10
 
9
11
  let LogDate = 0;
10
12
  const TmpFileName = {
@@ -13,88 +15,81 @@ const TmpFileName = {
13
15
  errorLogName: '',
14
16
  }
15
17
 
16
- 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
+ }
17
46
 
18
- /**
19
- * 创建
20
- */
21
- create(config = {}) {
22
- let opt = {};
23
-
24
- if (Object.keys(config).length == 0) {
25
- const defaultConfig = {
26
- logger: {
27
- type: 'application',
28
- dir: Ps.getLogDir(),
29
- encoding: 'utf8',
30
- env: Ps.env(),
31
- level: 'INFO',
32
- consoleLevel: 'INFO',
33
- disableConsoleAfterReady: !Ps.isDev(),
34
- outputJSON: false,
35
- buffer: true,
36
- appLogName: `ee.log`,
37
- coreLogName: 'ee-core.log',
38
- agentLogName: 'ee-agent.log',
39
- errorLogName: `ee-error.log`,
40
- coreLogger: {},
41
- allowDebugAtProd: false,
42
- enablePerformanceTimer: false,
43
- rotator: 'day',
44
- },
45
- customLogger: {}
46
- }
47
+ if (Object.keys(opt).length == 0) {
48
+ throw new Error("logger config is null");
49
+ }
47
50
 
48
- const sysConfig = ConfigCache.all();
49
- opt = extend(true, defaultConfig, {
50
- logger: sysConfig.logger,
51
- customLogger: sysConfig.customLogger || {}
52
- });
53
- } else {
54
- opt.logger = config.logger;
55
- opt.customLogger = config.customLogger;
56
- }
57
- // console.log('log---------', opt);
51
+ let rotateType = opt.logger.rotator;
52
+ if (rotateType == 'day') {
53
+ opt = _rotateByDay(opt);
54
+ }
58
55
 
59
- assert(Object.keys(opt).length != 0, `logger config is null`);
56
+ debug('[create] opt:%j', opt);
57
+ const loggers = new Loggers(opt);
60
58
 
61
- let rotateType = opt.logger.rotator;
62
- if (rotateType == 'day') {
63
- this._rotateByDay(opt);
64
- }
59
+ return loggers;
60
+ }
61
+
62
+ /**
63
+ * 按天分割
64
+ */
65
+ function _rotateByDay(logOpt) {
66
+ const now = parseInt(dayjs().format('YYYYMMDD'));
67
+ if (LogDate != now) {
68
+ LogDate = now;
65
69
 
66
- const loggers = new Loggers(opt);
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
+ }
67
80
 
68
- return loggers;
69
- },
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
+ }
70
89
 
71
- /**
72
- * 按天分割
73
- */
74
- _rotateByDay(logOpt) {
75
- let now = parseInt(dayjs().format('YYYYMMDD'));
76
- if (LogDate != now) {
77
- LogDate = now;
90
+ return logOpt;
91
+ }
78
92
 
79
- // 保存一个临时文件名,防止文件名按日期累加
80
- if (TmpFileName.appLogName.length == 0) {
81
- TmpFileName.appLogName = logOpt.logger.appLogName;
82
- }
83
- if (TmpFileName.coreLogName.length == 0) {
84
- TmpFileName.coreLogName = logOpt.logger.coreLogName;
85
- }
86
- if (TmpFileName.errorLogName.length == 0) {
87
- TmpFileName.errorLogName = logOpt.logger.errorLogName;
88
- }
89
- let appLogName = TmpFileName.appLogName;
90
- let coreLogName = TmpFileName.coreLogName;
91
- let errorLogName = TmpFileName.errorLogName;
92
- let appLogExtname = path.extname(appLogName);
93
- let coreLogExtname = path.extname(coreLogName);
94
- let errorLogExtname = path.extname(errorLogName);
95
- logOpt.logger.appLogName = path.basename(appLogName, appLogExtname) + '-' + now + appLogExtname;
96
- logOpt.logger.coreLogName = path.basename(coreLogName, coreLogExtname) + '-' + now + coreLogExtname;
97
- logOpt.logger.errorLogName = path.basename(errorLogName, errorLogExtname) + '-' + now + errorLogExtname;
98
- }
99
- },
93
+ module.exports = {
94
+ create
100
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,
@@ -40,14 +39,15 @@ class ChildMessage {
40
39
  */
41
40
  sendErrorToTerminal(err) {
42
41
  let errTips = (err && typeof err == 'object') ? err.toString() : '';
43
- let message = {
44
- channel: Channel.process.showException,
42
+ errTips += ' Error !!! Please See file ee-core.log or ee-error-xxx.log for details !'
43
+ const message = {
44
+ channel: Processes.showException,
45
45
  data: errTips
46
46
  }
47
47
  process.send(message);
48
48
  }
49
49
  }
50
50
 
51
-
52
-
53
- 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.12.0",
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",