8 releases
0.3.2 | Nov 12, 2023 |
---|---|
0.3.1 | Nov 11, 2023 |
0.2.2 | Nov 5, 2023 |
0.1.23 | Nov 4, 2023 |
#529 in WebAssembly
31KB
635 lines
WASM-grate
WASM-grate (a portmanteau of WebAssembly and "integrate/migrate") is a tool designed to streamline the adoption of WebAssembly in modern front-end web projects.
It helps you to identify potential bottlenecks or performance hitches in JavaScript (JS) or TypeScript (TS) codebases. WASM-grate highlights areas that could significantly benefit from the speed and efficiency of WebAssembly (e.g. CPU-intensive tasks).
Installation
npm i wasm-grate
Usage
wasm-grate -path '<path to a file or directory>'
or
wasm-grate -p '<path>'
Examples:
wasm-grate --path src/pages/Search
wasm-grate -p src/components/Report/Feed/helpers.ts
Output
# LOCATION
src/components/ProjectReport/ProjectFeed/Contribution/helpers/process-pr-data.ts:14:19
# COMPLEXITY SCORE
Complexity: 4/10
# DECLARATION OF THE FUNCTION
Declaration: const getScale = (totalChanges: number | null): number
Deploy to NPM and crates
rust-to-npm-cli deploy -b
Current state
WASM-grate is still in development and not production-ready yet.
For now it works only for:
- function declarations
function foo() {
console.log('function declaration');
}
- expressions
const bar = function() {
console.log('function expression');
}
- arrow functions
const foo = () => {
console.log('arrow function');
}
Please, wait for version 1.0.0
Dependencies
~13–25MB
~378K SLoC