create-geekron-website 0.1.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/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "create-geekron-website",
3
+ "version": "0.1.0",
4
+ "description": "CLI tool to create Geekron websites",
5
+ "type": "module",
6
+ "bin": {
7
+ "create-geekron-website": "./dist/index.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "files": [
11
+ "dist",
12
+ "templates"
13
+ ],
14
+ "scripts": {
15
+ "dev": "bun run src/index.ts",
16
+ "build": "bun build src/index.ts --outdir dist --target node",
17
+ "prepublishOnly": "bun run build"
18
+ },
19
+ "dependencies": {
20
+ "chalk": "^5.3.0",
21
+ "commander": "^12.1.0",
22
+ "fs-extra": "^11.2.0",
23
+ "ora": "^8.1.0",
24
+ "prompts": "^2.4.2"
25
+ },
26
+ "devDependencies": {
27
+ "@types/bun": "latest",
28
+ "@types/fs-extra": "^11.0.4",
29
+ "@types/prompts": "^2.4.9"
30
+ },
31
+ "peerDependencies": {
32
+ "typescript": "^5"
33
+ },
34
+ "keywords": [
35
+ "geekron",
36
+ "website",
37
+ "cli",
38
+ "strapi",
39
+ "hono"
40
+ ],
41
+ "license": "MIT"
42
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "geekron-website",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "scripts": {
6
+ "dev": "bun run --hot src/index.ts",
7
+ "build": "bun build src/index.ts --outdir dist --target node",
8
+ "start": "node dist/index.js"
9
+ },
10
+ "dependencies": {
11
+ "hono": "latest",
12
+ "@hono/node-server": "latest"
13
+ },
14
+ "devDependencies": {
15
+ "@types/bun": "latest",
16
+ "typescript": "^5"
17
+ }
18
+ }
@@ -0,0 +1,57 @@
1
+ import { Hono } from "hono";
2
+ import { serve } from "@hono/node-server";
3
+
4
+ const app = new Hono();
5
+
6
+ app.get("/", (c) => {
7
+ return c.html(`
8
+ <!DOCTYPE html>
9
+ <html lang="en">
10
+ <head>
11
+ <meta charset="UTF-8">
12
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
13
+ <title>Geekron Website</title>
14
+ <style>
15
+ * { margin: 0; padding: 0; box-sizing: border-box; }
16
+ body {
17
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
18
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
19
+ min-height: 100vh;
20
+ display: flex;
21
+ align-items: center;
22
+ justify-content: center;
23
+ }
24
+ .container {
25
+ text-align: center;
26
+ color: white;
27
+ padding: 2rem;
28
+ }
29
+ h1 { font-size: 3rem; margin-bottom: 1rem; }
30
+ p { font-size: 1.2rem; opacity: 0.9; }
31
+ .emoji { font-size: 4rem; margin-bottom: 1rem; }
32
+ </style>
33
+ </head>
34
+ <body>
35
+ <div class="container">
36
+ <div class="emoji">🚀</div>
37
+ <h1>Welcome to Geekron</h1>
38
+ <p>Your website is ready. Start building something amazing!</p>
39
+ </div>
40
+ </body>
41
+ </html>
42
+ `);
43
+ });
44
+
45
+ // Health check endpoint
46
+ app.get("/health", (c) => {
47
+ return c.json({ status: "ok" });
48
+ });
49
+
50
+ const port = Number(process.env.PORT) || 3000;
51
+
52
+ console.log(`Server is running on http://localhost:${port}`);
53
+
54
+ serve({
55
+ fetch: app.fetch,
56
+ port,
57
+ });
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "lib": ["ESNext"],
4
+ "target": "ESNext",
5
+ "module": "ESNext",
6
+ "moduleDetection": "force",
7
+ "jsx": "react-jsx",
8
+ "allowJs": true,
9
+ "moduleResolution": "bundler",
10
+ "allowImportingTsExtensions": true,
11
+ "verbatimModuleSyntax": true,
12
+ "noEmit": true,
13
+ "strict": true,
14
+ "skipLibCheck": true,
15
+ "noFallthroughCasesInSwitch": true,
16
+ "noUncheckedIndexedAccess": true,
17
+ "noImplicitOverride": true,
18
+ "noUnusedLocals": false,
19
+ "noUnusedParameters": false,
20
+ "noPropertyAccessFromIndexSignature": false
21
+ }
22
+ }