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 ...
随机推荐
- Git链接http转ssh
git remote set-url origin git@gitserver:USERNAME/PROJECT.git
- pdf去水印,pdf解密,pdf转MarkDown
pdf去水印,在转Markdown文件 首先我们要有版权的敬畏之心,这里只是给大家介绍一下思路,请合理使用! 1.pdf去水印 下载:悦书PDF阅读器,注意免费免费!!!!(后期就不知道了,目前是免费 ...
- 自己的win7第一次使用RabbitMQ
使用的过程中参考了https://www.cnblogs.com/longlongogo/p/6489574.html所写的内容 一.环境搭建 1.由于RabbitMQ使用Erlang语言编写,所以先 ...
- windows文本转语音 通过java 调用python 生成exe可执行文件一条龙
我已记不清 我失败过多少次 ,找过多少资料 ,但是功夫不负有心人 ,还是成功了. 所有资料和需要的语音模块的资料以放置在文章末尾, 有些是引用别人的博客的部分内容, 原文是在有道云笔记,所以没有图,请 ...
- 错误记录:Data too long for column 'xxx' at row 1
错误记录:Data too long for column 'xxx' at row 1 使用Flask-sqlalchemy操作数据时报错: "Data too long for colu ...
- jupyter notebook 安装扩展nbextensions
安装nbextensions可提高jupyter notebook效率,安装步骤如下: 1.pip 方式安装: (gluon) [root@localhost ~]# pip install jupy ...
- Kubernetes笔记(四):详解Namespace与资源限制ResourceQuota,LimitRange
前面我们对K8s的基本组件与概念有了个大致的印象,并且基于K8s实现了一个初步的CI/CD流程,但对里面涉及的各个对象(如Namespace, Pod, Deployment, Service, In ...
- Java实现 LeetCode 790 多米诺和托米诺平铺(递推)
790. 多米诺和托米诺平铺 有两种形状的瓷砖:一种是 2x1 的多米诺形,另一种是形如 "L" 的托米诺形.两种形状都可以旋转. XX <- 多米诺 XX <- &q ...
- Java实现 LeetCode 88 合并两个有序数组
88. 合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组. 说明: 初始化 nums1 和 nums2 的元 ...
- Java实现 洛谷 P2118 比例简化
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.i ...