arcanajs 3.0.1 → 5.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/529.js +2 -0
- package/dist/529.js.map +1 -0
- package/dist/630.js +3 -0
- package/dist/630.js.LICENSE.txt +14 -0
- package/dist/630.js.map +1 -0
- package/dist/arcanajs.auth.js +3 -0
- package/dist/arcanajs.auth.js.LICENSE.txt +14 -0
- package/dist/arcanajs.auth.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/arcanajs.mail.js +2 -0
- package/dist/arcanajs.mail.js.map +1 -0
- package/dist/arcanajs.validator.js +2 -0
- package/dist/arcanajs.validator.js.map +1 -0
- 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/dependency.d.ts +1 -0
- package/dist/cli/commands/make/Controller.d.ts +3 -0
- package/dist/cli/commands/make/Factory.d.ts +2 -0
- package/dist/cli/commands/make/Middleware.d.ts +1 -0
- package/dist/cli/commands/make/Migration.d.ts +2 -0
- package/dist/cli/commands/make/Model.d.ts +2 -0
- package/dist/cli/commands/make/Provider.d.ts +1 -0
- package/dist/cli/commands/make/Request.d.ts +1 -0
- package/dist/cli/commands/make/Seeder.d.ts +2 -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/cli/utils/toPascalCase.d.ts +1 -0
- package/dist/cli/utils/writeFile.d.ts +1 -0
- 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/providers/DatabaseProvider.d.ts +10 -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/auth/AuthProvider.d.ts +10 -0
- package/dist/lib/auth/JWTService.d.ts +11 -0
- package/dist/lib/auth/SessionManager.d.ts +4 -0
- package/dist/lib/auth/middleware/AuthMiddleware.d.ts +5 -0
- package/dist/lib/auth/middleware/AuthenticatedMiddleware.d.ts +5 -0
- package/dist/lib/auth/middleware/GuestMiddleware.d.ts +5 -0
- package/dist/lib/auth/middleware/RoleMiddleware.d.ts +7 -0
- package/dist/lib/auth/types/AuthConfig.d.ts +24 -0
- package/dist/lib/auth/types/JWTPayload.d.ts +10 -0
- package/dist/lib/auth/types/index.d.ts +2 -0
- package/dist/lib/auth/utils/PasswordHasher.d.ts +16 -0
- package/dist/lib/auth/utils/TokenBlacklist.d.ts +9 -0
- package/dist/lib/index.arcanox.d.ts +20 -0
- package/dist/lib/index.auth.d.ts +11 -0
- package/dist/lib/index.client.d.ts +2 -0
- package/dist/lib/index.mail.d.ts +8 -0
- package/dist/lib/{index.d.ts → index.server.d.ts} +6 -12
- package/dist/lib/index.validator.d.ts +6 -0
- package/dist/lib/mail/MailProvider.d.ts +10 -0
- package/dist/lib/mail/MailService.d.ts +57 -0
- package/dist/lib/mail/Mailable.d.ts +106 -0
- package/dist/lib/mail/index.d.ts +6 -0
- package/dist/lib/mail/queue/MailQueue.d.ts +51 -0
- package/dist/lib/mail/queue/index.d.ts +1 -0
- package/dist/lib/mail/types/MailConfig.d.ts +146 -0
- package/dist/lib/mail/types/index.d.ts +1 -0
- package/dist/lib/mail/utils/TemplateRenderer.d.ts +34 -0
- package/dist/lib/mail/utils/index.d.ts +1 -0
- package/dist/lib/server/ArcanaJSServer.d.ts +49 -16
- package/dist/lib/server/Container.d.ts +39 -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 +31 -32
- 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 +17 -0
- package/dist/lib/server/utils/dynamicRequire.d.ts +6 -0
- package/dist/lib/validation/ValidationException.d.ts +5 -0
- package/dist/lib/validation/Validator.d.ts +55 -0
- package/dist/types/global.d.ts +102 -0
- package/package.json +90 -25
- package/dist/lib/global.d.ts +0 -61
|
@@ -1,60 +1,57 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Router as ExpressRouter } from "express";
|
|
2
2
|
/**
|
|
3
|
-
* Provides Routing syntax for defining routes with prefixes, middlewares, and groups
|
|
3
|
+
* Provides Routing syntax for defining routes with prefixes, middlewares, and groups for ArcanaJS Framework
|
|
4
4
|
*/
|
|
5
|
-
export declare class
|
|
5
|
+
export declare class ArcanaJSRouter {
|
|
6
6
|
private router;
|
|
7
7
|
private middlewareStack;
|
|
8
8
|
private prefixStack;
|
|
9
9
|
constructor();
|
|
10
|
-
/**
|
|
11
|
-
* Create a new router instance
|
|
12
|
-
*/
|
|
13
|
-
static create(): Router;
|
|
14
10
|
/**
|
|
15
11
|
* Add middleware to the current stack
|
|
16
12
|
*/
|
|
17
|
-
middleware(...middleware:
|
|
13
|
+
middleware(...middleware: any[]): ArcanaJSRouter;
|
|
18
14
|
/**
|
|
19
15
|
* Add prefix to the current stack
|
|
20
16
|
*/
|
|
21
|
-
prefix(prefix: string):
|
|
17
|
+
prefix(prefix: string): ArcanaJSRouter;
|
|
22
18
|
/**
|
|
23
19
|
* Create a route group
|
|
24
20
|
*/
|
|
25
|
-
group(callback: (router:
|
|
21
|
+
group(callback: (router: ArcanaJSRouter) => void): ArcanaJSRouter;
|
|
26
22
|
/**
|
|
27
23
|
* Define a GET route
|
|
28
24
|
*/
|
|
29
|
-
get(path: string, ...args: any[]):
|
|
25
|
+
get(path: string, ...args: any[]): ArcanaJSRouter;
|
|
30
26
|
/**
|
|
31
27
|
* Define a POST route
|
|
32
28
|
*/
|
|
33
|
-
post(path: string, ...args: any[]):
|
|
29
|
+
post(path: string, ...args: any[]): ArcanaJSRouter;
|
|
34
30
|
/**
|
|
35
31
|
* Define a PUT route
|
|
36
32
|
*/
|
|
37
|
-
put(path: string, ...args: any[]):
|
|
33
|
+
put(path: string, ...args: any[]): ArcanaJSRouter;
|
|
38
34
|
/**
|
|
39
35
|
* Define a DELETE route
|
|
40
36
|
*/
|
|
41
|
-
delete(path: string, ...args: any[]):
|
|
37
|
+
delete(path: string, ...args: any[]): ArcanaJSRouter;
|
|
42
38
|
/**
|
|
43
39
|
* Define a PATCH route
|
|
44
40
|
*/
|
|
45
|
-
patch(path: string, ...args: any[]):
|
|
41
|
+
patch(path: string, ...args: any[]): ArcanaJSRouter;
|
|
46
42
|
/**
|
|
47
43
|
* Define an OPTIONS route
|
|
48
44
|
*/
|
|
49
|
-
options(path: string, ...args: any[]):
|
|
45
|
+
options(path: string, ...args: any[]): ArcanaJSRouter;
|
|
50
46
|
/**
|
|
51
|
-
*
|
|
47
|
+
* Define a resource route
|
|
48
|
+
* Registers index, create, store, show, edit, update, destroy routes
|
|
52
49
|
*/
|
|
53
|
-
|
|
50
|
+
resource(path: string, controller: any): ArcanaJSRouter;
|
|
54
51
|
/**
|
|
55
|
-
*
|
|
52
|
+
* Get the underlying Express router
|
|
56
53
|
*/
|
|
57
|
-
|
|
54
|
+
getRouter(): ExpressRouter;
|
|
58
55
|
/**
|
|
59
56
|
* Clone the current router instance
|
|
60
57
|
*/
|
|
@@ -63,6 +60,10 @@ export declare class Router {
|
|
|
63
60
|
* Add a route to the router
|
|
64
61
|
*/
|
|
65
62
|
private _addRoute;
|
|
63
|
+
/**
|
|
64
|
+
* Resolve middleware to RequestHandler
|
|
65
|
+
*/
|
|
66
|
+
private _resolveMiddleware;
|
|
66
67
|
/**
|
|
67
68
|
* Build the full path with prefixes
|
|
68
69
|
*/
|
|
@@ -77,18 +78,16 @@ export declare class Router {
|
|
|
77
78
|
*/
|
|
78
79
|
export declare class Route {
|
|
79
80
|
private static _router;
|
|
80
|
-
static
|
|
81
|
-
static
|
|
82
|
-
static
|
|
83
|
-
static
|
|
84
|
-
static
|
|
85
|
-
static
|
|
86
|
-
static
|
|
87
|
-
static
|
|
88
|
-
static
|
|
89
|
-
static
|
|
81
|
+
static middleware(...middleware: any[]): typeof Route;
|
|
82
|
+
static prefix(prefix: string): typeof Route;
|
|
83
|
+
static group(callback: (router: ArcanaJSRouter) => void): typeof Route;
|
|
84
|
+
static get(path: string, ...args: any[]): typeof Route;
|
|
85
|
+
static post(path: string, ...args: any[]): typeof Route;
|
|
86
|
+
static put(path: string, ...args: any[]): typeof Route;
|
|
87
|
+
static delete(path: string, ...args: any[]): typeof Route;
|
|
88
|
+
static patch(path: string, ...args: any[]): typeof Route;
|
|
89
|
+
static options(path: string, ...args: any[]): typeof Route;
|
|
90
|
+
static resource(path: string, controller: any): typeof Route;
|
|
90
91
|
static getRouter(): ExpressRouter;
|
|
91
|
-
static mount(app: express.Application, basePath?: string): void;
|
|
92
|
-
static reset(): void;
|
|
93
92
|
}
|
|
94
93
|
export default Route;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Request } from "express";
|
|
2
|
+
export declare abstract class FormRequest {
|
|
3
|
+
protected req: Request;
|
|
4
|
+
constructor(req: Request);
|
|
5
|
+
abstract rules(): Record<string, string>;
|
|
6
|
+
authorize(): boolean;
|
|
7
|
+
validate(): Promise<Record<string, any>>;
|
|
8
|
+
input(key: string, defaultValue?: any): any;
|
|
9
|
+
all(): any;
|
|
10
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class JsonResource {
|
|
2
|
+
resource: any;
|
|
3
|
+
constructor(resource: any);
|
|
4
|
+
static make(resource: any): JsonResource;
|
|
5
|
+
static collection(resource: any[]): AnonymousResourceCollection;
|
|
6
|
+
resolve(request?: any): any;
|
|
7
|
+
toArray(request?: any): any;
|
|
8
|
+
}
|
|
9
|
+
export declare class AnonymousResourceCollection extends JsonResource {
|
|
10
|
+
collects: any;
|
|
11
|
+
constructor(resource: any[], collects: any);
|
|
12
|
+
resolve(request?: any): any;
|
|
13
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
/**
|
|
14
|
+
* Shutdown any application services.
|
|
15
|
+
*/
|
|
16
|
+
shutdown(): Promise<void>;
|
|
17
|
+
}
|
|
@@ -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,55 @@
|
|
|
1
|
+
import type { DatabaseAdapter } from "../arcanox/types";
|
|
2
|
+
export declare class Validator {
|
|
3
|
+
protected data: any;
|
|
4
|
+
protected rules: Record<string, string>;
|
|
5
|
+
protected errors: Record<string, string[]>;
|
|
6
|
+
protected databaseAdapter?: DatabaseAdapter;
|
|
7
|
+
/**
|
|
8
|
+
* Map of custom validator functions.
|
|
9
|
+
*/
|
|
10
|
+
private static customValidators;
|
|
11
|
+
/**
|
|
12
|
+
* Register a custom validator.
|
|
13
|
+
*/
|
|
14
|
+
static registerValidator(name: string, fn: (value: any, data: any, param?: string) => true | string | Promise<true | string>): void;
|
|
15
|
+
constructor(data: any, rules: Record<string, string>);
|
|
16
|
+
static make(data: any, rules: Record<string, string>): Validator;
|
|
17
|
+
/**
|
|
18
|
+
* Set the database adapter for database validation rules
|
|
19
|
+
*/
|
|
20
|
+
setDatabaseAdapter(adapter: DatabaseAdapter): this;
|
|
21
|
+
fails(): Promise<boolean>;
|
|
22
|
+
passes(): Promise<boolean>;
|
|
23
|
+
errors_(): Record<string, string[]>;
|
|
24
|
+
validate(): Promise<Record<string, any>>;
|
|
25
|
+
protected validateRules(): Promise<Record<string, any>>;
|
|
26
|
+
/**
|
|
27
|
+
* Check if any rules require database adapter
|
|
28
|
+
*/
|
|
29
|
+
protected needsDatabaseAdapter(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Auto-inject database adapter from Container
|
|
32
|
+
*/
|
|
33
|
+
protected autoInjectDatabaseAdapter(): Promise<void>;
|
|
34
|
+
protected getValue(field: string): any;
|
|
35
|
+
protected applyRule(field: string, value: any, rule: string): Promise<void>;
|
|
36
|
+
protected validateArrayContent(field: string, array: any[], type: string): Promise<void>;
|
|
37
|
+
protected validateMin(field: string, value: any, param: string): void;
|
|
38
|
+
protected validateMax(field: string, value: any, param: string): void;
|
|
39
|
+
protected isValidJson(value: any): boolean;
|
|
40
|
+
protected isEmpty(value: any): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Validate unique rule: unique:table,column,ignoreId,ignoreColumn
|
|
43
|
+
* Examples:
|
|
44
|
+
* - unique:users,email
|
|
45
|
+
* - unique:users,email,5 (ignore record with id=5)
|
|
46
|
+
* - unique:users,email,5,user_id (ignore record where user_id=5)
|
|
47
|
+
*/
|
|
48
|
+
protected validateUnique(field: string, value: any, param: string): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Validate exists rule: exists:table,column
|
|
51
|
+
* Example: exists:riads,id
|
|
52
|
+
*/
|
|
53
|
+
protected validateExists(field: string, value: any, param: string): Promise<void>;
|
|
54
|
+
protected addError(field: string, message: string): void;
|
|
55
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global type declarations for ArcanaJS
|
|
3
|
+
* This file provides type support for CSS imports in projects using ArcanaJS
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
/// <reference types="react" />
|
|
7
|
+
|
|
8
|
+
// CSS Module declarations
|
|
9
|
+
declare module "*.css" {
|
|
10
|
+
const content: { [className: string]: string };
|
|
11
|
+
export default content;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
declare module "*.module.css" {
|
|
15
|
+
const classes: { [key: string]: string };
|
|
16
|
+
export default classes;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// SCSS declarations
|
|
20
|
+
declare module "*.scss" {
|
|
21
|
+
const content: { [className: string]: string };
|
|
22
|
+
export default content;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
declare module "*.module.scss" {
|
|
26
|
+
const classes: { [key: string]: string };
|
|
27
|
+
export default classes;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// SASS declarations
|
|
31
|
+
declare module "*.sass" {
|
|
32
|
+
const content: { [className: string]: string };
|
|
33
|
+
export default content;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare module "*.module.sass" {
|
|
37
|
+
const classes: { [key: string]: string };
|
|
38
|
+
export default classes;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// LESS declarations
|
|
42
|
+
declare module "*.less" {
|
|
43
|
+
const content: { [className: string]: string };
|
|
44
|
+
export default content;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
declare module "*.module.less" {
|
|
48
|
+
const classes: { [key: string]: string };
|
|
49
|
+
export default classes;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Image file declarations
|
|
53
|
+
declare module "*.png" {
|
|
54
|
+
const value: string;
|
|
55
|
+
export default value;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
declare module "*.jpg" {
|
|
59
|
+
const value: string;
|
|
60
|
+
export default value;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
declare module "*.jpeg" {
|
|
64
|
+
const value: string;
|
|
65
|
+
export default value;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
declare module "*.gif" {
|
|
69
|
+
const value: string;
|
|
70
|
+
export default value;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
declare module "*.svg" {
|
|
74
|
+
const value: string;
|
|
75
|
+
export default value;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
declare module "*.webp" {
|
|
79
|
+
const value: string;
|
|
80
|
+
export default value;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// Font file declarations
|
|
84
|
+
declare module "*.woff" {
|
|
85
|
+
const value: string;
|
|
86
|
+
export default value;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
declare module "*.woff2" {
|
|
90
|
+
const value: string;
|
|
91
|
+
export default value;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
declare module "*.ttf" {
|
|
95
|
+
const value: string;
|
|
96
|
+
export default value;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
declare module "*.eot" {
|
|
100
|
+
const value: string;
|
|
101
|
+
export default value;
|
|
102
|
+
}
|
package/package.json
CHANGED
|
@@ -5,32 +5,37 @@
|
|
|
5
5
|
"email": "mohammed.bencheikh.dev@gmail.com",
|
|
6
6
|
"url": "https://mohammedbencheikh.com/"
|
|
7
7
|
},
|
|
8
|
-
"version": "
|
|
8
|
+
"version": "5.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 && cp src/
|
|
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"
|
|
14
14
|
},
|
|
15
15
|
"exports": {
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"types": "./dist/lib/index.client.d.ts",
|
|
19
|
-
"default": "./dist/arcanajs.client.js"
|
|
20
|
-
},
|
|
21
|
-
"node": {
|
|
22
|
-
"types": "./dist/lib/index.d.ts",
|
|
23
|
-
"default": "./dist/arcanajs.js"
|
|
24
|
-
},
|
|
16
|
+
"./server": {
|
|
17
|
+
"types": "./dist/lib/index.server.d.ts",
|
|
25
18
|
"default": "./dist/arcanajs.js"
|
|
26
19
|
},
|
|
20
|
+
"./arcanox": {
|
|
21
|
+
"types": "./dist/lib/index.arcanox.d.ts",
|
|
22
|
+
"default": "./dist/arcanox.js"
|
|
23
|
+
},
|
|
27
24
|
"./client": {
|
|
28
25
|
"types": "./dist/lib/index.client.d.ts",
|
|
29
26
|
"default": "./dist/arcanajs.client.js"
|
|
30
27
|
},
|
|
31
|
-
"./
|
|
32
|
-
"types": "./dist/lib/index.d.ts",
|
|
33
|
-
"default": "./dist/arcanajs.js"
|
|
28
|
+
"./auth": {
|
|
29
|
+
"types": "./dist/lib/index.auth.d.ts",
|
|
30
|
+
"default": "./dist/arcanajs.auth.js"
|
|
31
|
+
},
|
|
32
|
+
"./validator": {
|
|
33
|
+
"types": "./dist/lib/index.validator.d.ts",
|
|
34
|
+
"default": "./dist/arcanajs.validator.js"
|
|
35
|
+
},
|
|
36
|
+
"./mail": {
|
|
37
|
+
"types": "./dist/lib/index.mail.d.ts",
|
|
38
|
+
"default": "./dist/arcanajs.mail.js"
|
|
34
39
|
}
|
|
35
40
|
},
|
|
36
41
|
"bin": {
|
|
@@ -41,38 +46,75 @@
|
|
|
41
46
|
"bin"
|
|
42
47
|
],
|
|
43
48
|
"peerDependencies": {
|
|
49
|
+
"@aws-sdk/client-ses": "^3.0.0",
|
|
50
|
+
"connect-redis": "^7.0.0",
|
|
51
|
+
"handlebars": "^4.7.0",
|
|
52
|
+
"ioredis": "^5.0.0",
|
|
53
|
+
"mongodb": "^6.0.0 || ^7.0.0",
|
|
54
|
+
"mysql2": "^3.0.0",
|
|
55
|
+
"nodemailer-mailgun-transport": "^2.0.0",
|
|
56
|
+
"pg": "^8.0.0",
|
|
44
57
|
"react": "^19.0.0",
|
|
45
58
|
"react-dom": "^19.0.0"
|
|
46
59
|
},
|
|
60
|
+
"peerDependenciesMeta": {
|
|
61
|
+
"pg": {
|
|
62
|
+
"optional": true
|
|
63
|
+
},
|
|
64
|
+
"mysql2": {
|
|
65
|
+
"optional": true
|
|
66
|
+
},
|
|
67
|
+
"@faker-js/faker": {
|
|
68
|
+
"optional": true
|
|
69
|
+
},
|
|
70
|
+
"mongodb": {
|
|
71
|
+
"optional": true
|
|
72
|
+
},
|
|
73
|
+
"@aws-sdk/client-ses": {
|
|
74
|
+
"optional": true
|
|
75
|
+
},
|
|
76
|
+
"ioredis": {
|
|
77
|
+
"optional": true
|
|
78
|
+
},
|
|
79
|
+
"connect-redis": {
|
|
80
|
+
"optional": true
|
|
81
|
+
},
|
|
82
|
+
"handlebars": {
|
|
83
|
+
"optional": true
|
|
84
|
+
},
|
|
85
|
+
"nodemailer-mailgun-transport": {
|
|
86
|
+
"optional": true
|
|
87
|
+
}
|
|
88
|
+
},
|
|
47
89
|
"dependencies": {
|
|
48
90
|
"@babel/core": "^7.23.0",
|
|
49
91
|
"@babel/preset-env": "^7.23.0",
|
|
50
92
|
"@babel/preset-react": "^7.22.15",
|
|
51
93
|
"@babel/preset-typescript": "^7.23.0",
|
|
52
|
-
"@tailwindcss/postcss": "^4.1.17",
|
|
53
|
-
"@types/compression": "^1.8.1",
|
|
54
|
-
"@types/cookie-parser": "^1.4.10",
|
|
55
|
-
"@types/express": "^5.0.5",
|
|
56
|
-
"@types/node": "^24.10.1",
|
|
57
|
-
"@types/react": "^19.2.7",
|
|
58
|
-
"@types/react-dom": "^19.2.3",
|
|
59
94
|
"@types/ws": "^8.18.1",
|
|
60
|
-
"autoprefixer": "^10.4.22",
|
|
61
95
|
"babel-loader": "^10.0.0",
|
|
96
|
+
"bcryptjs": "^2.4.3",
|
|
62
97
|
"clean-webpack-plugin": "^4.0.0",
|
|
63
98
|
"compression": "^1.8.1",
|
|
64
99
|
"cookie-parser": "^1.4.7",
|
|
65
100
|
"cross-env": "^10.1.0",
|
|
66
101
|
"css-loader": "^7.1.2",
|
|
102
|
+
"dotenv": "^16.6.1",
|
|
103
|
+
"ejs": "^3.1.9",
|
|
67
104
|
"express": "^5.1.0",
|
|
105
|
+
"express-session": "^1.18.0",
|
|
106
|
+
"express-validator": "^7.3.1",
|
|
68
107
|
"helmet": "^8.1.0",
|
|
69
108
|
"html-webpack-plugin": "^5.6.5",
|
|
109
|
+
"jsonwebtoken": "^9.0.2",
|
|
70
110
|
"mini-css-extract-plugin": "^2.9.4",
|
|
111
|
+
"nodemailer": "^7.0.11",
|
|
71
112
|
"null-loader": "^4.0.1",
|
|
72
113
|
"postcss": "^8.5.6",
|
|
73
114
|
"postcss-loader": "^8.2.0",
|
|
115
|
+
"redis": "^4.6.12",
|
|
116
|
+
"reflect-metadata": "^0.2.2",
|
|
74
117
|
"style-loader": "^4.0.0",
|
|
75
|
-
"tailwindcss": "^4.1.17",
|
|
76
118
|
"ts-node": "^10.9.2",
|
|
77
119
|
"tsx": "^4.20.6",
|
|
78
120
|
"typescript": "^5.9.3",
|
|
@@ -82,9 +124,32 @@
|
|
|
82
124
|
"ws": "^8.18.3"
|
|
83
125
|
},
|
|
84
126
|
"devDependencies": {
|
|
127
|
+
"@aws-sdk/client-ses": "^3.490.0",
|
|
128
|
+
"@faker-js/faker": "^10.1.0",
|
|
129
|
+
"@tailwindcss/postcss": "^4.1.17",
|
|
130
|
+
"@types/bcryptjs": "^2.4.6",
|
|
131
|
+
"@types/compression": "^1.8.1",
|
|
132
|
+
"@types/cookie-parser": "^1.4.10",
|
|
133
|
+
"@types/ejs": "^3.1.5",
|
|
134
|
+
"@types/express-session": "^1.18.0",
|
|
135
|
+
"@types/jsonwebtoken": "^9.0.5",
|
|
136
|
+
"@types/node": "^24.10.1",
|
|
137
|
+
"@types/nodemailer": "^7.0.4",
|
|
138
|
+
"@types/pg": "^8.15.6",
|
|
139
|
+
"@types/react": "^19.2.7",
|
|
140
|
+
"@types/react-dom": "^19.2.3",
|
|
85
141
|
"@types/webpack-node-externals": "^3.0.4",
|
|
142
|
+
"autoprefixer": "^10.4.22",
|
|
143
|
+
"connect-redis": "^7.1.0",
|
|
144
|
+
"handlebars": "^4.7.8",
|
|
145
|
+
"ioredis": "^5.3.2",
|
|
146
|
+
"mongodb": "^7.0.0",
|
|
147
|
+
"mysql2": "^3.15.3",
|
|
148
|
+
"nodemailer-mailgun-transport": "^2.1.5",
|
|
149
|
+
"pg": "^8.16.3",
|
|
86
150
|
"react": "^19.2.0",
|
|
87
|
-
"react-dom": "^19.2.0"
|
|
151
|
+
"react-dom": "^19.2.0",
|
|
152
|
+
"tailwindcss": "^4.1.17"
|
|
88
153
|
},
|
|
89
154
|
"keywords": [
|
|
90
155
|
"arcanajs",
|
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 {};
|