@farbenmeer/bunny 0.2.5 → 0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,eAAO,MAAM,GAAG,SAgGZ,CAAC"}
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,eAAO,MAAM,GAAG,SAiGZ,CAAC"}
package/dist/cli/dev.js CHANGED
@@ -81,7 +81,8 @@ export const dev = new Command()
81
81
  if (/^\/api(\/|$)/.test(url.pathname)) {
82
82
  const request = toRequest(req, url);
83
83
  const response = await apiRequestHandler(request);
84
- fromResponse(res, response);
84
+ await fromResponse(res, response);
85
+ res.end();
85
86
  return;
86
87
  }
87
88
  if (url.pathname === "/.well-known/openapi.json") {
@@ -93,7 +94,7 @@ export const dev = new Command()
93
94
  next();
94
95
  });
95
96
  app.use(viteServer.middlewares);
96
- http.createServer(app).listen(parseInt(port, 10));
97
+ app.listen(parseInt(port, 10));
97
98
  console.log(`Dev-Server started on port ${port}`);
98
99
  });
99
100
  //# sourceMappingURL=dev.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/cli/dev.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generate-server.d.ts","sourceRoot":"","sources":["../../src/cli/generate-server.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,WAU7B"}
1
+ {"version":3,"file":"generate-server.d.ts","sourceRoot":"","sources":["../../src/cli/generate-server.ts"],"names":[],"mappings":"AAAA,wBAAgB,cAAc,WAS7B"}
@@ -1,12 +1,11 @@
1
1
  export function generateServer() {
2
2
  return `
3
- import { startBunnyServer } from "@farbenmeer/bunny/server"
3
+ import { createBunnyApp } from "@farbenmeer/bunny/server"
4
4
 
5
- startBunnyServer({
6
- port: 3000,
5
+ createBunnyApp({
7
6
  api: () => import("./api.cjs"),
8
7
  dist: import.meta.dirname + "/dist",
9
- });
8
+ }).listen(3000);
10
9
  `;
11
10
  }
12
11
  //# sourceMappingURL=generate-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-server.js","sourceRoot":"","sources":["../../src/cli/generate-server.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;;CAQR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"generate-server.js","sourceRoot":"","sources":["../../src/cli/generate-server.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,cAAc;IAC5B,OAAO;;;;;;;CAOR,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/cli/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,KAAK,SAad,CAAC"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/cli/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,KAAK,SAYd,CAAC"}
package/dist/cli/start.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Command } from "commander";
2
2
  import path from "node:path";
3
- import { startBunnyServer } from "../server.js";
3
+ import { createBunnyApp } from "../server.js";
4
4
  export const start = new Command()
5
5
  .name("start")
6
6
  .description("Bunny Production server")
@@ -8,10 +8,9 @@ export const start = new Command()
8
8
  .action(async (options) => {
9
9
  const bunnyDir = path.join(process.cwd(), ".bunny", "prod");
10
10
  process.env.NODE_ENV = "production";
11
- startBunnyServer({
11
+ createBunnyApp({
12
12
  api: () => import(path.join(bunnyDir, "api.cjs")),
13
- port: parseInt(options.port, 10),
14
13
  dist: path.join(bunnyDir, "dist"),
15
- });
14
+ }).listen(parseInt(options.port, 10));
16
15
  });
17
16
  //# sourceMappingURL=start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/cli/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,EAAE;KAC/B,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,MAAM,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC;IAEpC,gBAAgB,CAAC;QACf,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QAChC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/cli/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,EAAE;KAC/B,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,yBAAyB,CAAC;KACtC,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,MAAM,CAAC;KAChD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,YAAY,CAAC;IAEpC,cAAc,CAAC;QACb,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC;KAClC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { IncomingMessage, ServerResponse } from "node:http";
2
2
  export declare function toRequest(req: IncomingMessage, url: URL): Request;
3
- export declare function fromResponse(node: ServerResponse, web: Response): void;
3
+ export declare function fromResponse(node: ServerResponse, web: Response): Promise<void>;
4
4
  //# sourceMappingURL=node-http-adapter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-http-adapter.d.ts","sourceRoot":"","sources":["../src/node-http-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIjE,wBAAgB,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAyBjE;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,QAAQ,QAG/D"}
1
+ {"version":3,"file":"node-http-adapter.d.ts","sourceRoot":"","sources":["../src/node-http-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAIjE,wBAAgB,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAyBjE;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,QAAQ,iBAKrE"}
@@ -27,8 +27,10 @@ export function toRequest(req, url) {
27
27
  const request = new Request(url.toString(), request_options);
28
28
  return request;
29
29
  }
30
- export function fromResponse(node, web) {
31
- node.setHeaders(web.headers);
32
- web.body?.pipeTo(stream.Writable.toWeb(node));
30
+ export async function fromResponse(node, web) {
31
+ node.statusCode = web.status;
32
+ node.statusMessage = web.statusText;
33
+ web.headers.forEach((value, key) => node.setHeader(key, value));
34
+ await web.body?.pipeTo(stream.Writable.toWeb(node));
33
35
  }
34
36
  //# sourceMappingURL=node-http-adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node-http-adapter.js","sourceRoot":"","sources":["../src/node-http-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,UAAU,SAAS,CAAC,GAAoB,EAAE,GAAQ;IACtD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,IAAgC,CAAC;IACrC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAClD,4DAA4D;QAC5D,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;IAC/C,CAAC;IACD,MAAM,eAAe,GAAG;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAe;KACxB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAoB,EAAE,GAAa;IAC9D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"node-http-adapter.js","sourceRoot":"","sources":["../src/node-http-adapter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,UAAU,SAAS,CAAC,GAAoB,EAAE,GAAQ;IACtD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,IAAgC,CAAC;IACrC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAClD,4DAA4D;QAC5D,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;IAC/C,CAAC;IACD,MAAM,eAAe,GAAG;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,MAAe;KACxB,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;IAC7D,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAoB,EAAE,GAAa;IACpE,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;IAC7B,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC;IACpC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAChE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AACtD,CAAC"}
package/dist/server.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  export * from "@farbenmeer/tapi/server";
2
+ import connect from "connect";
2
3
  import type { ApiDefinition } from "@farbenmeer/tapi/server";
3
4
  interface BunnyServerOptions {
4
- port: number;
5
5
  api: () => Promise<{
6
6
  api: ApiDefinition<any>;
7
7
  }>;
8
8
  dist: string;
9
9
  }
10
- export declare function startBunnyServer({ port, api, dist, }: BunnyServerOptions): Promise<import("node:http").Server<typeof import("node:http").IncomingMessage, typeof import("node:http").ServerResponse>>;
10
+ export declare function createBunnyApp({ api, dist }: BunnyServerOptions): connect.Server;
11
11
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AAIxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,OAAO,CAAC;QAAE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;KAAE,CAAC,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAsB,gBAAgB,CAAC,EACrC,IAAI,EACJ,GAAG,EACH,IAAI,GACL,EAAE,kBAAkB,8HAkCpB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AAExC,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAI7D,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,OAAO,CAAC;QAAE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;KAAE,CAAC,CAAC;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,kBAAkB,kBA+B/D"}
package/dist/server.js CHANGED
@@ -4,7 +4,7 @@ import connect from "connect";
4
4
  import serveStatic from "serve-static";
5
5
  import { fromResponse, toRequest } from "./node-http-adapter.js";
6
6
  import { loadEnv } from "./load-env.js";
7
- export async function startBunnyServer({ port, api, dist, }) {
7
+ export function createBunnyApp({ api, dist }) {
8
8
  loadEnv("production");
9
9
  const app = connect();
10
10
  const apiRequestHandler = api().then(({ api }) => createRequestHandler(api, {
@@ -14,20 +14,18 @@ export async function startBunnyServer({ port, api, dist, }) {
14
14
  if (!req.url)
15
15
  return next();
16
16
  const forwarded = req.headers["x-forwarded-for"];
17
- const host = forwarded ?? req.headers["host"] ?? `localhost:${port}`;
17
+ const host = forwarded ?? req.headers["host"] ?? `localhost:3000`;
18
18
  const url = new URL(req.url, `http://${host}`);
19
19
  if (/^\/api(\/|$)/.test(url.pathname)) {
20
20
  const request = toRequest(req, url);
21
21
  const response = await apiRequestHandler.then((handle) => handle(request));
22
- fromResponse(res, response);
22
+ await fromResponse(res, response);
23
+ res.end();
23
24
  return;
24
25
  }
25
26
  next();
26
27
  });
27
28
  app.use(serveStatic(dist));
28
- const server = app.listen(port, () => {
29
- console.log(`Server started on port ${port}`);
30
- });
31
- return server;
29
+ return app;
32
30
  }
33
31
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQxC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,IAAI,EACJ,GAAG,EACH,IAAI,GACe;IACnB,OAAO,CAAC,YAAY,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAC/C,oBAAoB,CAAC,GAAG,EAAE;QACxB,QAAQ,EAAE,MAAM;KACjB,CAAC,CACH,CAAC;IAEF,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG;YAAE,OAAO,IAAI,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,aAAa,IAAI,EAAE,CAAC;QACrE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;QAE/C,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACvD,MAAM,CAAC,OAAO,CAAC,CAChB,CAAC;YACF,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QACnC,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,WAAW,MAAM,cAAc,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAOxC,MAAM,UAAU,cAAc,CAAC,EAAE,GAAG,EAAE,IAAI,EAAsB;IAC9D,OAAO,CAAC,YAAY,CAAC,CAAC;IACtB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;IACtB,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAC/C,oBAAoB,CAAC,GAAG,EAAE;QACxB,QAAQ,EAAE,MAAM;KACjB,CAAC,CACH,CAAC;IAEF,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC/B,IAAI,CAAC,GAAG,CAAC,GAAG;YAAE,OAAO,IAAI,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,SAAS,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,gBAAgB,CAAC;QAClE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;QAE/C,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACvD,MAAM,CAAC,OAAO,CAAC,CAChB,CAAC;YACF,MAAM,YAAY,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAClC,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAE3B,OAAO,GAAG,CAAC;AACb,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farbenmeer/bunny",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "author": {
5
5
  "name": "Michel Smola",
6
6
  "email": "michel.smola@farbenmeer.de"
@@ -44,8 +44,8 @@
44
44
  "vite": "^7.3.0",
45
45
  "vite-tsconfig-paths": "^6.0.3",
46
46
  "@farbenmeer/react-tapi": "^2.0.0",
47
- "@farbenmeer/tapi": "^0.3.0",
48
- "@farbenmeer/router": "^0.3.0"
47
+ "@farbenmeer/router": "^0.4.0",
48
+ "@farbenmeer/tapi": "^0.3.1"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@types/connect": "^3.4.38",
@@ -53,6 +53,8 @@
53
53
  "@types/react": "^19.2.7",
54
54
  "@types/react-dom": "^19",
55
55
  "@types/serve-static": "^2.2.0",
56
+ "node-mocks-http": "^1.17.2",
57
+ "vitest": "^4.0.16",
56
58
  "react": "^19.2.3",
57
59
  "react-dom": "^19"
58
60
  },
@@ -65,6 +67,7 @@
65
67
  "build": "tsc --noEmit false",
66
68
  "pack:boilerplate": "pnpm --dir=\"../4-bunny-boilerplate\" pack --out=\"../3-bunny/boilerplate.tar.gz\"",
67
69
  "cli": "node dist/cli.js",
68
- "release": "pnpm run build && pnpm run pack:boilerplate && pnpm publish --no-git-checks"
70
+ "release": "pnpm run build && pnpm run pack:boilerplate && pnpm publish --no-git-checks",
71
+ "test": "vitest"
69
72
  }
70
73
  }