diff --git a/.gitignore b/.gitignore index 0ad7693..9022145 100644 --- a/.gitignore +++ b/.gitignore @@ -133,3 +133,4 @@ dist src/scripts/outputs data/brain.dat .DS_Store +build diff --git a/package.json b/package.json index a8093f2..d55a779 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "description": "", "scripts": { "dev": "nodemon --exec tsx src/index.ts", + "build": "tsc && tsc-alias", "test": "echo \"Error: no test specified\" && exit 1" }, "devDependencies": { @@ -12,6 +13,7 @@ "csv": "^6.3.10", "jsdom": "^24.1.1", "nodemon": "^3.1.4", + "tsc-alias": "^1.8.10", "tsx": "^4.16.5", "typescript-eslint": "^8.0.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8119609..d5f41a8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -42,6 +42,9 @@ importers: nodemon: specifier: ^3.1.4 version: 3.1.4 + tsc-alias: + specifier: ^1.8.10 + version: 1.8.10 tsx: specifier: ^4.16.5 version: 4.16.5 @@ -468,6 +471,10 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -862,6 +869,10 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + mylas@2.1.13: + resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} + engines: {node: '>=12.0.0'} + nanoid@5.0.7: resolution: {integrity: sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==} engines: {node: ^18 || >=20} @@ -923,6 +934,10 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + plimit-lit@1.6.1: + resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} + engines: {node: '>=12'} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -943,6 +958,10 @@ packages: querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + queue-lit@1.5.2: + resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} + engines: {node: '>=12'} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -1097,6 +1116,10 @@ packages: ts-mixer@6.0.4: resolution: {integrity: sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA==} + tsc-alias@1.8.10: + resolution: {integrity: sha512-Ibv4KAWfFkFdKJxnWfVtdOmB0Zi1RJVxcbPGiCDsFpCQSsmpWyuzHG3rQyI5YkobWwxFPEyQfu1hdo4qLG2zPw==} + hasBin: true + tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} @@ -1612,6 +1635,8 @@ snapshots: dependencies: delayed-stream: 1.0.0 + commander@9.5.0: {} + concat-map@0.0.1: {} core-util-is@1.0.3: {} @@ -2044,6 +2069,8 @@ snapshots: ms@2.1.3: {} + mylas@2.1.13: {} + nanoid@5.0.7: {} natural-compare@1.4.0: {} @@ -2104,6 +2131,10 @@ snapshots: picomatch@2.3.1: {} + plimit-lit@1.6.1: + dependencies: + queue-lit: 1.5.2 + prelude-ls@1.2.1: {} process-nextick-args@2.0.1: {} @@ -2116,6 +2147,8 @@ snapshots: querystringify@2.2.0: {} + queue-lit@1.5.2: {} + queue-microtask@1.2.3: {} readable-stream@2.3.8: @@ -2251,6 +2284,15 @@ snapshots: ts-mixer@6.0.4: {} + tsc-alias@1.8.10: + dependencies: + chokidar: 3.6.0 + commander: 9.5.0 + globby: 11.1.0 + mylas: 2.1.13 + normalize-path: 3.0.0 + plimit-lit: 1.6.1 + tslib@2.6.2: {} tsx@4.16.5: diff --git a/src/core/commands.ts b/src/core/commands.ts index dcd5e2b..97fd86d 100644 --- a/src/core/commands.ts +++ b/src/core/commands.ts @@ -16,7 +16,7 @@ let _commands: Record = {} export async function loadCommands(): Promise { _commands = {} - const dir = path.resolve(process.cwd(), 'src', 'commands') + const dir = path.resolve(__dirname, '..', 'commands') const files = await fs.readdir(dir) for (const file of files) { const command = (await import(path.resolve(dir, file))).default