Skip to content

Commit

Permalink
ci: add server file
Browse files Browse the repository at this point in the history
  • Loading branch information
Bro3Simon committed Nov 8, 2023
1 parent 4341b68 commit c392baf
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 12 deletions.
12 changes: 1 addition & 11 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,10 @@ jobs:
- name: 🚚 Get Latest Code
uses: actions/checkout@v3

- name: Use Node.js 16
uses: actions/setup-node@v2
with:
node-version: "16"

- name: 🔨 Build Project
run: |
npm install
npm run build
- name: 📂 Sync Files
uses: SamKirkland/[email protected]
with:
local-dir: .next/
local-dir: .
password: ${{ secrets.ftpPassword }}
server: ftp.brostack.net
server-dir: next/
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
"format": "prettier --write \"**/*.{ts,tsx,json}\"",
"lint": "next lint",
"prepare": "husky install",
"start": "next start",
"start": "NODE_ENV=production node server.js",
"test": "jest"
},
"version": "3.0.0"
Expand Down
44 changes: 44 additions & 0 deletions server.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
/* eslint-disable no-console */
/* eslint-disable @typescript-eslint/no-var-requires */
const { createServer } = require("http");
const { parse } = require("url");

const next = require("next");

// eslint-disable-next-line @typescript-eslint/naming-convention
const dev = process.env.NODE_ENV !== "production";
const hostname = "localhost";
const port = 3000;
// when using middleware `hostname` and `port` must be provided below
const app = next({ dev, hostname, port });
const handle = app.getRequestHandler();

app.prepare().then(() => {
createServer(async (req, res) => {
try {
// Be sure to pass `true` as the second argument to `url.parse`.
// This tells it to parse the query portion of the URL.
const parsedUrl = parse(req.url, true);
const { pathname, query } = parsedUrl;

if (pathname === "/a") {
await app.render(req, res, "/a", query);
} else if (pathname === "/b") {
await app.render(req, res, "/b", query);
} else {
await handle(req, res, parsedUrl);
}
} catch (err) {
console.error("Error occurred handling", req.url, err);
res.statusCode = 500;
res.end("internal server error");
}
})
.once("error", (err) => {
console.error(err);
process.exit(1);
})
.listen(port, () => {
console.log(`> Ready on http://${hostname}:${port}`);
});
});

0 comments on commit c392baf

Please sign in to comment.