baraqex 1.0.35 → 1.0.37

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 (78) hide show
  1. package/dist/browser.js +635 -0
  2. package/dist/browser.js.map +7 -0
  3. package/dist/browser.package.json +4 -0
  4. package/dist/index.js +2024 -33
  5. package/dist/index.js.map +7 -1
  6. package/dist/server/index.js +1357 -432
  7. package/dist/server/index.js.map +7 -1
  8. package/dist/server/package.json +4 -0
  9. package/dist/wasm.js +86 -104
  10. package/dist/wasm.js.map +7 -1
  11. package/package.json +102 -86
  12. package/templates/ssr-template/esbuild.config.js +28 -3
  13. package/templates/ssr-template/package-lock.json +74 -1035
  14. package/templates/ssr-template/package.json +1 -0
  15. package/templates/ssr-template/src/App.tsx +11 -11
  16. package/templates/ssr-template/src/client.tsx +3 -2
  17. package/dist/frontend/components/WasmLoader.d.ts +0 -1
  18. package/dist/frontend/components/WasmLoader.d.ts.map +0 -1
  19. package/dist/frontend/components/WasmLoader.js +0 -2
  20. package/dist/frontend/components/WasmLoader.js.map +0 -1
  21. package/dist/frontend/hooks/useWasm.d.ts +0 -1
  22. package/dist/frontend/hooks/useWasm.d.ts.map +0 -1
  23. package/dist/frontend/hooks/useWasm.js +0 -2
  24. package/dist/frontend/hooks/useWasm.js.map +0 -1
  25. package/dist/frontend/index.d.ts +0 -1
  26. package/dist/frontend/index.d.ts.map +0 -1
  27. package/dist/frontend/index.js +0 -2
  28. package/dist/frontend/index.js.map +0 -1
  29. package/dist/index.d.ts +0 -12
  30. package/dist/index.d.ts.map +0 -1
  31. package/dist/renderComponent.d.ts +0 -9
  32. package/dist/renderComponent.d.ts.map +0 -1
  33. package/dist/renderComponent.js +0 -39
  34. package/dist/renderComponent.js.map +0 -1
  35. package/dist/server/api-router.d.ts +0 -16
  36. package/dist/server/api-router.d.ts.map +0 -1
  37. package/dist/server/api-router.js +0 -121
  38. package/dist/server/api-router.js.map +0 -1
  39. package/dist/server/auth.d.ts +0 -33
  40. package/dist/server/auth.d.ts.map +0 -1
  41. package/dist/server/auth.js +0 -74
  42. package/dist/server/auth.js.map +0 -1
  43. package/dist/server/database.d.ts +0 -25
  44. package/dist/server/database.d.ts.map +0 -1
  45. package/dist/server/database.js +0 -109
  46. package/dist/server/database.js.map +0 -1
  47. package/dist/server/index.d.ts +0 -117
  48. package/dist/server/index.d.ts.map +0 -1
  49. package/dist/server/middleware.d.ts +0 -12
  50. package/dist/server/middleware.d.ts.map +0 -1
  51. package/dist/server/middleware.js +0 -46
  52. package/dist/server/middleware.js.map +0 -1
  53. package/dist/server/server.d.ts +0 -10
  54. package/dist/server/server.d.ts.map +0 -1
  55. package/dist/server/server.js +0 -81
  56. package/dist/server/server.js.map +0 -1
  57. package/dist/server/templates.d.ts +0 -31
  58. package/dist/server/templates.d.ts.map +0 -1
  59. package/dist/server/templates.js +0 -208
  60. package/dist/server/templates.js.map +0 -1
  61. package/dist/server/types.d.ts +0 -67
  62. package/dist/server/types.d.ts.map +0 -1
  63. package/dist/server/types.js +0 -2
  64. package/dist/server/types.js.map +0 -1
  65. package/dist/server/utils.d.ts +0 -71
  66. package/dist/server/utils.d.ts.map +0 -1
  67. package/dist/server/utils.js +0 -165
  68. package/dist/server/utils.js.map +0 -1
  69. package/dist/server/wasm.d.ts +0 -29
  70. package/dist/server/wasm.d.ts.map +0 -1
  71. package/dist/server/wasm.js +0 -208
  72. package/dist/server/wasm.js.map +0 -1
  73. package/dist/server-renderer.d.ts +0 -5
  74. package/dist/server-renderer.d.ts.map +0 -1
  75. package/dist/server-renderer.js +0 -27
  76. package/dist/server-renderer.js.map +0 -1
  77. package/dist/wasm.d.ts +0 -51
  78. package/dist/wasm.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,108 +1,124 @@
1
1
  {
2
2
  "name": "baraqex",
3
- "version": "1.0.35",
4
- "description": "A wrapper package for frontend-hamroun framework",
3
+ "version": "1.0.37",
4
+ "description": "A powerful full-stack framework built on top of frontend-hamroun",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
+ "module": "dist/index.js",
7
8
  "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.js"
14
+ },
15
+ "./browser": {
16
+ "types": "./dist/browser.d.ts",
17
+ "import": "./dist/browser.js"
18
+ },
19
+ "./server": {
20
+ "types": "./dist/server/index.d.ts",
21
+ "import": "./dist/server/index.js"
22
+ },
23
+ "./wasm": {
24
+ "types": "./dist/wasm.d.ts",
25
+ "import": "./dist/wasm.js"
26
+ }
27
+ },
28
+ "browser": {
29
+ "./dist/index.js": "./dist/browser.js",
30
+ "crypto": false,
31
+ "fs": false,
32
+ "path": false,
33
+ "http": false,
34
+ "https": false,
35
+ "express": false,
36
+ "cors": false,
37
+ "mongodb": false,
38
+ "mysql2": false,
39
+ "pg": false,
40
+ "bcryptjs": false,
41
+ "jsonwebtoken": false
42
+ },
43
+ "files": [
44
+ "dist/",
45
+ "templates/",
46
+ "bin/",
47
+ "README.md"
48
+ ],
49
+ "bin": {
50
+ "baraqex": "./bin/baraqex.js"
51
+ },
8
52
  "scripts": {
9
- "build": "tsc",
53
+ "build": "npm run clean && npm run build:types && npm run build:esm",
54
+ "build:types": "tsc --emitDeclarationOnly",
55
+ "build:esm": "node build.mjs",
56
+ "clean": "rimraf dist",
57
+ "test": "jest",
10
58
  "dev": "tsc --watch",
11
- "start": "node dist/index.js",
12
- "prepublishOnly": "npm run build",
13
- "test": "npm run build && node test-server.js",
14
- "test:server": "node test-server.js",
15
- "test:wasm": "node try/test-enhanced.js",
16
- "test:watch": "jest --watch",
17
- "test:coverage": "jest --coverage",
18
- "cli": "node ./bin/baraqex.js"
59
+ "prepublishOnly": "npm run build"
19
60
  },
20
61
  "keywords": [
21
- "frontend",
22
62
  "framework",
63
+ "frontend",
64
+ "backend",
65
+ "fullstack",
23
66
  "react",
24
- "typescript",
25
- "ssr"
67
+ "ssr",
68
+ "wasm",
69
+ "go"
26
70
  ],
27
- "author": "",
28
- "license": "ISC",
71
+ "author": "Mohamed X",
72
+ "license": "MIT",
29
73
  "dependencies": {
74
+ "frontend-hamroun": "^1.2.35"
75
+ },
76
+ "peerDependencies": {
77
+ "cors": "^2.8.5",
78
+ "express": "^4.18.0"
79
+ },
80
+ "peerDependenciesMeta": {
81
+ "express": {
82
+ "optional": true
83
+ },
84
+ "cors": {
85
+ "optional": true
86
+ },
87
+ "mongodb": {
88
+ "optional": true
89
+ },
90
+ "mysql2": {
91
+ "optional": true
92
+ },
93
+ "pg": {
94
+ "optional": true
95
+ },
96
+ "bcryptjs": {
97
+ "optional": true
98
+ },
99
+ "jsonwebtoken": {
100
+ "optional": true
101
+ }
102
+ },
103
+ "devDependencies": {
104
+ "@types/bcryptjs": "^2.4.6",
105
+ "@types/cors": "^2.8.18",
106
+ "@types/express": "^5.0.2",
107
+ "@types/jsonwebtoken": "^9.0.9",
108
+ "@types/node": "^20.0.0",
109
+ "@types/pg": "^8.15.4",
110
+ "esbuild": "^0.19.0",
111
+ "jest": "^29.0.0",
112
+ "rimraf": "^5.0.0",
113
+ "typescript": "^5.0.0"
114
+ },
115
+ "optionalDependencies": {
30
116
  "bcryptjs": "^2.4.3",
31
117
  "cors": "^2.8.5",
32
- "crypto": "^1.0.1",
33
118
  "express": "^4.18.0",
34
- "frontend-hamroun": "^1.2.35",
35
119
  "jsonwebtoken": "^9.0.0",
36
120
  "mongodb": "^6.0.0",
37
121
  "mysql2": "^3.6.0",
38
122
  "pg": "^8.11.0"
39
- },
40
- "devDependencies": {
41
- "@types/bcryptjs": "^2.4.0",
42
- "@types/cors": "^2.8.0",
43
- "@types/express": "^4.17.0",
44
- "@types/jest": "^29.5.0",
45
- "@types/jsonwebtoken": "^9.0.0",
46
- "@types/node": "^20.0.0",
47
- "@types/pg": "^8.10.0",
48
- "@types/supertest": "^2.0.12",
49
- "boxen": "^7.1.1",
50
- "chalk": "^5.3.0",
51
- "commander": "^11.1.0",
52
- "figlet": "^1.7.0",
53
- "fs-extra": "^11.1.1",
54
- "gradient-string": "^2.0.2",
55
- "inquirer": "^9.2.12",
56
- "jest": "^29.5.0",
57
- "nanospinner": "^1.2.2",
58
- "ora": "^7.0.1",
59
- "supertest": "^6.3.3",
60
- "terminal-link": "^3.0.0",
61
- "ts-jest": "^29.1.0",
62
- "typescript": "^5.0.0",
63
- "update-notifier": "^7.0.0",
64
- "crypto-browserify": "^3.12.0",
65
- "stream-browserify": "^3.0.0",
66
- "buffer": "^6.0.3",
67
- "process": "^0.11.10",
68
- "util": "^0.12.5",
69
- "vite": "^4.0.0",
70
- "esbuild": "^0.19.0",
71
- "memfs": "^4.0.0",
72
- "path-browserify": "^1.0.1",
73
- "events": "^3.3.0",
74
- "url": "^0.11.0",
75
- "querystring-es3": "^0.2.1",
76
- "stream-http": "^3.2.0",
77
- "https-browserify": "^1.0.0",
78
- "os-browserify": "^0.3.0",
79
- "assert": "^2.0.0",
80
- "timers-browserify": "^2.0.12",
81
- "browserify-zlib": "^0.2.0",
82
- "tty-browserify": "^0.0.1",
83
- "constants-browserify": "^1.0.0",
84
- "vm-browserify": "^1.1.2"
85
- },
86
- "files": [
87
- "dist/**/*",
88
- "bin/**/*",
89
- "templates/**/*"
90
- ],
91
- "bin": {
92
- "baraqex": "./bin/baraqex.js"
93
- },
94
- "exports": {
95
- ".": {
96
- "import": "./dist/index.js",
97
- "require": "./dist/index.cjs"
98
- },
99
- "./server": {
100
- "import": "./dist/server/index.js",
101
- "require": "./dist/server/index.cjs"
102
- },
103
- "./wasm": {
104
- "import": "./dist/wasm.js",
105
- "require": "./dist/wasm.cjs"
106
- }
107
123
  }
108
124
  }
@@ -1,6 +1,6 @@
1
1
  import { build } from 'esbuild';
2
2
 
3
- // Build client
3
+ // Build client - use browser-compatible baraqex
4
4
  await build({
5
5
  entryPoints: ['src/client.tsx'],
6
6
  bundle: true,
@@ -12,16 +12,41 @@ await build({
12
12
  jsxFactory: 'jsx',
13
13
  jsxFragment: 'Fragment',
14
14
  inject: ['./jsx-shim.js'],
15
+ external: [
16
+ // Exclude server dependencies from browser build
17
+ 'express',
18
+ 'cors',
19
+ 'mongodb',
20
+ 'mysql2',
21
+ 'pg',
22
+ 'bcryptjs',
23
+ 'jsonwebtoken',
24
+ 'crypto',
25
+ 'fs',
26
+ 'path',
27
+ 'http',
28
+ 'https'
29
+ ]
15
30
  });
16
31
 
17
- // Build server
32
+ // Build server - use full baraqex with server capabilities
18
33
  await build({
19
34
  entryPoints: ['src/server.ts'],
20
35
  bundle: true,
21
36
  outfile: 'dist/server.js',
22
37
  platform: 'node',
23
38
  format: 'esm',
24
- external: ['frontend-hamroun'],
39
+ external: [
40
+ 'baraqex',
41
+ 'frontend-hamroun',
42
+ 'express',
43
+ 'cors',
44
+ 'mongodb',
45
+ 'mysql2',
46
+ 'pg',
47
+ 'bcryptjs',
48
+ 'jsonwebtoken'
49
+ ],
25
50
  packages: 'external',
26
51
  minify: false,
27
52
  jsx: 'transform',