{"_id":"elumian","_rev":"30-6b48ef76153e0aa0690907ac8ea0795c","name":"elumian","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"elumian","version":"0.0.1","keywords":["elumian","elumian-ts","lib","rest","api rest"],"author":{"url":"https://krashmello.vercel.app/","name":"krashMello","email":"joelenrikesoteldo@gmail.com"},"license":"MIT","_id":"elumian@0.0.1","maintainers":[{"name":"krashmello","email":"joelenrikesoteldo@gmail.com"}],"homepage":"https://github.com/KrashMello/elumian","bugs":{"url":"https://github.com/KrashMello/elumian/issues"},"dist":{"shasum":"73716dd7f6847d33d9acb4525b0cc9164f22ca61","tarball":"https://registry.npmjs.org/elumian/-/elumian-0.0.1.tgz","fileCount":34,"integrity":"sha512-ZS8AUCQ9Vc/2oaK9+FaY6Ak7pdL0c7zrLiYzyOVZ2Gk/bsKeOEgf3Id+nr7XwcsDOKNnZSmQshDTETaQekJIbw==","signatures":[{"sig":"MEUCIQC7umfEuBM7AwjDMn73b1FQDt0VEK+/ZRxLTD1pgkxqFAIgNyBEnJ/JlHOAHHpXEmz/TZaeuRqW+0ohLmcTe+b7Dug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45417},"main":"index.js","type":"commonjs","gitHead":"72ed6d62379a9c46036d57e798bf8d9c3042d262","scripts":{"dev":"ts-node -r example/index.ts","tsc":"tsc","lint":"ts-standard","test":"vitest","build":"tsc -b -v src && rm -f lib/**/*.tsbuildinfo","start":"node dist/src/index.js","db:push":"prisma db push --schema=./example/prisma/scheme.prisma","db:seed":"ts-node ./example/prisma/seed.ts","migrate":"ts-node example/migration/index.ts","lint:fix":"ts-standard --fix","build:watch":"tsc -b -v src --watch","db:generate":"prisma generate --schema=./example/prisma/scheme.prisma","prebuild:prod":"tsc -b --clean src","start:example":"ts-node-dev --rs --watch --clear -r tsconfig-paths/register example/index.ts"},"_npmUser":{"name":"krashmello","email":"joelenrikesoteldo@gmail.com"},"repository":{"url":"git+https://github.com/KrashMello/elumian.git","type":"git"},"_npmVersion":"10.9.2","description":"Elumian es un framework modular diseñado específicamente para desarrolladores backend que necesitan desplegar APIs REST de forma rápida, eficiente y segura. Proporciona una estructura clara y herramientas integradas para la creación de módulos, gestión de","directories":{},"_nodeVersion":"22.17.1","dependencies":{"cors":"2.8.5","twig":"^1.17.1","redis":"^5.6.1","tslib":"^2.8.1","bcrypt":"^6.0.0","dotenv":"^17.2.0","lodash":"^4.17.21","prisma":"^6.12.0","express":"5.1.0","socket.io":"^4.8.1","validator":"13.15.15","typescript":"*","@types/node":"^24.0.13","@types/bcrypt":"^6.0.0","@types/lodash":"^4.17.20","@prisma/client":"^6.12.0","@types/express":"5.0.3","@types/validator":"13.15.2","reflect-metadata":"^0.2.2"},"eslintConfig":{"parserOptions":{"project":"./tsconfig.json"}},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","ts-node":"^10.9.2","tsc-alias":"^1.8.16","@types/cors":"^2.8.19","@types/twig":"^1.12.17","ts-node-dev":"^2.0.0","ts-standard":"^12.0.2","module-alias":"^2.2.3","tsconfig-paths":"4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/elumian_0.0.1_1755266683915_0.8570078086864035","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"elumian","version":"0.0.2","keywords":["elumian","elumian-ts","lib","rest","api rest"],"author":{"url":"https://krashmello.vercel.app/","name":"krashMello","email":"joelenrikesoteldo@gmail.com"},"license":"MIT","_id":"elumian@0.0.2","maintainers":[{"name":"krashmello","email":"joelenrikesoteldo@gmail.com"}],"homepage":"https://github.com/KrashMello/elumian","bugs":{"url":"https://github.com/KrashMello/elumian/issues"},"dist":{"shasum":"4780c13916c0b37e6a855f81ca90119fde1381cc","tarball":"https://registry.npmjs.org/elumian/-/elumian-0.0.2.tgz","fileCount":34,"integrity":"sha512-uAFNQH/6fOnCxbF6GS5J2ifFohkpPrVUGIchjSznjoM6r8zPkDzySHlHWbNj/d2lhzp6RTKMHp+lK7hTFW2H3Q==","signatures":[{"sig":"MEQCIHisXO2j32nb0NX4KKWtUm/JgLXmH1csnKvH/WNcACneAiBol2kQfTXtCfLcB4dnNklCwL460uYm4P43blACgKFqag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45322},"main":"index.js","type":"commonjs","gitHead":"8c310d12abd1a2f29431a7971e2c6f6df69b4046","scripts":{"dev":"ts-node -r example/index.ts","tsc":"tsc","lint":"ts-standard","test":"vitest","build":"tsc -b -v src && rm -f lib/**/*.tsbuildinfo","start":"node dist/src/index.js","db:push":"prisma db push --schema=./example/prisma/scheme.prisma","db:seed":"ts-node ./example/prisma/seed.ts","migrate":"ts-node example/migration/index.ts","lint:fix":"ts-standard --fix","build:watch":"tsc -b -v src --watch","db:generate":"prisma generate --schema=./example/prisma/scheme.prisma","prebuild:prod":"tsc -b --clean src","start:example":"ts-node-dev --rs --watch --clear -r tsconfig-paths/register example/index.ts"},"_npmUser":{"name":"krashmello","email":"joelenrikesoteldo@gmail.com"},"repository":{"url":"git+https://github.com/KrashMello/elumian.git","type":"git"},"_npmVersion":"10.9.2","description":"Elumian es un framework modular diseñado específicamente para desarrolladores backend que necesitan desplegar APIs REST de forma rápida, eficiente y segura. Proporciona una estructura clara y herramientas integradas para la creación de módulos, gestión de","directories":{},"_nodeVersion":"22.17.1","dependencies":{"cors":"2.8.5","twig":"^1.17.1","redis":"^5.6.1","tslib":"^2.8.1","bcrypt":"^6.0.0","dotenv":"^17.2.0","lodash":"^4.17.21","express":"5.1.0","socket.io":"^4.8.1","validator":"13.15.15","typescript":"*","@types/node":"^24.0.13","@types/bcrypt":"^6.0.0","@types/lodash":"^4.17.20","@types/express":"5.0.3","@types/validator":"13.15.2","reflect-metadata":"^0.2.2"},"eslintConfig":{"parserOptions":{"project":"./tsconfig.json"}},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","ts-node":"^10.9.2","tsc-alias":"^1.8.16","@types/cors":"^2.8.19","@types/twig":"^1.12.17","ts-node-dev":"^2.0.0","ts-standard":"^12.0.2","module-alias":"^2.2.3","tsconfig-paths":"4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/elumian_0.0.2_1755266938288_0.9133185551884213","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"elumian","version":"0.0.3","keywords":["elumian","elumian-ts","lib","rest","api rest"],"author":{"url":"https://krashmello.vercel.app/","name":"krashMello","email":"joelenrikesoteldo@gmail.com"},"license":"MIT","_id":"elumian@0.0.3","maintainers":[{"name":"krashmello","email":"joelenrikesoteldo@gmail.com"}],"homepage":"https://github.com/KrashMello/elumian","bugs":{"url":"https://github.com/KrashMello/elumian/issues"},"dist":{"shasum":"5ff70da9b424254a0d3398000597c9ef49af960d","tarball":"https://registry.npmjs.org/elumian/-/elumian-0.0.3.tgz","fileCount":34,"integrity":"sha512-JfZ+2k4XuRt4BVtgdzWV5zpOW1UkPOyJRc+/vNjHynDnEH9axzmfpYxNNa3+ndf28Uov9XLTWPk7LCcfly5tlA==","signatures":[{"sig":"MEUCIQCxcf9U+gCp80x2C1Hu70SiCI9oKjHwlbzflv2OGi08bwIgOZroiGy6NhYAkWbLKYca2ZyJiAkdmxzXrfkmTSTmBUQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45795},"main":"index.js","type":"commonjs","gitHead":"8c310d12abd1a2f29431a7971e2c6f6df69b4046","scripts":{"dev":"ts-node -r example/index.ts","tsc":"tsc","lint":"ts-standard","test":"vitest","build":"tsc -b -v src && rm -f lib/**/*.tsbuildinfo","start":"node dist/src/index.js","db:push":"prisma db push --schema=./example/prisma/scheme.prisma","db:seed":"ts-node ./example/prisma/seed.ts","migrate":"ts-node example/migration/index.ts","lint:fix":"ts-standard --fix","build:watch":"tsc -b -v src --watch","db:generate":"prisma generate --schema=./example/prisma/scheme.prisma","prebuild:prod":"tsc -b --clean src","start:example":"ts-node-dev --rs --watch --clear -r tsconfig-paths/register example/index.ts"},"_npmUser":{"name":"krashmello","email":"joelenrikesoteldo@gmail.com"},"repository":{"url":"git+https://github.com/KrashMello/elumian.git","type":"git"},"_npmVersion":"10.9.2","description":"Elumian es un framework modular diseñado específicamente para desarrolladores backend que necesitan desplegar APIs REST de forma rápida, eficiente y segura. Proporciona una estructura clara y herramientas integradas para la creación de módulos, gestión de","directories":{},"_nodeVersion":"22.17.1","dependencies":{"cors":"2.8.5","twig":"^1.17.1","redis":"^5.6.1","tslib":"^2.8.1","bcrypt":"^6.0.0","dotenv":"^17.2.0","lodash":"^4.17.21","express":"5.1.0","socket.io":"^4.8.1","validator":"13.15.15","typescript":"*","@types/node":"^24.0.13","@types/bcrypt":"^6.0.0","@types/lodash":"^4.17.20","@types/express":"5.0.3","@types/validator":"13.15.2","reflect-metadata":"^0.2.2"},"eslintConfig":{"parserOptions":{"project":"./tsconfig.json"}},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","ts-node":"^10.9.2","tsc-alias":"^1.8.16","@types/cors":"^2.8.19","@types/twig":"^1.12.17","ts-node-dev":"^2.0.0","ts-standard":"^12.0.2","module-alias":"^2.2.3","tsconfig-paths":"4.2.0"},"_npmOperationalInternal":{"tmp":"tmp/elumian_0.0.3_1755354240452_0.3649248196865815","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"elumian","version":"0.0.4","description":"Elumian es un framework modular diseñado específicamente para desarrolladores backend que necesitan desplegar APIs REST de forma rápida, eficiente y segura. Proporciona una estructura clara y herramientas integradas para la creación de módulos, gestión de","main":"index.js","homepage":"https://github.com/KrashMello/elumian","type":"commonjs","repository":{"type":"git","url":"git+https://github.com/KrashMello/elumian.git"},"keywords":["elumian","elumian-ts","lib","rest","api rest"],"author":{"name":"krashMello","email":"joelenrikesoteldo@gmail.com","url":"https://krashmello.vercel.app/"},"license":"MIT","scripts":{"tsc":"tsc","build":"tsc -b -v src && rm -f lib/**/*.tsbuildinfo","prebuild:prod":"tsc -b --clean src","build:watch":"tsc -b -v src --watch","start":"node dist/src/index.js","start:example":"ts-node-dev --rs --watch --clear -r tsconfig-paths/register example/index.ts","migrate":"ts-node example/migration/index.ts","dev":"ts-node -r example/index.ts","test":"vitest","lint":"ts-standard","lint:fix":"ts-standard --fix","db:generate":"prisma generate --schema=./example/prisma/scheme.prisma","db:push":"prisma db push --schema=./example/prisma/scheme.prisma","db:seed":"ts-node ./example/prisma/seed.ts"},"devDependencies":{"@types/cors":"^2.8.19","@types/twig":"^1.12.17","module-alias":"^2.2.3","ts-node":"^10.9.2","ts-node-dev":"^2.0.0","ts-standard":"^12.0.2","tsc-alias":"^1.8.16","tsconfig-paths":"4.2.0","vitest":"^3.2.4"},"dependencies":{"@types/bcrypt":"^6.0.0","@types/express":"5.0.3","@types/lodash":"^4.17.20","@types/node":"^24.0.13","@types/validator":"13.15.2","bcrypt":"^6.0.0","cors":"2.8.5","dotenv":"^17.2.0","express":"5.1.0","lodash":"^4.17.21","redis":"^5.6.1","reflect-metadata":"^0.2.2","socket.io":"^4.8.1","tslib":"^2.8.1","twig":"^1.17.1","typescript":"*","validator":"13.15.15"},"eslintConfig":{"parserOptions":{"project":"./tsconfig.json"}},"bugs":{"url":"https://github.com/KrashMello/elumian/issues"},"_id":"elumian@0.0.4","gitHead":"8c310d12abd1a2f29431a7971e2c6f6df69b4046","_nodeVersion":"22.17.1","_npmVersion":"10.9.2","dist":{"integrity":"sha512-gItq5y+AWPhFCYReaHYhQM62SSEA0zq/bRAB/xAzw1jDE3Loq8rzwiqJvdbnTKymgGiY4l4fXVpp2Y1uZ7jbMA==","shasum":"0275c30d29430bdd76412740db50279767b7caa9","tarball":"https://registry.npmjs.org/elumian/-/elumian-0.0.4.tgz","fileCount":34,"unpackedSize":46116,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD2owU1GNjuF03bY99fxOC6Elj0/v5/hZpZFFTGe0OwjQIhAL3mMLQJzy+8O7ObPg6wJDGciB+qO8yM+i+eJhJmN0iI"}]},"_npmUser":{"name":"krashmello","email":"joelenrikesoteldo@gmail.com"},"directories":{},"maintainers":[{"name":"krashmello","email":"joelenrikesoteldo@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/elumian_0.0.4_1755359225683_0.8576926495849926"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-15T14:04:43.915Z","modified":"2025-08-16T15:47:06.110Z","1.0.0":"2023-11-29T22:21:47.481Z","1.0.1":"2023-11-30T00:11:06.152Z","1.0.2":"2023-12-22T12:41:57.160Z","1.1.0":"2024-03-31T17:01:49.794Z","1.1.1":"2024-03-31T17:08:12.949Z","1.1.2":"2024-03-31T17:08:57.545Z","1.1.3":"2024-03-31T17:09:43.142Z","1.1.4":"2024-03-31T17:33:45.498Z","1.1.5":"2024-03-31T17:36:10.520Z","1.1.6":"2024-03-31T17:38:13.029Z","1.1.7":"2024-03-31T17:48:42.519Z","1.1.8":"2024-03-31T17:55:30.246Z","1.1.9":"2024-03-31T17:58:29.114Z","2.0.0":"2024-08-12T11:03:11.946Z","2.0.1":"2024-08-14T01:18:58.956Z","2.0.2":"2024-08-18T14:43:47.971Z","2.0.3":"2024-08-26T10:31:12.260Z","2.0.4":"2024-08-26T18:37:46.909Z","2.0.5":"2024-08-26T18:40:44.217Z","2.0.6":"2024-08-27T10:36:16.021Z","3.0.0":"2025-07-23T23:07:53.668Z","3.0.1":"2025-07-25T12:10:19.020Z","3.0.2":"2025-07-25T12:50:58.597Z","3.0.3":"2025-07-25T14:07:17.468Z","0.0.1":"2025-08-15T14:04:44.103Z","0.0.2":"2025-08-15T14:08:58.459Z","0.0.3":"2025-08-16T14:24:00.621Z","0.0.4":"2025-08-16T15:47:05.903Z"},"bugs":{"url":"https://github.com/KrashMello/elumian/issues"},"author":{"name":"krashMello","email":"joelenrikesoteldo@gmail.com","url":"https://krashmello.vercel.app/"},"license":"MIT","homepage":"https://github.com/KrashMello/elumian","keywords":["elumian","elumian-ts","lib","rest","api rest"],"repository":{"type":"git","url":"git+https://github.com/KrashMello/elumian.git"},"description":"Elumian es un framework modular diseñado específicamente para desarrolladores backend que necesitan desplegar APIs REST de forma rápida, eficiente y segura. Proporciona una estructura clara y herramientas integradas para la creación de módulos, gestión de","maintainers":[{"name":"krashmello","email":"joelenrikesoteldo@gmail.com"}],"readme":"# Documentación detallada de Elumian\n\n## Descripción general\n\n**Elumian** es un framework modular diseñado específicamente para desarrolladores backend que necesitan desplegar APIs REST de forma rápida, eficiente y segura. Proporciona una estructura clara y herramientas integradas para la creación de módulos, gestión de servicios, validación de datos y manejo de excepciones HTTP, facilitando el desarrollo escalable y mantenible.\n\n## Instalación\n\nPuedes instalar Elumian en tu proyecto utilizando cualquiera de los gestores de paquetes más populares de JavaScript:\n\n- Con **npm**:\n\n```sh\nnpm i Elumian\n```\n\n- Con **yarn**:\n\n```sh\nyarn add Elumian\n```\n\n- Con **pnpm**:\n\n```sh\npnpm add Elumian\n```\n\n## Uso con TypeScript\n\nElumian está pensado para integrarse fácilmente con TypeScript, ofreciendo tipados claros y anotaciones que permiten un desarrollo más seguro y robusto.\n\n### Definición de Módulos\n\nElumian utiliza decoradores para definir módulos que agrupan controladores, servicios y middlewares.\n\n```typescript\nimport { Module } from \"@elumian/common\"\n\n@Module({\n  controllers: [TestController],\n  services: [TestService],\n  middlewares: [GlobalMiddleware]\n})\nclass TestModule { }\n```\n\n- `controllers`: Lista de controladores que gestionan las rutas y peticiones.\n- `services`: Servicios que manejan la lógica de negocio.\n- `middlewares`: Middlewares globales para manejo transversal de peticiones.\n\n### Definición de Servicios\n\nLos servicios encapsulan la lógica reutilizable. Se definen también mediante decoradores.\n\n```typescript\nimport { Service } from \"@elumian/common\"\n\n@Service\nclass TestService {\n  data = {\n    nombre: \"asdf\"\n  }\n\n  getData() {\n    return {\n      status: HttpStatus.ok,\n      message: this.data,\n      type: 'SUCCESS'\n    }\n  }\n}\n```\n\n- El método `getData()` retorna un objeto con un estado HTTP, datos y un tipo de respuesta.\n\n### Creación de Controladores y Rutas\n\nLos controladores usan decoradores para definir rutas HTTP y validaciones sobre diferentes partes de la solicitud.\n\n```typescript\nimport { ValidateQuery, ValidateParams, ValidateBody, Post, Get, Controller } from \"@elumian/common\"\nimport { HttpExceptions, HttpStatus } from \"@elumian/common\"\nimport { bodyDataValidate } from \"./dataValidateSchemas/bodyData.schema\"\n\n@Controller(\"test\")\nclass TestController {\n  @Get(\"/\")\n  getData(req, res) {\n    HttpExceptions(Elumian.TestService.getData())\n  }\n\n  @Post(\"/test/1\")\n  @ValidateBody(bodyDataValidate)\n  @ValidateQuery(bodyDataValidate)\n  test1(req, res) {\n    HttpExceptions({\n      status: HttpStatus.ok,\n      message: { test: \"test\" },\n      type: 'SUCCESS'\n    })\n  }\n\n  @Post(\"/:id\")\n  @ValidateParams(bodyDataValidate)\n  @ValidateBody(bodyDataValidate)\n  test2(req, res) {\n    HttpExceptions({\n      status: HttpStatus.ok,\n      message: { test: \"test\" },\n      type: 'SUCCESS'\n    })\n  }\n}\n```\n\n- `@Controller(\"test\")`: Prefijo global para las rutas del controlador.\n- `@Get()`, `@Post()`: Definición de métodos HTTP.\n- `@ValidateBody`, `@ValidateQuery`, `@ValidateParams`: Validaciones aplicadas a diferentes partes de la solicitud basadas en esquemas.\n- `HttpExceptions`: Maneja respuestas estandarizadas y excepciones HTTP.\n\n### Definición de Esquemas de Validación\n\nLos esquemas de validación definen reglas para los datos recibidos en las peticiones, utilizando las opciones de validación propias de Elumian.\n\n```typescript\nimport { validationsOptions } from \"@elumian/type\"\n\nexport const bodyDataValidate: validationsOptions = {\n  fecha: ['required', 'date'],\n}\n```\n\n- En este ejemplo, el campo `fecha` es obligatorio y debe cumplir con el formato fecha.\n\n## Inicialización y Arranque del Servidor\n\nPara iniciar tu servidor Elumian, configura los módulos que quieres cargar y define el puerto de escucha. Posteriormente, inicia el servidor.\n\n```typescript\nimport { Server } from \"elumian/core\";\n\nServer.setConfig({ modules: [modulo1, modulo2], port: 5000 })\nServer.start()\n```\n\n- `modules`: Array con los módulos que contiene la aplicación.\n- `port`: Puerto en el que el servidor escuchará las peticiones entrantes.\n","readmeFilename":"README.md"}