canxjs 1.2.0 → 1.2.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/README.md +6 -6
- package/cli/create.ts +13 -24
- package/dist/core/Router.d.ts +1 -0
- package/dist/core/Router.d.ts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +500 -79
- package/dist/mvc/View.d.ts +2 -0
- package/dist/mvc/View.d.ts.map +1 -1
- package/dist/mvc/jsx-runtime.d.ts +3 -0
- package/dist/mvc/jsx-runtime.d.ts.map +1 -0
- package/dist/queue/Queue.d.ts +13 -1
- package/dist/queue/Queue.d.ts.map +1 -1
- package/dist/queue/drivers/MemoryDriver.d.ts +9 -0
- package/dist/queue/drivers/MemoryDriver.d.ts.map +1 -1
- package/dist/queue/drivers/RedisDriver.d.ts +11 -0
- package/dist/queue/drivers/RedisDriver.d.ts.map +1 -1
- package/dist/queue/drivers/types.d.ts +9 -0
- package/dist/queue/drivers/types.d.ts.map +1 -1
- package/dist/queue/ui/Dashboard.d.ts +2 -0
- package/dist/queue/ui/Dashboard.d.ts.map +1 -0
- package/dist/queue/ui/QueueController.d.ts +10 -0
- package/dist/queue/ui/QueueController.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -6
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +9 -1
- package/src/core/Router.ts +21 -0
- package/src/index.ts +3 -1
- package/src/mvc/Controller.ts +3 -3
- package/src/mvc/View.ts +16 -1
- package/src/mvc/jsx-runtime.ts +4 -0
- package/src/queue/Queue.ts +26 -1
- package/src/queue/drivers/MemoryDriver.ts +46 -0
- package/src/queue/drivers/RedisDriver.ts +81 -5
- package/src/queue/drivers/types.ts +8 -1
- package/src/queue/ui/Dashboard.tsx +114 -0
- package/src/queue/ui/QueueController.ts +46 -0
- package/src/types/index.ts +5 -6
package/README.md
CHANGED
|
@@ -196,12 +196,12 @@ my-app/
|
|
|
196
196
|
|
|
197
197
|
## Documentation
|
|
198
198
|
|
|
199
|
-
- [Getting Started](
|
|
200
|
-
- [Routing](
|
|
201
|
-
- [Controllers](
|
|
202
|
-
- [Models & ORM](
|
|
203
|
-
- [Middleware](
|
|
204
|
-
- [HotWire](
|
|
199
|
+
- [Getting Started](http://docs-canxjs.netlify.app/docs/installation)
|
|
200
|
+
- [Routing](http://docs-canxjs.netlify.app/docs/routing)
|
|
201
|
+
- [Controllers](http://docs-canxjs.netlify.app/docs/controllers)
|
|
202
|
+
- [Models & ORM](http://docs-canxjs.netlify.app/docs/orm)
|
|
203
|
+
- [Middleware](http://docs-canxjs.netlify.app/docs/middleware)
|
|
204
|
+
- [HotWire](http://docs-canxjs.netlify.app/docs/hotwire)
|
|
205
205
|
|
|
206
206
|
## License
|
|
207
207
|
|
package/cli/create.ts
CHANGED
|
@@ -35,7 +35,7 @@ function getPackageJson(name: string, template: string) {
|
|
|
35
35
|
test: 'bun test',
|
|
36
36
|
},
|
|
37
37
|
dependencies: {
|
|
38
|
-
canxjs: '^1.
|
|
38
|
+
canxjs: '^1.2.0',
|
|
39
39
|
},
|
|
40
40
|
devDependencies: {
|
|
41
41
|
'@types/bun': 'latest',
|
|
@@ -118,10 +118,11 @@ function getWebRoutes() {
|
|
|
118
118
|
import { HomeController } from '../controllers/HomeController';
|
|
119
119
|
|
|
120
120
|
export function webRoutes(router: RouterInstance) {
|
|
121
|
-
|
|
121
|
+
// Traditional route definition
|
|
122
|
+
// router.get('/', (req, res) => home.index(req, res));
|
|
122
123
|
|
|
123
|
-
|
|
124
|
-
router.
|
|
124
|
+
// New Controller-based routing (v1.2.0+)
|
|
125
|
+
router.controller('/', HomeController);
|
|
125
126
|
}
|
|
126
127
|
`;
|
|
127
128
|
}
|
|
@@ -154,31 +155,19 @@ export class HomeController extends BaseController {
|
|
|
154
155
|
@Get('/')
|
|
155
156
|
index(req: CanxRequest, res: CanxResponse) {
|
|
156
157
|
const html = renderPage(
|
|
157
|
-
jsx('div', { className: 'container' },
|
|
158
|
-
jsx('h1',
|
|
159
|
-
jsx('p',
|
|
160
|
-
jsx('
|
|
158
|
+
jsx('div', { className: 'container mx-auto px-4 py-8' },
|
|
159
|
+
jsx('h1', { className: 'text-4xl font-bold mb-4' }, 'Welcome to CanxJS!'),
|
|
160
|
+
jsx('p', { className: 'text-lg mb-4' }, 'Ultra-fast async-first MVC framework for Bun'),
|
|
161
|
+
jsx('div', { className: 'flex gap-4' },
|
|
162
|
+
jsx('a', { href: '/about', className: 'text-blue-500 hover:underline' }, 'About'),
|
|
163
|
+
jsx('a', { href: '/canx-queue', className: 'text-blue-500 hover:underline' }, 'Queue Dashboard')
|
|
164
|
+
)
|
|
161
165
|
),
|
|
162
166
|
{ title: 'Home - CanxJS' }
|
|
163
167
|
);
|
|
164
168
|
return res.html(html);
|
|
165
169
|
}
|
|
166
170
|
|
|
167
|
-
@Get('/about')
|
|
168
|
-
about(req: CanxRequest, res: CanxResponse) {
|
|
169
|
-
const html = renderPage(
|
|
170
|
-
jsx('div', { className: 'container' },
|
|
171
|
-
jsx('h1', null, 'About CanxJS'),
|
|
172
|
-
jsx('ul', null,
|
|
173
|
-
jsx('li', null, '🚀 Ultra-fast Bun runtime'),
|
|
174
|
-
jsx('li', null, '⚡ Async-first design'),
|
|
175
|
-
jsx('li', null, '🔥 HotWire real-time streaming'),
|
|
176
|
-
jsx('li', null, '🧠 Auto-caching layer')
|
|
177
|
-
),
|
|
178
|
-
jsx('a', { href: '/' }, 'Back to Home')
|
|
179
|
-
),
|
|
180
|
-
{ title: 'About - CanxJS' }
|
|
181
|
-
);
|
|
182
171
|
return res.html(html);
|
|
183
172
|
}
|
|
184
173
|
}
|
|
@@ -309,7 +298,7 @@ dist/
|
|
|
309
298
|
function getReadme(name: string) {
|
|
310
299
|
return `# ${name}
|
|
311
300
|
|
|
312
|
-
Built with [CanxJS](
|
|
301
|
+
Built with [CanxJS](http://docs-canxjs.netlify.app) - Ultra-fast async-first MVC framework for Bun
|
|
313
302
|
|
|
314
303
|
## Getting Started
|
|
315
304
|
|
package/dist/core/Router.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export declare class Router implements RouterInstance {
|
|
|
27
27
|
options(path: string, ...h: (MiddlewareHandler | RouteHandler)[]): RouterInstance;
|
|
28
28
|
head(path: string, ...h: (MiddlewareHandler | RouteHandler)[]): RouterInstance;
|
|
29
29
|
all(path: string, ...h: (MiddlewareHandler | RouteHandler)[]): RouterInstance;
|
|
30
|
+
controller(path: string, controllerClass: any): RouterInstance;
|
|
30
31
|
group(prefix: string, cb: (r: RouterInstance) => void): RouterInstance;
|
|
31
32
|
middleware(...h: MiddlewareHandler[]): RouterInstance;
|
|
32
33
|
use(...h: MiddlewareHandler[]): Router;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/core/Router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,KAAK,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,cAAc,EACf,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../src/core/Router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,KAAK,EACL,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,cAAc,EACf,MAAM,UAAU,CAAC;AAalB,UAAU,UAAU;IAClB,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,MAAM,EAAE,WAAW,CAAC;CACrB;AAcD,qBAAa,MAAO,YAAW,cAAc;IAC3C,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAA2B;IACpD,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,UAAU,CAA6C;gBAEnD,OAAO,GAAE,aAAkB;IAMvC,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,QAAQ;IAuBhB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAU1D,OAAO,CAAC,SAAS;IAmBjB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,iBAAiB,GAAG,YAAY,CAAC,EAAE,GAAG,cAAc;IAC7E,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,iBAAiB,GAAG,YAAY,CAAC,EAAE,GAAG,cAAc;IAC9E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,iBAAiB,GAAG,YAAY,CAAC,EAAE,GAAG,cAAc;IAC7E,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,iBAAiB,GAAG,YAAY,CAAC,EAAE,GAAG,cAAc;IAC/E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,iBAAiB,GAAG,YAAY,CAAC,EAAE,GAAG,cAAc;IAChF,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,iBAAiB,GAAG,YAAY,CAAC,EAAE,GAAG,cAAc;IACjF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,iBAAiB,GAAG,YAAY,CAAC,EAAE,GAAG,cAAc;IAC9E,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,iBAAiB,GAAG,YAAY,CAAC,EAAE,GAAG,cAAc;IAE7E,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,cAAc;IAoB9D,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,cAAc,KAAK,IAAI,GAAG,cAAc;IAQtE,UAAU,CAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,GAAG,cAAc;IACrD,GAAG,CAAC,GAAG,CAAC,EAAE,iBAAiB,EAAE,GAAG,MAAM;IAEtC,SAAS,IAAI,KAAK,EAAE;IAMpB,OAAO,CAAC,OAAO;CAKhB;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,MAAM,CAAgC;AAC7F,eAAe,MAAM,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ export { ClientGenerator } from './generator/ClientGenerator';
|
|
|
15
15
|
export { TestClient } from './testing/TestClient';
|
|
16
16
|
export { BaseController, Controller, Get, Post, Put, Patch, Delete, Middleware, getControllerMeta } from './mvc/Controller';
|
|
17
17
|
export { Model, initDatabase, closeDatabase, query, execute } from './mvc/Model';
|
|
18
|
-
export { jsx, jsxs, Fragment, html, render, renderPage, createLayout } from './mvc/View';
|
|
18
|
+
export { jsx, jsxs, Fragment, html, render, renderPage, createLayout, View } from './mvc/View';
|
|
19
19
|
export { hotWire, createHotWire } from './features/HotWire';
|
|
20
20
|
export { autoCache, autoCacheMiddleware, createAutoCache } from './features/AutoCache';
|
|
21
21
|
export { RequestBatcher, createBatcher } from './features/RequestBatcher';
|
|
@@ -26,6 +26,7 @@ export { seeder, fake, factory as seederFactory, defineSeeder } from './database
|
|
|
26
26
|
export { queue, createQueue } from './queue/Queue';
|
|
27
27
|
export { RedisDriver } from './queue/drivers/RedisDriver';
|
|
28
28
|
export { MemoryDriver } from './queue/drivers/MemoryDriver';
|
|
29
|
+
export { QueueController } from './queue/ui/QueueController';
|
|
29
30
|
export { channel, createChannel } from './realtime/Channel';
|
|
30
31
|
export { ws, createWebSocketServer, WebSocketServer } from './realtime/WebSocket';
|
|
31
32
|
export { storage, initStorage, handleUpload, handleMultipleUploads } from './storage/Storage';
|
|
@@ -53,5 +54,6 @@ export { ResponseAssertions, MockFactory, createTestClient, assertResponse, fact
|
|
|
53
54
|
export type { TestResponse, TestRequest } from './testing/TestCase';
|
|
54
55
|
export { Canx, createApp } from './Application';
|
|
55
56
|
export type * from './types';
|
|
57
|
+
export type { CanxRequest as Request, CanxResponse as Response } from './types';
|
|
56
58
|
export { Canx as default } from './Application';
|
|
57
59
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAIrD,OAAO,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAChI,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKpE,OAAO,EAAE,CAAC,EAAE,MAAM,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKlD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5H,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|