aboutsummaryrefslogtreecommitdiff
path: root/examples/nexty
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-08-09 02:21:31 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-08-09 02:21:31 -0700
commitf74771144e71e77969fe50d250818e2fcc0800bd (patch)
tree85b18e33fc8a7d5c8a8438d8af23439cef74b949 /examples/nexty
parent687b22908f15020d254eb90672bcdddbdaad7f06 (diff)
downloadbun-f74771144e71e77969fe50d250818e2fcc0800bd.tar.gz
bun-f74771144e71e77969fe50d250818e2fcc0800bd.tar.zst
bun-f74771144e71e77969fe50d250818e2fcc0800bd.zip
Split up + generate client & server bundles, support framework +router in GenerateNodeModulesBundle , read framework from package.json + rename "publicURL" to "origin" + add import.meta.filepath
Former-commit-id: 1e76ebb5375247231181ec19a6396c6acf4684fb
Diffstat (limited to 'examples/nexty')
-rw-r--r--examples/nexty/framework.client.development.tsx4
-rw-r--r--examples/nexty/framework.server.development.tsx46
-rw-r--r--examples/nexty/framework.server.production.tsx0
-rw-r--r--examples/nexty/index.js0
-rw-r--r--examples/nexty/package.json29
5 files changed, 79 insertions, 0 deletions
diff --git a/examples/nexty/framework.client.development.tsx b/examples/nexty/framework.client.development.tsx
new file mode 100644
index 000000000..65510c1ce
--- /dev/null
+++ b/examples/nexty/framework.client.development.tsx
@@ -0,0 +1,4 @@
+import * as ReactDOM from "react-dom";
+export default function start(EntryPointNamespace) {
+ ReactDOM.render(EntryPointNamespace.default);
+}
diff --git a/examples/nexty/framework.server.development.tsx b/examples/nexty/framework.server.development.tsx
new file mode 100644
index 000000000..0e28dac65
--- /dev/null
+++ b/examples/nexty/framework.server.development.tsx
@@ -0,0 +1,46 @@
+import ReactDOMServer from "react-dom/server.browser";
+
+addEventListener("fetch", async (event: FetchEvent) => {
+ var route = Wundle.match(event);
+
+ console.log("Main:", Wundle.main);
+ console.log("cwd:", Wundle.cwd);
+ console.log("Origin:", Wundle.origin);
+
+ const { default: PageComponent } = await import(route.filePath);
+ // This returns all .css files that were imported in the line above.
+ // It's recursive, so any file that imports a CSS file will be included.
+ const stylesheets = Wundle.getImportedStyles() as string[];
+
+ const response = new Response(`
+ <!DOCTYPE html>
+<html>
+ <head>
+ ${stylesheets
+ .map((style) => `<link rel="stylesheet" href="${style}">`)
+ .join("\n")}
+
+ <link
+ rel="stylesheet"
+ crossorigin="anonymous"
+ href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;700&family=Space+Mono:wght@400;700"
+ />
+ </head>
+ <body>
+
+ <div id="reactroot">${ReactDOMServer.renderToString(
+ <PageComponent />
+ )}</div>
+
+ <script src="${route.scriptSrc}" async type="module"></script>
+ </body>
+</html>
+ `);
+
+ event.respondWith(response);
+});
+
+// typescript isolated modules
+export {};
+
+declare var Wundle: any;
diff --git a/examples/nexty/framework.server.production.tsx b/examples/nexty/framework.server.production.tsx
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/examples/nexty/framework.server.production.tsx
diff --git a/examples/nexty/index.js b/examples/nexty/index.js
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/examples/nexty/index.js
diff --git a/examples/nexty/package.json b/examples/nexty/package.json
new file mode 100644
index 000000000..da4cc2bc1
--- /dev/null
+++ b/examples/nexty/package.json
@@ -0,0 +1,29 @@
+{
+ "name": "nexty",
+ "version": "1.0.0",
+ "description": "",
+ "framework": {
+ "router": {
+ "dir": "pages",
+ "extensions": [
+ ".js",
+ ".ts",
+ ".tsx"
+ ]
+ },
+ "development": {
+ "client": "framework.client.development.tsx",
+ "server": "framework.server.development.tsx"
+ },
+ "production": {
+ "client": "framework.client.production.tsx",
+ "server": "framework.server.production.tsx"
+ }
+ },
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "",
+ "license": "ISC",
+ "dependencies": {}
+}