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.
- package/LICENSE +21 -0
- package/README.md +129 -1513
- package/bin/cli.js +505 -144
- 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 +298 -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/bun.lock +196 -0
- package/templates/basic-app/dev.js +27 -0
- package/templates/basic-app/docs/rapport_pfe.aux +27 -27
- package/templates/basic-app/docs/rapport_pfe.out +10 -10
- package/templates/basic-app/docs/rapport_pfe.toc +14 -14
- package/templates/basic-app/esbuild.config.js +28 -0
- package/templates/basic-app/index.html +1 -1
- package/templates/{fullstack-app → basic-app}/package-lock.json +4185 -5094
- package/templates/basic-app/package.json +29 -28
- package/templates/basic-app/server.js +24 -0
- package/templates/basic-app/src/App.tsx +26 -0
- package/templates/basic-app/src/client.tsx +11 -0
- package/templates/basic-app/src/components/Counter.tsx +18 -0
- package/templates/basic-app/src/jsx-shim.ts +4 -0
- package/templates/basic-app/src/main.tsx +0 -1
- package/templates/basic-app/src/server.ts +52 -0
- package/templates/basic-app/tsconfig.server.json +11 -0
- package/templates/fullstack-app/build/main.css +874 -874
- package/templates/fullstack-app/build/main.css.map +7 -7
- package/templates/fullstack-app/build/main.js +967 -967
- package/templates/fullstack-app/build/main.js.map +7 -7
- package/templates/fullstack-app/public/styles.css +768 -768
- package/templates/go/example.go +99 -154
- package/templates/go-wasm-app/babel.config.js +2 -8
- package/templates/go-wasm-app/package.json +12 -21
- package/templates/go-wasm-app/public/wasm/wasm_exec.js +561 -561
- package/templates/go-wasm-app/public/wasm/wasm_exec_node.js +39 -39
- package/templates/go-wasm-app/server.js +510 -59
- package/templates/go-wasm-app/src/app.js +2 -22
- package/templates/go-wasm-app/src/wasm/example.go +75 -75
- package/templates/go-wasm-app/vite.config.js +5 -16
- package/templates/ssr-template/server.js +2 -2
- package/templates/ssr-template/vite.config.js +5 -16
- package/dist/Counter.d.ts +0 -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.log +0 -399
- package/templates/complete-app/client.js +0 -58
- package/templates/complete-app/package-lock.json +0 -2536
- package/templates/complete-app/package.json +0 -17
- package/templates/complete-app/pages/about.js +0 -119
- package/templates/complete-app/pages/index.js +0 -157
- package/templates/complete-app/pages/wasm-demo.js +0 -290
- package/templates/complete-app/public/client.js +0 -80
- package/templates/complete-app/public/index.html +0 -47
- package/templates/complete-app/public/styles.css +0 -579
- package/templates/complete-app/readme.md +0 -188
- package/templates/complete-app/server.js +0 -417
- package/templates/complete-app/server.ts +0 -275
- package/templates/complete-app/src/App.tsx +0 -59
- package/templates/complete-app/src/client.ts +0 -61
- package/templates/complete-app/src/client.tsx +0 -18
- package/templates/complete-app/src/pages/index.tsx +0 -51
- package/templates/complete-app/src/server.ts +0 -218
- package/templates/complete-app/tsconfig.json +0 -22
- package/templates/complete-app/tsconfig.server.json +0 -19
- package/templates/complete-app/vite.config.js +0 -57
- package/templates/complete-app/vite.config.ts +0 -30
- 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-lock.json +0 -3732
@@ -1,28 +1,29 @@
|
|
1
|
-
{
|
2
|
-
"name": "
|
3
|
-
"private": true,
|
4
|
-
"version": "0.0.0",
|
5
|
-
"type": "module",
|
6
|
-
"scripts": {
|
7
|
-
"dev": "vite",
|
8
|
-
"build": "tsc && vite build",
|
9
|
-
"preview": "vite preview",
|
10
|
-
"lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
11
|
-
"lint:fix": "eslint src --ext ts,tsx --fix"
|
12
|
-
},
|
13
|
-
"dependencies": {
|
14
|
-
"frontend-hamroun": "latest"
|
15
|
-
},
|
16
|
-
"devDependencies": {
|
17
|
-
"
|
18
|
-
"
|
19
|
-
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
20
|
-
"@typescript-eslint/parser": "^6.0.0",
|
21
|
-
"
|
22
|
-
"eslint
|
23
|
-
"eslint-plugin-react-
|
24
|
-
"
|
25
|
-
"
|
26
|
-
"
|
27
|
-
|
28
|
-
}
|
1
|
+
{
|
2
|
+
"name": "create",
|
3
|
+
"private": true,
|
4
|
+
"version": "0.0.0",
|
5
|
+
"type": "module",
|
6
|
+
"scripts": {
|
7
|
+
"dev": "vite",
|
8
|
+
"build": "tsc && vite build",
|
9
|
+
"preview": "vite preview",
|
10
|
+
"lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
11
|
+
"lint:fix": "eslint src --ext ts,tsx --fix"
|
12
|
+
},
|
13
|
+
"dependencies": {
|
14
|
+
"frontend-hamroun": "latest"
|
15
|
+
},
|
16
|
+
"devDependencies": {
|
17
|
+
"@types/express": "^4.17.17",
|
18
|
+
"@types/node": "^20.5.0",
|
19
|
+
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
20
|
+
"@typescript-eslint/parser": "^6.0.0",
|
21
|
+
"autoprefixer": "^10.4.16",
|
22
|
+
"eslint": "^8.45.0",
|
23
|
+
"eslint-plugin-react-hooks": "^4.6.0",
|
24
|
+
"eslint-plugin-react-refresh": "^0.4.3",
|
25
|
+
"tailwindcss": "^3.4.17",
|
26
|
+
"typescript": "^5.0.0",
|
27
|
+
"vite": "^4.4.9"
|
28
|
+
}
|
29
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { spawn } from 'child_process';
|
2
|
+
import sirv from 'sirv';
|
3
|
+
import http from 'http';
|
4
|
+
|
5
|
+
// Start esbuild in watch mode
|
6
|
+
const esbuild = spawn('node', ['esbuild.config.js', '--watch'], {
|
7
|
+
stdio: 'inherit'
|
8
|
+
});
|
9
|
+
|
10
|
+
// Create simple static server
|
11
|
+
const serve = sirv('.', {
|
12
|
+
dev: true,
|
13
|
+
single: true
|
14
|
+
});
|
15
|
+
|
16
|
+
const server = http.createServer(serve);
|
17
|
+
server.listen(3000);
|
18
|
+
console.log('Server running at http://localhost:3000');
|
19
|
+
|
20
|
+
process.on('SIGTERM', () => {
|
21
|
+
esbuild.kill();
|
22
|
+
server.close();
|
23
|
+
process.exit();
|
24
|
+
});
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { useState } from 'frontend-hamroun';
|
2
|
+
|
3
|
+
export function App() {
|
4
|
+
// Initialize with a default state that works on both server and client
|
5
|
+
const [count, setCount] = useState(0);
|
6
|
+
|
7
|
+
return (
|
8
|
+
<div>
|
9
|
+
<h1>Server-Side Rendered App</h1>
|
10
|
+
<div>
|
11
|
+
<button
|
12
|
+
onClick={() => setCount(count - 1)}
|
13
|
+
data-action="decrement"
|
14
|
+
>-</button>
|
15
|
+
<span style={{ margin: '0 10px' }}>{count}</span>
|
16
|
+
<button
|
17
|
+
onClick={() => setCount(count + 1)}
|
18
|
+
data-action="increment"
|
19
|
+
>+</button>
|
20
|
+
</div>
|
21
|
+
<script dangerouslySetInnerHTML={{
|
22
|
+
__html: `window.__INITIAL_STATE__ = ${JSON.stringify({ count: 0 })};`
|
23
|
+
}} />
|
24
|
+
</div>
|
25
|
+
);
|
26
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { useState, useEffect } from 'frontend-hamroun';
|
2
|
+
|
3
|
+
export function Counter({ initial = 0 }) {
|
4
|
+
const [count, setCount] = useState(initial);
|
5
|
+
|
6
|
+
useEffect(() => {
|
7
|
+
document.title = `Count: ${count}`;
|
8
|
+
}, [count]);
|
9
|
+
|
10
|
+
return (
|
11
|
+
<div>
|
12
|
+
<h2>Counter Component</h2>
|
13
|
+
<button onClick={() => setCount(count - 1)}>-</button>
|
14
|
+
<span style={{ margin: '0 10px' }}>{count}</span>
|
15
|
+
<button onClick={() => setCount(count + 1)}>+</button>
|
16
|
+
</div>
|
17
|
+
);
|
18
|
+
}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import express from 'express';
|
2
|
+
import path from 'path';
|
3
|
+
import { fileURLToPath } from 'url';
|
4
|
+
import { renderToString, jsx } from 'frontend-hamroun';
|
5
|
+
import { App } from './App.js';
|
6
|
+
import fs from 'fs';
|
7
|
+
|
8
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
9
|
+
const app = express();
|
10
|
+
const port = 3000;
|
11
|
+
|
12
|
+
// Find the client entry file
|
13
|
+
function getClientEntry(): string {
|
14
|
+
const assetsDir = path.join(__dirname, './');
|
15
|
+
const files = fs.readdirSync(assetsDir);
|
16
|
+
const entry = files.find(file => file.startsWith("client") && file.endsWith('.js'));
|
17
|
+
if (!entry) {
|
18
|
+
throw new Error('Client entry file not found');
|
19
|
+
}
|
20
|
+
return entry;
|
21
|
+
}
|
22
|
+
|
23
|
+
// Static file serving
|
24
|
+
app.use('/assets', express.static(path.join(__dirname, './')));
|
25
|
+
app.use(express.static(path.join(__dirname, 'dist')));
|
26
|
+
|
27
|
+
// Main route handler
|
28
|
+
app.get('/', async (_req: express.Request, res: express.Response) => {
|
29
|
+
try {
|
30
|
+
const clientEntry = getClientEntry();
|
31
|
+
const html = await renderToString({
|
32
|
+
element: jsx(App, null),
|
33
|
+
title: 'SSR App',
|
34
|
+
scripts: [`/assets/${clientEntry}`],
|
35
|
+
initialState: {
|
36
|
+
// Add any initial state here
|
37
|
+
},
|
38
|
+
meta: {
|
39
|
+
'viewport': 'width=device-width, initial-scale=1.0',
|
40
|
+
}
|
41
|
+
});
|
42
|
+
|
43
|
+
res.send(html);
|
44
|
+
} catch (error) {
|
45
|
+
console.error('Rendering error:', error);
|
46
|
+
res.status(500).send('Server Error');
|
47
|
+
}
|
48
|
+
});
|
49
|
+
|
50
|
+
app.listen(port, () => {
|
51
|
+
console.log(`Server running at http://localhost:${port}`);
|
52
|
+
});
|