{"_id":"@buildvisionai/construction-calculators","_rev":"3-ffcd30d9a1e97581d43a84430dc2d74c","name":"@buildvisionai/construction-calculators","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@buildvisionai/construction-calculators","version":"1.0.0","keywords":["construction","calculator","estimating","concrete","roofing","lumber","gravel","flooring","paint","drywall"],"author":{"url":"https://buildvision.com","name":"BuildVision"},"license":"MIT","_id":"@buildvisionai/construction-calculators@1.0.0","maintainers":[{"name":"buildvisionai","email":"victor@buildvisionai.com"}],"homepage":"https://github.com/buildvisionai/construction-calculators#readme","bugs":{"url":"https://github.com/buildvisionai/construction-calculators/issues"},"dist":{"shasum":"690ab69d22f1a0c8611ea8f927b6a43827cfeea3","tarball":"https://registry.npmjs.org/@buildvisionai/construction-calculators/-/construction-calculators-1.0.0.tgz","fileCount":8,"integrity":"sha512-8Vh2aA6MLqXMRmqkK5xkB3suK+6XFf780mQxvHrjzX0m2p/Fx7RgsjGdH1cC3HwymwVpYvAGjyyu/oCbQQ169g==","signatures":[{"sig":"MEQCIFHgfyCqoFI2Ad11JyV4nRqsDoz/0L0lY6vGg5KAuogbAiAqhIxqEcPRHCPIxb9FNyq+TXMXreESnaLx9Yfy/hg7Kw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279786},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"92de5fe9a4eeaac03e787cb8c6dbb8c0513846be","scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"buildvisionai","email":"victor@buildvisionai.com"},"repository":{"url":"git+https://github.com/buildvisionai/construction-calculators.git","type":"git"},"_npmVersion":"11.10.0","description":"Pure TypeScript calculation functions for construction estimating — concrete, gravel, roofing, lumber, paint, flooring, and more.","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/construction-calculators_1.0.0_1775328609207_0.34167129103102756","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@buildvisionai/construction-calculators","version":"1.0.1","keywords":["construction","calculator","estimating","concrete","roofing","lumber","gravel","flooring","paint","drywall"],"author":{"url":"https://buildvisionai.com","name":"BuildVision"},"license":"MIT","_id":"@buildvisionai/construction-calculators@1.0.1","maintainers":[{"name":"buildvisionai","email":"victor@buildvisionai.com"}],"homepage":"https://github.com/buildvisionai/construction-calculators#readme","bugs":{"url":"https://github.com/buildvisionai/construction-calculators/issues"},"dist":{"shasum":"3379bddfd0d0dc832734f7791f8dbb362dfd64af","tarball":"https://registry.npmjs.org/@buildvisionai/construction-calculators/-/construction-calculators-1.0.1.tgz","fileCount":8,"integrity":"sha512-s4svUDAwnGY2iba9wmmxMHE/tX2cpJf59dTWYmshsFHnjuEixk43X1lahFWTm573VRjbbdw025joRX0Qn4X3mw==","signatures":[{"sig":"MEYCIQCbDPN0GiNDM2FBKab7ZnT9v22VUQCFb4y0FQA9c2Se3wIhAIPOPj/T+L4Ecg1647JNX7tGAsghHEdgKLX4XcrW0BCW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":279796},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e10c4e36e484f214e8a04e724c45539bc5dc7267","scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"buildvisionai","email":"victor@buildvisionai.com"},"repository":{"url":"git+https://github.com/buildvisionai/construction-calculators.git","type":"git"},"_npmVersion":"11.10.0","description":"Pure TypeScript calculation functions for construction estimating — concrete, gravel, roofing, lumber, paint, flooring, and more.","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","typescript":"^5.7.2"},"_npmOperationalInternal":{"tmp":"tmp/construction-calculators_1.0.1_1775328718466_0.3754801230359679","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@buildvisionai/construction-calculators","version":"1.0.2","description":"Pure TypeScript calculation functions for construction estimating — concrete, gravel, roofing, lumber, paint, flooring, and more.","license":"MIT","author":{"name":"BuildVision","url":"https://buildvisionai.com"},"homepage":"https://github.com/buildvisionai/construction-calculators#readme","repository":{"type":"git","url":"git+https://github.com/buildvisionai/construction-calculators.git"},"keywords":["construction","calculator","estimating","concrete","roofing","lumber","gravel","flooring","paint","drywall"],"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"build":"tsup","typecheck":"tsc --noEmit"},"devDependencies":{"tsup":"^8.0.0","typescript":"^5.7.2"},"gitHead":"7ebbb5877de2ba693bb0fc6d66d7e1a0a7555765","_id":"@buildvisionai/construction-calculators@1.0.2","bugs":{"url":"https://github.com/buildvisionai/construction-calculators/issues"},"_nodeVersion":"25.2.1","_npmVersion":"11.10.0","dist":{"integrity":"sha512-u/rcTG/Rh3JUhTygQ20C3/nzZP9SPeWqk6u67DBlOgi7w7jUaj35PlQb3xXK7XonKCcqGajbRmWjk6KMtzSI2A==","shasum":"6f197ecf8106298f58cceb2b8c15eae1c8559d67","tarball":"https://registry.npmjs.org/@buildvisionai/construction-calculators/-/construction-calculators-1.0.2.tgz","fileCount":8,"unpackedSize":283738,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIErHqQ7ects5+dpYjq1VhlVTpq8I9VAG83ihvJ+b0QPAAiA2lcQ+k0pYeTJBRQEAByR4ulU/FOkjIOzzAxAhl3GvpQ=="}]},"_npmUser":{"name":"buildvisionai","email":"victor@buildvisionai.com"},"directories":{},"maintainers":[{"name":"buildvisionai","email":"victor@buildvisionai.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/construction-calculators_1.0.2_1775329305751_0.5644439149862783"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-04T18:50:09.132Z","modified":"2026-04-04T19:01:45.985Z","1.0.0":"2026-04-04T18:50:09.365Z","1.0.1":"2026-04-04T18:51:58.638Z","1.0.2":"2026-04-04T19:01:45.883Z"},"bugs":{"url":"https://github.com/buildvisionai/construction-calculators/issues"},"author":{"name":"BuildVision","url":"https://buildvisionai.com"},"license":"MIT","homepage":"https://github.com/buildvisionai/construction-calculators#readme","keywords":["construction","calculator","estimating","concrete","roofing","lumber","gravel","flooring","paint","drywall"],"repository":{"type":"git","url":"git+https://github.com/buildvisionai/construction-calculators.git"},"description":"Pure TypeScript calculation functions for construction estimating — concrete, gravel, roofing, lumber, paint, flooring, and more.","maintainers":[{"name":"buildvisionai","email":"victor@buildvisionai.com"}],"readme":"# @buildvisionai/construction-calculators\r\n\r\n[![npm version](https://img.shields.io/npm/v/@buildvisionai/construction-calculators.svg)](https://www.npmjs.com/package/@buildvisionai/construction-calculators)\r\n[![npm downloads](https://img.shields.io/npm/dm/@buildvisionai/construction-calculators.svg)](https://www.npmjs.com/package/@buildvisionai/construction-calculators)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\r\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue.svg)](https://www.typescriptlang.org/)\r\n\r\n> Pure TypeScript functions for construction estimating — zero dependencies, no React, no DOM. Works in Node, browser, Deno, and edge runtimes.\r\n\r\nBuilt and maintained by [BuildVision](https://buildvisionai.com) — AI-powered construction estimating software. Try the **[live calculators →](https://buildvisionai.com/calculators)**\r\n\r\n---\r\n\r\n## Install\r\n\r\n```bash\r\nnpm install @buildvisionai/construction-calculators\r\n# or\r\nyarn add @buildvisionai/construction-calculators\r\n# or\r\npnpm add @buildvisionai/construction-calculators\r\n```\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n```typescript\r\nimport {\r\n  calculateConcrete,\r\n  calculateMarkup,\r\n  calculateRoofingCost,\r\n} from '@buildvisionai/construction-calculators';\r\n\r\n// Concrete volume for a 20×30 ft slab, 4 inches thick\r\nconst slab = calculateConcrete({\r\n  shape: 'rectangular',\r\n  length: 20,\r\n  width: 30,\r\n  depth: 4 / 12,\r\n  units: 'imperial',\r\n});\r\nconsole.log(slab.volumeCuYd);  // 2.22 cubic yards\r\nconsole.log(slab.bagsNeeded);  // 134 × 60lb bags\r\n\r\n// Price it up with markup\r\nconst quote = calculateMarkup({ costs: 850, markupPercent: 25 });\r\nconsole.log(quote.totalWithMarkup);      // $1,062.50\r\nconsole.log(quote.profitMarginPercent);  // 20%\r\n\r\n// Roofing cost range\r\nconst roof = calculateRoofingCost({\r\n  roofArea: 2400,\r\n  materialType: 'asphalt',\r\n  regionMultiplier: 1.0,\r\n  pitchMultiplier: 1.1,\r\n  storiesMultiplier: 1.0,\r\n  includeTearOff: true,\r\n  units: 'imperial',\r\n});\r\nconsole.log(`$${roof.totalLow.toFixed(0)}–$${roof.totalHigh.toFixed(0)}`);\r\n```\r\n\r\n---\r\n\r\n## Calculators\r\n\r\n### Concrete & Masonry\r\n\r\n| Function | Description | Live Demo |\r\n|----------|-------------|-----------|\r\n| `calculateConcrete` | Rectangular/circular volume, bags, sand, gravel, water | [Concrete Calculator](https://buildvisionai.com/calculators/concrete-calculator) |\r\n| `calculateConcreteSlab` | Slab volume, 60/80lb bags, ready-mix trucks, rebar | [Concrete Slab Calculator](https://buildvisionai.com/calculators/concrete-slab-calculator) |\r\n| `calculateConcreteBlock` | CMU block count, mortar bags, cost estimate | [Concrete Block Calculator](https://buildvisionai.com/calculators/concrete-block-calculator) |\r\n| `calculateRetainingWall` | Block courses, backfill volume, drainage, geogrid layers | [Retaining Wall Calculator](https://buildvisionai.com/calculators/retaining-wall-calculator) |\r\n\r\n### Materials & Aggregates\r\n\r\n| Function | Description | Live Demo |\r\n|----------|-------------|-----------|\r\n| `calculateGravel` | Volume, tonnage, 50lb bags, cost | [Gravel Calculator](https://buildvisionai.com/calculators/gravel-calculator) |\r\n| `calculateBoardFoot` | Lumber board feet, cubic meters, weight | [Board Foot Calculator](https://buildvisionai.com/calculators/board-foot-calculator) |\r\n| `calculateInsulation` | R-value thickness, rolls/bags by insulation type, cost | [Insulation Calculator](https://buildvisionai.com/calculators/insulation-calculator) |\r\n| `calculatePavers` | Paver count + waste, sand bed, gravel base | [Paver Calculator](https://buildvisionai.com/calculators/paver-calculator) |\r\n\r\n### Interior Finishes\r\n\r\n| Function | Description | Live Demo |\r\n|----------|-------------|-----------|\r\n| `calculateDrywall` | Sheets, tape rolls, compound buckets, screws | [Drywall Calculator](https://buildvisionai.com/calculators/drywall-calculator) |\r\n| `calculateFlooring` | Planks/boxes, underlayment, transition strips, cost | [Flooring Calculator](https://buildvisionai.com/calculators/flooring-calculator) |\r\n| `calculatePaint` | Gallons, primer, cost range, time estimate | [Paint Calculator](https://buildvisionai.com/calculators/paint-calculator) |\r\n\r\n### Roofing\r\n\r\n| Function | Description | Live Demo |\r\n|----------|-------------|-----------|\r\n| `calculateRoofMaterials` | Shingle bundles, accessories, bid price, gross margin | [Roof Calculator](https://buildvisionai.com/calculators/roof-calculator) |\r\n| `calculateRoofingCost` | Installed cost by material, region, pitch, stories | [Roofing Cost Calculator](https://buildvisionai.com/calculators/roofing-cost-calculator) |\r\n| `calculateMetalRoofCost` | Metal roof cost + 50-year vs asphalt comparison | [Metal Roof Cost Calculator](https://buildvisionai.com/calculators/metal-roof-cost-calculator) |\r\n| `pitchFromRiseRun` | Angle and percent from rise/run | [Roof Pitch Calculator](https://buildvisionai.com/calculators/roof-pitch-calculator) |\r\n| `pitchFromAngle` | Rise/run from pitch angle | [Roof Pitch Calculator](https://buildvisionai.com/calculators/roof-pitch-calculator) |\r\n| `pitchFromPercent` | Rise/run from slope percent | [Roof Pitch Calculator](https://buildvisionai.com/calculators/roof-pitch-calculator) |\r\n| `calculateRafterLength` | Rafter length from pitch and half-span | [Roof Pitch Calculator](https://buildvisionai.com/calculators/roof-pitch-calculator) |\r\n\r\n### Structures & Exterior\r\n\r\n| Function | Description | Live Demo |\r\n|----------|-------------|-----------|\r\n| `calculateSquareFootage` | Multi-room area for rectangle, square, circle shapes | [Square Footage Calculator](https://buildvisionai.com/calculators/square-footage-calculator) |\r\n| `calculateFence` | Posts, rails, pickets, panels, concrete bags, cost | [Fence Calculator](https://buildvisionai.com/calculators/fence-calculator) |\r\n| `calculateStairs` | Step count, rise/run, stringer length, angle | [Stair Calculator](https://buildvisionai.com/calculators/stair-calculator) |\r\n| `calculateDeckCost` | Boards, joists, posts, footings, railing, installed cost | [Deck Cost Calculator](https://buildvisionai.com/calculators/deck-cost-calculator) |\r\n\r\n### Business & Finance\r\n\r\n| Function | Description | Live Demo |\r\n|----------|-------------|-----------|\r\n| `calculateMarkup` | Selling price and profit margin from cost + markup % | [Markup Calculator](https://buildvisionai.com/calculators/markup-calculator) |\r\n| `calculateMarkupFromMargin` | Required markup % to hit a target profit margin | [Markup Calculator](https://buildvisionai.com/calculators/markup-calculator) |\r\n| `calculateLaborCost` | Total labor cost with payroll burden multiplier | [Labor Cost Calculator](https://buildvisionai.com/calculators/labor-cost-calculator) |\r\n| `calculateHourlyRate` | Billable rate from annual expenses + profit margin | [Hourly Rate Calculator](https://buildvisionai.com/calculators/hourly-rate-calculator) |\r\n| `calculateNetProfit` | Projects/month needed to hit annual profit goal | [Net Profit Calculator](https://buildvisionai.com/calculators/net-profit-calculator) |\r\n| `calculateConstructionCost` | Line-item cost roll-up by category (materials/labor/equipment) | [Construction Cost Calculator](https://buildvisionai.com/calculators/construction-cost-calculator) |\r\n| `calculateEquipmentDepreciation` | 4-method schedule: straight-line, declining balance, SYD, DDB | [Equipment Depreciation Calculator](https://buildvisionai.com/calculators/equipment-depreciation-calculator) |\r\n| `calculateTimeline` | Critical path method (CPM) — earliest/latest start, float | [Timeline Calculator](https://buildvisionai.com/calculators/timeline-calculator) |\r\n\r\n---\r\n\r\n## Units\r\n\r\nAll functions accept a `units` parameter — `'imperial'` or `'metric'`. Outputs include both unit variants where relevant.\r\n\r\n```typescript\r\n// Imperial: feet, inches, lbs, gallons\r\ncalculateConcrete({ ..., units: 'imperial' })\r\n\r\n// Metric: meters, cm/mm, kg, liters\r\ncalculateConcrete({ ..., units: 'metric' })\r\n```\r\n\r\n---\r\n\r\n## Design Principles\r\n\r\n- **Pure functions** — input object in, result object out, no side effects\r\n- **Zero dependencies** — nothing to audit, nothing to break\r\n- **TypeScript first** — full types on all inputs and outputs\r\n- **Dual ESM + CJS** — works in any JS environment\r\n\r\n---\r\n\r\n## Contributing\r\n\r\nPRs welcome. Good areas to expand: HVAC load, electrical, plumbing, sitework, earthworks.\r\n\r\n---\r\n\r\nBuilt by [BuildVision](https://buildvisionai.com) — construction estimating software for the modern contractor.\r\n","readmeFilename":"README.md"}