create-shibumi 0.2.5 → 0.2.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.
@@ -62,7 +62,8 @@ const page = `<!doctype html>
62
62
  <head>
63
63
  <meta charset="utf-8" />
64
64
  <meta name="viewport" content="width=device-width, initial-scale=1" />
65
- <title>Shibumi web app</title>
65
+ <title>Web app · shibumi</title>
66
+ <link rel="stylesheet" href="/public/vendor/shibumi.css" />
66
67
  <link rel="stylesheet" href="/public/style.css" />
67
68
  <!-- app.js must load before Alpine so the alpine:init listener exists
68
69
  when Alpine starts; both defer, so document order is execution order. -->
@@ -70,14 +71,23 @@ const page = `<!doctype html>
70
71
  <script src="/public/vendor/alpine-csp-3.16.2.min.js" defer></script>
71
72
  </head>
72
73
  <body>
73
- <main>
74
- <h1>It runs.</h1>
75
- <p>Hono routes, Zod validation, Alpine behavior. To get started, open <code>src/app.ts</code>; this page lives there.</p>
76
- <section x-data="counter">
74
+ <main class="scaffold">
75
+ <p class="masthead"><span class="masthead-mark">渋み</span> shibumi web</p>
76
+ <h1>Web app</h1>
77
+ <p class="lede">Hono serves the routes, Zod validates every input, and Alpine runs the client behavior. Deploy to your own server with one command.</p>
78
+ <section class="demo" x-data="counter" aria-label="Alpine counter demo">
77
79
  <button x-on:click="inc" type="button">Count</button>
78
- <output x-text="count"></output>
80
+ <output x-text="count">0</output>
81
+ <span class="demo-hint">client state without a build step</span>
79
82
  </section>
80
- <p><a href="/api/hello?name=you">/api/hello</a> · <a href="/healthz">/healthz</a></p>
83
+ <ul class="endpoints">
84
+ <li><a href="/api/hello?name=you"><span class="endpoint-path">GET /api/hello</span><span>query validated with Zod</span></a></li>
85
+ <li><a href="/healthz"><span class="endpoint-path">GET /healthz</span><span>the check every deploy waits for</span></a></li>
86
+ </ul>
87
+ <footer class="colophon">
88
+ <p>This page lives in <code>src/app.ts</code>. House rules for coding agents are in <code>agents.md</code>. Add features with <code>bun shi add email</code>.</p>
89
+ <p class="colophon-links"><a href="https://shibumistack.dev/docs" rel="noreferrer">shibumi docs</a> · <a href="https://server.shibumistack.dev/docs" rel="noreferrer">server docs</a> · <a href="https://shibumistack.dev/docs/cli/extensions" rel="noreferrer">extensions</a></p>
90
+ </footer>
81
91
  </main>
82
92
  </body>
83
93
  </html>
@@ -29,7 +29,7 @@ describe("routes", () => {
29
29
  const res = await req("/");
30
30
  expect(res.status).toBe(200);
31
31
  const html = await res.text();
32
- expect(html).toContain("It runs.");
32
+ expect(html).toContain("Web app");
33
33
  // app.js must come before Alpine so the alpine:init listener registers
34
34
  // before Alpine starts.
35
35
  expect(html.indexOf("/public/app.js")).toBeLessThan(