proteum 1.0.2 → 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 (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 +12 -47
  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
@@ -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,170 +0,0 @@
1
- /*----------------------------------
2
- - DEPENDANCES
3
- ----------------------------------*/
4
-
5
- // Npm
6
- import type webpack from 'webpack';
7
- import PresetBabel, { Options } from '@babel/preset-env';
8
-
9
- import cli from '@cli';
10
- import type { TAppSide, App } from '@cli/app';
11
-
12
- /*----------------------------------
13
- - REGLES
14
- ----------------------------------*/
15
- module.exports = (app: App, side: TAppSide, dev: boolean): webpack.RuleSetRule[] => {
16
-
17
- const babelPresetEnvConfig: Options = side === 'client' ? {
18
-
19
- // Ajoute automatiquement les polyfills babel
20
- // https://stackoverflow.com/a/61517521/12199605
21
- "useBuiltIns": "usage", // alternative mode: "entry"
22
- "corejs": 3, // default would be 2
23
-
24
- targets: {
25
- browsers: dev
26
- ? 'last 2 versions'
27
- : app.packageJson.browserslist,
28
- },
29
- forceAllTransforms: !dev, // for UglifyJS
30
- modules: false,
31
- debug: false,
32
- bugfixes: !dev
33
- } : {
34
- targets: {
35
- node: true,//pkg.engines.node.match(/(\d+\.?)+/)[0],
36
- },
37
- modules: false,
38
- useBuiltIns: false,
39
- debug: false,
40
- }
41
-
42
- return [{
43
- loader: require.resolve('babel-loader'),
44
- exclude: (filePath) => {
45
- // 1) If not in "node_modules" at all => transpile it
46
- if (!filePath.includes('node_modules')) {
47
- return false;
48
- }
49
-
50
- // 2) If it’s "node_modules/proteum" but NOT "node_modules/proteum/node_modules",
51
- // then transpile. Otherwise, exclude.
52
- if (
53
- filePath.includes('node_modules/proteum') &&
54
- !filePath.includes('node_modules/proteum/node_modules')
55
- ) {
56
- return false;
57
- }
58
-
59
- // 3) Everything else in node_modules is excluded
60
- return true;
61
- },
62
- options: {
63
-
64
- // https://github.com/babel/babel-loader#options
65
-
66
- // ATTENTION: Ne prend pas toujours compte des màj des plugins babel
67
- cacheDirectory: dev || cli.args.cache === true,
68
- // Désactive car ralenti compilation
69
- cacheCompression: false,
70
-
71
- compact: !dev,
72
-
73
- // https://babeljs.io/docs/usage/options/
74
- babelrc: false,
75
- presets: [
76
-
77
- // https://github.com/babel/babel-preset-env
78
- [PresetBabel, babelPresetEnvConfig],
79
-
80
- [require("@babel/preset-typescript"), {
81
- useDefineForClassFields: true,
82
- //jsxPragma: "h"
83
- }],
84
-
85
- // JSX
86
- // https://github.com/babel/babel/tree/master/packages/babel-preset-react
87
- [require('@babel/preset-react'), {
88
- //pragma: "h"
89
- development: dev
90
- }],
91
-
92
- ],
93
- plugins: [
94
-
95
- // NOTE: On résoud les plugins et presets directement ici
96
- // Autrement, babel-loader les cherchera dans projet/node_modules
97
-
98
- [require("@babel/plugin-proposal-decorators"), { "legacy": true }],
99
-
100
- [require('@babel/plugin-proposal-class-properties'), { "loose": true }],
101
-
102
- [require('@babel/plugin-proposal-private-methods'), { "loose": true }],
103
-
104
- // Masque erreur associée à @babel/plugin-proposal-decorators legacy: true
105
- [require('@babel/plugin-proposal-private-property-in-object'), { "loose": true }],
106
-
107
- ...(dev ? [
108
-
109
- ...(side === 'client' ? [
110
-
111
-
112
- ] : [])
113
-
114
- ] : [
115
-
116
- // Les 3 plugins suivants sont tirés de https://github.com/jamiebuilds/babel-react-optimize
117
-
118
- // Remove unnecessary React propTypes from the production build
119
- // https://github.com/oliviertassinari/babel-plugin-transform-react-remove-prop-types
120
- [require('babel-plugin-transform-react-remove-prop-types')],
121
- // Treat React JSX elements as value types and hoist them to the highest scope
122
- // https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-constant-elements
123
- [require('@babel/plugin-transform-react-constant-elements')],
124
-
125
- // Pour du tree shaking manuel
126
- // https://www.npmjs.com/package/babel-plugin-transform-imports
127
- [require("babel-plugin-transform-imports"), {
128
- "lodash": {
129
- "transform": "lodash/${member}",
130
- "preventFullImport": true
131
- }
132
- }],
133
-
134
- ...(side === 'client' ? [
135
-
136
- [require('babel-plugin-transform-remove-console')],
137
-
138
- ] : [])
139
- ]),
140
-
141
- require('./routes/routes')({ side, app, debug: false }),
142
-
143
- ...(side === 'client' ? [
144
-
145
- ] : [
146
-
147
- require('./plugins/services')({ side, app, debug: false }),
148
-
149
- ]),
150
-
151
- // Allow to import multiple fiels with one import statement thanks to glob patterns
152
- require('babel-plugin-glob-import')({
153
- debug: false,
154
- removeAliases: (source: string) => app.paths.withoutAlias(source, side)
155
- }, [
156
- // Routes imports on frontend side
157
- require('./routes/imports')(app, side, dev)
158
- ])
159
- ],
160
-
161
- overrides: [
162
-
163
- ...(side === 'client' ? [
164
-
165
- ] : [
166
- ]),
167
- ]
168
- }
169
- }]
170
- }
File without changes