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, 9, , 10]);
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 6:
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 7:
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 8:
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 9:
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 10: return [2 /*return*/];
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
- conditions = { not = { Path = "/assets/*" }}
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, 9, , 10]);
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 6:
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 7:
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 8:
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 9:
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*/, 10];
138
- case 10: return [2 /*return*/];
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>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rasengan",
3
3
  "private": false,
4
- "version": "1.0.0-beta.24",
4
+ "version": "1.0.0-beta.26",
5
5
  "description": "The modern frontend framework for React",
6
6
  "type": "module",
7
7
  "main": "lib/esm/index.js",