feat: remove turbo

This commit is contained in:
master 2025-06-13 00:09:18 +08:00
parent 07955286f1
commit c60f6f511e
20 changed files with 1796 additions and 3577 deletions

View File

@ -6,13 +6,14 @@
"build": "email build",
"dev": "email dev --port 5003",
"export": "email export",
"clean": "git clean -xdf .cache .turbo dist node_modules",
"clean": "git clean -xdf .cache dist node_modules",
"typecheck": "tsc --noEmit --emitDeclarationOnly false"
},
"dependencies": {
"@react-email/components": "0.0.31",
"@react-email/components": "^0.0.42",
"react": "^19.0.0",
"react-email": "3.0.4"
"react-email": "^4.0.16",
"@konobangu/email": "workspace:*"
},
"devDependencies": {
"@types/react": "19.0.1"

View File

@ -2,8 +2,12 @@
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"composite": true,
"jsx": "react-jsx"
"jsx": "react-jsx",
"jsxImportSource": "react",
"module": "ESNext",
"moduleResolution": "bundler"
},
"references": [{ "path": "../../packages/email" }],
"include": ["**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}

View File

@ -10,6 +10,6 @@
"keywords": [],
"license": "MIT",
"devDependencies": {
"whistle": "^2.9.93"
"whistle": "^2.9.99"
}
}

View File

@ -13,90 +13,87 @@
"dependencies": {
"@abraham/reflection": "^0.13.0",
"@apollo/client": "^3.13.8",
"@codemirror/language": "6.0.0",
"@corvu/drawer": "^0.2.3",
"@codemirror/language": "6.11.1",
"@corvu/drawer": "^0.2.4",
"@corvu/otp-field": "^0.1.4",
"@corvu/resizable": "^0.2.4",
"@graphiql/toolkit": "^0.11.1",
"@hookform/resolvers": "^5.0.1",
"@corvu/resizable": "^0.2.5",
"@graphiql/toolkit": "^0.11.3",
"@hookform/resolvers": "^5.1.1",
"@outposts/injection-js": "^2.5.1",
"@radix-ui/react-accordion": "^1.2.10",
"@radix-ui/react-alert-dialog": "^1.1.13",
"@radix-ui/react-aspect-ratio": "^1.1.6",
"@radix-ui/react-avatar": "^1.1.9",
"@radix-ui/react-checkbox": "^1.3.1",
"@radix-ui/react-collapsible": "^1.1.10",
"@radix-ui/react-context-menu": "^2.2.14",
"@radix-ui/react-dialog": "^1.1.13",
"@radix-ui/react-dropdown-menu": "^2.1.14",
"@radix-ui/react-hover-card": "^1.1.13",
"@radix-ui/react-label": "^2.1.6",
"@radix-ui/react-menubar": "^1.1.14",
"@radix-ui/react-navigation-menu": "^1.2.12",
"@radix-ui/react-popover": "^1.1.13",
"@radix-ui/react-progress": "^1.1.6",
"@radix-ui/react-radio-group": "^1.3.6",
"@radix-ui/react-scroll-area": "^1.2.8",
"@radix-ui/react-select": "^2.2.4",
"@radix-ui/react-separator": "^1.1.6",
"@radix-ui/react-slider": "^1.3.4",
"@radix-ui/react-slot": "^1.2.2",
"@radix-ui/react-switch": "^1.2.4",
"@radix-ui/react-tabs": "^1.1.11",
"@radix-ui/react-toggle": "^1.1.8",
"@radix-ui/react-toggle-group": "^1.1.9",
"@radix-ui/react-tooltip": "^1.2.6",
"@rsbuild/plugin-react": "^1.2.0",
"@tanstack/react-form": "^1.12.1",
"@tanstack/react-query": "^5.75.6",
"@tanstack/react-router": "^1.112.13",
"@radix-ui/react-accordion": "^1.2.11",
"@radix-ui/react-alert-dialog": "^1.1.14",
"@radix-ui/react-aspect-ratio": "^1.1.7",
"@radix-ui/react-avatar": "^1.1.10",
"@radix-ui/react-checkbox": "^1.3.2",
"@radix-ui/react-collapsible": "^1.1.11",
"@radix-ui/react-context-menu": "^2.2.15",
"@radix-ui/react-dialog": "^1.1.14",
"@radix-ui/react-dropdown-menu": "^2.1.15",
"@radix-ui/react-hover-card": "^1.1.14",
"@radix-ui/react-label": "^2.1.7",
"@radix-ui/react-menubar": "^1.1.15",
"@radix-ui/react-navigation-menu": "^1.2.13",
"@radix-ui/react-popover": "^1.1.14",
"@radix-ui/react-progress": "^1.1.7",
"@radix-ui/react-radio-group": "^1.3.7",
"@radix-ui/react-scroll-area": "^1.2.9",
"@radix-ui/react-select": "^2.2.5",
"@radix-ui/react-separator": "^1.1.7",
"@radix-ui/react-slider": "^1.3.5",
"@radix-ui/react-slot": "^1.2.3",
"@radix-ui/react-switch": "^1.2.5",
"@radix-ui/react-tabs": "^1.1.12",
"@radix-ui/react-toggle": "^1.1.9",
"@radix-ui/react-toggle-group": "^1.1.10",
"@radix-ui/react-tooltip": "^1.2.7",
"@rsbuild/plugin-react": "^1.3.2",
"@tanstack/react-form": "^1.12.3",
"@tanstack/react-query": "^5.80.7",
"@tanstack/react-table": "^8.21.3",
"@tanstack/router-devtools": "^1.112.13",
"@tanstack/store": "^0.7.1",
"arktype": "^2.1.6",
"chart.js": "^4.4.8",
"arktype": "^2.1.20",
"chart.js": "^4.4.9",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"date-fns": "^4.1.0",
"embla-carousel-react": "^8.6.0",
"graphiql": "^4.0.2",
"graphiql": "^4.1.2",
"graphql": "^16.11.0",
"input-otp": "^1.4.2",
"jotai": "^2.12.3",
"jotai": "^2.12.5",
"jotai-signal": "^0.9.0",
"lodash-es": "^4.17.21",
"lucide-react": "^0.512.0",
"lucide-react": "^0.514.0",
"oidc-client-rx": "0.1.0-alpha.9",
"react": "^19.1.0",
"react-day-picker": "9.6.0",
"react-day-picker": "9.7.0",
"react-dom": "^19.1.0",
"react-resizable-panels": "^3.0.1",
"react-resizable-panels": "^3.0.2",
"recharts": "^2.15.3",
"rxjs": "^7.8.2",
"sonner": "^2.0.3",
"tailwind-merge": "^3.2.0",
"tailwindcss": "^4.0.6",
"tw-animate-css": "^1.2.7",
"type-fest": "^4.40.0",
"vaul": "^1.1.2"
"sonner": "^2.0.5",
"tailwind-merge": "^3.3.1",
"tailwindcss": "^4.1.10",
"tw-animate-css": "^1.3.4",
"type-fest": "^4.41.0",
"vaul": "^1.1.2",
"es-toolkit": "^1.39.3",
"@tanstack/react-router": "^1.121.2"
},
"devDependencies": {
"@graphql-codegen/cli": "^5.0.6",
"@graphql-codegen/client-preset": "^4.8.1",
"@graphql-codegen/cli": "^5.0.7",
"@graphql-codegen/client-preset": "^4.8.2",
"@graphql-codegen/typescript": "^4.1.6",
"@graphql-typed-document-node/core": "^3.2.0",
"@parcel/watcher": "^2.5.1",
"@rsbuild/core": "^1.2.15",
"@tailwindcss/postcss": "^4.0.9",
"@tanstack/react-router": "^1.112.0",
"@tanstack/router-devtools": "^1.112.6",
"@tanstack/router-plugin": "^1.112.13",
"@types/lodash-es": "^4.17.12",
"@types/react": "^19.1.2",
"@types/react-dom": "^19.1.2",
"@rsbuild/core": "^1.3.22",
"@tailwindcss/postcss": "^4.1.10",
"@types/react": "^19.1.8",
"@types/react-dom": "^19.1.6",
"chalk": "^5.4.1",
"commander": "^14.0.0",
"postcss": "^8.5.3"
"postcss": "^8.5.5",
"@tanstack/router-devtools": "^1.121.5",
"@tanstack/router-plugin": "^1.121.4"
}
}

View File

@ -4,7 +4,7 @@ import {
} from '@/infra/graphql/gql/graphql';
import { Injectable, inject } from '@outposts/injection-js';
import { ArkErrors } from 'arktype';
import { omit } from 'lodash-es';
import { omit } from 'es-toolkit';
import {
type MikanSubscriptionBangumiSourceUrl,
type MikanSubscriptionSeasonSourceUrl,

View File

@ -32,14 +32,9 @@ dev-deps-clean:
dev-codegen:
pnpm run --filter=webui codegen
[unix]
dev-all:
zellij --layout dev.kdl
[windows]
dev-all:
pnpm run dev-all
dev-codegen-wait:
@until nc -z localhost 5001; do echo "Waiting for Recorder..."; sleep 1; done
pnpm run --filter=webui codegen-watch

View File

@ -3,42 +3,35 @@
"version": "0.0.0",
"description": "Kono bangumi?",
"license": "MIT",
"workspaces": [
"packages/*",
"apps/*"
],
"workspaces": ["packages/*", "apps/*"],
"type": "module",
"repository": {
"type": "git",
"url": "https://github.com/dumtruck/konobangu.git"
},
"scripts": {
"dev-webui": "just dev-webui",
"dev-proxy": "just dev-proxy",
"dev-recorder": "just dev-recorder",
"dev-deps": "just dev-deps",
"dev-codegen-wait": "just dev-codegen-wait",
"dev-all": "turbo run //#dev-recorder //#dev-proxy //#dev-webui //#dev-deps //#dev-codegen-wait",
"lint": "ultracite lint",
"format": "ultracite format",
"bump-deps": "npx --yes npm-check-updates --deep -u -x react-day-picker && pnpm install",
"bump-deps": "npx --yes npm-check-updates --deep -u && pnpm install",
"clean": "git clean -xdf node_modules"
},
"packageManager": "pnpm@10.10.0",
"packageManager": "pnpm@10.12.1",
"engines": {
"node": ">=22"
},
"devDependencies": {
"@auto-it/all-contributors": "^11.3.0",
"@auto-it/first-time-contributor": "^11.3.0",
"@biomejs/biome": "1.9.4",
"@types/node": "^24.0.0",
"@types/node": "^24.0.1",
"cross-env": "^7.0.3",
"kill-port": "^2.0.1",
"npm-run-all": "^4.1.5",
"tsx": "^4.19.4",
"turbo": "^2.5.4",
"tsx": "^4.20.2",
"typescript": "^5.8.3",
"ultracite": "^4.2.8"
"ultracite": "^4.2.10"
},
"pnpm": {
"overrides": {
"codemirror-graphql>@codemirror/language": "^6.11.1"
}
}
}

View File

@ -10,6 +10,7 @@ export interface SendOptions {
export const konosend = {
emails: {
// biome-ignore lint/suspicious/useAwait: <explanation>
send: async (_props: SendOptions) => {
throw new Error('unimplemented');
},

View File

@ -3,7 +3,7 @@
"version": "0.0.0",
"private": true,
"scripts": {
"clean": "git clean -xdf .cache .turbo dist node_modules",
"clean": "git clean -xdf .cache dist node_modules",
"typecheck": "tsc --noEmit --emitDeclarationOnly false"
},
"dependencies": {

View File

@ -53,4 +53,4 @@ const ExampleContactEmail = () => (
/>
);
export default ExampleContactEmail;
export default ExampleContactEmail;

View File

@ -2,8 +2,17 @@
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": ".",
"composite": true
"composite": true,
"jsx": "react-jsx",
"jsxImportSource": "react",
"module": "ESNext",
"moduleResolution": "bundler"
},
"include": ["./*.ts", "./*.tsx"],
"include": [
"./*.ts",
"./*.tsx",
"./templates/**/*.ts",
"./templates/**/*.tsx"
],
"exclude": ["node_modules"]
}

View File

@ -1,15 +0,0 @@
import type { Thing, WithContext } from 'schema-dts';
type JsonLdProps = {
code: WithContext<Thing>;
};
export const JsonLd = ({ code }: JsonLdProps) => (
<script
type="application/ld+json"
// biome-ignore lint/security/noDangerouslySetInnerHtml: "This is a JSON-LD script, not user-generated content."
dangerouslySetInnerHTML={{ __html: JSON.stringify(code) }}
/>
);
export * from 'schema-dts';

View File

@ -1,67 +0,0 @@
import merge from 'lodash.merge';
import type { Metadata } from 'next';
type MetadataGenerator = Omit<Metadata, 'description' | 'title'> & {
title: string;
description: string;
image?: string;
};
const applicationName = 'next-forge';
const author: Metadata['authors'] = {
name: 'Hayden Bleasel',
url: 'https://haydenbleasel.com/',
};
const publisher = 'Hayden Bleasel';
const twitterHandle = '@haydenbleasel';
export const createMetadata = ({
title,
description,
image,
...properties
}: MetadataGenerator): Metadata => {
const parsedTitle = `${title} | ${applicationName}`;
const defaultMetadata: Metadata = {
title: parsedTitle,
description,
applicationName,
authors: [author],
creator: author.name,
formatDetection: {
telephone: false,
},
appleWebApp: {
capable: true,
statusBarStyle: 'default',
title: parsedTitle,
},
openGraph: {
title: parsedTitle,
description,
type: 'website',
siteName: applicationName,
locale: 'en_US',
},
publisher,
twitter: {
card: 'summary_large_image',
creator: twitterHandle,
},
};
const metadata: Metadata = merge(defaultMetadata, properties);
if (image && metadata.openGraph) {
metadata.openGraph.images = [
{
url: image,
width: 1200,
height: 630,
alt: title,
},
];
}
return metadata;
};

View File

@ -1,21 +0,0 @@
{
"name": "@konobangu/seo",
"version": "0.0.0",
"private": true,
"scripts": {
"clean": "git clean -xdf .cache .turbo dist node_modules",
"typecheck": "tsc --noEmit --emitDeclarationOnly false"
},
"dependencies": {
"lodash.merge": "^4.6.2",
"react": "^19.0.0",
"schema-dts": "^1.1.2"
},
"devDependencies": {
"@types/lodash.merge": "^4.6.9",
"@types/node": "22.10.1",
"@types/react": "19.0.1",
"@types/react-dom": "^19.0.3",
"next": "^15.1.4"
}
}

View File

@ -1,9 +0,0 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"baseUrl": ".",
"composite": true
},
"include": ["**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}

View File

@ -8,11 +8,11 @@
"start": "tsx main.ts"
},
"dependencies": {
"@fastify/static": "^8.1.1",
"@fastify/static": "^8.2.0",
"bittorrent-tracker": "^11.2.1",
"fastify": "^5.2.2",
"tsx": "^4.19.2",
"webtorrent": "^2.5.19"
"fastify": "^5.4.0",
"tsx": "^4.20.2",
"webtorrent": "^2.6.8"
},
"devDependencies": {
"@types/create-torrent": "^5.0.2",

View File

@ -5,11 +5,11 @@
"main": "./index.js",
"type": "commonjs",
"scripts": {
"clean": "git clean -xdf .cache .turbo dist node_modules",
"clean": "git clean -xdf .cache dist node_modules",
"typecheck": "tsc --noEmit --emitDeclarationOnly false"
},
"devDependencies": {
"@vitejs/plugin-react": "^4.3.4",
"vitest": "^2.1.8"
"@vitejs/plugin-react": "^4.5.2",
"vitest": "^3.2.3"
}
}

5020
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@ -10,9 +10,6 @@
{
"path": "./packages/email"
},
{
"path": "./packages/seo"
},
{
"path": "./packages/testing"
},

View File

@ -1,36 +0,0 @@
{
"$schema": "https://turborepo.com/schema.json",
"ui": "tui",
"tasks": {
"//#dev-webui": {
"cache": false,
"persistent": true,
"interactive": true,
"interruptible": true
},
"//#dev-proxy": {
"cache": false,
"persistent": true,
"interactive": true,
"interruptible": true
},
"//#dev-recorder": {
"cache": false,
"persistent": true,
"interactive": true,
"interruptible": true
},
"//#dev-deps": {
"cache": false,
"persistent": true,
"interactive": true,
"interruptible": true
},
"//#dev-codegen-wait": {
"cache": false,
"persistent": true,
"interactive": true,
"interruptible": true
}
}
}