frontend-hamroun 1.2.79 → 1.2.80

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 (219) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +129 -1513
  3. package/bin/cli.js +505 -144
  4. package/dist/index.cjs +2 -0
  5. package/dist/index.cjs.map +1 -0
  6. package/dist/index.client.cjs +2 -0
  7. package/dist/index.client.cjs.map +1 -0
  8. package/dist/index.client.js +26 -0
  9. package/dist/index.client.js.map +1 -0
  10. package/dist/index.js +298 -1
  11. package/dist/index.js.map +1 -0
  12. package/dist/jsx-runtime.cjs +2 -0
  13. package/dist/jsx-runtime.cjs.map +1 -0
  14. package/dist/jsx-runtime.js +93 -1
  15. package/dist/jsx-runtime.js.map +1 -0
  16. package/dist/renderer-Bo9zkUZ_.js +52 -0
  17. package/dist/renderer-Bo9zkUZ_.js.map +1 -0
  18. package/dist/renderer-Din1y3YM.cjs +2 -0
  19. package/dist/renderer-Din1y3YM.cjs.map +1 -0
  20. package/dist/server-renderer-CqIpQ-od.cjs +2 -0
  21. package/dist/server-renderer-CqIpQ-od.cjs.map +1 -0
  22. package/dist/server-renderer-QHt45Ip2.js +255 -0
  23. package/dist/server-renderer-QHt45Ip2.js.map +1 -0
  24. package/dist/server-renderer.cjs +2 -0
  25. package/dist/server-renderer.cjs.map +1 -0
  26. package/dist/server-renderer.js +5 -1
  27. package/dist/server-renderer.js.map +1 -0
  28. package/package.json +77 -120
  29. package/templates/basic-app/build.js +22 -0
  30. package/templates/basic-app/bun.lock +196 -0
  31. package/templates/basic-app/dev.js +27 -0
  32. package/templates/basic-app/docs/rapport_pfe.aux +27 -27
  33. package/templates/basic-app/docs/rapport_pfe.out +10 -10
  34. package/templates/basic-app/docs/rapport_pfe.toc +14 -14
  35. package/templates/basic-app/esbuild.config.js +28 -0
  36. package/templates/basic-app/index.html +1 -1
  37. package/templates/{fullstack-app → basic-app}/package-lock.json +4185 -5094
  38. package/templates/basic-app/package.json +29 -28
  39. package/templates/basic-app/server.js +24 -0
  40. package/templates/basic-app/src/App.tsx +26 -0
  41. package/templates/basic-app/src/client.tsx +11 -0
  42. package/templates/basic-app/src/components/Counter.tsx +18 -0
  43. package/templates/basic-app/src/jsx-shim.ts +4 -0
  44. package/templates/basic-app/src/main.tsx +0 -1
  45. package/templates/basic-app/src/server.ts +52 -0
  46. package/templates/basic-app/tsconfig.server.json +11 -0
  47. package/templates/fullstack-app/build/main.css +874 -874
  48. package/templates/fullstack-app/build/main.css.map +7 -7
  49. package/templates/fullstack-app/build/main.js +967 -967
  50. package/templates/fullstack-app/build/main.js.map +7 -7
  51. package/templates/fullstack-app/public/styles.css +768 -768
  52. package/templates/go/example.go +99 -154
  53. package/templates/go-wasm-app/babel.config.js +2 -8
  54. package/templates/go-wasm-app/package.json +12 -21
  55. package/templates/go-wasm-app/public/wasm/wasm_exec.js +561 -561
  56. package/templates/go-wasm-app/public/wasm/wasm_exec_node.js +39 -39
  57. package/templates/go-wasm-app/server.js +510 -59
  58. package/templates/go-wasm-app/src/app.js +2 -22
  59. package/templates/go-wasm-app/src/wasm/example.go +75 -75
  60. package/templates/go-wasm-app/vite.config.js +5 -16
  61. package/templates/ssr-template/server.js +2 -2
  62. package/templates/ssr-template/vite.config.js +5 -16
  63. package/dist/Counter.d.ts +0 -0
  64. package/dist/batch/package.json +0 -16
  65. package/dist/client-router/package.json +0 -16
  66. package/dist/component/package.json +0 -16
  67. package/dist/context/package.json +0 -16
  68. package/dist/event-bus/package.json +0 -16
  69. package/dist/forms/package.json +0 -16
  70. package/dist/hooks/package.json +0 -16
  71. package/dist/hooks-0728361a.cjs +0 -1
  72. package/dist/hooks-b58f947c.js +0 -133
  73. package/dist/hooks.js +0 -1
  74. package/dist/hooks.mjs +0 -13
  75. package/dist/index.mjs +0 -137
  76. package/dist/jsx-runtime/package.json +0 -16
  77. package/dist/jsx-runtime.mjs +0 -64
  78. package/dist/lifecycle-events/package.json +0 -16
  79. package/dist/package.json +0 -71
  80. package/dist/render-component/package.json +0 -16
  81. package/dist/renderer/package.json +0 -16
  82. package/dist/renderer.js +0 -1
  83. package/dist/renderer.mjs +0 -27
  84. package/dist/router/package.json +0 -16
  85. package/dist/server/package.json +0 -17
  86. package/dist/server/src/batch.d.ts +0 -3
  87. package/dist/server/src/batch.js +0 -23
  88. package/dist/server/src/batch.js.map +0 -1
  89. package/dist/server/src/client-router.d.ts +0 -60
  90. package/dist/server/src/client-router.js +0 -210
  91. package/dist/server/src/client-router.js.map +0 -1
  92. package/dist/server/src/component.d.ts +0 -14
  93. package/dist/server/src/component.js +0 -106
  94. package/dist/server/src/component.js.map +0 -1
  95. package/dist/server/src/context.d.ts +0 -13
  96. package/dist/server/src/context.js +0 -21
  97. package/dist/server/src/context.js.map +0 -1
  98. package/dist/server/src/event-bus.d.ts +0 -23
  99. package/dist/server/src/event-bus.js +0 -75
  100. package/dist/server/src/event-bus.js.map +0 -1
  101. package/dist/server/src/forms.d.ts +0 -40
  102. package/dist/server/src/forms.js +0 -148
  103. package/dist/server/src/forms.js.map +0 -1
  104. package/dist/server/src/hooks.d.ts +0 -12
  105. package/dist/server/src/hooks.js +0 -170
  106. package/dist/server/src/hooks.js.map +0 -1
  107. package/dist/server/src/index.client.d.ts +0 -12
  108. package/dist/server/src/index.client.js +0 -14
  109. package/dist/server/src/index.client.js.map +0 -1
  110. package/dist/server/src/index.d.ts +0 -88
  111. package/dist/server/src/index.js +0 -79
  112. package/dist/server/src/index.js.map +0 -1
  113. package/dist/server/src/jsx-runtime/jsx-dev-runtime.d.ts +0 -1
  114. package/dist/server/src/jsx-runtime/jsx-dev-runtime.js +0 -2
  115. package/dist/server/src/jsx-runtime/jsx-dev-runtime.js.map +0 -1
  116. package/dist/server/src/jsx-runtime/jsx-runtime.d.ts +0 -4
  117. package/dist/server/src/jsx-runtime/jsx-runtime.js +0 -41
  118. package/dist/server/src/jsx-runtime/jsx-runtime.js.map +0 -1
  119. package/dist/server/src/jsx-runtime.d.ts +0 -20
  120. package/dist/server/src/jsx-runtime.js +0 -105
  121. package/dist/server/src/jsx-runtime.js.map +0 -1
  122. package/dist/server/src/lifecycle-events.d.ts +0 -108
  123. package/dist/server/src/lifecycle-events.js +0 -177
  124. package/dist/server/src/lifecycle-events.js.map +0 -1
  125. package/dist/server/src/renderComponent.d.ts +0 -13
  126. package/dist/server/src/renderComponent.js +0 -30
  127. package/dist/server/src/renderComponent.js.map +0 -1
  128. package/dist/server/src/renderer.d.ts +0 -2
  129. package/dist/server/src/renderer.js +0 -31
  130. package/dist/server/src/renderer.js.map +0 -1
  131. package/dist/server/src/router.d.ts +0 -55
  132. package/dist/server/src/router.js +0 -166
  133. package/dist/server/src/router.js.map +0 -1
  134. package/dist/server/src/server/api-router.d.ts +0 -15
  135. package/dist/server/src/server/api-router.js +0 -111
  136. package/dist/server/src/server/api-router.js.map +0 -1
  137. package/dist/server/src/server/auth.d.ts +0 -32
  138. package/dist/server/src/server/auth.js +0 -80
  139. package/dist/server/src/server/auth.js.map +0 -1
  140. package/dist/server/src/server/database.d.ts +0 -24
  141. package/dist/server/src/server/database.js +0 -135
  142. package/dist/server/src/server/database.js.map +0 -1
  143. package/dist/server/src/server/index.d.ts +0 -116
  144. package/dist/server/src/server/index.js +0 -508
  145. package/dist/server/src/server/index.js.map +0 -1
  146. package/dist/server/src/server/middleware.d.ts +0 -11
  147. package/dist/server/src/server/middleware.js +0 -46
  148. package/dist/server/src/server/middleware.js.map +0 -1
  149. package/dist/server/src/server/server.d.ts +0 -9
  150. package/dist/server/src/server/server.js +0 -87
  151. package/dist/server/src/server/server.js.map +0 -1
  152. package/dist/server/src/server/templates.d.ts +0 -30
  153. package/dist/server/src/server/templates.js +0 -208
  154. package/dist/server/src/server/templates.js.map +0 -1
  155. package/dist/server/src/server/types.d.ts +0 -38
  156. package/dist/server/src/server/types.js +0 -4
  157. package/dist/server/src/server/types.js.map +0 -1
  158. package/dist/server/src/server/utils.d.ts +0 -70
  159. package/dist/server/src/server/utils.js +0 -156
  160. package/dist/server/src/server/utils.js.map +0 -1
  161. package/dist/server/src/server/wasm.d.ts +0 -9
  162. package/dist/server/src/server/wasm.js +0 -117
  163. package/dist/server/src/server/wasm.js.map +0 -1
  164. package/dist/server/src/server-renderer.d.ts +0 -5
  165. package/dist/server/src/server-renderer.js +0 -106
  166. package/dist/server/src/server-renderer.js.map +0 -1
  167. package/dist/server/src/server-types.d.ts +0 -42
  168. package/dist/server/src/server-types.js +0 -6
  169. package/dist/server/src/server-types.js.map +0 -1
  170. package/dist/server/src/store.d.ts +0 -41
  171. package/dist/server/src/store.js +0 -99
  172. package/dist/server/src/store.js.map +0 -1
  173. package/dist/server/src/types.d.ts +0 -19
  174. package/dist/server/src/types.js +0 -2
  175. package/dist/server/src/types.js.map +0 -1
  176. package/dist/server/src/utils.d.ts +0 -46
  177. package/dist/server/src/utils.js +0 -144
  178. package/dist/server/src/utils.js.map +0 -1
  179. package/dist/server/src/vdom.d.ts +0 -8
  180. package/dist/server/src/vdom.js +0 -22
  181. package/dist/server/src/vdom.js.map +0 -1
  182. package/dist/server/src/wasm.d.ts +0 -36
  183. package/dist/server/src/wasm.js +0 -159
  184. package/dist/server/src/wasm.js.map +0 -1
  185. package/dist/server/tsconfig.server.tsbuildinfo +0 -1
  186. package/dist/server-renderer/package.json +0 -16
  187. package/dist/server-renderer.mjs +0 -64
  188. package/dist/store/package.json +0 -16
  189. package/dist/types/package.json +0 -16
  190. package/dist/utils/package.json +0 -16
  191. package/dist/vdom/package.json +0 -16
  192. package/dist/wasm/package.json +0 -16
  193. package/dist/wasm.js +0 -1
  194. package/dist/wasm.mjs +0 -103
  195. package/templates/basic-app/docs/rapport_pfe.log +0 -399
  196. package/templates/complete-app/client.js +0 -58
  197. package/templates/complete-app/package-lock.json +0 -2536
  198. package/templates/complete-app/package.json +0 -17
  199. package/templates/complete-app/pages/about.js +0 -119
  200. package/templates/complete-app/pages/index.js +0 -157
  201. package/templates/complete-app/pages/wasm-demo.js +0 -290
  202. package/templates/complete-app/public/client.js +0 -80
  203. package/templates/complete-app/public/index.html +0 -47
  204. package/templates/complete-app/public/styles.css +0 -579
  205. package/templates/complete-app/readme.md +0 -188
  206. package/templates/complete-app/server.js +0 -417
  207. package/templates/complete-app/server.ts +0 -275
  208. package/templates/complete-app/src/App.tsx +0 -59
  209. package/templates/complete-app/src/client.ts +0 -61
  210. package/templates/complete-app/src/client.tsx +0 -18
  211. package/templates/complete-app/src/pages/index.tsx +0 -51
  212. package/templates/complete-app/src/server.ts +0 -218
  213. package/templates/complete-app/tsconfig.json +0 -22
  214. package/templates/complete-app/tsconfig.server.json +0 -19
  215. package/templates/complete-app/vite.config.js +0 -57
  216. package/templates/complete-app/vite.config.ts +0 -30
  217. package/templates/go-wasm-app/build.config.js +0 -62
  218. package/templates/go-wasm-app/build.js +0 -218
  219. package/templates/go-wasm-app/package-lock.json +0 -3732
@@ -1,87 +0,0 @@
1
- import fs from 'fs';
2
- import path from 'path';
3
- import { renderComponent } from '../renderComponent'; // Fixed import path with .js extension
4
- class Server {
5
- constructor(config) {
6
- Object.defineProperty(this, "config", {
7
- enumerable: true,
8
- configurable: true,
9
- writable: true,
10
- value: void 0
11
- });
12
- this.config = config;
13
- }
14
- async renderPage(urlPath) {
15
- try {
16
- // Try to find the page component
17
- const pagesDir = path.resolve(process.cwd(), this.config.pagesDir);
18
- // Check various file patterns
19
- let pagePath = '';
20
- const possiblePagePaths = [
21
- `${pagesDir}${path}.jsx`,
22
- `${pagesDir}${path}.tsx`,
23
- `${pagesDir}${path}/index.jsx`,
24
- `${pagesDir}${path}/index.tsx`,
25
- // For dynamic routes
26
- ...fs.readdirSync(pagesDir, { recursive: true })
27
- .filter((file) => typeof file === 'string')
28
- .filter((file) => file.endsWith('.jsx') || file.endsWith('.tsx'))
29
- .map((file) => path.join(pagesDir, file))
30
- .filter((file) => {
31
- const routePattern = file
32
- .replace(pagesDir, '')
33
- .replace(/\.[jt]sx$/, '')
34
- .replace(/\/index$/, '/')
35
- .replace(/\[([^\]]+)\]/g, ':$1');
36
- // Create Express-like path matcher
37
- return this.pathMatchesPattern(urlPath, routePattern);
38
- })
39
- ];
40
- for (const possiblePath of possiblePagePaths) {
41
- if (fs.existsSync(possiblePath)) {
42
- pagePath = possiblePath;
43
- break;
44
- }
45
- }
46
- if (!pagePath) {
47
- return {
48
- html: `<!DOCTYPE html><html><body><h1>404 - Page Not Found</h1></body></html>`,
49
- statusCode: 404
50
- };
51
- }
52
- // Import and render the page component
53
- const { default: PageComponent } = await import(pagePath);
54
- if (!PageComponent || typeof PageComponent !== 'function') {
55
- throw new Error(`Invalid page component: ${pagePath}`);
56
- }
57
- const { html } = await renderComponent(PageComponent);
58
- // Add DOCTYPE and wrap in html/body if not present
59
- let finalHtml = html;
60
- if (!finalHtml.includes('<!DOCTYPE')) {
61
- finalHtml = `<!DOCTYPE html><html><head>
62
- <meta charset="UTF-8">
63
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
64
- <script type="module" src="/client.js"></script>
65
- </head><body>${finalHtml}</body></html>`;
66
- }
67
- return { html: finalHtml, statusCode: 200 };
68
- }
69
- catch (error) {
70
- console.error('Error rendering page:', error);
71
- return {
72
- html: `<!DOCTYPE html><html><body><h1>500 - Server Error</h1><pre>${error}</pre></body></html>`,
73
- statusCode: 500
74
- };
75
- }
76
- }
77
- pathMatchesPattern(path, pattern) {
78
- // Convert Express-like pattern to regex
79
- const regexPattern = pattern
80
- .replace(/\//g, '\\/') // Escape slashes
81
- .replace(/:([^\/]+)/g, '([^\\/]+)'); // Convert :param to regex group
82
- const regex = new RegExp(`^${regexPattern}$`);
83
- return regex.test(path);
84
- }
85
- }
86
- export default Server;
87
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/server/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC,CAAC,uCAAuC;AAEhG,MAAM,MAAM;IAGV,YAAY,MAA6B;QAFjC;;;;;WAA8B;QAGpC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,OAAe;QACtC,IAAI,CAAC;YACH,iCAAiC;YACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,QAAS,CAAC,CAAC;YAEpE,8BAA8B;YAC9B,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,MAAM,iBAAiB,GAAG;gBACxB,GAAG,QAAQ,GAAG,IAAI,MAAM;gBACxB,GAAG,QAAQ,GAAG,IAAI,MAAM;gBACxB,GAAG,QAAQ,GAAG,IAAI,YAAY;gBAC9B,GAAG,QAAQ,GAAG,IAAI,YAAY;gBAC9B,qBAAqB;gBACrB,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;qBAC7C,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC;qBAC1D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;qBAChD,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;qBAChD,MAAM,CAAC,CAAC,IAAY,EAAE,EAAE;oBACvB,MAAM,YAAY,GAAG,IAAI;yBACtB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;yBACrB,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;yBACxB,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;yBACxB,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;oBAEnC,mCAAmC;oBACnC,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACxD,CAAC,CAAC;aACL,CAAC;YAEF,KAAK,MAAM,YAAY,IAAI,iBAAiB,EAAE,CAAC;gBAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;oBAChC,QAAQ,GAAG,YAAY,CAAC;oBACxB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO;oBACL,IAAI,EAAE,wEAAwE;oBAC9E,UAAU,EAAE,GAAG;iBAChB,CAAC;YACJ,CAAC;YAED,uCAAuC;YACvC,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YAE1D,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,eAAe,CAAC,aAAa,CAAC,CAAC;YAEtD,mDAAmD;YACnD,IAAI,SAAS,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,SAAS,GAAG;;;;uBAIG,SAAS,gBAAgB,CAAC;YAC3C,CAAC;YAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAC9C,OAAO;gBACL,IAAI,EAAE,8DAA8D,KAAK,sBAAsB;gBAC/F,UAAU,EAAE,GAAG;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,IAAY,EAAE,OAAe;QACtD,wCAAwC;QACxC,MAAM,YAAY,GAAG,OAAO;aACzB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,iBAAiB;aACvC,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,gCAAgC;QAEvE,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF;AAED,eAAe,MAAM,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * HTML template generators for server-side rendering
3
- */
4
- export interface DocumentOptions {
5
- title?: string;
6
- description?: string;
7
- lang?: string;
8
- charset?: string;
9
- viewport?: string;
10
- scripts?: string[];
11
- styles?: string[];
12
- meta?: Record<string, string>;
13
- bodyClasses?: string;
14
- htmlAttrs?: Record<string, string>;
15
- bodyAttrs?: Record<string, string>;
16
- initialData?: any;
17
- componentName?: string;
18
- }
19
- /**
20
- * Generate a complete HTML document
21
- */
22
- export declare function generateDocument(content: string, options?: DocumentOptions): string;
23
- /**
24
- * Generate an error page
25
- */
26
- export declare function generateErrorPage(statusCode: number, message: string, error?: Error): string;
27
- /**
28
- * Generate a loading page
29
- */
30
- export declare function generateLoadingPage(message?: string): string;
@@ -1,208 +0,0 @@
1
- /**
2
- * HTML template generators for server-side rendering
3
- */
4
- /**
5
- * Generate a complete HTML document
6
- */
7
- export function generateDocument(content, options = {}) {
8
- const { title = 'Frontend Hamroun App', description = '', lang = 'en', charset = 'UTF-8', viewport = 'width=device-width, initial-scale=1.0', scripts = [], styles = [], meta = {}, bodyClasses = '', htmlAttrs = {}, bodyAttrs = {}, initialData = {}, componentName = '' } = options;
9
- // Generate HTML attributes
10
- const htmlAttributes = Object.entries(htmlAttrs)
11
- .map(([key, value]) => `${key}="${escapeHtml(value)}"`)
12
- .join(' ');
13
- // Generate body attributes
14
- const bodyAttributes = Object.entries(bodyAttrs)
15
- .map(([key, value]) => `${key}="${escapeHtml(value)}"`)
16
- .join(' ');
17
- // Generate meta tags
18
- const metaTags = [
19
- `<meta charset="${charset}">`,
20
- `<meta name="viewport" content="${viewport}">`,
21
- description ? `<meta name="description" content="${escapeHtml(description)}">` : ''
22
- ];
23
- // Add custom meta tags
24
- Object.entries(meta).forEach(([name, content]) => {
25
- metaTags.push(`<meta name="${escapeHtml(name)}" content="${escapeHtml(content)}">`);
26
- });
27
- // Generate script tags
28
- const scriptTags = scripts.map(src => {
29
- if (src.startsWith('<script')) {
30
- return src; // Allow inline scripts
31
- }
32
- return `<script src="${escapeHtml(src)}" ${src.endsWith('.js') ? 'type="module"' : ''} defer></script>`;
33
- });
34
- // Generate style tags
35
- const styleTags = styles.map(href => {
36
- if (href.startsWith('<style')) {
37
- return href; // Allow inline styles
38
- }
39
- return `<link rel="stylesheet" href="${escapeHtml(href)}">`;
40
- });
41
- // Create initial data script
42
- const initialDataScript = Object.keys(initialData).length > 0 ?
43
- `<script id="__APP_DATA__" type="application/json">${escapeHtml(JSON.stringify(initialData))}</script>` : '';
44
- // Create the complete HTML document
45
- return `<!DOCTYPE html>
46
- <html lang="${lang}" ${htmlAttributes}>
47
- <head>
48
- ${metaTags.filter(Boolean).join('\n ')}
49
- <title>${escapeHtml(title)}</title>
50
- ${styleTags.join('\n ')}
51
- </head>
52
- <body class="${bodyClasses}" ${bodyAttributes}>
53
- <div id="app-root" data-ssr-root${componentName ? ` data-component="${escapeHtml(componentName)}"` : ''}>${content}</div>
54
- ${initialDataScript}
55
- ${scriptTags.join('\n ')}
56
- </body>
57
- </html>`;
58
- }
59
- /**
60
- * Generate an error page
61
- */
62
- export function generateErrorPage(statusCode, message, error) {
63
- const errorMessages = {
64
- 400: 'Bad Request',
65
- 401: 'Unauthorized',
66
- 403: 'Forbidden',
67
- 404: 'Not Found',
68
- 500: 'Internal Server Error'
69
- };
70
- const title = `${statusCode} - ${errorMessages[statusCode] || 'Error'}`;
71
- // Generate error details (only in development)
72
- const isDev = process.env.NODE_ENV !== 'production';
73
- const errorDetails = isDev && error ? `
74
- <div class="error-details">
75
- <pre>${escapeHtml(error.stack || error.message)}</pre>
76
- </div>
77
- ` : '';
78
- // Create error content
79
- const content = `
80
- <div class="error-container">
81
- <h1>${statusCode}</h1>
82
- <h2>${escapeHtml(errorMessages[statusCode] || 'Error')}</h2>
83
- <p>${escapeHtml(message)}</p>
84
- ${errorDetails}
85
- <a href="/" class="home-link">Back to Home</a>
86
- </div>
87
- `;
88
- // Add error page styling
89
- const styles = [`<style>
90
- body {
91
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
92
- display: flex;
93
- justify-content: center;
94
- align-items: center;
95
- min-height: 100vh;
96
- margin: 0;
97
- background-color: #f7f7f7;
98
- color: #333;
99
- }
100
- .error-container {
101
- text-align: center;
102
- padding: 2rem;
103
- border-radius: 8px;
104
- background-color: white;
105
- box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
106
- max-width: 600px;
107
- width: 100%;
108
- }
109
- h1 {
110
- font-size: 6rem;
111
- margin: 0;
112
- color: #e74c3c;
113
- }
114
- h2 {
115
- margin-top: 0;
116
- margin-bottom: 1rem;
117
- color: #333;
118
- }
119
- .error-details {
120
- text-align: left;
121
- margin: 2rem 0;
122
- padding: 1rem;
123
- background-color: #f8f8f8;
124
- border-radius: 4px;
125
- overflow: auto;
126
- }
127
- pre {
128
- margin: 0;
129
- font-family: monospace;
130
- font-size: 0.85rem;
131
- white-space: pre-wrap;
132
- }
133
- .home-link {
134
- display: inline-block;
135
- margin-top: 1.5rem;
136
- padding: 0.75rem 1.5rem;
137
- background-color: #3498db;
138
- color: white;
139
- text-decoration: none;
140
- border-radius: 4px;
141
- transition: background-color 0.2s;
142
- }
143
- .home-link:hover {
144
- background-color: #2980b9;
145
- }
146
- </style>`];
147
- return generateDocument(content, {
148
- title,
149
- description: `Error ${statusCode}: ${errorMessages[statusCode] || 'Error'}`,
150
- bodyClasses: 'error-page',
151
- styles
152
- });
153
- }
154
- /**
155
- * Generate a loading page
156
- */
157
- export function generateLoadingPage(message = 'Loading...') {
158
- const content = `
159
- <div class="loading-container">
160
- <div class="spinner"></div>
161
- <p>${escapeHtml(message)}</p>
162
- </div>
163
- `;
164
- const styles = [`<style>
165
- body {
166
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
167
- display: flex;
168
- justify-content: center;
169
- align-items: center;
170
- min-height: 100vh;
171
- margin: 0;
172
- background-color: #f7f7f7;
173
- color: #333;
174
- }
175
- .loading-container {
176
- text-align: center;
177
- }
178
- .spinner {
179
- width: 50px;
180
- height: 50px;
181
- border: 5px solid rgba(0, 0, 0, 0.1);
182
- border-radius: 50%;
183
- border-top-color: #3498db;
184
- animation: spin 1s ease-in-out infinite;
185
- margin: 0 auto 20px;
186
- }
187
- @keyframes spin {
188
- to { transform: rotate(360deg); }
189
- }
190
- </style>`];
191
- return generateDocument(content, {
192
- title: 'Loading',
193
- bodyClasses: 'loading-page',
194
- styles
195
- });
196
- }
197
- /**
198
- * Escape HTML special characters
199
- */
200
- function escapeHtml(text) {
201
- return String(text)
202
- .replace(/&/g, '&amp;')
203
- .replace(/</g, '&lt;')
204
- .replace(/>/g, '&gt;')
205
- .replace(/"/g, '&quot;')
206
- .replace(/'/g, '&#039;');
207
- }
208
- //# sourceMappingURL=templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../../src/server/templates.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- export interface ServerConfig {
2
- port?: number;
3
- apiDir?: string;
4
- pagesDir?: string;
5
- staticDir?: string;
6
- enableCors?: boolean;
7
- corsOptions?: any;
8
- db?: {
9
- url: string;
10
- type: 'mongodb' | 'mysql' | 'postgres';
11
- };
12
- auth?: {
13
- secret: string;
14
- expiresIn?: string;
15
- };
16
- }
17
- export interface Server {
18
- start(): Promise<void>;
19
- stop(): Promise<void>;
20
- getExpressApp(): any;
21
- getDatabase(): any;
22
- getAuth(): any;
23
- }
24
- export interface User {
25
- id: string | number;
26
- username: string;
27
- password?: string;
28
- email?: string;
29
- roles?: string[];
30
- [key: string]: any;
31
- }
32
- export interface DbConfig {
33
- url: string;
34
- type: 'mongodb' | 'mysql' | 'postgres';
35
- }
36
- export interface MiddlewareFunction {
37
- (req: any, res: any, next: any): void | Promise<void>;
38
- }
@@ -1,4 +0,0 @@
1
- // Type definitions without actual implementation
2
- // These can be safely imported in any environment
3
- export {};
4
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/server/types.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,kDAAkD"}
@@ -1,70 +0,0 @@
1
- import { Request, Response } from 'express';
2
- /**
3
- * Utility functions for server-side operations
4
- */
5
- /**
6
- * Safely parse JSON with error handling
7
- */
8
- export declare function safeJsonParse<T>(json: string, fallback: T): T;
9
- /**
10
- * Generate a secure random token
11
- */
12
- export declare function generateToken(length?: number): string;
13
- /**
14
- * Hash a string using SHA-256
15
- */
16
- export declare function hashString(input: string, salt?: string): string;
17
- /**
18
- * Get pagination parameters from request
19
- */
20
- export declare function getPagination(req: Request): {
21
- page: number;
22
- limit: number;
23
- skip: number;
24
- };
25
- /**
26
- * Standard success response format
27
- */
28
- export declare function sendSuccess<T>(res: Response, data: T, message?: string): Response;
29
- /**
30
- * Standard error response format
31
- */
32
- export declare function sendError(res: Response, message?: string, statusCode?: number, errors?: any): Response;
33
- /**
34
- * Validate required fields in request body
35
- */
36
- export declare function validateFields(req: Request, requiredFields: string[]): {
37
- valid: boolean;
38
- missing: string[];
39
- };
40
- /**
41
- * Handle file upload validation
42
- */
43
- export declare function validateFileUpload(file: any, // Using 'any' to avoid the Express.Multer dependency
44
- options?: {
45
- maxSize?: number;
46
- allowedTypes?: string[];
47
- }): {
48
- valid: boolean;
49
- error?: string;
50
- };
51
- /**
52
- * Get server environment information
53
- */
54
- export declare function getEnvironmentInfo(): Record<string, any>;
55
- /**
56
- * Check if a directory is empty
57
- */
58
- export declare function isDirectoryEmpty(dirPath: string): Promise<boolean>;
59
- /**
60
- * Create directory if it doesn't exist
61
- */
62
- export declare function ensureDirectory(dirPath: string): Promise<void>;
63
- /**
64
- * Write JSON to file
65
- */
66
- export declare function writeJsonFile(filePath: string, data: any): Promise<void>;
67
- /**
68
- * Read JSON from file
69
- */
70
- export declare function readJsonFile<T>(filePath: string, defaultValue: T): Promise<T>;
@@ -1,156 +0,0 @@
1
- import crypto from 'crypto';
2
- import fs from 'fs/promises';
3
- import path from 'path';
4
- /**
5
- * Utility functions for server-side operations
6
- */
7
- /**
8
- * Safely parse JSON with error handling
9
- */
10
- export function safeJsonParse(json, fallback) {
11
- try {
12
- return JSON.parse(json);
13
- }
14
- catch (error) {
15
- return fallback;
16
- }
17
- }
18
- /**
19
- * Generate a secure random token
20
- */
21
- export function generateToken(length = 32) {
22
- return crypto.randomBytes(length).toString('hex');
23
- }
24
- /**
25
- * Hash a string using SHA-256
26
- */
27
- export function hashString(input, salt = '') {
28
- return crypto.createHash('sha256').update(input + salt).digest('hex');
29
- }
30
- /**
31
- * Get pagination parameters from request
32
- */
33
- export function getPagination(req) {
34
- const page = Math.max(1, parseInt(req.query.page) || 1);
35
- const limit = Math.max(1, Math.min(100, parseInt(req.query.limit) || 20));
36
- const skip = (page - 1) * limit;
37
- return { page, limit, skip };
38
- }
39
- /**
40
- * Standard success response format
41
- */
42
- export function sendSuccess(res, data, message = 'Success') {
43
- return res.json({
44
- success: true,
45
- message,
46
- data
47
- });
48
- }
49
- /**
50
- * Standard error response format
51
- */
52
- export function sendError(res, message = 'An error occurred', statusCode = 400, errors) {
53
- return res.status(statusCode).json({
54
- success: false,
55
- message,
56
- errors: errors || undefined
57
- });
58
- }
59
- /**
60
- * Validate required fields in request body
61
- */
62
- export function validateFields(req, requiredFields) {
63
- const missing = requiredFields.filter(field => {
64
- const value = req.body[field];
65
- return value === undefined || value === null || value === '';
66
- });
67
- return {
68
- valid: missing.length === 0,
69
- missing
70
- };
71
- }
72
- /**
73
- * Handle file upload validation
74
- */
75
- export function validateFileUpload(file, // Using 'any' to avoid the Express.Multer dependency
76
- options = {}) {
77
- if (!file) {
78
- return { valid: false, error: 'No file provided' };
79
- }
80
- // Check file size
81
- if (options.maxSize && file.size > options.maxSize) {
82
- return {
83
- valid: false,
84
- error: `File too large. Maximum size allowed is ${options.maxSize / 1024 / 1024}MB`
85
- };
86
- }
87
- // Check file type
88
- if (options.allowedTypes && options.allowedTypes.length > 0) {
89
- const fileType = file.mimetype;
90
- if (!options.allowedTypes.includes(fileType)) {
91
- return {
92
- valid: false,
93
- error: `Invalid file type. Allowed types: ${options.allowedTypes.join(', ')}`
94
- };
95
- }
96
- }
97
- return { valid: true };
98
- }
99
- /**
100
- * Get server environment information
101
- */
102
- export function getEnvironmentInfo() {
103
- return {
104
- nodeVersion: process.version,
105
- platform: process.platform,
106
- arch: process.arch,
107
- memory: process.memoryUsage(),
108
- uptime: process.uptime(),
109
- env: process.env.NODE_ENV || 'development'
110
- };
111
- }
112
- /**
113
- * Check if a directory is empty
114
- */
115
- export async function isDirectoryEmpty(dirPath) {
116
- try {
117
- const files = await fs.readdir(dirPath);
118
- return files.length === 0;
119
- }
120
- catch (error) {
121
- // Directory doesn't exist or can't be read
122
- return true;
123
- }
124
- }
125
- /**
126
- * Create directory if it doesn't exist
127
- */
128
- export async function ensureDirectory(dirPath) {
129
- try {
130
- await fs.access(dirPath);
131
- }
132
- catch (error) {
133
- // Directory doesn't exist, create it
134
- await fs.mkdir(dirPath, { recursive: true });
135
- }
136
- }
137
- /**
138
- * Write JSON to file
139
- */
140
- export async function writeJsonFile(filePath, data) {
141
- await ensureDirectory(path.dirname(filePath));
142
- await fs.writeFile(filePath, JSON.stringify(data, null, 2), 'utf8');
143
- }
144
- /**
145
- * Read JSON from file
146
- */
147
- export async function readJsonFile(filePath, defaultValue) {
148
- try {
149
- const data = await fs.readFile(filePath, 'utf8');
150
- return safeJsonParse(data, defaultValue);
151
- }
152
- catch (error) {
153
- return defaultValue;
154
- }
155
- }
156
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/server/utils.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { GoWasmInstance, GoWasmOptions } from '../wasm.js';
2
- /**
3
- * Initialize the Node.js environment for running Go WASM modules
4
- */
5
- export declare function initNodeWasm(): Promise<void>;
6
- /**
7
- * Load a Go WASM module from a file path for server-side usage
8
- */
9
- export declare function loadGoWasmFromFile(wasmFilePath: string, options?: GoWasmOptions): Promise<GoWasmInstance>;