@warpgogol/forge 2.4.2 → 2.4.5
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
CHANGED
|
@@ -12,6 +12,16 @@ workspace:
|
|
|
12
12
|
- missions
|
|
13
13
|
- systems-cache
|
|
14
14
|
files:
|
|
15
|
+
- path: .vscode/extensions.json
|
|
16
|
+
content: |
|
|
17
|
+
{
|
|
18
|
+
"recommendations": [
|
|
19
|
+
"dbaeumer.vscode-eslint",
|
|
20
|
+
"esbenp.prettier-vscode",
|
|
21
|
+
"github.vscode-github-actions",
|
|
22
|
+
"mechatroner.rainbow-csv"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
15
25
|
- path: .gitignore
|
|
16
26
|
content: |
|
|
17
27
|
node_modules
|
|
@@ -168,7 +168,65 @@ workspace:
|
|
|
168
168
|
{
|
|
169
169
|
"recommendations": [
|
|
170
170
|
"ms-dotnettools.csharp",
|
|
171
|
-
"
|
|
171
|
+
"muhammad-sammy.csharp",
|
|
172
|
+
"geequla.godot-tools",
|
|
173
|
+
"github.vscode-github-actions",
|
|
174
|
+
"esbenp.prettier-vscode",
|
|
175
|
+
"mechatroner.rainbow-csv"
|
|
176
|
+
]
|
|
177
|
+
}
|
|
178
|
+
- path: .vscode/tasks.json
|
|
179
|
+
content: |
|
|
180
|
+
{
|
|
181
|
+
"version": "2.0.0",
|
|
182
|
+
"tasks": [
|
|
183
|
+
{
|
|
184
|
+
"label": "build",
|
|
185
|
+
"command": "dotnet",
|
|
186
|
+
"type": "process",
|
|
187
|
+
"args": ["build", "${workspaceFolder}/apps/__PROJECT_NAME__/Game.csproj"],
|
|
188
|
+
"problemMatcher": "$mscompile",
|
|
189
|
+
"group": { "kind": "build", "isDefault": true }
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
}
|
|
193
|
+
- path: .vscode/launch.json
|
|
194
|
+
content: |
|
|
195
|
+
{
|
|
196
|
+
"version": "0.2.0",
|
|
197
|
+
"configurations": [
|
|
198
|
+
{
|
|
199
|
+
"name": "Play (Node)",
|
|
200
|
+
"type": "node",
|
|
201
|
+
"request": "launch",
|
|
202
|
+
"preLaunchTask": "build",
|
|
203
|
+
"runtimeExecutable": "node",
|
|
204
|
+
"runtimeArgs": ["${workspaceFolder}/scripts/run-godot.mjs"],
|
|
205
|
+
"cwd": "${workspaceFolder}",
|
|
206
|
+
"console": "integratedTerminal"
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"name": "Play (C# Dev Kit)",
|
|
210
|
+
"type": "coreclr",
|
|
211
|
+
"request": "launch",
|
|
212
|
+
"preLaunchTask": "build",
|
|
213
|
+
"program": "${workspaceFolder}/.godot-bin/godot",
|
|
214
|
+
"args": ["--path", "${workspaceFolder}/apps/__PROJECT_NAME__"],
|
|
215
|
+
"cwd": "${workspaceFolder}",
|
|
216
|
+
"console": "internalConsole",
|
|
217
|
+
"stopAtEntry": false
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"name": "Play (C# Dev Kit, PATH Godot)",
|
|
221
|
+
"type": "coreclr",
|
|
222
|
+
"request": "launch",
|
|
223
|
+
"preLaunchTask": "build",
|
|
224
|
+
"program": "godot",
|
|
225
|
+
"args": ["--path", "${workspaceFolder}/apps/__PROJECT_NAME__"],
|
|
226
|
+
"cwd": "${workspaceFolder}",
|
|
227
|
+
"console": "internalConsole",
|
|
228
|
+
"stopAtEntry": false
|
|
229
|
+
}
|
|
172
230
|
]
|
|
173
231
|
}
|
|
174
232
|
- path: .github/workflows/ci.yml
|
|
@@ -408,6 +466,61 @@ workspace:
|
|
|
408
466
|
echo "Installation completed but binary not found. Check $GODOT_DIR"
|
|
409
467
|
exit 1
|
|
410
468
|
fi
|
|
469
|
+
- path: scripts/run-godot.mjs
|
|
470
|
+
content: |
|
|
471
|
+
#!/usr/bin/env node
|
|
472
|
+
// Launch Godot from any IDE — works in Windsurf, Cursor, VS Code without extensions.
|
|
473
|
+
// Usage: node scripts/run-godot.mjs [--editor]
|
|
474
|
+
|
|
475
|
+
import { existsSync, readdirSync, statSync } from "node:fs";
|
|
476
|
+
import { join, dirname, resolve } from "node:path";
|
|
477
|
+
import { spawnSync } from "node:child_process";
|
|
478
|
+
import { fileURLToPath } from "node:url";
|
|
479
|
+
|
|
480
|
+
const projectRoot = resolve(dirname(fileURLToPath(import.meta.url)), "..");
|
|
481
|
+
const args = process.argv.slice(2);
|
|
482
|
+
const editor = args.includes("--editor");
|
|
483
|
+
|
|
484
|
+
// Find the game workspace (first directory under apps/ with a project.godot)
|
|
485
|
+
let gameDir = null;
|
|
486
|
+
const appsDir = join(projectRoot, "apps");
|
|
487
|
+
if (existsSync(appsDir)) {
|
|
488
|
+
for (const entry of readdirSync(appsDir)) {
|
|
489
|
+
const dir = join(appsDir, entry);
|
|
490
|
+
if (statSync(dir).isDirectory() && existsSync(join(dir, "project.godot"))) {
|
|
491
|
+
gameDir = dir;
|
|
492
|
+
break;
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
if (!gameDir) {
|
|
497
|
+
console.error("No Godot project found under apps/*/");
|
|
498
|
+
process.exit(1);
|
|
499
|
+
}
|
|
500
|
+
console.log(`Game project: ${gameDir}`);
|
|
501
|
+
|
|
502
|
+
// Build C# project
|
|
503
|
+
console.log("Building C# project...");
|
|
504
|
+
const buildResult = spawnSync("dotnet", ["build"], { cwd: gameDir, stdio: "inherit" });
|
|
505
|
+
if (buildResult.status !== 0) {
|
|
506
|
+
console.error("dotnet build failed");
|
|
507
|
+
process.exit(buildResult.status ?? 1);
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
// Find godot binary: prefer .godot-bin, then PATH
|
|
511
|
+
const localGodot = join(projectRoot, ".godot-bin", "godot");
|
|
512
|
+
const godotBin = existsSync(localGodot) ? localGodot : "godot";
|
|
513
|
+
if (godotBin === "godot" && spawnSync("godot", ["--version"], { stdio: "ignore" }).status !== 0) {
|
|
514
|
+
console.error("Godot not found. Run ./scripts/install-godot.sh first.");
|
|
515
|
+
process.exit(1);
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
// Launch Godot
|
|
519
|
+
console.log("Launching Godot...");
|
|
520
|
+
const godotArgs = ["--path", gameDir];
|
|
521
|
+
if (editor) godotArgs.push("--editor");
|
|
522
|
+
const result = spawnSync(godotBin, godotArgs, { stdio: "inherit" });
|
|
523
|
+
process.exit(result.status ?? 1);
|
|
411
524
|
- path: scripts/run.sh
|
|
412
525
|
content: |
|
|
413
526
|
#!/usr/bin/env bash
|
|
@@ -15,6 +15,18 @@ workspace:
|
|
|
15
15
|
- missions
|
|
16
16
|
- systems-cache
|
|
17
17
|
files:
|
|
18
|
+
- path: .vscode/extensions.json
|
|
19
|
+
content: |
|
|
20
|
+
{
|
|
21
|
+
"recommendations": [
|
|
22
|
+
"dbaeumer.vscode-eslint",
|
|
23
|
+
"esbenp.prettier-vscode",
|
|
24
|
+
"ms-vscode.js-debug",
|
|
25
|
+
"samuel-pordeus.vite",
|
|
26
|
+
"github.vscode-github-actions",
|
|
27
|
+
"mechatroner.rainbow-csv"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
18
30
|
- path: pnpm-workspace.yaml
|
|
19
31
|
content: |
|
|
20
32
|
packages:
|