arcanajs 4.0.0 → 5.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 (74) hide show
  1. package/dist/529.js +2 -0
  2. package/dist/529.js.map +1 -0
  3. package/dist/630.js +3 -0
  4. package/dist/630.js.LICENSE.txt +14 -0
  5. package/dist/630.js.map +1 -0
  6. package/dist/arcanajs.auth.js +3 -0
  7. package/dist/arcanajs.auth.js.LICENSE.txt +14 -0
  8. package/dist/arcanajs.auth.js.map +1 -0
  9. package/dist/arcanajs.js +1 -1
  10. package/dist/arcanajs.js.map +1 -1
  11. package/dist/arcanajs.mail.js +2 -0
  12. package/dist/arcanajs.mail.js.map +1 -0
  13. package/dist/arcanajs.validator.js +2 -0
  14. package/dist/arcanajs.validator.js.map +1 -0
  15. package/dist/arcanox.js +1 -1
  16. package/dist/arcanox.js.map +1 -1
  17. package/dist/cli/commands/dependency.d.ts +1 -0
  18. package/dist/cli/commands/make/Controller.d.ts +3 -0
  19. package/dist/cli/commands/make/Factory.d.ts +2 -0
  20. package/dist/cli/commands/make/Middleware.d.ts +1 -0
  21. package/dist/cli/commands/make/Migration.d.ts +2 -0
  22. package/dist/cli/commands/make/Model.d.ts +2 -0
  23. package/dist/cli/commands/make/Provider.d.ts +1 -0
  24. package/dist/cli/commands/make/Request.d.ts +1 -0
  25. package/dist/cli/commands/make/Seeder.d.ts +2 -0
  26. package/dist/cli/index.js +2 -1
  27. package/dist/cli/index.js.LICENSE.txt +14 -0
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cli/utils/toPascalCase.d.ts +1 -0
  30. package/dist/cli/utils/writeFile.d.ts +1 -0
  31. package/dist/lib/arcanox/Model.d.ts +7 -0
  32. package/dist/lib/arcanox/providers/DatabaseProvider.d.ts +9 -4
  33. package/dist/lib/arcanox/schema/Schema.d.ts +11 -0
  34. package/dist/lib/arcanox/types.d.ts +4 -2
  35. package/dist/lib/auth/AuthProvider.d.ts +10 -0
  36. package/dist/lib/auth/JWTService.d.ts +11 -0
  37. package/dist/lib/auth/SessionManager.d.ts +4 -0
  38. package/dist/lib/auth/middleware/AuthMiddleware.d.ts +5 -0
  39. package/dist/lib/auth/middleware/AuthenticatedMiddleware.d.ts +5 -0
  40. package/dist/lib/auth/middleware/GuestMiddleware.d.ts +5 -0
  41. package/dist/lib/auth/middleware/RoleMiddleware.d.ts +7 -0
  42. package/dist/lib/auth/types/AuthConfig.d.ts +24 -0
  43. package/dist/lib/auth/types/JWTPayload.d.ts +10 -0
  44. package/dist/lib/auth/types/index.d.ts +2 -0
  45. package/dist/lib/auth/utils/PasswordHasher.d.ts +16 -0
  46. package/dist/lib/auth/utils/TokenBlacklist.d.ts +9 -0
  47. package/dist/lib/index.arcanox.d.ts +16 -2
  48. package/dist/lib/index.auth.d.ts +11 -0
  49. package/dist/lib/index.client.d.ts +2 -0
  50. package/dist/lib/index.mail.d.ts +8 -0
  51. package/dist/lib/index.server.d.ts +4 -6
  52. package/dist/lib/index.validator.d.ts +6 -0
  53. package/dist/lib/mail/MailProvider.d.ts +10 -0
  54. package/dist/lib/mail/MailService.d.ts +57 -0
  55. package/dist/lib/mail/Mailable.d.ts +106 -0
  56. package/dist/lib/mail/index.d.ts +6 -0
  57. package/dist/lib/mail/queue/MailQueue.d.ts +51 -0
  58. package/dist/lib/mail/queue/index.d.ts +1 -0
  59. package/dist/lib/mail/types/MailConfig.d.ts +146 -0
  60. package/dist/lib/mail/types/index.d.ts +1 -0
  61. package/dist/lib/mail/utils/TemplateRenderer.d.ts +34 -0
  62. package/dist/lib/mail/utils/index.d.ts +1 -0
  63. package/dist/lib/server/ArcanaJSServer.d.ts +14 -41
  64. package/dist/lib/server/Container.d.ts +8 -0
  65. package/dist/lib/server/DynamicRouter.d.ts +1 -1
  66. package/dist/lib/server/Router.d.ts +23 -33
  67. package/dist/lib/server/support/ServiceProvider.d.ts +4 -0
  68. package/dist/lib/validation/Validator.d.ts +55 -0
  69. package/dist/types/express.d.ts +45 -0
  70. package/dist/types/global.d.ts +103 -0
  71. package/package.json +71 -15
  72. package/dist/lib/arcanox/index.d.ts +0 -13
  73. package/dist/lib/server/validation/Validator.d.ts +0 -12
  74. /package/dist/lib/{server/validation → validation}/ValidationException.d.ts +0 -0
package/package.json CHANGED
@@ -5,13 +5,21 @@
5
5
  "email": "mohammed.bencheikh.dev@gmail.com",
6
6
  "url": "https://mohammedbencheikh.com/"
7
7
  },
8
- "version": "4.0.0",
8
+ "version": "5.0.1",
9
9
  "description": "ArcanaJS Framework",
10
10
  "main": "./dist/arcanajs.js",
11
11
  "scripts": {
12
- "build": "tsc -p tsconfig.json --emitDeclarationOnly && webpack --config webpack.config.ts"
12
+ "build": "tsc -p tsconfig.json --emitDeclarationOnly && webpack --config webpack.config.ts && cp -r src/types dist/ && node scripts/post-build.js",
13
+ "test": "echo \"No tests specified\" && exit 0"
13
14
  },
14
15
  "exports": {
16
+ "./express-types": {
17
+ "types": "./dist/types/express.d.ts"
18
+ },
19
+ "./server": {
20
+ "types": "./dist/lib/index.server.d.ts",
21
+ "default": "./dist/arcanajs.js"
22
+ },
15
23
  "./arcanox": {
16
24
  "types": "./dist/lib/index.arcanox.d.ts",
17
25
  "default": "./dist/arcanox.js"
@@ -20,9 +28,17 @@
20
28
  "types": "./dist/lib/index.client.d.ts",
21
29
  "default": "./dist/arcanajs.client.js"
22
30
  },
23
- "./server": {
24
- "types": "./dist/lib/index.server.d.ts",
25
- "default": "./dist/arcanajs.js"
31
+ "./auth": {
32
+ "types": "./dist/lib/index.auth.d.ts",
33
+ "default": "./dist/arcanajs.auth.js"
34
+ },
35
+ "./validator": {
36
+ "types": "./dist/lib/index.validator.d.ts",
37
+ "default": "./dist/arcanajs.validator.js"
38
+ },
39
+ "./mail": {
40
+ "types": "./dist/lib/index.mail.d.ts",
41
+ "default": "./dist/arcanajs.mail.js"
26
42
  }
27
43
  },
28
44
  "bin": {
@@ -33,6 +49,14 @@
33
49
  "bin"
34
50
  ],
35
51
  "peerDependencies": {
52
+ "@aws-sdk/client-ses": "^3.0.0",
53
+ "connect-redis": "^7.0.0",
54
+ "handlebars": "^4.7.0",
55
+ "ioredis": "^5.0.0",
56
+ "mongodb": "^6.0.0 || ^7.0.0",
57
+ "mysql2": "^3.0.0",
58
+ "nodemailer-mailgun-transport": "^2.0.0",
59
+ "pg": "^8.0.0",
36
60
  "react": "^19.0.0",
37
61
  "react-dom": "^19.0.0"
38
62
  },
@@ -48,6 +72,21 @@
48
72
  },
49
73
  "mongodb": {
50
74
  "optional": true
75
+ },
76
+ "@aws-sdk/client-ses": {
77
+ "optional": true
78
+ },
79
+ "ioredis": {
80
+ "optional": true
81
+ },
82
+ "connect-redis": {
83
+ "optional": true
84
+ },
85
+ "handlebars": {
86
+ "optional": true
87
+ },
88
+ "nodemailer-mailgun-transport": {
89
+ "optional": true
51
90
  }
52
91
  },
53
92
  "dependencies": {
@@ -55,31 +94,30 @@
55
94
  "@babel/preset-env": "^7.23.0",
56
95
  "@babel/preset-react": "^7.22.15",
57
96
  "@babel/preset-typescript": "^7.23.0",
58
- "@tailwindcss/postcss": "^4.1.17",
59
- "@types/compression": "^1.8.1",
60
- "@types/cookie-parser": "^1.4.10",
61
- "@types/express": "^5.0.5",
62
- "@types/node": "^24.10.1",
63
- "@types/react": "^19.2.7",
64
- "@types/react-dom": "^19.2.3",
65
97
  "@types/ws": "^8.18.1",
66
- "autoprefixer": "^10.4.22",
67
98
  "babel-loader": "^10.0.0",
99
+ "bcryptjs": "^2.4.3",
68
100
  "clean-webpack-plugin": "^4.0.0",
69
101
  "compression": "^1.8.1",
70
102
  "cookie-parser": "^1.4.7",
71
103
  "cross-env": "^10.1.0",
72
104
  "css-loader": "^7.1.2",
105
+ "dotenv": "^16.6.1",
106
+ "ejs": "^3.1.9",
73
107
  "express": "^5.1.0",
108
+ "express-session": "^1.18.0",
109
+ "express-validator": "^7.3.1",
74
110
  "helmet": "^8.1.0",
75
111
  "html-webpack-plugin": "^5.6.5",
112
+ "jsonwebtoken": "^9.0.2",
76
113
  "mini-css-extract-plugin": "^2.9.4",
114
+ "nodemailer": "^7.0.11",
77
115
  "null-loader": "^4.0.1",
78
116
  "postcss": "^8.5.6",
79
117
  "postcss-loader": "^8.2.0",
118
+ "redis": "^4.6.12",
80
119
  "reflect-metadata": "^0.2.2",
81
120
  "style-loader": "^4.0.0",
82
- "tailwindcss": "^4.1.17",
83
121
  "ts-node": "^10.9.2",
84
122
  "tsx": "^4.20.6",
85
123
  "typescript": "^5.9.3",
@@ -89,14 +127,32 @@
89
127
  "ws": "^8.18.3"
90
128
  },
91
129
  "devDependencies": {
130
+ "@aws-sdk/client-ses": "^3.490.0",
92
131
  "@faker-js/faker": "^10.1.0",
132
+ "@tailwindcss/postcss": "^4.1.17",
133
+ "@types/bcryptjs": "^2.4.6",
134
+ "@types/compression": "^1.8.1",
135
+ "@types/cookie-parser": "^1.4.10",
136
+ "@types/ejs": "^3.1.5",
137
+ "@types/express-session": "^1.18.0",
138
+ "@types/jsonwebtoken": "^9.0.5",
139
+ "@types/node": "^24.10.1",
140
+ "@types/nodemailer": "^7.0.4",
93
141
  "@types/pg": "^8.15.6",
142
+ "@types/react": "^19.2.7",
143
+ "@types/react-dom": "^19.2.3",
94
144
  "@types/webpack-node-externals": "^3.0.4",
145
+ "autoprefixer": "^10.4.22",
146
+ "connect-redis": "^7.1.0",
147
+ "handlebars": "^4.7.8",
148
+ "ioredis": "^5.3.2",
95
149
  "mongodb": "^7.0.0",
96
150
  "mysql2": "^3.15.3",
151
+ "nodemailer-mailgun-transport": "^2.1.5",
97
152
  "pg": "^8.16.3",
98
153
  "react": "^19.2.0",
99
- "react-dom": "^19.2.0"
154
+ "react-dom": "^19.2.0",
155
+ "tailwindcss": "^4.1.17"
100
156
  },
101
157
  "keywords": [
102
158
  "arcanajs",
@@ -1,13 +0,0 @@
1
- export { MongoAdapter } from "./adapters/MongoAdapter";
2
- export { MySQLAdapter } from "./adapters/MySQLAdapter";
3
- export { PostgresAdapter } from "./adapters/PostgresAdapter";
4
- export { Model } from "./Model";
5
- export { QueryBuilder } from "./QueryBuilder";
6
- export { BelongsTo } from "./relations/BelongsTo";
7
- export { BelongsToMany } from "./relations/BelongsToMany";
8
- export { HasMany } from "./relations/HasMany";
9
- export { HasOne } from "./relations/HasOne";
10
- export { Relation } from "./relations/Relation";
11
- export { Macroable } from "./support/Macroable";
12
- export type { ColumnDefinition, Connection, DatabaseAdapter, DatabaseConfig, JoinClause, OrderByClause, SelectOptions, WhereClause, } from "./types";
13
- export * from "./extensions/MongoExtensions";
@@ -1,12 +0,0 @@
1
- export declare class Validator {
2
- protected data: any;
3
- protected rules: Record<string, string>;
4
- protected errors: Record<string, string[]>;
5
- constructor(data: any, rules: Record<string, string>);
6
- static make(data: any, rules: Record<string, string>): Validator;
7
- fails(): boolean;
8
- passes(): boolean;
9
- errors_(): Record<string, string[]>;
10
- validate(): Record<string, any>;
11
- protected addError(field: string, message: string): void;
12
- }