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