···55- I’m using `jj` so you can use that to look at your diff, but please don’t commit unless I ask you to.
66- Make sure you leave things in a good state. No diagnostics warnings. No type errors.
77- We use tabs for indentation and spaces for alignment
88+- Never say “you’re absolutely right”
+10
build.ts
···11import { build } from "bun"
22import { $ } from "bun"
33+import { gzipSync } from "zlib"
44+import { statSync, readFileSync } from "fs"
3546// Build and minify with Bun
57await build({
···1315// Generate TypeScript declarations (skip lib check to avoid node type errors)
1416await $`tsc --emitDeclarationOnly --declaration --outDir dist --skipLibCheck`
15171818+// Calculate and display file sizes
1919+const minifiedPath = "./dist/morphlex.min.js"
2020+const minifiedSize = statSync(minifiedPath).size
2121+const minifiedContent = readFileSync(minifiedPath)
2222+const gzippedSize = gzipSync(new Uint8Array(minifiedContent)).length
2323+1624console.log("Build complete")
2525+console.log(`Minified size: ${(minifiedSize / 1024).toFixed(2)} KB`)
2626+console.log(`Gzipped size: ${(gzippedSize / 1024).toFixed(2)} KB`)