22 changed files with 284 additions and 193 deletions
@ -0,0 +1,26 @@ |
|||||
|
# 环境变量配置文件 |
||||
|
|
||||
|
# 服务器配置 |
||||
|
NODE_ENV=development |
||||
|
PORT=3000 |
||||
|
HOST=localhost |
||||
|
|
||||
|
# 安全配置 |
||||
|
AI_APIKEY=ai-apikey |
||||
|
SESSION_SECRET=your-session-secret-key-here,another-secret-key |
||||
|
JWT_SECRET=your-jwt-secret-key-must-be-at-least-32-characters-long |
||||
|
|
||||
|
# 数据库配置 |
||||
|
DB_PATH=./data/database.db |
||||
|
|
||||
|
# 日志配置 |
||||
|
LOG_LEVEL=info |
||||
|
LOG_FILE=./logs/app.log |
||||
|
|
||||
|
# 缓存配置 |
||||
|
REDIS_HOST=localhost |
||||
|
REDIS_PORT=6379 |
||||
|
|
||||
|
# 任务调度配置 |
||||
|
JOBS_ENABLED=true |
||||
|
TZ=Asia/Shanghai |
||||
Binary file not shown.
@ -1,16 +0,0 @@ |
|||||
# bun 编译配置:将 dist 下的所有资源一并内嵌到可执行文件中 |
|
||||
# 注意:命令行中的 --compile/--outfile 参数依然可以覆盖这里的设置 |
|
||||
|
|
||||
[compile] |
|
||||
# 入口文件(与 package.json 的 bundle:exe 一致) |
|
||||
entrypoint = "dist/booststap.js" |
|
||||
|
|
||||
# 需要内嵌到可执行文件中的静态资源(包含服务端/客户端产物) |
|
||||
assets = [ |
|
||||
"dist/**" |
|
||||
] |
|
||||
|
|
||||
# 输出可执行文件路径 |
|
||||
outfile = "dist/koa-ssr.exe" |
|
||||
|
|
||||
|
|
||||
@ -1,9 +0,0 @@ |
|||||
{ |
|
||||
"name": "core", |
|
||||
"exports": { |
|
||||
"./*": { |
|
||||
"import": "./src/*.ts", |
|
||||
"require": "./src/*.ts" |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
@ -0,0 +1,10 @@ |
|||||
|
import { defineConfig } from 'drizzle-kit'; |
||||
|
|
||||
|
export default defineConfig({ |
||||
|
out: './drizzle', |
||||
|
schema: './src/db/schema.ts', |
||||
|
dialect: 'mysql', |
||||
|
dbCredentials: { |
||||
|
url: process.env.DATABASE_URL!, |
||||
|
}, |
||||
|
}); |
||||
@ -0,0 +1,8 @@ |
|||||
|
CREATE TABLE `users_table` ( |
||||
|
`id` serial AUTO_INCREMENT NOT NULL, |
||||
|
`name` varchar(255) NOT NULL, |
||||
|
`age` int NOT NULL, |
||||
|
`email` varchar(255) NOT NULL, |
||||
|
CONSTRAINT `users_table_id` PRIMARY KEY(`id`), |
||||
|
CONSTRAINT `users_table_email_unique` UNIQUE(`email`) |
||||
|
); |
||||
@ -0,0 +1,70 @@ |
|||||
|
{ |
||||
|
"version": "5", |
||||
|
"dialect": "mysql", |
||||
|
"id": "3770df0e-b3f2-4223-8e66-2880f634d8b0", |
||||
|
"prevId": "00000000-0000-0000-0000-000000000000", |
||||
|
"tables": { |
||||
|
"users_table": { |
||||
|
"name": "users_table", |
||||
|
"columns": { |
||||
|
"id": { |
||||
|
"name": "id", |
||||
|
"type": "serial", |
||||
|
"primaryKey": false, |
||||
|
"notNull": true, |
||||
|
"autoincrement": true |
||||
|
}, |
||||
|
"name": { |
||||
|
"name": "name", |
||||
|
"type": "varchar(255)", |
||||
|
"primaryKey": false, |
||||
|
"notNull": true, |
||||
|
"autoincrement": false |
||||
|
}, |
||||
|
"age": { |
||||
|
"name": "age", |
||||
|
"type": "int", |
||||
|
"primaryKey": false, |
||||
|
"notNull": true, |
||||
|
"autoincrement": false |
||||
|
}, |
||||
|
"email": { |
||||
|
"name": "email", |
||||
|
"type": "varchar(255)", |
||||
|
"primaryKey": false, |
||||
|
"notNull": true, |
||||
|
"autoincrement": false |
||||
|
} |
||||
|
}, |
||||
|
"indexes": {}, |
||||
|
"foreignKeys": {}, |
||||
|
"compositePrimaryKeys": { |
||||
|
"users_table_id": { |
||||
|
"name": "users_table_id", |
||||
|
"columns": [ |
||||
|
"id" |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
"uniqueConstraints": { |
||||
|
"users_table_email_unique": { |
||||
|
"name": "users_table_email_unique", |
||||
|
"columns": [ |
||||
|
"email" |
||||
|
] |
||||
|
} |
||||
|
}, |
||||
|
"checkConstraint": {} |
||||
|
} |
||||
|
}, |
||||
|
"views": {}, |
||||
|
"_meta": { |
||||
|
"schemas": {}, |
||||
|
"tables": {}, |
||||
|
"columns": {} |
||||
|
}, |
||||
|
"internal": { |
||||
|
"tables": {}, |
||||
|
"indexes": {} |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,13 @@ |
|||||
|
{ |
||||
|
"version": "7", |
||||
|
"dialect": "mysql", |
||||
|
"entries": [ |
||||
|
{ |
||||
|
"idx": 0, |
||||
|
"version": "5", |
||||
|
"when": 1760625865036, |
||||
|
"tag": "0000_thick_may_parker", |
||||
|
"breakpoints": true |
||||
|
} |
||||
|
] |
||||
|
} |
||||
@ -0,0 +1,4 @@ |
|||||
|
import { drizzle } from "drizzle-orm/mysql2"; |
||||
|
|
||||
|
// You can specify any property from the mysql2 connection options
|
||||
|
const db = drizzle({ connection: { uri: process.env.DATABASE_URL } }); |
||||
@ -0,0 +1,8 @@ |
|||||
|
import { int, mysqlTable, serial, varchar } from 'drizzle-orm/mysql-core'; |
||||
|
|
||||
|
export const usersTable = mysqlTable('users_table', { |
||||
|
id: serial().primaryKey(), |
||||
|
name: varchar({ length: 255 }).notNull(), |
||||
|
age: int().notNull(), |
||||
|
email: varchar({ length: 255 }).notNull().unique(), |
||||
|
}); |
||||
@ -1,18 +0,0 @@ |
|||||
import { defineConfig } from 'tsup' |
|
||||
import pkg from "./package.json"; |
|
||||
import spkg from "./packages/server/package.json"; |
|
||||
import fg from "fast-glob" |
|
||||
|
|
||||
const entries = await fg(["packages/server/src/jobs/**/*.ts"], { }); |
|
||||
|
|
||||
export default defineConfig({ |
|
||||
entry: entries, |
|
||||
format: 'esm', |
|
||||
sourcemap: false, |
|
||||
clean: false, |
|
||||
outDir: "dist/jobs", |
|
||||
external: [ |
|
||||
...Object.keys(pkg.dependencies), |
|
||||
...Object.keys(spkg.dependencies), |
|
||||
] |
|
||||
}) |
|
||||
@ -1,18 +0,0 @@ |
|||||
import { defineConfig } from 'tsup' |
|
||||
import pkg from "./package.json"; |
|
||||
import spkg from "./packages/server/package.json"; |
|
||||
import fg from "fast-glob" |
|
||||
|
|
||||
const entries = await fg(["packages/server/src/modules/**/*.ts"], { }); |
|
||||
|
|
||||
export default defineConfig({ |
|
||||
entry: entries, |
|
||||
format: 'esm', |
|
||||
sourcemap: false, |
|
||||
clean: false, |
|
||||
outDir: "dist/modules", |
|
||||
external: [ |
|
||||
...Object.keys(pkg.dependencies), |
|
||||
...Object.keys(spkg.dependencies), |
|
||||
] |
|
||||
}) |
|
||||
Loading…
Reference in new issue