proteum 1.0.2 → 2.0.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/AGENTS.md +101 -0
  2. package/agents/codex/AGENTS.md +95 -0
  3. package/agents/codex/CODING_STYLE.md +71 -0
  4. package/agents/codex/agents.md.zip +0 -0
  5. package/agents/codex/client/AGENTS.md +102 -0
  6. package/agents/codex/client/pages/AGENTS.md +35 -0
  7. package/agents/codex/server/routes/AGENTS.md +12 -0
  8. package/agents/codex/server/services/AGENTS.md +137 -0
  9. package/agents/codex/tests/AGENTS.md +8 -0
  10. package/cli/app/config.ts +13 -11
  11. package/cli/app/index.ts +74 -82
  12. package/cli/bin.js +1 -1
  13. package/cli/commands/build.ts +51 -14
  14. package/cli/commands/check.ts +19 -0
  15. package/cli/commands/deploy/app.ts +4 -8
  16. package/cli/commands/deploy/web.ts +16 -20
  17. package/cli/commands/dev.ts +189 -64
  18. package/cli/commands/devEvents.ts +106 -0
  19. package/cli/commands/init.ts +63 -57
  20. package/cli/commands/lint.ts +21 -0
  21. package/cli/commands/refresh.ts +18 -0
  22. package/cli/commands/typecheck.ts +18 -0
  23. package/cli/compiler/client/identite.ts +80 -53
  24. package/cli/compiler/client/index.ts +139 -213
  25. package/cli/compiler/common/bundleAnalysis.ts +94 -0
  26. package/cli/compiler/common/clientManifest.ts +67 -0
  27. package/cli/compiler/common/controllers.ts +288 -0
  28. package/cli/compiler/common/files/autres.ts +7 -18
  29. package/cli/compiler/common/files/images.ts +40 -37
  30. package/cli/compiler/common/files/style.ts +11 -22
  31. package/cli/compiler/common/generatedRouteModules.ts +368 -0
  32. package/cli/compiler/common/index.ts +31 -65
  33. package/cli/compiler/common/loaders/forbid-ssr-import.js +13 -0
  34. package/cli/compiler/common/rspackAliases.ts +13 -0
  35. package/cli/compiler/common/scripts.ts +37 -0
  36. package/cli/compiler/index.ts +781 -230
  37. package/cli/compiler/server/index.ts +59 -75
  38. package/cli/compiler/writeIfChanged.ts +21 -0
  39. package/cli/index.ts +71 -72
  40. package/cli/paths.ts +51 -57
  41. package/cli/print.ts +17 -11
  42. package/cli/tsconfig.json +5 -4
  43. package/cli/utils/agents.ts +100 -0
  44. package/cli/utils/check.ts +71 -0
  45. package/cli/utils/index.ts +1 -3
  46. package/cli/utils/keyboard.ts +8 -25
  47. package/cli/utils/runProcess.ts +30 -0
  48. package/client/app/component.tsx +29 -29
  49. package/client/app/index.ts +36 -57
  50. package/client/app/service.ts +7 -12
  51. package/client/app.tsconfig.json +2 -2
  52. package/client/components/Dialog/Manager.ssr.tsx +40 -0
  53. package/client/components/Dialog/Manager.tsx +119 -150
  54. package/client/components/Dialog/status.tsx +3 -3
  55. package/client/components/index.ts +1 -1
  56. package/client/components/types.d.ts +1 -3
  57. package/client/dev/hmr.ts +65 -0
  58. package/client/global.d.ts +2 -2
  59. package/client/hooks.ts +6 -9
  60. package/client/index.ts +2 -1
  61. package/client/islands/index.ts +7 -0
  62. package/client/islands/useDeferredModule.ts +199 -0
  63. package/client/pages/_layout/index.tsx +4 -12
  64. package/client/pages/useHeader.tsx +14 -21
  65. package/client/router.ts +27 -0
  66. package/client/services/router/components/Link.tsx +34 -27
  67. package/client/services/router/components/Page.tsx +6 -14
  68. package/client/services/router/components/router.ssr.tsx +36 -0
  69. package/client/services/router/components/router.tsx +63 -83
  70. package/client/services/router/index.tsx +185 -220
  71. package/client/services/router/request/api.ts +97 -119
  72. package/client/services/router/request/history.ts +2 -2
  73. package/client/services/router/request/index.ts +13 -12
  74. package/client/services/router/request/multipart.ts +72 -62
  75. package/client/services/router/response/index.tsx +68 -61
  76. package/client/services/router/response/page.ts +28 -32
  77. package/client/utils/dom.ts +17 -33
  78. package/common/app/index.ts +3 -3
  79. package/common/data/chaines/index.ts +22 -23
  80. package/common/data/dates.ts +35 -70
  81. package/common/data/markdown.ts +42 -39
  82. package/common/dev/serverHotReload.ts +26 -0
  83. package/common/errors/index.tsx +110 -142
  84. package/common/router/contracts.ts +29 -0
  85. package/common/router/index.ts +89 -108
  86. package/common/router/layouts.ts +34 -47
  87. package/common/router/pageSetup.ts +50 -0
  88. package/common/router/register.ts +53 -24
  89. package/common/router/request/api.ts +30 -36
  90. package/common/router/request/index.ts +2 -8
  91. package/common/router/response/index.ts +8 -15
  92. package/common/router/response/page.ts +70 -58
  93. package/common/utils.ts +1 -1
  94. package/doc/TODO.md +1 -1
  95. package/eslint.js +62 -0
  96. package/package.json +14 -49
  97. package/prettier.config.cjs +9 -0
  98. package/scripts/cleanup-generated-controllers.ts +62 -0
  99. package/scripts/fix-reference-app-typing.ts +490 -0
  100. package/scripts/refactor-client-app-imports.ts +244 -0
  101. package/scripts/refactor-client-pages.ts +587 -0
  102. package/scripts/refactor-server-controllers.ts +470 -0
  103. package/scripts/refactor-server-runtime-aliases.ts +360 -0
  104. package/scripts/restore-client-app-import-files.ts +41 -0
  105. package/scripts/restore-files-from-git-head.ts +20 -0
  106. package/scripts/update-codex-agents.ts +35 -0
  107. package/server/app/commands.ts +35 -64
  108. package/server/app/container/config.ts +48 -59
  109. package/server/app/container/console/index.ts +202 -248
  110. package/server/app/container/index.ts +33 -71
  111. package/server/app/controller/index.ts +61 -0
  112. package/server/app/index.ts +39 -105
  113. package/server/app/service/container.ts +41 -42
  114. package/server/app/service/index.ts +120 -147
  115. package/server/context.ts +1 -1
  116. package/server/index.ts +25 -1
  117. package/server/services/auth/index.ts +75 -115
  118. package/server/services/auth/router/index.ts +31 -32
  119. package/server/services/auth/router/request.ts +14 -16
  120. package/server/services/cron/CronTask.ts +13 -26
  121. package/server/services/cron/index.ts +14 -36
  122. package/server/services/disks/driver.ts +40 -58
  123. package/server/services/disks/drivers/local/index.ts +79 -90
  124. package/server/services/disks/drivers/s3/index.ts +116 -163
  125. package/server/services/disks/index.ts +23 -38
  126. package/server/services/email/index.ts +45 -104
  127. package/server/services/email/utils.ts +14 -27
  128. package/server/services/fetch/index.ts +53 -85
  129. package/server/services/prisma/Facet.ts +39 -91
  130. package/server/services/prisma/index.ts +74 -110
  131. package/server/services/router/generatedRuntime.ts +29 -0
  132. package/server/services/router/http/index.ts +78 -73
  133. package/server/services/router/http/multipart.ts +19 -42
  134. package/server/services/router/index.ts +378 -365
  135. package/server/services/router/request/api.ts +26 -25
  136. package/server/services/router/request/index.ts +44 -51
  137. package/server/services/router/request/service.ts +7 -11
  138. package/server/services/router/request/validation/zod.ts +111 -148
  139. package/server/services/router/response/index.ts +110 -125
  140. package/server/services/router/response/mask/Filter.ts +31 -72
  141. package/server/services/router/response/mask/index.ts +8 -15
  142. package/server/services/router/response/mask/selecteurs.ts +11 -25
  143. package/server/services/router/response/page/clientManifest.ts +25 -0
  144. package/server/services/router/response/page/document.tsx +199 -127
  145. package/server/services/router/response/page/index.tsx +89 -94
  146. package/server/services/router/service.ts +13 -15
  147. package/server/services/schema/index.ts +17 -26
  148. package/server/services/schema/request.ts +19 -33
  149. package/server/services/schema/router/index.ts +8 -11
  150. package/server/services/security/encrypt/aes/index.ts +15 -35
  151. package/server/utils/slug.ts +29 -35
  152. package/skills/clean-project-code/SKILL.md +63 -0
  153. package/skills/clean-project-code/agents/openai.yaml +4 -0
  154. package/tsconfig.common.json +4 -3
  155. package/tsconfig.json +4 -1
  156. package/types/aliases.d.ts +17 -21
  157. package/types/controller-input.test.ts +48 -0
  158. package/types/express-extra.d.ts +6 -0
  159. package/types/global/constants.d.ts +13 -0
  160. package/types/global/express-extra.d.ts +6 -0
  161. package/types/global/modules.d.ts +13 -16
  162. package/types/global/utils.d.ts +17 -49
  163. package/types/global/vendors.d.ts +62 -0
  164. package/types/icons.d.ts +65 -1
  165. package/types/uuid.d.ts +3 -0
  166. package/types/vendors.d.ts +62 -0
  167. package/cli/compiler/common/babel/index.ts +0 -170
  168. package/cli/compiler/common/babel/plugins/index.ts +0 -0
  169. package/cli/compiler/common/babel/plugins/services.ts +0 -586
  170. package/cli/compiler/common/babel/routes/imports.ts +0 -127
  171. package/cli/compiler/common/babel/routes/routes.ts +0 -1130
  172. package/client/services/captcha/index.ts +0 -67
  173. package/client/services/socket/index.ts +0 -147
  174. package/common/data/rte/nodes.ts +0 -83
  175. package/common/data/stats.ts +0 -90
  176. package/common/utils/rte.ts +0 -183
  177. package/server/services/auth/old.ts +0 -277
  178. package/server/services/cache/commands.ts +0 -41
  179. package/server/services/cache/index.ts +0 -297
  180. package/server/services/cache/service.json +0 -6
  181. package/server/services/socket/index.ts +0 -162
  182. package/server/services/socket/scope.ts +0 -226
  183. package/server/services/socket/service.json +0 -6
  184. package/server/services_old/SocketClient.ts +0 -92
  185. package/server/services_old/Token.old.ts +0 -97
@@ -15,14 +15,15 @@ import yaml from 'yaml';
15
15
  import type { TDomainsList } from '@common/router';
16
16
  import type { TLogProfile } from './console';
17
17
 
18
+ declare const PROTEUM_ROUTER_PORT_OVERRIDE: number | null;
19
+
18
20
  /*----------------------------------
19
21
  - TYPES
20
22
  ----------------------------------*/
21
23
 
22
24
  declare global {
23
25
  namespace Config {
24
-
25
- type EnvName = TEnvConfig["name"];
26
+ type EnvName = TEnvConfig['name'];
26
27
 
27
28
  type Env = TEnvConfig;
28
29
  type Identity = AppIdentityConfig;
@@ -59,74 +60,60 @@ declare global {
59
60
  level: 'log'
60
61
  */
61
62
 
62
- export type TEnvName = TEnvConfig["name"];
63
+ export type TEnvName = TEnvConfig['name'];
63
64
  export type TEnvConfig = {
64
- name: 'local' | 'server',
65
- profile: 'dev' | 'testing' | 'prod',
66
-
67
- router: {
68
- port: number,
69
- domains: TDomainsList
70
- },
71
- console: {
72
- enable: boolean,
73
- debug: boolean,
74
- bufferLimit: number,
75
- level: TLogProfile,
76
- },
77
- }
78
-
79
- type AppIdentityConfig = {
65
+ name: 'local' | 'server';
66
+ profile: 'dev' | 'testing' | 'prod';
80
67
 
81
- name: string,
82
- identifier: string,
83
- description: string,
84
- author: {
85
- name: string,
86
- url: string,
87
- email: string
88
- },
68
+ router: { port: number; domains: TDomainsList };
69
+ console: { enable: boolean; debug: boolean; bufferLimit: number; level: TLogProfile };
70
+ };
89
71
 
90
- social: {
72
+ type AppIdentityConfig = {
73
+ name: string;
74
+ identifier: string;
75
+ description: string;
76
+ author: { name: string; url: string; email: string };
91
77
 
92
- },
78
+ social: {};
93
79
 
94
- locale: string
95
- language: string
96
- maincolor: string,
97
- iconsPack?: string,
80
+ locale: string;
81
+ language: string;
82
+ maincolor: string;
83
+ iconsPack?: string;
98
84
 
99
85
  web: {
100
- title: string,
101
- titleSuffix: string,
102
- fullTitle: string,
103
- description: string,
104
- version: string,
105
- metas?: {[name: string]: string},
106
- jsonld?: {[name: string]: string},
107
- }
108
- }
109
-
110
- export type AppConfig = {
111
- env: Config.Env,
112
- identity: Config.Identity,
113
- }
86
+ title: string;
87
+ titleSuffix: string;
88
+ fullTitle: string;
89
+ description: string;
90
+ version: string;
91
+ metas?: { [name: string]: string };
92
+ jsonld?: { [name: string]: string };
93
+ };
94
+ };
95
+
96
+ export type AppConfig = { env: Config.Env; identity: Config.Identity };
114
97
 
115
98
  const debug = false;
116
99
 
100
+ const getRouterPortOverride = () => {
101
+ if (typeof PROTEUM_ROUTER_PORT_OVERRIDE !== 'undefined' && PROTEUM_ROUTER_PORT_OVERRIDE !== null)
102
+ return PROTEUM_ROUTER_PORT_OVERRIDE;
103
+
104
+ return undefined;
105
+ };
106
+
117
107
  /*----------------------------------
118
108
  - LOADE
119
109
  ----------------------------------*/
120
110
  export default class ConfigParser {
121
-
122
111
  public constructor(
123
112
  public appDir: string,
124
- public envName?: string
125
- ) {
113
+ public envName?: string,
114
+ ) {}
126
115
 
127
- }
128
-
129
- private loadYaml( filepath: string ) {
116
+ private loadYaml(filepath: string) {
130
117
  debug && console.info(`Loading config ${filepath}`);
131
118
  const rawConfig = fs.readFileSync(filepath, 'utf-8');
132
119
  return yaml.parse(rawConfig);
@@ -135,19 +122,21 @@ export default class ConfigParser {
135
122
  public env(): TEnvConfig {
136
123
  // We assume that when we run 5htp dev, we're in local
137
124
  // Otherwise, we're in production environment (docker)
138
- console.log("[app] Using environment:", process.env.NODE_ENV);
125
+ console.log('[app] Using environment:', process.env.NODE_ENV);
139
126
  const envFileName = this.appDir + '/env.yaml';
140
- const envFile = this.loadYaml( envFileName );
127
+ const envFile = this.loadYaml(envFileName);
128
+ const routerPortOverride = getRouterPortOverride();
141
129
  return {
142
130
  ...envFile,
143
- version: BUILD_DATE
144
- }
131
+ router: routerPortOverride === undefined ? envFile.router : { ...envFile.router, port: routerPortOverride },
132
+ version: BUILD_DATE,
133
+ };
145
134
  }
146
135
 
147
136
  public identity() {
148
137
  const identityFile = this.appDir + '/identity.yaml';
149
138
  debug && console.info(`Loading identity ${identityFile}`);
150
- return this.loadYaml( identityFile );
139
+ return this.loadYaml(identityFile);
151
140
  }
152
141
  }
153
142
 
@@ -200,4 +189,4 @@ export default class ConfigParser {
200
189
  deepExtend(fileConfig, loadYaml(fullpath));
201
190
 
202
191
  }
203
- }*/
192
+ }*/