From 77fefb9bef286a22f40a4d76b79c64fcc5a2467f Mon Sep 17 00:00:00 2001 From: Palm Date: Mon, 8 Jul 2024 17:18:39 +0000 Subject: [PATCH] chore: fix more build issues BREAKING CHANGE: In `@revanced/discord-bot`, its environment variable `DATABASE_URL` has been renamed to `DATABASE_PATH` and the `file:` prefix is no longer needed --- .../websocket/docs/2_running_and_deploying.md | 5 ++--- bots/discord/.env.example | 2 +- bots/discord/docs/1_configuration.md | 6 +++--- bots/discord/drizzle.config.ts | 2 +- bots/discord/package.json | 2 +- bots/discord/src/commands/index.ts | 16 ++++++++-------- bots/discord/src/context.ts | 7 +++++-- bots/discord/src/events/api/index.ts | 2 +- bots/discord/src/events/discord/index.ts | 6 +++--- bots/discord/src/index.ts | 2 +- bun.lockb | Bin 119372 -> 119444 bytes package.json | 6 +++--- 12 files changed, 29 insertions(+), 27 deletions(-) mode change 100644 => 100755 bun.lockb diff --git a/apis/websocket/docs/2_running_and_deploying.md b/apis/websocket/docs/2_running_and_deploying.md index ae57227..08dafc9 100644 --- a/apis/websocket/docs/2_running_and_deploying.md +++ b/apis/websocket/docs/2_running_and_deploying.md @@ -25,8 +25,6 @@ The distribution files will be placed inside the `dist` directory. Inside will i - The default configuration for the API - Compiled source files of the API -You'll need to also copy the `node_modules` directory dereferenced if you want to run the distribution files somewhere else. - ## ✈️ Deploying To deploy the API, you'll need to: @@ -43,7 +41,8 @@ To deploy the API, you'll need to: 3. Replace the default configuration *(optional)* 4. Configure environment variables - As seen in [`.env.example`](../.env.example). You can also optionally use a `.env` file which **Bun will automatically load**. + As seen in [`.env.example`](../.env.example). You can also optionally use a `.env` file which **Bun will automatically load**. + It is recommended to set `NODE_ENV` to `production` when deploying production builds. 5. Finally, you can run the API using these commands diff --git a/bots/discord/.env.example b/bots/discord/.env.example index f1eefc5..8685374 100644 --- a/bots/discord/.env.example +++ b/bots/discord/.env.example @@ -1,2 +1,2 @@ DISCORD_TOKEN="YOUR-TOKEN-HERE" -DATABASE_URL=file:./db.sqlite3 \ No newline at end of file +DATABASE_PATH=./db.sqlite3 \ No newline at end of file diff --git a/bots/discord/docs/1_configuration.md b/bots/discord/docs/1_configuration.md index 09106d0..0a6a634 100644 --- a/bots/discord/docs/1_configuration.md +++ b/bots/discord/docs/1_configuration.md @@ -61,10 +61,10 @@ You can set environment variables in your shell or use a `.env` file which **Bun The Discord bot token. -#### `DATABASE_URL` +#### `DATABASE_PATH` -The database URL, since we're using SQLite, we'll be using the `file` protocol. -Example values are: `file:./revanced.db`, `file:./db.sqlite`, `file:./discord_bot.sqlite` +The database path. +Example values are: `./revanced.db`, `db.sqlite3`, `../some/path/discord_bot.sqlite` ## ⏭️ What's next diff --git a/bots/discord/drizzle.config.ts b/bots/discord/drizzle.config.ts index f50247d..3c1920e 100644 --- a/bots/discord/drizzle.config.ts +++ b/bots/discord/drizzle.config.ts @@ -4,6 +4,6 @@ export default defineConfig({ dialect: 'sqlite', schema: './src/database/schemas.ts', dbCredentials: { - url: process.env['DATABASE_URL'], + url: `file:./${process.env['DATABASE_PATH']}`, }, }) diff --git a/bots/discord/package.json b/bots/discord/package.json index 780b8a9..0fc0978 100644 --- a/bots/discord/package.json +++ b/bots/discord/package.json @@ -10,7 +10,7 @@ "start": "bun run scripts/generate-indexes.ts && bun run src/index.ts", "dev": "bun run scripts/generate-indexes.ts && bun --watch src/index.ts", "build:config": "bun build config.ts --outdir=dist", - "build": "bun prepare && bun build:config && bun build src/index.ts -e ./config.js --target=bun --outdir=dist/src && DATABASE_URL=dist/db.sqlite3 drizzle-kit push", + "build": "bun prepare && bun build:config && bun build src/index.ts -e ./config.js --target=bun --outdir=dist/src && DATABASE_PATH=dist/db.sqlite3 drizzle-kit push", "watch": "bun dev", "prepare": "bun run scripts/generate-indexes.ts" }, diff --git a/bots/discord/src/commands/index.ts b/bots/discord/src/commands/index.ts index 3bd4ce2..58723ee 100644 --- a/bots/discord/src/commands/index.ts +++ b/bots/discord/src/commands/index.ts @@ -1,16 +1,16 @@ // AUTO-GENERATED BY A SCRIPT, DON'T TOUCH import './index' -import './fun/reply' import './fun/coinflip' -import './development/eval' -import './development/stop' -import './development/exception-test' +import './fun/reply' +import './moderation/unban' import './moderation/purge' import './moderation/cure' -import './moderation/role-preset' -import './moderation/mute' import './moderation/unmute' -import './moderation/unban' -import './moderation/slowmode' +import './moderation/mute' import './moderation/ban' +import './moderation/role-preset' +import './moderation/slowmode' +import './development/stop' +import './development/exception-test' +import './development/eval' diff --git a/bots/discord/src/context.ts b/bots/discord/src/context.ts index 2908e4f..a4806ee 100644 --- a/bots/discord/src/context.ts +++ b/bots/discord/src/context.ts @@ -29,7 +29,7 @@ export const api = { disconnectCount: 0, } -const db = new Database(process.env['DATABASE_URL']) +const db = new Database(process.env['DATABASE_PATH']) export const database = drizzle(db, { schema: schemas, @@ -61,5 +61,8 @@ export const discord = { ], }, }), - commands: Object.fromEntries(Object.values(commands).map((cmd) => [cmd.data.name, cmd])) as Record, + commands: Object.fromEntries(Object.values(commands).map(cmd => [cmd.data.name, cmd])) as Record< + string, + Command + >, } as const diff --git a/bots/discord/src/events/api/index.ts b/bots/discord/src/events/api/index.ts index 80e2524..0c774fe 100644 --- a/bots/discord/src/events/api/index.ts +++ b/bots/discord/src/events/api/index.ts @@ -1,5 +1,5 @@ // AUTO-GENERATED BY A SCRIPT, DON'T TOUCH import './ready' -import './disconnect' import './index' +import './disconnect' diff --git a/bots/discord/src/events/discord/index.ts b/bots/discord/src/events/discord/index.ts index 4f305b0..9e3e80f 100644 --- a/bots/discord/src/events/discord/index.ts +++ b/bots/discord/src/events/discord/index.ts @@ -4,7 +4,7 @@ import './ready' import './cureRequired' import './index' import './messageCreate/messageScanRequired' -import './messageReactionAdd/correctResponse' -import './interactionCreate/chatCommand' -import './interactionCreate/correctResponse' import './guildMemberAdd/applyRolePresets' +import './interactionCreate/correctResponse' +import './interactionCreate/chatCommand' +import './messageReactionAdd/correctResponse' diff --git a/bots/discord/src/index.ts b/bots/discord/src/index.ts index 1588c24..f7e77fd 100644 --- a/bots/discord/src/index.ts +++ b/bots/discord/src/index.ts @@ -4,7 +4,7 @@ import { getMissingEnvironmentVariables } from '@revanced/bot-shared' import './events/register' // Check if token exists -const missingEnvs = getMissingEnvironmentVariables(['DISCORD_TOKEN', 'DATABASE_URL']) +const missingEnvs = getMissingEnvironmentVariables(['DISCORD_TOKEN', 'DATABASE_PATH']) if (missingEnvs.length) { for (const env of missingEnvs) logger.fatal(`${env} is not defined in environment variables`) process.exit(1) diff --git a/bun.lockb b/bun.lockb old mode 100644 new mode 100755 index b4f32d2ffdae65493b8468c1d067190580eac1f2..64e6cbb7b833430c48103332280eb18bdbb74b0c GIT binary patch delta 4919 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 B+O7Zq delta 4846 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 Kn*QY?;{pIguev$_ diff --git a/package.json b/package.json index db9b265..566d1e8 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,8 @@ "author": "Palm (https://palmdevs.me)", "workspaces": ["packages/*", "apis/*", "bots/*"], "scripts": { - "build": "turbo run build", - "build:packages": "turbo run build --filter=\"./packages/*\"", + "build:all": "turbo run build", + "build:packages": "turbo build --filter=\"./packages/*\"", "watch": "turbo run watch", "flint": "biome check --write .", "flint:check": "biome check .", @@ -27,7 +27,7 @@ "Palm (https://palmdevs.me)", "ReVanced (https://revanced.app)" ], - "packageManager": "pnpm@9.4.0", + "packageManager": "bun@1.1.18", "devDependencies": { "@biomejs/biome": "^1.8.2", "@commitlint/cli": "^19.3.0",