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.
Files changed (81) hide show
  1. package/dist/index.js +16 -4
  2. package/package.json +2 -2
  3. package/templates/pong/airjam-docs/getting-started/architecture/page.md +1 -1
  4. package/templates/pong/airjam-docs/getting-started/introduction/page.md +1 -1
  5. package/templates/pong/airjam-docs/sdk/hooks/page.md +1 -3
  6. package/templates/pong/dist/assets/index-BwJ4uU20.js +269 -0
  7. package/templates/pong/dist/assets/index-D42jDbB5.css +1 -0
  8. package/templates/pong/dist/index.html +19 -0
  9. package/templates/pong/node_modules/.bin/air-jam-server +17 -0
  10. package/templates/pong/node_modules/.bin/eslint +17 -0
  11. package/templates/pong/node_modules/.bin/eslint-config-prettier +17 -0
  12. package/templates/pong/node_modules/.bin/tsc +17 -0
  13. package/templates/pong/node_modules/.bin/tsserver +17 -0
  14. package/templates/pong/node_modules/.bin/vite +17 -0
  15. package/templates/pong/node_modules/.vite/deps/@radix-ui_react-dialog.js +1680 -0
  16. package/templates/pong/node_modules/.vite/deps/@radix-ui_react-dialog.js.map +7 -0
  17. package/templates/pong/node_modules/.vite/deps/@radix-ui_react-slider.js +638 -0
  18. package/templates/pong/node_modules/.vite/deps/@radix-ui_react-slider.js.map +7 -0
  19. package/templates/pong/node_modules/.vite/deps/@radix-ui_react-slot.js +129 -0
  20. package/templates/pong/node_modules/.vite/deps/@radix-ui_react-slot.js.map +7 -0
  21. package/templates/pong/node_modules/.vite/deps/@radix-ui_react-tabs.js +434 -0
  22. package/templates/pong/node_modules/.vite/deps/@radix-ui_react-tabs.js.map +7 -0
  23. package/templates/pong/node_modules/.vite/deps/_metadata.json +163 -0
  24. package/templates/pong/node_modules/.vite/deps/chunk-6G72RLJL.js +1004 -0
  25. package/templates/pong/node_modules/.vite/deps/chunk-6G72RLJL.js.map +7 -0
  26. package/templates/pong/node_modules/.vite/deps/chunk-BHOBIW4J.js +99 -0
  27. package/templates/pong/node_modules/.vite/deps/chunk-BHOBIW4J.js.map +7 -0
  28. package/templates/pong/node_modules/.vite/deps/chunk-E44IQKDY.js +49 -0
  29. package/templates/pong/node_modules/.vite/deps/chunk-E44IQKDY.js.map +7 -0
  30. package/templates/pong/node_modules/.vite/deps/chunk-E5X4SHYG.js +21 -0
  31. package/templates/pong/node_modules/.vite/deps/chunk-E5X4SHYG.js.map +7 -0
  32. package/templates/pong/node_modules/.vite/deps/chunk-G3PMV62Z.js +35 -0
  33. package/templates/pong/node_modules/.vite/deps/chunk-G3PMV62Z.js.map +7 -0
  34. package/templates/pong/node_modules/.vite/deps/chunk-LI6KBZ3D.js +292 -0
  35. package/templates/pong/node_modules/.vite/deps/chunk-LI6KBZ3D.js.map +7 -0
  36. package/templates/pong/node_modules/.vite/deps/chunk-MDNXVKSA.js +337 -0
  37. package/templates/pong/node_modules/.vite/deps/chunk-MDNXVKSA.js.map +7 -0
  38. package/templates/pong/node_modules/.vite/deps/chunk-METQ356G.js +280 -0
  39. package/templates/pong/node_modules/.vite/deps/chunk-METQ356G.js.map +7 -0
  40. package/templates/pong/node_modules/.vite/deps/chunk-NPTAWNEA.js +171 -0
  41. package/templates/pong/node_modules/.vite/deps/chunk-NPTAWNEA.js.map +7 -0
  42. package/templates/pong/node_modules/.vite/deps/class-variance-authority.js +51 -0
  43. package/templates/pong/node_modules/.vite/deps/class-variance-authority.js.map +7 -0
  44. package/templates/pong/node_modules/.vite/deps/clsx.js +9 -0
  45. package/templates/pong/node_modules/.vite/deps/clsx.js.map +7 -0
  46. package/templates/pong/node_modules/.vite/deps/howler.js +2241 -0
  47. package/templates/pong/node_modules/.vite/deps/howler.js.map +7 -0
  48. package/templates/pong/node_modules/.vite/deps/html5-qrcode.js +29350 -0
  49. package/templates/pong/node_modules/.vite/deps/html5-qrcode.js.map +7 -0
  50. package/templates/pong/node_modules/.vite/deps/lucide-react.js +28662 -0
  51. package/templates/pong/node_modules/.vite/deps/lucide-react.js.map +7 -0
  52. package/templates/pong/node_modules/.vite/deps/package.json +3 -0
  53. package/templates/pong/node_modules/.vite/deps/qrcode.js +2083 -0
  54. package/templates/pong/node_modules/.vite/deps/qrcode.js.map +7 -0
  55. package/templates/pong/node_modules/.vite/deps/react-dom.js +6 -0
  56. package/templates/pong/node_modules/.vite/deps/react-dom.js.map +7 -0
  57. package/templates/pong/node_modules/.vite/deps/react-dom_client.js +20217 -0
  58. package/templates/pong/node_modules/.vite/deps/react-dom_client.js.map +7 -0
  59. package/templates/pong/node_modules/.vite/deps/react-router-dom.js +13900 -0
  60. package/templates/pong/node_modules/.vite/deps/react-router-dom.js.map +7 -0
  61. package/templates/pong/node_modules/.vite/deps/react.js +5 -0
  62. package/templates/pong/node_modules/.vite/deps/react.js.map +7 -0
  63. package/templates/pong/node_modules/.vite/deps/react_jsx-dev-runtime.js +278 -0
  64. package/templates/pong/node_modules/.vite/deps/react_jsx-dev-runtime.js.map +7 -0
  65. package/templates/pong/node_modules/.vite/deps/react_jsx-runtime.js +6 -0
  66. package/templates/pong/node_modules/.vite/deps/react_jsx-runtime.js.map +7 -0
  67. package/templates/pong/node_modules/.vite/deps/socket__io-client.js +3422 -0
  68. package/templates/pong/node_modules/.vite/deps/socket__io-client.js.map +7 -0
  69. package/templates/pong/node_modules/.vite/deps/tailwind-merge.js +2534 -0
  70. package/templates/pong/node_modules/.vite/deps/tailwind-merge.js.map +7 -0
  71. package/templates/pong/node_modules/.vite/deps/zod.js +13810 -0
  72. package/templates/pong/node_modules/.vite/deps/zod.js.map +7 -0
  73. package/templates/pong/node_modules/.vite/deps/zustand.js +56 -0
  74. package/templates/pong/node_modules/.vite/deps/zustand.js.map +7 -0
  75. package/templates/pong/node_modules/.vite/deps/zustand_react_shallow.js +77 -0
  76. package/templates/pong/node_modules/.vite/deps/zustand_react_shallow.js.map +7 -0
  77. package/templates/pong/package.json +3 -4
  78. package/templates/pong/src/App.tsx +1 -2
  79. package/templates/pong/src/controller-view.tsx +1 -1
  80. package/templates/pong/tsconfig.json +4 -2
  81. 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(__dirname, "..", "templates", options.template);
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(kleur.cyan(" # Edit .env and set AIR_JAM_MASTER_KEY (optional for local dev)"));
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("Then open http://localhost:5173 and scan the QR code with your phone!")
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.4",
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 joypad
26
+ 4. Game launches → controller switches to game's controller
27
27
  5. Game ends → returns to arcade browser
28
28
  ```
29
29
 
@@ -47,7 +47,7 @@ export const App = () => (
47
47
  >
48
48
  <Routes>
49
49
  <Route path="/" element={<HostView />} />
50
- <Route path="/joypad" element={<ControllerView />} />
50
+ <Route path="/controller" element={<ControllerView />} />
51
51
  </Routes>
52
52
  </AirJamProvider>
53
53
  );
@@ -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/joypad?room=ABCD
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.