blockmine 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/backend/cli.js +17 -15
  2. package/backend/nodemon.json +1 -1
  3. package/backend/package-lock.json +2539 -2539
  4. package/backend/package.json +36 -33
  5. package/backend/prisma/generated/client/default.d.ts +1 -0
  6. package/backend/prisma/generated/client/default.js +1 -0
  7. package/backend/prisma/generated/client/edge.d.ts +1 -0
  8. package/backend/prisma/generated/client/edge.js +280 -0
  9. package/backend/prisma/generated/client/index-browser.js +272 -0
  10. package/backend/prisma/generated/client/index.d.ts +16892 -0
  11. package/backend/prisma/generated/client/index.js +301 -0
  12. package/backend/prisma/generated/client/package.json +97 -0
  13. package/backend/prisma/generated/client/query_engine-windows.dll.node +0 -0
  14. package/backend/prisma/generated/client/runtime/edge-esm.js +31 -0
  15. package/backend/prisma/generated/client/runtime/edge.js +31 -0
  16. package/backend/prisma/generated/client/runtime/index-browser.d.ts +365 -0
  17. package/backend/prisma/generated/client/runtime/index-browser.js +13 -0
  18. package/backend/prisma/generated/client/runtime/library.d.ts +3403 -0
  19. package/backend/prisma/generated/client/runtime/library.js +143 -0
  20. package/backend/prisma/generated/client/runtime/react-native.js +80 -0
  21. package/backend/prisma/generated/client/runtime/wasm.js +32 -0
  22. package/backend/prisma/generated/client/schema.prisma +148 -0
  23. package/backend/prisma/generated/client/wasm.d.ts +1 -0
  24. package/backend/prisma/generated/client/wasm.js +272 -0
  25. package/backend/prisma/migrations/20250615232848_add_scheduled_tasks/migration.sql +13 -0
  26. package/backend/prisma/schema.prisma +150 -137
  27. package/backend/src/api/routes/tasks.js +95 -0
  28. package/backend/src/core/BotManager.js +8 -0
  29. package/backend/src/core/PluginManager.js +63 -17
  30. package/backend/src/core/TaskScheduler.js +117 -0
  31. package/backend/src/real-time/socketHandler.js +30 -30
  32. package/backend/src/server.js +22 -20
  33. package/frontend/dist/assets/index-4S5VJ11r.js +8179 -0
  34. package/frontend/dist/assets/index-B5_cke-P.css +1 -0
  35. package/frontend/dist/favicon.svg +2 -2
  36. package/frontend/dist/index.html +20 -20
  37. package/frontend/dist/logo.svg +178 -178
  38. package/frontend/dist/site.webmanifest +20 -20
  39. package/frontend/package.json +66 -65
  40. package/package.json +38 -38
  41. package/frontend/dist/assets/index-8hxjI7oG.css +0 -1
  42. package/frontend/dist/assets/index-Brxc-96r.js +0 -8179
package/backend/cli.js CHANGED
@@ -6,13 +6,15 @@ const { execSync } = require('child_process');
6
6
  const { startServer } = require('./src/server.js');
7
7
 
8
8
  const DATA_DIR = path.join(os.homedir(), '.blockmine');
9
- const prismaSchemaPath = path.join(__dirname, 'prisma', 'schema.prisma');
9
+ if (!fs.existsSync(DATA_DIR)) {
10
+ fs.mkdirSync(DATA_DIR, { recursive: true });
11
+ }
12
+ process.env.DATABASE_URL = `file:${path.join(DATA_DIR, 'blockmine.db')}`;
10
13
 
11
14
  function runCommand(command) {
12
15
  try {
13
16
  console.log(`> ${command}`);
14
- const shell = process.platform === 'win32' ? 'cmd.exe' : '/bin/sh';
15
- execSync(command, { stdio: 'inherit', cwd: __dirname, shell: shell });
17
+ execSync(command, { stdio: 'inherit', cwd: __dirname });
16
18
  } catch (e) {
17
19
  console.error(`Команда "${command}" не удалась:`, e);
18
20
  process.exit(1);
@@ -21,28 +23,28 @@ function runCommand(command) {
21
23
 
22
24
  async function main() {
23
25
  console.log('Запуск панели управления BlockMine...');
24
-
26
+
25
27
  const dbPath = path.join(DATA_DIR, 'blockmine.db');
26
-
27
28
  if (!fs.existsSync(dbPath)) {
28
29
  console.log('База данных не найдена. Создаем и применяем все миграции...');
29
- runCommand(`npx prisma migrate deploy --schema=${prismaSchemaPath}`);
30
-
30
+ runCommand(`npx prisma migrate deploy`);
31
31
  console.log('Заполнение базы данных начальными данными (серверами)...');
32
- const seedScriptPath = path.join(__dirname, 'prisma', 'seed.js');
33
- runCommand(`node ${seedScriptPath}`);
34
-
32
+ runCommand(`npx prisma db seed`);
35
33
  console.log('Первоначальная настройка базы данных завершена.');
36
34
  } else {
37
35
  console.log('Проверка и применение обновлений базы данных...');
38
- runCommand(`npx prisma migrate deploy --schema=${prismaSchemaPath}`);
36
+ runCommand(`npx prisma migrate deploy`);
39
37
  console.log('База данных в актуальном состоянии.');
40
38
  }
41
39
 
42
40
  await startServer();
43
41
  }
44
42
 
45
- main().catch(e => {
46
- console.error('Критическая ошибка при запуске:', e);
47
- process.exit(1);
48
- });
43
+ if (require.main === module) {
44
+ main().catch(e => {
45
+ console.error('Критическая ошибка при запуске:', e);
46
+ process.exit(1);
47
+ });
48
+ }
49
+
50
+ module.exports = { main };
@@ -2,7 +2,7 @@
2
2
  "watch": ["src/"],
3
3
  "ext": "js,mjs,cjs,json",
4
4
  "ignore": ["storage/", "prisma/dev.db", "prisma/dev.db-journal"],
5
- "exec": "node src/server.js",
5
+ "exec": "node cli.js",
6
6
  "signal": "SIGINT",
7
7
  "delay": 1500
8
8
  }