proteum 1.0.3 → 2.0.0

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 (184) hide show
  1. package/AGENTS.md +92 -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 +12 -17
  11. package/cli/app/index.ts +59 -99
  12. package/cli/bin.js +1 -1
  13. package/cli/commands/build.ts +23 -12
  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 +185 -75
  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 +6 -6
  22. package/cli/commands/typecheck.ts +18 -0
  23. package/cli/compiler/client/identite.ts +79 -49
  24. package/cli/compiler/client/index.ts +132 -214
  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 +12 -25
  31. package/cli/compiler/common/generatedRouteModules.ts +368 -0
  32. package/cli/compiler/common/index.ts +29 -68
  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 +764 -234
  37. package/cli/compiler/server/index.ts +52 -77
  38. package/cli/compiler/writeIfChanged.ts +21 -0
  39. package/cli/index.ts +65 -90
  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/eslint.js +62 -0
  95. package/package.json +12 -45
  96. package/prettier.config.cjs +9 -0
  97. package/scripts/cleanup-generated-controllers.ts +62 -0
  98. package/scripts/fix-reference-app-typing.ts +490 -0
  99. package/scripts/refactor-client-app-imports.ts +244 -0
  100. package/scripts/refactor-client-pages.ts +587 -0
  101. package/scripts/refactor-server-controllers.ts +470 -0
  102. package/scripts/refactor-server-runtime-aliases.ts +360 -0
  103. package/scripts/restore-client-app-import-files.ts +41 -0
  104. package/scripts/restore-files-from-git-head.ts +20 -0
  105. package/scripts/update-codex-agents.ts +35 -0
  106. package/server/app/commands.ts +35 -64
  107. package/server/app/container/config.ts +39 -69
  108. package/server/app/container/console/index.ts +202 -248
  109. package/server/app/container/index.ts +33 -71
  110. package/server/app/controller/index.ts +61 -0
  111. package/server/app/index.ts +39 -105
  112. package/server/app/service/container.ts +41 -42
  113. package/server/app/service/index.ts +120 -147
  114. package/server/context.ts +1 -1
  115. package/server/index.ts +25 -1
  116. package/server/services/auth/index.ts +75 -115
  117. package/server/services/auth/router/index.ts +31 -32
  118. package/server/services/auth/router/request.ts +14 -16
  119. package/server/services/cron/CronTask.ts +13 -26
  120. package/server/services/cron/index.ts +14 -36
  121. package/server/services/disks/driver.ts +40 -58
  122. package/server/services/disks/drivers/local/index.ts +79 -90
  123. package/server/services/disks/drivers/s3/index.ts +116 -163
  124. package/server/services/disks/index.ts +23 -38
  125. package/server/services/email/index.ts +45 -104
  126. package/server/services/email/utils.ts +14 -27
  127. package/server/services/fetch/index.ts +53 -85
  128. package/server/services/prisma/Facet.ts +39 -91
  129. package/server/services/prisma/index.ts +74 -110
  130. package/server/services/router/generatedRuntime.ts +29 -0
  131. package/server/services/router/http/index.ts +77 -72
  132. package/server/services/router/http/multipart.ts +19 -42
  133. package/server/services/router/index.ts +378 -365
  134. package/server/services/router/request/api.ts +26 -25
  135. package/server/services/router/request/index.ts +44 -51
  136. package/server/services/router/request/service.ts +7 -11
  137. package/server/services/router/request/validation/zod.ts +111 -148
  138. package/server/services/router/response/index.ts +110 -125
  139. package/server/services/router/response/mask/Filter.ts +31 -72
  140. package/server/services/router/response/mask/index.ts +8 -15
  141. package/server/services/router/response/mask/selecteurs.ts +11 -25
  142. package/server/services/router/response/page/clientManifest.ts +25 -0
  143. package/server/services/router/response/page/document.tsx +199 -127
  144. package/server/services/router/response/page/index.tsx +89 -94
  145. package/server/services/router/service.ts +13 -15
  146. package/server/services/schema/index.ts +17 -26
  147. package/server/services/schema/request.ts +19 -33
  148. package/server/services/schema/router/index.ts +8 -11
  149. package/server/services/security/encrypt/aes/index.ts +15 -35
  150. package/server/utils/slug.ts +29 -32
  151. package/skills/clean-project-code/SKILL.md +63 -0
  152. package/skills/clean-project-code/agents/openai.yaml +4 -0
  153. package/tsconfig.common.json +4 -3
  154. package/tsconfig.json +4 -1
  155. package/types/aliases.d.ts +17 -21
  156. package/types/controller-input.test.ts +48 -0
  157. package/types/express-extra.d.ts +6 -0
  158. package/types/global/constants.d.ts +1 -0
  159. package/types/global/express-extra.d.ts +6 -0
  160. package/types/global/modules.d.ts +13 -16
  161. package/types/global/utils.d.ts +17 -49
  162. package/types/global/vendors.d.ts +62 -0
  163. package/types/icons.d.ts +65 -1
  164. package/types/uuid.d.ts +3 -0
  165. package/types/vendors.d.ts +62 -0
  166. package/cli/compiler/common/babel/index.ts +0 -173
  167. package/cli/compiler/common/babel/plugins/index.ts +0 -0
  168. package/cli/compiler/common/babel/plugins/services.ts +0 -586
  169. package/cli/compiler/common/babel/routes/imports.ts +0 -127
  170. package/cli/compiler/common/babel/routes/routes.ts +0 -1170
  171. package/client/services/captcha/index.ts +0 -67
  172. package/client/services/socket/index.ts +0 -147
  173. package/common/data/rte/nodes.ts +0 -83
  174. package/common/data/stats.ts +0 -90
  175. package/common/utils/rte.ts +0 -183
  176. package/server/services/auth/old.ts +0 -277
  177. package/server/services/cache/commands.ts +0 -41
  178. package/server/services/cache/index.ts +0 -297
  179. package/server/services/cache/service.json +0 -6
  180. package/server/services/socket/index.ts +0 -162
  181. package/server/services/socket/scope.ts +0 -226
  182. package/server/services/socket/service.json +0 -6
  183. package/server/services_old/SocketClient.ts +0 -92
  184. package/server/services_old/Token.old.ts +0 -97
@@ -0,0 +1,62 @@
1
+ declare module 'accepts' {
2
+ const accepts: any;
3
+ export default accepts;
4
+ }
5
+
6
+ declare module 'bytes' {
7
+ const bytes: (value: string | number) => number;
8
+ export default bytes;
9
+ }
10
+
11
+ declare module 'compression' {
12
+ const compression: any;
13
+ export default compression;
14
+ }
15
+
16
+ declare module 'cookie-parser' {
17
+ const cookieParser: any;
18
+ export default cookieParser;
19
+ }
20
+
21
+ declare module 'cors' {
22
+ export type CorsOptions = any;
23
+ const cors: any;
24
+ export default cors;
25
+ }
26
+
27
+ declare module 'escape-html' {
28
+ export default function escapeHtml(value: string): string;
29
+ }
30
+
31
+ declare module 'escape-regexp' {
32
+ export default function escapeRegexp(value: string): string;
33
+ }
34
+
35
+ declare module 'express-fileupload' {
36
+ const fileUpload: any;
37
+ export default fileUpload;
38
+ }
39
+
40
+ declare module 'hpp' {
41
+ const hpp: any;
42
+ export default hpp;
43
+ }
44
+
45
+ declare module 'jsonwebtoken' {
46
+ const jwt: any;
47
+ export default jwt;
48
+ }
49
+
50
+ declare module 'md5' {
51
+ export default function md5(value: string): string;
52
+ }
53
+
54
+ declare module 'morgan' {
55
+ const morgan: any;
56
+ export default morgan;
57
+ }
58
+
59
+ declare module 'stopword' {
60
+ export const eng: string[];
61
+ export function removeStopwords(words: string[], stopwords?: string[]): string[];
62
+ }
@@ -1,173 +0,0 @@
1
- /*----------------------------------
2
- - DEPENDANCES
3
- ----------------------------------*/
4
-
5
- // Npm
6
- import type webpack from 'webpack';
7
- import PresetBabel, { Options } from '@babel/preset-env';
8
- import path from 'path';
9
-
10
- import cli from '@cli';
11
- import type { TAppSide, App } from '@cli/app';
12
-
13
- /*----------------------------------
14
- - REGLES
15
- ----------------------------------*/
16
- module.exports = (app: App, side: TAppSide, dev: boolean, buildDev: boolean = false): webpack.RuleSetRule[] => {
17
-
18
- const babelPresetEnvConfig: Options = side === 'client' ? {
19
-
20
- // Ajoute automatiquement les polyfills babel
21
- // https://stackoverflow.com/a/61517521/12199605
22
- "useBuiltIns": "usage", // alternative mode: "entry"
23
- "corejs": 3, // default would be 2
24
-
25
- targets: {
26
- browsers: dev
27
- ? 'last 2 versions'
28
- : app.packageJson.browserslist,
29
- },
30
- forceAllTransforms: !dev, // for UglifyJS
31
- modules: false,
32
- debug: false,
33
- bugfixes: !dev
34
- } : {
35
- targets: {
36
- node: true,//pkg.engines.node.match(/(\d+\.?)+/)[0],
37
- },
38
- modules: false,
39
- useBuiltIns: false,
40
- debug: false,
41
- }
42
-
43
- return [{
44
- loader: require.resolve('babel-loader'),
45
- exclude: (filePath) => {
46
- // 1) If not in "node_modules" at all => transpile it
47
- if (!filePath.includes('node_modules')) {
48
- return false;
49
- }
50
-
51
- // 2) If it’s "node_modules/proteum" but NOT "node_modules/proteum/node_modules",
52
- // then transpile. Otherwise, exclude.
53
- if (
54
- filePath.includes('node_modules/proteum') &&
55
- !filePath.includes('node_modules/proteum/node_modules')
56
- ) {
57
- return false;
58
- }
59
-
60
- // 3) Everything else in node_modules is excluded
61
- return true;
62
- },
63
- options: {
64
-
65
- // https://github.com/babel/babel-loader#options
66
-
67
- // ATTENTION: Ne prend pas toujours compte des màj des plugins babel
68
- cacheDirectory: (dev || cli.args.cache === true)
69
- ? path.join(app.paths.cache, 'babel', side, buildDev ? 'build-dev' : (dev ? 'dev' : 'prod'))
70
- : false,
71
- // Désactive car ralenti compilation
72
- cacheCompression: false,
73
-
74
- compact: !dev,
75
-
76
- // https://babeljs.io/docs/usage/options/
77
- babelrc: false,
78
- presets: [
79
-
80
- // https://github.com/babel/babel-preset-env
81
- [PresetBabel, babelPresetEnvConfig],
82
-
83
- [require("@babel/preset-typescript"), {
84
- useDefineForClassFields: true,
85
- //jsxPragma: "h"
86
- }],
87
-
88
- // JSX
89
- // https://github.com/babel/babel/tree/master/packages/babel-preset-react
90
- [require('@babel/preset-react'), {
91
- //pragma: "h"
92
- development: dev
93
- }],
94
-
95
- ],
96
- plugins: [
97
-
98
- // NOTE: On résoud les plugins et presets directement ici
99
- // Autrement, babel-loader les cherchera dans projet/node_modules
100
-
101
- [require("@babel/plugin-proposal-decorators"), { "legacy": true }],
102
-
103
- [require('@babel/plugin-proposal-class-properties'), { "loose": true }],
104
-
105
- [require('@babel/plugin-proposal-private-methods'), { "loose": true }],
106
-
107
- // Masque erreur associée à @babel/plugin-proposal-decorators legacy: true
108
- [require('@babel/plugin-proposal-private-property-in-object'), { "loose": true }],
109
-
110
- ...(dev ? [
111
-
112
- ...(side === 'client' ? [
113
-
114
-
115
- ] : [])
116
-
117
- ] : [
118
-
119
- // Les 3 plugins suivants sont tirés de https://github.com/jamiebuilds/babel-react-optimize
120
-
121
- // Remove unnecessary React propTypes from the production build
122
- // https://github.com/oliviertassinari/babel-plugin-transform-react-remove-prop-types
123
- [require('babel-plugin-transform-react-remove-prop-types')],
124
- // Treat React JSX elements as value types and hoist them to the highest scope
125
- // https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-constant-elements
126
- [require('@babel/plugin-transform-react-constant-elements')],
127
-
128
- // Pour du tree shaking manuel
129
- // https://www.npmjs.com/package/babel-plugin-transform-imports
130
- [require("babel-plugin-transform-imports"), {
131
- "lodash": {
132
- "transform": "lodash/${member}",
133
- "preventFullImport": true
134
- }
135
- }],
136
-
137
- ...(side === 'client' ? [
138
-
139
- [require('babel-plugin-transform-remove-console')],
140
-
141
- ] : [])
142
- ]),
143
-
144
- require('./routes/routes')({ side, app, debug: false }),
145
-
146
- ...(side === 'client' ? [
147
-
148
- ] : [
149
-
150
- require('./plugins/services')({ side, app, debug: false }),
151
-
152
- ]),
153
-
154
- // Allow to import multiple fiels with one import statement thanks to glob patterns
155
- require('babel-plugin-glob-import')({
156
- debug: false,
157
- removeAliases: (source: string) => app.paths.withoutAlias(source, side)
158
- }, [
159
- // Routes imports on frontend side
160
- require('./routes/imports')(app, side, dev)
161
- ])
162
- ],
163
-
164
- overrides: [
165
-
166
- ...(side === 'client' ? [
167
-
168
- ] : [
169
- ]),
170
- ]
171
- }
172
- }]
173
- }
File without changes