sourcemap-decoder v1.0.2
Sourcemap Decoder
rust-sourcemap nodejs bindings
Install
Make sure you have rust installed in your environment. follow this link: https://www.rust-lang.org/en-US/install.html to install rust toolchains.
如果你是中国用户,可以使用
curl https://sh.rustup.rs -sSf | sed "s/https:\/\/static.rust-lang.org\/rustup\/dist/https:\/\/mirrors.ustc.edu.cn\/rust-static\/rustup\/dist/g" | sh来安装
run yarn add sourcemap-decoder or npm i sourcemap-decoder to install
如果你是中国用户,在执行安装命令之前可以先执行(复制多行,粘贴到命令行,回车):
cat > $HOME/.cargo/config << EOF
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
EOFWorking in Docker
There is a Official rust Dockerfile in Github. You can follow this file to setup your Dockerfile.
如果你是中国用户,Dockerfile 是一份 Dockerfile 的样板文件,它可以在国内达到更快的 Build 速度
If you want to use neon bindings with your NodeJS project in Docker, I suggest you
don'tinstall rust toolchains in your production use Docker Image, just install them in yourci environment, and runyarn install --productionornpm install --production, then use DockerADDcommand to copy all your files into yourproductionDocker Image. And if you do that, don't forget to keep your NodeJS version inci environmentto be the same with the NodeJS version inproductionenvironment.如果你需要在生产环境里面使用
neon bindings相关的项目,建议 不要 在production使用的 Docker Image 内安装 Rust 相关的工具链,这样会极大增加 Docker Image 的体积,你可以在你的 ci 环境内安装 Rust 相关的工具,在执行yarn install --production或者npm install --production后将所有文件ADD到生产环境的 Docker Image 中。如果你这样做,确保 ci 运行时的 NodeJS 版本与production环境的 NodeJS 版本一致。
Benchmark
run: yarn benchmark or npm run benchmark to see the benchmark result.
This is the benchmark result in my machine:
Hardware info:
ProductName:    Mac OS X
ProductVersion: 10.13.3
BuildVersion:   17D47
Model Name: MacBook Pro
Model Identifier: MacBookPro14,2
Processor Name: Intel Core i5
Processor Speed: 3.1 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache (per Core): 256 KB
L3 Cache: 4 MB
Memory: 16 GB$ node benchmark
JavaScript parse time 50794 microseconds
Rust parse time: 39 microseconds
JavaScript parse result, Source: webpack:///src/utils/logger/logger.ts, Line: 56
Rust parse result, Source: webpack:///./src/utils/logger/logger.ts, Line: 56
✨  Done in 0.33s.