Skip to content

Commit 4369cea

Browse files
committed
feat(web-host): update HomePage.tsx - more concise
1 parent 514c69f commit 4369cea

File tree

1 file changed

+28
-40
lines changed

1 file changed

+28
-40
lines changed

packages/web-host/src/components/HomePage.tsx

Lines changed: 28 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -28,59 +28,47 @@ export const HomePage = ({ onStartRepl }: HomePageProps) => {
2828

2929
<div className="bg-white rounded-2xl p-8 border border-[var(--color-wasi-purple)]/20 shadow-lg mb-12">
3030
<h3 className="text-2xl font-bold mb-4">What is it?</h3>
31-
<p className="text-gray-700 mb-4 text-lg">
32-
The WebAssembly Component Model enables interoperable WebAssembly
33-
libraries, but existing examples are either{" "}
34-
<strong>too simple</strong> or <strong>too complex</strong>. This
35-
project demonstrates its power with a{" "}
36-
<strong>practical implementation</strong> that goes{" "}
37-
<strong>beyond "hello world"</strong>.
38-
</p>
3931
<p className="text-gray-700 mb-6 text-lg">
40-
It's a{" "}
41-
<strong>REPL (Read-Eval-Print Loop) with a plugin system</strong>{" "}
42-
where plugins can be written in{" "}
43-
<strong>any language that compiles to WebAssembly</strong>. The
44-
plugins are <strong>sandboxed by default</strong>, and the core logic
45-
itself is written in Rust and also compiles to WebAssembly.
32+
A <strong>REPL with a plugin system</strong> that demonstrates the
33+
WebAssembly Component Model's power. Plugins can be written in{" "}
34+
<strong>any language that compiles to WASM</strong> and run in a{" "}
35+
<strong>sandboxed environment</strong>.
36+
<br />
37+
Existing examples are either <strong>too simple</strong> or{" "}
38+
<strong>too complex</strong> - this project goes{" "}
39+
<strong>beyond "hello world"</strong> with a{" "}
40+
<strong>practical implementation</strong>.
4641
</p>
4742

4843
<h3 className="text-2xl font-bold mb-4">This Web Version</h3>
49-
<p className="text-gray-700 mb-4 text-lg">
50-
You're currently using the <strong>web version</strong> of the REPL,
51-
built with React and TypeScript. There's also a corresponding{" "}
52-
<strong>Rust CLI version</strong> that runs in the terminal. Both
53-
versions load and execute the{" "}
54-
<strong>same WebAssembly components</strong> - the REPL logic and
55-
plugins are compiled once and run in both environments.
56-
</p>
57-
<p className="text-gray-700 mb-6 text-lg">
58-
This demonstrates how the WebAssembly Component Model enables{" "}
59-
<strong>true cross-platform compatibility</strong> - the same code
60-
runs in browsers and terminals with different host implementations.
61-
</p>
6244
<p className="text-gray-700 mb-6 text-lg">
63-
Plugins like <code>cat</code>, <code>ls</code> or <code>tee</code> can
64-
interact with a virtual filesystem using the primitives of the
65-
languages they are written in (like <code>std::fs::read_dir</code>,{" "}
66-
<code>std::fs::read_to_string</code> or <code>std::fs::write</code>).
45+
You're using the <strong>web version</strong> built with
46+
React/TypeScript. There's also a <strong>Rust CLI version</strong>.
47+
Both load the <strong>same WebAssembly components</strong>,
48+
demonstrating true cross-platform compatibility.
6749
</p>
6850

6951
<h4 className="text-xl font-bold mb-3">Key Features</h4>
7052
<ul className="text-gray-700 space-y-2 mb-3 text-base pl-4 list-disc">
71-
<li>WebAssembly Component Model architecture</li>
72-
<li>Dual host support (CLI + Web)</li>
73-
<li>Plugin system with sandboxed WebAssembly components</li>
7453
<li>
75-
Language-agnostic plugins (any language that compiles to WASM)
54+
<strong>WebAssembly Component Model</strong> architecture
55+
</li>
56+
<li>
57+
<strong>Dual host support</strong> (CLI + Web)
58+
</li>
59+
<li>
60+
<strong>Plugin system</strong> with sandboxed WASM components
61+
</li>
62+
<li>
63+
<strong>Language-agnostic</strong> plugins
64+
</li>
65+
<li>
66+
<strong>Virtual filesystem</strong> on the browser with WASI shim
67+
for filesystem (including <strong>WRITE</strong> operations)
7668
</li>
7769
<li>
78-
Virtual filesystem: the I/O operations are forwarded via a local
79-
fork of <code>@bytecodealliance/preview2-shim/filesystem</code>,
80-
which shims <code>wasi:filesystem</code> (yes, you can do{" "}
81-
<strong>WRITE</strong> operations)
70+
<strong>Modern React + TypeScript</strong> interface
8271
</li>
83-
<li>Modern React + TypeScript web interface</li>
8472
</ul>
8573

8674
<div className="flex flex-row gap-4 items-center justify-center mt-8">

0 commit comments

Comments
 (0)