create-volt 0.31.0 → 0.32.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/CHANGELOG.md +9 -0
- package/package.json +1 -1
- package/templates/default/public/favicon.webp +0 -0
- package/templates/default/public/logo.webp +0 -0
- package/templates/default/server.js +4 -0
- package/templates/default/setup/index.html +2 -1
- package/templates/default/setup/studio.html +2 -1
- package/templates/default/views/index.html +2 -1
- package/templates/starter/public/app.js +1 -1
- package/templates/starter/public/favicon.webp +0 -0
- package/templates/starter/public/logo.webp +0 -0
- package/templates/starter/server.js +4 -0
- package/templates/starter/setup/index.html +2 -1
- package/templates/starter/setup/studio.html +2 -1
- package/templates/starter/views/index.html +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,14 @@ All notable changes to `create-volt` are documented here. The format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/), and this project adheres to
|
|
5
5
|
[Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [0.32.0] - 2026-06-29
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
- **Brand refresh:** the ⚡ glyph is replaced with the Volt logo across the demo
|
|
11
|
+
app, the setup wizard, and Studio; scaffolded apps now ship `logo.webp` +
|
|
12
|
+
`favicon.webp` and link a favicon (so apps get a real tab icon). README titles
|
|
13
|
+
keep the ⚡.
|
|
14
|
+
|
|
7
15
|
## [0.31.0] - 2026-06-29
|
|
8
16
|
|
|
9
17
|
### Added
|
|
@@ -424,6 +432,7 @@ All notable changes to `create-volt` are documented here. The format follows
|
|
|
424
432
|
watching and full-page hot reload. Supports `--skip-install` and `--force`,
|
|
425
433
|
and auto-detects npm / pnpm / yarn / bun for the install step.
|
|
426
434
|
|
|
435
|
+
[0.32.0]: https://github.com/MIR-2025/volt/releases/tag/v0.32.0
|
|
427
436
|
[0.31.0]: https://github.com/MIR-2025/volt/releases/tag/v0.31.0
|
|
428
437
|
[0.30.0]: https://github.com/MIR-2025/volt/releases/tag/v0.30.0
|
|
429
438
|
[0.29.0]: https://github.com/MIR-2025/volt/releases/tag/v0.29.0
|
package/package.json
CHANGED
|
Binary file
|
|
Binary file
|
|
@@ -225,6 +225,8 @@ function startSetup() {
|
|
|
225
225
|
const assets = {
|
|
226
226
|
"/setup.js": ["text/javascript; charset=utf-8", fs.readFileSync(path.join(__dirname, "setup", "setup.js"))],
|
|
227
227
|
"/volt.js": ["text/javascript; charset=utf-8", fs.readFileSync(path.join(__dirname, "public", "volt.js"))],
|
|
228
|
+
"/logo.webp": ["image/webp", fs.readFileSync(path.join(__dirname, "public", "logo.webp"))],
|
|
229
|
+
"/favicon.webp": ["image/webp", fs.readFileSync(path.join(__dirname, "public", "favicon.webp"))],
|
|
228
230
|
};
|
|
229
231
|
const indexHtml = fs.readFileSync(path.join(__dirname, "setup", "index.html"));
|
|
230
232
|
|
|
@@ -381,6 +383,8 @@ async function startStudio() {
|
|
|
381
383
|
const visible = (n) => n && !HIDDEN_COLLECTIONS.has(n);
|
|
382
384
|
const assets = {
|
|
383
385
|
"/volt.js": ["text/javascript; charset=utf-8", fs.readFileSync(path.join(__dirname, "public", "volt.js"))],
|
|
386
|
+
"/logo.webp": ["image/webp", fs.readFileSync(path.join(__dirname, "public", "logo.webp"))],
|
|
387
|
+
"/favicon.webp": ["image/webp", fs.readFileSync(path.join(__dirname, "public", "favicon.webp"))],
|
|
384
388
|
"/db-admin-ui.js": ["text/javascript; charset=utf-8", fs.readFileSync(path.join(ADDONS_DIR, "db", "files", "public", "db-admin-ui.js"))],
|
|
385
389
|
};
|
|
386
390
|
const studioHtml = fs.readFileSync(path.join(__dirname, "setup", "studio.html"));
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<link rel="icon" href="/favicon.webp" />
|
|
6
7
|
<title>Set up your Volt app</title>
|
|
7
8
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />
|
|
8
9
|
<style>
|
|
@@ -17,7 +18,7 @@
|
|
|
17
18
|
<body>
|
|
18
19
|
<main class="container py-5" style="max-width: 640px;">
|
|
19
20
|
<header class="mb-4">
|
|
20
|
-
<h1 class="h3"><span class="accent"
|
|
21
|
+
<h1 class="h3"><span class="accent"><img src="/logo.webp" alt="" style="height:1em;vertical-align:-.15em" /> Set up your Volt app</span></h1>
|
|
21
22
|
<p class="text-muted mb-0">Fill these in and the app starts. This page is disposable — it disappears once you click Apply. Re-open it anytime with <code>npm run dev -- --edit</code>.</p>
|
|
22
23
|
</header>
|
|
23
24
|
<div id="app"></div>
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<link rel="icon" href="/favicon.webp" />
|
|
6
7
|
<title>Volt Studio</title>
|
|
7
8
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />
|
|
8
9
|
<style>
|
|
@@ -14,7 +15,7 @@
|
|
|
14
15
|
<body>
|
|
15
16
|
<main class="container py-5" style="max-width: 820px;">
|
|
16
17
|
<header class="mb-4">
|
|
17
|
-
<h1 class="h3"><span class="accent"
|
|
18
|
+
<h1 class="h3"><span class="accent"><img src="/logo.webp" alt="" style="height:1em;vertical-align:-.15em" /> Volt Studio</span> <small class="text-muted">data browser</small></h1>
|
|
18
19
|
<p class="text-muted mb-0">Browse the database in your <code>.env</code>. Disposable & localhost-only — close the terminal when done.</p>
|
|
19
20
|
</header>
|
|
20
21
|
<div id="app"></div>
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<link rel="icon" href="/favicon.webp" />
|
|
6
7
|
<title>Volt — signals, no build, hot reload</title>
|
|
7
8
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />
|
|
8
9
|
<style>
|
|
@@ -19,7 +20,7 @@
|
|
|
19
20
|
<body>
|
|
20
21
|
<main class="container py-5" style="max-width: 720px;">
|
|
21
22
|
<header class="text-center mb-5">
|
|
22
|
-
<h1 class="brand display-5"><span class="accent"
|
|
23
|
+
<h1 class="brand display-5"><span class="accent"><img src="/logo.webp" alt="" style="height:1em;vertical-align:-.15em" /> Volt</span></h1>
|
|
23
24
|
<p class="text-muted mb-0">
|
|
24
25
|
Fine-grained signals · no JSX · no virtual DOM · live hot reload.
|
|
25
26
|
Edit <code>public/app.js</code> and save — this page reloads itself.
|
|
@@ -147,7 +147,7 @@ const TABS = [
|
|
|
147
147
|
const nav = () =>
|
|
148
148
|
html`<nav class="navx py-2 mb-4">
|
|
149
149
|
<div class="container d-flex align-items-center" style="max-width:760px">
|
|
150
|
-
<span class="brand me-3"><span class="accent"
|
|
150
|
+
<span class="brand me-3"><span class="accent"><img src="/logo.webp" alt="" style="height:1em;vertical-align:-.15em" /> Volt</span></span>
|
|
151
151
|
${TABS.map(([key, label]) => html`<button class=${() => "btn btn-link btn-sm " + (section() === key ? "active" : "")} onclick=${() => section(key)}>${label}</button>`)}
|
|
152
152
|
<span class="ms-auto small text-muted">${() => (me() ? shortName(me()) : "guest")}</span>
|
|
153
153
|
</div>
|
|
Binary file
|
|
Binary file
|
|
@@ -251,6 +251,8 @@ function startSetup() {
|
|
|
251
251
|
const assets = {
|
|
252
252
|
"/setup.js": ["text/javascript; charset=utf-8", fs.readFileSync(path.join(__dirname, "setup", "setup.js"))],
|
|
253
253
|
"/volt.js": ["text/javascript; charset=utf-8", fs.readFileSync(path.join(__dirname, "public", "volt.js"))],
|
|
254
|
+
"/logo.webp": ["image/webp", fs.readFileSync(path.join(__dirname, "public", "logo.webp"))],
|
|
255
|
+
"/favicon.webp": ["image/webp", fs.readFileSync(path.join(__dirname, "public", "favicon.webp"))],
|
|
254
256
|
};
|
|
255
257
|
const indexHtml = fs.readFileSync(path.join(__dirname, "setup", "index.html"));
|
|
256
258
|
|
|
@@ -407,6 +409,8 @@ async function startStudio() {
|
|
|
407
409
|
const visible = (n) => n && !HIDDEN_COLLECTIONS.has(n);
|
|
408
410
|
const assets = {
|
|
409
411
|
"/volt.js": ["text/javascript; charset=utf-8", fs.readFileSync(path.join(__dirname, "public", "volt.js"))],
|
|
412
|
+
"/logo.webp": ["image/webp", fs.readFileSync(path.join(__dirname, "public", "logo.webp"))],
|
|
413
|
+
"/favicon.webp": ["image/webp", fs.readFileSync(path.join(__dirname, "public", "favicon.webp"))],
|
|
410
414
|
"/db-admin-ui.js": ["text/javascript; charset=utf-8", fs.readFileSync(path.join(ADDONS_DIR, "db", "files", "public", "db-admin-ui.js"))],
|
|
411
415
|
};
|
|
412
416
|
const studioHtml = fs.readFileSync(path.join(__dirname, "setup", "studio.html"));
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<link rel="icon" href="/favicon.webp" />
|
|
6
7
|
<title>Set up your Volt app</title>
|
|
7
8
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />
|
|
8
9
|
<style>
|
|
@@ -17,7 +18,7 @@
|
|
|
17
18
|
<body>
|
|
18
19
|
<main class="container py-5" style="max-width: 640px;">
|
|
19
20
|
<header class="mb-4">
|
|
20
|
-
<h1 class="h3"><span class="accent"
|
|
21
|
+
<h1 class="h3"><span class="accent"><img src="/logo.webp" alt="" style="height:1em;vertical-align:-.15em" /> Set up your Volt app</span></h1>
|
|
21
22
|
<p class="text-muted mb-0">Fill these in and the app starts. This page is disposable — it disappears once you click Apply. Re-open it anytime with <code>npm run dev -- --edit</code>.</p>
|
|
22
23
|
</header>
|
|
23
24
|
<div id="app"></div>
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<link rel="icon" href="/favicon.webp" />
|
|
6
7
|
<title>Volt Studio</title>
|
|
7
8
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />
|
|
8
9
|
<style>
|
|
@@ -14,7 +15,7 @@
|
|
|
14
15
|
<body>
|
|
15
16
|
<main class="container py-5" style="max-width: 820px;">
|
|
16
17
|
<header class="mb-4">
|
|
17
|
-
<h1 class="h3"><span class="accent"
|
|
18
|
+
<h1 class="h3"><span class="accent"><img src="/logo.webp" alt="" style="height:1em;vertical-align:-.15em" /> Volt Studio</span> <small class="text-muted">data browser</small></h1>
|
|
18
19
|
<p class="text-muted mb-0">Browse the database in your <code>.env</code>. Disposable & localhost-only — close the terminal when done.</p>
|
|
19
20
|
</header>
|
|
20
21
|
<div id="app"></div>
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8" />
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
<link rel="icon" href="/favicon.webp" />
|
|
6
7
|
<title>Volt starter</title>
|
|
7
8
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" />
|
|
8
9
|
<style>
|