ee-core 5.0.0-beta.2 → 5.0.0-beta.6
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/README.md +178 -0
- package/dist/cjs/app/application.d.ts +36 -1
- package/dist/cjs/app/application.d.ts.map +1 -1
- package/dist/cjs/app/application.js +49 -2
- package/dist/cjs/app/application.js.map +1 -1
- package/dist/cjs/app/boot.d.ts +56 -1
- package/dist/cjs/app/boot.d.ts.map +1 -1
- package/dist/cjs/app/boot.js +74 -11
- package/dist/cjs/app/boot.js.map +1 -1
- package/dist/cjs/app/dir.d.ts +10 -0
- package/dist/cjs/app/dir.d.ts.map +1 -1
- package/dist/cjs/app/dir.js +71 -10
- package/dist/cjs/app/dir.js.map +1 -1
- package/dist/cjs/app/events.d.ts +58 -2
- package/dist/cjs/app/events.d.ts.map +1 -1
- package/dist/cjs/app/events.js +92 -12
- package/dist/cjs/app/events.js.map +1 -1
- package/dist/cjs/config/config_loader.d.ts +44 -0
- package/dist/cjs/config/config_loader.d.ts.map +1 -1
- package/dist/cjs/config/config_loader.js +82 -1
- package/dist/cjs/config/config_loader.js.map +1 -1
- package/dist/cjs/config/default_config.d.ts +5 -0
- package/dist/cjs/config/default_config.d.ts.map +1 -1
- package/dist/cjs/config/default_config.js +98 -11
- package/dist/cjs/config/default_config.js.map +1 -1
- package/dist/cjs/config/index.d.ts +31 -1
- package/dist/cjs/config/index.d.ts.map +1 -1
- package/dist/cjs/config/index.js +52 -0
- package/dist/cjs/config/index.js.map +1 -1
- package/dist/cjs/const/channel.d.ts +17 -0
- package/dist/cjs/const/channel.d.ts.map +1 -1
- package/dist/cjs/const/channel.js +17 -0
- package/dist/cjs/const/channel.js.map +1 -1
- package/dist/cjs/controller/controller_loader.d.ts +20 -1
- package/dist/cjs/controller/controller_loader.d.ts.map +1 -1
- package/dist/cjs/controller/controller_loader.js +89 -9
- package/dist/cjs/controller/controller_loader.js.map +1 -1
- package/dist/cjs/controller/index.d.ts +32 -0
- package/dist/cjs/controller/index.d.ts.map +1 -1
- package/dist/cjs/controller/index.js +66 -0
- package/dist/cjs/controller/index.js.map +1 -1
- package/dist/cjs/core/loader/file_loader.d.ts +77 -27
- package/dist/cjs/core/loader/file_loader.d.ts.map +1 -1
- package/dist/cjs/core/loader/file_loader.js +239 -75
- package/dist/cjs/core/loader/file_loader.js.map +1 -1
- package/dist/cjs/core/utils/index.d.ts +57 -2
- package/dist/cjs/core/utils/index.d.ts.map +1 -1
- package/dist/cjs/core/utils/index.js +120 -12
- package/dist/cjs/core/utils/index.js.map +1 -1
- package/dist/cjs/core/utils/timing.d.ts +47 -0
- package/dist/cjs/core/utils/timing.d.ts.map +1 -1
- package/dist/cjs/core/utils/timing.js +42 -2
- package/dist/cjs/core/utils/timing.js.map +1 -1
- package/dist/cjs/cross/cross.d.ts +81 -2
- package/dist/cjs/cross/cross.d.ts.map +1 -1
- package/dist/cjs/cross/cross.js +86 -16
- package/dist/cjs/cross/cross.js.map +1 -1
- package/dist/cjs/cross/crossProcess.d.ts +85 -14
- package/dist/cjs/cross/crossProcess.d.ts.map +1 -1
- package/dist/cjs/cross/crossProcess.js +85 -13
- package/dist/cjs/cross/crossProcess.js.map +1 -1
- package/dist/cjs/electron/app/index.d.ts +17 -1
- package/dist/cjs/electron/app/index.d.ts.map +1 -1
- package/dist/cjs/electron/app/index.js +27 -3
- package/dist/cjs/electron/app/index.js.map +1 -1
- package/dist/cjs/electron/index.d.ts +6 -0
- package/dist/cjs/electron/index.d.ts.map +1 -1
- package/dist/cjs/electron/index.js +16 -1
- package/dist/cjs/electron/index.js.map +1 -1
- package/dist/cjs/electron/window/index.d.ts +37 -0
- package/dist/cjs/electron/window/index.d.ts.map +1 -1
- package/dist/cjs/electron/window/index.js +144 -88
- package/dist/cjs/electron/window/index.js.map +1 -1
- package/dist/cjs/exception/index.d.ts +12 -0
- package/dist/cjs/exception/index.d.ts.map +1 -1
- package/dist/cjs/exception/index.js +67 -9
- package/dist/cjs/exception/index.js.map +1 -1
- package/dist/cjs/html/index.d.ts +19 -0
- package/dist/cjs/html/index.d.ts.map +1 -1
- package/dist/cjs/html/index.js +42 -0
- package/dist/cjs/html/index.js.map +1 -1
- package/dist/cjs/index.d.ts +35 -7
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +127 -80
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/jobs/child/app.js +86 -25
- package/dist/cjs/jobs/child/app.js.map +1 -1
- package/dist/cjs/jobs/child/index.d.ts +5 -5
- package/dist/cjs/jobs/child/index.js +5 -5
- package/dist/cjs/jobs/child/jobProcess.d.ts +68 -0
- package/dist/cjs/jobs/child/jobProcess.d.ts.map +1 -1
- package/dist/cjs/jobs/child/jobProcess.js +86 -11
- package/dist/cjs/jobs/child/jobProcess.js.map +1 -1
- package/dist/cjs/jobs/child-pool/index.d.ts +96 -0
- package/dist/cjs/jobs/child-pool/index.d.ts.map +1 -1
- package/dist/cjs/jobs/child-pool/index.js +91 -4
- package/dist/cjs/jobs/child-pool/index.js.map +1 -1
- package/dist/cjs/jobs/index.d.ts +10 -0
- package/dist/cjs/jobs/index.d.ts.map +1 -1
- package/dist/cjs/jobs/index.js +10 -0
- package/dist/cjs/jobs/index.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts +2 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/index.js +6 -0
- package/dist/cjs/jobs/load-balancer/algorithm/index.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/polling.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/polling.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/random.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/random.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/specify.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/specify.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js +4 -8
- package/dist/cjs/jobs/load-balancer/algorithm/weights.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
- package/dist/cjs/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
- package/dist/cjs/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
- package/dist/cjs/jobs/load-balancer/consts.d.ts +22 -0
- package/dist/cjs/jobs/load-balancer/consts.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/consts.js +22 -0
- package/dist/cjs/jobs/load-balancer/consts.js.map +1 -1
- package/dist/cjs/jobs/load-balancer/index.d.ts +18 -18
- package/dist/cjs/jobs/load-balancer/index.js +18 -18
- package/dist/cjs/jobs/load-balancer/scheduler.d.ts +3 -3
- package/dist/cjs/jobs/load-balancer/scheduler.js +3 -3
- package/dist/cjs/jobs/load-balancer/types.d.ts +21 -0
- package/dist/cjs/jobs/load-balancer/types.d.ts.map +1 -1
- package/dist/cjs/jobs/load-balancer/types.js +4 -0
- package/dist/cjs/jobs/load-balancer/types.js.map +1 -1
- package/dist/cjs/jobs/registry.d.ts +24 -0
- package/dist/cjs/jobs/registry.d.ts.map +1 -0
- package/dist/cjs/jobs/registry.js +52 -0
- package/dist/cjs/jobs/registry.js.map +1 -0
- package/dist/cjs/loader/index.d.ts +52 -0
- package/dist/cjs/loader/index.d.ts.map +1 -1
- package/dist/cjs/loader/index.js +79 -10
- package/dist/cjs/loader/index.js.map +1 -1
- package/dist/cjs/log/index.d.ts +41 -0
- package/dist/cjs/log/index.d.ts.map +1 -1
- package/dist/cjs/log/index.js +59 -20
- package/dist/cjs/log/index.js.map +1 -1
- package/dist/cjs/log/logger.d.ts +26 -0
- package/dist/cjs/log/logger.d.ts.map +1 -1
- package/dist/cjs/log/logger.js +122 -2
- package/dist/cjs/log/logger.js.map +1 -1
- package/dist/cjs/message/childMessage.d.ts +50 -0
- package/dist/cjs/message/childMessage.d.ts.map +1 -1
- package/dist/cjs/message/childMessage.js +83 -2
- package/dist/cjs/message/childMessage.js.map +1 -1
- package/dist/cjs/ps/index.d.ts +112 -0
- package/dist/cjs/ps/index.d.ts.map +1 -1
- package/dist/cjs/ps/index.js +175 -41
- package/dist/cjs/ps/index.js.map +1 -1
- package/dist/cjs/socket/httpServer.d.ts +58 -5
- package/dist/cjs/socket/httpServer.d.ts.map +1 -1
- package/dist/cjs/socket/httpServer.js +94 -28
- package/dist/cjs/socket/httpServer.js.map +1 -1
- package/dist/cjs/socket/index.d.ts +45 -3
- package/dist/cjs/socket/index.d.ts.map +1 -1
- package/dist/cjs/socket/index.js +50 -14
- package/dist/cjs/socket/index.js.map +1 -1
- package/dist/cjs/socket/ipcServer.d.ts +31 -1
- package/dist/cjs/socket/ipcServer.d.ts.map +1 -1
- package/dist/cjs/socket/ipcServer.js +60 -43
- package/dist/cjs/socket/ipcServer.js.map +1 -1
- package/dist/cjs/socket/socketServer.d.ts +32 -1
- package/dist/cjs/socket/socketServer.d.ts.map +1 -1
- package/dist/cjs/socket/socketServer.js +53 -14
- package/dist/cjs/socket/socketServer.js.map +1 -1
- package/dist/cjs/socket/utils.d.ts +13 -0
- package/dist/cjs/socket/utils.d.ts.map +1 -0
- package/dist/cjs/socket/utils.js +41 -0
- package/dist/cjs/socket/utils.js.map +1 -0
- package/dist/cjs/storage/sqliteStorage.d.ts +93 -4
- package/dist/cjs/storage/sqliteStorage.d.ts.map +1 -1
- package/dist/cjs/storage/sqliteStorage.js +121 -9
- package/dist/cjs/storage/sqliteStorage.js.map +1 -1
- package/dist/cjs/types/index.d.ts +373 -5
- package/dist/cjs/types/index.d.ts.map +1 -1
- package/dist/cjs/utils/extend.d.ts +44 -1
- package/dist/cjs/utils/extend.d.ts.map +1 -1
- package/dist/cjs/utils/extend.js +67 -19
- package/dist/cjs/utils/extend.js.map +1 -1
- package/dist/cjs/utils/helper.d.ts +154 -1
- package/dist/cjs/utils/helper.d.ts.map +1 -1
- package/dist/cjs/utils/helper.js +205 -28
- package/dist/cjs/utils/helper.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +93 -0
- package/dist/cjs/utils/index.d.ts.map +1 -1
- package/dist/cjs/utils/index.js +136 -12
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/ip.d.ts +29 -0
- package/dist/cjs/utils/ip.d.ts.map +1 -1
- package/dist/cjs/utils/ip.js +95 -4
- package/dist/cjs/utils/ip.js.map +1 -1
- package/dist/cjs/utils/is.d.ts +123 -0
- package/dist/cjs/utils/is.d.ts.map +1 -1
- package/dist/cjs/utils/is.js +126 -14
- package/dist/cjs/utils/is.js.map +1 -1
- package/dist/cjs/utils/json.d.ts +54 -0
- package/dist/cjs/utils/json.d.ts.map +1 -1
- package/dist/cjs/utils/json.js +62 -0
- package/dist/cjs/utils/json.js.map +1 -1
- package/dist/cjs/utils/pargv.d.ts +51 -0
- package/dist/cjs/utils/pargv.d.ts.map +1 -1
- package/dist/cjs/utils/pargv.js +141 -3
- package/dist/cjs/utils/pargv.js.map +1 -1
- package/dist/cjs/utils/port/index.d.ts +42 -0
- package/dist/cjs/utils/port/index.d.ts.map +1 -1
- package/dist/cjs/utils/port/index.js +130 -7
- package/dist/cjs/utils/port/index.js.map +1 -1
- package/dist/cjs/utils/type_check.d.ts +79 -0
- package/dist/cjs/utils/type_check.d.ts.map +1 -1
- package/dist/cjs/utils/type_check.js +87 -1
- package/dist/cjs/utils/type_check.js.map +1 -1
- package/dist/cjs/utils/wrap.d.ts +26 -0
- package/dist/cjs/utils/wrap.d.ts.map +1 -1
- package/dist/cjs/utils/wrap.js +47 -10
- package/dist/cjs/utils/wrap.js.map +1 -1
- package/dist/esm/app/application.d.ts +36 -1
- package/dist/esm/app/application.d.ts.map +1 -1
- package/dist/esm/app/application.js +49 -2
- package/dist/esm/app/application.js.map +1 -1
- package/dist/esm/app/boot.d.ts +56 -1
- package/dist/esm/app/boot.d.ts.map +1 -1
- package/dist/esm/app/boot.js +74 -11
- package/dist/esm/app/boot.js.map +1 -1
- package/dist/esm/app/dir.d.ts +10 -0
- package/dist/esm/app/dir.d.ts.map +1 -1
- package/dist/esm/app/dir.js +71 -10
- package/dist/esm/app/dir.js.map +1 -1
- package/dist/esm/app/events.d.ts +58 -2
- package/dist/esm/app/events.d.ts.map +1 -1
- package/dist/esm/app/events.js +92 -12
- package/dist/esm/app/events.js.map +1 -1
- package/dist/esm/config/config_loader.d.ts +44 -0
- package/dist/esm/config/config_loader.d.ts.map +1 -1
- package/dist/esm/config/config_loader.js +82 -1
- package/dist/esm/config/config_loader.js.map +1 -1
- package/dist/esm/config/default_config.d.ts +5 -0
- package/dist/esm/config/default_config.d.ts.map +1 -1
- package/dist/esm/config/default_config.js +98 -11
- package/dist/esm/config/default_config.js.map +1 -1
- package/dist/esm/config/index.d.ts +31 -1
- package/dist/esm/config/index.d.ts.map +1 -1
- package/dist/esm/config/index.js +52 -0
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/const/channel.d.ts +17 -0
- package/dist/esm/const/channel.d.ts.map +1 -1
- package/dist/esm/const/channel.js +17 -0
- package/dist/esm/const/channel.js.map +1 -1
- package/dist/esm/controller/controller_loader.d.ts +20 -1
- package/dist/esm/controller/controller_loader.d.ts.map +1 -1
- package/dist/esm/controller/controller_loader.js +89 -9
- package/dist/esm/controller/controller_loader.js.map +1 -1
- package/dist/esm/controller/index.d.ts +32 -0
- package/dist/esm/controller/index.d.ts.map +1 -1
- package/dist/esm/controller/index.js +66 -0
- package/dist/esm/controller/index.js.map +1 -1
- package/dist/esm/core/loader/file_loader.d.ts +77 -27
- package/dist/esm/core/loader/file_loader.d.ts.map +1 -1
- package/dist/esm/core/loader/file_loader.js +239 -75
- package/dist/esm/core/loader/file_loader.js.map +1 -1
- package/dist/esm/core/utils/index.d.ts +57 -2
- package/dist/esm/core/utils/index.d.ts.map +1 -1
- package/dist/esm/core/utils/index.js +87 -12
- package/dist/esm/core/utils/index.js.map +1 -1
- package/dist/esm/core/utils/timing.d.ts +47 -0
- package/dist/esm/core/utils/timing.d.ts.map +1 -1
- package/dist/esm/core/utils/timing.js +42 -2
- package/dist/esm/core/utils/timing.js.map +1 -1
- package/dist/esm/cross/cross.d.ts +81 -2
- package/dist/esm/cross/cross.d.ts.map +1 -1
- package/dist/esm/cross/cross.js +86 -16
- package/dist/esm/cross/cross.js.map +1 -1
- package/dist/esm/cross/crossProcess.d.ts +85 -14
- package/dist/esm/cross/crossProcess.d.ts.map +1 -1
- package/dist/esm/cross/crossProcess.js +85 -13
- package/dist/esm/cross/crossProcess.js.map +1 -1
- package/dist/esm/electron/app/index.d.ts +17 -1
- package/dist/esm/electron/app/index.d.ts.map +1 -1
- package/dist/esm/electron/app/index.js +27 -3
- package/dist/esm/electron/app/index.js.map +1 -1
- package/dist/esm/electron/index.d.ts +6 -0
- package/dist/esm/electron/index.d.ts.map +1 -1
- package/dist/esm/electron/index.js +16 -1
- package/dist/esm/electron/index.js.map +1 -1
- package/dist/esm/electron/window/index.d.ts +37 -0
- package/dist/esm/electron/window/index.d.ts.map +1 -1
- package/dist/esm/electron/window/index.js +144 -88
- package/dist/esm/electron/window/index.js.map +1 -1
- package/dist/esm/exception/index.d.ts +12 -0
- package/dist/esm/exception/index.d.ts.map +1 -1
- package/dist/esm/exception/index.js +67 -9
- package/dist/esm/exception/index.js.map +1 -1
- package/dist/esm/html/index.d.ts +19 -0
- package/dist/esm/html/index.d.ts.map +1 -1
- package/dist/esm/html/index.js +42 -0
- package/dist/esm/html/index.js.map +1 -1
- package/dist/esm/index.d.ts +35 -7
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +127 -80
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/jobs/child/app.js +86 -25
- package/dist/esm/jobs/child/app.js.map +1 -1
- package/dist/esm/jobs/child/index.d.ts +5 -5
- package/dist/esm/jobs/child/index.js +5 -5
- package/dist/esm/jobs/child/jobProcess.d.ts +68 -0
- package/dist/esm/jobs/child/jobProcess.d.ts.map +1 -1
- package/dist/esm/jobs/child/jobProcess.js +86 -11
- package/dist/esm/jobs/child/jobProcess.js.map +1 -1
- package/dist/esm/jobs/child-pool/index.d.ts +96 -0
- package/dist/esm/jobs/child-pool/index.d.ts.map +1 -1
- package/dist/esm/jobs/child-pool/index.js +91 -4
- package/dist/esm/jobs/child-pool/index.js.map +1 -1
- package/dist/esm/jobs/index.d.ts +10 -0
- package/dist/esm/jobs/index.d.ts.map +1 -1
- package/dist/esm/jobs/index.js +10 -0
- package/dist/esm/jobs/index.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts +2 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/index.js +6 -0
- package/dist/esm/jobs/load-balancer/algorithm/index.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/minimumConnection.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/polling.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/polling.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/random.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/random.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/specify.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/specify.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weights.js +4 -8
- package/dist/esm/jobs/load-balancer/algorithm/weights.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js +6 -11
- package/dist/esm/jobs/load-balancer/algorithm/weightsMinimumConnection.js.map +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsPolling.js +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.d.ts +1 -1
- package/dist/esm/jobs/load-balancer/algorithm/weightsRandom.js +1 -1
- package/dist/esm/jobs/load-balancer/consts.d.ts +22 -0
- package/dist/esm/jobs/load-balancer/consts.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/consts.js +22 -0
- package/dist/esm/jobs/load-balancer/consts.js.map +1 -1
- package/dist/esm/jobs/load-balancer/index.d.ts +18 -18
- package/dist/esm/jobs/load-balancer/index.js +18 -18
- package/dist/esm/jobs/load-balancer/scheduler.d.ts +3 -3
- package/dist/esm/jobs/load-balancer/scheduler.js +3 -3
- package/dist/esm/jobs/load-balancer/types.d.ts +21 -0
- package/dist/esm/jobs/load-balancer/types.d.ts.map +1 -1
- package/dist/esm/jobs/load-balancer/types.js +4 -0
- package/dist/esm/jobs/load-balancer/types.js.map +1 -1
- package/dist/esm/jobs/registry.d.ts +24 -0
- package/dist/esm/jobs/registry.d.ts.map +1 -0
- package/dist/esm/jobs/registry.js +52 -0
- package/dist/esm/jobs/registry.js.map +1 -0
- package/dist/esm/loader/index.d.ts +52 -0
- package/dist/esm/loader/index.d.ts.map +1 -1
- package/dist/esm/loader/index.js +79 -10
- package/dist/esm/loader/index.js.map +1 -1
- package/dist/esm/log/index.d.ts +41 -0
- package/dist/esm/log/index.d.ts.map +1 -1
- package/dist/esm/log/index.js +59 -20
- package/dist/esm/log/index.js.map +1 -1
- package/dist/esm/log/logger.d.ts +26 -0
- package/dist/esm/log/logger.d.ts.map +1 -1
- package/dist/esm/log/logger.js +122 -2
- package/dist/esm/log/logger.js.map +1 -1
- package/dist/esm/message/childMessage.d.ts +50 -0
- package/dist/esm/message/childMessage.d.ts.map +1 -1
- package/dist/esm/message/childMessage.js +83 -2
- package/dist/esm/message/childMessage.js.map +1 -1
- package/dist/esm/ps/index.d.ts +112 -0
- package/dist/esm/ps/index.d.ts.map +1 -1
- package/dist/esm/ps/index.js +175 -41
- package/dist/esm/ps/index.js.map +1 -1
- package/dist/esm/socket/httpServer.d.ts +58 -5
- package/dist/esm/socket/httpServer.d.ts.map +1 -1
- package/dist/esm/socket/httpServer.js +94 -28
- package/dist/esm/socket/httpServer.js.map +1 -1
- package/dist/esm/socket/index.d.ts +45 -3
- package/dist/esm/socket/index.d.ts.map +1 -1
- package/dist/esm/socket/index.js +50 -14
- package/dist/esm/socket/index.js.map +1 -1
- package/dist/esm/socket/ipcServer.d.ts +31 -1
- package/dist/esm/socket/ipcServer.d.ts.map +1 -1
- package/dist/esm/socket/ipcServer.js +60 -43
- package/dist/esm/socket/ipcServer.js.map +1 -1
- package/dist/esm/socket/socketServer.d.ts +32 -1
- package/dist/esm/socket/socketServer.d.ts.map +1 -1
- package/dist/esm/socket/socketServer.js +53 -14
- package/dist/esm/socket/socketServer.js.map +1 -1
- package/dist/esm/socket/utils.d.ts +13 -0
- package/dist/esm/socket/utils.d.ts.map +1 -0
- package/dist/esm/socket/utils.js +41 -0
- package/dist/esm/socket/utils.js.map +1 -0
- package/dist/esm/storage/sqliteStorage.d.ts +93 -4
- package/dist/esm/storage/sqliteStorage.d.ts.map +1 -1
- package/dist/esm/storage/sqliteStorage.js +121 -9
- package/dist/esm/storage/sqliteStorage.js.map +1 -1
- package/dist/esm/types/index.d.ts +373 -5
- package/dist/esm/types/index.d.ts.map +1 -1
- package/dist/esm/utils/extend.d.ts +44 -1
- package/dist/esm/utils/extend.d.ts.map +1 -1
- package/dist/esm/utils/extend.js +67 -19
- package/dist/esm/utils/extend.js.map +1 -1
- package/dist/esm/utils/helper.d.ts +154 -1
- package/dist/esm/utils/helper.d.ts.map +1 -1
- package/dist/esm/utils/helper.js +205 -28
- package/dist/esm/utils/helper.js.map +1 -1
- package/dist/esm/utils/index.d.ts +93 -0
- package/dist/esm/utils/index.d.ts.map +1 -1
- package/dist/esm/utils/index.js +136 -12
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/ip.d.ts +29 -0
- package/dist/esm/utils/ip.d.ts.map +1 -1
- package/dist/esm/utils/ip.js +95 -4
- package/dist/esm/utils/ip.js.map +1 -1
- package/dist/esm/utils/is.d.ts +123 -0
- package/dist/esm/utils/is.d.ts.map +1 -1
- package/dist/esm/utils/is.js +126 -14
- package/dist/esm/utils/is.js.map +1 -1
- package/dist/esm/utils/json.d.ts +54 -0
- package/dist/esm/utils/json.d.ts.map +1 -1
- package/dist/esm/utils/json.js +62 -0
- package/dist/esm/utils/json.js.map +1 -1
- package/dist/esm/utils/pargv.d.ts +51 -0
- package/dist/esm/utils/pargv.d.ts.map +1 -1
- package/dist/esm/utils/pargv.js +141 -3
- package/dist/esm/utils/pargv.js.map +1 -1
- package/dist/esm/utils/port/index.d.ts +42 -0
- package/dist/esm/utils/port/index.d.ts.map +1 -1
- package/dist/esm/utils/port/index.js +130 -7
- package/dist/esm/utils/port/index.js.map +1 -1
- package/dist/esm/utils/type_check.d.ts +79 -0
- package/dist/esm/utils/type_check.d.ts.map +1 -1
- package/dist/esm/utils/type_check.js +87 -1
- package/dist/esm/utils/type_check.js.map +1 -1
- package/dist/esm/utils/wrap.d.ts +26 -0
- package/dist/esm/utils/wrap.d.ts.map +1 -1
- package/dist/esm/utils/wrap.js +47 -10
- package/dist/esm/utils/wrap.js.map +1 -1
- package/package.json +12 -13
package/dist/cjs/log/index.js
CHANGED
|
@@ -5,38 +5,59 @@ exports.createLog = createLog;
|
|
|
5
5
|
exports.loadLog = loadLog;
|
|
6
6
|
exports.getLoggers = getLoggers;
|
|
7
7
|
const logger_js_1 = require("./logger.js");
|
|
8
|
+
/** Log instance collection (assigned after startup) */
|
|
8
9
|
let loggers = null;
|
|
10
|
+
/**
|
|
11
|
+
* Create log instances
|
|
12
|
+
*
|
|
13
|
+
* @param config - Custom log configuration (optional)
|
|
14
|
+
* @returns PinoLoggers object
|
|
15
|
+
*/
|
|
9
16
|
function createLog(config) {
|
|
10
17
|
return (0, logger_js_1.create)(config ?? {});
|
|
11
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Load log system
|
|
21
|
+
*
|
|
22
|
+
* Creates log instances using system configuration. Called by boot.ts init() during framework startup flow.
|
|
23
|
+
*/
|
|
12
24
|
function loadLog() {
|
|
13
25
|
loggers = (0, logger_js_1.create)();
|
|
14
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Get log instance collection
|
|
29
|
+
*
|
|
30
|
+
* If logs have not been loaded yet, automatically triggers loading.
|
|
31
|
+
*
|
|
32
|
+
* @returns PinoLoggers object
|
|
33
|
+
*/
|
|
15
34
|
function getLoggers() {
|
|
16
35
|
if (!loggers) {
|
|
17
36
|
loadLog();
|
|
18
37
|
}
|
|
19
38
|
return loggers;
|
|
20
39
|
}
|
|
21
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Get pino log instance by property name
|
|
42
|
+
*
|
|
43
|
+
* @param prop - Property name (logger / coreLogger / errorLogger)
|
|
44
|
+
* @returns pino.Logger instance
|
|
45
|
+
*/
|
|
46
|
+
function _getLoggerBy(prop) {
|
|
22
47
|
if (!loggers) {
|
|
23
48
|
loadLog();
|
|
24
49
|
}
|
|
25
|
-
return loggers
|
|
26
|
-
}
|
|
27
|
-
function _getCoreLogger() {
|
|
28
|
-
if (!loggers) {
|
|
29
|
-
loadLog();
|
|
30
|
-
}
|
|
31
|
-
return loggers.coreLogger;
|
|
32
|
-
}
|
|
33
|
-
function _getErrorLogger() {
|
|
34
|
-
if (!loggers) {
|
|
35
|
-
loadLog();
|
|
36
|
-
}
|
|
37
|
-
return loggers.errorLogger;
|
|
50
|
+
return loggers[prop];
|
|
38
51
|
}
|
|
52
|
+
/** Set of supported log method names */
|
|
39
53
|
const LOG_METHODS = new Set(['trace', 'debug', 'info', 'warn', 'error', 'fatal']);
|
|
54
|
+
/**
|
|
55
|
+
* Format argument to string
|
|
56
|
+
*
|
|
57
|
+
* - Error → stack or message
|
|
58
|
+
* - Object → JSON string
|
|
59
|
+
* - Other → String()
|
|
60
|
+
*/
|
|
40
61
|
function formatArg(a) {
|
|
41
62
|
if (a instanceof Error)
|
|
42
63
|
return a.stack || a.message;
|
|
@@ -44,9 +65,23 @@ function formatArg(a) {
|
|
|
44
65
|
return JSON.stringify(a);
|
|
45
66
|
return String(a);
|
|
46
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Create log proxy object
|
|
70
|
+
*
|
|
71
|
+
* Uses Proxy to intercept method calls, compatible with multiple log calling styles:
|
|
72
|
+
* 1. pino standard: logger.info({ key: 'val' }, 'msg') — first argument is merge object
|
|
73
|
+
* 2. pino printf: logger.info('count: %d', 42) — contains %s/%d format placeholders
|
|
74
|
+
* 3. Concatenation mode: logger.info('msg:', value) — multiple arguments auto-concatenated to string
|
|
75
|
+
*
|
|
76
|
+
* child() method returns a new proxy object bound to sub-logger context.
|
|
77
|
+
*
|
|
78
|
+
* @param getter - Deferred function to get pino.Logger instance
|
|
79
|
+
* @returns EeLogger proxy object
|
|
80
|
+
*/
|
|
47
81
|
function createLoggerProxy(getter) {
|
|
48
82
|
return new Proxy({}, {
|
|
49
83
|
get(_target, prop) {
|
|
84
|
+
// child() returns sub-logger proxy
|
|
50
85
|
if (prop === 'child') {
|
|
51
86
|
return (bindings) => createLoggerProxy(() => getter().child(bindings));
|
|
52
87
|
}
|
|
@@ -57,28 +92,32 @@ function createLoggerProxy(getter) {
|
|
|
57
92
|
const method = l[prop];
|
|
58
93
|
if (!method)
|
|
59
94
|
return;
|
|
95
|
+
// Single argument, call directly
|
|
60
96
|
if (args.length <= 1) {
|
|
61
97
|
method.call(l, ...args);
|
|
62
98
|
return;
|
|
63
99
|
}
|
|
64
100
|
const first = args[0];
|
|
65
|
-
// pino
|
|
101
|
+
// pino standard: first argument is a plain object → (mergeObj, msg, ...args)
|
|
66
102
|
if (typeof first === 'object' && first !== null && !(first instanceof Error)) {
|
|
67
103
|
method.call(l, ...args);
|
|
68
104
|
return;
|
|
69
105
|
}
|
|
70
|
-
// pino printf:
|
|
106
|
+
// pino printf: first argument contains %s/%d formatting → keep as-is
|
|
71
107
|
if (typeof first === 'string' && /%[sdijo]/.test(first)) {
|
|
72
108
|
method.call(l, ...args);
|
|
73
109
|
return;
|
|
74
110
|
}
|
|
75
|
-
//
|
|
111
|
+
// Concatenation mode: logger.info('msg:', value) → 'msg: value'
|
|
76
112
|
method.call(l, args.map(formatArg).join(' '));
|
|
77
113
|
};
|
|
78
114
|
},
|
|
79
115
|
});
|
|
80
116
|
}
|
|
81
|
-
|
|
82
|
-
exports.
|
|
83
|
-
|
|
117
|
+
/** Application log instance (Proxy wrapped) */
|
|
118
|
+
exports.logger = createLoggerProxy(() => _getLoggerBy('logger'));
|
|
119
|
+
/** Framework core log instance (Proxy wrapped) */
|
|
120
|
+
exports.coreLogger = createLoggerProxy(() => _getLoggerBy('coreLogger'));
|
|
121
|
+
/** Error log instance (Proxy wrapped, error/fatal level only) */
|
|
122
|
+
exports.errorLogger = createLoggerProxy(() => _getLoggerBy('errorLogger'));
|
|
84
123
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/log/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/log/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/log/logger.d.ts
CHANGED
|
@@ -1,9 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module log/logger
|
|
3
|
+
* @description Logger creator. Creates three log instances based on the pino logging library:
|
|
4
|
+
* - logger: Application log (ee.log), records business code logs
|
|
5
|
+
* - coreLogger: Framework core log (ee-core.log), records framework internal logs
|
|
6
|
+
* - errorLogger: Error log (ee-error.log), only records error level and above
|
|
7
|
+
*
|
|
8
|
+
* Features:
|
|
9
|
+
* - Log file rotation based on pino-roll (daily/hourly)
|
|
10
|
+
* - pino-pretty colorized output in development environment
|
|
11
|
+
* - Supports field redaction (redact), custom log levels, custom serializers
|
|
12
|
+
* - Safe mode: does not throw exceptions when log write fails
|
|
13
|
+
*/
|
|
1
14
|
import pino from 'pino';
|
|
2
15
|
import type { LoggerConfig } from '../types/index.js';
|
|
16
|
+
/** Collection of three pino log instances */
|
|
3
17
|
export interface PinoLoggers {
|
|
18
|
+
/** Application log instance */
|
|
4
19
|
logger: pino.Logger;
|
|
20
|
+
/** Framework core log instance */
|
|
5
21
|
coreLogger: pino.Logger;
|
|
22
|
+
/** Error log instance (error level and above only) */
|
|
6
23
|
errorLogger: pino.Logger;
|
|
7
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Create three log instances (logger / coreLogger / errorLogger)
|
|
27
|
+
*
|
|
28
|
+
* Merges default configuration and user configuration, creating independent pino instances for each log file.
|
|
29
|
+
* errorLogger level is fixed to error; others use the configured level.
|
|
30
|
+
*
|
|
31
|
+
* @param config - Custom log configuration (optional, overrides system configuration)
|
|
32
|
+
* @returns PinoLoggers object containing three log instances
|
|
33
|
+
*/
|
|
8
34
|
export declare function create(config?: Partial<LoggerConfig>): PinoLoggers;
|
|
9
35
|
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/log/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAOxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;CAC1B;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/log/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,IAAI,MAAM,MAAM,CAAC;AAOxB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,6CAA6C;AAC7C,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;IACpB,kCAAkC;IAClC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;IACxB,sDAAsD;IACtD,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC;CAC1B;AAuKD;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,MAAM,GAAE,OAAO,CAAC,YAAY,CAAM,GAAG,WAAW,CA2EtE"}
|
package/dist/cjs/log/logger.js
CHANGED
|
@@ -4,6 +4,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.create = create;
|
|
7
|
+
/**
|
|
8
|
+
* @module log/logger
|
|
9
|
+
* @description Logger creator. Creates three log instances based on the pino logging library:
|
|
10
|
+
* - logger: Application log (ee.log), records business code logs
|
|
11
|
+
* - coreLogger: Framework core log (ee-core.log), records framework internal logs
|
|
12
|
+
* - errorLogger: Error log (ee-error.log), only records error level and above
|
|
13
|
+
*
|
|
14
|
+
* Features:
|
|
15
|
+
* - Log file rotation based on pino-roll (daily/hourly)
|
|
16
|
+
* - pino-pretty colorized output in development environment
|
|
17
|
+
* - Supports field redaction (redact), custom log levels, custom serializers
|
|
18
|
+
* - Safe mode: does not throw exceptions when log write fails
|
|
19
|
+
*/
|
|
7
20
|
const pino_1 = __importDefault(require("pino"));
|
|
8
21
|
const path_1 = __importDefault(require("path"));
|
|
9
22
|
const debug_1 = __importDefault(require("debug"));
|
|
@@ -12,15 +25,76 @@ const default_config_js_1 = __importDefault(require("../config/default_config.js
|
|
|
12
25
|
const extend_js_1 = require("../utils/extend.js");
|
|
13
26
|
const index_js_2 = require("../ps/index.js");
|
|
14
27
|
const debugLog = (0, debug_1.default)('ee-core:log:logger');
|
|
28
|
+
/** Log level name mapping (case-insensitive) */
|
|
15
29
|
const LEVEL_MAP = {
|
|
16
30
|
DEBUG: 'debug', INFO: 'info', WARN: 'warn',
|
|
17
31
|
ERROR: 'error', FATAL: 'fatal', TRACE: 'trace',
|
|
18
32
|
};
|
|
33
|
+
/**
|
|
34
|
+
* Normalize log level name
|
|
35
|
+
*
|
|
36
|
+
* Converts uppercase level names to lowercase, case-insensitive input.
|
|
37
|
+
*/
|
|
19
38
|
function normalizeLevel(level) {
|
|
20
39
|
return LEVEL_MAP[level.toUpperCase()] || level.toLowerCase();
|
|
21
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Build a pino timestamp function that emits wall-clock time in a specific IANA timezone.
|
|
43
|
+
*
|
|
44
|
+
* pino's built-in isoTime always emits UTC (e.g. '...Z'); this preserves that exact behavior for
|
|
45
|
+
* 'UTC' (fast path via Date.toISOString()), and for any other IANA zone emits a full ISO string
|
|
46
|
+
* carrying the zone offset (e.g. '2026-06-01T21:42:24.123+08:00'), so file logs read as the
|
|
47
|
+
* configured timezone regardless of the host machine's TZ. The returned function follows pino's
|
|
48
|
+
* contract: it returns a string beginning with `,"time":...` to be concatenated into the JSON line.
|
|
49
|
+
*
|
|
50
|
+
* @param timeZone - IANA timezone name (e.g. 'Asia/Shanghai'), or 'UTC' for standard 'Z' output
|
|
51
|
+
*/
|
|
52
|
+
function buildTimezoneTimeFn(timeZone) {
|
|
53
|
+
// UTC fast path: standard ISO 'Z' suffix, identical to pino's stdTimeFunctions.isoTime
|
|
54
|
+
if (timeZone === 'UTC') {
|
|
55
|
+
return function utcTime() {
|
|
56
|
+
return `,"time":"${new Date().toISOString()}"`;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
const dtf = new Intl.DateTimeFormat('en-US', {
|
|
60
|
+
timeZone,
|
|
61
|
+
hour12: false,
|
|
62
|
+
year: 'numeric', month: '2-digit', day: '2-digit',
|
|
63
|
+
hour: '2-digit', minute: '2-digit', second: '2-digit',
|
|
64
|
+
timeZoneName: 'longOffset',
|
|
65
|
+
});
|
|
66
|
+
return function timezoneTime() {
|
|
67
|
+
const now = new Date();
|
|
68
|
+
const parts = {};
|
|
69
|
+
for (const p of dtf.formatToParts(now))
|
|
70
|
+
parts[p.type] = p.value;
|
|
71
|
+
const ms = String(now.getMilliseconds()).padStart(3, '0');
|
|
72
|
+
// longOffset yields 'GMT+08:00' (or plain 'GMT' for UTC)
|
|
73
|
+
const raw = parts.timeZoneName || 'GMT';
|
|
74
|
+
const offset = raw === 'GMT' ? '+00:00' : raw.replace('GMT', '');
|
|
75
|
+
// Some engines emit '24' for midnight hour; normalize to '00'
|
|
76
|
+
const hour = parts.hour === '24' ? '00' : parts.hour;
|
|
77
|
+
return `,"time":"${parts.year}-${parts.month}-${parts.day}T${hour}:${parts.minute}:${parts.second}.${ms}${offset}"`;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Build pino transport target list
|
|
82
|
+
*
|
|
83
|
+
* At minimum includes one pino-roll file output target;
|
|
84
|
+
* in development environment, additionally adds pino-pretty terminal output target.
|
|
85
|
+
*
|
|
86
|
+
* @param logDir - Log directory
|
|
87
|
+
* @param logFileBase - Log file base name (without extension)
|
|
88
|
+
* @param logFileExt - Log file extension
|
|
89
|
+
* @param level - Log level
|
|
90
|
+
* @param prettyPrint - Whether to enable terminal colorized output
|
|
91
|
+
* @param frequency - Rotation frequency (daily/hourly)
|
|
92
|
+
* @param maxSize - Maximum single file size
|
|
93
|
+
* @param dateFormat - File name date format
|
|
94
|
+
*/
|
|
22
95
|
function buildTransportTargets(logDir, logFileBase, logFileExt, level, prettyPrint, frequency, maxSize, dateFormat) {
|
|
23
96
|
const targets = [];
|
|
97
|
+
// File output target: uses pino-roll for log rotation
|
|
24
98
|
targets.push({
|
|
25
99
|
target: 'pino-roll',
|
|
26
100
|
level,
|
|
@@ -33,24 +107,37 @@ function buildTransportTargets(logDir, logFileBase, logFileExt, level, prettyPri
|
|
|
33
107
|
mkdir: true,
|
|
34
108
|
},
|
|
35
109
|
});
|
|
110
|
+
// Development environment: terminal colorized output
|
|
36
111
|
if (prettyPrint) {
|
|
37
112
|
targets.push({
|
|
38
113
|
target: 'pino-pretty',
|
|
39
114
|
level,
|
|
40
115
|
options: {
|
|
41
116
|
colorize: true,
|
|
42
|
-
translateTime: 'SYS:yyyy-
|
|
117
|
+
translateTime: 'SYS:yyyy-mm-dd HH:MM:ss',
|
|
43
118
|
ignore: 'pid,hostname',
|
|
44
119
|
},
|
|
45
120
|
});
|
|
46
121
|
}
|
|
47
122
|
return targets;
|
|
48
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* Parse log file name, separating base name and extension
|
|
126
|
+
*
|
|
127
|
+
* @param fileName - Log file name (e.g., 'ee.log')
|
|
128
|
+
* @returns { base: base name, ext: extension }
|
|
129
|
+
*/
|
|
49
130
|
function parseLogFileName(fileName) {
|
|
50
131
|
const ext = path_1.default.extname(fileName);
|
|
51
132
|
const base = path_1.default.basename(fileName, ext);
|
|
52
133
|
return { base, ext: ext || '.log' };
|
|
53
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Map the rotator value from config to pino-roll supported frequency
|
|
137
|
+
*
|
|
138
|
+
* @param rotator - Rotation strategy config value
|
|
139
|
+
* @returns 'daily' or 'hourly'
|
|
140
|
+
*/
|
|
54
141
|
function mapRotatorToFrequency(rotator) {
|
|
55
142
|
if (rotator === 'day' || rotator === 'daily')
|
|
56
143
|
return 'daily';
|
|
@@ -58,19 +145,44 @@ function mapRotatorToFrequency(rotator) {
|
|
|
58
145
|
return 'hourly';
|
|
59
146
|
return 'daily';
|
|
60
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Create a single pino log instance
|
|
150
|
+
*
|
|
151
|
+
* @param opts - pino LoggerOptions
|
|
152
|
+
* @param logDir - Log directory
|
|
153
|
+
* @param logFileBase - Log file base name
|
|
154
|
+
* @param logFileExt - Log file extension
|
|
155
|
+
* @param level - Log level
|
|
156
|
+
* @param prettyPrint - Whether to enable colorized output
|
|
157
|
+
* @param frequency - Rotation frequency
|
|
158
|
+
* @param maxSize - Maximum single file size
|
|
159
|
+
* @param dateFormat - File name date format
|
|
160
|
+
* @returns pino Logger instance
|
|
161
|
+
*/
|
|
61
162
|
function createLoggerInstance(opts, logDir, logFileBase, logFileExt, level, prettyPrint, frequency, maxSize, dateFormat) {
|
|
62
163
|
const targets = buildTransportTargets(logDir, logFileBase, logFileExt, level, prettyPrint, frequency, maxSize, dateFormat);
|
|
63
164
|
const transport = pino_1.default.transport({ targets });
|
|
64
165
|
return (0, pino_1.default)(opts, transport);
|
|
65
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Create three log instances (logger / coreLogger / errorLogger)
|
|
169
|
+
*
|
|
170
|
+
* Merges default configuration and user configuration, creating independent pino instances for each log file.
|
|
171
|
+
* errorLogger level is fixed to error; others use the configured level.
|
|
172
|
+
*
|
|
173
|
+
* @param config - Custom log configuration (optional, overrides system configuration)
|
|
174
|
+
* @returns PinoLoggers object containing three log instances
|
|
175
|
+
*/
|
|
66
176
|
function create(config = {}) {
|
|
67
177
|
const defaults = (0, default_config_js_1.default)().logger;
|
|
68
178
|
let loggerConf;
|
|
69
179
|
if (Object.keys(config).length === 0) {
|
|
180
|
+
// No custom configuration: use system configuration to override defaults
|
|
70
181
|
const sysConfig = (0, index_js_1.getConfig)();
|
|
71
182
|
loggerConf = (0, extend_js_1.extend)(true, { ...defaults }, sysConfig.logger);
|
|
72
183
|
}
|
|
73
184
|
else {
|
|
185
|
+
// Has custom configuration: use custom configuration to override defaults
|
|
74
186
|
loggerConf = (0, extend_js_1.extend)(true, { ...defaults }, config);
|
|
75
187
|
}
|
|
76
188
|
const logDir = loggerConf.dir || (0, index_js_2.getLogDir)();
|
|
@@ -83,6 +195,10 @@ function create(config = {}) {
|
|
|
83
195
|
const redactCensor = loggerConf.redactCensor || '[Redacted]';
|
|
84
196
|
const name = loggerConf.name || 'ee';
|
|
85
197
|
const timestamp = loggerConf.timestamp ?? true;
|
|
198
|
+
// Default 'UTC' keeps file logs machine-readable (standard ISO 'Z'); set an IANA zone
|
|
199
|
+
// (e.g. 'Asia/Shanghai') to emit wall-clock time with offset instead.
|
|
200
|
+
const timezone = loggerConf.timezone || 'UTC';
|
|
201
|
+
// Unify maxSize to string format supported by pino-roll (e.g., '10m')
|
|
86
202
|
const maxSize = typeof loggerConf.maxSize === 'number'
|
|
87
203
|
? `${loggerConf.maxSize / 1024 / 1024}m`
|
|
88
204
|
: loggerConf.maxSize || '10m';
|
|
@@ -93,10 +209,11 @@ function create(config = {}) {
|
|
|
93
209
|
const depthLimit = loggerConf.depthLimit ?? 5;
|
|
94
210
|
const safe = loggerConf.safe ?? true;
|
|
95
211
|
const enabled = loggerConf.enabled ?? true;
|
|
212
|
+
// Build pino base configuration
|
|
96
213
|
const baseOpts = {
|
|
97
214
|
level,
|
|
98
215
|
name,
|
|
99
|
-
timestamp: timestamp ?
|
|
216
|
+
timestamp: timestamp ? buildTimezoneTimeFn(timezone) : false,
|
|
100
217
|
depthLimit,
|
|
101
218
|
safe,
|
|
102
219
|
enabled,
|
|
@@ -110,11 +227,14 @@ function create(config = {}) {
|
|
|
110
227
|
if (redact.length > 0) {
|
|
111
228
|
baseOpts.redact = { paths: redact, censor: redactCensor };
|
|
112
229
|
}
|
|
230
|
+
// Parse log file names
|
|
113
231
|
const appParsed = parseLogFileName(appLogName);
|
|
114
232
|
const coreParsed = parseLogFileName(coreLogName);
|
|
115
233
|
const errorParsed = parseLogFileName(errorLogName);
|
|
234
|
+
// Create three independent log instances
|
|
116
235
|
const loggerInstance = createLoggerInstance(baseOpts, logDir, appParsed.base, appParsed.ext, level, prettyPrint, frequency, maxSize, dateFormat);
|
|
117
236
|
const coreLoggerInstance = createLoggerInstance({ ...baseOpts, name: `${name}-core` }, logDir, coreParsed.base, coreParsed.ext, level, prettyPrint, frequency, maxSize, dateFormat);
|
|
237
|
+
// errorLogger is fixed to error level
|
|
118
238
|
const errorLoggerInstance = createLoggerInstance({ ...baseOpts, level: 'error', name: `${name}-error` }, logDir, errorParsed.base, errorParsed.ext, 'error', prettyPrint, frequency, maxSize, dateFormat);
|
|
119
239
|
debugLog('[create] level: %s, dir: %s, frequency: %s', level, logDir, frequency);
|
|
120
240
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/log/logger.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/log/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChildMessage - Child process message communication class
|
|
3
|
+
*
|
|
4
|
+
* Encapsulates methods for child processes to send messages to the main process,
|
|
5
|
+
* distinguishing different receiver types (ChildJob / ForkProcess),
|
|
6
|
+
* and provides error information forwarding capability.
|
|
7
|
+
*
|
|
8
|
+
* This class runs in the child process environment, relies on process.send() for communication,
|
|
9
|
+
* and returns false if the current process does not support process.send (non-forked process).
|
|
10
|
+
*/
|
|
1
11
|
export declare class ChildMessage {
|
|
12
|
+
/**
|
|
13
|
+
* Send a message to the ChildJob instance in the main process
|
|
14
|
+
*
|
|
15
|
+
* Uses Receiver.childJob as the receiver type. After the main process receives the message,
|
|
16
|
+
* it routes the event to the corresponding ChildJob handler.
|
|
17
|
+
*
|
|
18
|
+
* @param eventName - Event name, the main process dispatches to the corresponding handler based on this
|
|
19
|
+
* @param params - Event parameters, defaults to an empty object
|
|
20
|
+
* @returns Returns true if sent successfully, false if the current process does not support process.send
|
|
21
|
+
*/
|
|
2
22
|
sendToMain(eventName: string, params?: Record<string, unknown>): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Send a message to the main process (generic method)
|
|
25
|
+
*
|
|
26
|
+
* Constructs a message object conforming to the framework's IPC protocol and sends it to the main process via process.send().
|
|
27
|
+
* If no receiver is specified, defaults to Receiver.forkProcess (generic task process).
|
|
28
|
+
*
|
|
29
|
+
* @param eventName - Event name
|
|
30
|
+
* @param params - Event parameters, defaults to an empty object
|
|
31
|
+
* @param receiver - Receiver type, defaults to Receiver.forkProcess
|
|
32
|
+
* - 'job': ChildJob-type child process
|
|
33
|
+
* - 'task': Fork process (generic task)
|
|
34
|
+
* @returns Returns true if sent successfully, false if the current process does not support process.send
|
|
35
|
+
*/
|
|
3
36
|
send(eventName: string, params?: Record<string, unknown>, receiver?: string): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Exit the current child process
|
|
39
|
+
*
|
|
40
|
+
* @param code - Exit code, defaults to 0 (normal exit)
|
|
41
|
+
* @throws Never returns (process.exit terminates the process)
|
|
42
|
+
*/
|
|
4
43
|
exit(code?: number): never;
|
|
44
|
+
/**
|
|
45
|
+
* Send error information to the main process and display an exception dialog in the renderer process
|
|
46
|
+
*
|
|
47
|
+
* Sends via the Processes.showException channel. After the main process receives it,
|
|
48
|
+
* it forwards it to the renderer process via IPC, which displays a dialog with the error information.
|
|
49
|
+
* The error message includes a tip guiding the user to check the log file for details.
|
|
50
|
+
*
|
|
51
|
+
* @param err - Error object
|
|
52
|
+
* @returns Returns true if sent successfully, false if the current process does not support process.send
|
|
53
|
+
*/
|
|
5
54
|
sendErrorToTerminal(err: Error): boolean;
|
|
6
55
|
}
|
|
56
|
+
/** Child process message communication singleton, for direct use by child process code */
|
|
7
57
|
export declare const childMessage: ChildMessage;
|
|
8
58
|
//# sourceMappingURL=childMessage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"childMessage.d.ts","sourceRoot":"","sources":["../../../src/message/childMessage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"childMessage.d.ts","sourceRoot":"","sources":["../../../src/message/childMessage.ts"],"names":[],"mappings":"AAkCA;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACvB;;;;;;;;;OASG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO;IAK5E;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAYzF;;;;;OAKG;IACH,IAAI,CAAC,IAAI,SAAI,GAAG,KAAK;IAIrB;;;;;;;;;OASG;IACH,mBAAmB,CAAC,GAAG,EAAE,KAAK,GAAG,OAAO;CAUzC;AAED,0FAA0F;AAC1F,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|
|
@@ -1,14 +1,77 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.childMessage = exports.ChildMessage = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module message/childMessage
|
|
6
|
+
* @description Child process message communication module. Provides the ability for child processes
|
|
7
|
+
* (created via child_process.fork) to send messages to the main process, serving as the core
|
|
8
|
+
* implementation of the framework's IPC communication mechanism on the child process side.
|
|
9
|
+
*
|
|
10
|
+
* Child processes cannot directly access Electron's ipcRenderer/ipcMain,
|
|
11
|
+
* so they communicate with the main process via Node.js built-in process.send() method.
|
|
12
|
+
* The main process receives and dispatches these messages by listening to the child process's message event.
|
|
13
|
+
*
|
|
14
|
+
* Message format follows the framework's unified IPC protocol:
|
|
15
|
+
* ```
|
|
16
|
+
* {
|
|
17
|
+
* channel: string, // Communication channel, e.g. 'ee#sendToMain'
|
|
18
|
+
* eventReceiver: string, // Receiver type, e.g. 'job' / 'task'
|
|
19
|
+
* event: string, // Event name
|
|
20
|
+
* data: object // Event data
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* Usage examples:
|
|
25
|
+
* ```ts
|
|
26
|
+
* // Send a message to the ChildJob instance in the main process from a child process
|
|
27
|
+
* childMessage.sendToMain('taskComplete', { result: 42 });
|
|
28
|
+
*
|
|
29
|
+
* // Send a message to the Fork process instance in the main process from a child process
|
|
30
|
+
* childMessage.send('dataReady', { items: [...] });
|
|
31
|
+
*
|
|
32
|
+
* // Send error information to the terminal
|
|
33
|
+
* childMessage.sendErrorToTerminal(new Error('Something went wrong'));
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
4
36
|
const channel_js_1 = require("../const/channel.js");
|
|
37
|
+
/**
|
|
38
|
+
* ChildMessage - Child process message communication class
|
|
39
|
+
*
|
|
40
|
+
* Encapsulates methods for child processes to send messages to the main process,
|
|
41
|
+
* distinguishing different receiver types (ChildJob / ForkProcess),
|
|
42
|
+
* and provides error information forwarding capability.
|
|
43
|
+
*
|
|
44
|
+
* This class runs in the child process environment, relies on process.send() for communication,
|
|
45
|
+
* and returns false if the current process does not support process.send (non-forked process).
|
|
46
|
+
*/
|
|
5
47
|
class ChildMessage {
|
|
6
|
-
|
|
48
|
+
/**
|
|
49
|
+
* Send a message to the ChildJob instance in the main process
|
|
50
|
+
*
|
|
51
|
+
* Uses Receiver.childJob as the receiver type. After the main process receives the message,
|
|
52
|
+
* it routes the event to the corresponding ChildJob handler.
|
|
53
|
+
*
|
|
54
|
+
* @param eventName - Event name, the main process dispatches to the corresponding handler based on this
|
|
55
|
+
* @param params - Event parameters, defaults to an empty object
|
|
56
|
+
* @returns Returns true if sent successfully, false if the current process does not support process.send
|
|
57
|
+
*/
|
|
7
58
|
sendToMain(eventName, params = {}) {
|
|
8
59
|
const receiver = channel_js_1.Receiver.childJob;
|
|
9
60
|
return this.send(eventName, params, receiver);
|
|
10
61
|
}
|
|
11
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Send a message to the main process (generic method)
|
|
64
|
+
*
|
|
65
|
+
* Constructs a message object conforming to the framework's IPC protocol and sends it to the main process via process.send().
|
|
66
|
+
* If no receiver is specified, defaults to Receiver.forkProcess (generic task process).
|
|
67
|
+
*
|
|
68
|
+
* @param eventName - Event name
|
|
69
|
+
* @param params - Event parameters, defaults to an empty object
|
|
70
|
+
* @param receiver - Receiver type, defaults to Receiver.forkProcess
|
|
71
|
+
* - 'job': ChildJob-type child process
|
|
72
|
+
* - 'task': Fork process (generic task)
|
|
73
|
+
* @returns Returns true if sent successfully, false if the current process does not support process.send
|
|
74
|
+
*/
|
|
12
75
|
send(eventName, params = {}, receiver) {
|
|
13
76
|
const eventReceiver = receiver || channel_js_1.Receiver.forkProcess;
|
|
14
77
|
const message = {
|
|
@@ -19,11 +82,28 @@ class ChildMessage {
|
|
|
19
82
|
};
|
|
20
83
|
return process.send ? process.send(message) : false;
|
|
21
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Exit the current child process
|
|
87
|
+
*
|
|
88
|
+
* @param code - Exit code, defaults to 0 (normal exit)
|
|
89
|
+
* @throws Never returns (process.exit terminates the process)
|
|
90
|
+
*/
|
|
22
91
|
exit(code = 0) {
|
|
23
92
|
return process.exit(code);
|
|
24
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Send error information to the main process and display an exception dialog in the renderer process
|
|
96
|
+
*
|
|
97
|
+
* Sends via the Processes.showException channel. After the main process receives it,
|
|
98
|
+
* it forwards it to the renderer process via IPC, which displays a dialog with the error information.
|
|
99
|
+
* The error message includes a tip guiding the user to check the log file for details.
|
|
100
|
+
*
|
|
101
|
+
* @param err - Error object
|
|
102
|
+
* @returns Returns true if sent successfully, false if the current process does not support process.send
|
|
103
|
+
*/
|
|
25
104
|
sendErrorToTerminal(err) {
|
|
26
105
|
let errTips = err && typeof err === 'object' ? err.toString() : '';
|
|
106
|
+
// Append a tip guiding the user to check the log file for the full error stack
|
|
27
107
|
errTips += ' Error !!! Please See file ee-core.log or ee-error-xxx.log for details !';
|
|
28
108
|
const message = {
|
|
29
109
|
channel: channel_js_1.Processes.showException,
|
|
@@ -33,5 +113,6 @@ class ChildMessage {
|
|
|
33
113
|
}
|
|
34
114
|
}
|
|
35
115
|
exports.ChildMessage = ChildMessage;
|
|
116
|
+
/** Child process message communication singleton, for direct use by child process code */
|
|
36
117
|
exports.childMessage = new ChildMessage();
|
|
37
118
|
//# sourceMappingURL=childMessage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"childMessage.js","sourceRoot":"","sources":["../../../src/message/childMessage.ts"],"names":[],"mappings":";;;AAAA,oDAA0D;AAE1D,MAAa,YAAY;IACvB
|
|
1
|
+
{"version":3,"file":"childMessage.js","sourceRoot":"","sources":["../../../src/message/childMessage.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,oDAA0D;AAE1D;;;;;;;;;GASG;AACH,MAAa,YAAY;IACvB;;;;;;;;;OASG;IACH,UAAU,CAAC,SAAiB,EAAE,SAAkC,EAAE;QAChE,MAAM,QAAQ,GAAG,qBAAQ,CAAC,QAAQ,CAAC;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,SAAiB,EAAE,SAAkC,EAAE,EAAE,QAAiB;QAC7E,MAAM,aAAa,GAAG,QAAQ,IAAI,qBAAQ,CAAC,WAAW,CAAC;QACvD,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,sBAAS,CAAC,UAAU;YAC7B,aAAa;YACb,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,MAAM;SACb,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,IAAI,GAAG,CAAC;QACX,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,GAAU;QAC5B,IAAI,OAAO,GAAG,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,+EAA+E;QAC/E,OAAO,IAAI,0EAA0E,CAAC;QACtF,MAAM,OAAO,GAAG;YACd,OAAO,EAAE,sBAAS,CAAC,aAAa;YAChC,IAAI,EAAE,OAAO;SACd,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;CACF;AAvED,oCAuEC;AAED,0FAA0F;AAC7E,QAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
|