From d1a30baa52c05f9c705dfd1e17a95a146aa52c24 Mon Sep 17 00:00:00 2001 From: Leandro Facchinetti Date: Tue, 24 Mar 2020 11:13:07 -0400 Subject: [PATCH] Better treatment of ports --- package.json | 3 ++- src/index.tsx | 4 ++-- src/test.ts | 9 +++++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index a7d3f27..ac70fc7 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,8 @@ "name": "kill-the-newsletter", "script": "lib", "env": { - "NODE_ENV": "production" + "NODE_ENV": "production", + "EMAIL_PORT": "25" } }, { diff --git a/src/index.tsx b/src/index.tsx index 727a3be..93f3c58 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -62,7 +62,7 @@ export const webServer = express() ) ) ) - .listen(8000); + .listen(process.env.WEB_PORT ?? 8000); export const emailServer = new SMTPServer({ disabledCommands: ["AUTH", "STARTTLS"], @@ -97,7 +97,7 @@ export const emailServer = new SMTPServer({ callback(error); }); } -}).listen(process.env.NODE_ENV === "production" ? 25 : 2525); +}).listen(process.env.EMAIL_PORT ?? 2525); function Layout({ children }: { children: React.ReactNode }) { return ( diff --git a/src/test.ts b/src/test.ts index 4e0327b..e770487 100644 --- a/src/test.ts +++ b/src/test.ts @@ -2,6 +2,7 @@ import { webServer, emailServer } from "."; import nodemailer from "nodemailer"; import axios from "axios"; import qs from "qs"; +import { AddressInfo } from "net"; test("create feed", async () => { const identifier = await createFeed(); @@ -112,8 +113,12 @@ afterAll(() => { emailServer.close(() => {}); }); -const webClient = axios.create({ baseURL: "http://localhost:8000" }); -const emailClient = nodemailer.createTransport("smtp://localhost:2525"); +const webClient = axios.create({ + baseURL: `http://localhost:${(webServer.address() as AddressInfo).port}` +}); +const emailClient = nodemailer.createTransport( + `smtp://localhost:${(emailServer.address() as AddressInfo).port}` +); async function createFeed(): Promise { return (