@gzl10/nexus-backend 0.11.1 → 0.12.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 (136) hide show
  1. package/dist/cli.js +20 -4
  2. package/dist/cli.js.map +1 -1
  3. package/dist/index.d.ts +6 -1
  4. package/dist/index.js +264 -183
  5. package/dist/index.js.map +1 -1
  6. package/package.json +10 -31
  7. package/README.md +0 -205
  8. package/ui/dist/assets/ChangePasswordPage-ISVw_L0v.js +0 -1
  9. package/ui/dist/assets/DashboardPage-DP3-Udu4.js +0 -1
  10. package/ui/dist/assets/DynamicForm-CeB4C5_P.css +0 -1
  11. package/ui/dist/assets/DynamicForm.vue_vue_type_script_setup_true_lang-BEGbMqFJ.js +0 -153
  12. package/ui/dist/assets/LandingPage-ChqK0fze.js +0 -1
  13. package/ui/dist/assets/LoginPage-CoI_dKR7.js +0 -1
  14. package/ui/dist/assets/ModuleEntityForm-C-NNG-EQ.js +0 -1
  15. package/ui/dist/assets/ModuleManagement-bSQPd5tJ.js +0 -1
  16. package/ui/dist/assets/RegisterPage-BPJNkVpO.js +0 -1
  17. package/ui/dist/assets/apl-B4CMkyY2.js +0 -1
  18. package/ui/dist/assets/asciiarmor-Df11BRmG.js +0 -1
  19. package/ui/dist/assets/asn1-EdZsLKOL.js +0 -1
  20. package/ui/dist/assets/asterisk-B-8jnY81.js +0 -1
  21. package/ui/dist/assets/brainfuck-C4LP7Hcl.js +0 -1
  22. package/ui/dist/assets/clike-B9uivgTg.js +0 -1
  23. package/ui/dist/assets/clojure-BMjYHr_A.js +0 -1
  24. package/ui/dist/assets/cmake-BQqOBYOt.js +0 -1
  25. package/ui/dist/assets/cobol-CWcv1MsR.js +0 -1
  26. package/ui/dist/assets/coffeescript-S37ZYGWr.js +0 -1
  27. package/ui/dist/assets/commonlisp-DBKNyK5s.js +0 -1
  28. package/ui/dist/assets/crystal-SjHAIU92.js +0 -1
  29. package/ui/dist/assets/css-BnMrqG3P.js +0 -1
  30. package/ui/dist/assets/cypher-C_CwsFkJ.js +0 -1
  31. package/ui/dist/assets/d-pRatUO7H.js +0 -1
  32. package/ui/dist/assets/diff-DbItnlRl.js +0 -1
  33. package/ui/dist/assets/dist-7DF6COJ5-BU0JAua0.js +0 -16
  34. package/ui/dist/assets/dockerfile-BKs6k2Af.js +0 -1
  35. package/ui/dist/assets/dtd-DF_7sFjM.js +0 -1
  36. package/ui/dist/assets/dylan-DwRh75JA.js +0 -1
  37. package/ui/dist/assets/ebnf-CDyGwa7X.js +0 -1
  38. package/ui/dist/assets/ecl-Cabwm37j.js +0 -1
  39. package/ui/dist/assets/eiffel-CnydiIhH.js +0 -1
  40. package/ui/dist/assets/elm-vLlmbW-K.js +0 -1
  41. package/ui/dist/assets/erlang-BNw1qcRV.js +0 -1
  42. package/ui/dist/assets/factor-kuTfRLto.js +0 -1
  43. package/ui/dist/assets/fcl-Kvtd6kyn.js +0 -1
  44. package/ui/dist/assets/forth-Ffai-XNe.js +0 -1
  45. package/ui/dist/assets/fortran-DYz_wnZ1.js +0 -1
  46. package/ui/dist/assets/gas-Bneqetm1.js +0 -1
  47. package/ui/dist/assets/gherkin-heZmZLOM.js +0 -1
  48. package/ui/dist/assets/groovy-D9Dt4D0W.js +0 -1
  49. package/ui/dist/assets/haskell-Cw1EW3IL.js +0 -1
  50. package/ui/dist/assets/haxe-H-WmDvRZ.js +0 -1
  51. package/ui/dist/assets/http-DBlCnlav.js +0 -1
  52. package/ui/dist/assets/idl-BEugSyMb.js +0 -1
  53. package/ui/dist/assets/index-B2aO8s3Z.js +0 -1
  54. package/ui/dist/assets/index-BEgwKIPR.js +0 -1
  55. package/ui/dist/assets/index-BK8vn9eH.js +0 -3
  56. package/ui/dist/assets/index-BhvHOKjg.js +0 -2
  57. package/ui/dist/assets/index-CMceDQ1X.js +0 -1
  58. package/ui/dist/assets/index-CS_77FlC.js +0 -1
  59. package/ui/dist/assets/index-CjAC8nV-.js +0 -1
  60. package/ui/dist/assets/index-Crsm9Fe1.js +0 -1
  61. package/ui/dist/assets/index-DDExxVjn.js +0 -1
  62. package/ui/dist/assets/index-DHhnrfv6.js +0 -1
  63. package/ui/dist/assets/index-DV-FEWVR.css +0 -1
  64. package/ui/dist/assets/index-Dd-pLSL2.js +0 -1
  65. package/ui/dist/assets/index-DnEeKmzb.js +0 -1
  66. package/ui/dist/assets/index-Droz4BH2.js +0 -1
  67. package/ui/dist/assets/index-DvcKvpja.js +0 -1
  68. package/ui/dist/assets/index-Mzaxi0V6.js +0 -1
  69. package/ui/dist/assets/index-TCvHxt3m.js +0 -1
  70. package/ui/dist/assets/index-XPcj9SOt.js +0 -1
  71. package/ui/dist/assets/index-Xvxye7rE.js +0 -7355
  72. package/ui/dist/assets/index-YVp781F2.js +0 -7
  73. package/ui/dist/assets/javascript-iXu5QeM3.js +0 -1
  74. package/ui/dist/assets/julia-DuME0IfC.js +0 -1
  75. package/ui/dist/assets/livescript-BwQOo05w.js +0 -1
  76. package/ui/dist/assets/lua-BgMRiT3U.js +0 -1
  77. package/ui/dist/assets/mathematica-DTrFuWx2.js +0 -1
  78. package/ui/dist/assets/mbox-CNhZ1qSd.js +0 -1
  79. package/ui/dist/assets/mirc-CjQqDB4T.js +0 -1
  80. package/ui/dist/assets/mllike-CXdrOF99.js +0 -1
  81. package/ui/dist/assets/modelica-Dc1JOy9r.js +0 -1
  82. package/ui/dist/assets/mscgen-BA5vi2Kp.js +0 -1
  83. package/ui/dist/assets/mumps-BT43cFF4.js +0 -1
  84. package/ui/dist/assets/nginx-DdIZxoE0.js +0 -1
  85. package/ui/dist/assets/nsis-LdVXkNf5.js +0 -1
  86. package/ui/dist/assets/ntriples-BfvgReVJ.js +0 -1
  87. package/ui/dist/assets/octave-Ck1zUtKM.js +0 -1
  88. package/ui/dist/assets/oz-BzwKVEFT.js +0 -1
  89. package/ui/dist/assets/pascal--L3eBynH.js +0 -1
  90. package/ui/dist/assets/perl-CdXCOZ3F.js +0 -1
  91. package/ui/dist/assets/pig-CevX1Tat.js +0 -1
  92. package/ui/dist/assets/powershell-CFHJl5sT.js +0 -1
  93. package/ui/dist/assets/properties-C78fOPTZ.js +0 -1
  94. package/ui/dist/assets/protobuf-ChK-085T.js +0 -1
  95. package/ui/dist/assets/pug-DeIclll2.js +0 -1
  96. package/ui/dist/assets/puppet-DMA9R1ak.js +0 -1
  97. package/ui/dist/assets/python-BuPzkPfP.js +0 -1
  98. package/ui/dist/assets/q-pXgVlZs6.js +0 -1
  99. package/ui/dist/assets/r-B6wPVr8A.js +0 -1
  100. package/ui/dist/assets/rpm-CTu-6PCP.js +0 -1
  101. package/ui/dist/assets/ruby-B2Rjki9n.js +0 -1
  102. package/ui/dist/assets/sas-B4kiWyti.js +0 -1
  103. package/ui/dist/assets/scheme-C41bIUwD.js +0 -1
  104. package/ui/dist/assets/shell-CjFT_Tl9.js +0 -1
  105. package/ui/dist/assets/sieve-C3Gn_uJK.js +0 -1
  106. package/ui/dist/assets/simple-mode-GW_nhZxv.js +0 -1
  107. package/ui/dist/assets/smalltalk-CnHTOXQT.js +0 -1
  108. package/ui/dist/assets/solr-DehyRSwq.js +0 -1
  109. package/ui/dist/assets/sparql-DkYu6x3z.js +0 -1
  110. package/ui/dist/assets/spreadsheet-BCZA_wO0.js +0 -1
  111. package/ui/dist/assets/sql-D0XecflT.js +0 -1
  112. package/ui/dist/assets/stex-C3f8Ysf7.js +0 -1
  113. package/ui/dist/assets/stylus-B533Al4x.js +0 -1
  114. package/ui/dist/assets/swift-BzpIVaGY.js +0 -1
  115. package/ui/dist/assets/tcl-DVfN8rqt.js +0 -1
  116. package/ui/dist/assets/textile-CnDTJFAw.js +0 -1
  117. package/ui/dist/assets/tiddlywiki-DO-Gjzrf.js +0 -1
  118. package/ui/dist/assets/tiki-DGYXhP31.js +0 -1
  119. package/ui/dist/assets/toml-Bm5Em-hy.js +0 -1
  120. package/ui/dist/assets/troff-wAsdV37c.js +0 -1
  121. package/ui/dist/assets/ttcn-CfJYG6tj.js +0 -1
  122. package/ui/dist/assets/ttcn-cfg-B9xdYoR4.js +0 -1
  123. package/ui/dist/assets/turtle-B1tBg_DP.js +0 -1
  124. package/ui/dist/assets/vb-CmGdzxic.js +0 -1
  125. package/ui/dist/assets/vbscript-BuJXcnF6.js +0 -1
  126. package/ui/dist/assets/velocity-D8B20fx6.js +0 -1
  127. package/ui/dist/assets/verilog-C6RDOZhf.js +0 -1
  128. package/ui/dist/assets/vhdl-lSbBsy5d.js +0 -1
  129. package/ui/dist/assets/webidl-ZXfAyPTL.js +0 -1
  130. package/ui/dist/assets/xquery-DzFWVndE.js +0 -1
  131. package/ui/dist/assets/yacas-BJ4BC0dw.js +0 -1
  132. package/ui/dist/assets/z80-Hz9HOZM7.js +0 -1
  133. package/ui/dist/favicon-16.png +0 -0
  134. package/ui/dist/favicon-32.png +0 -0
  135. package/ui/dist/favicon.ico +0 -0
  136. package/ui/dist/index.html +0 -17
package/dist/cli.js CHANGED
@@ -1,12 +1,28 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- // src/cli.ts
3
+ // src/env-loader.ts
4
4
  import { existsSync } from "fs";
5
+ import { join, dirname } from "path";
6
+ import { config } from "dotenv";
7
+ var dir = process.cwd();
8
+ console.log("[env-loader] Starting search from cwd:", dir);
9
+ for (let i = 0; i < 5; i++) {
10
+ const envPath = join(dir, ".env");
11
+ const exists = existsSync(envPath);
12
+ console.log(`[env-loader] Checking: ${envPath}`, exists ? "\u2713 FOUND" : "\u2717 not found");
13
+ if (exists) {
14
+ config({ path: envPath });
15
+ console.log("[env-loader] Loaded:", envPath);
16
+ break;
17
+ }
18
+ const parent = dirname(dir);
19
+ if (parent === dir) break;
20
+ dir = parent;
21
+ }
22
+
23
+ // src/cli.ts
5
24
  import { Command } from "commander";
6
25
  import { consola } from "consola";
7
- if (existsSync(".env")) {
8
- process.loadEnvFile(".env");
9
- }
10
26
  var program = new Command();
11
27
  program.name("nexus").description("Nexus Backend CLI").version("0.1.0");
12
28
  program.command("ui").description("Open UI in browser").option("-p, --port <port>", "Nexus backend port").action(async (options) => {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { existsSync } from 'fs'\nimport { Command } from 'commander'\nimport { consola } from 'consola'\n\n// Cargar .env si existe (Node 20+)\nif (existsSync('.env')) {\n process.loadEnvFile('.env')\n}\n\nconst program = new Command()\n\nprogram\n .name('nexus')\n .description('Nexus Backend CLI')\n .version('0.1.0')\n\nprogram\n .command('ui')\n .description('Open UI in browser')\n .option('-p, --port <port>', 'Nexus backend port')\n .action(async (options) => {\n const port = parseInt(options.port || process.env['PORT'] || '3000', 10)\n const baseUrl = (process.env['BACKEND_URL'] || `http://localhost:${port}`).replace(/\\/$/, '')\n const url = `${baseUrl}/ui`\n\n // Verificar que Nexus está corriendo\n try {\n const res = await fetch(`${baseUrl}/health`)\n if (!res.ok) throw new Error()\n } catch {\n consola.error(`Nexus no está corriendo en ${baseUrl}`)\n consola.info('Inicia el servidor primero con: pnpm dev')\n process.exit(1)\n }\n\n // Abrir navegador\n const { exec } = await import('child_process')\n const cmd = process.platform === 'darwin' ? 'open'\n : process.platform === 'win32' ? 'start'\n : 'xdg-open'\n\n exec(`${cmd} ${url}`)\n consola.success(`Abriendo: ${url}`)\n })\n\nprogram.parse()\n"],"mappings":";;;AACA,SAAS,kBAAkB;AAC3B,SAAS,eAAe;AACxB,SAAS,eAAe;AAGxB,IAAI,WAAW,MAAM,GAAG;AACtB,UAAQ,YAAY,MAAM;AAC5B;AAEA,IAAM,UAAU,IAAI,QAAQ;AAE5B,QACG,KAAK,OAAO,EACZ,YAAY,mBAAmB,EAC/B,QAAQ,OAAO;AAElB,QACG,QAAQ,IAAI,EACZ,YAAY,oBAAoB,EAChC,OAAO,qBAAqB,oBAAoB,EAChD,OAAO,OAAO,YAAY;AACzB,QAAM,OAAO,SAAS,QAAQ,QAAQ,QAAQ,IAAI,MAAM,KAAK,QAAQ,EAAE;AACvE,QAAM,WAAW,QAAQ,IAAI,aAAa,KAAK,oBAAoB,IAAI,IAAI,QAAQ,OAAO,EAAE;AAC5F,QAAM,MAAM,GAAG,OAAO;AAGtB,MAAI;AACF,UAAM,MAAM,MAAM,MAAM,GAAG,OAAO,SAAS;AAC3C,QAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM;AAAA,EAC/B,QAAQ;AACN,YAAQ,MAAM,iCAA8B,OAAO,EAAE;AACrD,YAAQ,KAAK,0CAA0C;AACvD,YAAQ,KAAK,CAAC;AAAA,EAChB;AAGA,QAAM,EAAE,KAAK,IAAI,MAAM,OAAO,eAAe;AAC7C,QAAM,MAAM,QAAQ,aAAa,WAAW,SAChC,QAAQ,aAAa,UAAU,UAC/B;AAEZ,OAAK,GAAG,GAAG,IAAI,GAAG,EAAE;AACpB,UAAQ,QAAQ,aAAa,GAAG,EAAE;AACpC,CAAC;AAEH,QAAQ,MAAM;","names":[]}
1
+ {"version":3,"sources":["../src/env-loader.ts","../src/cli.ts"],"sourcesContent":["/**\n * Carga .env antes de cualquier otro import del proyecto\n * Este archivo SOLO importa de node/npm, nunca de archivos locales\n */\nimport { existsSync } from 'fs'\nimport { join, dirname } from 'path'\nimport { config } from 'dotenv'\n\nlet dir = process.cwd()\nconsole.log('[env-loader] Starting search from cwd:', dir)\n\nfor (let i = 0; i < 5; i++) {\n const envPath = join(dir, '.env')\n const exists = existsSync(envPath)\n console.log(`[env-loader] Checking: ${envPath}`, exists ? '✓ FOUND' : '✗ not found')\n if (exists) {\n config({ path: envPath })\n console.log('[env-loader] Loaded:', envPath)\n break\n }\n const parent = dirname(dir)\n if (parent === dir) break\n dir = parent\n}\n","#!/usr/bin/env node\nimport './env-loader.js'\nimport { Command } from 'commander'\nimport { consola } from 'consola'\n\nconst program = new Command()\n\nprogram\n .name('nexus')\n .description('Nexus Backend CLI')\n .version('0.1.0')\n\nprogram\n .command('ui')\n .description('Open UI in browser')\n .option('-p, --port <port>', 'Nexus backend port')\n .action(async (options) => {\n const port = parseInt(options.port || process.env['PORT'] || '3000', 10)\n const baseUrl = (process.env['BACKEND_URL'] || `http://localhost:${port}`).replace(/\\/$/, '')\n const url = `${baseUrl}/ui`\n\n // Verificar que Nexus está corriendo\n try {\n const res = await fetch(`${baseUrl}/health`)\n if (!res.ok) throw new Error()\n } catch {\n consola.error(`Nexus no está corriendo en ${baseUrl}`)\n consola.info('Inicia el servidor primero con: pnpm dev')\n process.exit(1)\n }\n\n // Abrir navegador\n const { exec } = await import('child_process')\n const cmd = process.platform === 'darwin' ? 'open'\n : process.platform === 'win32' ? 'start'\n : 'xdg-open'\n\n exec(`${cmd} ${url}`)\n consola.success(`Abriendo: ${url}`)\n })\n\nprogram.parse()\n"],"mappings":";;;AAIA,SAAS,kBAAkB;AAC3B,SAAS,MAAM,eAAe;AAC9B,SAAS,cAAc;AAEvB,IAAI,MAAM,QAAQ,IAAI;AACtB,QAAQ,IAAI,0CAA0C,GAAG;AAEzD,SAAS,IAAI,GAAG,IAAI,GAAG,KAAK;AAC1B,QAAM,UAAU,KAAK,KAAK,MAAM;AAChC,QAAM,SAAS,WAAW,OAAO;AACjC,UAAQ,IAAI,0BAA0B,OAAO,IAAI,SAAS,iBAAY,kBAAa;AACnF,MAAI,QAAQ;AACV,WAAO,EAAE,MAAM,QAAQ,CAAC;AACxB,YAAQ,IAAI,wBAAwB,OAAO;AAC3C;AAAA,EACF;AACA,QAAM,SAAS,QAAQ,GAAG;AAC1B,MAAI,WAAW,IAAK;AACpB,QAAM;AACR;;;ACrBA,SAAS,eAAe;AACxB,SAAS,eAAe;AAExB,IAAM,UAAU,IAAI,QAAQ;AAE5B,QACG,KAAK,OAAO,EACZ,YAAY,mBAAmB,EAC/B,QAAQ,OAAO;AAElB,QACG,QAAQ,IAAI,EACZ,YAAY,oBAAoB,EAChC,OAAO,qBAAqB,oBAAoB,EAChD,OAAO,OAAO,YAAY;AACzB,QAAM,OAAO,SAAS,QAAQ,QAAQ,QAAQ,IAAI,MAAM,KAAK,QAAQ,EAAE;AACvE,QAAM,WAAW,QAAQ,IAAI,aAAa,KAAK,oBAAoB,IAAI,IAAI,QAAQ,OAAO,EAAE;AAC5F,QAAM,MAAM,GAAG,OAAO;AAGtB,MAAI;AACF,UAAM,MAAM,MAAM,MAAM,GAAG,OAAO,SAAS;AAC3C,QAAI,CAAC,IAAI,GAAI,OAAM,IAAI,MAAM;AAAA,EAC/B,QAAQ;AACN,YAAQ,MAAM,iCAA8B,OAAO,EAAE;AACrD,YAAQ,KAAK,0CAA0C;AACvD,YAAQ,KAAK,CAAC;AAAA,EAChB;AAGA,QAAM,EAAE,KAAK,IAAI,MAAM,OAAO,eAAe;AAC7C,QAAM,MAAM,QAAQ,aAAa,WAAW,SAChC,QAAQ,aAAa,UAAU,UAC/B;AAEZ,OAAK,GAAG,GAAG,IAAI,GAAG,EAAE;AACpB,UAAQ,QAAQ,aAAa,GAAG,EAAE;AACpC,CAAC;AAEH,QAAQ,MAAM;","names":[]}
package/dist/index.d.ts CHANGED
@@ -1301,5 +1301,10 @@ declare function getLibPath(): string;
1301
1301
  * - Lib: /proyecto-usuario/
1302
1302
  */
1303
1303
  declare function getProjectPath(): string;
1304
+ /**
1305
+ * Busca .env subiendo desde cwd hasta encontrarlo (máx 5 niveles)
1306
+ * Útil para monorepos donde el .env está en la raíz
1307
+ */
1308
+ declare function findEnvFile(): string | null;
1304
1309
 
1305
- export { ActionService, type Actions, type AppAbility, type AuthAudit, type AuthRequest, BaseEntityService, CollectionService, ComputedService, ConfigService, type DbEventPayload, type EntityController, type EntityHandler, type EntityRuntime, type EntityService, EventService, type ExternalAdapter, ExternalService, type JwtPayload, type NexusConfig, type NexusEventName, type NexusEventPayload, type NexusEvents, type Notification, type NotificationPayload, type NotificationPriority, NotificationService, type NotificationTarget, type NotificationType, type PaginatedResult, type PaginationParams, type Permission, ReferenceService, type RefreshToken, type ResolvedConfig, type Role, type RoleWithCounts, type RoleWithPermissions, type SendNotificationInput, SingleService, type SubjectRegistry, type SubjectStrings, type Subjects, TempService, type TokenPair, type User, type UserPresence, type UserWithRole, type UserWithoutPassword, ViewService, VirtualService, closeSocketIO, createApp, createEntityRuntime, createEntityService, createModuleRouters, createModuleServices, db, defineAbilityFor, destroyDb, getAdapter, getConfig, getConnectedUsers, getDatabaseType, getDb, getIO, getLibPath, getModule, getModules, getNotificationService, getOrderedModules, getPlugin, getPlugins, getProjectPath, getRegisteredSubjects, getServiceKey, getUserSocketCount, initNotificationService, initSocketIO, isRunning, isSocketIOInitialized, isUserConnected, isValidSubject, loadCoreModules, nexusEvents, packRules, registerAdapter, registerModule, registerPlugin, restart, start, stop, unpackRules };
1310
+ export { ActionService, type Actions, type AppAbility, type AuthAudit, type AuthRequest, BaseEntityService, CollectionService, ComputedService, ConfigService, type DbEventPayload, type EntityController, type EntityHandler, type EntityRuntime, type EntityService, EventService, type ExternalAdapter, ExternalService, type JwtPayload, type NexusConfig, type NexusEventName, type NexusEventPayload, type NexusEvents, type Notification, type NotificationPayload, type NotificationPriority, NotificationService, type NotificationTarget, type NotificationType, type PaginatedResult, type PaginationParams, type Permission, ReferenceService, type RefreshToken, type ResolvedConfig, type Role, type RoleWithCounts, type RoleWithPermissions, type SendNotificationInput, SingleService, type SubjectRegistry, type SubjectStrings, type Subjects, TempService, type TokenPair, type User, type UserPresence, type UserWithRole, type UserWithoutPassword, ViewService, VirtualService, closeSocketIO, createApp, createEntityRuntime, createEntityService, createModuleRouters, createModuleServices, db, defineAbilityFor, destroyDb, findEnvFile, getAdapter, getConfig, getConnectedUsers, getDatabaseType, getDb, getIO, getLibPath, getModule, getModules, getNotificationService, getOrderedModules, getPlugin, getPlugins, getProjectPath, getRegisteredSubjects, getServiceKey, getUserSocketCount, initNotificationService, initSocketIO, isRunning, isSocketIOInitialized, isUserConnected, isValidSubject, loadCoreModules, nexusEvents, packRules, registerAdapter, registerModule, registerPlugin, restart, start, stop, unpackRules };