Skip to content

Commit 58b10d8

Browse files
chore: rebrand from jssd to jspod
- Change package name from jssd to jspod (5 chars, easy to type) - Update ASCII art to display "jspod" instead of "JSSD" - Update branding: JavaScript Solid Pod - Update GitHub repo URL and all references - Avoids npm naming conflict with existing jss package
1 parent 2cb3d23 commit 58b10d8

6 files changed

Lines changed: 139 additions & 50 deletions

File tree

README.md

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
# JSSD - JavaScript Solid Server Daemon
1+
# jspod - JavaScript Solid Pod
22

33
> **Just works**. Batteries included. Zero configuration.
44
5-
[![npm version](https://img.shields.io/npm/v/jssd.svg)](https://www.npmjs.com/package/jssd)
5+
[![npm version](https://img.shields.io/npm/v/jspod.svg)](https://www.npmjs.com/package/jspod)
66
[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
77

8-
**JSSD** is the easiest way to run a [Solid](https://solidproject.org) server. It's a thin wrapper around [JavaScriptSolidServer](https://github.com/JavaScriptSolidServer/JavaScriptSolidServer) with sensible defaults and a beautiful CLI.
8+
**jspod** is the easiest way to run a [Solid](https://solidproject.org) server. It's a thin wrapper around [JavaScriptSolidServer](https://github.com/JavaScriptSolidServer/JavaScriptSolidServer) with sensible defaults and a beautiful CLI.
99

1010
## 🚀 Quick Start
1111

1212
```bash
1313
# Run instantly with npx (no installation required!)
14-
npx jssd
14+
npx jspod
1515

1616
# That's it! Your Solid server is running at http://localhost:3000
1717
```
@@ -20,7 +20,7 @@ npx jssd
2020

2121
### 🎯 Just Works
2222
- **Zero configuration** - Smart defaults for everything
23-
- **One command** - `npx jssd` and you're running
23+
- **One command** - `npx jspod` and you're running
2424
- **Beautiful CLI** - Gorgeous terminal output that makes you smile
2525

2626
### 🔋 Batteries Included
@@ -39,21 +39,21 @@ Built on [JavaScriptSolidServer](https://github.com/JavaScriptSolidServer/JavaSc
3939
### No Installation (Recommended)
4040

4141
```bash
42-
npx jssd
42+
npx jspod
4343
```
4444

4545
### Global Installation
4646

4747
```bash
48-
npm install -g jssd
49-
jssd
48+
npm install -g jspod
49+
jspod
5050
```
5151

5252
### Local Installation
5353

5454
```bash
55-
npm install jssd
56-
npx jssd
55+
npm install jspod
56+
npx jspod
5757
```
5858

5959
## 🎮 Usage
@@ -62,16 +62,16 @@ npx jssd
6262

6363
```bash
6464
# Start with defaults (port 3000, single-user)
65-
jssd
65+
jspod
6666

6767
# Custom port
68-
jssd --port 8080
68+
jspod --port 8080
6969

7070
# Custom data directory
71-
jssd --root /var/pods
71+
jspod --root /var/pods
7272

7373
# Multi-user mode
74-
jssd --multiuser
74+
jspod --multiuser
7575
```
7676

7777
### CLI Options
@@ -96,7 +96,7 @@ export TOKEN_SECRET="your-secret-key-here"
9696
export NODE_ENV="production"
9797

9898
# Run server
99-
jssd
99+
jspod
100100
```
101101

102102
### Production Deployment
@@ -115,8 +115,8 @@ jssd
115115
3. **Run as a service**
116116
```bash
117117
# Example systemd service
118-
sudo systemctl enable jssd
119-
sudo systemctl start jssd
118+
sudo systemctl enable jspod
119+
sudo systemctl start jspod
120120
```
121121

122122
4. **Set up backups**
@@ -125,7 +125,7 @@ jssd
125125

126126
5. **Monitor logs**
127127
```bash
128-
jssd --verbose > jssd.log 2>&1
128+
jspod --verbose > jspod.log 2>&1
129129
```
130130

131131
## 🏃 Quickstart Examples
@@ -134,7 +134,7 @@ jssd
134134

135135
```bash
136136
# Start your personal Solid pod
137-
jssd
137+
jspod
138138

139139
# Visit http://localhost:3000 in your browser
140140
# Register with passkey, start storing data!
@@ -144,7 +144,7 @@ jssd
144144

145145
```bash
146146
# Run a server for multiple users
147-
jssd --multiuser --port 443 --root /var/solid-pods
147+
jspod --multiuser --port 443 --root /var/solid-pods
148148

149149
# Users can register and get their own pod space
150150
```
@@ -153,26 +153,26 @@ jssd --multiuser --port 443 --root /var/solid-pods
153153

154154
```bash
155155
# Run on custom port for development
156-
jssd --port 8080 --root ./dev-data
156+
jspod --port 8080 --root ./dev-data
157157
```
158158

159-
## 🆚 JSSD vs JavaScriptSolidServer
159+
## 🆚 jspod vs JavaScriptSolidServer
160160

161-
| Feature | JavaScriptSolidServer | JSSD |
161+
| Feature | JavaScriptSolidServer | jspod |
162162
|---------|----------------------|------|
163-
| Installation | `npm install -g javascript-solid-server` | `npx jssd` |
163+
| Installation | `npm install -g javascript-solid-server` | `npx jspod` |
164164
| Configuration | Config file required | Smart defaults |
165-
| Commands | `jss start [options]` | `jssd` |
165+
| Commands | `jss start [options]` | `jspod` |
166166
| First run | 5+ steps | 1 command |
167167
| Use case | Power users, customization | Quick start, demos |
168168

169169
**When to use JavaScriptSolidServer**: Production deployments, custom configuration, advanced features
170170

171-
**When to use JSSD**: Quick demos, local development, "just want it to work"
171+
**When to use jspod**: Quick demos, local development, "just want it to work"
172172

173173
## 🛠️ How It Works
174174

175-
JSSD is a thin wrapper that:
175+
jspod is a thin wrapper that:
176176

177177
1. Provides sensible defaults
178178
2. Creates beautiful CLI output
@@ -181,7 +181,7 @@ JSSD is a thin wrapper that:
181181

182182
### Enabled Features
183183

184-
Under the hood, JSSD runs JavaScriptSolidServer with these options:
184+
Under the hood, jspod runs JavaScriptSolidServer with these options:
185185

186186
| Feature | JSS Flag | Description |
187187
|---------|----------|-------------|
@@ -207,7 +207,7 @@ Under the hood, JSSD runs JavaScriptSolidServer with these options:
207207

208208
**Step 1**: Start the server
209209
```bash
210-
npx jssd
210+
npx jspod
211211
```
212212

213213
**Step 2**: Open your browser to `http://localhost:3000`
@@ -223,7 +223,7 @@ npx jssd
223223
- Your data stays on your server
224224

225225
**Troubleshooting**:
226-
- **Port in use?** Run `jssd --port 3001`
226+
- **Port in use?** Run `jspod --port 3001`
227227
- **Data location?** Check `./pod-data` directory
228228
- **Can't register?** Make sure your browser supports WebAuthn (Chrome, Firefox, Safari, Edge all work)
229229

@@ -235,15 +235,15 @@ npx jssd
235235

236236
### Resources
237237

238-
- **JSSD**: https://github.com/JavaScriptSolidServer/jssd
238+
- **jspod**: https://github.com/JavaScriptSolidServer/jspod
239239
- **JavaScriptSolidServer**: https://github.com/JavaScriptSolidServer/JavaScriptSolidServer
240240
- **Solid Project**: https://solidproject.org
241241
- **Solid Spec**: https://solidproject.org/TR/protocol
242242
- **WebID**: https://www.w3.org/2005/Incubator/webid/spec
243243

244244
## 🤝 Contributing
245245

246-
Contributions welcome! JSSD is intentionally simple - we want to keep it that way.
246+
Contributions welcome! jspod is intentionally simple - we want to keep it that way.
247247

248248
**Philosophy**:
249249
- Simple over complex
@@ -258,12 +258,12 @@ MIT - see [LICENSE](./LICENSE)
258258

259259
## 🙏 Credits
260260

261-
JSSD is built on top of the excellent [JavaScriptSolidServer](https://github.com/JavaScriptSolidServer/JavaScriptSolidServer) by Melvin Carvalho and contributors.
261+
jspod is built on top of the excellent [JavaScriptSolidServer](https://github.com/JavaScriptSolidServer/JavaScriptSolidServer) by Melvin Carvalho and contributors.
262262

263263
## 💬 Support
264264

265-
- **Issues**: https://github.com/JavaScriptSolidServer/jssd/issues
266-
- **Discussions**: https://github.com/JavaScriptSolidServer/jssd/discussions
265+
- **Issues**: https://github.com/JavaScriptSolidServer/jspod/issues
266+
- **Discussions**: https://github.com/JavaScriptSolidServer/jspod/discussions
267267
- **Solid Forum**: https://forum.solidproject.org
268268

269269
---

count-banner.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
#!/usr/bin/env node
2+
3+
// Count characters in the new banner lines
4+
5+
const lines = [
6+
' ', // Line 83 (empty)
7+
' ██╗███████╗███████╗██████╗ ', // Line 84
8+
' ██║██╔════╝██╔════╝██╔══██╗ ', // Line 85
9+
' ██║███████╗███████╗██║ ██║ ', // Line 86
10+
' ██ ██║╚════██║╚════██║██║ ██║ ', // Line 87
11+
' ╚█████╔╝███████║███████║██████╔╝ ', // Line 88
12+
' ╚════╝ ╚══════╝╚══════╝╚═════╝ ', // Line 89
13+
' ', // Line 90 (empty)
14+
' JavaScript Solid Pod ', // Line 91 (NEW)
15+
' Batteries included, just works ', // Line 92
16+
' ', // Line 93 (empty)
17+
];
18+
19+
console.log('Banner line lengths:\n');
20+
lines.forEach((line, i) => {
21+
const lineNum = 83 + i;
22+
console.log(`Line ${lineNum}: ${line.length} chars | "${line}"`);
23+
});
24+
25+
// Check the text content lengths
26+
console.log('\nText content only:');
27+
console.log(`"JavaScript Solid Pod" = ${'JavaScript Solid Pod'.length} chars`);
28+
console.log(`"Batteries included, just works" = ${'Batteries included, just works'.length} chars`);

index.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/usr/bin/env node
22

33
/**
4-
* JSSD - JavaScript Solid Server Daemon
4+
* jspod - JavaScript Solid Pod
55
* Just works, batteries included
66
*/
77

@@ -39,7 +39,7 @@ for (let i = 0; i < args.length; i++) {
3939
} else if (arg === '--help') {
4040
console.log(chalk.cyan(`
4141
╔═══════════════════════════════════════════════════════════════════╗
42-
JSSD - Help ║
42+
jspod - Help ║
4343
╚═══════════════════════════════════════════════════════════════════╝
4444
`));
4545
console.log(chalk.white('Usage:'));
@@ -81,14 +81,14 @@ if (!existsSync(options.root)) {
8181
console.log(chalk.cyan(`
8282
╔═══════════════════════════════════════════════════════════════════╗
8383
║ ║
84-
${chalk.bold.white(' ██╗███████╗███████╗██████╗ ')}
85-
${chalk.bold.white(' ██║██╔════╝██╔════╝██╔══██╗')}
86-
${chalk.bold.white(' ██║███████╗███████╗██║ ██║')}
87-
${chalk.bold.white('██ ██║╚════██║═══██║██║ ██║')}
88-
${chalk.bold.white('╚█████╔╝███████║███████║██████╔╝')}
89-
${chalk.bold.white(' ╚════╝ ╚══════╝╚══════╝╚═════╝ ')}
84+
${chalk.bold.white('██╗███████╗██████╗ ██████╗ ██████╗ ')}
85+
${chalk.bold.white('██║██╔════╝██╔══██╗██╔═══██╗██╔══██╗')}
86+
${chalk.bold.white('██║███████╗██████╔╝██║ ██║██║ ██║')}
87+
${chalk.bold.white('██ ██║╚════██║██╔═══██║ ██║██║ ██║')}
88+
${chalk.bold.white('╚█████╔╝███████║██║ ╚██████╔╝█████╔╝')}
89+
${chalk.bold.white('╚════╝ ╚══════╝╚═╝ ╚═════╝ ╚═════╝ ')}
9090
║ ║
91-
${chalk.bold.yellow('JavaScript Solid Server - Daemon Edition')}
91+
${chalk.bold.yellow('JavaScript Solid Pod')}
9292
${chalk.dim('Batteries included, just works')}
9393
║ ║
9494
╚═══════════════════════════════════════════════════════════════════╝

jspod-ascii.js

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/usr/bin/env node
2+
3+
// Generate jspod ASCII art with proper spacing
4+
5+
const asciiLines = [
6+
' ██╗███████╗██████╗ ██████╗ ██████╗ ',
7+
' ██║██╔════╝██╔══██╗██╔═══██╗██╔══██╗',
8+
' ██║███████╗██████╔╝██║ ██║██║ ██║',
9+
'██ ██║╚════██║██╔═══╝ ██║ ██║██║ ██║',
10+
'╚█████╔╝███████║██║ ╚██████╔╝██████╔╝',
11+
' ╚════╝ ╚══════╝╚═╝ ╚═════╝ ╚═════╝ ',
12+
];
13+
14+
console.log('ASCII art content lengths:\n');
15+
asciiLines.forEach((line, i) => {
16+
console.log(`Row ${i + 1}: ${line.length} chars | "${line}"`);
17+
});
18+
19+
// Calculate spacing for 67-char total
20+
const targetLength = 67;
21+
console.log('\nSpacing calculation:');
22+
asciiLines.forEach((line, i) => {
23+
const contentLength = line.length;
24+
const spacesNeeded = targetLength - contentLength;
25+
const leftSpaces = Math.floor(spacesNeeded / 2);
26+
const rightSpaces = spacesNeeded - leftSpaces;
27+
28+
console.log(`Row ${i + 1}: ${leftSpaces} left + ${contentLength} content + ${rightSpaces} right = ${leftSpaces + contentLength + rightSpaces}`);
29+
});
30+
31+
// Generate the properly spaced lines
32+
console.log('\nProperly formatted banner lines:\n');
33+
asciiLines.forEach((line, i) => {
34+
const contentLength = line.length;
35+
const spacesNeeded = targetLength - contentLength;
36+
const leftSpaces = Math.floor(spacesNeeded / 2);
37+
const rightSpaces = spacesNeeded - leftSpaces;
38+
39+
const formatted = ' '.repeat(leftSpaces) + line + ' '.repeat(rightSpaces);
40+
console.log(`Line ${i + 1}: "${formatted}" (${formatted.length} chars)`);
41+
});

package.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
{
2-
"name": "jssd",
2+
"name": "jspod",
33
"version": "0.0.1",
4-
"description": "JavaScript Solid Server Daemon - Just works, batteries included",
4+
"description": "JavaScript Solid Pod - Just works, batteries included",
55
"type": "module",
66
"main": "index.js",
77
"bin": {
8-
"jssd": "./index.js"
8+
"jspod": "./index.js"
99
},
1010
"scripts": {
1111
"start": "node index.js"
1212
},
1313
"repository": {
1414
"type": "git",
15-
"url": "git+https://github.com/JavaScriptSolidServer/jssd.git"
15+
"url": "git+https://github.com/JavaScriptSolidServer/jspod.git"
1616
},
1717
"keywords": [
1818
"solid",
@@ -29,9 +29,9 @@
2929
"author": "Melvin Carvalho",
3030
"license": "MIT",
3131
"bugs": {
32-
"url": "https://github.com/JavaScriptSolidServer/jssd/issues"
32+
"url": "https://github.com/JavaScriptSolidServer/jspod/issues"
3333
},
34-
"homepage": "https://github.com/JavaScriptSolidServer/jssd#readme",
34+
"homepage": "https://github.com/JavaScriptSolidServer/jspod#readme",
3535
"engines": {
3636
"node": ">=18.0.0"
3737
},

verify-spacing.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/usr/bin/env node
2+
3+
// Verify the exact spacing in the banner
4+
5+
const lines = [
6+
{ leading: ' ', content: '██╗███████╗██████╗ ██████╗ ██████╗ ', trailing: ' ' }, // Line 84
7+
{ leading: ' ', content: '██║██╔════╝██╔══██╗██╔═══██╗██╔══██╗', trailing: ' ' }, // Line 85
8+
{ leading: ' ', content: '██║███████╗██████╔╝██║ ██║██║ ██║', trailing: ' ' }, // Line 86
9+
{ leading: ' ', content: '██ ██║╚════██║██╔═══╝ ██║ ██║██║ ██║', trailing: ' ' }, // Line 87
10+
{ leading: ' ', content: '╚█████╔╝███████║██║ ╚██████╔╝██████╔╝', trailing: ' ' }, // Line 88
11+
{ leading: ' ', content: ' ╚════╝ ╚══════╝╚═╝ ╚═════╝ ╚═════╝ ', trailing: ' ' }, // Line 89
12+
];
13+
14+
console.log('Verifying banner spacing:\n');
15+
lines.forEach((line, i) => {
16+
const lineNum = 84 + i;
17+
const total = line.leading.length + line.content.length + line.trailing.length;
18+
const status = total === 67 ? '✓' : '✗';
19+
console.log(`Line ${lineNum}: ${line.leading.length} + ${line.content.length} + ${line.trailing.length} = ${total} ${status}`);
20+
});

0 commit comments

Comments
 (0)