Skip to content

Commit 3d05f64

Browse files
committed
feat: implement experimental discord js handler
1 parent cd90ea7 commit 3d05f64

26 files changed

+1560
-623
lines changed

docker-compose.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
services:
2+
postgresql:
3+
image: bitnami/postgresql
4+
ports:
5+
- 5432:5432
6+
environment:
7+
- POSTGRESQL_USERNAME=postgres
8+
- POSTGRESQL_PASSWORD=postgres
9+
- POSTGRESQL_DATABASE=codify

eslint.config.mjs

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,33 @@ import eslint from '@eslint/js'
22
import tseslint from 'typescript-eslint'
33
import prettier from 'eslint-plugin-prettier'
44
import simpleImportSort from 'eslint-plugin-simple-import-sort'
5+
import unusedImports from 'eslint-plugin-unused-imports'
6+
import eslintImport from 'eslint-plugin-import'
7+
8+
import globals from 'globals'
59

610
export default tseslint.config(
711
{ ignores: ['node_modules', 'dist', 'generated'] },
812
{
9-
extends: [eslint.configs.recommended, ...tseslint.configs.recommended],
13+
extends: [...tseslint.configs.recommendedTypeChecked, eslint.configs.recommended],
1014
files: ['**/*.ts'],
1115
plugins: {
1216
'simple-import-sort': simpleImportSort,
1317
'prettier': prettier,
18+
'unused-imports': unusedImports,
19+
'eslint-plugin-import': eslintImport,
1420
},
1521
languageOptions: {
22+
parserOptions: {
23+
projectService: true,
24+
tsconfigRootDir: import.meta.dirname,
25+
},
1626
parser: tseslint.parser,
1727
ecmaVersion: 2020,
1828
sourceType: 'module',
29+
globals: {
30+
...globals.node
31+
}
1932
},
2033
rules: {
2134
'prettier/prettier': [
@@ -29,6 +42,36 @@ export default tseslint.config(
2942
semi: false,
3043
},
3144
],
32-
}
45+
'unused-imports/no-unused-imports': 'error',
46+
'unused-imports/no-unused-vars': [
47+
'warn',
48+
{
49+
vars: 'all',
50+
varsIgnorePattern: '^_',
51+
args: 'after-used',
52+
argsIgnorePattern: '^_',
53+
},
54+
],
55+
'simple-import-sort/imports': 'error',
56+
'simple-import-sort/exports': 'error',
57+
'no-duplicate-imports': ["error", { "includeExports": true }],
58+
'eslint-plugin-import/no-duplicates': 'error',
59+
'no-unused-vars': 'off',
60+
'@typescript-eslint/no-unused-vars': [
61+
'warn',
62+
{
63+
vars: 'all',
64+
varsIgnorePattern: '^_',
65+
args: 'after-used',
66+
argsIgnorePattern: '^_',
67+
},
68+
],
69+
'@typescript-eslint/restrict-template-expressions': 'off',
70+
'@typescript-eslint/no-misused-promises': 'off',
71+
'@typescript-eslint/no-base-to-string': 'off',
72+
'@typescript-eslint/no-floating-promises': 'off',
73+
'@typescript-eslint/no-explicit-any': 'off',
74+
'@typescript-eslint/unbound-method': 'off',
75+
},
3376
}
3477
)

package.json

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
"name": "codify-bot",
33
"version": "1.0.0",
44
"description": "The new Official Codify Bot Discord",
5-
"main": "src/bot.ts",
5+
"main": "src/index.ts",
66
"scripts": {
7-
"start:dev": "tsx --watch src/bot.ts",
8-
"start": "node dist/bot.js",
7+
"start": "node dist/index.js",
8+
"start:dev": "tsx --watch src/index.ts",
99
"build": "tsup src --out-dir dist",
1010
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\"",
1111
"lint:fix": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
12-
"db_gui": "npx prisma studio",
13-
"db_apply": "npx prisma migrate deploy"
12+
"db:gui": "pnpm dlx prisma studio",
13+
"db:apply": "pnpm dlx prisma migrate deploy"
1414
},
1515
"keywords": [],
1616
"author": "Dev Curumin",
@@ -28,8 +28,11 @@
2828
"@eslint/js": "9.26.0",
2929
"@types/node": "22.15.15",
3030
"eslint": "9.26.0",
31+
"eslint-plugin-import": "2.31.0",
3132
"eslint-plugin-prettier": "5.4.0",
3233
"eslint-plugin-simple-import-sort": "12.1.1",
34+
"eslint-plugin-unused-imports": "4.1.4",
35+
"globals": "16.1.0",
3336
"ts-node": "10.9.2",
3437
"tsconfig-paths": "4.2.0",
3538
"tsup": "8.4.0",

0 commit comments

Comments
 (0)