From b2fd85a5b0cf0764ac843e74eaf8aa60fd943f65 Mon Sep 17 00:00:00 2001 From: tresabhi <43380238+tresabhi@users.noreply.github.com> Date: Tue, 4 Aug 2026 13:07:27 -0500 Subject: [PATCH] some api paths --- packages/core/src/blitzkit/api/client.ts | 26 +++++++++++++++++-- packages/core/src/blitzkit/api/index.ts | 3 --- packages/core/src/blitzkit/api/server.ts | 6 ++--- packages/core/src/blitzkit/index.ts | 2 -- packages/core/src/blitzkit/vfs/index.ts | 5 ---- packages/website/src/core/blitzkit/api.ts | 14 +++++++--- packages/website/src/core/blitzkit/vfs.ts | 2 +- .../definitions/camouflage.pb.ts | 11 ++++++++ .../definitions/consumables.pb.ts | 14 ++++++++++ .../[...chunk_api]/definitions/game.pb.ts | 11 ++++++++ .../[...chunk_api]/definitions/models.pb.ts | 11 ++++++++ .../definitions/provisions.pb.ts | 11 ++++++++ .../[...chunk_api]/definitions/tanks.pb.ts | 11 ++++++++ 13 files changed, 106 insertions(+), 21 deletions(-) delete mode 100644 packages/core/src/blitzkit/api/index.ts delete mode 100644 packages/core/src/blitzkit/vfs/index.ts create mode 100644 packages/website/src/pages/[...chunk_api]/definitions/camouflage.pb.ts create mode 100644 packages/website/src/pages/[...chunk_api]/definitions/consumables.pb.ts create mode 100644 packages/website/src/pages/[...chunk_api]/definitions/game.pb.ts create mode 100644 packages/website/src/pages/[...chunk_api]/definitions/models.pb.ts create mode 100644 packages/website/src/pages/[...chunk_api]/definitions/provisions.pb.ts create mode 100644 packages/website/src/pages/[...chunk_api]/definitions/tanks.pb.ts diff --git a/packages/core/src/blitzkit/api/client.ts b/packages/core/src/blitzkit/api/client.ts index 82f751ce1..f4e1c6aed 100644 --- a/packages/core/src/blitzkit/api/client.ts +++ b/packages/core/src/blitzkit/api/client.ts @@ -1,9 +1,31 @@ import { fetchPB } from "../../protobuf"; -import { GameDefinitions } from "../../protos"; +import { + CamouflageDefinitions, + ConsumableDefinitions, + GameDefinitions, + ProvisionDefinitions, + TankDefinitions, +} from "../../protos"; import { BlitzKitAPI } from "./base"; export class ClientBlitzKitAPI extends BlitzKitAPI { - game() { + gameDefinitions() { return fetchPB("/api/definitions/game.pb", GameDefinitions); } + + consumableDefinitions() { + return fetchPB("/api/definitions/consumables.pb", ConsumableDefinitions); + } + + tankDefinitions() { + return fetchPB("/api/definitions/tanks.pb", TankDefinitions); + } + + camouflageDefinitions() { + return fetchPB("/api/definitions/camouflage.pb", CamouflageDefinitions); + } + + provisionDefinitions() { + return fetchPB("/api/definitions/provisions.pb", ProvisionDefinitions); + } } diff --git a/packages/core/src/blitzkit/api/index.ts b/packages/core/src/blitzkit/api/index.ts deleted file mode 100644 index 2087a06c6..000000000 --- a/packages/core/src/blitzkit/api/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from "./base"; -export * from "./client"; -export * from "./server"; diff --git a/packages/core/src/blitzkit/api/server.ts b/packages/core/src/blitzkit/api/server.ts index ec274ebdf..95edfbd04 100644 --- a/packages/core/src/blitzkit/api/server.ts +++ b/packages/core/src/blitzkit/api/server.ts @@ -1,5 +1,4 @@ import { - AbstractVFS, Armor, AssaultRanges, AvailableNationsYaml, @@ -59,6 +58,7 @@ import { VehicleDefinitionList, VehicleDefinitions, } from "@blitzkit/core"; +import { AbstractVFS } from "@blitzkit/core/src/blitzkit/vfs/abstract"; import { SUPPORTED_LOCALE_BLITZ_MAP } from "@blitzkit/i18n"; import locales from "@blitzkit/i18n/locales.json"; import { parse as parsePath } from "path"; @@ -147,8 +147,6 @@ export class ServerBlitzKitAPI extends BlitzKitAPI { } async init() { - console.log("Initializing server; this will take a while..."); - console.log("Initializing virtual file system..."); await this.vfs.init(); @@ -1650,7 +1648,7 @@ export class ServerBlitzKitAPI extends BlitzKitAPI { } } -export function Cache(disableInDev = false) { +function Cache(disableInDev = false) { const cache = new WeakMap>>(); return function ( diff --git a/packages/core/src/blitzkit/index.ts b/packages/core/src/blitzkit/index.ts index 88ba099ef..a60517d32 100644 --- a/packages/core/src/blitzkit/index.ts +++ b/packages/core/src/blitzkit/index.ts @@ -1,4 +1,3 @@ -export * from "./api"; export * from "./assertSecret"; export * from "./availableProvisions"; export * from "./averageDefinitions"; @@ -29,6 +28,5 @@ export * from "./tankNames"; export * from "./unionBoundingBox"; export * from "./uniqueGuns"; export * from "./unwrapBlitzkitResponse"; -export * from "./vfs"; export * from "./votes"; export * from "./youtubers"; diff --git a/packages/core/src/blitzkit/vfs/index.ts b/packages/core/src/blitzkit/vfs/index.ts deleted file mode 100644 index 939b46d1c..000000000 --- a/packages/core/src/blitzkit/vfs/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export * from "./abstract"; -export * from "./local"; -export * from "./mixed"; -export * from "./steam"; -export * from "./zip"; diff --git a/packages/website/src/core/blitzkit/api.ts b/packages/website/src/core/blitzkit/api.ts index 79af8cbe8..437d2dc8a 100644 --- a/packages/website/src/core/blitzkit/api.ts +++ b/packages/website/src/core/blitzkit/api.ts @@ -1,13 +1,19 @@ -import { type BlitzKitAPI } from "@blitzkit/core"; -import { vfs } from "./vfs"; +import type { BlitzKitAPI } from "@blitzkit/core/src/blitzkit/api/base"; let _api: BlitzKitAPI; if (import.meta.env.SSR) { - const { ServerBlitzKitAPI } = await import("@blitzkit/core"); + const { ServerBlitzKitAPI } = await import( + "@blitzkit/core/src/blitzkit/api/server" + ); + const { vfs } = await import("./vfs"); + _api = await new ServerBlitzKitAPI(vfs).init(); } else { - const { ClientBlitzKitAPI } = await import("@blitzkit/core"); + const { ClientBlitzKitAPI } = await import( + "@blitzkit/core/src/blitzkit/api/client" + ); + _api = new ClientBlitzKitAPI(); } diff --git a/packages/website/src/core/blitzkit/vfs.ts b/packages/website/src/core/blitzkit/vfs.ts index a08a49d21..34eb3e1e9 100644 --- a/packages/website/src/core/blitzkit/vfs.ts +++ b/packages/website/src/core/blitzkit/vfs.ts @@ -1,4 +1,4 @@ -import { LocalVFS } from "@blitzkit/core"; +import { LocalVFS } from "@blitzkit/core/src/blitzkit/vfs/local"; export const vfs = new LocalVFS( "/run/media/tresabhi/Windows/Program Files/WindowsApps/7458BE2C.WorldofTanksBlitz_11.19.272.0_x64__x4tje2y229k00", diff --git a/packages/website/src/pages/[...chunk_api]/definitions/camouflage.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/camouflage.pb.ts new file mode 100644 index 000000000..15dea60ce --- /dev/null +++ b/packages/website/src/pages/[...chunk_api]/definitions/camouflage.pb.ts @@ -0,0 +1,11 @@ +import { CamouflageDefinitions } from "@blitzkit/core"; +import { api } from "../../../core/blitzkit/api"; + +export { getStaticPaths } from "../_index"; + +export async function GET() { + const definitions = await api.camouflageDefinitions(); + const bytes = CamouflageDefinitions.encode(definitions).finish(); + + return new Response(bytes); +} diff --git a/packages/website/src/pages/[...chunk_api]/definitions/consumables.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/consumables.pb.ts new file mode 100644 index 000000000..da2ce067e --- /dev/null +++ b/packages/website/src/pages/[...chunk_api]/definitions/consumables.pb.ts @@ -0,0 +1,14 @@ +import { ConsumableDefinitions } from "@blitzkit/core"; +import { api } from "../../../core/blitzkit/api"; + +export { getStaticPaths } from "../_index"; + +export async function GET() { + const definitions = await api.consumableDefinitions(); + + console.dir(definitions, { depth: null }); + + const bytes = ConsumableDefinitions.encode(definitions).finish(); + + return new Response(bytes); +} diff --git a/packages/website/src/pages/[...chunk_api]/definitions/game.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/game.pb.ts new file mode 100644 index 000000000..86200f605 --- /dev/null +++ b/packages/website/src/pages/[...chunk_api]/definitions/game.pb.ts @@ -0,0 +1,11 @@ +import { GameDefinitions } from "@blitzkit/core"; +import { api } from "../../../core/blitzkit/api"; + +export { getStaticPaths } from "../_index"; + +export async function GET() { + const definitions = await api.gameDefinitions(); + const bytes = GameDefinitions.encode(definitions).finish(); + + return new Response(bytes); +} diff --git a/packages/website/src/pages/[...chunk_api]/definitions/models.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/models.pb.ts new file mode 100644 index 000000000..2399851bd --- /dev/null +++ b/packages/website/src/pages/[...chunk_api]/definitions/models.pb.ts @@ -0,0 +1,11 @@ +import { ModelDefinitions } from "@blitzkit/core"; +import { api } from "../../../core/blitzkit/api"; + +export { getStaticPaths } from "../_index"; + +export async function GET() { + const definitions = await api.modelDefinitions(); + const bytes = ModelDefinitions.encode(definitions).finish(); + + return new Response(bytes); +} diff --git a/packages/website/src/pages/[...chunk_api]/definitions/provisions.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/provisions.pb.ts new file mode 100644 index 000000000..c352900e1 --- /dev/null +++ b/packages/website/src/pages/[...chunk_api]/definitions/provisions.pb.ts @@ -0,0 +1,11 @@ +import { ProvisionDefinitions } from "@blitzkit/core"; +import { api } from "../../../core/blitzkit/api"; + +export { getStaticPaths } from "../_index"; + +export async function GET() { + const definitions = await api.provisionDefinitions(); + const bytes = ProvisionDefinitions.encode(definitions).finish(); + + return new Response(bytes); +} diff --git a/packages/website/src/pages/[...chunk_api]/definitions/tanks.pb.ts b/packages/website/src/pages/[...chunk_api]/definitions/tanks.pb.ts new file mode 100644 index 000000000..5976401f9 --- /dev/null +++ b/packages/website/src/pages/[...chunk_api]/definitions/tanks.pb.ts @@ -0,0 +1,11 @@ +import { TankDefinitions } from "@blitzkit/core"; +import { api } from "../../../core/blitzkit/api"; + +export { getStaticPaths } from "../_index"; + +export async function GET() { + const definitions = await api.tankDefinitions(); + const bytes = TankDefinitions.encode(definitions).finish(); + + return new Response(bytes); +}