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.
- package/README.md +78 -0
- package/bin/dev-server.mjs +1360 -0
- package/bin/error-overlay.mjs +529 -0
- package/bin/runtime/hmr-client.js +77 -0
- package/bin/swift-rust.js +96 -0
- package/dist/env.d.ts +4 -0
- package/dist/env.d.ts.map +1 -0
- package/dist/env.js +3 -0
- package/dist/env.js.map +1 -0
- package/dist/font-google.d.ts +2 -0
- package/dist/font-google.d.ts.map +1 -0
- package/dist/font-google.js +2 -0
- package/dist/font-google.js.map +1 -0
- package/dist/font-local.d.ts +3 -0
- package/dist/font-local.d.ts.map +1 -0
- package/dist/font-local.js +2 -0
- package/dist/font-local.js.map +1 -0
- package/dist/font.d.ts +3 -0
- package/dist/font.d.ts.map +1 -0
- package/dist/font.js +2 -0
- package/dist/font.js.map +1 -0
- package/dist/head.d.ts +21 -0
- package/dist/head.d.ts.map +1 -0
- package/dist/head.jsx +15 -0
- package/dist/head.jsx.map +1 -0
- package/dist/image.d.ts +3 -0
- package/dist/image.d.ts.map +1 -0
- package/dist/image.js +2 -0
- package/dist/image.js.map +1 -0
- package/dist/index.d.ts +79 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/link.d.ts +10 -0
- package/dist/link.d.ts.map +1 -0
- package/dist/link.jsx +6 -0
- package/dist/link.jsx.map +1 -0
- package/dist/pdf.d.ts +3 -0
- package/dist/pdf.d.ts.map +1 -0
- package/dist/pdf.js +2 -0
- package/dist/pdf.js.map +1 -0
- package/dist/router.d.ts +30 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +29 -0
- package/dist/router.js.map +1 -0
- package/dist/smoke.test.d.ts +2 -0
- package/dist/smoke.test.d.ts.map +1 -0
- package/dist/smoke.test.js +6 -0
- package/dist/smoke.test.js.map +1 -0
- package/dist/video.d.ts +4 -0
- package/dist/video.d.ts.map +1 -0
- package/dist/video.js +3 -0
- package/dist/video.js.map +1 -0
- package/package.json +127 -0
- package/scripts/package-native.ts +113 -0
- 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.
|