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, 9, , 10]);
54
+ _b.trys.push([1, 11, , 12]);
65
55
  url = req.url;
66
56
  host = req.headers.get("host");
67
- appPath = join(__dirname, "..");
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 6:
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 7:
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 8:
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 9:
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 10: return [2 /*return*/];
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
- 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,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, 9, , 10]);
57
+ _b.trys.push([1, 11, , 12]);
58
58
  url = req.url;
59
59
  host = req.headers.host;
60
- appPath = join(__dirname, "..");
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 6:
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 7:
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 8:
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 9:
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*/, 10];
128
- case 10: return [2 /*return*/];
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>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rasengan",
3
3
  "private": false,
4
- "version": "1.0.0-beta.23",
4
+ "version": "1.0.0-beta.25",
5
5
  "description": "The modern frontend framework for React",
6
6
  "type": "module",
7
7
  "main": "lib/esm/index.js",