43 lines
1.6 KiB
Markdown
43 lines
1.6 KiB
Markdown
# tsbundle Hints and Findings
|
|
|
|
## Recent Updates (2026-03-24)
|
|
|
|
- Upgraded all dependencies to latest versions
|
|
- Migrated from npmextra.json to smartconfig.json (renamed file, updated all references)
|
|
- Renamed `npmextra` import to `smartconfig` in plugins.ts
|
|
- Fixed rolldown deprecation: `inlineDynamicImports` replaced with `codeSplitting: false`
|
|
- Major version bumps: tsbuild ^3.1.2 -> ^4.3.0, TypeScript 5.9.3 -> 6.0.2
|
|
- Rolldown upgraded from 1.0.0-beta.52 to 1.0.0-rc.11
|
|
- @rspack/core upgraded from ^1.6.5 to ^1.7.10
|
|
- @types/node upgraded from ^24.10.1 to ^25.5.0
|
|
|
|
## Bundler Architecture
|
|
|
|
- tsbundle uses a child process architecture where each bundler runs in a separate process
|
|
- Configuration is passed via environment variables as JSON (IEnvTransportOptions)
|
|
- The main class `TsBundle` spawns child processes using `smartspawn.ThreadSimple`
|
|
|
|
## Bundler Implementations
|
|
|
|
- **esbuild** (default): Fully implemented, production ready
|
|
- **rolldown**: Implemented and working (1.0.0-rc.11), produces smallest bundles
|
|
- **rspack**: Implemented and working (v1.7.10), webpack-compatible API
|
|
|
|
## Configuration
|
|
|
|
- Config file: `smartconfig.json` (previously `npmextra.json`)
|
|
- Config key: `@git.zone/tsbundle` with `bundles` array
|
|
- Supports `bundle` and `base64ts` output modes
|
|
- Interactive init wizard via `tsbundle init`
|
|
|
|
## CLI Usage
|
|
|
|
- Default bundler: `tsbundle` (uses esbuild)
|
|
- Specify bundler: `tsbundle --bundler=rolldown` or `tsbundle --bundler=rspack`
|
|
- Production mode: `tsbundle --production`
|
|
- Combined: `tsbundle --bundler=rolldown --production`
|
|
|
|
## Known Issues
|
|
|
|
- Rolldown emits a warning about `preserveValueImports` in tsconfig - this is informational only
|