Jeder hielt TypeScript-Math-Tools für 500-KB-Monster wie math.js oder numeric.js, oder? So Bibs, die alles versprechen, aber dein Frontend keuchen lassen. Dann kommt mathfuse – ein Toolkit ohne Firlefanz: zero deps, voll typisiert, tree-shakebar. Das revolutioniert Zahlenspiele für Devs ohne Ballast.
Ich stecke seit IE6-Zeiten in JS-Math-Bibs fest – damals baute man Vektor-Dots selbst, weil nichts da war. Mathfuse bringt diese Einfachheit zurück, aufgebohrt mit Generics.
Warum TypeScript-Devs fette Math-Bibs hassen
Müde, riesige Math-Bibs für Mittelwert oder Dot-Produkt zu laden? Direkt aus dem GitHub-Readme – trifft ins Mark, oder?
Müde, riesige Math-Bibs für Mittelwert oder Dot-Produkt zu laden? mathfuse gibt dir eine schlanke, tree-shakebare TypeScript-Math-Bib ohne Abhängigkeiten.
Und das ist kein Geschwätz. Mittelwert, Median, Stddev, Perzentil? Array rein, Zahlen raus. Keine Import-Hölle.
So sieht’s aus:
import { mean, median, stddev, percentile } from 'mathfuse';
const data = [2, 4, 4, 4, 5, 5, 7, 9];
console.log(mean(data)); // 5
console.log(median(data)); // 4.5
console.log(stddev(data)); // 2
console.log(percentile(data, 75)); // 6
Fünf Zeilen. Läuft in Bun, Deno, Node, Browser. Keine Polyfills nötig.
Aber Vektoren. Verdammt, Vektoren in JS waren immer ein Witz – bis jetzt.
Meistert mathfuse Vektoren ohne Ballast?
import { dot, magnitude, normalize } from 'mathfuse';
const v1 = [1, 2, 3];
const v2 = [4, 5, 6];
console.log(dot(v1, v2)); // 32
console.log(magnitude(v1)); // 3.74
console.log(normalize(v1)); // [0.27, 0.53, 0.80]
Präzise. Typisiert. Und Matrizen? Matmul, Transpose, Determinante – Kram, der früher PhD-Geduld für untypisierte Hacks brauchte.
import { matmul, transpose, determinant } from 'mathfuse';
const A = [[1, 2], [3, 4]];
console.log(matmul(A, [[5,6],[7,8]])); // [[19,22],[43,50]]
console.log(determinant(A)); // -2
Zero deps halten dein Bundle schlank. Tree-shakebare ESM/CJS? Check. Volle Generics? Klar, IntelliSense lässt dich nicht im Stich.
Dutzende ‘leichte’ Math-Bibs sind gefloppt – numeric.js? Super auf Papier, Bundle-Hölle in der Praxis. Mathfuse fühlt sich anders an. Mein Tipp: Wird Standard für Three.js-Helfer oder Data-Viz-Dashboards. Einziger Twist: Spiritueller Nachfolger von gl-matrix, aber typisiert für TS-Zeit, ohne WebGL-Kram. Wer verdient? Maintainer kriegt Stars, vielleicht GitHub-Sponsors-Kohle. Reines Open Source, keine VC-Geier.
Der Skeptiker in mir fragt: Kampftested? Repo ist frisch – https://github.com/Avinashvelu03/mathfuse – aber erste Benchmarks brüllen Effizienz. Kein lodash-Äquivalent-Mist; pure Math.
Matrizen gehen tiefer. Inverse? Kommt wohl. Aktuell: volle Stats-Suite, Vektor-Ops ohne Ende, Matrix-Basics festgenagelt. Readme-Wunsch: “Welche Math-Funktionen sollen in TypeScript einfacher sein?” Fair – Community treibt’s besser als Lone-Wolf-Helden.
Ist mathfuse produktionsreif?
Kurz: Ja, wenn’s zu deinen Needs passt. Production heißt zero deps, cross-runtime. Node? Läuft. Bun? Fliegt. Deno? Clean Imports. Browser? ESM-Zauber – kein Bundler-Zoff.
Zynischer Seitenhieb: Silicon Valley hyped jetzt ‘AI-Math’, aber das ist alte Schule Numerical-Crunching. Keine Tensoren (noch), also weg damit, wenn du PyTorch träumst. Für 90 Prozent Devs mit Charts oder Game-Vektoren? Gold wert.
Stell dir dein React-Dashboard vor: mean, percentile importieren – zack, Analytics ohne 2-MB-Parcel-Kotz. Oder Svelte-Game: Vektoren normalisieren, kein Webpack-Gequatsche.
Historischer Vergleich: JS 2010 sehnte sich nach leichter Util-Bib. Underscore füllte’s, mutierte zu lodash-Bloat. Mathfuse stoppt das im Keim – bleibt schlank oder stirbt.
PR-Geschwafel? Fehlanzeige. Solo-Dev, kein Newsletter-Bumm. Erfrischend. Aber Achtung: Bei 10k Stars kommt der ‘enterprise’-Fork mit Deps.
npm install mathfuse. Oder bun add. Zwei Sekunden, du rechnest.
Tiefer in stddev: Population oder Sample? Docs klären (Sample default, clever). Perzentil? R