create-airjam 0.1.4 → 0.1.6
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/dist/index.js +16 -4
- package/package.json +2 -2
- package/templates/pong/airjam-docs/getting-started/architecture/page.md +1 -1
- package/templates/pong/airjam-docs/getting-started/introduction/page.md +1 -1
- package/templates/pong/airjam-docs/sdk/hooks/page.md +1 -3
- package/templates/pong/dist/assets/index-BwJ4uU20.js +269 -0
- package/templates/pong/dist/assets/index-D42jDbB5.css +1 -0
- package/templates/pong/dist/index.html +19 -0
- package/templates/pong/node_modules/.bin/air-jam-server +17 -0
- package/templates/pong/node_modules/.bin/eslint +17 -0
- package/templates/pong/node_modules/.bin/eslint-config-prettier +17 -0
- package/templates/pong/node_modules/.bin/tsc +17 -0
- package/templates/pong/node_modules/.bin/tsserver +17 -0
- package/templates/pong/node_modules/.bin/vite +17 -0
- package/templates/pong/node_modules/.vite/deps/@radix-ui_react-dialog.js +1680 -0
- package/templates/pong/node_modules/.vite/deps/@radix-ui_react-dialog.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/@radix-ui_react-slider.js +638 -0
- package/templates/pong/node_modules/.vite/deps/@radix-ui_react-slider.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/@radix-ui_react-slot.js +129 -0
- package/templates/pong/node_modules/.vite/deps/@radix-ui_react-slot.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/@radix-ui_react-tabs.js +434 -0
- package/templates/pong/node_modules/.vite/deps/@radix-ui_react-tabs.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/_metadata.json +163 -0
- package/templates/pong/node_modules/.vite/deps/chunk-6G72RLJL.js +1004 -0
- package/templates/pong/node_modules/.vite/deps/chunk-6G72RLJL.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/chunk-BHOBIW4J.js +99 -0
- package/templates/pong/node_modules/.vite/deps/chunk-BHOBIW4J.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/chunk-E44IQKDY.js +49 -0
- package/templates/pong/node_modules/.vite/deps/chunk-E44IQKDY.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/chunk-E5X4SHYG.js +21 -0
- package/templates/pong/node_modules/.vite/deps/chunk-E5X4SHYG.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/chunk-G3PMV62Z.js +35 -0
- package/templates/pong/node_modules/.vite/deps/chunk-G3PMV62Z.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/chunk-LI6KBZ3D.js +292 -0
- package/templates/pong/node_modules/.vite/deps/chunk-LI6KBZ3D.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/chunk-MDNXVKSA.js +337 -0
- package/templates/pong/node_modules/.vite/deps/chunk-MDNXVKSA.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/chunk-METQ356G.js +280 -0
- package/templates/pong/node_modules/.vite/deps/chunk-METQ356G.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/chunk-NPTAWNEA.js +171 -0
- package/templates/pong/node_modules/.vite/deps/chunk-NPTAWNEA.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/class-variance-authority.js +51 -0
- package/templates/pong/node_modules/.vite/deps/class-variance-authority.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/clsx.js +9 -0
- package/templates/pong/node_modules/.vite/deps/clsx.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/howler.js +2241 -0
- package/templates/pong/node_modules/.vite/deps/howler.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/html5-qrcode.js +29350 -0
- package/templates/pong/node_modules/.vite/deps/html5-qrcode.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/lucide-react.js +28662 -0
- package/templates/pong/node_modules/.vite/deps/lucide-react.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/package.json +3 -0
- package/templates/pong/node_modules/.vite/deps/qrcode.js +2083 -0
- package/templates/pong/node_modules/.vite/deps/qrcode.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/react-dom.js +6 -0
- package/templates/pong/node_modules/.vite/deps/react-dom.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/react-dom_client.js +20217 -0
- package/templates/pong/node_modules/.vite/deps/react-dom_client.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/react-router-dom.js +13900 -0
- package/templates/pong/node_modules/.vite/deps/react-router-dom.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/react.js +5 -0
- package/templates/pong/node_modules/.vite/deps/react.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/react_jsx-dev-runtime.js +278 -0
- package/templates/pong/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/react_jsx-runtime.js +6 -0
- package/templates/pong/node_modules/.vite/deps/react_jsx-runtime.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/socket__io-client.js +3422 -0
- package/templates/pong/node_modules/.vite/deps/socket__io-client.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/tailwind-merge.js +2534 -0
- package/templates/pong/node_modules/.vite/deps/tailwind-merge.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/zod.js +13810 -0
- package/templates/pong/node_modules/.vite/deps/zod.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/zustand.js +56 -0
- package/templates/pong/node_modules/.vite/deps/zustand.js.map +7 -0
- package/templates/pong/node_modules/.vite/deps/zustand_react_shallow.js +77 -0
- package/templates/pong/node_modules/.vite/deps/zustand_react_shallow.js.map +7 -0
- package/templates/pong/package.json +3 -4
- package/templates/pong/src/App.tsx +1 -2
- package/templates/pong/src/controller-view.tsx +1 -1
- package/templates/pong/tsconfig.json +4 -2
- package/templates/pong/vite.config.ts +3 -0
package/dist/index.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
// src/index.ts
|
|
4
4
|
import { program } from "commander";
|
|
5
|
-
import { execSync } from "child_process";
|
|
6
5
|
import fs from "fs-extra";
|
|
7
6
|
import kleur from "kleur";
|
|
7
|
+
import { execSync } from "child_process";
|
|
8
8
|
import path from "path";
|
|
9
9
|
import { fileURLToPath } from "url";
|
|
10
10
|
import prompts from "prompts";
|
|
@@ -29,7 +29,12 @@ async function main() {
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
const targetDir = path.resolve(process.cwd(), projectName);
|
|
32
|
-
const templateDir = path.resolve(
|
|
32
|
+
const templateDir = path.resolve(
|
|
33
|
+
__dirname,
|
|
34
|
+
"..",
|
|
35
|
+
"templates",
|
|
36
|
+
options.template
|
|
37
|
+
);
|
|
33
38
|
if (!fs.existsSync(templateDir)) {
|
|
34
39
|
console.log(kleur.red(`Template "${options.template}" not found`));
|
|
35
40
|
process.exit(1);
|
|
@@ -92,6 +97,7 @@ Creating project in ${targetDir}...
|
|
|
92
97
|
});
|
|
93
98
|
console.log(kleur.green("\n\u2713 Dependencies installed successfully!\n"));
|
|
94
99
|
} catch (error) {
|
|
100
|
+
console.error(error);
|
|
95
101
|
console.log(
|
|
96
102
|
kleur.yellow(
|
|
97
103
|
"\n\u26A0 Failed to install dependencies automatically. Please run 'pnpm install' manually.\n"
|
|
@@ -101,12 +107,18 @@ Creating project in ${targetDir}...
|
|
|
101
107
|
console.log("Next steps:\n");
|
|
102
108
|
console.log(kleur.cyan(` cd ${projectName}`));
|
|
103
109
|
console.log(kleur.cyan(" cp .env.example .env"));
|
|
104
|
-
console.log(
|
|
110
|
+
console.log(
|
|
111
|
+
kleur.cyan(
|
|
112
|
+
" # Edit .env and set AIR_JAM_MASTER_KEY (optional for local dev)"
|
|
113
|
+
)
|
|
114
|
+
);
|
|
105
115
|
console.log(kleur.cyan(" pnpm run dev:server # Terminal 1 - Start server"));
|
|
106
116
|
console.log(kleur.cyan(" pnpm run dev # Terminal 2 - Start game"));
|
|
107
117
|
console.log("");
|
|
108
118
|
console.log(
|
|
109
|
-
kleur.dim(
|
|
119
|
+
kleur.dim(
|
|
120
|
+
"Then open http://localhost:5173 and scan the QR code with your phone!"
|
|
121
|
+
)
|
|
110
122
|
);
|
|
111
123
|
}
|
|
112
124
|
main().catch((err) => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-airjam",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.6",
|
|
4
4
|
"description": "CLI to scaffold Air Jam game projects",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"extract-docs": "tsx scripts/extract-docs.ts",
|
|
33
33
|
"build": "pnpm extract-docs && tsup",
|
|
34
34
|
"dev": "tsup --watch",
|
|
35
|
-
"prepublishOnly": "pnpm build"
|
|
35
|
+
"prepublishOnly": "node scripts/prepublish.js && pnpm build"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"commander": "^14.0.0",
|
|
@@ -23,7 +23,7 @@ Air Jam consists of four main components in a monorepo structure. This page expl
|
|
|
23
23
|
1. Player scans QR on arcade screen
|
|
24
24
|
2. Platform loads controller shell on phone
|
|
25
25
|
3. Player browses games using phone as remote
|
|
26
|
-
4. Game launches → controller switches to game's
|
|
26
|
+
4. Game launches → controller switches to game's controller
|
|
27
27
|
5. Game ends → returns to arcade browser
|
|
28
28
|
```
|
|
29
29
|
|
|
@@ -23,8 +23,6 @@ const inputSchema = z.object({
|
|
|
23
23
|
serverUrl="wss://your-server.com"
|
|
24
24
|
// Optional: API key for production
|
|
25
25
|
apiKey="your-api-key"
|
|
26
|
-
// Optional: Path for controller page (default: "/joypad")
|
|
27
|
-
controllerPath="/controller"
|
|
28
26
|
// Optional: Max players (default: 8)
|
|
29
27
|
maxPlayers={4}
|
|
30
28
|
// Optional: Input configuration with schema and latching
|
|
@@ -297,7 +295,7 @@ const ControllerView = () => {
|
|
|
297
295
|
Controllers automatically join rooms from URL query parameters:
|
|
298
296
|
|
|
299
297
|
```
|
|
300
|
-
https://yourgame.com/
|
|
298
|
+
https://yourgame.com/controller?room=ABCD
|
|
301
299
|
```
|
|
302
300
|
|
|
303
301
|
This is how QR code scanning works—the host generates a URL with the room code embedded.
|