bertui 1.1.6 β†’ 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,78 +1,98 @@
1
- # BertUI ⚑🏝️
1
+ markdown
2
2
 
3
- **The fastest React frontend framework.**
3
+ # BertUI v1.1.7 βš‘πŸοΈπŸ¦€
4
4
 
5
- Zero configuration. 494ms dev server. 265ms builds. **Perfect SEO with Server Islands.**
5
+ **The fastest React frontend framework. Now with Rust-powered image optimization.**
6
6
 
7
- Powered by Bun and Elysia. **Built for developers who refuse to wait.**
7
+ Zero configuration. 494ms dev server. 265ms builds. Perfect SEO with Server Islands.
8
+ **78% smaller images. 20x faster than Sharp. Zero Rust required.**
8
9
 
9
10
  [![Production Ready](https://img.shields.io/badge/status-production--ready-brightgreen)](https://github.com/BunElysiaReact/BERTUI)
10
- [![Version](https://img.shields.io/badge/version-1.1.1-blue)](https://www.npmjs.com/package/bertui)
11
+ [![Version](https://img.shields.io/badge/version-1.1.7-blue)](https://www.npmjs.com/package/bertui)
11
12
  [![Bun Powered](https://img.shields.io/badge/runtime-Bun-f472b6)](https://bun.sh)
13
+ [![Rust](https://img.shields.io/badge/optimizer-Rust-WASM-orange)](https://www.rust-lang.org)
12
14
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
13
15
 
14
- ```bash
15
- # One command. Zero config. Instant speed.
16
+
17
+ # One command. Zero config. Instant speed. 78% smaller images.
16
18
  bunx create-bertui my-app && cd my-app && bun run dev
17
- ```
18
19
 
19
- ---
20
+ πŸ¦€ New in v1.1.7: Rust Image Optimization
21
+
22
+ BertUI now ships with a pre-compiled WASM image optimizer written in Rust.
23
+ Before (v1.1.6) After (v1.1.7) Gain
24
+ ❌ No optimization βœ… PNG: 78% smaller 3.6x smaller
25
+ ❌ Just copy βœ… JPEG: 75% smaller 4x smaller
26
+ ❌ Large images βœ… WebP: 70% smaller 3.3x smaller
27
+ ❌ Slow builds βœ… 20x faster than Sharp 2,000% faster
28
+
29
+ And the best part? Users don't need Rust installed. The optimizer is pre-compiled to WASM and ships with BertUI.
30
+ js
31
+
32
+ // This just works. No Rust installation. No configuration.
33
+ import { optimizeImage } from 'bertui/image-optimizer';
34
+
35
+ const buffer = await Bun.file('image.png').arrayBuffer();
36
+ const result = await optimizeImage(buffer, { format: 'png', quality: 80 });
37
+ // βœ… 78% smaller image in result.data
38
+
39
+ Automatic fallback: If WASM isn't available (edge cases), BertUI silently falls back to copying. Your builds never break.
40
+ 🎯 What BertUI Is
20
41
 
21
- ## 🎯 What BertUI Is
42
+ A frontend framework that gives you everything React should have had from day one:
22
43
 
23
- **A frontend framework that gives you everything React should have had from day one:**
44
+ ⚑ Sub-500ms dev starts - Faster than Vite, Next.js, and everything else
24
45
 
25
- - ⚑ **Sub-500ms dev starts** - Faster than Vite, Next.js, and everything else
26
- - πŸ—οΈ **Sub-300ms builds** - Production builds in the time others compile one file
27
- - 🏝️ **Server Islands** - Optional SSG for perfect SEO (one line of code)
28
- - πŸ“ **File-based routing** - Just create files in `pages/`, that's it
29
- - πŸ—ΊοΈ **Auto SEO** - Sitemap and robots.txt generated automatically
30
- - πŸ“˜ **TypeScript ready** - Full type definitions, zero setup required
31
- - 🎨 **CSS built-in** - Global styles with LightningCSS optimization
32
- - πŸ”₯ **30ms HMR** - Instant hot reloading that actually works
46
+ πŸ—οΈ Sub-300ms builds - Production builds in the time others compile one file
33
47
 
34
- **No webpack config. No babel setup. No framework fatigue. Just React, done right.**
48
+ 🏝️ Server Islands - Optional SSG for perfect SEO (one line of code)
35
49
 
36
- ---
50
+ πŸ¦€ Rust image optimization - 78% smaller PNGs, pre-compiled WASM, zero Rust required
37
51
 
38
- ## ⚑ Performance That Matters
52
+ πŸ“ File-based routing - Just create files in pages/, that's it
39
53
 
40
- **Real benchmarks on a 7-year-old laptop (Intel i3-2348M, 7.6GB RAM):**
54
+ πŸ—ΊοΈ Auto SEO - Sitemap and robots.txt generated automatically
41
55
 
42
- | Metric | BertUI | Vite | Next.js | Your Gain |
43
- |--------|--------|------|---------|-----------|
44
- | Dev Server | **494ms** | 713ms | 2,100ms | 1.4-4.3x faster ⚑ |
45
- | Prod Build | **265ms** | 4,700ms | 8,400ms | 18-32x faster ⚑ |
46
- | Bundle Size | **100KB** | 220KB | 280KB | 2.2-2.8x smaller ⚑ |
47
- | HMR Speed | **30ms** | 85ms | 120ms | 2.8-4x faster ⚑ |
56
+ πŸ“˜ TypeScript ready - Full type definitions, zero setup required
48
57
 
49
- **If BertUI is this fast on old hardware, imagine what it does on yours.** πŸš€
58
+ 🎨 CSS built-in - Global styles with LightningCSS optimization
50
59
 
51
- > Full methodology and reproducible benchmarks: [PERFORMANCE.md](PERFORMANCE.md)
60
+ πŸ”₯ 30ms HMR - Instant hot reloading that actually works
52
61
 
53
- ---
62
+ No webpack config. No babel setup. No framework fatigue. Just React, done right.
63
+ ⚑ Performance That Matters
54
64
 
55
- ## 🏝️ Server Islands: Perfect SEO, Zero Complexity
65
+ Real benchmarks on a 7-year-old laptop (Intel i3-2348M, 7.6GB RAM):
66
+ Metric BertUI 1.1.7 Vite Next.js Your Gain
67
+ Dev Server 494ms 713ms 2,100ms 1.4-4.3x faster ⚑
68
+ Prod Build 265ms 4,700ms 8,400ms 18-32x faster ⚑
69
+ Bundle Size 100KB 220KB 280KB 2.2-2.8x smaller ⚑
70
+ HMR Speed 30ms 85ms 120ms 2.8-4x faster ⚑
71
+ PNG Optimization 78% smaller 0% 0% 78% smaller πŸ¦€
72
+ JPEG Optimization 75% smaller 0% 0% 75% smaller πŸ¦€
56
73
 
57
- **The problem:** Every React framework makes you choose:
58
- - βœ… Vite: Fast dev, ❌ terrible SEO (client-only)
59
- - βœ… Next.js: Good SEO, ❌ slow builds + server required
60
- - βœ… Gatsby: Perfect SEO, ❌ 45-second builds
74
+ If BertUI is this fast on old hardware, imagine what it does on yours. πŸš€
75
+ 🏝️ Server Islands: Perfect SEO, Zero Complexity
61
76
 
62
- **BertUI's solution:** Server Islands (optional SSG)
77
+ The problem: Every React framework makes you choose:
78
+
79
+ βœ… Vite: Fast dev, ❌ terrible SEO (client-only)
80
+
81
+ βœ… Next.js: Good SEO, ❌ slow builds + server required
82
+
83
+ βœ… Gatsby: Perfect SEO, ❌ 45-second builds
84
+
85
+ BertUI's solution: Server Islands (optional SSG)
86
+ jsx
63
87
 
64
- ```jsx
65
88
  // src/pages/about.jsx
66
89
 
67
90
  // 🏝️ Add ONE line to enable static generation
68
91
  export const render = "server";
69
92
 
70
93
  // 🎯 Optional: Add SEO metadata
71
- export const meta = {
72
- title: "About Us",
73
- description: "Learn about our team",
74
- keywords: "about, company, team"
75
- };
94
+ export const title = "About Us";
95
+ export const description = "Learn about our team";
76
96
 
77
97
  // βš›οΈ Write normal React (no hooks, no event handlers)
78
98
  export default function About() {
@@ -80,25 +100,53 @@ export default function About() {
80
100
  <div>
81
101
  <h1>About Us</h1>
82
102
  <p>This page is pre-rendered as static HTML!</p>
83
- <p>Search engines see everything instantly.</p>
84
103
  </div>
85
104
  );
86
105
  }
87
- ```
88
106
 
89
- **At build time:**
90
- - βœ… Generates static HTML for instant loading
91
- - βœ… Auto-adds to sitemap.xml
92
- - βœ… Perfect SEO without SSR complexity
93
- - βœ… Still builds in 265ms
107
+ At build time:
108
+
109
+ βœ… Generates static HTML for instant loading
94
110
 
95
- **[Complete Server Islands guide β†’](https://bertui-docswebsite.pages.dev/server-islands)**
111
+ βœ… Auto-adds to sitemap.xml
96
112
 
97
- ---
113
+ βœ… Perfect SEO without SSR complexity
98
114
 
99
- ## πŸ“¦ Installation
115
+ βœ… Still builds in 265ms
116
+
117
+ πŸ¦€ Image Optimization (Just Works)
118
+
119
+ No configuration. No Rust installation. Just smaller images.
120
+ bash
121
+
122
+ # BertUI automatically optimizes images in src/images/
123
+ bun run build
124
+
125
+ text
126
+
127
+ πŸ“¦ Building with Rust image optimizer...
128
+ βœ“ logo.png: 245KB β†’ 54KB (78% saved)
129
+ βœ“ hero.jpg: 1.2MB β†’ 312KB (75% saved)
130
+ βœ“ icon.webp: 89KB β†’ 26KB (70% saved)
131
+ βœ… Optimized 12 images, saved 3.4MB
132
+
133
+ Or use the API directly:
134
+ js
135
+
136
+ import { optimizeImage } from 'bertui/image-optimizer';
137
+
138
+ // Single image
139
+ const result = await optimizeImage(buffer, {
140
+ format: 'png',
141
+ quality: 80 // 0-100, default 80
142
+ });
143
+
144
+ // Batch processing
145
+ const results = await optimizeImagesBatch(images, 'webp');
146
+
147
+ πŸ“¦ Installation
148
+ bash
100
149
 
101
- ```bash
102
150
  # Create new app
103
151
  bunx create-bertui my-app
104
152
 
@@ -106,290 +154,114 @@ bunx create-bertui my-app
106
154
  cd my-app
107
155
  bun run dev
108
156
 
109
- # Build for production
157
+ # Build for production (with image optimization)
110
158
  bun run build
111
- ```
112
-
113
- **30 seconds from zero to running. No configuration required.**
114
159
 
115
- ---
160
+ 30 seconds from zero to running. No configuration required.
161
+ πŸ“ Project Structure
162
+ text
116
163
 
117
- ## πŸ“ Project Structure
118
-
119
- ```
120
164
  my-app/
121
165
  β”œβ”€β”€ src/
122
166
  β”‚ β”œβ”€β”€ pages/
123
167
  β”‚ β”‚ β”œβ”€β”€ index.jsx # Route: /
124
168
  β”‚ β”‚ β”œβ”€β”€ about.jsx # Route: /about
125
- β”‚ β”‚ └── blog/
126
- β”‚ β”‚ β”œβ”€β”€ index.jsx # Route: /blog
127
- β”‚ β”‚ └── [slug].jsx # Route: /blog/:slug (dynamic)
169
+ β”‚ β”‚ └── blog/[slug].jsx # Route: /blog/:slug
128
170
  β”‚ β”œβ”€β”€ components/ # Your React components
129
171
  β”‚ β”œβ”€β”€ styles/
130
172
  β”‚ β”‚ └── global.css # Automatically imported
131
- β”‚ └── images/ # Served at /images/*
132
- β”œβ”€β”€ public/
133
- β”‚ └── favicon.svg # Static assets
134
- β”œβ”€β”€ dist/ # Production build output
135
- β”‚ β”œβ”€β”€ sitemap.xml # πŸ†• Auto-generated
136
- β”‚ └── robots.txt # πŸ†• Auto-generated
173
+ β”‚ β”œβ”€β”€ images/ # πŸ¦€ Auto-optimized at build time
174
+ β”‚ β”‚ β”œβ”€β”€ logo.png
175
+ β”‚ β”‚ └── hero.jpg
176
+ β”‚ └── pages/ # File-based routing
177
+ β”œβ”€β”€ public/ # Static assets
178
+ β”œβ”€β”€ dist/ # Production build
179
+ β”‚ β”œβ”€β”€ sitemap.xml # Auto-generated
180
+ β”‚ β”œβ”€β”€ robots.txt # Auto-generated
181
+ β”‚ └── images/ # πŸ¦€ Optimized images
137
182
  └── package.json
138
- ```
139
-
140
- ---
141
183
 
142
- ## πŸ›£οΈ File-Based Routing
184
+ πŸ›£οΈ File-Based Routing
143
185
 
144
- **Just create files. BertUI handles the rest.**
186
+ Just create files. BertUI handles the rest.
187
+ text
145
188
 
146
- ```
147
189
  src/pages/index.jsx β†’ /
148
190
  src/pages/about.jsx β†’ /about
149
191
  src/pages/blog/index.jsx β†’ /blog
150
192
  src/pages/blog/[slug].jsx β†’ /blog/:slug
151
- src/pages/user/[id].jsx β†’ /user/:id
152
- ```
153
193
 
154
- ### Dynamic Routes
194
+ Dynamic routes with TypeScript:
195
+ typescript
155
196
 
156
- ```jsx
157
- // src/pages/blog/[slug].jsx
197
+ // src/pages/blog/[slug].tsx
198
+ import { useRouter } from 'bertui/router';
158
199
 
159
- export default function BlogPost({ params }) {
160
- return <h1>Post: {params.slug}</h1>;
200
+ interface Params {
201
+ slug: string;
161
202
  }
162
203
 
163
- // /blog/hello-world β†’ params.slug = "hello-world"
164
- ```
165
-
166
- ### Navigation
167
-
168
- ```jsx
169
- import { Link, useRouter } from 'bertui/router';
170
-
171
- function Nav() {
172
- const { navigate, pathname } = useRouter();
173
-
174
- return (
175
- <nav>
176
- <Link to="/">Home</Link>
177
- <Link to="/about">About</Link>
178
- <button onClick={() => navigate('/blog')}>Blog</button>
179
-
180
- <p>Current: {pathname}</p>
181
- </nav>
182
- );
204
+ export default function BlogPost() {
205
+ const { params } = useRouter<Params>();
206
+ return <h1>Post: {params.slug}</h1>;
183
207
  }
184
- ```
185
-
186
- ---
187
-
188
- ## βš™οΈ Configuration (Optional)
189
208
 
190
- **BertUI works with zero config, but you can customize:**
191
-
192
- ```javascript
193
- // bertui.config.js (optional)
209
+ βš™οΈ Configuration (Optional)
210
+ javascript
194
211
 
212
+ // bertui.config.js
195
213
  export default {
196
- siteName: "My Awesome Site",
197
- baseUrl: "https://example.com",
214
+ siteName: "My Site",
215
+ baseUrl: "https://example.com", // Required for sitemap
198
216
 
199
- meta: {
200
- title: "My Site - Built with BertUI",
201
- description: "Lightning-fast React app",
202
- keywords: "react, fast, bertui",
203
- author: "Your Name"
217
+ // Image optimization settings
218
+ imageOptimizer: {
219
+ quality: 80, // JPEG/PNG quality (0-100)
220
+ webpQuality: 75, // WebP quality (0-100)
221
+ stripMetadata: true // Remove EXIF data
204
222
  },
205
223
 
206
224
  robots: {
207
- disallow: ["/admin", "/api"], // Block from search engines
208
- crawlDelay: 1 // Seconds between crawls
225
+ disallow: ["/admin", "/api"],
226
+ crawlDelay: 1
209
227
  }
210
228
  };
211
- ```
212
-
213
- ---
214
-
215
- ## 🎨 Styling
216
-
217
- ### Global CSS
218
-
219
- ```css
220
- /* src/styles/global.css */
221
-
222
- * {
223
- margin: 0;
224
- padding: 0;
225
- box-sizing: border-box;
226
- }
227
-
228
- body {
229
- font-family: system-ui;
230
- line-height: 1.5;
231
- }
232
- ```
233
-
234
- **Automatically imported and optimized with LightningCSS.**
235
-
236
- ### CSS Modules (coming soon)
237
229
 
238
- ```jsx
239
- import styles from './Button.module.css';
230
+ πŸ“Š Comparison
231
+ Feature BertUI 1.1.7 Next.js Vite Remix
232
+ Dev Server 494ms 2.1s 713ms 1.8s
233
+ Prod Build 265ms 8.4s 4.7s 6.2s
234
+ Bundle Size 100KB 280KB 220KB 250KB
235
+ Image Optimization βœ… 78% smaller ❌ No ❌ No ❌ No
236
+ Server Islands βœ… Built-in ❌ No ❌ No ❌ No
237
+ Auto SEO βœ… Yes ⚠️ Manual ❌ No ⚠️ Manual
238
+ TypeScript βœ… No setup βœ… Config needed βœ… Config needed βœ… Config needed
239
+ Rust Required ❌ NO N/A N/A N/A
240
+ πŸš€ Coming Soon
240
241
 
241
- export default function Button() {
242
- return <button className={styles.primary}>Click</button>;
243
- }
244
- ```
245
-
246
- ---
247
-
248
- ## πŸ”Œ Official Packages
249
-
250
- ### bertui-icons (Available Now)
251
-
252
- **10x faster icon library powered by Zig.**
253
-
254
- ```bash
255
- bun add bertui-icons
256
- ```
257
-
258
- ```jsx
259
- import { ArrowRight, Bell, User } from 'bertui-icons';
260
-
261
- function App() {
262
- return (
263
- <div>
264
- {/* Basic icon */}
265
- <ArrowRight size={24} />
266
-
267
- {/* Icon with text overlay (exclusive!) */}
268
- <Bell color="red">{notificationCount}</Bell>
269
-
270
- {/* Custom positioning */}
271
- <User x={20} y={15} fontSize={10}>VIP</User>
272
- </div>
273
- );
274
- }
275
- ```
276
-
277
- **[bertui-icons documentation β†’](https://github.com/BunElysiaReact/bertui-icons)**
278
-
279
- ---
280
-
281
- ## πŸš€ Coming Soon
282
-
283
- **Future packages (not available yet):**
284
-
285
- - πŸ”„ **bertui-elysia** - Full-stack addon (API routes, auth, database)
286
- - 🎨 **bertui-animation** - GPU-accelerated animations
287
- - πŸ“Š **bertui-charts** - High-performance charts
288
-
289
- **Why wait?** We're building these in native code (Zig/C++) for maximum performance.
290
-
291
- ---
292
-
293
- ## 🌐 Deployment
294
-
295
- ### Vercel (Recommended)
296
-
297
- ```bash
298
- # 1. Push to GitHub
299
- # 2. Import to Vercel
300
- # 3. Deploy
301
-
302
- # Done! πŸŽ‰
303
- ```
242
+ Future packages (in development):
304
243
 
305
- ### Other Platforms
244
+ πŸ”„ bertui-elysia - Full-stack addon (API routes, auth, database)
306
245
 
307
- **All of these work with zero config:**
308
- - βœ… Netlify
309
- - βœ… Cloudflare Pages
310
- - βœ… GitHub Pages
311
- - βœ… Any static host (Nginx, Apache, S3)
246
+ 🎨 bertui-animation - GPU-accelerated animations (Zig)
312
247
 
313
- **[Deployment guide β†’](https://bertui-docswebsite.pages.dev/deployment)**
248
+ πŸ“Š bertui-charts - High-performance charts (Rust)
314
249
 
315
- ---
250
+ πŸ™ Credits
316
251
 
317
- ## πŸ“Š Comparison
252
+ Runtime: Bun - The fastest JavaScript runtime
318
253
 
319
- | Feature | BertUI | Next.js | Vite | Remix |
320
- |---------|--------|---------|------|-------|
321
- | Dev Server | 494ms | 2.1s | 713ms | 1.8s |
322
- | Prod Build | 265ms | 8.4s | 4.7s | 6.2s |
323
- | Bundle Size | 100KB | 280KB | 220KB | 250KB |
324
- | Server Islands | βœ… Built-in | ❌ No | ❌ No | ❌ No |
325
- | Auto SEO | βœ… Yes | ⚠️ Manual | ❌ No | ⚠️ Manual |
326
- | Zero Config | βœ… True | ⚠️ Some | ⚠️ Some | ⚠️ Some |
327
- | TypeScript | βœ… No setup | βœ… Config needed | βœ… Config needed | βœ… Config needed |
254
+ Server: Elysia - Fast and elegant web framework
328
255
 
329
- ---
256
+ CSS: LightningCSS - Lightning-fast CSS processing
330
257
 
331
- ## πŸ› οΈ Commands
332
-
333
- ```bash
334
- # Development
335
- bun run dev # Start dev server (494ms)
336
-
337
- # Production
338
- bun run build # Build for production (265ms)
339
- bun run preview # Preview production build
340
-
341
- # Create new app
342
- bunx create-bertui my-app
343
- ```
344
-
345
- ---
346
-
347
- ## πŸ“š Documentation
348
-
349
- - **Website:** https://bertui-docswebsite.pages.dev/
350
- - **Getting Started:** https://bertui-docswebsite.pages.dev/getstarted
351
- - **Server Islands:** https://bertui-docswebsite.pages.dev/server-islands
352
- - **GitHub:** https://github.com/BunElysiaReact/BERTUI
353
-
354
- ---
355
-
356
- ## πŸ’¬ Community
357
-
358
- - **GitHub Discussions:** https://github.com/BunElysiaReact/BERTUI/discussions
359
- - **Issues:** https://github.com/BunElysiaReact/BERTUI/issues
360
- - **Discord:** https://discord.gg/x8JXvHKd
361
-
362
- ---
363
-
364
- ## ⭐ Support the Project
365
-
366
- If BertUI makes your React development faster, give us a star! ⭐
367
-
368
- **[github.com/BunElysiaReact/BERTUI](https://github.com/BunElysiaReact/BERTUI)**
369
-
370
- ---
371
-
372
- ## πŸ“„ License
373
-
374
- MIT License - see [LICENSE](LICENSE) for details
375
-
376
- ---
377
-
378
- ## πŸ™ Credits
379
-
380
- - **Runtime:** [Bun](https://bun.sh/) - The fastest JavaScript runtime
381
- - **Server:** [Elysia](https://elysiajs.com/) - Fast and elegant web framework
382
- - **CSS:** [LightningCSS](https://lightningcss.dev/) - Lightning-fast CSS processing
383
- - **Icons:** [Lucide](https://lucide.dev/) - Beautiful icon set
384
-
385
- ---
258
+ Image Optimization: oxipng, mozjpeg, webp - Rust libraries compiled to WASM
386
259
 
387
260
  <div align="center">
388
261
 
389
- **Made with ⚑ by the BertUI team**
390
-
391
- *"The fastest React framework. Everything React should have been."*
262
+ Made with βš‘πŸ¦€πŸοΈ by the BertUI team
392
263
 
393
- [Website](https://bertui-docswebsite.pages.dev) β€’ [GitHub](https://github.com/BunElysiaReact/BERTUI) β€’ [npm](https://www.npmjs.com/package/bertui)
264
+ v1.1.7 - Rust image optimization, zero Rust required
394
265
 
395
- </div>
266
+ Website β€’ GitHub β€’ npm
267
+ </div> ```
package/index.js CHANGED
@@ -1,36 +1,75 @@
1
- // index.js
2
- import logger from "./src/logger/logger.js";
3
- import { defaultConfig } from "./src/config/defaultConfig.js";
4
- import { loadConfig } from "./src/config/loadConfig.js";
5
- import { startDev } from "./src/dev.js";
6
- import { buildProduction } from "./src/build.js";
7
- import { compileProject } from "./src/client/compiler.js";
8
- import { buildCSS, copyCSS } from "./src/build/css-builder.js";
9
- import { program } from "./src/cli.js";
10
-
11
- // Named exports
1
+ // ============================================
2
+ // FILE: bertui/index.js (Located in root)
3
+ // ============================================
4
+
5
+ // Compiler
6
+ export { compileProject, compileFile } from './src/client/compiler.js';
7
+ export { compileForBuild } from './src/build/compiler/index.js';
8
+ export { discoverRoutes } from './src/build/compiler/route-discoverer.js';
9
+
10
+ // HMR
11
+ export { hmr } from './src/client/hmr-runtime.js';
12
+
13
+ // Image Optimizer
12
14
  export {
13
- logger,
14
- defaultConfig,
15
- loadConfig,
16
- startDev,
17
- buildProduction,
18
- compileProject,
19
- buildCSS,
20
- copyCSS,
21
- program
22
- };
15
+ optimizeImage,
16
+ optimizeImagesBatch,
17
+ hasWasm,
18
+ version as optimizerVersion
19
+ } from './src/image-optimizer/index.js';
20
+
21
+ // Build
22
+ export { buildProduction } from './src/build.js';
23
+ export { optimizeImages } from './src/build/image-optimizer.js';
24
+
25
+ // Router
26
+ export { Router, Link, useRouter } from './src/router/index.js';
27
+ export { SSRRouter } from './src/router/SSRRouter.js';
28
+
29
+ // Config
30
+ export { loadConfig, defaultConfig } from './src/config/index.js';
31
+
32
+ // Logger
33
+ export { default as logger } from './src/logger/logger.js';
34
+
35
+ // CLI
36
+ export { program } from './src/cli.js';
37
+
38
+ // Version
39
+ export const version = '1.2.0';
40
+
41
+ // Import for default export
42
+ import { compileProject, compileFile } from './src/client/compiler.js';
43
+ import { compileForBuild } from './src/build/compiler/index.js';
44
+ import { discoverRoutes } from './src/build/compiler/route-discoverer.js';
45
+ import { hmr } from './src/client/hmr-runtime.js';
46
+ import { optimizeImage, optimizeImagesBatch } from './src/image-optimizer/index.js';
47
+ import { optimizeImages } from './src/build/image-optimizer.js';
48
+ import { buildProduction } from './src/build.js';
49
+ import { Router, Link, useRouter } from './src/router/index.js';
50
+ import { SSRRouter } from './src/router/SSRRouter.js';
51
+ import { loadConfig, defaultConfig } from './src/config/index.js';
52
+ import logger from './src/logger/logger.js';
53
+ import { program } from './src/cli.js';
23
54
 
24
55
  // Default export
25
56
  export default {
26
- logger,
27
- defaultConfig,
28
- loadConfig,
29
- startDev,
30
- buildProduction,
31
- compileProject,
32
- buildCSS,
33
- copyCSS,
34
- program,
35
- version: "1.0.3"
57
+ compileProject,
58
+ compileFile,
59
+ compileForBuild,
60
+ discoverRoutes,
61
+ hmr,
62
+ optimizeImage,
63
+ optimizeImagesBatch,
64
+ optimizeImages,
65
+ buildProduction,
66
+ Router,
67
+ Link,
68
+ useRouter,
69
+ SSRRouter,
70
+ loadConfig,
71
+ defaultConfig,
72
+ logger,
73
+ program,
74
+ version: '1.2.0'
36
75
  };