mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-23 19:49:50 +02:00
feat: init ue website
This commit is contained in:
1 parent
1b398a5f66
commit
a70d788f6b
5 files changed
+204
-5
No files matched your search
@@ -175,6 +175,41 @@
|
|||||||
"vite": "^7.1.9",
|
"vite": "^7.1.9",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"packages/website-ue": {
|
||||||
|
"name": "@blitzkit/website-ue",
|
||||||
|
"dependencies": {
|
||||||
|
"@astrojs/check": "^0.9.4",
|
||||||
|
"@astrojs/node": "^9.4.4",
|
||||||
|
"@astrojs/react": "^4.4.0",
|
||||||
|
"@astrolib/seo": "^1.0.0-beta.8",
|
||||||
|
"@blitzkit/core": "workspace:*",
|
||||||
|
"@blitzkit/i18n": "workspace:*",
|
||||||
|
"@radix-ui/colors": "^3.0.0",
|
||||||
|
"@radix-ui/react-icons": "^1.3.2",
|
||||||
|
"@radix-ui/themes": "^3.2.1",
|
||||||
|
"@react-three/drei": "^10.7.6",
|
||||||
|
"@react-three/fiber": "^9.4.0",
|
||||||
|
"@types/lodash-es": "^4.17.12",
|
||||||
|
"@types/react": "^19.2.2",
|
||||||
|
"@types/react-dom": "^19.2.2",
|
||||||
|
"@types/three": "^0.180.0",
|
||||||
|
"@vite-pwa/astro": "^1.1.0",
|
||||||
|
"astro": "^5.14.4",
|
||||||
|
"astro-favicons": "^3.1.5",
|
||||||
|
"fuzzysort": "^3.1.0",
|
||||||
|
"immer": "^10.1.3",
|
||||||
|
"lodash-es": "^4.17.21",
|
||||||
|
"quicklime": "^1.2.0",
|
||||||
|
"react": "^19.2.0",
|
||||||
|
"react-dom": "^19.2.0",
|
||||||
|
"react-promise-suspense": "^0.3.4",
|
||||||
|
"three": "^0.180.0",
|
||||||
|
"three-stdlib": "^2.36.0",
|
||||||
|
"typescript": "^5.9.3",
|
||||||
|
"varuna": "workspace:*",
|
||||||
|
"vite": "^7.1.9",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
"packages": {
|
"packages": {
|
||||||
"@apideck/better-ajv-errors": ["@apideck/[email protected]", "", { "dependencies": { "json-schema": "^0.4.0", "jsonpointer": "^5.0.0", "leven": "^3.1.0" }, "peerDependencies": { "ajv": ">=8" } }, "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA=="],
|
"@apideck/better-ajv-errors": ["@apideck/[email protected]", "", { "dependencies": { "json-schema": "^0.4.0", "jsonpointer": "^5.0.0", "leven": "^3.1.0" }, "peerDependencies": { "ajv": ">=8" } }, "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA=="],
|
||||||
@@ -403,6 +438,8 @@
|
|||||||
|
|
||||||
"@blitzkit/website": ["@blitzkit/website@workspace:packages/website"],
|
"@blitzkit/website": ["@blitzkit/website@workspace:packages/website"],
|
||||||
|
|
||||||
|
"@blitzkit/website-ue": ["@blitzkit/website-ue@workspace:packages/website-ue"],
|
||||||
|
|
||||||
"@bufbuild/protobuf": ["@bufbuild/[email protected]", "", {}, "sha512-fdRs9PSrBF7QUntpZpq6BTw58fhgGJojgg39m9oFOJGZT+nip9b0so5cYY1oWl5pvemDLr0cPPsH46vwThEbpQ=="],
|
"@bufbuild/protobuf": ["@bufbuild/[email protected]", "", {}, "sha512-fdRs9PSrBF7QUntpZpq6BTw58fhgGJojgg39m9oFOJGZT+nip9b0so5cYY1oWl5pvemDLr0cPPsH46vwThEbpQ=="],
|
||||||
|
|
||||||
"@capsizecss/unpack": ["@capsizecss/[email protected]", "", { "dependencies": { "fontkit": "^2.0.2" } }, "sha512-+ntATQe1AlL7nTOYjwjj6w3299CgRot48wL761TUGYpYgAou3AaONZazp0PKZyCyWhudWsjhq1nvRHOvbMzhTA=="],
|
"@capsizecss/unpack": ["@capsizecss/[email protected]", "", { "dependencies": { "fontkit": "^2.0.2" } }, "sha512-+ntATQe1AlL7nTOYjwjj6w3299CgRot48wL761TUGYpYgAou3AaONZazp0PKZyCyWhudWsjhq1nvRHOvbMzhTA=="],
|
||||||
@@ -2615,6 +2652,8 @@
|
|||||||
|
|
||||||
"@blitzkit/website/vite": ["[email protected]", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg=="],
|
"@blitzkit/website/vite": ["[email protected]", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg=="],
|
||||||
|
|
||||||
|
"@blitzkit/website-ue/vite": ["[email protected]", "", { "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", "picomatch": "^4.0.3", "postcss": "^8.5.6", "rollup": "^4.43.0", "tinyglobby": "^0.2.15" }, "optionalDependencies": { "fsevents": "~2.3.3" }, "peerDependencies": { "@types/node": "^20.19.0 || >=22.12.0", "jiti": ">=1.21.0", "less": "^4.0.0", "lightningcss": "^1.21.0", "sass": "^1.70.0", "sass-embedded": "^1.70.0", "stylus": ">=0.54.8", "sugarss": "^5.0.0", "terser": "^5.16.0", "tsx": "^4.8.1", "yaml": "^2.4.2" }, "optionalPeers": ["@types/node", "jiti", "less", "lightningcss", "sass", "sass-embedded", "stylus", "sugarss", "terser", "tsx", "yaml"], "bin": { "vite": "bin/vite.js" } }, "sha512-4nVGliEpxmhCL8DslSAUdxlB6+SMrhB0a1v5ijlh1xB1nEPuy1mxaHxysVucLHuWryAxLWg6a5ei+U4TLn/rFg=="],
|
||||||
|
|
||||||
"@discordjs/rest/@discordjs/collection": ["@discordjs/[email protected]", "", {}, "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg=="],
|
"@discordjs/rest/@discordjs/collection": ["@discordjs/[email protected]", "", {}, "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg=="],
|
||||||
|
|
||||||
"@discordjs/ws/@discordjs/collection": ["@discordjs/[email protected]", "", {}, "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg=="],
|
"@discordjs/ws/@discordjs/collection": ["@discordjs/[email protected]", "", {}, "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg=="],
|
||||||
|
|||||||
+5
-5
@@ -7,7 +7,7 @@
|
|||||||
"build:assets": "cd packages/scripts && bun run build:assets",
|
"build:assets": "cd packages/scripts && bun run build:assets",
|
||||||
"build:averages": "bun --filter=@blitzkit/scripts run build:averages",
|
"build:averages": "bun --filter=@blitzkit/scripts run build:averages",
|
||||||
"build:bot": "cd packages/scripts && bun run build:bot",
|
"build:bot": "cd packages/scripts && bun run build:bot",
|
||||||
"build:website": "cd packages/website && bun run build",
|
"build:website": "cd packages/website-ue && bun run build",
|
||||||
"build:prisma": "prisma generate",
|
"build:prisma": "prisma generate",
|
||||||
"build:proxyclient": "cd packages/scripts && bun run build:proxyclient",
|
"build:proxyclient": "cd packages/scripts && bun run build:proxyclient",
|
||||||
"build:catalogitemaccesssor": "cd packages/scripts && bun run build:catalogitemaccesssor",
|
"build:catalogitemaccesssor": "cd packages/scripts && bun run build:catalogitemaccesssor",
|
||||||
@@ -16,22 +16,22 @@
|
|||||||
"dev:bot": "bun run build:bot --dev && bun start:bot",
|
"dev:bot": "bun run build:bot --dev && bun start:bot",
|
||||||
"start:bot": "bun dist/bot/main.js",
|
"start:bot": "bun dist/bot/main.js",
|
||||||
"dev:docs": "vitepress dev docs",
|
"dev:docs": "vitepress dev docs",
|
||||||
"dev:website": "cd packages/website && bun run dev",
|
"dev:website": "cd packages/website-ue && bun run dev",
|
||||||
"dev:app": "cd packages/app && bun run dev",
|
"dev:app": "cd packages/app && bun run dev",
|
||||||
"dev": "bun run dev:website",
|
"dev": "bun run dev:website",
|
||||||
"dev:api": "bun --filter=@blitzkit/api run dev",
|
"dev:api": "bun --filter=@blitzkit/api run dev",
|
||||||
"setup:depotdownloader": "bun --filter=@blitzkit/scripts run setup:depotdownloader",
|
"setup:depotdownloader": "bun --filter=@blitzkit/scripts run setup:depotdownloader",
|
||||||
"setup:patches": "bun --filter=@blitzkit/scripts run setup:patches",
|
"setup:patches": "bun --filter=@blitzkit/scripts run setup:patches",
|
||||||
"start:website": "bun --filter=@blitzkit/website run start",
|
"start:website": "bun --filter=@blitzkit/website-ue run start",
|
||||||
"host:docs": "vitepress preview docs",
|
"host:docs": "vitepress preview docs",
|
||||||
"lint": "tsc",
|
"lint": "tsc",
|
||||||
"lint:website": "cd packages/website && bun run lint",
|
"lint:website": "cd packages/website-ue && bun run lint",
|
||||||
"format": "prettier --write \"**/*.@(json|js|jsx|css|md|ts|tsx|html|xml|yml|gltf)\"",
|
"format": "prettier --write \"**/*.@(json|js|jsx|css|md|ts|tsx|html|xml|yml|gltf)\"",
|
||||||
"update": "yarn upgrade --latest",
|
"update": "yarn upgrade --latest",
|
||||||
"tunnel": "cloudflared tunnel --url http://localhost:3000",
|
"tunnel": "cloudflared tunnel --url http://localhost:3000",
|
||||||
"discoverids": "scripts/discoverIds.ts",
|
"discoverids": "scripts/discoverIds.ts",
|
||||||
"build:protos": "cd packages/scripts && bun run build:protos",
|
"build:protos": "cd packages/scripts && bun run build:protos",
|
||||||
"preview:website": "cd packages/website && bun run preview",
|
"preview:website": "cd packages/website-ue && bun run preview",
|
||||||
"build:reviews": "cd packages/scripts && bun build:reviews",
|
"build:reviews": "cd packages/scripts && bun build:reviews",
|
||||||
"build:ids": "cd packages/scripts && bun build:ids",
|
"build:ids": "cd packages/scripts && bun build:ids",
|
||||||
"prunestrings": "cd packages/scripts && bun prunestrings",
|
"prunestrings": "cd packages/scripts && bun prunestrings",
|
||||||
|
|||||||
@@ -0,0 +1,114 @@
|
|||||||
|
import node from "@astrojs/node";
|
||||||
|
import react from "@astrojs/react";
|
||||||
|
import { wrapper } from "@blitzkit/i18n";
|
||||||
|
import locales from "@blitzkit/i18n/locales.json";
|
||||||
|
import strings from "@blitzkit/i18n/strings/en.json";
|
||||||
|
import { mauve, mauveDark } from "@radix-ui/colors";
|
||||||
|
import AstroPWA from "@vite-pwa/astro";
|
||||||
|
import favicons from "astro-favicons";
|
||||||
|
import { defineConfig } from "astro/config";
|
||||||
|
import packageJSON from "../../package.json";
|
||||||
|
import { tools } from "./src/constants/tools";
|
||||||
|
|
||||||
|
const POSSIBLE_TARGETS = ["app", "web"];
|
||||||
|
|
||||||
|
const target = process.env.PUBLIC_TARGET ;
|
||||||
|
|
||||||
|
if (!target || !POSSIBLE_TARGETS.includes(target)) {
|
||||||
|
throw new Error("Invalid target");
|
||||||
|
}
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
devToolbar: { enabled: false },
|
||||||
|
|
||||||
|
vite: { server: { allowedHosts: [] } },
|
||||||
|
output: target === "web" ? "static" : "server",
|
||||||
|
site: "https://blitzkit.app",
|
||||||
|
outDir: "../../dist/website",
|
||||||
|
prefetch: { defaultStrategy: "hover", prefetchAll: true },
|
||||||
|
|
||||||
|
build: { concurrency: 4 },
|
||||||
|
adapter: target === "app" ? node({ mode: "standalone" }) : undefined,
|
||||||
|
|
||||||
|
integrations: [
|
||||||
|
favicons({
|
||||||
|
name: strings.common.name,
|
||||||
|
short_name: strings.common.name,
|
||||||
|
|
||||||
|
background: mauveDark.mauve1,
|
||||||
|
themes: [mauve.mauve1, mauveDark.mauve1],
|
||||||
|
appleStatusBarStyle: "black-translucent",
|
||||||
|
|
||||||
|
version: packageJSON.version,
|
||||||
|
|
||||||
|
shortcuts: Object.values(tools)
|
||||||
|
.filter((tool) => !tool.disabled && !tool.href)
|
||||||
|
.map((tool) => {
|
||||||
|
const stringId = (tool.strings ??
|
||||||
|
tool.id) as keyof typeof strings.website.tools;
|
||||||
|
|
||||||
|
return {
|
||||||
|
name: strings.website.tools[stringId].name,
|
||||||
|
name_localized: wrapper(
|
||||||
|
(strings) => strings.website.tools[stringId].name
|
||||||
|
),
|
||||||
|
description: strings.website.tools[stringId].description,
|
||||||
|
description_localized: wrapper(
|
||||||
|
(strings) => strings.website.tools[stringId].description
|
||||||
|
),
|
||||||
|
short_name: strings.website.tools[stringId].name,
|
||||||
|
short_name_localized: wrapper(
|
||||||
|
(strings) => strings.website.tools[stringId].name
|
||||||
|
),
|
||||||
|
url: `/${tool.id}`,
|
||||||
|
icon: `public/assets/images/tools/${tool.id}.webp`,
|
||||||
|
};
|
||||||
|
}),
|
||||||
|
|
||||||
|
manifest: {
|
||||||
|
description: strings.website.home.seo_description,
|
||||||
|
description_localized: wrapper(
|
||||||
|
(strings) => strings.website.home.seo_description
|
||||||
|
),
|
||||||
|
|
||||||
|
dir: "ltr",
|
||||||
|
categories: ["utilities", "games", "developer", "developer tools"],
|
||||||
|
|
||||||
|
id: "com.tresabhi.blitzkit",
|
||||||
|
start_url: "/",
|
||||||
|
launch_handler: { client_mode: "navigate-new" },
|
||||||
|
display: "fullscreen",
|
||||||
|
display_override: ["fullscreen", "standalone", "minimal-ui"],
|
||||||
|
|
||||||
|
lang: locales.default,
|
||||||
|
orientation: "any",
|
||||||
|
},
|
||||||
|
|
||||||
|
icons: {
|
||||||
|
windows: true,
|
||||||
|
android: true,
|
||||||
|
appleIcon: true,
|
||||||
|
appleStartup: true,
|
||||||
|
favicons: true,
|
||||||
|
yandex: true,
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
|
||||||
|
AstroPWA({
|
||||||
|
manifest: false,
|
||||||
|
devOptions: { enabled: true },
|
||||||
|
workbox: {
|
||||||
|
globPatterns: ["**/*.{html,css,js,png,webp,svg,xml,json}"],
|
||||||
|
runtimeCaching: [
|
||||||
|
{
|
||||||
|
urlPattern: ({ url }) =>
|
||||||
|
url.href.startsWith(import.meta.env.PUBLIC_ASSET_BASE),
|
||||||
|
handler: "NetworkFirst",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
|
||||||
|
react(),
|
||||||
|
],
|
||||||
|
});
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"name": "@blitzkit/website-ue",
|
||||||
|
"type": "module",
|
||||||
|
"scripts": {
|
||||||
|
"dev": "PUBLIC_TARGET=web astro dev",
|
||||||
|
"build": "PUBLIC_TARGET=web astro build",
|
||||||
|
"preview": "PUBLIC_TARGET=web astro preview",
|
||||||
|
"lint": "PUBLIC_TARGET=web astro check",
|
||||||
|
"astro": "astro"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@astrojs/check": "^0.9.4",
|
||||||
|
"@astrojs/node": "^9.4.4",
|
||||||
|
"@astrojs/react": "^4.4.0",
|
||||||
|
"@astrolib/seo": "^1.0.0-beta.8",
|
||||||
|
"@blitzkit/core": "workspace:*",
|
||||||
|
"@blitzkit/i18n": "workspace:*",
|
||||||
|
"@radix-ui/colors": "^3.0.0",
|
||||||
|
"@radix-ui/react-icons": "^1.3.2",
|
||||||
|
"@radix-ui/themes": "^3.2.1",
|
||||||
|
"@react-three/drei": "^10.7.6",
|
||||||
|
"@react-three/fiber": "^9.4.0",
|
||||||
|
"@types/lodash-es": "^4.17.12",
|
||||||
|
"@types/react": "^19.2.2",
|
||||||
|
"@types/react-dom": "^19.2.2",
|
||||||
|
"@types/three": "^0.180.0",
|
||||||
|
"@vite-pwa/astro": "^1.1.0",
|
||||||
|
"astro": "^5.14.4",
|
||||||
|
"astro-favicons": "^3.1.5",
|
||||||
|
"fuzzysort": "^3.1.0",
|
||||||
|
"immer": "^10.1.3",
|
||||||
|
"lodash-es": "^4.17.21",
|
||||||
|
"quicklime": "^1.2.0",
|
||||||
|
"react": "^19.2.0",
|
||||||
|
"react-dom": "^19.2.0",
|
||||||
|
"react-promise-suspense": "^0.3.4",
|
||||||
|
"three": "^0.180.0",
|
||||||
|
"three-stdlib": "^2.36.0",
|
||||||
|
"typescript": "^5.9.3",
|
||||||
|
"varuna": "workspace:*",
|
||||||
|
"vite": "^7.1.9"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"extends": ["../../tsconfig.json", "astro/tsconfigs/base"]
|
||||||
|
}
|
||||||
Reference in new issue
Block a user