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.
- package/AGENTS.md +101 -0
- package/agents/codex/AGENTS.md +95 -0
- package/agents/codex/CODING_STYLE.md +71 -0
- package/agents/codex/agents.md.zip +0 -0
- package/agents/codex/client/AGENTS.md +102 -0
- package/agents/codex/client/pages/AGENTS.md +35 -0
- package/agents/codex/server/routes/AGENTS.md +12 -0
- package/agents/codex/server/services/AGENTS.md +137 -0
- package/agents/codex/tests/AGENTS.md +8 -0
- package/cli/app/config.ts +13 -11
- package/cli/app/index.ts +74 -82
- package/cli/bin.js +1 -1
- package/cli/commands/build.ts +51 -14
- package/cli/commands/check.ts +19 -0
- package/cli/commands/deploy/app.ts +4 -8
- package/cli/commands/deploy/web.ts +16 -20
- package/cli/commands/dev.ts +189 -64
- package/cli/commands/devEvents.ts +106 -0
- package/cli/commands/init.ts +63 -57
- package/cli/commands/lint.ts +21 -0
- package/cli/commands/refresh.ts +18 -0
- package/cli/commands/typecheck.ts +18 -0
- package/cli/compiler/client/identite.ts +80 -53
- package/cli/compiler/client/index.ts +139 -213
- package/cli/compiler/common/bundleAnalysis.ts +94 -0
- package/cli/compiler/common/clientManifest.ts +67 -0
- package/cli/compiler/common/controllers.ts +288 -0
- package/cli/compiler/common/files/autres.ts +7 -18
- package/cli/compiler/common/files/images.ts +40 -37
- package/cli/compiler/common/files/style.ts +11 -22
- package/cli/compiler/common/generatedRouteModules.ts +368 -0
- package/cli/compiler/common/index.ts +31 -65
- package/cli/compiler/common/loaders/forbid-ssr-import.js +13 -0
- package/cli/compiler/common/rspackAliases.ts +13 -0
- package/cli/compiler/common/scripts.ts +37 -0
- package/cli/compiler/index.ts +781 -230
- package/cli/compiler/server/index.ts +59 -75
- package/cli/compiler/writeIfChanged.ts +21 -0
- package/cli/index.ts +71 -72
- package/cli/paths.ts +51 -57
- package/cli/print.ts +17 -11
- package/cli/tsconfig.json +5 -4
- package/cli/utils/agents.ts +100 -0
- package/cli/utils/check.ts +71 -0
- package/cli/utils/index.ts +1 -3
- package/cli/utils/keyboard.ts +8 -25
- package/cli/utils/runProcess.ts +30 -0
- package/client/app/component.tsx +29 -29
- package/client/app/index.ts +36 -57
- package/client/app/service.ts +7 -12
- package/client/app.tsconfig.json +2 -2
- package/client/components/Dialog/Manager.ssr.tsx +40 -0
- package/client/components/Dialog/Manager.tsx +119 -150
- package/client/components/Dialog/status.tsx +3 -3
- package/client/components/index.ts +1 -1
- package/client/components/types.d.ts +1 -3
- package/client/dev/hmr.ts +65 -0
- package/client/global.d.ts +2 -2
- package/client/hooks.ts +6 -9
- package/client/index.ts +2 -1
- package/client/islands/index.ts +7 -0
- package/client/islands/useDeferredModule.ts +199 -0
- package/client/pages/_layout/index.tsx +4 -12
- package/client/pages/useHeader.tsx +14 -21
- package/client/router.ts +27 -0
- package/client/services/router/components/Link.tsx +34 -27
- package/client/services/router/components/Page.tsx +6 -14
- package/client/services/router/components/router.ssr.tsx +36 -0
- package/client/services/router/components/router.tsx +63 -83
- package/client/services/router/index.tsx +185 -220
- package/client/services/router/request/api.ts +97 -119
- package/client/services/router/request/history.ts +2 -2
- package/client/services/router/request/index.ts +13 -12
- package/client/services/router/request/multipart.ts +72 -62
- package/client/services/router/response/index.tsx +68 -61
- package/client/services/router/response/page.ts +28 -32
- package/client/utils/dom.ts +17 -33
- package/common/app/index.ts +3 -3
- package/common/data/chaines/index.ts +22 -23
- package/common/data/dates.ts +35 -70
- package/common/data/markdown.ts +42 -39
- package/common/dev/serverHotReload.ts +26 -0
- package/common/errors/index.tsx +110 -142
- package/common/router/contracts.ts +29 -0
- package/common/router/index.ts +89 -108
- package/common/router/layouts.ts +34 -47
- package/common/router/pageSetup.ts +50 -0
- package/common/router/register.ts +53 -24
- package/common/router/request/api.ts +30 -36
- package/common/router/request/index.ts +2 -8
- package/common/router/response/index.ts +8 -15
- package/common/router/response/page.ts +70 -58
- package/common/utils.ts +1 -1
- package/doc/TODO.md +1 -1
- package/eslint.js +62 -0
- package/package.json +12 -47
- package/prettier.config.cjs +9 -0
- package/scripts/cleanup-generated-controllers.ts +62 -0
- package/scripts/fix-reference-app-typing.ts +490 -0
- package/scripts/refactor-client-app-imports.ts +244 -0
- package/scripts/refactor-client-pages.ts +587 -0
- package/scripts/refactor-server-controllers.ts +470 -0
- package/scripts/refactor-server-runtime-aliases.ts +360 -0
- package/scripts/restore-client-app-import-files.ts +41 -0
- package/scripts/restore-files-from-git-head.ts +20 -0
- package/scripts/update-codex-agents.ts +35 -0
- package/server/app/commands.ts +35 -64
- package/server/app/container/config.ts +48 -59
- package/server/app/container/console/index.ts +202 -248
- package/server/app/container/index.ts +33 -71
- package/server/app/controller/index.ts +61 -0
- package/server/app/index.ts +39 -105
- package/server/app/service/container.ts +41 -42
- package/server/app/service/index.ts +120 -147
- package/server/context.ts +1 -1
- package/server/index.ts +25 -1
- package/server/services/auth/index.ts +75 -115
- package/server/services/auth/router/index.ts +31 -32
- package/server/services/auth/router/request.ts +14 -16
- package/server/services/cron/CronTask.ts +13 -26
- package/server/services/cron/index.ts +14 -36
- package/server/services/disks/driver.ts +40 -58
- package/server/services/disks/drivers/local/index.ts +79 -90
- package/server/services/disks/drivers/s3/index.ts +116 -163
- package/server/services/disks/index.ts +23 -38
- package/server/services/email/index.ts +45 -104
- package/server/services/email/utils.ts +14 -27
- package/server/services/fetch/index.ts +53 -85
- package/server/services/prisma/Facet.ts +39 -91
- package/server/services/prisma/index.ts +74 -110
- package/server/services/router/generatedRuntime.ts +29 -0
- package/server/services/router/http/index.ts +78 -73
- package/server/services/router/http/multipart.ts +19 -42
- package/server/services/router/index.ts +378 -365
- package/server/services/router/request/api.ts +26 -25
- package/server/services/router/request/index.ts +44 -51
- package/server/services/router/request/service.ts +7 -11
- package/server/services/router/request/validation/zod.ts +111 -148
- package/server/services/router/response/index.ts +110 -125
- package/server/services/router/response/mask/Filter.ts +31 -72
- package/server/services/router/response/mask/index.ts +8 -15
- package/server/services/router/response/mask/selecteurs.ts +11 -25
- package/server/services/router/response/page/clientManifest.ts +25 -0
- package/server/services/router/response/page/document.tsx +199 -127
- package/server/services/router/response/page/index.tsx +89 -94
- package/server/services/router/service.ts +13 -15
- package/server/services/schema/index.ts +17 -26
- package/server/services/schema/request.ts +19 -33
- package/server/services/schema/router/index.ts +8 -11
- package/server/services/security/encrypt/aes/index.ts +15 -35
- package/server/utils/slug.ts +29 -35
- package/skills/clean-project-code/SKILL.md +63 -0
- package/skills/clean-project-code/agents/openai.yaml +4 -0
- package/tsconfig.common.json +4 -3
- package/tsconfig.json +4 -1
- package/types/aliases.d.ts +17 -21
- package/types/controller-input.test.ts +48 -0
- package/types/express-extra.d.ts +6 -0
- package/types/global/constants.d.ts +13 -0
- package/types/global/express-extra.d.ts +6 -0
- package/types/global/modules.d.ts +13 -16
- package/types/global/utils.d.ts +17 -49
- package/types/global/vendors.d.ts +62 -0
- package/types/icons.d.ts +65 -1
- package/types/uuid.d.ts +3 -0
- package/types/vendors.d.ts +62 -0
- package/cli/compiler/common/babel/index.ts +0 -170
- package/cli/compiler/common/babel/plugins/index.ts +0 -0
- package/cli/compiler/common/babel/plugins/services.ts +0 -586
- package/cli/compiler/common/babel/routes/imports.ts +0 -127
- package/cli/compiler/common/babel/routes/routes.ts +0 -1130
- package/client/services/captcha/index.ts +0 -67
- package/client/services/socket/index.ts +0 -147
- package/common/data/rte/nodes.ts +0 -83
- package/common/data/stats.ts +0 -90
- package/common/utils/rte.ts +0 -183
- package/server/services/auth/old.ts +0 -277
- package/server/services/cache/commands.ts +0 -41
- package/server/services/cache/index.ts +0 -297
- package/server/services/cache/service.json +0 -6
- package/server/services/socket/index.ts +0 -162
- package/server/services/socket/scope.ts +0 -226
- package/server/services/socket/service.json +0 -6
- package/server/services_old/SocketClient.ts +0 -92
- 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
|