rasengan 1.0.0-beta.23 → 1.0.0-beta.25
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,29 +42,19 @@ 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, 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
|
-
appPath =
|
|
57
|
+
appPath = process.cwd();
|
|
68
58
|
if (!(url === "/robots.txt")) return [3 /*break*/, 5];
|
|
69
59
|
_b.label = 2;
|
|
70
60
|
case 2:
|
|
@@ -85,11 +75,21 @@ 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.endsWith(".js") || url.endsWith(".css"))) return [3 /*break*/, 7];
|
|
79
|
+
return [4 /*yield*/, fs.readFile(url, "utf-8")];
|
|
80
|
+
case 6:
|
|
81
|
+
file = _b.sent();
|
|
82
|
+
return [2 /*return*/, new Response(file, {
|
|
83
|
+
headers: {
|
|
84
|
+
"Content-Type": url.endsWith(".js") ? "text/javascript" : "text/css",
|
|
85
|
+
},
|
|
86
|
+
})];
|
|
87
|
+
case 7:
|
|
88
88
|
templateHtml = "";
|
|
89
89
|
serverFilePath = join(appPath, "dist/server/entry-server.js");
|
|
90
90
|
bootstrapDirPath = join(appPath, "dist/client/assets");
|
|
91
91
|
return [4 /*yield*/, import(serverFilePath)];
|
|
92
|
-
case
|
|
92
|
+
case 8:
|
|
93
93
|
entry = _b.sent();
|
|
94
94
|
bootstrap = "/assets/" +
|
|
95
95
|
fsSync
|
|
@@ -103,7 +103,7 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
103
103
|
handler = createStaticHandler(staticRoutes);
|
|
104
104
|
fetchRequest = createFetchRequest(req, host);
|
|
105
105
|
return [4 /*yield*/, handler.query(fetchRequest)];
|
|
106
|
-
case
|
|
106
|
+
case 9:
|
|
107
107
|
context_1 = _b.sent();
|
|
108
108
|
status_1 = context_1.status;
|
|
109
109
|
if (status_1 === 302) {
|
|
@@ -115,7 +115,7 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
115
115
|
helmetContext = {};
|
|
116
116
|
router = createStaticRouter(handler.dataRoutes, context_1);
|
|
117
117
|
return [4 /*yield*/, render(router, context_1, helmetContext)];
|
|
118
|
-
case
|
|
118
|
+
case 10:
|
|
119
119
|
rendered = _b.sent();
|
|
120
120
|
// Load template html
|
|
121
121
|
if (!templateHtml) {
|
|
@@ -130,13 +130,13 @@ export default (function (req, context) { return __awaiter(void 0, void 0, void
|
|
|
130
130
|
"Cache-Control": "max-age=31536000",
|
|
131
131
|
},
|
|
132
132
|
})];
|
|
133
|
-
case
|
|
133
|
+
case 11:
|
|
134
134
|
e_1 = _b.sent();
|
|
135
135
|
console.log(e_1.stack);
|
|
136
136
|
return [2 /*return*/, new Response(e_1.stack, {
|
|
137
137
|
status: 500,
|
|
138
138
|
})];
|
|
139
|
-
case
|
|
139
|
+
case 12: return [2 /*return*/];
|
|
140
140
|
}
|
|
141
141
|
});
|
|
142
142
|
}); });
|
|
@@ -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,10 +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
|
-
appPath =
|
|
60
|
+
appPath = process.cwd();
|
|
61
61
|
if (!(url === "/robots.txt")) return [3 /*break*/, 5];
|
|
62
62
|
_b.label = 2;
|
|
63
63
|
case 2:
|
|
@@ -78,11 +78,21 @@ export default function handler(req, res) {
|
|
|
78
78
|
if (url === "/manifest.json") {
|
|
79
79
|
return [2 /*return*/, res.send(path.resolve(join(appPath, "dist/client/manifest.json")))];
|
|
80
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:
|
|
81
91
|
templateHtml = "";
|
|
82
92
|
serverFilePath = join(appPath, "dist/server/entry-server.js");
|
|
83
93
|
bootstrapDirPath = join(appPath, "dist/client/assets");
|
|
84
94
|
return [4 /*yield*/, import(serverFilePath)];
|
|
85
|
-
case
|
|
95
|
+
case 8:
|
|
86
96
|
entry = _b.sent();
|
|
87
97
|
bootstrap = "/assets/" +
|
|
88
98
|
fsSync
|
|
@@ -96,7 +106,7 @@ export default function handler(req, res) {
|
|
|
96
106
|
handler_1 = createStaticHandler(staticRoutes);
|
|
97
107
|
fetchRequest = createFetchRequest(req, host);
|
|
98
108
|
return [4 /*yield*/, handler_1.query(fetchRequest)];
|
|
99
|
-
case
|
|
109
|
+
case 9:
|
|
100
110
|
context = _b.sent();
|
|
101
111
|
status_1 = context.status;
|
|
102
112
|
if (status_1 === 302) {
|
|
@@ -107,7 +117,7 @@ export default function handler(req, res) {
|
|
|
107
117
|
helmetContext = {};
|
|
108
118
|
router = createStaticRouter(handler_1.dataRoutes, context);
|
|
109
119
|
return [4 /*yield*/, render(router, context, helmetContext)];
|
|
110
|
-
case
|
|
120
|
+
case 10:
|
|
111
121
|
rendered = _b.sent();
|
|
112
122
|
// Load template html
|
|
113
123
|
if (!templateHtml) {
|
|
@@ -120,12 +130,12 @@ export default function handler(req, res) {
|
|
|
120
130
|
.setHeader("Content-Type", "text/html")
|
|
121
131
|
.setHeader("Cache-Control", "max-age=31536000")
|
|
122
132
|
.end(html)];
|
|
123
|
-
case
|
|
133
|
+
case 11:
|
|
124
134
|
e_1 = _b.sent();
|
|
125
135
|
console.log(e_1.stack);
|
|
126
136
|
res.status(500).end(e_1.stack);
|
|
127
|
-
return [3 /*break*/,
|
|
128
|
-
case
|
|
137
|
+
return [3 /*break*/, 12];
|
|
138
|
+
case 12: return [2 /*return*/];
|
|
129
139
|
}
|
|
130
140
|
});
|
|
131
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>;
|