pomelo 依赖分析
最新版本: 2.2.7

npm i pomelo 之后:
➜ haloServer npm i pomelo
npm WARN deprecated node-uuid@1.4.0: Use uuid module instead
npm WARN deprecated json3@3.3.2: Please use the native JSON object instead of JSON 3
npm WARN saveError ENOENT: no such file or directory, open '/Volumes/dzqExt/source/public/haloServer/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '/Volumes/dzqExt/source/public/haloServer/package.json'
npm WARN haloServer No description
npm WARN haloServer No repository field.
npm WARN haloServer No README data
npm WARN haloServer No license field.
+ pomelo@2.2.7
added 135 packages from 91 contributors and audited 263 packages in 65.544s
found 19 vulnerabilities (9 low, 4 moderate, 6 high)
run `npm audit fix` to fix them, or `npm audit` for details
有2个库过时了, node-uuid, json3
在65.544秒内添加了来自91个贡献者的135个程序包,并审核了263个程序包
发现19个漏洞(9个低,4个中度,6个高)
运行`npm audit fix`进行修复,或运行`npm audit`了解详细信息
=== npm audit security report === ┌──────────────────────────────────────────────────────────────────────────────┐
│ Manual Review │
│ Some vulnerabilities require your attention to resolve │
│ │
│ Visit https://go.npm.me/audit-guide for additional guidance │
└──────────────────────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ semver │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=4.3.2 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > pomelo-logger > log4js > semver │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/31 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ semver │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=4.3.2 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > pomelo-rpc > pomelo-logger > log4js > semver │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/31 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ semver │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=4.3.2 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > pomelo-scheduler > log4js > semver │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/31 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Insecure Entropy Source - Math.random() │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ node-uuid │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=1.4.4 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > pomelo-rpc > node-uuid │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/93 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High │ Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ mqtt │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=1.0.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > mqtt │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/140 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate │ Remote Memory Exposure │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ request │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >=2.68.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > cliff > winston > request │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/309 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ parsejson │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ No patch available │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > socket.io > socket.io-client > engine.io-client > │
│ │ parsejson │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/528 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 2.6.9 < 3.0.0 || >= 3.1.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > socket.io > debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/534 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 2.6.9 < 3.0.0 || >= 3.1.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > socket.io > engine.io > debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/534 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 2.6.9 < 3.0.0 || >= 3.1.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > socket.io > socket.io-adapter > debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/534 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 2.6.9 < 3.0.0 || >= 3.1.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > socket.io > socket.io-adapter > socket.io-parser > │
│ │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/534 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 2.6.9 < 3.0.0 || >= 3.1.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > socket.io > socket.io-client > socket.io-parser > │
│ │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/534 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 2.6.9 < 3.0.0 || >= 3.1.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > socket.io > socket.io-parser > debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/534 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 2.6.9 < 3.0.0 || >= 3.1.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > socket.io > socket.io-client > debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/534 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Low │ Regular Expression Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 2.6.9 < 3.0.0 || >= 3.1.0 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > socket.io > socket.io-client > engine.io-client > │
│ │ debug │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/534 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High │ Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ ws │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 1.1.5 <2.0.0 || >=3.3.1 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > socket.io > engine.io > ws │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/550 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High │ Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ ws │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 1.1.5 <2.0.0 || >=3.3.1 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > socket.io > socket.io-client > engine.io-client > │
│ │ ws │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/550 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High │ Denial of Service │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ ws │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ >= 1.1.5 <2.0.0 || >=3.3.1 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > ws │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/550 │
└───────────────┴──────────────────────────────────────────────────────────────┘
┌───────────────┬──────────────────────────────────────────────────────────────┐
│ High │ Remote Code Execution │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package │ pomelo-monitor │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in │ No patch available │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ pomelo │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path │ pomelo > pomelo-admin > pomelo-monitor │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info │ https://npmjs.com/advisories/756 │
└───────────────┴──────────────────────────────────────────────────────────────┘
found 19 vulnerabilities (9 low, 4 moderate, 6 high) in 263 scanned packages
19 vulnerabilities require manual review. See the full report for details.
存在正则表达式拒绝服务的包:log4js,socket.io, debug
拒绝服务攻击: mqtt, ws
远程代码执行漏洞: pomelo-monitor
远程内存暴露: request
作为一个pomelo使用者,不得不知道这些事情, pomelo的依赖太多,导致漏洞很多。
本身设计思想是极好的。
haloServer npm ls
/Volumes/dzqExt/source/public/haloServer
└─┬ pomelo@2.2.7
├── async@0.2.5
├─┬ cliff@0.1.8
│ ├── colors@0.6.2
│ ├── eyes@0.1.8
│ └─┬ winston@0.6.2
│ ├── async@0.1.22 extraneous
│ ├── colors@0.6.2 deduped
│ ├── cycle@1.0.3
│ ├── eyes@0.1.8 deduped
│ ├── pkginfo@0.2.3
│ ├── request@2.9.203
│ └── stack-trace@0.0.10
├── commander@2.0.0
├── crc@0.2.0
├── mkdirp@0.3.3
├─┬ mqtt@0.3.9
│ ├─┬ bops@0.1.1
│ │ ├── base64-js@0.0.2
│ │ └── to-utf8@0.0.1
│ └─┬ readable-stream@1.0.34
│ ├── core-util-is@1.0.2
│ ├── inherits@2.0.4
│ ├── isarray@0.0.1
│ └── string_decoder@0.10.31
├── node-bignumber@1.2.1
├─┬ pomelo-admin@1.0.1
│ ├─┬ mqtt-connection@3.2.0
│ │ ├─┬ duplexify@3.7.1
│ │ │ ├─┬ end-of-stream@1.4.4
│ │ │ │ └─┬ once@1.4.0
│ │ │ │ └── wrappy@1.0.2
│ │ │ ├── inherits@2.0.4 deduped
│ │ │ ├── readable-stream@2.3.7 extraneous
│ │ │ └── stream-shift@1.0.1
│ │ ├── inherits@2.0.4 deduped
│ │ ├─┬ mqtt-packet@5.6.1
│ │ │ ├─┬ bl@1.2.2
│ │ │ │ ├── readable-stream@2.3.7 extraneous
│ │ │ │ └── safe-buffer@5.2.0 deduped
│ │ │ ├── inherits@2.0.4 deduped
│ │ │ ├── process-nextick-args@2.0.1
│ │ │ └── safe-buffer@5.2.0 deduped
│ │ ├── safe-buffer@5.2.0
│ │ └─┬ through2@2.0.5
│ │ ├── readable-stream@2.3.7 extraneous
│ │ └── xtend@4.0.2
│ ├── pomelo-monitor@0.3.7
│ └── pomelo-scheduler@0.3.8 extraneous
├── pomelo-loader@0.0.6
├─┬ pomelo-logger@0.1.7
│ └── log4js@0.6.21 extraneous
├── pomelo-protobuf@0.4.0
├── pomelo-protocol@0.1.6
├─┬ pomelo-rpc@1.0.7
│ ├── async@1.5.2 extraneous
│ ├── bearcat-buffer@0.1.1
│ ├── crc@0.2.0 deduped
│ ├── mqtt-connection@3.0.0 extraneous
│ ├── node-uuid@1.4.0
│ ├── pomelo-loader@0.0.6 deduped
│ ├── pomelo-logger@0.1.7 deduped
│ └── stream-pkg@0.0.5
├─┬ pomelo-scheduler@0.3.9
│ └── log4js@0.6.7 extraneous
├── seq-queue@0.0.5
├─┬ socket.io@1.7.2
│ ├── debug@2.3.3 extraneous
│ ├─┬ engine.io@1.8.2
│ │ ├─┬ accepts@1.3.3
│ │ │ ├─┬ mime-types@2.1.27
│ │ │ │ └── mime-db@1.44.0
│ │ │ └── negotiator@0.6.1
│ │ ├── base64id@1.0.0
│ │ ├── cookie@0.3.1
│ │ ├── debug@2.3.3 extraneous
│ │ ├─┬ engine.io-parser@1.3.2
│ │ │ ├── after@0.8.2
│ │ │ ├── arraybuffer.slice@0.0.6
│ │ │ ├── base64-arraybuffer@0.1.5
│ │ │ ├── blob@0.0.4
│ │ │ ├── has-binary@0.1.7 deduped
│ │ │ └── wtf-8@1.0.0
│ │ └── ws@1.1.1 deduped
│ ├─┬ has-binary@0.1.7
│ │ └── isarray@0.0.1 deduped
│ ├── object-assign@4.1.0
│ ├─┬ socket.io-adapter@0.5.0
│ │ ├── debug@2.3.3 extraneous
│ │ └── socket.io-parser@2.3.1 deduped
│ ├─┬ socket.io-client@1.7.2
│ │ ├── backo2@1.0.2
│ │ ├── component-bind@1.0.0
│ │ ├── component-emitter@1.2.1 extraneous
│ │ ├── debug@2.3.3 extraneous
│ │ ├─┬ engine.io-client@1.8.2
│ │ │ ├── component-emitter@1.2.1 extraneous
│ │ │ ├── component-inherit@0.0.3
│ │ │ ├── debug@2.3.3 extraneous
│ │ │ ├── engine.io-parser@1.3.2 deduped
│ │ │ ├── has-cors@1.1.0
│ │ │ ├── indexof@0.0.1 deduped
│ │ │ ├─┬ parsejson@0.0.3
│ │ │ │ └── better-assert@1.0.2 deduped
│ │ │ ├─┬ parseqs@0.0.5
│ │ │ │ └── better-assert@1.0.2 deduped
│ │ │ ├── parseuri@0.0.5 deduped
│ │ │ ├── ws@1.1.1 deduped
│ │ │ ├── xmlhttprequest-ssl@1.5.3
│ │ │ └── yeast@0.1.2
│ │ ├── has-binary@0.1.7 deduped
│ │ ├── indexof@0.0.1
│ │ ├── object-component@0.0.3
│ │ ├─┬ parseuri@0.0.5
│ │ │ └─┬ better-assert@1.0.2
│ │ │ └── callsite@1.0.0
│ │ ├── socket.io-parser@2.3.1 deduped
│ │ └── to-array@0.1.4
│ └─┬ socket.io-parser@2.3.1
│ ├── component-emitter@1.1.2
│ ├── debug@2.2.0 extraneous
│ ├── isarray@0.0.1 deduped
│ └── json3@3.3.2
└─┬ ws@1.1.1
├── options@0.0.6
└── ultron@1.0.2 npm ERR! extraneous: async@0.1.22 /Volumes/dzqExt/source/public/haloServer/node_modules/winston/node_modules/async
npm ERR! extraneous: readable-stream@2.3.7 /Volumes/dzqExt/source/public/haloServer/node_modules/duplexify/node_modules/readable-stream
npm ERR! extraneous: readable-stream@2.3.7 /Volumes/dzqExt/source/public/haloServer/node_modules/bl/node_modules/readable-stream
npm ERR! extraneous: readable-stream@2.3.7 /Volumes/dzqExt/source/public/haloServer/node_modules/through2/node_modules/readable-stream
npm ERR! extraneous: pomelo-scheduler@0.3.8 /Volumes/dzqExt/source/public/haloServer/node_modules/pomelo-admin/node_modules/pomelo-scheduler
npm ERR! extraneous: log4js@0.6.21 /Volumes/dzqExt/source/public/haloServer/node_modules/pomelo-logger/node_modules/log4js
npm ERR! extraneous: async@1.5.2 /Volumes/dzqExt/source/public/haloServer/node_modules/pomelo-rpc/node_modules/async
npm ERR! extraneous: mqtt-connection@3.0.0 /Volumes/dzqExt/source/public/haloServer/node_modules/pomelo-rpc/node_modules/mqtt-connection
npm ERR! extraneous: log4js@0.6.7 /Volumes/dzqExt/source/public/haloServer/node_modules/pomelo-scheduler/node_modules/log4js
npm ERR! extraneous: debug@2.3.3 /Volumes/dzqExt/source/public/haloServer/node_modules/engine.io/node_modules/debug
npm ERR! extraneous: debug@2.3.3 /Volumes/dzqExt/source/public/haloServer/node_modules/socket.io-adapter/node_modules/debug
npm ERR! extraneous: component-emitter@1.2.1 /Volumes/dzqExt/source/public/haloServer/node_modules/engine.io-client/node_modules/component-emitter
npm ERR! extraneous: debug@2.3.3 /Volumes/dzqExt/source/public/haloServer/node_modules/engine.io-client/node_modules/debug
npm ERR! extraneous: component-emitter@1.2.1 /Volumes/dzqExt/source/public/haloServer/node_modules/socket.io-client/node_modules/component-emitter
npm ERR! extraneous: debug@2.3.3 /Volumes/dzqExt/source/public/haloServer/node_modules/socket.io-client/node_modules/debug
npm ERR! extraneous: debug@2.2.0 /Volumes/dzqExt/source/public/haloServer/node_modules/socket.io-parser/node_modules/debug
npm ERR! extraneous: debug@2.3.3 /Volumes/dzqExt/source/public/haloServer/node_modules/socket.io/node_modules/debug
pomelo 轻量吗?在我看来并不轻量。
框架需要修补的东西还是挺多的。 个人觉得 mqtt, node-uuid, socke.io engine.io 都是多余的。
fork这个框架的人挺多的,不知道他们都做了哪些修改
pomelo 依赖分析的更多相关文章
- AMD and CMD are dead之KMDjs内核之依赖分析
有人说js中有三座大三:this.原型链和scope tree,搞懂了他们就算是js成人礼.当然还有其他不同看法的js成人礼,如熟悉js的:OOP.AP.FP.DOP.AOP.当然还听说一种最牛B的j ...
- Maven依赖分析
背景 昨天帮一位同事排查了一个依赖冲突的问题.问题的现象就是在IntelliJ IDEA运行项目正常,但是打包(Maven assembly jar)之后传到服务器运行失败,报错:Caused by: ...
- 高德JS依赖分析工程及关键原理
一.背景 高德 App 进行 Bundle 化后,由于业务的复杂性,Bundle 的数量非常多.而这带来了一个新的问题——Bundle 之间的依赖关系错综复杂,需要进行管控,使 Bundle 之间的依 ...
- 高德APP全链路源码依赖分析工程
一.背景 高德 App 经过多年的发展,其代码量已达到数百万行级别,支撑了高德地图复杂的业务功能.但与此同时,随着团队的扩张和业务的复杂化,越来越碎片化的代码以及代码之间复杂的依赖关系带来诸多维护性问 ...
- pomelo源代码分析(一)
千里之行始于足下,一直说想了解pomelo,对pomelo有兴趣,但一直迟迟没有去碰,尽管对pomelo进行源代码分析,在网络上肯定不止我一个,已经有非常优秀的前辈走在前面,如http://golan ...
- Log4j实战,依赖分析
背景 在项目中经常被log4j的各种依赖冲突搞的焦头烂额,久病成良医啊,在这里记录一下我对log4j的理解与分析 log4j 与 log4j2 log4j2是log4j的升级版,二者互不兼容,据说lo ...
- 构建后端第1篇之---springcloud项目依赖分析
张艳涛写于2021-2-2日 springcloud是springboot工程+cloud依赖,从这个角度来分析,使用springcloud实际上就是添加springcloud的某个以来比如eurek ...
- 小记--------spark的宽依赖与窄依赖分析
窄依赖: Narrow Dependency : 一个RDD对它的父RDD,只有简单的一对一的依赖关系.RDD的每个partition仅仅依赖于父RDD中的一个partition,父RDD和子RDD的 ...
- 【go】继续go go go,ubuntu环境搭建及golang的依赖关系分析
这次是在ubuntu14.04 amd64上搭建go的编译环境,使用的IDE换成了sublime text,具体步骤参照的是 http://blog.csdn.net/aqiang912/articl ...
随机推荐
- poi 针对word模板内容替换
最近多了一个需求,需要对word模板内容进行替换,一开始用的是word03版的,替换起来比较简单,主要是range对像替换非常方便,而且可以保留替换前的字体样式. InputStream is = n ...
- PHP实现白名单或黑名单
/** * 安全IP检测,支持IP段检测 * @param string $ip 要检测的IP * @param string|array $ips 白名单IP或者黑名单IP * @retu ...
- Spring的bean创建方式ref使用方法
java public class UserServiceImp implements UserService{ private UserDao userDao =null; public void ...
- [安全] HTTPS的理解
一.概述 在下面的章节,我们要搞明白以下几个问题: HTTP和HTTPS的区别,为什么要使用HTTPS HTTPS如何解决加密问题 HTTPS如何避免中间人攻击 CA证书是什么 CA证书是如何申请和颁 ...
- SA-N26接口和EPS fallback
SA-N26接口和EPS fallback 1 什么是N26接口 如下图,N26(23.501)接口为4G核心网和5G核心网之间的接口,即MME和AMF的接口,用于4G和5G的互操作 2 SA(5GC ...
- 2/3/4G网络架构
1通讯网络演进 1.1 概念名词 LTE=Long Term Evolution=长期演进, 是3GPP制定的高数据率.低时延.面向分组域优化的新一代宽带移动通信标准项目. E-UTRAN 无线接入网 ...
- AES128_CBC模式加密
高级加密标准(英语:Advanced Encryption Standard,缩写:AES),在密码学中又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DES, ...
- [Android应用开发] 02.界面展现和文件权限
*:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...
- [Objective-C] 001_Hello Objective-C
"Hello Word"从来都是经典中的经典!今天我们就来个"Hello Objective-C"吧. 启动Xcode(6.3.1),从File菜单中选择New ...
- 01 . RabbitMQ简介及部署
RabbitMQ简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它 ...