swift-rust 0.2.0

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.
Files changed (56) hide show
  1. package/README.md +78 -0
  2. package/bin/dev-server.mjs +1360 -0
  3. package/bin/error-overlay.mjs +529 -0
  4. package/bin/runtime/hmr-client.js +77 -0
  5. package/bin/swift-rust.js +96 -0
  6. package/dist/env.d.ts +4 -0
  7. package/dist/env.d.ts.map +1 -0
  8. package/dist/env.js +3 -0
  9. package/dist/env.js.map +1 -0
  10. package/dist/font-google.d.ts +2 -0
  11. package/dist/font-google.d.ts.map +1 -0
  12. package/dist/font-google.js +2 -0
  13. package/dist/font-google.js.map +1 -0
  14. package/dist/font-local.d.ts +3 -0
  15. package/dist/font-local.d.ts.map +1 -0
  16. package/dist/font-local.js +2 -0
  17. package/dist/font-local.js.map +1 -0
  18. package/dist/font.d.ts +3 -0
  19. package/dist/font.d.ts.map +1 -0
  20. package/dist/font.js +2 -0
  21. package/dist/font.js.map +1 -0
  22. package/dist/head.d.ts +21 -0
  23. package/dist/head.d.ts.map +1 -0
  24. package/dist/head.jsx +15 -0
  25. package/dist/head.jsx.map +1 -0
  26. package/dist/image.d.ts +3 -0
  27. package/dist/image.d.ts.map +1 -0
  28. package/dist/image.js +2 -0
  29. package/dist/image.js.map +1 -0
  30. package/dist/index.d.ts +79 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +12 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/link.d.ts +10 -0
  35. package/dist/link.d.ts.map +1 -0
  36. package/dist/link.jsx +6 -0
  37. package/dist/link.jsx.map +1 -0
  38. package/dist/pdf.d.ts +3 -0
  39. package/dist/pdf.d.ts.map +1 -0
  40. package/dist/pdf.js +2 -0
  41. package/dist/pdf.js.map +1 -0
  42. package/dist/router.d.ts +30 -0
  43. package/dist/router.d.ts.map +1 -0
  44. package/dist/router.js +29 -0
  45. package/dist/router.js.map +1 -0
  46. package/dist/smoke.test.d.ts +2 -0
  47. package/dist/smoke.test.d.ts.map +1 -0
  48. package/dist/smoke.test.js +6 -0
  49. package/dist/smoke.test.js.map +1 -0
  50. package/dist/video.d.ts +4 -0
  51. package/dist/video.d.ts.map +1 -0
  52. package/dist/video.js +3 -0
  53. package/dist/video.js.map +1 -0
  54. package/package.json +127 -0
  55. package/scripts/package-native.ts +113 -0
  56. package/scripts/postinstall.js +151 -0
package/README.md ADDED
@@ -0,0 +1,78 @@
1
+ # swift-rust
2
+
3
+ The main `swift-rust` npm package. Installing it in a project gives you:
4
+
5
+ - A `swift-rust` bin on `PATH` (or via `npx swift-rust`).
6
+ - Imports for `<Image>`, `<Font>`, `<Document>`, `<Head>`, `<Link>`, etc.
7
+ - A `defineConfig` helper for `swift-rust.config.json`.
8
+
9
+ The framework binary is downloaded at install time from GitHub Releases. If no prebuilt binary is available for the user's platform, `cargo build` is run as a fallback.
10
+
11
+ ## Install
12
+
13
+ ```bash
14
+ npm install swift-rust
15
+ # or
16
+ bun add swift-rust
17
+ # or
18
+ yarn add swift-rust
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ ### CLI
24
+
25
+ ```bash
26
+ npx swift-rust dev # start dev server
27
+ npx swift-rust build # production build
28
+ npx swift-rust start # start production server
29
+ npx swift-rust info # print environment
30
+ ```
31
+
32
+ ### In code
33
+
34
+ ```tsx
35
+ import { Image, Inter, Document, Page, Text, View } from "swift-rust";
36
+
37
+ const inter = Inter({ subsets: ["latin"] });
38
+
39
+ export default function Home() {
40
+ return (
41
+ <html lang="en" className={inter.className}>
42
+ <body>
43
+ <Image src="/hero.jpg" width={1200} height={600} alt="Hero" priority />
44
+ </body>
45
+ </html>
46
+ );
47
+ }
48
+ ```
49
+
50
+ ## Subpath exports
51
+
52
+ | Path | What it exposes |
53
+ | ----------------------- | -------------------------------------------------------- |
54
+ | `swift-rust` | Everything (config, components, types). |
55
+ | `swift-rust/image` | `<Image>` component + types. |
56
+ | `swift-rust/font` | Font helpers + types. |
57
+ | `swift-rust/font/google`| Google Fonts families. |
58
+ | `swift-rust/font/local` | `localFont` for self-hosted fonts. |
59
+ | `swift-rust/pdf` | `<Document>`, `<Page>`, `<Text>`, `<View>`. |
60
+ | `swift-rust/env` | Env loading + `SWIFT_RUST_PUBLIC_*` helpers. |
61
+ | `swift-rust/router` | Route handler types. |
62
+ | `swift-rust/head` | `<Head>` metadata. |
63
+ | `swift-rust/link` | `<Link>` client navigation. |
64
+
65
+ ## Publishing
66
+
67
+ This package is built from `packages/swift-rust/` in the monorepo.
68
+
69
+ ```bash
70
+ # 1. Build native binaries for all platforms
71
+ SWIFT_RUST_VERSION=0.1.0 bun run scripts/package-native.ts
72
+
73
+ # 2. Publish to npm
74
+ cd packages/swift-rust
75
+ bun publish
76
+ ```
77
+
78
+ The `prepublishOnly` script runs both steps automatically.