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/README.md
ADDED
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# ee-core
|
|
2
|
+
|
|
3
|
+
Enterprise-grade Electron application framework core — TypeScript edition with dual CJS + ESM module support.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
`ee-core` provides the runtime foundation for [electron-egg](https://github.com/wallace5303/electron-egg) applications. It handles the complete lifecycle from boot to shutdown: configuration loading, controller registration, IPC communication, window management, logging, storage, background jobs, and cross-process coordination.
|
|
8
|
+
|
|
9
|
+
The package outputs dual module formats (CJS + ESM) via conditional exports in `package.json`, making it compatible with both `require()` and `import` environments.
|
|
10
|
+
|
|
11
|
+
## Installation
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install ee-core
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Subpath Exports
|
|
18
|
+
|
|
19
|
+
ee-core exposes fine-grained subpath modules. Each can be imported individually:
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
// Main entry (boot, app, config, etc.)
|
|
23
|
+
import { ElectronEgg } from 'ee-core';
|
|
24
|
+
|
|
25
|
+
// Specific submodules
|
|
26
|
+
import { ControllerLoader } from 'ee-core/controller';
|
|
27
|
+
import { Cross, cross } from 'ee-core/cross';
|
|
28
|
+
import { extend } from 'ee-core/utils';
|
|
29
|
+
import { SqliteStorage } from 'ee-core/storage';
|
|
30
|
+
import { ChildJob, ChildPoolJob, LoadBalancer } from 'ee-core/jobs';
|
|
31
|
+
import type { Config, DevConfig } from 'ee-core/types';
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Available subpaths:
|
|
35
|
+
|
|
36
|
+
| Subpath | Description |
|
|
37
|
+
|---|---|
|
|
38
|
+
| `ee-core` | Main entry — boot, application, config, events |
|
|
39
|
+
| `ee-core/app` | Application lifecycle and event bus |
|
|
40
|
+
| `ee-core/config` | Configuration loading and merging |
|
|
41
|
+
| `ee-core/controller` | Controller loader and registry |
|
|
42
|
+
| `ee-core/core` | FileLoader and core utilities |
|
|
43
|
+
| `ee-core/cross` | IPC communication (socket.io, HTTP, Electron IPC) |
|
|
44
|
+
| `ee-core/electron` | Electron app/window management |
|
|
45
|
+
| `ee-core/exception` | Exception handling |
|
|
46
|
+
| `ee-core/html` | HTML static resource path utility |
|
|
47
|
+
| `ee-core/jobs` | Background jobs (ChildJob, ChildPoolJob, LoadBalancer) |
|
|
48
|
+
| `ee-core/loader` | File/module loading utilities |
|
|
49
|
+
| `ee-core/log` | Pino-based logging (pino-roll + pino-pretty) |
|
|
50
|
+
| `ee-core/message` | IPC message routing |
|
|
51
|
+
| `ee-core/ps` | Process/environment utilities (paths, env detection) |
|
|
52
|
+
| `ee-core/socket` | Socket.IO, HTTP, IPC servers |
|
|
53
|
+
| `ee-core/storage` | SQLite storage (better-sqlite3) |
|
|
54
|
+
| `ee-core/types` | TypeScript type definitions |
|
|
55
|
+
| `ee-core/utils` | extend, is, json, helper, pargv, port |
|
|
56
|
+
|
|
57
|
+
## Architecture
|
|
58
|
+
|
|
59
|
+
### Lifecycle
|
|
60
|
+
|
|
61
|
+
Boot → loadConfig → loadLog → loadDir → loadController → loadSocket → loadElectron
|
|
62
|
+
|
|
63
|
+
### Controller Loading Pipeline
|
|
64
|
+
|
|
65
|
+
- **Build time** (ee-bin): `controllerRegistryPlugin` scans `electron/controller/`, generates `ee-core:controller-registry` virtual module with lazy getters.
|
|
66
|
+
- **Runtime** (ee-core): If `globalThis.__EE_CONTROLLER_REGISTRY__` exists (bundle mode), loads from registry. Otherwise falls back to filesystem scanning via globby.
|
|
67
|
+
|
|
68
|
+
### IPC Communication
|
|
69
|
+
|
|
70
|
+
Main ↔ renderer via `ee-core/cross`, supporting three transport modes:
|
|
71
|
+
- Socket.IO (bidirectional real-time)
|
|
72
|
+
- HTTP server (RESTful)
|
|
73
|
+
- Electron IPC (native)
|
|
74
|
+
|
|
75
|
+
Channels follow pattern `controller/{name}/{method}`.
|
|
76
|
+
|
|
77
|
+
### Window Loading Strategy
|
|
78
|
+
|
|
79
|
+
- Remote mode → Load remote URL
|
|
80
|
+
- Dev mode → Wait for frontend dev server, show loading page first
|
|
81
|
+
- Prod + cross takeover → Wait for cross-process service
|
|
82
|
+
- Prod (default) → Load local HTML file
|
|
83
|
+
|
|
84
|
+
## Key APIs
|
|
85
|
+
|
|
86
|
+
### Boot & Application
|
|
87
|
+
|
|
88
|
+
```ts
|
|
89
|
+
import { ElectronEgg } from 'ee-core';
|
|
90
|
+
|
|
91
|
+
// Start the framework
|
|
92
|
+
const app = new ElectronEgg();
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Configuration
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
import { getConfig, setConfig } from 'ee-core/config';
|
|
99
|
+
|
|
100
|
+
const config = getConfig();
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### Controller
|
|
104
|
+
|
|
105
|
+
```ts
|
|
106
|
+
import { getController } from 'ee-core/controller';
|
|
107
|
+
|
|
108
|
+
const userController = getController('user');
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Cross-Process Communication
|
|
112
|
+
|
|
113
|
+
```ts
|
|
114
|
+
import { cross } from 'ee-core/cross';
|
|
115
|
+
|
|
116
|
+
// Send IPC message to renderer
|
|
117
|
+
cross.sendToRenderer('controller/user/info', data);
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Jobs
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
import { ChildJob, ChildPoolJob, LoadBalancer } from 'ee-core/jobs';
|
|
124
|
+
|
|
125
|
+
const job = new ChildJob();
|
|
126
|
+
const result = await job.exec({ name: 'task', script: './jobs/demo.js' });
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Storage
|
|
130
|
+
|
|
131
|
+
```ts
|
|
132
|
+
import { SqliteStorage } from 'ee-core/storage';
|
|
133
|
+
|
|
134
|
+
const db = new SqliteStorage('./data/app.db');
|
|
135
|
+
db.prepare('CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, name TEXT)').run();
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Logging
|
|
139
|
+
|
|
140
|
+
```ts
|
|
141
|
+
import { coreLogger, getLoggers } from 'ee-core/log';
|
|
142
|
+
|
|
143
|
+
coreLogger.info('Application started');
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Process/Environment
|
|
147
|
+
|
|
148
|
+
```ts
|
|
149
|
+
import { isDev, getBaseDir, env } from 'ee-core/ps';
|
|
150
|
+
|
|
151
|
+
if (isDev()) {
|
|
152
|
+
// Development-specific logic
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Build
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
npm run build # Build CJS + ESM + generate exports map
|
|
160
|
+
npm run build:cjs # Build CommonJS only
|
|
161
|
+
npm run build:esm # Build ESM only
|
|
162
|
+
npm run typecheck # TypeScript type checking
|
|
163
|
+
npm run test # Run vitest
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
The `exports` map in `package.json` is auto-generated by `scripts/gen-exports.js`. Do not edit manually — run `npm run gen-exports` after adding new subpath modules.
|
|
167
|
+
|
|
168
|
+
## Requirements
|
|
169
|
+
|
|
170
|
+
- Node.js >= 20.19.0
|
|
171
|
+
- Electron >= 28
|
|
172
|
+
- Better-sqlite3 requires native rebuild for Electron: use `pnpm re-sqlite` if you see native module errors
|
|
173
|
+
|
|
174
|
+
## Notes
|
|
175
|
+
|
|
176
|
+
- ESM imports in ee-core source must include `.js` extensions (required by `module: NodeNext`)
|
|
177
|
+
- ee-core is NOT bundled into the Electron main process bundle — it's an esbuild external loaded from `node_modules` at runtime
|
|
178
|
+
- The framework uses the `debug` library for verbose logging. Enable with `DEBUG=ee-*` environment variable
|
|
@@ -1,6 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Application class — Framework startup flow orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Responsibilities:
|
|
5
|
+
* - register(): Register lifecycle event hooks
|
|
6
|
+
* - run(): Synchronous startup flow (CJS controller loading)
|
|
7
|
+
* - runAsync(): Asynchronous startup flow (ESM controller loading)
|
|
8
|
+
*
|
|
9
|
+
* Startup order:
|
|
10
|
+
* 1. Load Controllers — Register all business handler functions
|
|
11
|
+
* 2. Load Communication Services (Socket) — Start IPC/HTTP/SocketIO services
|
|
12
|
+
* 3. Emit Ready lifecycle event
|
|
13
|
+
* 4. Load Electron features — Create windows, register shortcuts, etc.
|
|
14
|
+
*/
|
|
1
15
|
export declare class Application {
|
|
16
|
+
/**
|
|
17
|
+
* Register a lifecycle event handler
|
|
18
|
+
* @param eventName - Event name (e.g. 'ready', 'before-close')
|
|
19
|
+
* @param handler - Event handler function
|
|
20
|
+
*/
|
|
2
21
|
register(eventName: string, handler: (...args: unknown[]) => void): void;
|
|
3
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Start the application synchronously
|
|
24
|
+
*
|
|
25
|
+
* Flow:
|
|
26
|
+
* 1. loadController() — Synchronously load controllers (using require())
|
|
27
|
+
* 2. loadSocket() — Start IPC/HTTP/SocketIO communication services
|
|
28
|
+
* 3. emitLifecycle(Ready) — Trigger ready lifecycle event
|
|
29
|
+
* 4. loadElectron() — Initialize Electron main process (create windows, etc.)
|
|
30
|
+
*/
|
|
31
|
+
run(): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Start the application asynchronously
|
|
34
|
+
*
|
|
35
|
+
* Same flow as run(), but controllers are loaded asynchronously using dynamic import(), supporting ESM modules.
|
|
36
|
+
*/
|
|
37
|
+
runAsync(): Promise<void>;
|
|
4
38
|
}
|
|
39
|
+
/** Application singleton */
|
|
5
40
|
export declare const app: Application;
|
|
6
41
|
//# sourceMappingURL=application.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/app/application.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../../src/app/application.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAW;IACtB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAIxE;;;;;;;;OAQG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAO1B;;;;OAIG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAMhC;AAED,4BAA4B;AAC5B,eAAO,MAAM,GAAG,aAAoB,CAAC"}
|
|
@@ -1,21 +1,68 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.app = exports.Application = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module app/application
|
|
6
|
+
* @description Application core class that orchestrates the framework startup flow.
|
|
7
|
+
* Responsible for sequentially loading controllers, communication services,
|
|
8
|
+
* emitting lifecycle events, and finally loading Electron main process features.
|
|
9
|
+
* Held and invoked by the ElectronEgg class in boot.ts.
|
|
10
|
+
*/
|
|
4
11
|
const index_js_1 = require("../controller/index.js");
|
|
5
12
|
const events_js_1 = require("./events.js");
|
|
6
13
|
const index_js_2 = require("../socket/index.js");
|
|
7
14
|
const index_js_3 = require("../electron/index.js");
|
|
15
|
+
/**
|
|
16
|
+
* Application class — Framework startup flow orchestrator
|
|
17
|
+
*
|
|
18
|
+
* Responsibilities:
|
|
19
|
+
* - register(): Register lifecycle event hooks
|
|
20
|
+
* - run(): Synchronous startup flow (CJS controller loading)
|
|
21
|
+
* - runAsync(): Asynchronous startup flow (ESM controller loading)
|
|
22
|
+
*
|
|
23
|
+
* Startup order:
|
|
24
|
+
* 1. Load Controllers — Register all business handler functions
|
|
25
|
+
* 2. Load Communication Services (Socket) — Start IPC/HTTP/SocketIO services
|
|
26
|
+
* 3. Emit Ready lifecycle event
|
|
27
|
+
* 4. Load Electron features — Create windows, register shortcuts, etc.
|
|
28
|
+
*/
|
|
8
29
|
class Application {
|
|
30
|
+
/**
|
|
31
|
+
* Register a lifecycle event handler
|
|
32
|
+
* @param eventName - Event name (e.g. 'ready', 'before-close')
|
|
33
|
+
* @param handler - Event handler function
|
|
34
|
+
*/
|
|
9
35
|
register(eventName, handler) {
|
|
10
36
|
events_js_1.eventBus.register(eventName, handler);
|
|
11
37
|
}
|
|
12
|
-
|
|
38
|
+
/**
|
|
39
|
+
* Start the application synchronously
|
|
40
|
+
*
|
|
41
|
+
* Flow:
|
|
42
|
+
* 1. loadController() — Synchronously load controllers (using require())
|
|
43
|
+
* 2. loadSocket() — Start IPC/HTTP/SocketIO communication services
|
|
44
|
+
* 3. emitLifecycle(Ready) — Trigger ready lifecycle event
|
|
45
|
+
* 4. loadElectron() — Initialize Electron main process (create windows, etc.)
|
|
46
|
+
*/
|
|
47
|
+
async run() {
|
|
13
48
|
(0, index_js_1.loadController)();
|
|
14
|
-
(0, index_js_2.loadSocket)();
|
|
49
|
+
await (0, index_js_2.loadSocket)();
|
|
50
|
+
events_js_1.eventBus.emitLifecycle(events_js_1.Ready);
|
|
51
|
+
(0, index_js_3.loadElectron)();
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Start the application asynchronously
|
|
55
|
+
*
|
|
56
|
+
* Same flow as run(), but controllers are loaded asynchronously using dynamic import(), supporting ESM modules.
|
|
57
|
+
*/
|
|
58
|
+
async runAsync() {
|
|
59
|
+
await (0, index_js_1.loadControllerAsync)();
|
|
60
|
+
await (0, index_js_2.loadSocket)();
|
|
15
61
|
events_js_1.eventBus.emitLifecycle(events_js_1.Ready);
|
|
16
62
|
(0, index_js_3.loadElectron)();
|
|
17
63
|
}
|
|
18
64
|
}
|
|
19
65
|
exports.Application = Application;
|
|
66
|
+
/** Application singleton */
|
|
20
67
|
exports.app = new Application();
|
|
21
68
|
//# sourceMappingURL=application.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../src/app/application.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../../src/app/application.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,qDAA6E;AAC7E,2CAA8C;AAC9C,iDAAgD;AAChD,mDAAoD;AAEpD;;;;;;;;;;;;;GAaG;AACH,MAAa,WAAW;IACtB;;;;OAIG;IACH,QAAQ,CAAC,SAAiB,EAAE,OAAqC;QAC/D,oBAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG;QACP,IAAA,yBAAc,GAAE,CAAC;QACjB,MAAM,IAAA,qBAAU,GAAE,CAAC;QACnB,oBAAQ,CAAC,aAAa,CAAC,iBAAK,CAAC,CAAC;QAC9B,IAAA,uBAAY,GAAE,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAA,8BAAmB,GAAE,CAAC;QAC5B,MAAM,IAAA,qBAAU,GAAE,CAAC;QACnB,oBAAQ,CAAC,aAAa,CAAC,iBAAK,CAAC,CAAC;QAC9B,IAAA,uBAAY,GAAE,CAAC;IACjB,CAAC;CACF;AArCD,kCAqCC;AAED,4BAA4B;AACf,QAAA,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC"}
|
package/dist/cjs/app/boot.d.ts
CHANGED
|
@@ -1,9 +1,64 @@
|
|
|
1
1
|
import type { ElectronEggOptions } from '../types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* ElectronEgg framework main class
|
|
4
|
+
*
|
|
5
|
+
* Responsibilities:
|
|
6
|
+
* 1. Collect Electron runtime environment info (app name, version, paths, etc.)
|
|
7
|
+
* 2. Set global environment variables (EE_ENV, EE_BASE_DIR, etc.)
|
|
8
|
+
* 3. Initialize framework foundational features (exception handling -> config -> directories -> logging)
|
|
9
|
+
* 4. Provide register() for lifecycle hooks, run()/runAsync() to start the application
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* ```ts
|
|
13
|
+
* const electronEgg = new ElectronEgg();
|
|
14
|
+
* electronEgg.register('ready', () => { ... });
|
|
15
|
+
* await electronEgg.run();
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
2
18
|
export declare class ElectronEgg {
|
|
3
19
|
options: ElectronEggOptions;
|
|
20
|
+
/**
|
|
21
|
+
* Constructor — Collects environment info and initializes the framework
|
|
22
|
+
*
|
|
23
|
+
* Execution flow:
|
|
24
|
+
* 1. Get Electron app path as baseDir
|
|
25
|
+
* 2. Parse command-line arguments: env (environment) and debugger (debug source flag)
|
|
26
|
+
* 3. Based on debugger flag, decide whether electronDir points to bundle output or source directory
|
|
27
|
+
* 4. Collect application info (name, version, paths, etc.) to build options
|
|
28
|
+
* 5. In production + packaged mode, execDir points to the executable's directory
|
|
29
|
+
* 6. Write key info to process.env for other modules to read
|
|
30
|
+
* 7. Call init() to load foundational features
|
|
31
|
+
*/
|
|
4
32
|
constructor();
|
|
33
|
+
/**
|
|
34
|
+
* Initialize framework foundational features
|
|
35
|
+
*
|
|
36
|
+
* Loading order (must not be changed):
|
|
37
|
+
* 1. loadException — Register global exception handling to ensure subsequent exceptions are caught
|
|
38
|
+
* 2. loadConfig — Load configuration files; subsequent modules depend on configuration
|
|
39
|
+
* 3. loadDir — Create necessary directories for data/logs
|
|
40
|
+
* 4. loadLog — Initialize logging system; depends on configuration and directories
|
|
41
|
+
*/
|
|
5
42
|
init(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Register a lifecycle event handler
|
|
45
|
+
* @param eventName - Lifecycle event name (e.g. 'ready', 'electron-app-ready')
|
|
46
|
+
* @param handler - Event handler function
|
|
47
|
+
*/
|
|
6
48
|
register(eventName: string, handler: (...args: unknown[]) => void): void;
|
|
7
|
-
|
|
49
|
+
/**
|
|
50
|
+
* Start the application synchronously
|
|
51
|
+
*
|
|
52
|
+
* Execution flow: loadController -> loadSocket -> emitLifecycle(ready) -> loadElectron
|
|
53
|
+
* Controllers are loaded using synchronous require(), suitable for CJS projects
|
|
54
|
+
*/
|
|
55
|
+
run(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Start the application asynchronously
|
|
58
|
+
*
|
|
59
|
+
* Execution flow: loadControllerAsync -> loadSocket -> emitLifecycle(ready) -> loadElectron
|
|
60
|
+
* Controllers are loaded using dynamic import(), suitable for ESM projects
|
|
61
|
+
*/
|
|
62
|
+
runAsync(): Promise<void>;
|
|
8
63
|
}
|
|
9
64
|
//# sourceMappingURL=boot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/app/boot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../../src/app/boot.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAI5D;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,WAAW;IACtB,OAAO,EAAE,kBAAkB,CAAC;IAE5B;;;;;;;;;;;OAWG;;IAiDH;;;;;;;;OAQG;IACH,IAAI,IAAI,IAAI;IAOZ;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,IAAI;IAIxE;;;;;OAKG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B;;;;;OAKG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGhC"}
|
package/dist/cjs/app/boot.js
CHANGED
|
@@ -4,6 +4,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ElectronEgg = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* @module app/boot
|
|
9
|
+
* @description ElectronEgg framework boot module. Responsible for initializing the runtime environment,
|
|
10
|
+
* collecting application configuration, setting global environment variables, and sequentially
|
|
11
|
+
* loading framework foundational features (exception handling, configuration, directories, logging).
|
|
12
|
+
* This is the entry class of the entire framework, instantiated and started via run() from electron/main.js.
|
|
13
|
+
*/
|
|
7
14
|
const debug_1 = __importDefault(require("debug"));
|
|
8
15
|
const path_1 = __importDefault(require("path"));
|
|
9
16
|
const index_js_1 = require("../exception/index.js");
|
|
@@ -14,18 +21,46 @@ const index_js_5 = require("../log/index.js");
|
|
|
14
21
|
const application_js_1 = require("./application.js");
|
|
15
22
|
const dir_js_1 = require("./dir.js");
|
|
16
23
|
const debugLog = (0, debug_1.default)('ee-core:app:boot');
|
|
24
|
+
/**
|
|
25
|
+
* ElectronEgg framework main class
|
|
26
|
+
*
|
|
27
|
+
* Responsibilities:
|
|
28
|
+
* 1. Collect Electron runtime environment info (app name, version, paths, etc.)
|
|
29
|
+
* 2. Set global environment variables (EE_ENV, EE_BASE_DIR, etc.)
|
|
30
|
+
* 3. Initialize framework foundational features (exception handling -> config -> directories -> logging)
|
|
31
|
+
* 4. Provide register() for lifecycle hooks, run()/runAsync() to start the application
|
|
32
|
+
*
|
|
33
|
+
* Usage:
|
|
34
|
+
* ```ts
|
|
35
|
+
* const electronEgg = new ElectronEgg();
|
|
36
|
+
* electronEgg.register('ready', () => { ... });
|
|
37
|
+
* await electronEgg.run();
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
17
40
|
class ElectronEgg {
|
|
41
|
+
/**
|
|
42
|
+
* Constructor — Collects environment info and initializes the framework
|
|
43
|
+
*
|
|
44
|
+
* Execution flow:
|
|
45
|
+
* 1. Get Electron app path as baseDir
|
|
46
|
+
* 2. Parse command-line arguments: env (environment) and debugger (debug source flag)
|
|
47
|
+
* 3. Based on debugger flag, decide whether electronDir points to bundle output or source directory
|
|
48
|
+
* 4. Collect application info (name, version, paths, etc.) to build options
|
|
49
|
+
* 5. In production + packaged mode, execDir points to the executable's directory
|
|
50
|
+
* 6. Write key info to process.env for other modules to read
|
|
51
|
+
* 7. Call init() to load foundational features
|
|
52
|
+
*/
|
|
18
53
|
constructor() {
|
|
19
54
|
const baseDir = index_js_2.electronApp.getAppPath();
|
|
20
|
-
const
|
|
21
|
-
const debugging = (0, index_js_3.getArgumentByName)('
|
|
22
|
-
//
|
|
55
|
+
const environment = (0, index_js_3.getArgumentByName)('env') || 'prod';
|
|
56
|
+
const debugging = (0, index_js_3.getArgumentByName)('debugger') === 'true';
|
|
57
|
+
// In debug mode, point to source directory; otherwise point to bundle output directory
|
|
23
58
|
let electronDir = (0, index_js_3.getBundleDir)(baseDir);
|
|
24
59
|
if (debugging) {
|
|
25
60
|
electronDir = (0, index_js_3.getElectronCodeDir)(baseDir);
|
|
26
61
|
}
|
|
27
62
|
const options = {
|
|
28
|
-
env:
|
|
63
|
+
env: environment,
|
|
29
64
|
baseDir,
|
|
30
65
|
electronDir,
|
|
31
66
|
appName: index_js_2.electronApp.getName(),
|
|
@@ -36,12 +71,12 @@ class ElectronEgg {
|
|
|
36
71
|
isPackaged: index_js_2.electronApp.isPackaged,
|
|
37
72
|
execDir: baseDir,
|
|
38
73
|
};
|
|
39
|
-
//
|
|
40
|
-
if (
|
|
74
|
+
// In production and packaged mode, execDir is the directory of the executable (same level as exe/dmg)
|
|
75
|
+
if (environment === 'prod' && options.isPackaged) {
|
|
41
76
|
options.execDir = path_1.default.dirname(index_js_2.electronApp.getPath('exe'));
|
|
42
77
|
}
|
|
43
|
-
//
|
|
44
|
-
process.env.EE_ENV =
|
|
78
|
+
// Write runtime environment info to global variables for use by config loading, logging, and other modules
|
|
79
|
+
process.env.EE_ENV = environment;
|
|
45
80
|
process.env.EE_APP_NAME = options.appName;
|
|
46
81
|
process.env.EE_APP_VERSION = options.appVersion;
|
|
47
82
|
process.env.EE_BASE_DIR = options.baseDir;
|
|
@@ -57,18 +92,46 @@ class ElectronEgg {
|
|
|
57
92
|
this.options = options;
|
|
58
93
|
this.init();
|
|
59
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* Initialize framework foundational features
|
|
97
|
+
*
|
|
98
|
+
* Loading order (must not be changed):
|
|
99
|
+
* 1. loadException — Register global exception handling to ensure subsequent exceptions are caught
|
|
100
|
+
* 2. loadConfig — Load configuration files; subsequent modules depend on configuration
|
|
101
|
+
* 3. loadDir — Create necessary directories for data/logs
|
|
102
|
+
* 4. loadLog — Initialize logging system; depends on configuration and directories
|
|
103
|
+
*/
|
|
60
104
|
init() {
|
|
61
|
-
// basic functions
|
|
62
105
|
(0, index_js_1.loadException)();
|
|
63
106
|
(0, index_js_4.loadConfig)();
|
|
64
107
|
(0, dir_js_1.loadDir)();
|
|
65
108
|
(0, index_js_5.loadLog)();
|
|
66
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Register a lifecycle event handler
|
|
112
|
+
* @param eventName - Lifecycle event name (e.g. 'ready', 'electron-app-ready')
|
|
113
|
+
* @param handler - Event handler function
|
|
114
|
+
*/
|
|
67
115
|
register(eventName, handler) {
|
|
68
116
|
application_js_1.app.register(eventName, handler);
|
|
69
117
|
}
|
|
70
|
-
|
|
71
|
-
|
|
118
|
+
/**
|
|
119
|
+
* Start the application synchronously
|
|
120
|
+
*
|
|
121
|
+
* Execution flow: loadController -> loadSocket -> emitLifecycle(ready) -> loadElectron
|
|
122
|
+
* Controllers are loaded using synchronous require(), suitable for CJS projects
|
|
123
|
+
*/
|
|
124
|
+
async run() {
|
|
125
|
+
await application_js_1.app.run();
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Start the application asynchronously
|
|
129
|
+
*
|
|
130
|
+
* Execution flow: loadControllerAsync -> loadSocket -> emitLifecycle(ready) -> loadElectron
|
|
131
|
+
* Controllers are loaded using dynamic import(), suitable for ESM projects
|
|
132
|
+
*/
|
|
133
|
+
async runAsync() {
|
|
134
|
+
await application_js_1.app.runAsync();
|
|
72
135
|
}
|
|
73
136
|
}
|
|
74
137
|
exports.ElectronEgg = ElectronEgg;
|
package/dist/cjs/app/boot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boot.js","sourceRoot":"","sources":["../../../src/app/boot.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,gDAAwB;AACxB,oDAAsD;AACtD,uDAAuD;AACvD,6CAAqF;AACrF,iDAAgD;AAChD,8CAA0C;AAC1C,qDAAuC;AACvC,qCAAmC;AAGnC,MAAM,QAAQ,GAAG,IAAA,eAAK,EAAC,kBAAkB,CAAC,CAAC;AAE3C,MAAa,WAAW;IAGtB;QACE,MAAM,OAAO,GAAG,sBAAW,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,
|
|
1
|
+
{"version":3,"file":"boot.js","sourceRoot":"","sources":["../../../src/app/boot.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/app/dir.d.ts
CHANGED
|
@@ -1,2 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Load and initialize directories required for application runtime
|
|
3
|
+
*
|
|
4
|
+
* Creates the following directories (if they don't exist):
|
|
5
|
+
* - Hidden app directory under user home (~/.{appName}/) — Stores app-level configuration and cache
|
|
6
|
+
* - Data directory — Stores business data (e.g. SQLite database files)
|
|
7
|
+
* - Log directory — Stores runtime log files
|
|
8
|
+
*
|
|
9
|
+
* Directory permissions set to 0o755 (owner: read/write/execute; others: read/execute)
|
|
10
|
+
*/
|
|
1
11
|
export declare function loadDir(): void;
|
|
2
12
|
//# sourceMappingURL=dir.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dir.d.ts","sourceRoot":"","sources":["../../../src/app/dir.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dir.d.ts","sourceRoot":"","sources":["../../../src/app/dir.ts"],"names":[],"mappings":"AAWA;;;;;;;;;GASG;AACH,wBAAgB,OAAO,IAAI,IAAI,CAE9B"}
|
package/dist/cjs/app/dir.js
CHANGED
|
@@ -1,27 +1,88 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
37
|
};
|
|
5
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
39
|
exports.loadDir = loadDir;
|
|
40
|
+
/**
|
|
41
|
+
* @module app/dir
|
|
42
|
+
* @description Application directory initialization module. Creates necessary runtime directories
|
|
43
|
+
* at framework startup, including the hidden app directory under the user's home directory
|
|
44
|
+
* (for storing configuration, etc.), data directory, and log directory.
|
|
45
|
+
*/
|
|
7
46
|
const fs_1 = __importDefault(require("fs"));
|
|
8
47
|
const index_js_1 = require("../ps/index.js");
|
|
9
48
|
const helper_js_1 = require("../utils/helper.js");
|
|
49
|
+
const is = __importStar(require("../utils/is.js"));
|
|
50
|
+
/**
|
|
51
|
+
* Load and initialize directories required for application runtime
|
|
52
|
+
*
|
|
53
|
+
* Creates the following directories (if they don't exist):
|
|
54
|
+
* - Hidden app directory under user home (~/.{appName}/) — Stores app-level configuration and cache
|
|
55
|
+
* - Data directory — Stores business data (e.g. SQLite database files)
|
|
56
|
+
* - Log directory — Stores runtime log files
|
|
57
|
+
*
|
|
58
|
+
* Directory permissions set to 0o755 (owner: read/write/execute; others: read/execute)
|
|
59
|
+
*/
|
|
10
60
|
function loadDir() {
|
|
11
61
|
initDir();
|
|
12
62
|
}
|
|
13
63
|
function initDir() {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
64
|
+
// 在记录日志前,单独捕获异常
|
|
65
|
+
try {
|
|
66
|
+
// 初始化应用自定义数据目录
|
|
67
|
+
let customAppDir = (0, index_js_1.getUserHomeHiddenAppDir)();
|
|
68
|
+
// 权限问题,openharmony 环境下,自定义应用目录
|
|
69
|
+
if (is.openharmony()) {
|
|
70
|
+
customAppDir = (0, index_js_1.getAppCustomDataDir)();
|
|
71
|
+
}
|
|
72
|
+
if (!fs_1.default.existsSync(customAppDir)) {
|
|
73
|
+
(0, helper_js_1.mkdir)(customAppDir, { mode: 0o755 });
|
|
74
|
+
}
|
|
75
|
+
const dataDir = (0, index_js_1.getDataDir)();
|
|
76
|
+
if (!fs_1.default.existsSync(dataDir)) {
|
|
77
|
+
(0, helper_js_1.mkdir)(dataDir, { mode: 0o755 });
|
|
78
|
+
}
|
|
79
|
+
const logDir = (0, index_js_1.getLogDir)();
|
|
80
|
+
if (!fs_1.default.existsSync(logDir)) {
|
|
81
|
+
(0, helper_js_1.mkdir)(logDir, { mode: 0o755 });
|
|
82
|
+
}
|
|
21
83
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
(0, helper_js_1.mkdir)(logDir, { mode: 0o755 });
|
|
84
|
+
catch (e) {
|
|
85
|
+
console.error('[dir] initDir error: %s', e instanceof Error ? e.message : String(e));
|
|
25
86
|
}
|
|
26
87
|
}
|
|
27
88
|
//# sourceMappingURL=dir.js.map
|
package/dist/cjs/app/dir.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dir.js","sourceRoot":"","sources":["../../../src/app/dir.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dir.js","sourceRoot":"","sources":["../../../src/app/dir.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,0BAEC;AAvBD;;;;;GAKG;AACH,4CAAoB;AACpB,6CAAqG;AACrG,kDAA2C;AAC3C,mDAAqC;AAErC;;;;;;;;;GASG;AACH,SAAgB,OAAO;IACrB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,OAAO;IACd,gBAAgB;IAChB,IAAI,CAAC;QACH,eAAe;QACf,IAAI,YAAY,GAAG,IAAA,kCAAuB,GAAE,CAAC;QAC7C,+BAA+B;QAC/B,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;YACrB,YAAY,GAAG,IAAA,8BAAmB,GAAE,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,IAAA,iBAAK,EAAC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,OAAO,GAAG,IAAA,qBAAU,GAAE,CAAC;QAC7B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAA,iBAAK,EAAC,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,MAAM,GAAG,IAAA,oBAAS,GAAE,CAAC;QAC3B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,IAAA,iBAAK,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;AACH,CAAC"}
|