@hodela/site 0.0.0-stage → 0.2.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/README.md +6 -2
- package/dist/access.d.ts +28 -0
- package/dist/access.js +236 -0
- package/dist/admin-token.d.ts +6 -0
- package/dist/admin-token.js +34 -0
- package/dist/admin.functions.d.ts +18 -0
- package/dist/admin.functions.js +17 -0
- package/dist/analytics.d.ts +9 -0
- package/dist/analytics.js +50 -0
- package/dist/customer-auth.d.ts +8 -0
- package/dist/customer-auth.js +58 -0
- package/dist/error-page.d.ts +1 -0
- package/dist/error-page.js +30 -0
- package/dist/mailer.d.ts +32 -0
- package/dist/mailer.js +82 -0
- package/dist/react/admin-gate.d.ts +25 -0
- package/dist/react/admin-gate.js +62 -0
- package/dist/react/error-reporting.d.ts +21 -0
- package/dist/react/error-reporting.js +43 -0
- package/dist/react/index.d.ts +2 -0
- package/dist/react/index.js +2 -0
- package/dist/seo.d.ts +60 -0
- package/dist/seo.js +99 -0
- package/dist/server/admin.d.ts +10 -0
- package/dist/server/admin.js +61 -0
- package/dist/server/customer-auth.d.ts +11 -0
- package/dist/server/customer-auth.js +45 -0
- package/dist/server/db.d.ts +20 -0
- package/dist/server/db.js +133 -0
- package/dist/server/entry.d.ts +4 -0
- package/dist/server/entry.js +97 -0
- package/dist/server/env.d.ts +7 -0
- package/dist/server/env.js +14 -0
- package/dist/server/error-capture.d.ts +2 -0
- package/dist/server/error-capture.js +72 -0
- package/dist/server/files.d.ts +17 -0
- package/dist/server/files.js +21 -0
- package/dist/server/mailer.d.ts +10 -0
- package/dist/server/mailer.js +16 -0
- package/dist/server/session-cookie.d.ts +2 -0
- package/dist/server/session-cookie.js +7 -0
- package/dist/session-cookie.d.ts +15 -0
- package/dist/session-cookie.js +18 -0
- package/dist/sql-split.d.ts +24 -0
- package/dist/sql-split.js +182 -0
- package/dist/start.d.ts +2 -0
- package/dist/start.js +27 -0
- package/dist/testing/cloudflare-workers.d.ts +1 -0
- package/dist/testing/cloudflare-workers.js +3 -0
- package/package.json +130 -4
package/dist/start.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/** `src/start.ts` của website: `export const startInstance = createHodelaStart();` */
|
|
2
|
+
export declare const createHodelaStart: () => import("@tanstack/react-start").StartInstance<[], import("@tanstack/router-core").SSROption, readonly [import("@tanstack/react-start").RequestMiddlewareAfterServer<{}, undefined, undefined>, import("@tanstack/react-start").RequestMiddlewareAfterServer<{}, undefined, undefined>], []>;
|
package/dist/start.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { createStart, createCsrfMiddleware, createMiddleware, } from "@tanstack/react-start";
|
|
2
|
+
import { renderErrorPage } from "./error-page.js";
|
|
3
|
+
const errorMiddleware = createMiddleware().server(async ({ next }) => {
|
|
4
|
+
try {
|
|
5
|
+
return await next();
|
|
6
|
+
}
|
|
7
|
+
catch (error) {
|
|
8
|
+
if (error != null && typeof error === "object" && "statusCode" in error) {
|
|
9
|
+
throw error;
|
|
10
|
+
}
|
|
11
|
+
console.error(error);
|
|
12
|
+
return new Response(renderErrorPage(), {
|
|
13
|
+
status: 500,
|
|
14
|
+
headers: { "content-type": "text/html; charset=utf-8" },
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
// Start installs this automatically when src/start.ts is absent; defining the
|
|
19
|
+
// file opts out, so re-add it explicitly to keep server functions protected
|
|
20
|
+
// from cross-site requests.
|
|
21
|
+
const csrfMiddleware = createCsrfMiddleware({
|
|
22
|
+
filter: (ctx) => ctx.handlerType === "serverFn",
|
|
23
|
+
});
|
|
24
|
+
/** `src/start.ts` của website: `export const startInstance = createHodelaStart();` */
|
|
25
|
+
export const createHodelaStart = () => createStart(() => ({
|
|
26
|
+
requestMiddleware: [errorMiddleware, csrfMiddleware],
|
|
27
|
+
}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const env: Record<string, unknown>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,132 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hodela/site",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"files": [
|
|
6
|
+
"dist",
|
|
7
|
+
"README.md"
|
|
8
|
+
],
|
|
9
|
+
"exports": {
|
|
10
|
+
"./access": {
|
|
11
|
+
"types": "./dist/access.d.ts",
|
|
12
|
+
"import": "./dist/access.js"
|
|
13
|
+
},
|
|
14
|
+
"./analytics": {
|
|
15
|
+
"types": "./dist/analytics.d.ts",
|
|
16
|
+
"import": "./dist/analytics.js"
|
|
17
|
+
},
|
|
18
|
+
"./sql-split": {
|
|
19
|
+
"types": "./dist/sql-split.d.ts",
|
|
20
|
+
"import": "./dist/sql-split.js"
|
|
21
|
+
},
|
|
22
|
+
"./admin-token": {
|
|
23
|
+
"types": "./dist/admin-token.d.ts",
|
|
24
|
+
"import": "./dist/admin-token.js"
|
|
25
|
+
},
|
|
26
|
+
"./session-cookie": {
|
|
27
|
+
"types": "./dist/session-cookie.d.ts",
|
|
28
|
+
"import": "./dist/session-cookie.js"
|
|
29
|
+
},
|
|
30
|
+
"./customer-auth": {
|
|
31
|
+
"types": "./dist/customer-auth.d.ts",
|
|
32
|
+
"import": "./dist/customer-auth.js"
|
|
33
|
+
},
|
|
34
|
+
"./mailer": {
|
|
35
|
+
"types": "./dist/mailer.d.ts",
|
|
36
|
+
"import": "./dist/mailer.js"
|
|
37
|
+
},
|
|
38
|
+
"./seo": {
|
|
39
|
+
"types": "./dist/seo.d.ts",
|
|
40
|
+
"import": "./dist/seo.js"
|
|
41
|
+
},
|
|
42
|
+
"./admin-functions": {
|
|
43
|
+
"types": "./dist/admin.functions.d.ts",
|
|
44
|
+
"import": "./dist/admin.functions.js"
|
|
45
|
+
},
|
|
46
|
+
"./start": {
|
|
47
|
+
"types": "./dist/start.d.ts",
|
|
48
|
+
"import": "./dist/start.js"
|
|
49
|
+
},
|
|
50
|
+
"./react": {
|
|
51
|
+
"types": "./dist/react/index.d.ts",
|
|
52
|
+
"import": "./dist/react/index.js"
|
|
53
|
+
},
|
|
54
|
+
"./server/env": {
|
|
55
|
+
"types": "./dist/server/env.d.ts",
|
|
56
|
+
"import": "./dist/server/env.js"
|
|
57
|
+
},
|
|
58
|
+
"./server/session-cookie": {
|
|
59
|
+
"types": "./dist/server/session-cookie.d.ts",
|
|
60
|
+
"import": "./dist/server/session-cookie.js"
|
|
61
|
+
},
|
|
62
|
+
"./server/admin": {
|
|
63
|
+
"types": "./dist/server/admin.d.ts",
|
|
64
|
+
"import": "./dist/server/admin.js"
|
|
65
|
+
},
|
|
66
|
+
"./server/customer-auth": {
|
|
67
|
+
"types": "./dist/server/customer-auth.d.ts",
|
|
68
|
+
"import": "./dist/server/customer-auth.js"
|
|
69
|
+
},
|
|
70
|
+
"./server/mailer": {
|
|
71
|
+
"types": "./dist/server/mailer.d.ts",
|
|
72
|
+
"import": "./dist/server/mailer.js"
|
|
73
|
+
},
|
|
74
|
+
"./server/files": {
|
|
75
|
+
"types": "./dist/server/files.d.ts",
|
|
76
|
+
"import": "./dist/server/files.js"
|
|
77
|
+
},
|
|
78
|
+
"./server/db": {
|
|
79
|
+
"types": "./dist/server/db.d.ts",
|
|
80
|
+
"import": "./dist/server/db.js"
|
|
81
|
+
},
|
|
82
|
+
"./server/entry": {
|
|
83
|
+
"types": "./dist/server/entry.d.ts",
|
|
84
|
+
"import": "./dist/server/entry.js"
|
|
85
|
+
},
|
|
86
|
+
"./testing/cloudflare-workers": {
|
|
87
|
+
"types": "./dist/testing/cloudflare-workers.d.ts",
|
|
88
|
+
"import": "./dist/testing/cloudflare-workers.js"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"scripts": {
|
|
92
|
+
"build": "tsc -p tsconfig.json",
|
|
93
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
94
|
+
"test": "vitest run"
|
|
95
|
+
},
|
|
96
|
+
"peerDependencies": {
|
|
97
|
+
"@tanstack/react-router": ">=1.100.0",
|
|
98
|
+
"@tanstack/react-start": ">=1.100.0",
|
|
99
|
+
"drizzle-orm": ">=0.39.0",
|
|
100
|
+
"react": ">=19.0.0",
|
|
101
|
+
"zod": ">=3.25.0"
|
|
102
|
+
},
|
|
103
|
+
"devDependencies": {
|
|
104
|
+
"@libsql/client": "^0.18.0",
|
|
105
|
+
"@tanstack/react-router": "1.170.46",
|
|
106
|
+
"@tanstack/react-start": "1.169.4",
|
|
107
|
+
"@types/node": "^22.16.5",
|
|
108
|
+
"@types/react": "^19.2.0",
|
|
109
|
+
"drizzle-orm": "^0.39.1",
|
|
110
|
+
"mysql2": "^3.24.6",
|
|
111
|
+
"postgres": "^4.0.0",
|
|
112
|
+
"react": "^19.2.0",
|
|
113
|
+
"typescript": "^5.8.3",
|
|
114
|
+
"vite": "^8.3.5",
|
|
115
|
+
"vitest": "^2.1.8",
|
|
116
|
+
"zod": "^3.25.76"
|
|
117
|
+
},
|
|
118
|
+
"description": "Mã chạy chung của website Hodela (truy cập, analytics, phiên quản trị, tài khoản khách, email, SEO, tách SQL). Starter dùng gói này thay vì chép mã vào từng website.",
|
|
119
|
+
"license": "MIT",
|
|
120
|
+
"publishConfig": {
|
|
121
|
+
"access": "public"
|
|
122
|
+
},
|
|
123
|
+
"dependencies": {
|
|
124
|
+
"@hodela/email-js": "0.1.1",
|
|
125
|
+
"@hodela/file-js": "0.1.0"
|
|
126
|
+
},
|
|
127
|
+
"peerDependenciesMeta": {
|
|
128
|
+
"drizzle-orm": {
|
|
129
|
+
"optional": true
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|