arcanajs 3.0.0 → 4.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/dist/arcanajs.client.js +2 -0
- package/dist/arcanajs.client.js.map +1 -0
- package/dist/arcanajs.js +2 -1
- package/dist/arcanajs.js.LICENSE.txt +14 -0
- package/dist/arcanajs.js.map +1 -1
- package/dist/arcanox.js +2 -0
- package/dist/arcanox.js.map +1 -0
- package/dist/cli/commands/db.d.ts +1 -0
- package/dist/cli/commands/make.d.ts +1 -0
- package/dist/cli/commands/migrate.d.ts +1 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/lib/arcanox/Model.d.ts +203 -0
- package/dist/lib/arcanox/QueryBuilder.d.ts +141 -0
- package/dist/lib/arcanox/adapters/MongoAdapter.d.ts +22 -0
- package/dist/lib/arcanox/adapters/MySQLAdapter.d.ts +27 -0
- package/dist/lib/arcanox/adapters/PostgresAdapter.d.ts +27 -0
- package/dist/lib/arcanox/extensions/MongoExtensions.d.ts +33 -0
- package/dist/lib/arcanox/factory/Factory.d.ts +26 -0
- package/dist/lib/arcanox/factory/index.d.ts +1 -0
- package/dist/lib/arcanox/index.d.ts +13 -0
- package/dist/lib/arcanox/providers/DatabaseProvider.d.ts +5 -0
- package/dist/lib/arcanox/relations/BelongsTo.d.ts +11 -0
- package/dist/lib/arcanox/relations/BelongsToMany.d.ts +15 -0
- package/dist/lib/arcanox/relations/HasMany.d.ts +11 -0
- package/dist/lib/arcanox/relations/HasOne.d.ts +11 -0
- package/dist/lib/arcanox/relations/Relation.d.ts +14 -0
- package/dist/lib/arcanox/schema/Blueprint.d.ts +183 -0
- package/dist/lib/arcanox/schema/Migration.d.ts +76 -0
- package/dist/lib/arcanox/schema/Schema.d.ts +49 -0
- package/dist/lib/arcanox/schema/index.d.ts +4 -0
- package/dist/lib/arcanox/seeder/Seeder.d.ts +13 -0
- package/dist/lib/arcanox/seeder/index.d.ts +1 -0
- package/dist/lib/arcanox/support/Macroable.d.ts +19 -0
- package/dist/lib/arcanox/types.d.ts +76 -0
- package/dist/lib/index.arcanox.d.ts +6 -0
- package/dist/lib/index.client.d.ts +11 -0
- package/dist/lib/{index.d.ts → index.server.d.ts} +7 -11
- package/dist/lib/server/ArcanaJSServer.d.ts +35 -9
- package/dist/lib/server/Container.d.ts +31 -0
- package/dist/lib/server/MiddlewareBinder.d.ts +4 -0
- package/dist/lib/server/ResponseHandlerMiddleware.d.ts +0 -25
- package/dist/lib/server/Router.d.ts +12 -3
- package/dist/lib/server/http/FormRequest.d.ts +10 -0
- package/dist/lib/server/http/JsonResource.d.ts +13 -0
- package/dist/lib/server/http/Middleware.d.ts +4 -0
- package/dist/lib/server/support/ServiceProvider.d.ts +13 -0
- package/dist/lib/server/utils/dynamicRequire.d.ts +6 -0
- package/dist/lib/server/validation/ValidationException.d.ts +5 -0
- package/dist/lib/server/validation/Validator.d.ts +12 -0
- package/package.json +32 -7
- package/dist/lib/global.d.ts +0 -61
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import ArcanaJSServer from "../ArcanaJSServer";
|
|
2
|
+
export declare abstract class ServiceProvider {
|
|
3
|
+
protected app: ArcanaJSServer;
|
|
4
|
+
constructor(app: ArcanaJSServer);
|
|
5
|
+
/**
|
|
6
|
+
* Register any application services.
|
|
7
|
+
*/
|
|
8
|
+
register(): void;
|
|
9
|
+
/**
|
|
10
|
+
* Bootstrap any application services.
|
|
11
|
+
*/
|
|
12
|
+
boot(): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper to dynamically require modules at runtime, bypassing Webpack bundling.
|
|
3
|
+
* This is necessary for loading user configuration files, migrations, and views
|
|
4
|
+
* that are not part of the framework bundle but exist in the user's project.
|
|
5
|
+
*/
|
|
6
|
+
export declare const dynamicRequire: (id: string) => any;
|
|
@@ -0,0 +1,12 @@
|
|
|
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
|
+
}
|
package/package.json
CHANGED
|
@@ -5,18 +5,23 @@
|
|
|
5
5
|
"email": "mohammed.bencheikh.dev@gmail.com",
|
|
6
6
|
"url": "https://mohammedbencheikh.com/"
|
|
7
7
|
},
|
|
8
|
-
"version": "
|
|
8
|
+
"version": "4.0.0",
|
|
9
9
|
"description": "ArcanaJS Framework",
|
|
10
10
|
"main": "./dist/arcanajs.js",
|
|
11
|
-
"types": "./dist/lib/index.d.ts",
|
|
12
11
|
"scripts": {
|
|
13
|
-
"build": "tsc -p tsconfig.json --emitDeclarationOnly && webpack --config webpack.config.ts
|
|
12
|
+
"build": "tsc -p tsconfig.json --emitDeclarationOnly && webpack --config webpack.config.ts"
|
|
14
13
|
},
|
|
15
14
|
"exports": {
|
|
16
|
-
"
|
|
17
|
-
"types": "./dist/lib/index.d.ts",
|
|
18
|
-
"
|
|
19
|
-
|
|
15
|
+
"./arcanox": {
|
|
16
|
+
"types": "./dist/lib/index.arcanox.d.ts",
|
|
17
|
+
"default": "./dist/arcanox.js"
|
|
18
|
+
},
|
|
19
|
+
"./client": {
|
|
20
|
+
"types": "./dist/lib/index.client.d.ts",
|
|
21
|
+
"default": "./dist/arcanajs.client.js"
|
|
22
|
+
},
|
|
23
|
+
"./server": {
|
|
24
|
+
"types": "./dist/lib/index.server.d.ts",
|
|
20
25
|
"default": "./dist/arcanajs.js"
|
|
21
26
|
}
|
|
22
27
|
},
|
|
@@ -31,6 +36,20 @@
|
|
|
31
36
|
"react": "^19.0.0",
|
|
32
37
|
"react-dom": "^19.0.0"
|
|
33
38
|
},
|
|
39
|
+
"peerDependenciesMeta": {
|
|
40
|
+
"pg": {
|
|
41
|
+
"optional": true
|
|
42
|
+
},
|
|
43
|
+
"mysql2": {
|
|
44
|
+
"optional": true
|
|
45
|
+
},
|
|
46
|
+
"@faker-js/faker": {
|
|
47
|
+
"optional": true
|
|
48
|
+
},
|
|
49
|
+
"mongodb": {
|
|
50
|
+
"optional": true
|
|
51
|
+
}
|
|
52
|
+
},
|
|
34
53
|
"dependencies": {
|
|
35
54
|
"@babel/core": "^7.23.0",
|
|
36
55
|
"@babel/preset-env": "^7.23.0",
|
|
@@ -58,6 +77,7 @@
|
|
|
58
77
|
"null-loader": "^4.0.1",
|
|
59
78
|
"postcss": "^8.5.6",
|
|
60
79
|
"postcss-loader": "^8.2.0",
|
|
80
|
+
"reflect-metadata": "^0.2.2",
|
|
61
81
|
"style-loader": "^4.0.0",
|
|
62
82
|
"tailwindcss": "^4.1.17",
|
|
63
83
|
"ts-node": "^10.9.2",
|
|
@@ -69,7 +89,12 @@
|
|
|
69
89
|
"ws": "^8.18.3"
|
|
70
90
|
},
|
|
71
91
|
"devDependencies": {
|
|
92
|
+
"@faker-js/faker": "^10.1.0",
|
|
93
|
+
"@types/pg": "^8.15.6",
|
|
72
94
|
"@types/webpack-node-externals": "^3.0.4",
|
|
95
|
+
"mongodb": "^7.0.0",
|
|
96
|
+
"mysql2": "^3.15.3",
|
|
97
|
+
"pg": "^8.16.3",
|
|
73
98
|
"react": "^19.2.0",
|
|
74
99
|
"react-dom": "^19.2.0"
|
|
75
100
|
},
|
package/dist/lib/global.d.ts
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
// ============================================================================
|
|
2
|
-
// Express Augmentation
|
|
3
|
-
// ============================================================================
|
|
4
|
-
declare module "*.module.css" {
|
|
5
|
-
const classes: { readonly [key: string]: string };
|
|
6
|
-
export default classes;
|
|
7
|
-
}
|
|
8
|
-
declare module "*.css";
|
|
9
|
-
|
|
10
|
-
declare global {
|
|
11
|
-
var __non_webpack_require__: NodeJS.Require;
|
|
12
|
-
namespace Express {
|
|
13
|
-
interface Request {
|
|
14
|
-
/**
|
|
15
|
-
* Normalized DB object optionally attached to the request by ArcanaJSServer.
|
|
16
|
-
* It may be either the raw client, or an object like `{ client, db, close }`.
|
|
17
|
-
*/
|
|
18
|
-
db?: any;
|
|
19
|
-
}
|
|
20
|
-
interface Response {
|
|
21
|
-
/**
|
|
22
|
-
* Render a page component with data
|
|
23
|
-
* @param page - Name of the page component to render
|
|
24
|
-
* @param data - Data to pass to the page component
|
|
25
|
-
*/
|
|
26
|
-
renderPage(page: string, data?: any): void;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Send a success JSON response
|
|
30
|
-
* @param data - Data to send in the response
|
|
31
|
-
* @param message - Optional success message
|
|
32
|
-
* @param status - HTTP status code (default: 200)
|
|
33
|
-
*/
|
|
34
|
-
success(
|
|
35
|
-
data?: string | object | null,
|
|
36
|
-
message?: string,
|
|
37
|
-
status?: number
|
|
38
|
-
): Response;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Send an error JSON response
|
|
42
|
-
* @param message - Error message
|
|
43
|
-
* @param status - HTTP status code (default: 500)
|
|
44
|
-
* @param error - Error details
|
|
45
|
-
* @param data - Additional error data
|
|
46
|
-
*/
|
|
47
|
-
error(
|
|
48
|
-
message?: string,
|
|
49
|
-
status?: number,
|
|
50
|
-
error?: string | object | null,
|
|
51
|
-
data?: string | object | null
|
|
52
|
-
): Response;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// ============================================================================
|
|
57
|
-
// CSS Module Declarations
|
|
58
|
-
// ============================================================================
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export {};
|