@moudle/start 0.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.
package/dist/lib.d.ts ADDED
@@ -0,0 +1,15 @@
1
+ import { Request, Response } from "express";
2
+ import { JSX } from "react";
3
+ export type APIType = (req: Request, res: Response) => void;
4
+ export type PageType = JSX.Element;
5
+ export type ListAPIType = {
6
+ [key: string]: APIType;
7
+ }[];
8
+ export type ListPageType = {
9
+ [key: string]: PageType;
10
+ }[];
11
+ export declare function start(param: {
12
+ list_api: ListAPIType;
13
+ list_page: ListPageType;
14
+ }): Promise<void>;
15
+ //# sourceMappingURL=lib.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../lib.tsx"],"names":[],"mappings":"AACA,OAAgB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,KAAK,IAAI,CAAC;AAC5D,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC;AACnC,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAAE,CAAC;AACvD,MAAM,MAAM,YAAY,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,EAAE,CAAC;AAEzD,wBAAsB,KAAK,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CAAE,iBAyCpF"}
package/dist/lib.js ADDED
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.start = start;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const react_router_1 = require("react-router");
9
+ const express_1 = __importDefault(require("express"));
10
+ const server_1 = __importDefault(require("react-dom/server"));
11
+ async function start(param) {
12
+ const all_kv_page = param.list_page.reduce((acc, kv_page) => ({ ...acc, ...kv_page }), {});
13
+ const all_kv_api = param.list_api.reduce((acc, kv_api) => ({ ...acc, ...kv_api }), {});
14
+ const pages = ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: Object.keys(all_kv_page).map(page_path => ((0, jsx_runtime_1.jsx)(react_router_1.Route, { path: page_path, element: all_kv_page[page_path] }))) }));
15
+ async function pageHandler(req, res) {
16
+ const routes = (0, react_router_1.createRoutesFromElements)(pages);
17
+ const handler = (0, react_router_1.createStaticHandler)(routes);
18
+ const context = await handler.query(new Request(`http://localhost${req.url}`));
19
+ if (context instanceof Response) {
20
+ res.status(context.status);
21
+ context.headers.forEach((v, k) => res.setHeader(k, v));
22
+ res.send(await context.text());
23
+ return;
24
+ }
25
+ const router = (0, react_router_1.createStaticRouter)(handler.dataRoutes, context);
26
+ res.send(server_1.default.renderToString((0, jsx_runtime_1.jsx)(react_router_1.StaticRouterProvider, { router: router, context: context })));
27
+ }
28
+ const x = (0, express_1.default)();
29
+ for (const method_path of Object.keys(all_kv_api)) {
30
+ const [method, path] = method_path.trim().split(/\s+/g);
31
+ const strict_method = method.toLocaleLowerCase();
32
+ x[strict_method](path, all_kv_api[method_path]);
33
+ }
34
+ x.use(pageHandler);
35
+ x.listen(5000, '0.0.0.0', () => {
36
+ console.log('Server running on port 5000');
37
+ });
38
+ }
39
+ //# sourceMappingURL=lib.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../lib.tsx"],"names":[],"mappings":";;;;;AAUA,sBAyCC;;AAnDD,+CAA8H;AAC9H,sDAAqD;AACrD,8DAA8C;AAQvC,KAAK,UAAU,KAAK,CAAC,KAAyD;IACnF,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3F,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEvF,MAAM,KAAK,GAAG,CACZ,2DAEI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CACxC,uBAAC,oBAAK,IAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,GAAI,CAC5D,CAAC,GAEH,CACJ,CAAA;IAED,KAAK,UAAU,WAAW,CAAC,GAAY,EAAE,GAAa;QACpD,MAAM,MAAM,GAAG,IAAA,uCAAwB,EAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,IAAA,kCAAmB,EAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,mBAAmB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAE/E,IAAI,OAAO,YAAY,QAAQ,EAAE,CAAC;YAChC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACvD,GAAG,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,iCAAkB,EAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,gBAAc,CAAC,cAAc,CAAC,uBAAC,mCAAoB,IAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,MAAM,CAAC,GAAG,IAAA,iBAAO,GAAE,CAAC;IACpB,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,MAAM,CAAC,iBAAiB,EAAiD,CAAC;QAChG,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACnB,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@moudle/start",
3
+ "version": "0.0.1",
4
+ "description": "",
5
+ "main": "dist/lib.js",
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "scripts": {
10
+ "start": "npm run build && node dist",
11
+ "build": "rm -rf dist && tsc"
12
+ },
13
+ "files": [
14
+ "dist",
15
+ "package.json"
16
+ ],
17
+ "keywords": [],
18
+ "author": "",
19
+ "license": "ISC",
20
+ "devDependencies": {
21
+ "@react-router/dev": "^7.15.1",
22
+ "@types/express": "^5.0.6",
23
+ "@types/node": "^25.8.0",
24
+ "@types/react": "^19.2.14",
25
+ "@types/react-dom": "^19.2.3",
26
+ "typescript": "^6.0.3"
27
+ },
28
+ "dependencies": {
29
+ "@moudle/test": "^0.0.1",
30
+ "@react-router/express": "^7.15.1",
31
+ "express": "^5.2.1",
32
+ "react-dom": "^19.2.6"
33
+ }
34
+ }