h3ravel-monorepo 0.1.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.
- package/.changeset/README.md +8 -0
- package/.changeset/config.json +11 -0
- package/.github/workflows/release.yml +42 -0
- package/.husky/pre-commit +1 -0
- package/LICENSE +21 -0
- package/README.md +65 -0
- package/docs/.gitkeep +0 -0
- package/eslint.config.js +17 -0
- package/examples/basic-app/.env.example +54 -0
- package/examples/basic-app/package.json +27 -0
- package/examples/basic-app/public/h3ravel-logo.svg +23 -0
- package/examples/basic-app/public/main.js +13 -0
- package/examples/basic-app/src/Exceptions/.gitkeep +0 -0
- package/examples/basic-app/src/config/app.ts +125 -0
- package/examples/basic-app/src/config/filesystem.ts +59 -0
- package/examples/basic-app/src/http/controllers/HomeController.ts +17 -0
- package/examples/basic-app/src/http/controllers/UserController.ts +29 -0
- package/examples/basic-app/src/http/middlewares/AuthMiddleware.ts +8 -0
- package/examples/basic-app/src/index.ts +30 -0
- package/examples/basic-app/src/resources/views/index.edge +383 -0
- package/examples/basic-app/src/routes/api.ts +17 -0
- package/examples/basic-app/src/routes/web.ts +6 -0
- package/examples/basic-app/src/storage/app/public/.gitkeep +0 -0
- package/examples/basic-app/tsconfig.json +8 -0
- package/package.json +36 -0
- package/packages/cache/node_modules/.bin/tsc +21 -0
- package/packages/cache/node_modules/.bin/tsserver +21 -0
- package/packages/cache/package.json +26 -0
- package/packages/cache/src/CacheManager.ts +1 -0
- package/packages/cache/src/Contracts/.gitkeep +0 -0
- package/packages/cache/src/Drivers/MemoryCache.ts +1 -0
- package/packages/cache/src/Drivers/RedisCache.ts +1 -0
- package/packages/cache/src/Helpers.ts +1 -0
- package/packages/cache/src/Providers/CacheServiceProvider.ts +16 -0
- package/packages/cache/src/index.ts +9 -0
- package/packages/cache/tests/.gitkeep +0 -0
- package/packages/cache/tsconfig.json +9 -0
- package/packages/cache/vite.config.ts +9 -0
- package/packages/config/node_modules/.bin/tsc +21 -0
- package/packages/config/node_modules/.bin/tsserver +21 -0
- package/packages/config/package.json +34 -0
- package/packages/config/src/ConfigRepository.ts +51 -0
- package/packages/config/src/Contracts/.gitkeep +0 -0
- package/packages/config/src/EnvLoader.ts +16 -0
- package/packages/config/src/Helpers.ts +1 -0
- package/packages/config/src/Providers/ConfigServiceProvider.ts +46 -0
- package/packages/config/src/index.ts +8 -0
- package/packages/config/tests/.gitkeep +0 -0
- package/packages/config/tsconfig.json +8 -0
- package/packages/config/vite.config.ts +9 -0
- package/packages/console/node_modules/.bin/tsc +21 -0
- package/packages/console/node_modules/.bin/tsserver +21 -0
- package/packages/console/package.json +26 -0
- package/packages/console/src/Commands/MakeController.ts +1 -0
- package/packages/console/src/Commands/MakeModel.ts +1 -0
- package/packages/console/src/Commands/MakeResource.ts +1 -0
- package/packages/console/src/Contracts/.gitkeep +0 -0
- package/packages/console/src/IO/.gitkeep +0 -0
- package/packages/console/src/Kernel.ts +1 -0
- package/packages/console/src/Musketeer.ts +4 -0
- package/packages/console/src/Providers/ConsoleServiceProvider.ts +16 -0
- package/packages/console/src/index.ts +10 -0
- package/packages/console/tests/.gitkeep +0 -0
- package/packages/console/tsconfig.json +8 -0
- package/packages/console/vite.config.ts +9 -0
- package/packages/core/node_modules/.bin/tsc +21 -0
- package/packages/core/node_modules/.bin/tsserver +21 -0
- package/packages/core/package.json +29 -0
- package/packages/core/src/Application.ts +164 -0
- package/packages/core/src/Container.ts +71 -0
- package/packages/core/src/Contracts/.gitkeep +0 -0
- package/packages/core/src/Contracts/BindingsContract.ts +37 -0
- package/packages/core/src/Controller.ts +20 -0
- package/packages/core/src/Exceptions/Handler.ts +1 -0
- package/packages/core/src/Http/Kernel.ts +47 -0
- package/packages/core/src/Providers/AppServiceProvider.ts +18 -0
- package/packages/core/src/Providers/ViewServiceProvider.ts +19 -0
- package/packages/core/src/ServiceProvider.ts +21 -0
- package/packages/core/src/Utils/PathLoader.ts +46 -0
- package/packages/core/src/index.ts +14 -0
- package/packages/core/tests/.gitkeep +0 -0
- package/packages/core/tsconfig.json +8 -0
- package/packages/core/vite.config.ts +9 -0
- package/packages/database/node_modules/.bin/tsc +21 -0
- package/packages/database/node_modules/.bin/tsserver +21 -0
- package/packages/database/package.json +26 -0
- package/packages/database/src/Contracts/.gitkeep +0 -0
- package/packages/database/src/Migrations/.gitkeep +0 -0
- package/packages/database/src/Model.ts +1 -0
- package/packages/database/src/Providers/DatabaseServiceProvider.ts +16 -0
- package/packages/database/src/Query/.gitkeep +0 -0
- package/packages/database/src/index.ts +6 -0
- package/packages/database/src/tests/.gitkeep +0 -0
- package/packages/database/tsconfig.json +8 -0
- package/packages/database/vite.config.ts +9 -0
- package/packages/http/node_modules/.bin/tsc +21 -0
- package/packages/http/node_modules/.bin/tsserver +21 -0
- package/packages/http/package.json +28 -0
- package/packages/http/src/Contracts/ControllerContracts.ts +13 -0
- package/packages/http/src/Contracts/HttpContract.ts +7 -0
- package/packages/http/src/Middleware/LogRequests.ts +9 -0
- package/packages/http/src/Middleware.ts +5 -0
- package/packages/http/src/Providers/HttpServiceProvider.ts +22 -0
- package/packages/http/src/Request.ts +59 -0
- package/packages/http/src/Resources/ApiResource.ts +39 -0
- package/packages/http/src/Resources/JsonResource.ts +201 -0
- package/packages/http/src/Response.ts +80 -0
- package/packages/http/src/index.ts +13 -0
- package/packages/http/tests/.gitkeep +0 -0
- package/packages/http/tsconfig.json +8 -0
- package/packages/http/vite.config.ts +9 -0
- package/packages/mail/node_modules/.bin/tsc +21 -0
- package/packages/mail/node_modules/.bin/tsserver +21 -0
- package/packages/mail/package.json +26 -0
- package/packages/mail/src/Contracts/.gitkeep +0 -0
- package/packages/mail/src/Drivers/SES.ts +1 -0
- package/packages/mail/src/Drivers/SMTP.ts +1 -0
- package/packages/mail/src/Helpers.ts +1 -0
- package/packages/mail/src/Mailable.ts +1 -0
- package/packages/mail/src/Mailer.ts +1 -0
- package/packages/mail/src/Providers/MailServiceProvider.ts +16 -0
- package/packages/mail/src/index.ts +10 -0
- package/packages/mail/tests/.gitkeep +0 -0
- package/packages/mail/tsconfig.json +8 -0
- package/packages/mail/vite.config.ts +9 -0
- package/packages/queue/node_modules/.bin/tsc +21 -0
- package/packages/queue/node_modules/.bin/tsserver +21 -0
- package/packages/queue/package.json +26 -0
- package/packages/queue/src/Contracts/.gitkeep +0 -0
- package/packages/queue/src/Drivers/MemoryDriver.ts +1 -0
- package/packages/queue/src/Drivers/RedisDriver.ts +1 -0
- package/packages/queue/src/Jobs/.gitkeep +0 -0
- package/packages/queue/src/Providers/QueueServiceProvider.ts +16 -0
- package/packages/queue/src/QueueManager.ts +1 -0
- package/packages/queue/src/Workers/.gitkeep +0 -0
- package/packages/queue/src/index.ts +8 -0
- package/packages/queue/tests/.gitkeep +0 -0
- package/packages/queue/tsconfig.json +8 -0
- package/packages/queue/vite.config.ts +9 -0
- package/packages/router/node_modules/.bin/tsc +21 -0
- package/packages/router/node_modules/.bin/tsserver +21 -0
- package/packages/router/package.json +27 -0
- package/packages/router/src/Contracts/.gitkeep +0 -0
- package/packages/router/src/Controller.ts +1 -0
- package/packages/router/src/Decorators/ApiResource.ts +1 -0
- package/packages/router/src/Decorators/Controller.ts +1 -0
- package/packages/router/src/Decorators/Get.ts +1 -0
- package/packages/router/src/Decorators/Middleware.ts +1 -0
- package/packages/router/src/Decorators/Post.ts +1 -0
- package/packages/router/src/Middleware/.gitkeep +0 -0
- package/packages/router/src/Providers/AssetsServiceProvider.ts +53 -0
- package/packages/router/src/Providers/RouteServiceProvider.ts +44 -0
- package/packages/router/src/Route.ts +1 -0
- package/packages/router/src/Router.ts +180 -0
- package/packages/router/src/index.ts +14 -0
- package/packages/router/tests/.gitkeep +0 -0
- package/packages/router/tsconfig.json +8 -0
- package/packages/router/vite.config.ts +9 -0
- package/packages/support/node_modules/.bin/tsc +21 -0
- package/packages/support/node_modules/.bin/tsserver +21 -0
- package/packages/support/package.json +26 -0
- package/packages/support/src/Contracts/ObjContract.ts +53 -0
- package/packages/support/src/Contracts/StrContract.ts +6 -0
- package/packages/support/src/Facades/.gitkeep +0 -0
- package/packages/support/src/Helpers/Arr.ts +33 -0
- package/packages/support/src/Helpers/Number.ts +194 -0
- package/packages/support/src/Helpers/Obj.ts +220 -0
- package/packages/support/src/Helpers/Str.ts +256 -0
- package/packages/support/src/index.ts +10 -0
- package/packages/support/tests/.gitkeep +0 -0
- package/packages/support/tsconfig.json +8 -0
- package/packages/support/vite.config.ts +9 -0
- package/pnpm-workspace.yaml +7 -0
- package/tsconfig.json +26 -0
- package/tsup.config.ts +15 -0
- package/vite.base.config.ts +12 -0
@@ -0,0 +1,201 @@
|
|
1
|
+
import { EventHandlerRequest, H3Event } from "h3";
|
2
|
+
|
3
|
+
export interface Resource {
|
4
|
+
[key: string]: any;
|
5
|
+
pagination?: {
|
6
|
+
from?: number | undefined;
|
7
|
+
to?: number | undefined;
|
8
|
+
perPage?: number | undefined;
|
9
|
+
total?: number | undefined;
|
10
|
+
} | undefined;
|
11
|
+
}
|
12
|
+
|
13
|
+
type BodyResource = Resource & {
|
14
|
+
data: Omit<Resource, 'pagination'>,
|
15
|
+
meta?: {
|
16
|
+
pagination?: Resource['pagination']
|
17
|
+
} | undefined;
|
18
|
+
}
|
19
|
+
|
20
|
+
/**
|
21
|
+
* Class to render API resource
|
22
|
+
*/
|
23
|
+
export class JsonResource<R extends Resource = any> {
|
24
|
+
/**
|
25
|
+
* The request instance
|
26
|
+
*/
|
27
|
+
request: H3Event<EventHandlerRequest>['req'];
|
28
|
+
/**
|
29
|
+
* The response instance
|
30
|
+
*/
|
31
|
+
response: H3Event['res'];
|
32
|
+
/**
|
33
|
+
* The data to send to the client
|
34
|
+
*/
|
35
|
+
resource: R;
|
36
|
+
/**
|
37
|
+
* The final response data object
|
38
|
+
*/
|
39
|
+
body: BodyResource = {
|
40
|
+
data: {},
|
41
|
+
};
|
42
|
+
/**
|
43
|
+
* Flag to track if response should be sent automatically
|
44
|
+
*/
|
45
|
+
private shouldSend: boolean = false;
|
46
|
+
/**
|
47
|
+
* Flag to track if response has been sent
|
48
|
+
*/
|
49
|
+
|
50
|
+
private responseSent: boolean = false;
|
51
|
+
|
52
|
+
/**
|
53
|
+
* Declare that this includes R's properties
|
54
|
+
*/
|
55
|
+
[key: string]: any;
|
56
|
+
|
57
|
+
/**
|
58
|
+
* @param req The request instance
|
59
|
+
* @param res The response instance
|
60
|
+
* @param rsc The data to send to the client
|
61
|
+
*/
|
62
|
+
constructor(private event: H3Event, rsc: R) {
|
63
|
+
this.request = event.req;
|
64
|
+
this.response = event.res;
|
65
|
+
this.resource = rsc;
|
66
|
+
|
67
|
+
// Copy all properties from rsc to this, avoiding conflicts
|
68
|
+
for (const key of Object.keys(rsc)) {
|
69
|
+
if (!(key in this)) {
|
70
|
+
Object.defineProperty(this, key, {
|
71
|
+
enumerable: true,
|
72
|
+
configurable: true,
|
73
|
+
get: () => this.resource[key],
|
74
|
+
set: (value) => {
|
75
|
+
(<any>this.resource)[key] = value;
|
76
|
+
},
|
77
|
+
});
|
78
|
+
}
|
79
|
+
}
|
80
|
+
}
|
81
|
+
|
82
|
+
/**
|
83
|
+
* Return the data in the expected format
|
84
|
+
*
|
85
|
+
* @returns
|
86
|
+
*/
|
87
|
+
data (): Resource {
|
88
|
+
return this.resource
|
89
|
+
}
|
90
|
+
|
91
|
+
/**
|
92
|
+
* Build the response object
|
93
|
+
* @returns this
|
94
|
+
*/
|
95
|
+
json () {
|
96
|
+
// Indicate response should be sent automatically
|
97
|
+
this.shouldSend = true;
|
98
|
+
|
99
|
+
// Set default status code
|
100
|
+
this.response.status = 200;
|
101
|
+
|
102
|
+
// Prepare body
|
103
|
+
const resource = this.data()
|
104
|
+
let data: Resource = Array.isArray(resource) ? [...resource] : { ...resource };
|
105
|
+
|
106
|
+
if (typeof data.data !== 'undefined') {
|
107
|
+
data = data.data
|
108
|
+
}
|
109
|
+
|
110
|
+
if (!Array.isArray(resource)) {
|
111
|
+
delete data.pagination;
|
112
|
+
}
|
113
|
+
|
114
|
+
this.body = {
|
115
|
+
data,
|
116
|
+
};
|
117
|
+
|
118
|
+
// Set the pagination from the data() resource, if available
|
119
|
+
if (!Array.isArray(resource) && resource.pagination) {
|
120
|
+
const meta: BodyResource['meta'] = this.body.meta ?? {}
|
121
|
+
meta.pagination = resource.pagination;
|
122
|
+
this.body.meta = meta;
|
123
|
+
}
|
124
|
+
|
125
|
+
// If pagination is not available on the resource, then check and set it
|
126
|
+
// if it's available on the base resource.
|
127
|
+
if (this.resource.pagination && !this.body.meta?.pagination) {
|
128
|
+
const meta: BodyResource['meta'] = this.body.meta ?? {}
|
129
|
+
meta.pagination = this.resource.pagination;
|
130
|
+
this.body.meta = meta;
|
131
|
+
}
|
132
|
+
|
133
|
+
return this;
|
134
|
+
}
|
135
|
+
|
136
|
+
/**
|
137
|
+
* Add context data to the response object
|
138
|
+
* @param data Context data
|
139
|
+
* @returns this
|
140
|
+
*/
|
141
|
+
additional<X extends { [key: string]: any }> (data: X) {
|
142
|
+
|
143
|
+
// Allow automatic send after additional
|
144
|
+
this.shouldSend = true;
|
145
|
+
|
146
|
+
// Merge data with body
|
147
|
+
delete data.data;
|
148
|
+
delete data.pagination;
|
149
|
+
|
150
|
+
this.body = {
|
151
|
+
...this.body,
|
152
|
+
...data,
|
153
|
+
};
|
154
|
+
|
155
|
+
return this;
|
156
|
+
}
|
157
|
+
|
158
|
+
/**
|
159
|
+
* Send the output to the client
|
160
|
+
* @returns this
|
161
|
+
*/
|
162
|
+
send () {
|
163
|
+
this.shouldSend = false; // Prevent automatic send
|
164
|
+
if (!this.responseSent) {
|
165
|
+
this.#send();
|
166
|
+
}
|
167
|
+
return this;
|
168
|
+
}
|
169
|
+
|
170
|
+
/**
|
171
|
+
* Set the status code for this response
|
172
|
+
* @param code Status code
|
173
|
+
* @returns this
|
174
|
+
*/
|
175
|
+
status (code: number) {
|
176
|
+
this.response.status = code;
|
177
|
+
return this;
|
178
|
+
}
|
179
|
+
|
180
|
+
/**
|
181
|
+
* Private method to send the response
|
182
|
+
*/
|
183
|
+
#send () {
|
184
|
+
if (!this.responseSent) {
|
185
|
+
this.event.context.
|
186
|
+
this.response.json(this.body);
|
187
|
+
|
188
|
+
// Mark response as sent
|
189
|
+
this.responseSent = true;
|
190
|
+
}
|
191
|
+
}
|
192
|
+
|
193
|
+
/**
|
194
|
+
* Check if send should be triggered automatically
|
195
|
+
*/
|
196
|
+
private checkSend () {
|
197
|
+
if (this.shouldSend && !this.responseSent) {
|
198
|
+
this.#send();
|
199
|
+
}
|
200
|
+
}
|
201
|
+
}
|
@@ -0,0 +1,80 @@
|
|
1
|
+
import { DotNestedKeys, DotNestedValue, safeDot } from '@h3ravel/support'
|
2
|
+
import { html, redirect, } from 'h3'
|
3
|
+
|
4
|
+
import type { H3Event } from 'h3'
|
5
|
+
|
6
|
+
export class Response {
|
7
|
+
private readonly event: H3Event
|
8
|
+
private statusCode: number = 200
|
9
|
+
private headers: Record<string, string> = {}
|
10
|
+
|
11
|
+
constructor(event: H3Event) {
|
12
|
+
this.event = event
|
13
|
+
}
|
14
|
+
|
15
|
+
/**
|
16
|
+
* Set HTTP status code.
|
17
|
+
*/
|
18
|
+
setStatusCode (code: number): this {
|
19
|
+
this.statusCode = code
|
20
|
+
this.event.res.status = code
|
21
|
+
return this
|
22
|
+
}
|
23
|
+
|
24
|
+
/**
|
25
|
+
* Set a header.
|
26
|
+
*/
|
27
|
+
setHeader (name: string, value: string): this {
|
28
|
+
this.headers[name] = value
|
29
|
+
return this
|
30
|
+
}
|
31
|
+
|
32
|
+
html (content: string): string {
|
33
|
+
this.applyHeaders()
|
34
|
+
return html(this.event, content)
|
35
|
+
}
|
36
|
+
|
37
|
+
/**
|
38
|
+
* Send a JSON response.
|
39
|
+
*/
|
40
|
+
json<T = unknown> (data: T): T {
|
41
|
+
this.setHeader("content-type", "application/json; charset=utf-8")
|
42
|
+
this.applyHeaders()
|
43
|
+
return data
|
44
|
+
}
|
45
|
+
|
46
|
+
/**
|
47
|
+
* Send plain text.
|
48
|
+
*/
|
49
|
+
text (data: string): string {
|
50
|
+
this.setHeader("content-type", "text/plain; charset=utf-8")
|
51
|
+
this.applyHeaders()
|
52
|
+
return data;
|
53
|
+
}
|
54
|
+
|
55
|
+
/**
|
56
|
+
* Redirect to another URL.
|
57
|
+
*/
|
58
|
+
redirect (url: string, status = 302): string {
|
59
|
+
this.setStatusCode(status)
|
60
|
+
return redirect(this.event, url, this.statusCode)
|
61
|
+
}
|
62
|
+
|
63
|
+
/**
|
64
|
+
* Apply headers before sending response.
|
65
|
+
*/
|
66
|
+
private applyHeaders (): void {
|
67
|
+
Object.entries(this.headers).forEach(([key, value]) => {
|
68
|
+
this.event.res.headers.set(key, value)
|
69
|
+
})
|
70
|
+
}
|
71
|
+
|
72
|
+
/**
|
73
|
+
* Get the base event
|
74
|
+
*/
|
75
|
+
getEvent (): H3Event
|
76
|
+
getEvent<K extends DotNestedKeys<H3Event>> (key: K): DotNestedValue<H3Event, K>
|
77
|
+
getEvent<K extends DotNestedKeys<H3Event>> (key?: K): any {
|
78
|
+
return safeDot(this.event, key)
|
79
|
+
}
|
80
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/**
|
2
|
+
* @file Automatically generated by barrelsby.
|
3
|
+
*/
|
4
|
+
|
5
|
+
export * from './Middleware';
|
6
|
+
export * from './Request';
|
7
|
+
export * from './Response';
|
8
|
+
export * from './Contracts/ControllerContracts';
|
9
|
+
export * from './Contracts/HttpContract';
|
10
|
+
export * from './Middleware/LogRequests';
|
11
|
+
export * from './Providers/HttpServiceProvider';
|
12
|
+
export * from './Resources/ApiResource';
|
13
|
+
export * from './Resources/JsonResource';
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
3
|
+
|
4
|
+
case `uname` in
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
8
|
+
fi
|
9
|
+
;;
|
10
|
+
esac
|
11
|
+
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
13
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules"
|
14
|
+
else
|
15
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules:$NODE_PATH"
|
16
|
+
fi
|
17
|
+
if [ -x "$basedir/node" ]; then
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
19
|
+
else
|
20
|
+
exec node "$basedir/../typescript/bin/tsc" "$@"
|
21
|
+
fi
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
3
|
+
|
4
|
+
case `uname` in
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
8
|
+
fi
|
9
|
+
;;
|
10
|
+
esac
|
11
|
+
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
13
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules"
|
14
|
+
else
|
15
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules:$NODE_PATH"
|
16
|
+
fi
|
17
|
+
if [ -x "$basedir/node" ]; then
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
19
|
+
else
|
20
|
+
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
21
|
+
fi
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"name": "@h3ravel/mail",
|
3
|
+
"version": "0.1.1",
|
4
|
+
"description": "Mail drivers and templates system for H3ravel.",
|
5
|
+
"type": "module",
|
6
|
+
"main": "dist/index.js",
|
7
|
+
"types": "dist/index.d.ts",
|
8
|
+
"publishConfig": {
|
9
|
+
"access": "public"
|
10
|
+
},
|
11
|
+
"scripts": {
|
12
|
+
"barrel": "barrelsby --directory src --delete --singleQuotes",
|
13
|
+
"build": "tsup",
|
14
|
+
"dev": "tsx watch src/index.ts",
|
15
|
+
"start": "node dist/index.js",
|
16
|
+
"lint": "eslint . --ext .ts",
|
17
|
+
"test": "vitest"
|
18
|
+
},
|
19
|
+
"dependencies": {
|
20
|
+
"@h3ravel/core": "workspace:*",
|
21
|
+
"h3": "^2.0.0-beta.1"
|
22
|
+
},
|
23
|
+
"devDependencies": {
|
24
|
+
"typescript": "^5.4.0"
|
25
|
+
}
|
26
|
+
}
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
export default class { }
|
@@ -0,0 +1 @@
|
|
1
|
+
export default class { }
|
@@ -0,0 +1 @@
|
|
1
|
+
export default class { }
|
@@ -0,0 +1 @@
|
|
1
|
+
export default class { }
|
@@ -0,0 +1 @@
|
|
1
|
+
export default class { }
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { ServiceProvider } from '@h3ravel/core'
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Mail delivery setup.
|
5
|
+
*
|
6
|
+
* Bind Mailer service.
|
7
|
+
* Load mail drivers (SMTP, SES).
|
8
|
+
* Register Mail facade.
|
9
|
+
*
|
10
|
+
* Auto-Registered if @h3ravel/mail is installed
|
11
|
+
*/
|
12
|
+
export class MailServiceProvider extends ServiceProvider {
|
13
|
+
register () {
|
14
|
+
// Core bindings
|
15
|
+
}
|
16
|
+
}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/**
|
2
|
+
* @file Automatically generated by barrelsby.
|
3
|
+
*/
|
4
|
+
|
5
|
+
export * from './Helpers';
|
6
|
+
export * from './Mailable';
|
7
|
+
export * from './Mailer';
|
8
|
+
export * from './Drivers/SES';
|
9
|
+
export * from './Drivers/SMTP';
|
10
|
+
export * from './Providers/MailServiceProvider';
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
3
|
+
|
4
|
+
case `uname` in
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
8
|
+
fi
|
9
|
+
;;
|
10
|
+
esac
|
11
|
+
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
13
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules"
|
14
|
+
else
|
15
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules:$NODE_PATH"
|
16
|
+
fi
|
17
|
+
if [ -x "$basedir/node" ]; then
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
19
|
+
else
|
20
|
+
exec node "$basedir/../typescript/bin/tsc" "$@"
|
21
|
+
fi
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
3
|
+
|
4
|
+
case `uname` in
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
8
|
+
fi
|
9
|
+
;;
|
10
|
+
esac
|
11
|
+
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
13
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules"
|
14
|
+
else
|
15
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules:$NODE_PATH"
|
16
|
+
fi
|
17
|
+
if [ -x "$basedir/node" ]; then
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
19
|
+
else
|
20
|
+
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
21
|
+
fi
|
@@ -0,0 +1,26 @@
|
|
1
|
+
{
|
2
|
+
"name": "@h3ravel/queue",
|
3
|
+
"version": "0.1.1",
|
4
|
+
"description": "Job queues, workers and broadcasting support system for H3ravel.",
|
5
|
+
"type": "module",
|
6
|
+
"main": "dist/index.js",
|
7
|
+
"types": "dist/index.d.ts",
|
8
|
+
"publishConfig": {
|
9
|
+
"access": "public"
|
10
|
+
},
|
11
|
+
"scripts": {
|
12
|
+
"barrel": "barrelsby --directory src --delete --singleQuotes",
|
13
|
+
"build": "tsup",
|
14
|
+
"dev": "tsx watch src/index.ts",
|
15
|
+
"start": "node dist/index.js",
|
16
|
+
"lint": "eslint . --ext .ts",
|
17
|
+
"test": "vitest"
|
18
|
+
},
|
19
|
+
"dependencies": {
|
20
|
+
"@h3ravel/core": "workspace:*",
|
21
|
+
"h3": "^2.0.0-beta.1"
|
22
|
+
},
|
23
|
+
"devDependencies": {
|
24
|
+
"typescript": "^5.4.0"
|
25
|
+
}
|
26
|
+
}
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
export default class { }
|
@@ -0,0 +1 @@
|
|
1
|
+
export default class { }
|
File without changes
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { ServiceProvider } from '@h3ravel/core'
|
2
|
+
|
3
|
+
/**
|
4
|
+
* Queues and workers.
|
5
|
+
*
|
6
|
+
* Register QueueManager.
|
7
|
+
* Load drivers (Redis, in-memory).
|
8
|
+
* Register job dispatcher and workers.
|
9
|
+
*
|
10
|
+
* Auto-Registered if @h3ravel/queue is installed
|
11
|
+
*/
|
12
|
+
export class QueueServiceProvider extends ServiceProvider {
|
13
|
+
register () {
|
14
|
+
// Core bindings
|
15
|
+
}
|
16
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export default class { }
|
File without changes
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
3
|
+
|
4
|
+
case `uname` in
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
8
|
+
fi
|
9
|
+
;;
|
10
|
+
esac
|
11
|
+
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
13
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules"
|
14
|
+
else
|
15
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules:$NODE_PATH"
|
16
|
+
fi
|
17
|
+
if [ -x "$basedir/node" ]; then
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
|
19
|
+
else
|
20
|
+
exec node "$basedir/../typescript/bin/tsc" "$@"
|
21
|
+
fi
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
3
|
+
|
4
|
+
case `uname` in
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
8
|
+
fi
|
9
|
+
;;
|
10
|
+
esac
|
11
|
+
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
13
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules"
|
14
|
+
else
|
15
|
+
export NODE_PATH="/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/bin/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/typescript@5.8.3/node_modules:/Users/ralph/Documents/Marx/Toneflix/OpenSource/H3ravel/framework/node_modules/.pnpm/node_modules:$NODE_PATH"
|
16
|
+
fi
|
17
|
+
if [ -x "$basedir/node" ]; then
|
18
|
+
exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
|
19
|
+
else
|
20
|
+
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
21
|
+
fi
|