Skip to content

Commit

Permalink
templates: use TS server file
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaelDeBoey committed Apr 11, 2023
1 parent 65404bd commit dadc317
Show file tree
Hide file tree
Showing 18 changed files with 38 additions and 86 deletions.
2 changes: 1 addition & 1 deletion integration/helpers/cf-template/remix.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
module.exports = {
devServerBroadcastDelay: 1000,
ignoredRouteFiles: ["**/.*"],
server: "./server.js",
server: "./server.ts",
serverConditions: ["worker"],
serverDependenciesToBundle: "all",
serverMainFields: ["browser", "module", "main"],
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/** @type {import('@remix-run/dev').AppConfig} */
module.exports = {
serverBuildTarget: "cloudflare-pages",
server: "./server.js",
server: "./server.ts",
devServerBroadcastDelay: 1000,
ignoredRouteFiles: ["**/.*"],
// appDirectory: "app",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
import { createPagesFunctionHandler } from "@remix-run/cloudflare-pages";
import * as build from "@remix-run/dev/server-build";

const handleRequest = createPagesFunctionHandler({
export const onRequest = createPagesFunctionHandler({
build,
mode: process.env.NODE_ENV,
getLoadContext: (context) => context.env,
mode: process.env.NODE_ENV,
});

export function onRequest(context) {
return handleRequest(context);
}
2 changes: 1 addition & 1 deletion templates/arc/remix.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
module.exports = {
ignoredRouteFiles: ["**/.*"],
publicPath: "/_static/build/",
server: "./server.js",
server: "./server.ts",
serverBuildPath: "server/index.js",
// appDirectory: "app",
// assetsBuildDirectory: "public/build",
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion templates/cloudflare-pages/remix.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
module.exports = {
devServerBroadcastDelay: 1000,
ignoredRouteFiles: ["**/.*"],
server: "./server.js",
server: "./server.ts",
serverBuildPath: "functions/[[path]].js",
serverConditions: ["worker"],
serverDependenciesToBundle: "all",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
import { createPagesFunctionHandler } from "@remix-run/cloudflare-pages";
import * as build from "@remix-run/dev/server-build";

const handleRequest = createPagesFunctionHandler({
export const onRequest = createPagesFunctionHandler({
build,
mode: process.env.NODE_ENV,
getLoadContext: (context) => context.env,
mode: process.env.NODE_ENV,
});

export function onRequest(context) {
return handleRequest(context);
}
2 changes: 1 addition & 1 deletion templates/cloudflare-workers/remix.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
module.exports = {
devServerBroadcastDelay: 1000,
ignoredRouteFiles: ["**/.*"],
server: "./server.js",
server: "./server.ts",
serverConditions: ["worker"],
serverDependenciesToBundle: "all",
serverMainFields: ["browser", "module", "main"],
Expand Down
File renamed without changes.
3 changes: 3 additions & 0 deletions templates/express/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@
"devDependencies": {
"@remix-run/dev": "*",
"@remix-run/eslint-config": "*",
"@types/compression": "^1.7.2",
"@types/express": "^4.17.17",
"@types/morgan": "^1.9.4",
"@types/react": "^18.0.25",
"@types/react-dom": "^18.0.8",
"dotenv": "^16.0.3",
Expand Down
35 changes: 16 additions & 19 deletions templates/express/server.js → templates/express/server.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
const path = require("path");
const express = require("express");
const compression = require("compression");
const morgan = require("morgan");
const { createRequestHandler } = require("@remix-run/express");

const BUILD_DIR = path.join(process.cwd(), "build");
import path from "path";
import express from "express";
import compression from "compression";
import morgan from "morgan";
import { createRequestHandler } from "@remix-run/express";

const app = express();

Expand All @@ -25,34 +23,33 @@ app.use(express.static("public", { maxAge: "1h" }));

app.use(morgan("tiny"));

const BUILD_DIR = path.join(process.cwd(), "build");
const MODE = process.env.NODE_ENV;
app.all(
"*",
process.env.NODE_ENV === "development"
? (req, res, next) => {
MODE === "production"
? createRequestHandler({ build: require(BUILD_DIR), mode: MODE })
: (...args) => {
purgeRequireCache();

return createRequestHandler({
build: require(BUILD_DIR),
mode: process.env.NODE_ENV,
})(req, res, next);
mode: MODE,
})(...args);
}
: createRequestHandler({
build: require(BUILD_DIR),
mode: process.env.NODE_ENV,
})
);
const port = process.env.PORT || 3000;

const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`Express server listening on port ${port}`);
console.log(`Express server listening on port ${port}`);
});

function purgeRequireCache() {
// purge require cache on requests for "server side HMR" this won't let
// you have in-memory objects between requests in development,
// alternatively you can set up nodemon/pm2-dev to restart the server on
// file changes, but then you'll have to reconnect to databases/etc on each
// change. We prefer the DX of this, so we've included it for you by default
// file changes, we prefer the DX of this though, so we've included it
// for you by default
for (const key in require.cache) {
if (key.startsWith(BUILD_DIR)) {
delete require.cache[key];
Expand Down
2 changes: 1 addition & 1 deletion templates/netlify/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"typecheck": "tsc"
},
"dependencies": {
"@netlify/functions": "^1.3.0",
"@netlify/functions": "^1.4.0",
"@remix-run/netlify": "*",
"@remix-run/node": "*",
"@remix-run/react": "*",
Expand Down
2 changes: 1 addition & 1 deletion templates/netlify/remix.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ module.exports = {
ignoredRouteFiles: ["**/.*"],
server:
process.env.NETLIFY || process.env.NETLIFY_LOCAL
? "./server.js"
? "./server.ts"
: undefined,
serverBuildPath: ".netlify/functions-internal/server.js",
// appDirectory: "app",
Expand Down
47 changes: 0 additions & 47 deletions templates/netlify/server.js

This file was deleted.

7 changes: 7 additions & 0 deletions templates/netlify/server.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { createRequestHandler } from "@remix-run/netlify";
import * as build from "@remix-run/dev/server-build";

export const handler = createRequestHandler({
build,
mode: process.env.NODE_ENV,
});
2 changes: 1 addition & 1 deletion templates/vercel/remix.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module.exports = {
// When running locally in development mode, we use the built-in remix
// server. This does not understand the vercel lambda module format,
// so we default back to the standard build output.
server: process.env.NODE_ENV === "development" ? undefined : "./server.js",
server: process.env.NODE_ENV === "development" ? undefined : "./server.ts",
serverBuildPath: "api/index.js",
// appDirectory: "app",
// assetsBuildDirectory: "public/build",
Expand Down
File renamed without changes.

0 comments on commit dadc317

Please sign in to comment.