frontend-hamroun 1.2.79 → 1.2.82
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/LICENSE +21 -0
- package/README.md +129 -1513
- package/bin/cli.js +506 -145
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.client.cjs +2 -0
- package/dist/index.client.cjs.map +1 -0
- package/dist/index.client.js +26 -0
- package/dist/index.client.js.map +1 -0
- package/dist/index.js +299 -1
- package/dist/index.js.map +1 -0
- package/dist/jsx-runtime.cjs +2 -0
- package/dist/jsx-runtime.cjs.map +1 -0
- package/dist/jsx-runtime.js +93 -1
- package/dist/jsx-runtime.js.map +1 -0
- package/dist/renderer-Bo9zkUZ_.js +52 -0
- package/dist/renderer-Bo9zkUZ_.js.map +1 -0
- package/dist/renderer-Din1y3YM.cjs +2 -0
- package/dist/renderer-Din1y3YM.cjs.map +1 -0
- package/dist/server-renderer-CqIpQ-od.cjs +2 -0
- package/dist/server-renderer-CqIpQ-od.cjs.map +1 -0
- package/dist/server-renderer-QHt45Ip2.js +255 -0
- package/dist/server-renderer-QHt45Ip2.js.map +1 -0
- package/dist/server-renderer.cjs +2 -0
- package/dist/server-renderer.cjs.map +1 -0
- package/dist/server-renderer.js +5 -1
- package/dist/server-renderer.js.map +1 -0
- package/package.json +77 -120
- package/templates/basic-app/build.js +22 -0
- package/templates/basic-app/dev.js +27 -0
- package/templates/basic-app/esbuild.config.js +28 -0
- package/templates/basic-app/index.html +1 -1
- package/templates/basic-app/package.json +29 -28
- package/templates/basic-app/server.js +24 -0
- package/templates/basic-app/src/App.jsx +16 -0
- package/templates/basic-app/src/App.tsx +26 -0
- package/templates/basic-app/src/client.jsx +5 -0
- package/templates/basic-app/src/client.tsx +11 -0
- package/templates/basic-app/src/components/Counter.jsx +13 -0
- package/templates/basic-app/src/components/Counter.tsx +18 -0
- package/templates/basic-app/src/jsx-shim.js +3 -0
- package/templates/basic-app/src/jsx-shim.ts +11 -0
- package/templates/basic-app/src/main.jsx +98 -0
- package/templates/basic-app/src/main.tsx +0 -1
- package/templates/basic-app/src/server.js +47 -0
- package/templates/basic-app/src/server.ts +52 -0
- package/templates/basic-app/tsconfig.server.json +11 -0
- package/templates/complete-app/lib/frontend-hamroun.js +182 -0
- package/templates/complete-app/package.json +2 -1
- package/templates/complete-app/pages/about.jsx +0 -0
- package/templates/complete-app/pages/index.jsx +0 -0
- package/templates/complete-app/pages/wasm-demo.jsx +0 -0
- package/templates/complete-app/public/client.js +58 -49
- package/templates/complete-app/public/index.html +88 -17
- package/templates/complete-app/public/styles.css +30 -533
- package/templates/complete-app/server.js +31 -222
- package/templates/complete-app/wasm/build.bat +0 -0
- package/templates/complete-app/wasm/build.sh +0 -0
- package/templates/complete-app/wasm/example.go +0 -0
- package/templates/fullstack-app/build/main.js +130 -101
- package/templates/fullstack-app/build/main.js.map +4 -4
- package/templates/fullstack-app/package-lock.json +1773 -566
- package/templates/ssr-template/esbuild.config.js +33 -0
- package/templates/ssr-template/jsx-shim.js +1 -0
- package/templates/ssr-template/package.json +22 -16
- package/templates/ssr-template/src/App.tsx +12 -52
- package/templates/ssr-template/src/client.tsx +3 -17
- package/templates/ssr-template/src/server.ts +21 -204
- package/templates/ssr-template/tsconfig.json +10 -13
- package/templates/ssr-template/tsconfig.server.json +6 -14
- package/templates/wasm/build-wasm.js +228 -0
- package/templates/wasm/esbuild.config.js +63 -0
- package/templates/wasm/go/main.go +256 -0
- package/templates/wasm/go/wasm_exec.js +0 -0
- package/templates/wasm/index.html +97 -0
- package/templates/wasm/jsx-shim.js +9 -0
- package/templates/{go-wasm-app → wasm}/package-lock.json +5307 -3732
- package/templates/wasm/package.json +42 -0
- package/templates/wasm/public/example.wasm +0 -0
- package/templates/wasm/src/App.tsx +564 -0
- package/templates/wasm/src/client.tsx +220 -0
- package/templates/wasm/src/index.tsx +21 -0
- package/templates/wasm/src/server.ts +145 -0
- package/templates/wasm/tsconfig.json +21 -0
- package/templates/wasm/tsconfig.node.json +13 -0
- package/templates/wasm/tsconfig.server.json +23 -0
- package/templates/wasm/vite.config.ts +56 -0
- package/templates/wasm/wasm-loader.js +103 -0
- package/dist/batch/package.json +0 -16
- package/dist/client-router/package.json +0 -16
- package/dist/component/package.json +0 -16
- package/dist/context/package.json +0 -16
- package/dist/event-bus/package.json +0 -16
- package/dist/forms/package.json +0 -16
- package/dist/hooks/package.json +0 -16
- package/dist/hooks-0728361a.cjs +0 -1
- package/dist/hooks-b58f947c.js +0 -133
- package/dist/hooks.js +0 -1
- package/dist/hooks.mjs +0 -13
- package/dist/index.mjs +0 -137
- package/dist/jsx-runtime/package.json +0 -16
- package/dist/jsx-runtime.mjs +0 -64
- package/dist/lifecycle-events/package.json +0 -16
- package/dist/package.json +0 -71
- package/dist/render-component/package.json +0 -16
- package/dist/renderer/package.json +0 -16
- package/dist/renderer.js +0 -1
- package/dist/renderer.mjs +0 -27
- package/dist/router/package.json +0 -16
- package/dist/server/package.json +0 -17
- package/dist/server/src/batch.d.ts +0 -3
- package/dist/server/src/batch.js +0 -23
- package/dist/server/src/batch.js.map +0 -1
- package/dist/server/src/client-router.d.ts +0 -60
- package/dist/server/src/client-router.js +0 -210
- package/dist/server/src/client-router.js.map +0 -1
- package/dist/server/src/component.d.ts +0 -14
- package/dist/server/src/component.js +0 -106
- package/dist/server/src/component.js.map +0 -1
- package/dist/server/src/context.d.ts +0 -13
- package/dist/server/src/context.js +0 -21
- package/dist/server/src/context.js.map +0 -1
- package/dist/server/src/event-bus.d.ts +0 -23
- package/dist/server/src/event-bus.js +0 -75
- package/dist/server/src/event-bus.js.map +0 -1
- package/dist/server/src/forms.d.ts +0 -40
- package/dist/server/src/forms.js +0 -148
- package/dist/server/src/forms.js.map +0 -1
- package/dist/server/src/hooks.d.ts +0 -12
- package/dist/server/src/hooks.js +0 -170
- package/dist/server/src/hooks.js.map +0 -1
- package/dist/server/src/index.client.d.ts +0 -12
- package/dist/server/src/index.client.js +0 -14
- package/dist/server/src/index.client.js.map +0 -1
- package/dist/server/src/index.d.ts +0 -88
- package/dist/server/src/index.js +0 -79
- package/dist/server/src/index.js.map +0 -1
- package/dist/server/src/jsx-runtime/jsx-dev-runtime.d.ts +0 -1
- package/dist/server/src/jsx-runtime/jsx-dev-runtime.js +0 -2
- package/dist/server/src/jsx-runtime/jsx-dev-runtime.js.map +0 -1
- package/dist/server/src/jsx-runtime/jsx-runtime.d.ts +0 -4
- package/dist/server/src/jsx-runtime/jsx-runtime.js +0 -41
- package/dist/server/src/jsx-runtime/jsx-runtime.js.map +0 -1
- package/dist/server/src/jsx-runtime.d.ts +0 -20
- package/dist/server/src/jsx-runtime.js +0 -105
- package/dist/server/src/jsx-runtime.js.map +0 -1
- package/dist/server/src/lifecycle-events.d.ts +0 -108
- package/dist/server/src/lifecycle-events.js +0 -177
- package/dist/server/src/lifecycle-events.js.map +0 -1
- package/dist/server/src/renderComponent.d.ts +0 -13
- package/dist/server/src/renderComponent.js +0 -30
- package/dist/server/src/renderComponent.js.map +0 -1
- package/dist/server/src/renderer.d.ts +0 -2
- package/dist/server/src/renderer.js +0 -31
- package/dist/server/src/renderer.js.map +0 -1
- package/dist/server/src/router.d.ts +0 -55
- package/dist/server/src/router.js +0 -166
- package/dist/server/src/router.js.map +0 -1
- package/dist/server/src/server/api-router.d.ts +0 -15
- package/dist/server/src/server/api-router.js +0 -111
- package/dist/server/src/server/api-router.js.map +0 -1
- package/dist/server/src/server/auth.d.ts +0 -32
- package/dist/server/src/server/auth.js +0 -80
- package/dist/server/src/server/auth.js.map +0 -1
- package/dist/server/src/server/database.d.ts +0 -24
- package/dist/server/src/server/database.js +0 -135
- package/dist/server/src/server/database.js.map +0 -1
- package/dist/server/src/server/index.d.ts +0 -116
- package/dist/server/src/server/index.js +0 -508
- package/dist/server/src/server/index.js.map +0 -1
- package/dist/server/src/server/middleware.d.ts +0 -11
- package/dist/server/src/server/middleware.js +0 -46
- package/dist/server/src/server/middleware.js.map +0 -1
- package/dist/server/src/server/server.d.ts +0 -9
- package/dist/server/src/server/server.js +0 -87
- package/dist/server/src/server/server.js.map +0 -1
- package/dist/server/src/server/templates.d.ts +0 -30
- package/dist/server/src/server/templates.js +0 -208
- package/dist/server/src/server/templates.js.map +0 -1
- package/dist/server/src/server/types.d.ts +0 -38
- package/dist/server/src/server/types.js +0 -4
- package/dist/server/src/server/types.js.map +0 -1
- package/dist/server/src/server/utils.d.ts +0 -70
- package/dist/server/src/server/utils.js +0 -156
- package/dist/server/src/server/utils.js.map +0 -1
- package/dist/server/src/server/wasm.d.ts +0 -9
- package/dist/server/src/server/wasm.js +0 -117
- package/dist/server/src/server/wasm.js.map +0 -1
- package/dist/server/src/server-renderer.d.ts +0 -5
- package/dist/server/src/server-renderer.js +0 -106
- package/dist/server/src/server-renderer.js.map +0 -1
- package/dist/server/src/server-types.d.ts +0 -42
- package/dist/server/src/server-types.js +0 -6
- package/dist/server/src/server-types.js.map +0 -1
- package/dist/server/src/store.d.ts +0 -41
- package/dist/server/src/store.js +0 -99
- package/dist/server/src/store.js.map +0 -1
- package/dist/server/src/types.d.ts +0 -19
- package/dist/server/src/types.js +0 -2
- package/dist/server/src/types.js.map +0 -1
- package/dist/server/src/utils.d.ts +0 -46
- package/dist/server/src/utils.js +0 -144
- package/dist/server/src/utils.js.map +0 -1
- package/dist/server/src/vdom.d.ts +0 -8
- package/dist/server/src/vdom.js +0 -22
- package/dist/server/src/vdom.js.map +0 -1
- package/dist/server/src/wasm.d.ts +0 -36
- package/dist/server/src/wasm.js +0 -159
- package/dist/server/src/wasm.js.map +0 -1
- package/dist/server/tsconfig.server.tsbuildinfo +0 -1
- package/dist/server-renderer/package.json +0 -16
- package/dist/server-renderer.mjs +0 -64
- package/dist/store/package.json +0 -16
- package/dist/types/package.json +0 -16
- package/dist/utils/package.json +0 -16
- package/dist/vdom/package.json +0 -16
- package/dist/wasm/package.json +0 -16
- package/dist/wasm.js +0 -1
- package/dist/wasm.mjs +0 -103
- package/templates/basic-app/docs/rapport_pfe.aux +0 -27
- package/templates/basic-app/docs/rapport_pfe.log +0 -399
- package/templates/basic-app/docs/rapport_pfe.out +0 -10
- package/templates/basic-app/docs/rapport_pfe.pdf +0 -0
- package/templates/basic-app/docs/rapport_pfe.tex +0 -68
- package/templates/basic-app/docs/rapport_pfe.toc +0 -14
- package/templates/complete-app/package-lock.json +0 -2536
- package/templates/go-wasm-app/README.md +0 -38
- package/templates/go-wasm-app/babel.config.js +0 -21
- package/templates/go-wasm-app/build-client.js +0 -49
- package/templates/go-wasm-app/build-wasm.js +0 -237
- package/templates/go-wasm-app/build.config.js +0 -62
- package/templates/go-wasm-app/build.js +0 -218
- package/templates/go-wasm-app/package.json +0 -32
- package/templates/go-wasm-app/public/index.html +0 -128
- package/templates/go-wasm-app/public/styles.css +0 -197
- package/templates/go-wasm-app/public/wasm/example.wasm +0 -0
- package/templates/go-wasm-app/public/wasm/wasm_exec_node.js +0 -39
- package/templates/go-wasm-app/server.js +0 -70
- package/templates/go-wasm-app/src/App.jsx +0 -38
- package/templates/go-wasm-app/src/app.js +0 -173
- package/templates/go-wasm-app/src/client.js +0 -57
- package/templates/go-wasm-app/src/components/Footer.jsx +0 -13
- package/templates/go-wasm-app/src/components/Header.jsx +0 -19
- package/templates/go-wasm-app/src/components/WasmDemo.jsx +0 -120
- package/templates/go-wasm-app/src/main.jsx +0 -12
- package/templates/go-wasm-app/src/wasm/example.go +0 -75
- package/templates/go-wasm-app/tsconfig.server.json +0 -18
- package/templates/go-wasm-app/vite.config.js +0 -45
- package/templates/ssr-template/client.js +0 -58
- package/templates/ssr-template/package-lock.json +0 -2478
- package/templates/ssr-template/public/index.html +0 -47
- package/templates/ssr-template/readme.md +0 -188
- package/templates/ssr-template/server.js +0 -369
- package/templates/ssr-template/server.ts +0 -275
- package/templates/ssr-template/src/client.ts +0 -61
- package/templates/ssr-template/src/pages/index.tsx +0 -51
- package/templates/ssr-template/vite.config.js +0 -57
- /package/{dist/Counter.d.ts → templates/complete-app/api/hello.js} +0 -0
- /package/templates/{go-wasm-app/public/wasm → wasm/public}/wasm_exec.js +0 -0
@@ -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>;
|
@@ -1,117 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Server-side Go WASM integration for Node.js
|
3
|
-
*/
|
4
|
-
import fs from 'fs/promises';
|
5
|
-
import path from 'path';
|
6
|
-
import { fileURLToPath } from 'url';
|
7
|
-
// Global flag to ensure we only initialize WASM once
|
8
|
-
let initialized = false;
|
9
|
-
/**
|
10
|
-
* Initialize the Node.js environment for running Go WASM modules
|
11
|
-
*/
|
12
|
-
export async function initNodeWasm() {
|
13
|
-
if (initialized)
|
14
|
-
return;
|
15
|
-
try {
|
16
|
-
// Check if node requires WASM flags
|
17
|
-
const nodeVersion = process.version;
|
18
|
-
const majorVersion = parseInt(nodeVersion.slice(1).split('.')[0], 10);
|
19
|
-
// Node.js version check for WASM flags requirement
|
20
|
-
if (majorVersion < 16) {
|
21
|
-
console.warn('[WASM] Note: Node.js version < 16 detected. ' +
|
22
|
-
'You may need --experimental-wasm-bigint flag for Go WASM modules.');
|
23
|
-
}
|
24
|
-
// Global WASM environment setup for Node.js
|
25
|
-
globalThis.TextEncoder = globalThis.TextEncoder || TextEncoder;
|
26
|
-
globalThis.TextDecoder = globalThis.TextDecoder || TextDecoder;
|
27
|
-
// Mark as initialized
|
28
|
-
initialized = true;
|
29
|
-
}
|
30
|
-
catch (error) {
|
31
|
-
console.error('[WASM] Failed to initialize Node.js WASM environment:', error);
|
32
|
-
throw error;
|
33
|
-
}
|
34
|
-
}
|
35
|
-
/**
|
36
|
-
* Load a Go WASM module from a file path for server-side usage
|
37
|
-
*/
|
38
|
-
export async function loadGoWasmFromFile(wasmFilePath, options = {}) {
|
39
|
-
try {
|
40
|
-
// Initialize Node.js WASM environment
|
41
|
-
await initNodeWasm();
|
42
|
-
// Get __dirname equivalent in ESM
|
43
|
-
const __filename = fileURLToPath(import.meta.url);
|
44
|
-
const __dirname = path.dirname(__filename);
|
45
|
-
// Load Go runtime
|
46
|
-
const goRuntimePath = options.goWasmPath ||
|
47
|
-
path.join(__dirname, '..', '..', 'templates', 'go', 'wasm_exec_node.js');
|
48
|
-
// Import the Go runtime
|
49
|
-
const { Go } = await import(goRuntimePath);
|
50
|
-
const go = new Go();
|
51
|
-
// Load WASM binary
|
52
|
-
const wasmBuffer = await fs.readFile(wasmFilePath);
|
53
|
-
const wasmModule = await WebAssembly.compile(wasmBuffer);
|
54
|
-
// Create imports object
|
55
|
-
const finalImportObject = {
|
56
|
-
...go.importObject,
|
57
|
-
...options.importObject
|
58
|
-
};
|
59
|
-
// Instantiate the WASM module
|
60
|
-
const instance = await WebAssembly.instantiate(wasmModule, finalImportObject);
|
61
|
-
// Initialize Go runtime
|
62
|
-
go.run(instance);
|
63
|
-
// Extract exported functions
|
64
|
-
const exports = instance.exports;
|
65
|
-
const functions = {};
|
66
|
-
// Generate wrapper functions for all exports that are functions
|
67
|
-
for (const key in exports) {
|
68
|
-
if (typeof exports[key] === 'function') {
|
69
|
-
// Fix the type assertion
|
70
|
-
const exportedFunc = exports[key];
|
71
|
-
functions[key] = (...args) => exportedFunc(...args);
|
72
|
-
if (options.debug) {
|
73
|
-
const originalFn = functions[key];
|
74
|
-
functions[key] = (...args) => {
|
75
|
-
console.log(`[WASM] Calling ${key}(${args.join(', ')})`);
|
76
|
-
const result = originalFn(...args);
|
77
|
-
console.log(`[WASM] ${key} returned:`, result);
|
78
|
-
return result;
|
79
|
-
};
|
80
|
-
}
|
81
|
-
}
|
82
|
-
}
|
83
|
-
// Also capture global functions exported by Go
|
84
|
-
for (const key in global) {
|
85
|
-
if (key.startsWith('go') && typeof global[key] === 'function') {
|
86
|
-
// Fix the type assertion
|
87
|
-
const globalFunc = global[key];
|
88
|
-
functions[key] = (...args) => globalFunc(...args);
|
89
|
-
if (options.debug) {
|
90
|
-
const originalFn = functions[key];
|
91
|
-
functions[key] = (...args) => {
|
92
|
-
console.log(`[WASM] Calling global ${key}(${args.join(', ')})`);
|
93
|
-
const result = originalFn(...args);
|
94
|
-
console.log(`[WASM] ${key} returned:`, result);
|
95
|
-
return result;
|
96
|
-
};
|
97
|
-
}
|
98
|
-
}
|
99
|
-
}
|
100
|
-
const wasmInstance = {
|
101
|
-
instance,
|
102
|
-
module: wasmModule,
|
103
|
-
exports,
|
104
|
-
functions
|
105
|
-
};
|
106
|
-
// Run onLoad callback if provided
|
107
|
-
if (options.onLoad) {
|
108
|
-
options.onLoad(wasmInstance);
|
109
|
-
}
|
110
|
-
return wasmInstance;
|
111
|
-
}
|
112
|
-
catch (error) {
|
113
|
-
console.error('[WASM] Failed to load Go WASM module:', error);
|
114
|
-
throw error;
|
115
|
-
}
|
116
|
-
}
|
117
|
-
//# sourceMappingURL=wasm.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"wasm.js","sourceRoot":"","sources":["../../../../src/server/wasm.ts"],"names":[],"mappings":"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"}
|
@@ -1,106 +0,0 @@
|
|
1
|
-
import { prepareRender, finishRender } from './hooks';
|
2
|
-
/**
|
3
|
-
* Renders a virtual DOM tree to an HTML string
|
4
|
-
*/
|
5
|
-
export function renderToString(vnode) {
|
6
|
-
// Reset hook state for this render
|
7
|
-
prepareRender();
|
8
|
-
// Render the tree to HTML
|
9
|
-
const html = renderNodeToString(vnode);
|
10
|
-
// Clean up after rendering
|
11
|
-
finishRender();
|
12
|
-
return html;
|
13
|
-
}
|
14
|
-
/**
|
15
|
-
* Internal function to convert a virtual node to an HTML string
|
16
|
-
*/
|
17
|
-
function renderNodeToString(vnode) {
|
18
|
-
// Handle primitive values
|
19
|
-
if (vnode === null || vnode === undefined)
|
20
|
-
return '';
|
21
|
-
if (typeof vnode === 'boolean')
|
22
|
-
return '';
|
23
|
-
if (typeof vnode === 'number' || typeof vnode === 'string')
|
24
|
-
return escapeHtml(String(vnode));
|
25
|
-
// Handle function components
|
26
|
-
if (typeof vnode.type === 'function') {
|
27
|
-
const Component = vnode.type;
|
28
|
-
const renderedNode = Component(vnode.props || {});
|
29
|
-
return renderNodeToString(renderedNode);
|
30
|
-
}
|
31
|
-
// Handle intrinsic elements (regular HTML tags)
|
32
|
-
if (typeof vnode.type === 'string') {
|
33
|
-
const tag = vnode.type;
|
34
|
-
let attrs = '';
|
35
|
-
let children = '';
|
36
|
-
// Convert props to HTML attributes
|
37
|
-
if (vnode.props) {
|
38
|
-
for (const [key, value] of Object.entries(vnode.props)) {
|
39
|
-
// Skip children prop as we handle it separately
|
40
|
-
if (key === 'children')
|
41
|
-
continue;
|
42
|
-
// Skip event handlers (they start with 'on')
|
43
|
-
if (key.startsWith('on'))
|
44
|
-
continue;
|
45
|
-
// Handle the className prop specially
|
46
|
-
if (key === 'className') {
|
47
|
-
attrs += ` class="${escapeHtml(value)}"`;
|
48
|
-
continue;
|
49
|
-
}
|
50
|
-
// Handle other attributes
|
51
|
-
if (typeof value === 'string' || typeof value === 'number') {
|
52
|
-
attrs += ` ${key}="${escapeHtml(String(value))}"`;
|
53
|
-
}
|
54
|
-
else if (value === true) {
|
55
|
-
// Boolean attributes
|
56
|
-
attrs += ` ${key}`;
|
57
|
-
}
|
58
|
-
}
|
59
|
-
}
|
60
|
-
// Process children
|
61
|
-
const childrenArray = (vnode.props?.children)
|
62
|
-
? Array.isArray(vnode.props.children)
|
63
|
-
? vnode.props.children
|
64
|
-
: [vnode.props.children]
|
65
|
-
: [];
|
66
|
-
for (const child of childrenArray) {
|
67
|
-
children += renderNodeToString(child);
|
68
|
-
}
|
69
|
-
// Self-closing tags
|
70
|
-
const selfClosing = [
|
71
|
-
'area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input',
|
72
|
-
'link', 'meta', 'param', 'source', 'track', 'wbr'
|
73
|
-
];
|
74
|
-
if (selfClosing.includes(tag)) {
|
75
|
-
return `<${tag}${attrs}/>`;
|
76
|
-
}
|
77
|
-
// Regular tags with closing
|
78
|
-
return `<${tag}${attrs}>${children}</${tag}>`;
|
79
|
-
}
|
80
|
-
// Handle fragments
|
81
|
-
if (vnode.type === Symbol.for('react.fragment')) {
|
82
|
-
let fragmentOutput = '';
|
83
|
-
const children = Array.isArray(vnode.props?.children)
|
84
|
-
? vnode.props.children
|
85
|
-
: vnode.props?.children ? [vnode.props.children] : [];
|
86
|
-
for (const child of children) {
|
87
|
-
fragmentOutput += renderNodeToString(child);
|
88
|
-
}
|
89
|
-
return fragmentOutput;
|
90
|
-
}
|
91
|
-
// Fallback for unknown node types
|
92
|
-
console.warn('Unknown vnode type:', vnode.type);
|
93
|
-
return '';
|
94
|
-
}
|
95
|
-
/**
|
96
|
-
* Escape HTML special characters to prevent XSS
|
97
|
-
*/
|
98
|
-
function escapeHtml(text) {
|
99
|
-
return text
|
100
|
-
.replace(/&/g, '&')
|
101
|
-
.replace(/</g, '<')
|
102
|
-
.replace(/>/g, '>')
|
103
|
-
.replace(/"/g, '"')
|
104
|
-
.replace(/'/g, ''');
|
105
|
-
}
|
106
|
-
//# sourceMappingURL=server-renderer.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"server-renderer.js","sourceRoot":"","sources":["../../../src/server-renderer.ts"],"names":[],"mappings":"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"}
|
@@ -1,42 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Public type definitions for server functionality
|
3
|
-
* These types are safe to import in any environment
|
4
|
-
*/
|
5
|
-
export interface ServerConfig {
|
6
|
-
port?: number;
|
7
|
-
apiDir?: string;
|
8
|
-
pagesDir?: string;
|
9
|
-
staticDir?: string;
|
10
|
-
enableCors?: boolean;
|
11
|
-
corsOptions?: any;
|
12
|
-
db?: {
|
13
|
-
url: string;
|
14
|
-
type: 'mongodb' | 'mysql' | 'postgres';
|
15
|
-
};
|
16
|
-
auth?: {
|
17
|
-
secret: string;
|
18
|
-
expiresIn?: string;
|
19
|
-
};
|
20
|
-
}
|
21
|
-
export interface Server {
|
22
|
-
start(): Promise<void>;
|
23
|
-
stop(): Promise<void>;
|
24
|
-
getExpressApp(): any;
|
25
|
-
getDatabase(): any;
|
26
|
-
getAuth(): any;
|
27
|
-
}
|
28
|
-
export interface User {
|
29
|
-
id: string | number;
|
30
|
-
username: string;
|
31
|
-
password?: string;
|
32
|
-
email?: string;
|
33
|
-
roles?: string[];
|
34
|
-
[key: string]: any;
|
35
|
-
}
|
36
|
-
export interface DbConfig {
|
37
|
-
url: string;
|
38
|
-
type: 'mongodb' | 'mysql' | 'postgres';
|
39
|
-
}
|
40
|
-
export interface MiddlewareFunction {
|
41
|
-
(req: any, res: any, next: any): void | Promise<void>;
|
42
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"server-types.js","sourceRoot":"","sources":["../../../src/server-types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
|
@@ -1,41 +0,0 @@
|
|
1
|
-
export interface Action {
|
2
|
-
type: string;
|
3
|
-
payload?: any;
|
4
|
-
}
|
5
|
-
export type Reducer<S> = (state: S, action: Action) => S;
|
6
|
-
export type Selector<S, R> = (state: S) => R;
|
7
|
-
export type Dispatch = (action: Action) => void;
|
8
|
-
export type Middleware<S> = (store: Store<S>) => (next: Dispatch) => (action: Action) => void;
|
9
|
-
export interface Store<S> {
|
10
|
-
getState: () => S;
|
11
|
-
dispatch: Dispatch;
|
12
|
-
subscribe: (listener: () => void) => () => void;
|
13
|
-
}
|
14
|
-
export interface AsyncAction {
|
15
|
-
(dispatch: Dispatch, getState: () => any): Promise<void> | void;
|
16
|
-
}
|
17
|
-
export declare function createStore<S>(reducer: Reducer<S>, initialState: S, middlewares?: Middleware<S>[]): Store<S>;
|
18
|
-
export interface StoreContextType {
|
19
|
-
store: Store<any>;
|
20
|
-
state: any;
|
21
|
-
}
|
22
|
-
export declare const StoreContext: import("./context.js").Context<StoreContextType>;
|
23
|
-
export declare function StoreProvider<S>({ store, children }: {
|
24
|
-
store: Store<S>;
|
25
|
-
children: any;
|
26
|
-
}): any;
|
27
|
-
export declare function useSelector<S, R>(selector: Selector<S, R>): R;
|
28
|
-
export declare function useDispatch<S>(): Dispatch;
|
29
|
-
export declare function useStore<S>(): Store<S>;
|
30
|
-
export declare const logger: Middleware<any>;
|
31
|
-
export declare const thunk: Middleware<any>;
|
32
|
-
declare const _default: {
|
33
|
-
createStore: typeof createStore;
|
34
|
-
StoreProvider: typeof StoreProvider;
|
35
|
-
useSelector: typeof useSelector;
|
36
|
-
useDispatch: typeof useDispatch;
|
37
|
-
useStore: typeof useStore;
|
38
|
-
logger: Middleware<any>;
|
39
|
-
thunk: Middleware<any>;
|
40
|
-
};
|
41
|
-
export default _default;
|
package/dist/server/src/store.js
DELETED
@@ -1,99 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Global state management solution similar to Redux
|
3
|
-
*/
|
4
|
-
import { useState, useEffect } from './hooks';
|
5
|
-
import { createContext, useContext } from './context';
|
6
|
-
import { jsx } from './jsx-runtime';
|
7
|
-
export function createStore(reducer, initialState, middlewares = []) {
|
8
|
-
let state = initialState;
|
9
|
-
let listeners = [];
|
10
|
-
// Apply middlewares
|
11
|
-
let dispatch = (action) => {
|
12
|
-
state = reducer(state, action);
|
13
|
-
listeners.forEach(listener => listener());
|
14
|
-
return action;
|
15
|
-
};
|
16
|
-
// Chain middlewares
|
17
|
-
if (middlewares.length > 0) {
|
18
|
-
const middlewareAPI = {
|
19
|
-
getState: () => state,
|
20
|
-
dispatch: (action) => dispatch(action),
|
21
|
-
subscribe: (listener) => subscribe(listener)
|
22
|
-
};
|
23
|
-
const chain = middlewares.map(middleware => middleware(middlewareAPI));
|
24
|
-
dispatch = chain.reduce((a, b) => (next) => a(b(next)))(dispatch);
|
25
|
-
}
|
26
|
-
// Subscribe to store changes
|
27
|
-
function subscribe(listener) {
|
28
|
-
listeners.push(listener);
|
29
|
-
return function unsubscribe() {
|
30
|
-
listeners = listeners.filter(l => l !== listener);
|
31
|
-
};
|
32
|
-
}
|
33
|
-
// Initialize store with default state
|
34
|
-
dispatch({ type: '@@INIT' });
|
35
|
-
return {
|
36
|
-
getState: () => state,
|
37
|
-
dispatch,
|
38
|
-
subscribe
|
39
|
-
};
|
40
|
-
}
|
41
|
-
export const StoreContext = createContext({
|
42
|
-
store: {
|
43
|
-
getState: () => ({}),
|
44
|
-
dispatch: () => { },
|
45
|
-
subscribe: () => () => { }
|
46
|
-
},
|
47
|
-
state: {}
|
48
|
-
});
|
49
|
-
export function StoreProvider({ store, children }) {
|
50
|
-
const [state, setState] = useState(store.getState());
|
51
|
-
useEffect(() => {
|
52
|
-
const unsubscribe = store.subscribe(() => {
|
53
|
-
setState(store.getState());
|
54
|
-
});
|
55
|
-
return unsubscribe;
|
56
|
-
}, [store]);
|
57
|
-
return jsx(StoreContext.Provider, {
|
58
|
-
value: { store, state },
|
59
|
-
children
|
60
|
-
});
|
61
|
-
}
|
62
|
-
export function useSelector(selector) {
|
63
|
-
const context = useContext(StoreContext);
|
64
|
-
return selector(context.state);
|
65
|
-
}
|
66
|
-
export function useDispatch() {
|
67
|
-
const context = useContext(StoreContext);
|
68
|
-
return context.store.dispatch;
|
69
|
-
}
|
70
|
-
export function useStore() {
|
71
|
-
const context = useContext(StoreContext);
|
72
|
-
return context.store;
|
73
|
-
}
|
74
|
-
// Common middlewares
|
75
|
-
export const logger = (store) => (next) => (action) => {
|
76
|
-
console.group(action.type);
|
77
|
-
console.log('Previous state:', store.getState());
|
78
|
-
console.log('Action:', action);
|
79
|
-
const result = next(action);
|
80
|
-
console.log('Next state:', store.getState());
|
81
|
-
console.groupEnd();
|
82
|
-
return result;
|
83
|
-
};
|
84
|
-
export const thunk = (store) => (next) => (action) => {
|
85
|
-
if (typeof action === 'function') {
|
86
|
-
return action(store.dispatch, store.getState);
|
87
|
-
}
|
88
|
-
return next(action);
|
89
|
-
};
|
90
|
-
export default {
|
91
|
-
createStore,
|
92
|
-
StoreProvider,
|
93
|
-
useSelector,
|
94
|
-
useDispatch,
|
95
|
-
useStore,
|
96
|
-
logger,
|
97
|
-
thunk
|
98
|
-
};
|
99
|
-
//# sourceMappingURL=store.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/store.ts"],"names":[],"mappings":"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"}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
export type { Context } from './context.js';
|
2
|
-
export interface VNode {
|
3
|
-
type: string | Function;
|
4
|
-
props: Record<string, any>;
|
5
|
-
key?: string | number;
|
6
|
-
}
|
7
|
-
export type Component = (props: any) => any;
|
8
|
-
declare global {
|
9
|
-
namespace JSX {
|
10
|
-
interface Element {
|
11
|
-
type: string | Function;
|
12
|
-
props: Record<string, any>;
|
13
|
-
key?: string | number;
|
14
|
-
}
|
15
|
-
interface IntrinsicElements {
|
16
|
-
[elemName: string]: any;
|
17
|
-
}
|
18
|
-
}
|
19
|
-
}
|
package/dist/server/src/types.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":""}
|
@@ -1,46 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Common utility functions for the framework
|
3
|
-
*/
|
4
|
-
export interface DebouncedFunction<T extends (...args: any[]) => any> {
|
5
|
-
(...args: Parameters<T>): void;
|
6
|
-
cancel: () => void;
|
7
|
-
}
|
8
|
-
/**
|
9
|
-
* Creates a debounced function that delays invoking the provided function
|
10
|
-
* until after the specified wait time has elapsed since the last time it was invoked.
|
11
|
-
*/
|
12
|
-
export declare function debounce<T extends (...args: any[]) => any>(func: T, wait: number): DebouncedFunction<T>;
|
13
|
-
export interface ThrottledFunction<T extends (...args: any[]) => any> {
|
14
|
-
(...args: Parameters<T>): void;
|
15
|
-
cancel: () => void;
|
16
|
-
}
|
17
|
-
/**
|
18
|
-
* Creates a throttled function that only invokes the provided function
|
19
|
-
* at most once per every wait milliseconds.
|
20
|
-
*/
|
21
|
-
export declare function throttle<T extends (...args: any[]) => any>(func: T, wait: number): ThrottledFunction<T>;
|
22
|
-
/**
|
23
|
-
* Deep clones an object by using JSON serialization
|
24
|
-
*/
|
25
|
-
export declare function deepClone<T>(obj: T): T;
|
26
|
-
/**
|
27
|
-
* Creates a memoized version of a function that caches results based on arguments
|
28
|
-
*/
|
29
|
-
export declare function memoize<T extends (...args: any[]) => any>(func: T): T;
|
30
|
-
/**
|
31
|
-
* Creates a UUID v4 string
|
32
|
-
*/
|
33
|
-
export declare function uuid(): string;
|
34
|
-
/**
|
35
|
-
* Formats a date according to the specified format
|
36
|
-
*/
|
37
|
-
export declare function formatDate(date: Date, format: string): string;
|
38
|
-
declare const _default: {
|
39
|
-
debounce: typeof debounce;
|
40
|
-
throttle: typeof throttle;
|
41
|
-
deepClone: typeof deepClone;
|
42
|
-
memoize: typeof memoize;
|
43
|
-
uuid: typeof uuid;
|
44
|
-
formatDate: typeof formatDate;
|
45
|
-
};
|
46
|
-
export default _default;
|