wasm-grate

Crates.iowasm-grate
lib.rswasm-grate
version0.3.2
sourcesrc
created_at2023-11-04 09:12:28.145226
updated_at2023-11-12 08:02:30.044041
descriptionAnalyzes JS projects for potential WebAssembly migration points.
homepage
repository
max_upload_size
id1025059
size61,592
Konstantin Babushkin (Konstantin-Babushkin)

documentation

README

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

Commit count: 0

cargo fmt