From f6a6f33d43c037db2ab0bba723a104a940a65443 Mon Sep 17 00:00:00 2001 From: getty104 Date: Mon, 24 Jul 2023 10:59:01 +0900 Subject: [PATCH 1/2] Add port option to user config --- README.md | 1 + src/lib/config.test.ts | 3 +++ src/lib/config.ts | 2 ++ src/server/app.ts | 6 +++--- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e93bee1..e293f11 100644 --- a/README.md +++ b/README.md @@ -224,6 +224,7 @@ npx qiita version 設定できるオプションは以下の通りです。 - includePrivate: 限定共有記事を含めるかどうかを選べます。デフォルトは`false`です。 +- port: `qiita preview`コマンドで利用するポートを指定できます。デフォルトは`8888`です。 ## オプション diff --git a/src/lib/config.test.ts b/src/lib/config.test.ts index 8bb9473..dbc5443 100644 --- a/src/lib/config.test.ts +++ b/src/lib/config.test.ts @@ -224,6 +224,7 @@ describe("config", () => { beforeEach(() => { const userConfigData = { includePrivate: true, + port: 9999, }; resetFiles(); setFile(userConfigFilePath, JSON.stringify(userConfigData, null, 2)); @@ -233,6 +234,7 @@ describe("config", () => { const userConfig = await config.getUserConfig(); expect(userConfig).toStrictEqual({ includePrivate: true, + port: 9999, }); }); }); @@ -246,6 +248,7 @@ describe("config", () => { const userConfig = await config.getUserConfig(); expect(userConfig).toStrictEqual({ includePrivate: false, + port: 8888, }); }); }); diff --git a/src/lib/config.ts b/src/lib/config.ts index 2e3460b..a6ba2cf 100644 --- a/src/lib/config.ts +++ b/src/lib/config.ts @@ -14,6 +14,7 @@ interface Options { type UserConfig = { includePrivate: boolean; + port: number; }; class Config { @@ -106,6 +107,7 @@ class Config { async getUserConfig() { const defaultConfig = { includePrivate: false, + port: 8888, } as UserConfig; if (fsSync.existsSync(this.getUserConfigFilePath())) { diff --git a/src/server/app.ts b/src/server/app.ts index d7745e1..4d97fd1 100644 --- a/src/server/app.ts +++ b/src/server/app.ts @@ -9,6 +9,7 @@ import { AssetsRouter } from "./api/assets"; import { EmojiRouter } from "./api/emoji"; import { ItemsRouter } from "./api/items"; import { ReadmeRouter } from "./api/readme"; +import { config } from "../lib/config"; export async function startServer() { const app = express(); @@ -30,9 +31,8 @@ export async function startServer() { app.use("*", express.static(path.join(__dirname, "../public/index.html"))); const server = createServer(app); - const port = process.env.QIITA_CLI_PORT - ? parseInt(process.env.QIITA_CLI_PORT, 10) - : 8888; + const userConfig = await config.getUserConfig(); + const port = userConfig.port; const host = "localhost"; return new Promise((resolve) => { From 872d8d6bc054be28db3c1b7fc64575de3dfaf9d2 Mon Sep 17 00:00:00 2001 From: getty104 Date: Mon, 24 Jul 2023 16:52:52 +0900 Subject: [PATCH 2/2] Add .github/workflows/publish.yml to .gitignore to avoid auto generated file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 3dcc3df..0cd4b27 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ dist node_modules tmp +.github/workflows/publish.yml