cahita 1.2.4 → 1.2.7

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.
@@ -4,10 +4,45 @@ import type { Handler, Middleware } from '../types';
4
4
  interface ApplicationOptions {
5
5
  secret?: string | string[];
6
6
  }
7
+ /**
8
+ * Main application class to initialize and manage the web server.
9
+ * * @example
10
+ * ```typescript
11
+ * const app = new Application({ secret: 'my-app-secret' });
12
+ *
13
+ * // 1. Global Middleware
14
+ * app.use((req, res, next) => {
15
+ * console.log(`${req.method} request to ${req.url}`);
16
+ * next();
17
+ * });
18
+ *
19
+ * // 2. Sub-Routing
20
+ * const userRouter = new Router();
21
+ * userRouter.get('/:id', (req, res) => {
22
+ * const { id } = req.params;
23
+ * res.json({ userId: id, status: 'Active' });
24
+ * });
25
+ * app.use('/users', userRouter);
26
+ *
27
+ * // 3. Error Handling
28
+ * app.get('/error', async () => {
29
+ * throw new Error('Database connection failed');
30
+ * });
31
+ *
32
+ * app.use((err, req, res, next) => {
33
+ * res.status(500).json({ error: err.message });
34
+ * });
35
+ *
36
+ * app.listen(3000);
37
+ * ```
38
+ */
7
39
  export declare class Application {
8
40
  private router;
9
41
  server: Server;
10
42
  private secret?;
43
+ /**
44
+ * @param options.secret - Optional key for signing cookies or securing responses.
45
+ */
11
46
  constructor(options?: ApplicationOptions);
12
47
  use(path: string | Middleware | Router, ...handlers: (Middleware | Router)[]): void;
13
48
  get(path: string, ...handlers: Handler[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAqB,MAAM,SAAS,CAAC;AAEtE,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IAChB,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,MAAM,CAAC,CAAoB;gBAEvB,OAAO,GAAE,kBAAuB;IAW5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAWnF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIjD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIlD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAInD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAIjD,OAAO,CAAC,MAAM;CA6Bf"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;AAGtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAqB,MAAM,SAAS,CAAC;AAEtE,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IAChB,MAAM,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,MAAM,CAAC,CAAoB;IAEnC;;OAEG;gBACS,OAAO,GAAE,kBAAuB;IAW5C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAWnF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIjD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIlD,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAInD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAIjD,OAAO,CAAC,MAAM;CA6Bf"}
package/dist/lib/index.js CHANGED
@@ -5,10 +5,45 @@ const node_http_1 = require("node:http");
5
5
  const templates_1 = require("../constants/templates");
6
6
  const augment_response_helper_1 = require("../helpers/augment-response.helper");
7
7
  const router_1 = require("../router");
8
+ /**
9
+ * Main application class to initialize and manage the web server.
10
+ * * @example
11
+ * ```typescript
12
+ * const app = new Application({ secret: 'my-app-secret' });
13
+ *
14
+ * // 1. Global Middleware
15
+ * app.use((req, res, next) => {
16
+ * console.log(`${req.method} request to ${req.url}`);
17
+ * next();
18
+ * });
19
+ *
20
+ * // 2. Sub-Routing
21
+ * const userRouter = new Router();
22
+ * userRouter.get('/:id', (req, res) => {
23
+ * const { id } = req.params;
24
+ * res.json({ userId: id, status: 'Active' });
25
+ * });
26
+ * app.use('/users', userRouter);
27
+ *
28
+ * // 3. Error Handling
29
+ * app.get('/error', async () => {
30
+ * throw new Error('Database connection failed');
31
+ * });
32
+ *
33
+ * app.use((err, req, res, next) => {
34
+ * res.status(500).json({ error: err.message });
35
+ * });
36
+ *
37
+ * app.listen(3000);
38
+ * ```
39
+ */
8
40
  class Application {
9
41
  router;
10
42
  server;
11
43
  secret;
44
+ /**
45
+ * @param options.secret - Optional key for signing cookies or securing responses.
46
+ */
12
47
  constructor(options = {}) {
13
48
  this.router = new router_1.Router();
14
49
  this.secret = options.secret;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cookie-parser.d.ts","sourceRoot":"","sources":["../../src/middlewares/cookie-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAmC,MAAM,SAAS,CAAC;AAG3E,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,GAAI,UAAS,mBAAwB,KAAG,UAsChE,CAAC"}
1
+ {"version":3,"file":"cookie-parser.d.ts","sourceRoot":"","sources":["../../src/middlewares/cookie-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAmC,MAAM,SAAS,CAAC;AAG3E,UAAU,mBAAmB;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,YAAY,GAAI,UAAS,mBAAwB,KAAG,UAwChE,CAAC"}
@@ -19,13 +19,14 @@ const cookieParser = (options = {}) => {
19
19
  const rawValue = rest.join('=').trimStart();
20
20
  try {
21
21
  const decodedValue = decodeURIComponent(rawValue);
22
+ const parseJson = (val) => (val.startsWith('j:') ? JSON.parse(val.slice(2)) : val);
22
23
  if (secret && decodedValue.startsWith('s:')) {
23
24
  const signed = decodedValue.slice(2);
24
25
  const unsigned = (0, util_1.unsignCookie)(signed, secret);
25
- req.signedCookies[name] = unsigned ?? false;
26
+ req.signedCookies[name] = typeof unsigned === 'string' ? parseJson(unsigned) : false;
26
27
  }
27
28
  else {
28
- req.cookies[name] = decodedValue;
29
+ req.cookies[name] = parseJson(decodedValue);
29
30
  }
30
31
  }
31
32
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"cookie-parser.js","sourceRoot":"","sources":["../../src/middlewares/cookie-parser.ts"],"names":[],"mappings":";;;AACA,iCAAsC;AAM/B,MAAM,YAAY,GAAG,CAAC,UAA+B,EAAE,EAAc,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,OAAO,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAElC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;QACjB,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,EAAE,CAAC;QAE3B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YAE5C,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAElD,IAAI,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrC,MAAM,QAAQ,GAAG,IAAA,mBAAY,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAE9C,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,KAAK,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;gBACnC,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC,CAAC;AAtCW,QAAA,YAAY,gBAsCvB"}
1
+ {"version":3,"file":"cookie-parser.js","sourceRoot":"","sources":["../../src/middlewares/cookie-parser.ts"],"names":[],"mappings":";;;AACA,iCAAsC;AAM/B,MAAM,YAAY,GAAG,CAAC,UAA+B,EAAE,EAAc,EAAE;IAC5E,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE3B,OAAO,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB,EAAE,EAAE;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAElC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;QACjB,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC;QAEvB,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,EAAE,CAAC;QAE3B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;YAE5C,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAElD,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAE3F,IAAI,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrC,MAAM,QAAQ,GAAG,IAAA,mBAAY,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;oBAE9C,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBACvF,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC;AACJ,CAAC,CAAC;AAxCW,QAAA,YAAY,gBAwCvB"}
@@ -14,8 +14,8 @@ export interface Request<Params = Record<string, string>, Query = Record<string,
14
14
  params?: Params;
15
15
  query?: Query;
16
16
  body?: Body;
17
- cookies?: Record<string, string>;
18
- signedCookies?: Record<string, string | false>;
17
+ cookies?: Record<string, unknown>;
18
+ signedCookies?: Record<string, unknown | false>;
19
19
  }
20
20
  export interface Response extends ServerResponse {
21
21
  status(code: number): this;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO,CACtB,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,EACxE,IAAI,GAAG,OAAO,CACd,SAAQ,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,QAAS,SAAQ,cAAc;IAC9C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAC7E;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAEnD,KAAK,aAAa,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEzE,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,aAAa,CAAC;AAEzF,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,aAAa,CAAC;AAE5G,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,YAAY,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,OAAO,CACtB,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,EACxE,IAAI,GAAG,OAAO,CACd,SAAQ,eAAe;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,QAAS,SAAQ,cAAc;IAC9C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAC7E;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;AAEnD,KAAK,aAAa,GAAG,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEzE,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,aAAa,CAAC;AAEzF,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,KAAK,aAAa,CAAC;AAE5G,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,YAAY,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC"}
package/package.json CHANGED
@@ -1,53 +1,53 @@
1
- {
2
- "name": "cahita",
3
- "version": "1.2.4",
4
- "description": "A high-performance, async-first web framework for Node.js",
5
- "main": "./dist/index.js",
6
- "types": "./dist/index.d.ts",
7
- "files": [
8
- "dist",
9
- "README.md",
10
- "LICENSE"
11
- ],
12
- "scripts": {
13
- "build": "tsc && tsc-alias",
14
- "prepublishOnly": "npm run build",
15
- "lint": "biome check src/",
16
- "check": "biome check --write src/",
17
- "format": "biome format --write src/",
18
- "test": "vitest run",
19
- "test:watch": "vitest",
20
- "test:ui": "vitest --ui",
21
- "test:coverage": "vitest run --coverage"
22
- },
23
- "keywords": [
24
- "framework",
25
- "node",
26
- "typescript",
27
- "async",
28
- "express-alternative",
29
- "minimalist"
30
- ],
31
- "author": "Miguel Ángel (@M1HUEL)",
32
- "license": "MIT",
33
- "repository": {
34
- "type": "git",
35
- "url": "git+https://github.com/M1HUEL/cahita.git"
36
- },
37
- "type": "commonjs",
38
- "devDependencies": {
39
- "@biomejs/biome": "2.3.10",
40
- "@types/mime-types": "^3.0.1",
41
- "@types/node": "^22.10.5",
42
- "@types/supertest": "^6.0.3",
43
- "supertest": "^7.1.4",
44
- "tsc-alias": "^1.8.10",
45
- "tsx": "^4.19.2",
46
- "typescript": "^5.7.2",
47
- "vite-tsconfig-paths": "^6.0.3",
48
- "vitest": "^4.0.16"
49
- },
50
- "dependencies": {
51
- "mime-types": "^2.1.35"
52
- }
53
- }
1
+ {
2
+ "name": "cahita",
3
+ "version": "1.2.7",
4
+ "description": "A high-performance, async-first web framework for Node.js",
5
+ "main": "./dist/index.js",
6
+ "types": "./dist/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "README.md",
10
+ "LICENSE"
11
+ ],
12
+ "scripts": {
13
+ "build": "tsc && tsc-alias",
14
+ "prepublishOnly": "npm run build",
15
+ "lint": "biome check src/",
16
+ "check": "biome check --write src/",
17
+ "format": "biome format --write src/",
18
+ "test": "vitest run",
19
+ "test:watch": "vitest",
20
+ "test:ui": "vitest --ui",
21
+ "test:coverage": "vitest run --coverage"
22
+ },
23
+ "keywords": [
24
+ "framework",
25
+ "node",
26
+ "typescript",
27
+ "async",
28
+ "express-alternative",
29
+ "minimalist"
30
+ ],
31
+ "author": "Miguel Ángel (@M1HUEL)",
32
+ "license": "MIT",
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/M1HUEL/cahita.git"
36
+ },
37
+ "type": "commonjs",
38
+ "devDependencies": {
39
+ "@biomejs/biome": "2.3.10",
40
+ "@types/mime-types": "^3.0.1",
41
+ "@types/node": "^22.10.5",
42
+ "@types/supertest": "^6.0.3",
43
+ "supertest": "^7.1.4",
44
+ "tsc-alias": "^1.8.10",
45
+ "tsx": "^4.19.2",
46
+ "typescript": "^5.7.2",
47
+ "vite-tsconfig-paths": "^6.0.3",
48
+ "vitest": "^4.0.16"
49
+ },
50
+ "dependencies": {
51
+ "mime-types": "^2.1.35"
52
+ }
53
+ }