The real bytes a bundler ships, not the size on disk. Then sort, clean, and budget your imports before they go out.
import { motion } from "framer-motion"import moment from "moment"import React from "react"import { useState } from "react"import { clsx } from "clsx"A package directory holds everything it publishes: every entry point, every module format, every platform. Your import pulls one path through it. TinyPort measures that path, minified and gzipped, so the number you read is today’s, from your own node_modules, and not a figure quoted from somewhere else.
Sorted heaviest-first and grouped by origin. It shows you the change first, and writes only when you ask.
Run it in CI. It fails the build the moment a file goes over its byte budget.
Every import's size shows up right in the editor, the moment you open a file.
Your coding agent can ask what a package costs before it ever adds it.
Every fix is a preview first. You choose when to write.
Unused imports are flagged, not removed. Deletion is always your call.
Sort-on-save backs off when another formatter is already running.
CLI reference, the six MCP tools, every setting, and exactly how a size is computed.