jerkjs 2.0.0 → 2.0.1

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 (124) hide show
  1. package/LICENSE +17 -16
  2. package/README.md.backup +169 -0
  3. package/cookies.txt +5 -0
  4. package/{doc → docs}/frontend-and-sessions.md +6 -9
  5. package/examples/frontend/README.md +3 -3
  6. package/examples/frontend/controllers/authController.js +2 -2
  7. package/examples/frontend/controllers/pageController.js +5 -5
  8. package/examples/public/README.md +2 -2
  9. package/examples/public/controllers/mainController.js +1 -1
  10. package/index.js +2 -10
  11. package/jerk.jpg +0 -0
  12. package/package.json +4 -9
  13. package/v2examplle/v2_json_auth/README.md +2 -2
  14. package/v2examplle/v2_json_auth/package.json +4 -4
  15. package/v2examplle/v2_mariadb_auth/README.md +2 -2
  16. package/v2examplle/v2_mariadb_auth/package.json +4 -4
  17. package/v2examplle/v2_sqlite_auth/README.md +2 -2
  18. package/v2examplle/v2_sqlite_auth/package.json +4 -4
  19. package/doc/EXTENSION_MANUAL.md +0 -958
  20. package/doc/FIREWALL_MANUAL.md +0 -419
  21. package/doc/HOOKS_REFERENCE_IMPROVED.md +0 -599
  22. package/doc/MANUAL_API_SDK.md +0 -539
  23. package/doc/MANUAL_MVC.md +0 -397
  24. package/doc/MARIADB_TOKENS_IMPLEMENTATION.md +0 -113
  25. package/doc/MIDDLEWARE_MANUAL.md +0 -521
  26. package/doc/OAUTH2_GOOGLE_MANUAL.md +0 -408
  27. package/examples/advanced/controllers/productController.js +0 -64
  28. package/examples/advanced/controllers/userController.js +0 -85
  29. package/examples/advanced/routes.json +0 -51
  30. package/examples/advanced_example.js +0 -93
  31. package/examples/basic/controllers/userController.js +0 -85
  32. package/examples/basic_example.js +0 -72
  33. package/examples/mvc_example/app.js +0 -138
  34. package/examples/mvc_example/views/home/index.html +0 -26
  35. package/examples/mvc_example/views/home/simple.html +0 -3
  36. package/examples/mvc_example/views/layout.html +0 -23
  37. package/examples/mvc_example/views/test.html +0 -3
  38. package/examples/mvc_example/views/user/invalid.html +0 -6
  39. package/examples/mvc_example/views/user/list.html +0 -36
  40. package/examples/mvc_example/views/user/notfound.html +0 -6
  41. package/examples/mvc_example/views/user/profile.html +0 -11
  42. package/examples/mvc_routes_example/app.js +0 -34
  43. package/examples/mvc_routes_example/controllers/mainController.js +0 -27
  44. package/examples/mvc_routes_example/controllers/productController.js +0 -47
  45. package/examples/mvc_routes_example/controllers/userController.js +0 -76
  46. package/examples/mvc_routes_example/routes.json +0 -30
  47. package/examples/mvc_routes_example/views/layout.html +0 -31
  48. package/examples/mvc_routes_example/views/main/index.html +0 -11
  49. package/examples/mvc_routes_example/views/product/catalog.html +0 -24
  50. package/examples/mvc_routes_example/views/user/invalid.html +0 -6
  51. package/examples/mvc_routes_example/views/user/list.html +0 -40
  52. package/examples/mvc_routes_example/views/user/notfound.html +0 -6
  53. package/examples/mvc_routes_example/views/user/profile.html +0 -18
  54. package/examples/v2/README.md +0 -72
  55. package/examples/v2/app.js +0 -74
  56. package/examples/v2/app_fixed.js +0 -74
  57. package/examples/v2/controllers/authController.js +0 -64
  58. package/examples/v2/controllers/mainController.js +0 -24
  59. package/examples/v2/controllers/protectedController.js +0 -12
  60. package/examples/v2/controllers/userController.js +0 -16
  61. package/examples/v2/package.json +0 -27
  62. package/examples/v2/routes.json +0 -30
  63. package/examples/v2/test_api.sh +0 -47
  64. package/examples/v2/tokens_example.sqlite +0 -0
  65. package/examples/v2.1_firewall_demo/README.md +0 -113
  66. package/examples/v2.1_firewall_demo/app.js +0 -182
  67. package/examples/v2.1_firewall_demo/package.json +0 -27
  68. package/examples/v2.1_hooks_demo/README.md +0 -85
  69. package/examples/v2.1_hooks_demo/app.js +0 -101
  70. package/examples/v2.1_hooks_demo/controllers/hooksController.js +0 -29
  71. package/examples/v2.1_hooks_demo/controllers/mainController.js +0 -18
  72. package/examples/v2.1_hooks_demo/package.json +0 -27
  73. package/examples/v2.1_hooks_demo/routes.json +0 -16
  74. package/examples/v2.1_openapi_demo/README.md +0 -82
  75. package/examples/v2.1_openapi_demo/app.js +0 -296
  76. package/examples/v2.1_openapi_demo/package.json +0 -26
  77. package/examples/v2_cors/README.md +0 -82
  78. package/examples/v2_cors/app.js +0 -108
  79. package/examples/v2_cors/package.json +0 -23
  80. package/examples/v2_json_auth/README.md +0 -83
  81. package/examples/v2_json_auth/app.js +0 -72
  82. package/examples/v2_json_auth/controllers/authController.js +0 -67
  83. package/examples/v2_json_auth/controllers/mainController.js +0 -16
  84. package/examples/v2_json_auth/controllers/protectedController.js +0 -12
  85. package/examples/v2_json_auth/controllers/tokenController.js +0 -28
  86. package/examples/v2_json_auth/controllers/userController.js +0 -15
  87. package/examples/v2_json_auth/package.json +0 -26
  88. package/examples/v2_json_auth/routes.json +0 -37
  89. package/examples/v2_json_auth/tokens.json +0 -20
  90. package/examples/v2_mariadb_auth/README.md +0 -94
  91. package/examples/v2_mariadb_auth/app.js +0 -81
  92. package/examples/v2_mariadb_auth/controllers/authController.js +0 -95
  93. package/examples/v2_mariadb_auth/controllers/mainController.js +0 -31
  94. package/examples/v2_mariadb_auth/controllers/protectedController.js +0 -12
  95. package/examples/v2_mariadb_auth/controllers/userController.js +0 -17
  96. package/examples/v2_mariadb_auth/package.json +0 -27
  97. package/examples/v2_mariadb_auth/routes.json +0 -37
  98. package/examples/v2_no_auth/README.md +0 -75
  99. package/examples/v2_no_auth/app.js +0 -72
  100. package/examples/v2_no_auth/controllers/healthController.js +0 -14
  101. package/examples/v2_no_auth/controllers/mainController.js +0 -19
  102. package/examples/v2_no_auth/controllers/productController.js +0 -31
  103. package/examples/v2_no_auth/controllers/publicController.js +0 -16
  104. package/examples/v2_no_auth/package.json +0 -22
  105. package/examples/v2_no_auth/routes.json +0 -37
  106. package/examples/v2_oauth/README.md +0 -70
  107. package/examples/v2_oauth/app.js +0 -90
  108. package/examples/v2_oauth/controllers/mainController.js +0 -45
  109. package/examples/v2_oauth/controllers/oauthController.js +0 -247
  110. package/examples/v2_oauth/controllers/protectedController.js +0 -13
  111. package/examples/v2_oauth/controllers/userController.js +0 -17
  112. package/examples/v2_oauth/package.json +0 -26
  113. package/examples/v2_oauth/routes.json +0 -44
  114. package/examples/v2_openapi/README.md +0 -77
  115. package/examples/v2_openapi/app.js +0 -222
  116. package/examples/v2_openapi/controllers/authController.js +0 -52
  117. package/examples/v2_openapi/controllers/mainController.js +0 -26
  118. package/examples/v2_openapi/controllers/productController.js +0 -17
  119. package/examples/v2_openapi/controllers/userController.js +0 -27
  120. package/examples/v2_openapi/package.json +0 -26
  121. package/examples/v2_openapi/routes.json +0 -37
  122. package/generate_token.js +0 -10
  123. package/lib/mvc/controllerBase.js +0 -207
  124. package/lib/mvc/viewEngine.js +0 -752
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Apache License
1
+ Apache License
2
2
  Version 2.0, January 2004
3
3
  http://www.apache.org/licenses/
4
4
 
@@ -100,24 +100,25 @@
100
100
  (c) You must retain, in the Source form of any Derivative Works
101
101
  that You distribute, all copyright, patent, trademark, and
102
102
  attribution notices from the Source form of the Work,
103
- excluding those notices that relate to any part of the
104
- Derivative Works; and
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
105
 
106
106
  (d) If the Work includes a "NOTICE" text file as part of its
107
- distribution, then any Derivative Works that You create must
107
+ distribution, then any Derivative Works that You distribute must
108
108
  include a readable copy of the attribution notices contained
109
- within such NOTICE file, excluding those notices that relate to
110
- any part of the Derivative Works, in at least one of the following
111
- places: within a NOTICE text file distributed as part of the
112
- Derivative Works; within the Source form or documentation,
113
- if provided along with the Derivative Works; or, within a display
114
- generated by the Derivative Works, if and wherever such third-party
115
- notices normally appear. The contents of the NOTICE file are for
116
- informational purposes only and do not modify the License. You
117
- may add Your own attribution notices within Derivative Works that
118
- You distribute, alongside or as an addendum to the NOTICE text
119
- from the Work, provided that such additional attribution notices
120
- cannot be construed as modifying the License.
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
121
122
 
122
123
  You may add Your own copyright statement to Your modifications and
123
124
  may provide additional or different license terms and conditions
@@ -0,0 +1,169 @@
1
+ # JERK Framework v2.0
2
+
3
+ ![JERK Framework Logo](jerk.jpg)
4
+
5
+ Visita nuestra página web: https://jerk.page.gd/
6
+ Repositorio oficial: https://gitlab.com/bytedogssyndicate1/jerk/
7
+
8
+ ## Características
9
+
10
+ - **Arquitectura Modular**: Componentes independientes para mayor flexibilidad
11
+ - **Seguridad Avanzada**: Firewall integrado (WAF) con detección de ataques
12
+ - **Sistema de Hooks**: Similar al sistema de WordPress para extensibilidad
13
+ - **Autenticación Flexible**: Soporte para JWT, API Keys, Basic Auth, OAuth2, OpenID Connect
14
+ - **Almacenamiento de Tokens**: Soporte para memoria, JSON, SQLite y MariaDB
15
+ - **Enrutamiento Avanzado**: Soporte para rutas parametrizadas y anidadas
16
+ - **Soporte para Frontend**: Capacidad de servir contenido HTML y otros tipos de contenido
17
+ - **Configuración de Content-Type**: Especificación de headers Content-Type en routes.json
18
+ - **Middlewares Integrados**: CORS, rate limiting, compresión, firewall, etc.
19
+ - **Gestión de Controladores**: Carga dinámica de controladores desde archivos
20
+ - **Carga de Rutas**: Definición de rutas desde archivos JSON
21
+ - **Sistema de Sesiones**: Gestión completa de sesiones con soporte para autenticación
22
+ - **Motor de Plantillas MVC**: Sistema profesional de vistas con soporte para filtros, helpers y hooks
23
+ - **Extensibilidad**: Sistema de hooks y filters para personalización
24
+
25
+ ## Instalación
26
+
27
+ ```bash
28
+ npm install jerkjs
29
+ ```
30
+
31
+ ## Uso Básico
32
+
33
+ ```javascript
34
+ const { APIServer, Router, Logger } = require('jerkjs');
35
+
36
+ // Crear instancia del servidor
37
+ const server = new APIServer({
38
+ port: 3000,
39
+ host: 'localhost'
40
+ });
41
+
42
+ // Crear instancia del logger
43
+ const logger = new Logger({ level: 'info' });
44
+
45
+ // Definir rutas
46
+ server.addRoute('GET', '/', (req, res) => {
47
+ res.writeHead(200, { 'Content-Type': 'application/json' });
48
+ res.end(JSON.stringify({ message: '¡Hola Mundo!' }));
49
+ });
50
+
51
+ // Iniciar el servidor
52
+ server.start();
53
+ ```
54
+
55
+ ## Componentes Principales
56
+
57
+ ### APIServer
58
+ Servidor HTTP/HTTPS básico con soporte para rutas parametrizadas, middlewares y configuración avanzada.
59
+
60
+ ### Router
61
+ Sistema de enrutamiento avanzado con soporte para rutas anidadas y prefijos.
62
+
63
+ ### Authenticator
64
+ Middleware de autenticación con soporte para múltiples métodos (JWT, API Keys, Basic Auth, OAuth2, OpenID Connect).
65
+
66
+ ### SecurityEnhancedServer
67
+ Servidor con funcionalidades de seguridad avanzada (WAF) integradas.
68
+
69
+ ### RouteLoader
70
+ Carga de rutas desde archivos JSON con soporte para autenticación, controladores y especificación de content-type.
71
+
72
+ ### TokenManager
73
+ Gestión de tokens JWT con diferentes tipos de almacenamiento (memoria, JSON, SQLite, MariaDB).
74
+
75
+ ### Firewall
76
+ Middleware de firewall con detección de patrones de ataque y listas blancas/negras.
77
+
78
+ ### Hooks System
79
+ Sistema de hooks y filters similar al de WordPress para extensibilidad.
80
+
81
+ ### SessionManager
82
+ Sistema completo de gestión de sesiones con soporte para autenticación basada en sesiones.
83
+
84
+ ### ViewEngine
85
+ Motor de plantillas profesional con soporte para filtros, helpers, condiciones, bucles y hooks.
86
+
87
+ ### ControllerBase
88
+ Controlador base que facilita el desarrollo de controladores MVC con soporte para vistas.
89
+
90
+ ## Seguridad
91
+
92
+ El framework incluye múltiples capas de seguridad:
93
+
94
+ - **Web Application Firewall (WAF)**: Detección de SQL injection, XSS, path traversal, etc.
95
+ - **Rate Limiting**: Limitación de peticiones por IP o usuario
96
+ - **Firewall**: Bloqueo automático por intentos fallidos
97
+ - **Listas Blancas/Negras**: Control de acceso por IP
98
+ - **Auditoría de Seguridad**: Registro de eventos de seguridad
99
+ - **Autenticación Robusta**: Soporte para múltiples métodos de autenticación
100
+
101
+ ## Sistema de Hooks
102
+
103
+ El framework incluye un sistema de hooks y filters similar al de WordPress:
104
+
105
+ ```javascript
106
+ const { hooks } = require('jerkjs');
107
+
108
+ // Registrar una acción
109
+ hooks.addAction('firewall_request_blocked', (rule, clientIP, req, res) => {
110
+ console.log(`Solicitud bloqueada: ${rule.name} para IP: ${clientIP}`);
111
+ });
112
+
113
+ // Registrar un filtro
114
+ hooks.addFilter('session_create_data', (userData, req) => {
115
+ return {
116
+ ...userData,
117
+ ipAddress: req.headers['x-forwarded-for'] || req.connection.remoteAddress,
118
+ createdAt: new Date().toISOString()
119
+ };
120
+ });
121
+ ```
122
+
123
+ ## Motor de Plantillas MVC
124
+
125
+ El framework incluye un motor de plantillas profesional con soporte para:
126
+
127
+ - Variables: `{{variable}}`
128
+ - Condiciones: `{{if variable}}contenido{{endif}}`
129
+ - Bucles: `{{foreach:array}}contenido{{endforeach}}`
130
+ - Inclusiones: `{{include:header}}`
131
+ - Filtros: `{{variable|upper}}`
132
+ - Helpers personalizados
133
+
134
+ ## Gestión de Sesiones
135
+
136
+ El framework incluye un sistema completo de gestión de sesiones:
137
+
138
+ ```javascript
139
+ const { SessionManager } = require('jerkjs');
140
+
141
+ const sessionManager = new SessionManager({
142
+ secret: 'your-session-secret',
143
+ timeout: 3600000 // 1 hora
144
+ });
145
+
146
+ // Usar como middleware
147
+ server.use(sessionManager.middleware());
148
+ ```
149
+
150
+ ## Ejemplos
151
+
152
+ El proyecto incluye varios ejemplos completos:
153
+
154
+ - **v2_json_auth**: Autenticación JWT con tokens almacenados en JSON
155
+ - **v2_mariadb_auth**: Autenticación JWT con tokens almacenados en MariaDB
156
+ - **v2_sqlite_auth**: Autenticación JWT con tokens almacenados en SQLite
157
+ - **public**: API pública de ejemplo con CORS y rate limiting
158
+ - **frontend**: Ejemplo de servidor que combina API y frontend con diferentes content-types
159
+ - **hooks**: Ejemplo de uso del sistema de hooks
160
+
161
+ Para ver los ejemplos completos, visita los directorios `v2examplle/` y `examples/`.
162
+
163
+ ## Contribuciones
164
+
165
+ Las contribuciones son bienvenidas. Por favor, abre un issue o envía un pull request en GitHub.
166
+
167
+ ## Licencia
168
+
169
+ Apache 2.0
package/cookies.txt ADDED
@@ -0,0 +1,5 @@
1
+ # Netscape HTTP Cookie File
2
+ # https://curl.se/docs/http-cookies.html
3
+ # This file was generated by libcurl! Edit at your own risk.
4
+
5
+ #HttpOnly_localhost FALSE / FALSE 1768539037 frontend_session 29d7cb4e270ec66c0c7aa5d7ebe08bb8014432b8fb7746edd3895fe176fccee0
@@ -1,8 +1,5 @@
1
1
  # Frontend y Sesiones con API SDK JS
2
2
 
3
- Visita nuestra página web: https://jerk.page.gd/
4
- Repositorio oficial: https://gitlab.com/bytedogssyndicate1/jerk/
5
-
6
3
  ## Introducción
7
4
 
8
5
  API SDK JS no solo es un framework para crear APIs, sino que ahora también soporta la creación de aplicaciones web completas con frontend y sistema de sesiones. Esta funcionalidad permite a los desarrolladores crear aplicaciones web completas con autenticación basada en sesiones, almacenamiento de datos y mucho más.
@@ -50,7 +47,7 @@ El framework ahora puede servir diferentes tipos de contenido:
50
47
  Para usar el sistema de sesiones, primero debes configurar el middleware en tu aplicación:
51
48
 
52
49
  ```javascript
53
- const { APIServer, SessionManager, Cors } = require('@jerkjs/jerk');
50
+ const { APIServer, SessionManager, Cors } = require('jerkjs');
54
51
 
55
52
  async function startServer() {
56
53
  const server = new APIServer({
@@ -190,7 +187,7 @@ El sistema de sesiones está completamente integrado con el sistema de hooks, fi
190
187
  #### Registrar actividad de sesión
191
188
 
192
189
  ```javascript
193
- const { hooks } = require('@jerkjs/jerk');
190
+ const { hooks } = require('jerkjs');
194
191
 
195
192
  // Registrar cuando se crea una sesión
196
193
  hooks.addAction('session_created', (sessionId, sessionData) => {
@@ -206,7 +203,7 @@ hooks.addAction('session_destroyed', (sessionId, sessionData) => {
206
203
  #### Modificar datos de sesión antes de crearla
207
204
 
208
205
  ```javascript
209
- const { hooks } = require('@jerkjs/jerk');
206
+ const { hooks } = require('jerkjs');
210
207
 
211
208
  // Añadir información de IP y fecha a los datos de sesión
212
209
  hooks.addFilter('session_create_data', (userData, req) => {
@@ -221,7 +218,7 @@ hooks.addFilter('session_create_data', (userData, req) => {
221
218
  #### Personalizar el manejo de autenticación fallida
222
219
 
223
220
  ```javascript
224
- const { hooks } = require('@jerkjs/jerk');
221
+ const { hooks } = require('jerkjs');
225
222
 
226
223
  // Registrar intentos de acceso no autorizado
227
224
  hooks.addAction('session_auth_failed', (req, res, redirectTo) => {
@@ -238,7 +235,7 @@ hooks.addAction('session_auth_failed', (req, res, redirectTo) => {
238
235
  #### Extender datos de sesión durante la actualización
239
236
 
240
237
  ```javascript
241
- const { hooks } = require('@jerkjs/jerk');
238
+ const { hooks } = require('jerkjs');
242
239
 
243
240
  // Añadir marca de tiempo a cada actualización de sesión
244
241
  hooks.addFilter('session_update_data', (newData, req, sessionId) => {
@@ -262,7 +259,7 @@ const {
262
259
  Logger,
263
260
  Cors,
264
261
  SessionManager
265
- } = require('@jerkjs/jerk');
262
+ } = require('jerkjs');
266
263
 
267
264
  async function startServer() {
268
265
  const server = new APIServer({
@@ -1,6 +1,6 @@
1
- # Ejemplo Frontend con API SDK JS
1
+ # Ejemplo Frontend con JERK JS
2
2
 
3
- Este ejemplo demuestra cómo el Framework API SDK JS puede utilizarse para servir tanto APIs como contenido HTML para frontends, gracias a la nueva funcionalidad de especificación de content-type en el archivo routes.json.
3
+ Este ejemplo demuestra cómo el Framework JERK JS puede utilizarse para servir tanto APIs como contenido HTML para frontends, gracias a la nueva funcionalidad de especificación de content-type en el archivo routes.json.
4
4
 
5
5
  ## Características
6
6
 
@@ -12,7 +12,7 @@ Este ejemplo demuestra cómo el Framework API SDK JS puede utilizarse para servi
12
12
 
13
13
  ## Configuración
14
14
 
15
- 1. Asegúrate de tener instaladas las dependencias del framework API SDK
15
+ 1. Asegúrate de tener instaladas las dependencias del framework JERK
16
16
  2. No se requiere configuración adicional para este ejemplo
17
17
 
18
18
  ## Uso
@@ -51,7 +51,7 @@ const authController = {
51
51
  </main>
52
52
 
53
53
  <footer>
54
- <p>&copy; 2026 API SDK JS Framework</p>
54
+ <p>&copy; 2026 JERK JS Framework</p>
55
55
  </footer>
56
56
  </div>
57
57
  <script src="/script.js"></script>
@@ -200,7 +200,7 @@ const authController = {
200
200
  </main>
201
201
 
202
202
  <footer>
203
- <p>&copy; 2026 API SDK JS Framework</p>
203
+ <p>&copy; 2026 JERK JS Framework</p>
204
204
  </footer>
205
205
  </div>
206
206
  <script src="/script.js"></script>
@@ -28,7 +28,7 @@ const pageController = {
28
28
 
29
29
  <main>
30
30
  <section class="hero">
31
- <h2>Framework API SDK JS</h2>
31
+ <h2>Framework JERK JS</h2>
32
32
  <p>Esta es una demostración de cómo el framework puede servir tanto APIs como contenido HTML para frontends.</p>
33
33
  <p>El content-type de esta página se establece desde el archivo routes.json.</p>
34
34
  </section>
@@ -45,7 +45,7 @@ const pageController = {
45
45
  </main>
46
46
 
47
47
  <footer>
48
- <p>&copy; 2026 API SDK JS Framework</p>
48
+ <p>&copy; 2026 JERK JS Framework</p>
49
49
  </footer>
50
50
  </div>
51
51
  <script src="/script.js"></script>
@@ -84,7 +84,7 @@ const pageController = {
84
84
  <main>
85
85
  <section>
86
86
  <h2>Nuestro Framework</h2>
87
- <p>El Framework API SDK JS es una solución completa para construir APIs seguras y escalables.</p>
87
+ <p>El Framework JERK JS es una solución completa para construir APIs seguras y escalables.</p>
88
88
 
89
89
  <h3>Capacidades Extendidas</h3>
90
90
  <p>Ahora también puede servir contenido HTML y otros tipos de contenido gracias a la nueva funcionalidad de especificación de content-type en routes.json.</p>
@@ -101,7 +101,7 @@ const pageController = {
101
101
  </main>
102
102
 
103
103
  <footer>
104
- <p>&copy; 2026 API SDK JS Framework</p>
104
+ <p>&copy; 2026 JERK JS Framework</p>
105
105
  </footer>
106
106
  </div>
107
107
  <script src="/script.js"></script>
@@ -163,7 +163,7 @@ const pageController = {
163
163
  </main>
164
164
 
165
165
  <footer>
166
- <p>&copy; 2026 API SDK JS Framework</p>
166
+ <p>&copy; 2026 JERK JS Framework</p>
167
167
  </footer>
168
168
  </div>
169
169
  <script src="/script.js"></script>
@@ -1,6 +1,6 @@
1
1
  # API Pública de Ejemplo
2
2
 
3
- Este ejemplo demuestra cómo crear una API pública usando el Framework API SDK JS. La API incluye endpoints para gestionar usuarios y está protegida con CORS y rate limiting.
3
+ Este ejemplo demuestra cómo crear una API pública usando el Framework JERK JS. La API incluye endpoints para gestionar usuarios y está protegida con CORS y rate limiting.
4
4
 
5
5
  ## Características
6
6
 
@@ -13,7 +13,7 @@ Este ejemplo demuestra cómo crear una API pública usando el Framework API SDK
13
13
 
14
14
  ## Configuración
15
15
 
16
- 1. Asegúrate de tener instaladas las dependencias del framework API SDK
16
+ 1. Asegúrate de tener instaladas las dependencias del framework JERK
17
17
  2. No se requiere configuración adicional para esta API pública
18
18
 
19
19
  ## Uso
@@ -4,7 +4,7 @@ const mainController = {
4
4
  res.end(JSON.stringify({
5
5
  message: 'Bienvenido a la API Pública de Ejemplo',
6
6
  version: '1.0.0',
7
- description: 'Esta es una API pública de ejemplo creada con el Framework API SDK JS',
7
+ description: 'Esta es una API pública de ejemplo creada con el Framework JERK JS',
8
8
  endpoints: {
9
9
  'GET /': 'Este mensaje',
10
10
  'GET /users': 'Obtener lista de usuarios',
package/index.js CHANGED
@@ -30,10 +30,6 @@ const SecurityEnhancedServer = require('./lib/core/securityEnhancedServer');
30
30
  const Firewall = require('./lib/middleware/firewall');
31
31
  const { SessionManager, sessionAuth } = require('./lib/middleware/session');
32
32
 
33
- // Componentes MVC
34
- const ViewEngine = require('./lib/mvc/viewEngine');
35
- const ControllerBase = require('./lib/mvc/controllerBase');
36
-
37
33
  // Exportar todos los componentes del framework
38
34
  module.exports = {
39
35
  // Componentes fundamentales (v1.0)
@@ -68,15 +64,11 @@ module.exports = {
68
64
 
69
65
  // Componentes de sesión (v2.2.0)
70
66
  SessionManager,
71
- sessionAuth,
72
-
73
- // Componentes MVC (v2.3.0)
74
- ViewEngine,
75
- ControllerBase
67
+ sessionAuth
76
68
  };
77
69
 
78
70
  // También exportar clases individuales por conveniencia
79
- module.exports.APISDK = APIServer;
71
+ module.exports.JERK = APIServer;
80
72
 
81
73
  // Crear instancia global del sistema de hooks
82
74
  module.exports.hooks = new HookSystem();
package/jerk.jpg CHANGED
Binary file
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "jerkjs",
3
- "version": "2.0.0",
4
- "description": "JERK Framework v2.0 - A comprehensive framework for building secure and scalable APIs",
3
+ "version": "2.0.1",
4
+ "description": "JERK Framework v2.0 - A comprehensive framework for building secure and scalable APIs with frontend support, sessions, and template engine",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
7
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -20,11 +20,11 @@
20
20
  "firewall",
21
21
  "waf"
22
22
  ],
23
- "author": "JERK Team",
23
+ "author": "JERK Framework Team",
24
24
  "license": "Apache-2.0",
25
25
  "repository": {
26
26
  "type": "git",
27
- "url": "git+https://gitlab.com/bytedogssyndicate1/jerk.git"
27
+ "url": "https://gitlab.com/bytedogssyndicate1/jerk.git"
28
28
  },
29
29
  "bugs": {
30
30
  "url": "https://gitlab.com/bytedogssyndicate1/jerk/issues"
@@ -38,10 +38,5 @@
38
38
  },
39
39
  "engines": {
40
40
  "node": ">=14.0.0"
41
- },
42
- "directories": {
43
- "doc": "doc",
44
- "example": "examples",
45
- "lib": "lib"
46
41
  }
47
42
  }
@@ -1,6 +1,6 @@
1
1
  # Ejemplo API con Autenticación JSON
2
2
 
3
- Este ejemplo demuestra cómo crear una API con autenticación basada en tokens estáticos almacenados en un archivo JSON utilizando el Framework API SDK.
3
+ Este ejemplo demuestra cómo crear una API con autenticación basada en tokens estáticos almacenados en un archivo JSON utilizando el Framework JERK.
4
4
 
5
5
  ## Características
6
6
 
@@ -12,7 +12,7 @@ Este ejemplo demuestra cómo crear una API con autenticación basada en tokens e
12
12
 
13
13
  ## Configuración
14
14
 
15
- 1. Asegúrate de tener instaladas las dependencias del framework API SDK
15
+ 1. Asegúrate de tener instaladas las dependencias del framework JERK
16
16
  2. El archivo de tokens `tokens.json` se creará automáticamente al iniciar la aplicación
17
17
 
18
18
  ## Uso
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "api-sdk-json-auth-example",
2
+ "name": "jerk-json-auth-example",
3
3
  "version": "1.0.0",
4
- "description": "Ejemplo de API con autenticación JSON usando el Framework API SDK",
4
+ "description": "Ejemplo de API con autenticación JSON usando el Framework JERK",
5
5
  "main": "app.js",
6
6
  "scripts": {
7
7
  "start": "node app.js",
@@ -15,8 +15,8 @@
15
15
  "jwt",
16
16
  "framework"
17
17
  ],
18
- "author": "API SDK Framework",
19
- "license": "MIT",
18
+ "author": "JERK Framework",
19
+ "license": "Apache-2.0",
20
20
  "dependencies": {
21
21
  "jsonwebtoken": "^9.0.0"
22
22
  },
@@ -1,6 +1,6 @@
1
1
  # Ejemplo API con Autenticación MariaDB
2
2
 
3
- Este ejemplo demuestra cómo crear una API con autenticación basada en tokens almacenados en MariaDB utilizando el Framework API SDK.
3
+ Este ejemplo demuestra cómo crear una API con autenticación basada en tokens almacenados en MariaDB utilizando el Framework JERK.
4
4
 
5
5
  ## Características
6
6
 
@@ -12,7 +12,7 @@ Este ejemplo demuestra cómo crear una API con autenticación basada en tokens a
12
12
 
13
13
  ## Configuración
14
14
 
15
- 1. Asegúrate de tener instaladas las dependencias del framework API SDK
15
+ 1. Asegúrate de tener instaladas las dependencias del framework JERK
16
16
  2. Instala mariadb si aún no está instalado: `npm install mariadb`
17
17
  3. Asegúrate de tener MariaDB instalado y en ejecución
18
18
  4. Crea la base de datos `token_db` en MariaDB
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "api-sdk-mariadb-example",
2
+ "name": "jerk-mariadb-example",
3
3
  "version": "1.0.0",
4
- "description": "Ejemplo de API con autenticación MariaDB usando el Framework API SDK",
4
+ "description": "Ejemplo de API con autenticación MariaDB usando el Framework JERK",
5
5
  "main": "app.js",
6
6
  "scripts": {
7
7
  "start": "node app.js",
@@ -15,8 +15,8 @@
15
15
  "jwt",
16
16
  "framework"
17
17
  ],
18
- "author": "API SDK Framework",
19
- "license": "MIT",
18
+ "author": "JERK Framework",
19
+ "license": "Apache-2.0",
20
20
  "dependencies": {
21
21
  "jsonwebtoken": "^9.0.0",
22
22
  "mariadb": "^3.0.0"
@@ -1,6 +1,6 @@
1
1
  # Ejemplo API con Autenticación SQLite
2
2
 
3
- Este ejemplo demuestra cómo crear una API con autenticación basada en tokens almacenados en SQLite utilizando el Framework API SDK.
3
+ Este ejemplo demuestra cómo crear una API con autenticación basada en tokens almacenados en SQLite utilizando el Framework JERK.
4
4
 
5
5
  ## Características
6
6
 
@@ -11,7 +11,7 @@ Este ejemplo demuestra cómo crear una API con autenticación basada en tokens a
11
11
 
12
12
  ## Configuración
13
13
 
14
- 1. Asegúrate de tener instaladas las dependencias del framework API SDK
14
+ 1. Asegúrate de tener instaladas las dependencias del framework JERK
15
15
  2. Instala sqlite3 si aún no está instalado: `npm install sqlite3`
16
16
 
17
17
  ## Uso
@@ -1,7 +1,7 @@
1
1
  {
2
- "name": "api-sdk-example-v2",
2
+ "name": "jerk-example-v2",
3
3
  "version": "1.0.0",
4
- "description": "Ejemplo de API con autenticación SQLite usando el Framework API SDK",
4
+ "description": "Ejemplo de API con autenticación SQLite usando el Framework JERK",
5
5
  "main": "app.js",
6
6
  "scripts": {
7
7
  "start": "node app.js",
@@ -15,8 +15,8 @@
15
15
  "jwt",
16
16
  "framework"
17
17
  ],
18
- "author": "API SDK Framework",
19
- "license": "MIT",
18
+ "author": "JERK Framework",
19
+ "license": "Apache-2.0",
20
20
  "dependencies": {
21
21
  "jsonwebtoken": "^9.0.0",
22
22
  "sqlite3": "^5.1.6"