Skip to content

Replace webpack with esbuild for simpler faster builds#3

Merged
SeanTAllen merged 3 commits intoponylang:mainfrom
orien:esbuild
Feb 6, 2026
Merged

Replace webpack with esbuild for simpler faster builds#3
SeanTAllen merged 3 commits intoponylang:mainfrom
orien:esbuild

Conversation

@orien
Copy link
Copy Markdown
Member

@orien orien commented Feb 6, 2026

Context

The extension was using webpack as its bundler, which required ts-loader for TypeScript compilation and had a more complex configuration. Modern VS Code extensions commonly use esbuild for its significantly faster build times and simpler setup.

Changes

  • Replaced webpack with esbuild as the bundler
  • Created esbuild.js configuration with production/watch modes and problem matcher integration
  • Deleted webpack.config.js configuration
  • Updated npm scripts:
    • compile now runs type checking followed by esbuild
    • watch now runs esbuild and TypeScript type checking concurrently
    • package runs type checking with production esbuild build
  • Updated JavaScript dependencies to latest versions
  • Upgraded TypeScript configuration to stricter modern settings (Node16 modules, ES2022, strict mode)
  • Applied TypeScript strict mode fixes to extension.ts (proper undefined handling, unused parameter prefixing)

Consequences

  • Significantly faster build times during development and CI
  • Smaller dependency tree (reduced package-lock.json by many lines)
  • Simpler build configuration
  • Better type safety with strict TypeScript settings enabled

@ponylang-main ponylang-main added the discuss during sync Should be discussed during an upcoming sync label Feb 6, 2026
@SeanTAllen SeanTAllen merged commit e480d94 into ponylang:main Feb 6, 2026
4 checks passed
@ponylang-main ponylang-main removed the discuss during sync Should be discussed during an upcoming sync label Feb 6, 2026
@orien orien deleted the esbuild branch February 6, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants