v0.1.1 — now on npm

Your Pterodactyl build
in under 90 seconds.

pterospeed analyzes your webpack config, finds what's slowing it down, and fixes it — automatically, with a diff preview and backup before touching anything.

$ npx pterospeed@latest .

no install required · Node 20+

The problem

5 minutes every build.
Every. Single. Time.

The default webpack config that ships with Pterodactyl Panel was written to work, not to be fast. Every build starts from zero and pays the full cost.

Memory-only webpack cache — lost after every process
Babel re-transpiles unchanged files on every run
TerserPlugin minifying even in development builds
source-map-loader scanning all of node_modules

$ yarn build:production

webpack compiled successfully in

352.41s

after pterospeed optimize --preset aggressive

~78s

same output · no code changes

How it works

Two commands. Done.

1 — analyze your config

pterospeed analyze
$ npx pterospeed@latest .
 
✔ Detected: Pterodactyl Panel
✔ Root: /var/www/pterodactyl
Scanning build configuration...
 
⚠ Filesystem cache missing (high)
⚠ babel-loader cache missing (high)
⚠ source-map-loader scans too wide (medium)
⚠ TerserPlugin still in production path (medium)
⚠ minimize: true always runs (medium)
 
Build Health: 20 / 100 Critical
████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░

2 — apply the fixes

pterospeed optimize
$ pterospeed optimize . --preset aggressive
 
✔ Applied 5 optimization(s).
- Switched webpack cache to filesystem.
- Enabled babel-loader disk cache.
- Excluded node_modules from source-map-loader.
- Replaced TerserPlugin with EsbuildPlugin.
- minimize: true → minimize: isProduction.
 
› Production minification: ~3-4x faster
› Warm dev builds: ~5-10x faster
› Dev builds skip minification (~30-60s saved)

Optimizations

What gets fixed

Optimization Preset Expected gain
Webpack filesystem cache safe Warm builds 5–10× faster
babel-loader disk cache safe Cold builds ~20–30% faster
Scope source-map-loader safe Skips node_modules map parsing
Explicit CPU parallelism safe Full core utilization
minimize: isProduction safe Dev skips minification (~30-60s)
EsbuildPlugin (prod) aggressive Production minify 3–4× faster

After aggressive preset: run yarn install in your panel to install esbuild-loader.

CLI

All commands

pterospeed analyze [path] Scan config and report score
pterospeed optimize [path] Diff → confirm → apply fixes
pterospeed optimize --auto Skip confirmation prompt
pterospeed optimize --dry Show diff only, write nothing
pterospeed optimize --preset aggressive Also swap TerserPlugin → EsbuildPlugin
pterospeed benchmark [path] Measure cold / warm / production builds
pterospeed revert [path] Restore last backup

Stop waiting for builds.

Run it right now — no install, no config, no risk. Backup created before touching anything.

$ npx pterospeed@latest .
⭐ Star on GitHub