ee-core 5.0.0-beta.2 → 5.0.0-beta.5
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/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 +78 -27
- package/dist/cjs/core/loader/file_loader.d.ts.map +1 -1
- package/dist/cjs/core/loader/file_loader.js +194 -68
- 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 +78 -27
- package/dist/esm/core/loader/file_loader.d.ts.map +1 -1
- package/dist/esm/core/loader/file_loader.js +194 -68
- 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 +13 -13
|
@@ -1,156 +1,524 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module types
|
|
3
|
+
* @description Framework core type definitions. Centralizes all public interface and configuration
|
|
4
|
+
* types for ee-core, referenced by framework modules and business code to ensure type safety
|
|
5
|
+
* and interface consistency.
|
|
6
|
+
*
|
|
7
|
+
* Includes:
|
|
8
|
+
* - ElectronEggOptions: framework startup parameters
|
|
9
|
+
* - Config series: runtime configuration (main service, Socket, HTTP, logging, exception, jobs, cross-process)
|
|
10
|
+
* - JobChildOptions: child process job parameters
|
|
11
|
+
* - FileLoaderOptions: file loader configuration
|
|
12
|
+
* - AppInfo: application metadata
|
|
13
|
+
* - MessageData: IPC message structure
|
|
14
|
+
* - TimingItem: performance timing entry
|
|
15
|
+
* - RegistryEntry: bundle mode registry entry
|
|
16
|
+
*/
|
|
1
17
|
import type { BrowserWindowConstructorOptions, OpenDevToolsOptions } from 'electron';
|
|
18
|
+
/**
|
|
19
|
+
* ElectronEgg startup options
|
|
20
|
+
*
|
|
21
|
+
* Constructed by the boot module during framework initialization, containing basic information
|
|
22
|
+
* about the application runtime environment. These values, once determined, do not change
|
|
23
|
+
* throughout the application lifecycle.
|
|
24
|
+
*/
|
|
2
25
|
export interface ElectronEggOptions {
|
|
26
|
+
/** Runtime environment identifier, e.g. 'dev', 'prod', 'test' */
|
|
3
27
|
env: string;
|
|
28
|
+
/** Project root directory (where package.json is located) */
|
|
4
29
|
baseDir: string;
|
|
30
|
+
/** Electron main process source directory (e.g. electron/) */
|
|
5
31
|
electronDir: string;
|
|
32
|
+
/** Application name, taken from the name field in package.json */
|
|
6
33
|
appName: string;
|
|
34
|
+
/** User home directory (os.homedir()) */
|
|
7
35
|
userHome: string;
|
|
36
|
+
/** System-level application data directory (macOS: ~/Library/Application Support, Windows: %APPDATA%) */
|
|
8
37
|
appData: string;
|
|
38
|
+
/** Electron user data directory (appData/appName) */
|
|
9
39
|
appUserData: string;
|
|
40
|
+
/** Application version, taken from the version field in package.json */
|
|
10
41
|
appVersion: string;
|
|
42
|
+
/** Whether packaged as an installer (app.isPackaged) */
|
|
11
43
|
isPackaged: boolean;
|
|
44
|
+
/** Executable directory (after packaging: exe path; during development: node_modules/electron path) */
|
|
12
45
|
execDir: string;
|
|
13
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Remote service configuration
|
|
49
|
+
*
|
|
50
|
+
* Used to configure remote debugging or remote control service addresses.
|
|
51
|
+
* When enabled, the main process can connect to the remote service via WebSocket.
|
|
52
|
+
*/
|
|
14
53
|
export interface RemoteConfig {
|
|
54
|
+
/** Whether to enable remote service */
|
|
15
55
|
enable: boolean;
|
|
56
|
+
/** Remote service address (e.g. ws://remote-host:port) */
|
|
16
57
|
url: string;
|
|
17
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* Main window service configuration
|
|
61
|
+
*
|
|
62
|
+
* Defines how the main window loads content (local file or remote URL) and loading behavior.
|
|
63
|
+
*/
|
|
18
64
|
export interface MainServerConfig {
|
|
65
|
+
/** Protocol type: 'file://' loads local file, 'http://'/'https://' loads remote page */
|
|
19
66
|
protocol: string;
|
|
67
|
+
/** Entry file path (HTML file path for file protocol, URL path for http protocol) */
|
|
20
68
|
indexPath: string;
|
|
69
|
+
/** Extra options passed to protocol.handle or loadURL */
|
|
21
70
|
options?: Record<string, unknown>;
|
|
71
|
+
/** Loading strategy: 'start' (load on startup) or 'ready' (load after app ready), default 'start' */
|
|
22
72
|
takeover?: string;
|
|
73
|
+
/** Preload page path. Displayed before the main page loads, used for splash screens */
|
|
23
74
|
loadingPage?: string;
|
|
75
|
+
/** IPC channel separator, default '/'. E.g. '/' in 'controller/user/info' */
|
|
24
76
|
channelSeparator?: string;
|
|
25
77
|
}
|
|
78
|
+
/**
|
|
79
|
+
* Socket.IO service configuration
|
|
80
|
+
*
|
|
81
|
+
* Defines WebSocket communication parameters between main process and renderer process.
|
|
82
|
+
* Implemented with socket.io, supporting both polling and WebSocket transports.
|
|
83
|
+
*/
|
|
26
84
|
export interface SocketServerConfig {
|
|
85
|
+
/** Whether to enable Socket service */
|
|
27
86
|
enable: boolean;
|
|
87
|
+
/** Socket service listening port */
|
|
28
88
|
port: number;
|
|
89
|
+
/** Socket.IO path (default /socket.io) */
|
|
29
90
|
path: string;
|
|
91
|
+
/** Connection timeout (ms), disconnect after timeout */
|
|
30
92
|
connectTimeout: number;
|
|
93
|
+
/** Heartbeat timeout (ms), disconnect if no pong received */
|
|
31
94
|
pingTimeout: number;
|
|
95
|
+
/** Heartbeat send interval (ms) */
|
|
32
96
|
pingInterval: number;
|
|
97
|
+
/** Maximum bytes per HTTP message body, prevents oversized messages causing memory issues */
|
|
33
98
|
maxHttpBufferSize: number;
|
|
99
|
+
/** Transport list, supports 'polling' (long polling) and 'websocket' */
|
|
34
100
|
transports: ('polling' | 'websocket')[];
|
|
101
|
+
/** CORS configuration, follows socket.io CORS rules */
|
|
35
102
|
cors: {
|
|
36
103
|
origin: boolean | string | RegExp | string[] | ((origin: string | undefined, callback: (err: Error | null, allow?: boolean) => void) => void);
|
|
37
104
|
};
|
|
105
|
+
/** Custom communication channel name, used to distinguish different socket communication groups */
|
|
38
106
|
channel: string;
|
|
39
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* HTTPS certificate configuration
|
|
110
|
+
*
|
|
111
|
+
* Provides SSL/TLS certificates for HTTP service, enabling HTTPS support.
|
|
112
|
+
*/
|
|
40
113
|
export interface HttpsConfig {
|
|
114
|
+
/** Whether to enable HTTPS */
|
|
41
115
|
enable: boolean;
|
|
116
|
+
/** SSL private key file path */
|
|
42
117
|
key: string;
|
|
118
|
+
/** SSL certificate file path */
|
|
43
119
|
cert: string;
|
|
44
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* HTTP service configuration
|
|
123
|
+
*
|
|
124
|
+
* Defines parameters for the built-in Koa HTTP service, providing RESTful API interfaces.
|
|
125
|
+
* Primarily used for renderer process to communicate with main process via HTTP.
|
|
126
|
+
*/
|
|
45
127
|
export interface HttpServerConfig {
|
|
128
|
+
/** Whether to enable HTTP service */
|
|
46
129
|
enable: boolean;
|
|
130
|
+
/** HTTPS certificate configuration */
|
|
47
131
|
https: HttpsConfig;
|
|
132
|
+
/** Protocol type: 'http' or 'https' */
|
|
48
133
|
protocol: string;
|
|
134
|
+
/** Listening host address, default '127.0.0.1' (local access only) */
|
|
49
135
|
host: string;
|
|
136
|
+
/** Listening port */
|
|
50
137
|
port: number;
|
|
138
|
+
/** CORS configuration */
|
|
51
139
|
cors: {
|
|
140
|
+
/** Allowed origins, e.g. '*' or specific domain */
|
|
52
141
|
origin: string;
|
|
53
142
|
};
|
|
143
|
+
/** Request body parsing configuration */
|
|
54
144
|
body: {
|
|
145
|
+
/** Whether to support multipart/form-data (file upload) */
|
|
55
146
|
multipart: boolean;
|
|
147
|
+
/** formidable file upload handling configuration */
|
|
56
148
|
formidable: {
|
|
149
|
+
/** Whether to keep original file extensions for uploaded files */
|
|
57
150
|
keepExtensions: boolean;
|
|
58
151
|
};
|
|
59
152
|
};
|
|
153
|
+
/** Request filter configuration, returns fixed data for matched URIs (used to block or intercept specific requests) */
|
|
60
154
|
filterRequest: {
|
|
155
|
+
/** List of URIs to filter */
|
|
61
156
|
uris: string[];
|
|
157
|
+
/** Data to return for filtered URIs */
|
|
62
158
|
returnData: string;
|
|
63
159
|
};
|
|
160
|
+
/** Koa middleware extension configuration */
|
|
161
|
+
koaConfig?: KoaConfig;
|
|
64
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Koa middleware configuration
|
|
165
|
+
*
|
|
166
|
+
* Allows business code to insert custom logic into the Koa HTTP service middleware chain.
|
|
167
|
+
*/
|
|
168
|
+
export interface KoaConfig {
|
|
169
|
+
/** Pre-middleware list, executed before route handling (e.g. auth, logging) */
|
|
170
|
+
preMiddleware?: ((...args: unknown[]) => unknown)[];
|
|
171
|
+
/** Post-middleware list, executed after route handling (e.g. error wrapping, response formatting) */
|
|
172
|
+
postMiddleware?: ((...args: unknown[]) => unknown)[];
|
|
173
|
+
/** Custom error handler, replaces framework's default Koa error handling logic */
|
|
174
|
+
errorHandler?: ((err: Error) => void) | null;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Logger configuration
|
|
178
|
+
*
|
|
179
|
+
* Complete configuration for the Pino logging library. The framework has three built-in log instances:
|
|
180
|
+
* - appLogName: application log, records business output
|
|
181
|
+
* - coreLogName: core log, records framework internal operations
|
|
182
|
+
* - errorLogName: error log, only records error/fatal
|
|
183
|
+
*/
|
|
65
184
|
export interface LoggerConfig {
|
|
66
|
-
|
|
67
|
-
|
|
185
|
+
/** Log file storage directory, defaults to appUserData/logs if not set */
|
|
186
|
+
dir?: string;
|
|
187
|
+
/** Minimum log level, logs below this level will be ignored */
|
|
188
|
+
level: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal' | string;
|
|
189
|
+
/** Whether to enable pino-pretty output (recommended for development only) */
|
|
68
190
|
prettyPrint?: boolean;
|
|
191
|
+
/** Timestamp date format (e.g. 'yyyy-MM-dd hh:mm:ss') */
|
|
69
192
|
dateFormat?: string;
|
|
193
|
+
/** Application log filename (e.g. app.log) */
|
|
70
194
|
appLogName: string;
|
|
195
|
+
/** Core log filename (e.g. core.log) */
|
|
71
196
|
coreLogName: string;
|
|
197
|
+
/** Error log filename (e.g. error.log) */
|
|
72
198
|
errorLogName: string;
|
|
73
|
-
|
|
199
|
+
/** Log rotation period: 'daily' (every day) or 'hourly' (every hour) */
|
|
200
|
+
rotator: 'daily' | 'hourly' | string;
|
|
201
|
+
/** Field paths to redact (Pino redact feature, e.g. ['password', 'token']) */
|
|
74
202
|
redact?: string[];
|
|
75
|
-
|
|
203
|
+
/** Redaction replacement value, can be a fixed string or custom replacement function */
|
|
204
|
+
redactCensor?: string | ((value: unknown, path: string[]) => unknown);
|
|
205
|
+
/** Whether logs include timestamps, default true */
|
|
76
206
|
timestamp?: boolean;
|
|
207
|
+
/** IANA timezone for log timestamps (file JSON logs), default 'UTC'. Set e.g. 'Asia/Shanghai' to emit local time with offset */
|
|
208
|
+
timezone?: string;
|
|
209
|
+
/** Logger name, displayed in log entries */
|
|
77
210
|
name?: string;
|
|
211
|
+
/** Maximum size of a single log file, auto-rotates when exceeded (e.g. '10m' for 10MB) */
|
|
78
212
|
maxSize?: number | string;
|
|
213
|
+
/** Custom serializers for formatting specific value types (e.g. err, req, res) */
|
|
79
214
|
serializers?: Record<string, (value: unknown) => unknown>;
|
|
215
|
+
/** Custom log level mapping (e.g. { verbose: 30 }) */
|
|
80
216
|
customLevels?: Record<string, number>;
|
|
217
|
+
/** Object serialization depth limit, prevents circular references or oversized objects from causing performance issues */
|
|
81
218
|
depthLimit?: number;
|
|
219
|
+
/** Safe mode: when log write fails, no exception is thrown but silently handled */
|
|
82
220
|
safe?: boolean;
|
|
221
|
+
/** Whether to enable logging, false disables all log output */
|
|
83
222
|
enabled?: boolean;
|
|
84
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Exception handling configuration
|
|
226
|
+
*
|
|
227
|
+
* Defines handling strategies when processes exit abnormally.
|
|
228
|
+
* Exit behavior: true means process exits, false means only log.
|
|
229
|
+
*/
|
|
85
230
|
export interface ExceptionConfig {
|
|
231
|
+
/** Whether main process exception exits the application. true: exit on main process crash, false: only log error */
|
|
86
232
|
mainExit: boolean;
|
|
233
|
+
/** Whether child process (Job) abnormal exit terminates the main process */
|
|
87
234
|
childExit: boolean;
|
|
235
|
+
/** Handling strategy for renderer process abnormal exit */
|
|
88
236
|
rendererExit: boolean;
|
|
89
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Background job (Job) configuration
|
|
240
|
+
*
|
|
241
|
+
* Controls global behavior of child process jobs.
|
|
242
|
+
*/
|
|
90
243
|
export interface JobsConfig {
|
|
244
|
+
/** Whether to log child process communication messages. When true, all IPC messages are logged for debugging */
|
|
91
245
|
messageLog: boolean;
|
|
92
246
|
}
|
|
247
|
+
/**
|
|
248
|
+
* Cross-process target configuration
|
|
249
|
+
*
|
|
250
|
+
* Defines startup parameters and communication methods for an external process.
|
|
251
|
+
* Supports child process fork, Go/Python backend process startup, and other scenarios.
|
|
252
|
+
*/
|
|
253
|
+
export interface CrossTargetConfig {
|
|
254
|
+
/** Target process name identifier (e.g. 'go', 'python') */
|
|
255
|
+
name: string;
|
|
256
|
+
/** Whether to enable this cross-process target */
|
|
257
|
+
enable?: boolean;
|
|
258
|
+
/** Command line arguments passed to the child process */
|
|
259
|
+
args?: string[];
|
|
260
|
+
/** Startup command (e.g. 'go', 'python3'), empty means use script for direct fork */
|
|
261
|
+
cmd?: string;
|
|
262
|
+
/** Child process working directory, defaults to project root directory */
|
|
263
|
+
directory?: string;
|
|
264
|
+
/** Whether to automatically add .exe extension on Windows */
|
|
265
|
+
windowsExtname?: boolean;
|
|
266
|
+
/** Child process stdio configuration (same as child_process.fork stdio option) */
|
|
267
|
+
stdio?: ('pipe' | 'ignore' | 'inherit' | 'ipc')[];
|
|
268
|
+
/** Whether to exit the main application when the child process exits */
|
|
269
|
+
appExit?: boolean;
|
|
270
|
+
/** Child process listening port (Go/Python HTTP service port) */
|
|
271
|
+
port?: number;
|
|
272
|
+
/** Child process service URL (e.g. http://localhost:port) */
|
|
273
|
+
url?: string;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Cross-process configuration collection
|
|
277
|
+
*
|
|
278
|
+
* Key names are target process identifiers, values are startup parameters for each process.
|
|
279
|
+
* Supports configuring multiple external processes simultaneously (Go, Python, custom child processes, etc.).
|
|
280
|
+
*/
|
|
93
281
|
export interface CrossConfig {
|
|
94
|
-
|
|
282
|
+
/** Dynamic key names corresponding to each cross-process target configuration */
|
|
283
|
+
[key: string]: CrossTargetConfig;
|
|
95
284
|
}
|
|
285
|
+
/**
|
|
286
|
+
* Framework main configuration interface
|
|
287
|
+
*
|
|
288
|
+
* Integrates all sub-module configurations, serves as the type definition for the object
|
|
289
|
+
* exported by config.default.js. Loaded and merged by ConfigLoader at runtime, then
|
|
290
|
+
* provided to each module.
|
|
291
|
+
*/
|
|
96
292
|
export interface Config {
|
|
293
|
+
/** Dynamic properties, allows user-defined configuration items */
|
|
97
294
|
[key: string]: unknown;
|
|
295
|
+
/** DevTools configuration: true opens DevTools, false closes, or pass OpenDevToolsOptions for fine control */
|
|
98
296
|
openDevTools: boolean | OpenDevToolsOptions;
|
|
297
|
+
/** Single instance lock: true allows only one application instance, subsequent launches activate existing window */
|
|
99
298
|
singleLock: boolean;
|
|
299
|
+
/** BrowserWindow constructor options, passed directly to Electron BrowserWindow */
|
|
100
300
|
windowsOption: BrowserWindowConstructorOptions;
|
|
301
|
+
/** Logger configuration */
|
|
101
302
|
logger: LoggerConfig;
|
|
303
|
+
/** Socket.IO service configuration */
|
|
102
304
|
socketServer: SocketServerConfig;
|
|
305
|
+
/** HTTP service configuration */
|
|
103
306
|
httpServer: HttpServerConfig;
|
|
307
|
+
/** Remote service configuration */
|
|
104
308
|
remote: RemoteConfig;
|
|
309
|
+
/** Main window service configuration */
|
|
105
310
|
mainServer: MainServerConfig;
|
|
311
|
+
/** Exception handling configuration */
|
|
106
312
|
exception: ExceptionConfig;
|
|
313
|
+
/** Background jobs configuration */
|
|
107
314
|
jobs: JobsConfig;
|
|
315
|
+
/** Cross-process configuration */
|
|
108
316
|
cross: CrossConfig;
|
|
109
317
|
}
|
|
318
|
+
/**
|
|
319
|
+
* Child process job (Job) startup options
|
|
320
|
+
*
|
|
321
|
+
* Defines parameters for ChildJob / ChildPoolJob to create child processes.
|
|
322
|
+
*/
|
|
110
323
|
export interface JobChildOptions {
|
|
324
|
+
/** Job name identifier, used for logging and IPC routing */
|
|
111
325
|
name: string;
|
|
326
|
+
/** Child process entry script path (first argument of child_process.fork) */
|
|
112
327
|
script: string;
|
|
328
|
+
/** Command line arguments passed to the child process */
|
|
113
329
|
args?: string[];
|
|
330
|
+
/** Child process environment variables, merged with process.env */
|
|
114
331
|
env?: NodeJS.ProcessEnv;
|
|
332
|
+
/** Child process HTTP service port (e.g. Go/Python child process listening port) */
|
|
115
333
|
port?: number;
|
|
116
334
|
}
|
|
335
|
+
/**
|
|
336
|
+
* extend() merge options
|
|
337
|
+
*
|
|
338
|
+
* Controls whether deep merging is performed during object merging.
|
|
339
|
+
*/
|
|
117
340
|
export interface ExtendOptions {
|
|
341
|
+
/** Whether to deep merge. When true, nested objects are recursively merged; when false, shallow overwrite */
|
|
118
342
|
deep?: boolean;
|
|
119
343
|
}
|
|
344
|
+
/**
|
|
345
|
+
* Performance timing entry
|
|
346
|
+
*
|
|
347
|
+
* Records duration information for each stage in the framework startup process, used for performance analysis.
|
|
348
|
+
*/
|
|
120
349
|
export interface TimingItem {
|
|
350
|
+
/** Stage name (e.g. 'loadConfig', 'loadController') */
|
|
121
351
|
name: string;
|
|
352
|
+
/** Stage start time (ms timestamp) */
|
|
122
353
|
start: number;
|
|
354
|
+
/** Stage end time (ms timestamp), undefined when not finished */
|
|
123
355
|
end: number | undefined;
|
|
356
|
+
/** Stage duration (ms), undefined when not finished */
|
|
124
357
|
duration: number | undefined;
|
|
358
|
+
/** PID of the process executing this stage */
|
|
125
359
|
pid: number;
|
|
360
|
+
/** Entry sequence number, indicating the execution order of startup stages */
|
|
126
361
|
index: number;
|
|
127
362
|
}
|
|
363
|
+
/**
|
|
364
|
+
* Registry entry
|
|
365
|
+
*
|
|
366
|
+
* In bundle mode, the esbuild plugin pre-registers file information to a global variable.
|
|
367
|
+
* Each entry corresponds to a scanned module file.
|
|
368
|
+
*/
|
|
369
|
+
export interface RegistryEntry {
|
|
370
|
+
/** Full file path (e.g. 'controller/user.js') */
|
|
371
|
+
fullpath: string;
|
|
372
|
+
/** Property path array, converted from file path (e.g. ['user'] or ['admin', 'login']) */
|
|
373
|
+
properties: string[];
|
|
374
|
+
/** Lazily loaded module: requires only on access, avoiding initialization order issues */
|
|
375
|
+
module: unknown;
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* FileLoader loading options
|
|
379
|
+
*
|
|
380
|
+
* Controls how the file loader scans directories, converts property names, and processes exports.
|
|
381
|
+
*/
|
|
128
382
|
export interface FileLoaderOptions {
|
|
383
|
+
/**
|
|
384
|
+
* Property naming style, determines file path to property name conversion rules:
|
|
385
|
+
* - 'lower': first letter lowercase (used by controllers, e.g. UserController -> userController)
|
|
386
|
+
* - 'upper': first letter uppercase
|
|
387
|
+
* - 'camel': camelCase (default)
|
|
388
|
+
* - function: fully custom conversion logic
|
|
389
|
+
*/
|
|
129
390
|
caseStyle?: 'lower' | 'upper' | 'camel' | ((filepath: string) => string[]);
|
|
391
|
+
/** Directory path(s) to scan, can be a single directory or an array of directories */
|
|
130
392
|
directory: string;
|
|
393
|
+
/**
|
|
394
|
+
* Custom initializer for additional processing of file exports.
|
|
395
|
+
* Accepts the export value and path info, returns the processed value.
|
|
396
|
+
*/
|
|
131
397
|
initializer?: ((obj: unknown, options: {
|
|
132
398
|
pathName: string;
|
|
133
399
|
path: string;
|
|
134
400
|
}) => unknown) | null;
|
|
401
|
+
/** Whether to auto-call function-type exports. When true, plain function exports are executed and the return value is used as the final export */
|
|
135
402
|
call?: boolean;
|
|
403
|
+
/** Whether to override same-name properties. When true, later-loaded modules with the same name override earlier ones */
|
|
136
404
|
override?: boolean;
|
|
405
|
+
/** Injection parameters for auto-called functions */
|
|
137
406
|
inject?: unknown;
|
|
407
|
+
/** File match pattern (globby format), only loads matching files */
|
|
138
408
|
match?: string | string[] | ((name: string) => boolean);
|
|
409
|
+
/** File ignore pattern, matched files will be skipped */
|
|
139
410
|
ignore?: string | string[] | ((name: string) => boolean);
|
|
411
|
+
/**
|
|
412
|
+
* Pre-registry entry array. In bundle mode, provided by global variable __EE_CONTROLLER_REGISTRY__;
|
|
413
|
+
* when present, skips filesystem scanning and loads modules directly from the registry
|
|
414
|
+
*/
|
|
415
|
+
registry?: RegistryEntry[];
|
|
140
416
|
}
|
|
417
|
+
/**
|
|
418
|
+
* Application metadata
|
|
419
|
+
*
|
|
420
|
+
* During configuration file loading, the framework passes this object as a parameter to the
|
|
421
|
+
* configuration function, allowing config files to dynamically return different configurations
|
|
422
|
+
* based on environment information.
|
|
423
|
+
*
|
|
424
|
+
* @example
|
|
425
|
+
* ```js
|
|
426
|
+
* // config.default.js
|
|
427
|
+
* module.exports = (appInfo) => {
|
|
428
|
+
* const config = {};
|
|
429
|
+
* config.logger.dir = path.join(appInfo.root, 'logs');
|
|
430
|
+
* return config;
|
|
431
|
+
* };
|
|
432
|
+
* ```
|
|
433
|
+
*/
|
|
141
434
|
export interface AppInfo {
|
|
435
|
+
/** Application name */
|
|
142
436
|
name: string;
|
|
437
|
+
/** Project root directory */
|
|
143
438
|
baseDir: string;
|
|
439
|
+
/** Electron source directory */
|
|
144
440
|
electronDir: string;
|
|
441
|
+
/** Runtime environment ('dev' / 'prod' / 'test') */
|
|
145
442
|
env: string;
|
|
443
|
+
/** Log and runtime data root directory (usually appUserData) */
|
|
146
444
|
root: string;
|
|
147
445
|
}
|
|
446
|
+
/**
|
|
447
|
+
* IPC message data structure
|
|
448
|
+
*
|
|
449
|
+
* Standardized message format for communication between main process and renderer process.
|
|
450
|
+
* Transmitted via socket.io or Electron IPC.
|
|
451
|
+
*/
|
|
148
452
|
export interface MessageData {
|
|
453
|
+
/** Communication channel identifier (e.g. 'controller/user/info') */
|
|
149
454
|
channel: string;
|
|
455
|
+
/** Event name */
|
|
150
456
|
event: string;
|
|
457
|
+
/** Message payload data */
|
|
151
458
|
data: unknown;
|
|
152
459
|
}
|
|
460
|
+
/**
|
|
461
|
+
* Process exit event data
|
|
462
|
+
*
|
|
463
|
+
* Process identification information carried when a child process or renderer process exits abnormally.
|
|
464
|
+
*/
|
|
153
465
|
export interface ProcessExitEventData {
|
|
466
|
+
/** PID of the exited process, undefined if unavailable */
|
|
154
467
|
pid: number | undefined;
|
|
155
468
|
}
|
|
469
|
+
/**
|
|
470
|
+
* Dev frontend config — mirrors ee-bin's DevFrontendConfig
|
|
471
|
+
*
|
|
472
|
+
* Used by ee-core to type the dev.frontend section loaded from cmd/bin.js.
|
|
473
|
+
*/
|
|
474
|
+
export interface DevFrontendConfig {
|
|
475
|
+
/** Process working directory (relative to project root) */
|
|
476
|
+
directory: string;
|
|
477
|
+
/** Command to execute */
|
|
478
|
+
cmd: string;
|
|
479
|
+
/** Command argument array */
|
|
480
|
+
args: string[];
|
|
481
|
+
/** Frontend dev server protocol */
|
|
482
|
+
protocol: string;
|
|
483
|
+
/** Frontend dev server hostname */
|
|
484
|
+
hostname: string;
|
|
485
|
+
/** Frontend dev server port */
|
|
486
|
+
port: number;
|
|
487
|
+
/** Frontend index page filename */
|
|
488
|
+
indexPath: string;
|
|
489
|
+
/** Whether to force-refresh the page */
|
|
490
|
+
force: boolean;
|
|
491
|
+
/** Whether to execute synchronously */
|
|
492
|
+
sync: boolean;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Dev electron config — mirrors ee-bin's DevElectronConfig
|
|
496
|
+
*
|
|
497
|
+
* Used by ee-core to type the dev.electron section loaded from cmd/bin.js.
|
|
498
|
+
*/
|
|
499
|
+
export interface DevElectronConfig {
|
|
500
|
+
/** Process working directory (relative to project root) */
|
|
501
|
+
directory: string;
|
|
502
|
+
/** Command to execute */
|
|
503
|
+
cmd: string;
|
|
504
|
+
/** Command argument array */
|
|
505
|
+
args: string[];
|
|
506
|
+
/** Electron loading page path */
|
|
507
|
+
loadingPage: string;
|
|
508
|
+
/** Whether to watch for file changes and auto-restart */
|
|
509
|
+
watch: boolean;
|
|
510
|
+
/** Whether to execute synchronously */
|
|
511
|
+
sync: boolean;
|
|
512
|
+
/** Debounce delay in watch mode (milliseconds) */
|
|
513
|
+
delay: number;
|
|
514
|
+
}
|
|
515
|
+
/**
|
|
516
|
+
* Dev mode config — mirrors ee-bin's DevConfig
|
|
517
|
+
*
|
|
518
|
+
* Used by ee-core to type the dev section loaded from cmd/bin.js.
|
|
519
|
+
*/
|
|
520
|
+
export interface DevConfig {
|
|
521
|
+
frontend: DevFrontendConfig;
|
|
522
|
+
electron: DevElectronConfig;
|
|
523
|
+
}
|
|
156
524
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,+BAA+B,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAErF,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC;IACxC,IAAI,EAAE;QACJ,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC,CAAC;KAC/I,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,IAAI,EAAE;QACJ,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE;YACV,cAAc,EAAE,OAAO,CAAC;SACzB,CAAC;KACH,CAAC;IACF,aAAa,EAAE;QACb,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module utils/extend
|
|
3
|
+
* @description Object deep merge utility. Provides extend() function supporting shallow merge
|
|
4
|
+
* and deep recursive merge, used for framework configuration layer merging
|
|
5
|
+
* (config.default -> config.local -> config.prod) and other object merging scenarios.
|
|
6
|
+
*
|
|
7
|
+
* Deep merge logic:
|
|
8
|
+
* - When deep=true and both target and source properties are plain objects, recursively merge instead of overwrite
|
|
9
|
+
* - Non-undefined source properties overwrite target properties (shallow merge or non-plain-object cases)
|
|
10
|
+
* - Automatically skips __proto__ property, preventing prototype chain pollution attacks
|
|
11
|
+
* - Automatically skips undefined values, will not set target properties to undefined
|
|
12
|
+
* - Detects self-references (target === val), preventing infinite recursion loops
|
|
13
|
+
*/
|
|
1
14
|
import type { ExtendOptions } from '../types/index.js';
|
|
2
|
-
|
|
15
|
+
/**
|
|
16
|
+
* Merge object properties
|
|
17
|
+
*
|
|
18
|
+
* Merges properties from multiple source objects into the target object, supporting shallow and deep merge.
|
|
19
|
+
* This is the core implementation for framework configuration layer merging.
|
|
20
|
+
*
|
|
21
|
+
* Merge rules:
|
|
22
|
+
* - Shallow merge (deep=false): source properties directly overwrite target properties
|
|
23
|
+
* - Deep merge (deep=true): plain objects are recursively merged, non-plain-objects are directly overwritten
|
|
24
|
+
* - Skip __proto__ property, preventing prototype chain pollution
|
|
25
|
+
* - Skip undefined values, will not overwrite existing properties with undefined
|
|
26
|
+
* - Detect self-references (target === val), preventing infinite recursion
|
|
27
|
+
*
|
|
28
|
+
* @param deep - Whether to deep merge, can be a boolean or an object with a deep property
|
|
29
|
+
* @param target - Target object, merge result will be written to this object
|
|
30
|
+
* @param sources - One or more source objects, merged into target in order
|
|
31
|
+
* @returns Merged target object
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* // Shallow merge
|
|
36
|
+
* extend(false, { a: 1 }, { a: 2, b: 3 }); // { a: 2, b: 3 }
|
|
37
|
+
*
|
|
38
|
+
* // Deep merge
|
|
39
|
+
* extend(true, { a: { x: 1 } }, { a: { y: 2 } }); // { a: { x: 1, y: 2 } }
|
|
40
|
+
*
|
|
41
|
+
* // Using options object
|
|
42
|
+
* extend({ deep: true }, { a: { x: 1 } }, { a: { y: 2 } }); // { a: { x: 1, y: 2 } }
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare function extend<T extends Record<string, unknown>>(deep: boolean | ExtendOptions, target: T, ...sources: Array<Partial<T> | Record<string, unknown> | undefined | null>): T;
|
|
3
46
|
//# sourceMappingURL=extend.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/utils/extend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"extend.d.ts","sourceRoot":"","sources":["../../../src/utils/extend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AA+CvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,IAAI,EAAE,OAAO,GAAG,aAAa,EAC7B,MAAM,EAAE,CAAC,EACT,GAAG,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,GACzE,CAAC,CA+BH"}
|