rasengan 1.0.0-beta.24 → 1.0.0-beta.26
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.
|
@@ -42,26 +42,16 @@ import { createStaticHandler, createStaticRouter, } from "react-router-dom/serve
|
|
|
42
42
|
// @ts-ignore
|
|
43
43
|
import { createFetchRequest } from "rasengan";
|
|
44
44
|
export default (function (req, context) { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
|
-
var __filename, __dirname, url, host, appPath, err_1, templateHtml, serverFilePath, bootstrapDirPath, entry, bootstrap, styles, render, staticRoutes, loadTemplateHtml, handler, fetchRequest, context_1, status_1, redirect, helmetContext, router, rendered, html, e_1;
|
|
45
|
+
var __filename, __dirname, url, host, appPath, err_1, filePath, file, templateHtml, serverFilePath, bootstrapDirPath, entry, bootstrap, styles, render, staticRoutes, loadTemplateHtml, handler, fetchRequest, context_1, status_1, redirect, helmetContext, router, rendered, html, e_1;
|
|
46
46
|
var _a;
|
|
47
47
|
return __generator(this, function (_b) {
|
|
48
48
|
switch (_b.label) {
|
|
49
49
|
case 0:
|
|
50
50
|
__filename = fileURLToPath(import.meta.url);
|
|
51
51
|
__dirname = dirname(__filename);
|
|
52
|
-
console.log({
|
|
53
|
-
cwd: process.cwd(),
|
|
54
|
-
__dirname: __dirname
|
|
55
|
-
});
|
|
56
|
-
// read dir
|
|
57
|
-
console.log({
|
|
58
|
-
readdir: fsSync.readdirSync(__dirname),
|
|
59
|
-
readdir2: fsSync.readdirSync(join(process.cwd())),
|
|
60
|
-
readdir3: fsSync.readdirSync(join(process.cwd(), "..")),
|
|
61
|
-
});
|
|
62
52
|
_b.label = 1;
|
|
63
53
|
case 1:
|
|
64
|
-
_b.trys.push([1,
|
|
54
|
+
_b.trys.push([1, 11, , 12]);
|
|
65
55
|
url = req.url;
|
|
66
56
|
host = req.headers.get("host");
|
|
67
57
|
appPath = process.cwd();
|
|
@@ -85,11 +75,22 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
85
75
|
if (url === "/manifest.json") {
|
|
86
76
|
return [2 /*return*/, new Response(path.resolve(join(appPath, "dist/client/manifest.json")))];
|
|
87
77
|
}
|
|
78
|
+
if (!url.includes("/assets")) return [3 /*break*/, 7];
|
|
79
|
+
filePath = join(appPath, "dist/client", url);
|
|
80
|
+
return [4 /*yield*/, fs.readFile(filePath, "utf-8")];
|
|
81
|
+
case 6:
|
|
82
|
+
file = _b.sent();
|
|
83
|
+
return [2 /*return*/, new Response(file, {
|
|
84
|
+
headers: {
|
|
85
|
+
"Content-Type": url.endsWith(".js") ? "text/javascript" : "text/css",
|
|
86
|
+
},
|
|
87
|
+
})];
|
|
88
|
+
case 7:
|
|
88
89
|
templateHtml = "";
|
|
89
90
|
serverFilePath = join(appPath, "dist/server/entry-server.js");
|
|
90
91
|
bootstrapDirPath = join(appPath, "dist/client/assets");
|
|
91
92
|
return [4 /*yield*/, import(serverFilePath)];
|
|
92
|
-
case
|
|
93
|
+
case 8:
|
|
93
94
|
entry = _b.sent();
|
|
94
95
|
bootstrap = "/assets/" +
|
|
95
96
|
fsSync
|
|
@@ -103,7 +104,7 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
103
104
|
handler = createStaticHandler(staticRoutes);
|
|
104
105
|
fetchRequest = createFetchRequest(req, host);
|
|
105
106
|
return [4 /*yield*/, handler.query(fetchRequest)];
|
|
106
|
-
case
|
|
107
|
+
case 9:
|
|
107
108
|
context_1 = _b.sent();
|
|
108
109
|
status_1 = context_1.status;
|
|
109
110
|
if (status_1 === 302) {
|
|
@@ -115,7 +116,7 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
115
116
|
helmetContext = {};
|
|
116
117
|
router = createStaticRouter(handler.dataRoutes, context_1);
|
|
117
118
|
return [4 /*yield*/, render(router, context_1, helmetContext)];
|
|
118
|
-
case
|
|
119
|
+
case 10:
|
|
119
120
|
rendered = _b.sent();
|
|
120
121
|
// Load template html
|
|
121
122
|
if (!templateHtml) {
|
|
@@ -130,13 +131,13 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
130
131
|
"Cache-Control": "max-age=31536000",
|
|
131
132
|
},
|
|
132
133
|
})];
|
|
133
|
-
case
|
|
134
|
+
case 11:
|
|
134
135
|
e_1 = _b.sent();
|
|
135
136
|
console.log(e_1.stack);
|
|
136
137
|
return [2 /*return*/, new Response(e_1.stack, {
|
|
137
138
|
status: 500,
|
|
138
139
|
})];
|
|
139
|
-
case
|
|
140
|
+
case 12: return [2 /*return*/];
|
|
140
141
|
}
|
|
141
142
|
});
|
|
142
143
|
}); });
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
[[redirects]]
|
|
16
16
|
from = "/assets/*"
|
|
17
|
-
to = "/assets/:splat"
|
|
17
|
+
to = "/client/assets/:splat"
|
|
18
18
|
status = 200
|
|
19
19
|
conditions = { Path = "/assets/*" }
|
|
20
20
|
|
|
@@ -23,4 +23,4 @@
|
|
|
23
23
|
from = "/*"
|
|
24
24
|
to = "/.netlify/functions/api"
|
|
25
25
|
status = 200
|
|
26
|
-
|
|
26
|
+
# Add condition to avoid .js and .css files
|
|
@@ -45,7 +45,7 @@ import { createFetchRequest } from "rasengan";
|
|
|
45
45
|
export default function handler(req, res) {
|
|
46
46
|
var _a;
|
|
47
47
|
return __awaiter(this, void 0, void 0, function () {
|
|
48
|
-
var __filename, __dirname, url, host, appPath, err_1, templateHtml, serverFilePath, bootstrapDirPath, entry, bootstrap, styles, render, staticRoutes, loadTemplateHtml, handler_1, fetchRequest, context, status_1, redirect, helmetContext, router, rendered, html, e_1;
|
|
48
|
+
var __filename, __dirname, url, host, appPath, err_1, file, templateHtml, serverFilePath, bootstrapDirPath, entry, bootstrap, styles, render, staticRoutes, loadTemplateHtml, handler_1, fetchRequest, context, status_1, redirect, helmetContext, router, rendered, html, e_1;
|
|
49
49
|
return __generator(this, function (_b) {
|
|
50
50
|
switch (_b.label) {
|
|
51
51
|
case 0:
|
|
@@ -54,20 +54,10 @@ export default function handler(req, res) {
|
|
|
54
54
|
console.log({ __dirname: __dirname });
|
|
55
55
|
_b.label = 1;
|
|
56
56
|
case 1:
|
|
57
|
-
_b.trys.push([1,
|
|
57
|
+
_b.trys.push([1, 11, , 12]);
|
|
58
58
|
url = req.url;
|
|
59
59
|
host = req.headers.host;
|
|
60
60
|
appPath = process.cwd();
|
|
61
|
-
console.log({
|
|
62
|
-
cwd: process.cwd(),
|
|
63
|
-
__dirname: __dirname
|
|
64
|
-
});
|
|
65
|
-
// read dir
|
|
66
|
-
console.log({
|
|
67
|
-
readdir: fsSync.readdirSync(__dirname),
|
|
68
|
-
readdir2: fsSync.readdirSync(join(process.cwd())),
|
|
69
|
-
readdir3: fsSync.readdirSync(join(process.cwd(), "..")),
|
|
70
|
-
});
|
|
71
61
|
if (!(url === "/robots.txt")) return [3 /*break*/, 5];
|
|
72
62
|
_b.label = 2;
|
|
73
63
|
case 2:
|
|
@@ -88,11 +78,21 @@ export default function handler(req, res) {
|
|
|
88
78
|
if (url === "/manifest.json") {
|
|
89
79
|
return [2 /*return*/, res.send(path.resolve(join(appPath, "dist/client/manifest.json")))];
|
|
90
80
|
}
|
|
81
|
+
if (!(url.endsWith(".js") || url.endsWith(".css"))) return [3 /*break*/, 7];
|
|
82
|
+
return [4 /*yield*/, fs.readFile(url, "utf-8")];
|
|
83
|
+
case 6:
|
|
84
|
+
file = _b.sent();
|
|
85
|
+
return [2 /*return*/, new Response(file, {
|
|
86
|
+
headers: {
|
|
87
|
+
"Content-Type": url.endsWith(".js") ? "text/javascript" : "text/css",
|
|
88
|
+
},
|
|
89
|
+
})];
|
|
90
|
+
case 7:
|
|
91
91
|
templateHtml = "";
|
|
92
92
|
serverFilePath = join(appPath, "dist/server/entry-server.js");
|
|
93
93
|
bootstrapDirPath = join(appPath, "dist/client/assets");
|
|
94
94
|
return [4 /*yield*/, import(serverFilePath)];
|
|
95
|
-
case
|
|
95
|
+
case 8:
|
|
96
96
|
entry = _b.sent();
|
|
97
97
|
bootstrap = "/assets/" +
|
|
98
98
|
fsSync
|
|
@@ -106,7 +106,7 @@ export default function handler(req, res) {
|
|
|
106
106
|
handler_1 = createStaticHandler(staticRoutes);
|
|
107
107
|
fetchRequest = createFetchRequest(req, host);
|
|
108
108
|
return [4 /*yield*/, handler_1.query(fetchRequest)];
|
|
109
|
-
case
|
|
109
|
+
case 9:
|
|
110
110
|
context = _b.sent();
|
|
111
111
|
status_1 = context.status;
|
|
112
112
|
if (status_1 === 302) {
|
|
@@ -117,7 +117,7 @@ export default function handler(req, res) {
|
|
|
117
117
|
helmetContext = {};
|
|
118
118
|
router = createStaticRouter(handler_1.dataRoutes, context);
|
|
119
119
|
return [4 /*yield*/, render(router, context, helmetContext)];
|
|
120
|
-
case
|
|
120
|
+
case 10:
|
|
121
121
|
rendered = _b.sent();
|
|
122
122
|
// Load template html
|
|
123
123
|
if (!templateHtml) {
|
|
@@ -130,12 +130,12 @@ export default function handler(req, res) {
|
|
|
130
130
|
.setHeader("Content-Type", "text/html")
|
|
131
131
|
.setHeader("Cache-Control", "max-age=31536000")
|
|
132
132
|
.end(html)];
|
|
133
|
-
case
|
|
133
|
+
case 11:
|
|
134
134
|
e_1 = _b.sent();
|
|
135
135
|
console.log(e_1.stack);
|
|
136
136
|
res.status(500).end(e_1.stack);
|
|
137
|
-
return [3 /*break*/,
|
|
138
|
-
case
|
|
137
|
+
return [3 /*break*/, 12];
|
|
138
|
+
case 12: return [2 /*return*/];
|
|
139
139
|
}
|
|
140
140
|
});
|
|
141
141
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { VercelRequest, VercelResponse } from "@vercel/node";
|
|
2
|
-
export default function handler(req: VercelRequest, res: VercelResponse): Promise<VercelResponse>;
|
|
2
|
+
export default function handler(req: VercelRequest, res: VercelResponse): Promise<Response | VercelResponse>;
|