The Vite vs webpack comparison on OctoCounts shows side-by-side source line counts for vitejs/vite and webpack/webpack, counted under the rules and on the dates stated below: files, total lines, code lines, comment lines, blank lines, and per-language totals, pinned to the exact commits listed below.
This page compares the source lines of code (SLOC) of vitejs/vite and webpack/webpack using cached OctoCounts reports. Code size is not code quality: a larger count only means more source material, not a better or worse project.
As of 2026-11-04, vitejs/vite contains 108,142 total lines (82,161 code) across 2,076 files, while webpack/webpack contains 489,987 total lines (315,380 code) across 1,747 files as of 2026-11-05. webpack/webpack has about 3.8x the counted code lines of vitejs/vite under the same engine and counting rules. Code size is not code quality: a larger count only means more source material, not a better or worse project.
| Metric | vitejs/vite | webpack/webpack |
|---|---|---|
| Files | 2,076 | 1,747 |
| Total lines | 108,142 | 489,987 |
| Code lines | 82,161 | 315,380 |
| Comment lines | 13,326 | 142,500 |
| Blank lines | 12,655 | 32,107 |
| Languages counted | 21 | 15 |
Top languages in vitejs/vite: TypeScript (58.7% of code), YAML (13.8% of code), JavaScript (10.9% of code). Top languages in webpack/webpack: JavaScript (82.8% of code), JSON (9.2% of code), TypeScript (7.7% of code). TypeScript, YAML, JavaScript, JSON appear in both top language lists; CSS appears only in vitejs/vite's top languages; HTML appears only in webpack/webpack's top languages.
Methodology: both counts come from cached OctoCounts reports generated with tokei. vitejs/vite was counted at ref main (commit 1f60d62b83e2) on 2026-11-04; webpack/webpack was counted at ref main (commit f00db84cf7e8) on 2026-11-05. See the counting methodology for ignored directories and analysis options.
Both reports use the same engine and effective counting rules. Repository declarations, when enabled, are specific to each repository. vitejs/vite: tokei-15.0.0, policy directories-v1; docs excluded, tests excluded, generated excluded. Excluded directory names: .cache, .generated, .git, .next, __tests__, build, dist, doc, docs, documentation, fixtures, gen, generated, node_modules, target, test, tests, vendor. Ignored languages: none. Repository declarations: off. Exclusions are rule-based; they do not prove that every test, document or generated file was removed. webpack/webpack: tokei-15.0.0, policy directories-v1; docs excluded, tests excluded, generated excluded. Excluded directory names: .cache, .generated, .git, .next, __tests__, build, dist, doc, docs, documentation, fixtures, gen, generated, node_modules, target, test, tests, vendor. Ignored languages: none. Repository declarations: off. Exclusions are rule-based; they do not prove that every test, document or generated file was removed.
Background observations recorded on 2026-09-08; language descriptions here are historical context, not claims about the current filtered shares. Use this page's measured language breakdown for current counts. Repository layout before counting filters: vitejs/vite is the Vite core repository — dev server, build pipeline, and their plugin/rollup integration — while webpack/webpack is the webpack core; loaders, plugins, and the surrounding ecosystems live in separate repositories for both tools. The two repositories contain core-tool source trees, counted on the dates in the methodology line.
Vite and webpack maintain their core build tooling separately from much of their plugin ecosystems. Compare the selected source trees and filtering rules before treating a difference in language totals as a difference in tool scope.
These counts do not measure build speed or output size for your project: performance depends on the toolchain version, plugin set, and application shape. A smaller tool source tree does not build faster.
Sources: vitejs/vite repository · webpack/webpack repository. Statements verified 2026-09-08.
Evidence and next steps:
Saved reports remain subject to cache cleanup and replacement. Export their JSON for durable citation; live report URLs can change.
Note: code size is not code quality. OctoCounts only reports reproducible line counts and makes no claim that either project is better.
As of 2026-11-04, vitejs/vite contains 108,142 total lines (82,161 code) across 2,076 files, while webpack/webpack contains 489,987 total lines (315,380 code) across 1,747 files as of 2026-11-05. webpack/webpack has about 3.8x the counted code lines of vitejs/vite under the same engine and counting rules. Code size is not code quality: a larger count only means more source material, not a better or worse project.
Not necessarily. SLOC measures size, not complexity, quality, or maintainability. A larger codebase can mean more features, more generated or vendored code, more verbose language idioms, or more tests — none of which imply the code is harder to work with. Use SLOC to gauge the scale of what you'd be reading or maintaining, not as a quality signal for vitejs/vite, webpack/webpack, or any repository.
Methodology: both counts come from cached OctoCounts reports generated with tokei. vitejs/vite was counted at ref main (commit 1f60d62b83e2) on 2026-11-04; webpack/webpack was counted at ref main (commit f00db84cf7e8) on 2026-11-05. See the counting methodology for ignored directories and analysis options.
Yes. This page shows the default branch for each repository. Use the interactive comparison tool to pick any public GitHub repository, branch, tag, or commit SHA for both sides and get a fresh side-by-side report.