From 75a4876dd29b41c0f3a8cc46c10f4f06af201668 Mon Sep 17 00:00:00 2001
From: kizahasi <21971954+kizahasi@users.noreply.github.com>
Date: Wed, 13 Nov 2024 16:44:09 +0900
Subject: [PATCH 1/6] =?UTF-8?q?fix(web-server):=20=E3=83=88=E3=83=83?=
=?UTF-8?q?=E3=83=97=E3=83=9A=E3=83=BC=E3=82=B8=E3=81=AE=E3=83=96=E3=83=A9?=
=?UTF-8?q?=E3=82=A6=E3=82=B6=E3=81=AB=E9=96=A2=E3=81=99=E3=82=8B=E3=82=B3?=
=?UTF-8?q?=E3=83=A1=E3=83=B3=E3=83=88=E3=82=92=E5=89=8A=E9=99=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
apps/web-server/src/components/pages/IndexPage/IndexPage.tsx | 5 -----
1 file changed, 5 deletions(-)
diff --git a/apps/web-server/src/components/pages/IndexPage/IndexPage.tsx b/apps/web-server/src/components/pages/IndexPage/IndexPage.tsx
index bdbd4ffea..353d3ebfc 100644
--- a/apps/web-server/src/components/pages/IndexPage/IndexPage.tsx
+++ b/apps/web-server/src/components/pages/IndexPage/IndexPage.tsx
@@ -122,11 +122,6 @@ export const IndexPage: React.FC = () => {
動作環境
- -
- {
- 'ブラウザはChrome系(Edgeを含む)かFirefoxを推奨します。Internet Explorerではおそらく動作しません。Safariでは、概ね正常に動きますが、メッセージのスクロールでカクつくかもしれません(要調査)。'
- }
-
-
{
'現時点ではスマートフォンには対応しておりません。動作はしますが、快適にご利用いただけない可能性があります。'
From c4940f2a0108550ca7cf86c7a0636c4df01dfe64 Mon Sep 17 00:00:00 2001
From: kizahasi <21971954+kizahasi@users.noreply.github.com>
Date: Wed, 13 Nov 2024 17:07:40 +0900
Subject: [PATCH 2/6] =?UTF-8?q?ci:=20`flocon=5Fweb=5Fserver.zip`=E5=86=85?=
=?UTF-8?q?=E3=81=AE=E3=83=95=E3=82=A9=E3=83=AB=E3=83=80=E5=90=8D=E3=82=92?=
=?UTF-8?q?`out`=E3=81=8B=E3=82=89`flocon=5Fweb=5Fserver`=E3=81=AB?=
=?UTF-8?q?=E5=A4=89=E6=9B=B4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/release.yml | 4 ++--
websites/docs/docs/server/tutorial/web_server.md | 8 +++-----
2 files changed, 5 insertions(+), 7 deletions(-)
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 0ba0249ac..314beddb1 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -48,10 +48,10 @@ jobs:
- run: yarn build
- name: mv dist directory
- run: mv ./apps/web-server/dist ./dist
+ run: mv ./apps/web-server/dist ./flocon_web_server
- name: Create flocon_web_server.zip
- run: zip -r ${GITHUB_WORKSPACE}/flocon_web_server.zip ./dist
+ run: zip -r ${GITHUB_WORKSPACE}/flocon_web_server.zip ./flocon_web_server
- name: Generate Dockerfile
run: yarn run gen-flyio-dockerfile
diff --git a/websites/docs/docs/server/tutorial/web_server.md b/websites/docs/docs/server/tutorial/web_server.md
index 13c12b40a..12deb8a59 100644
--- a/websites/docs/docs/server/tutorial/web_server.md
+++ b/websites/docs/docs/server/tutorial/web_server.md
@@ -13,9 +13,7 @@ Netlify は、静的な Web サイトを無料で作成できるサービスで
[リリース一覧](https://github.com/flocon-trpg/servers/releases)からダウンロードしたいバージョンを探します。どのバージョンを選ぶべきかよくわからない場合は、基本的には Pre-release が付いてないものの中から最新のバージョンを選べば大丈夫です。
-選んだバージョンの下の方に`flocon_web_server.zip`のリンクがあるので、それをダウンロードしてファイルを展開します。
-
-展開すると`out`という名前のフォルダが作成されます。その中に`env.txt`というテキストファイルがありますが、このファイルに Web サーバーの設定を記述する必要があります。[Web サーバー公式設定ツール](https://tools.flocon.app/web-server) を利用して、`env.txt`を編集してください。
+選んだバージョンの下の方に`flocon_web_server.zip`のリンクがあるので、それをダウンロードしてファイルを展開します。その中に`env.txt`というテキストファイルがありますが、このファイルに Web サーバーの設定を記述する必要があります。[Web サーバー公式設定ツール](https://tools.flocon.app/web-server) を利用して、`env.txt`を編集してください。
:::info
Firebase Storage 版アップローダーを有効化する場合は、あわせて[こちらの解説](/docs/server/details/uploader/firebase_storage)から Firebase Storage の設定を行う必要があります。
@@ -29,12 +27,12 @@ Firebase Storage 版アップローダーを有効化する場合は、あわせ
まずは[Netlify のサイト](https://www.netlify.com/)からアカウントを作成します。
-アカウントの作成が完了したら、下のような画面になります。「Drag and drop your site output folder here」のところに out フォルダをドラッグ&ドロップします。
+アカウントの作成が完了したら、下のような画面になります。「Drag and drop your site output folder here」のところにファイルの入ったフォルダをドラッグ&ドロップします。
![netlify1.png](/img/docs/netlify/1.png)
:::danger
-ドラッグ&ドロップしたフォルダの中身はほぼ全て[^3]がそのままの形でウェブサイト上に公開されます。そのため、out フォルダ内に機密情報などに関わるデータを含めないように気をつけてください。
+ドラッグ&ドロップしたフォルダの中身はほぼ全て[^3]がそのままの形でウェブサイト上に公開されます。そのため、フォルダ内に機密情報などに関わるデータを含めないように気をつけてください。
:::
:::info
From 11e627d34fd9489538740117450984f8959d4c26 Mon Sep 17 00:00:00 2001
From: kizahasi <21971954+kizahasi@users.noreply.github.com>
Date: Wed, 13 Nov 2024 20:16:11 +0900
Subject: [PATCH 3/6] refactor(api-server): fix import path
---
apps/api-server/src/main.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/api-server/src/main.ts b/apps/api-server/src/main.ts
index 3fe46f1c5..233eb900d 100644
--- a/apps/api-server/src/main.ts
+++ b/apps/api-server/src/main.ts
@@ -2,7 +2,7 @@ import { authToken } from '@flocon-trpg/core';
import { loggerRef } from '@flocon-trpg/utils';
import { Result } from '@kizahasi/result';
import admin from 'firebase-admin';
-import { Context } from 'graphql-ws/lib/server';
+import { Context } from 'graphql-ws';
import { VERSION } from './VERSION';
import { buildSchema } from './buildSchema';
import { createORM } from './config/createORM';
From 9471ed19bd3651fca06ac4b4bb66aaee1a4485de Mon Sep 17 00:00:00 2001
From: kizahasi <21971954+kizahasi@users.noreply.github.com>
Date: Thu, 14 Nov 2024 20:20:55 +0900
Subject: [PATCH 4/6] chore: bump up
---
apps/api-server/src/VERSION.ts | 2 +-
apps/web-server/package.json | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/apps/api-server/src/VERSION.ts b/apps/api-server/src/VERSION.ts
index 292253080..5f0ec351a 100644
--- a/apps/api-server/src/VERSION.ts
+++ b/apps/api-server/src/VERSION.ts
@@ -4,5 +4,5 @@ export const VERSION = new SemVer({
major: 0,
minor: 7,
patch: 16,
- prerelease: { type: 'rc', version: 2 },
+ prerelease: { type: 'rc', version: 3 },
});
diff --git a/apps/web-server/package.json b/apps/web-server/package.json
index 826f95a58..9bb0e5d84 100644
--- a/apps/web-server/package.json
+++ b/apps/web-server/package.json
@@ -1,6 +1,6 @@
{
"name": "@flocon-trpg/web-server",
- "version": "0.9.0-rc.2",
+ "version": "0.9.0-rc.3",
"private": true,
"type": "module",
"scripts": {
From f32db4be1543a96a80dc150059892b0ceef77c66 Mon Sep 17 00:00:00 2001
From: kizahasi <21971954+kizahasi@users.noreply.github.com>
Date: Wed, 13 Nov 2024 20:16:22 +0900
Subject: [PATCH 5/6] =?UTF-8?q?ci:=20Release=E3=83=96=E3=83=A9=E3=83=B3?=
=?UTF-8?q?=E3=83=81=E3=81=ABPR=E3=81=8C=E4=BD=9C=E6=88=90=E3=81=95?=
=?UTF-8?q?=E3=82=8C=E3=81=9F=E3=81=A8=E3=81=8D=E3=81=AB=E3=82=BF=E3=82=B0?=
=?UTF-8?q?=E3=81=AE=E5=80=99=E8=A3=9C=E5=90=8D=E3=82=92=E8=87=AA=E5=8B=95?=
=?UTF-8?q?=E7=9A=84=E3=81=AB=E5=87=BA=E5=8A=9B=E3=81=99=E3=82=8B=E3=82=88?=
=?UTF-8?q?=E3=81=86=E3=81=AB=E3=81=97=E3=81=9F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/release-pull-request.yml | 44 +++++++++++++++++--
apps/api-server/.gitignore | 1 +
apps/api-server/package.json | 3 ++
apps/api-server/rollup.config.js | 2 +
apps/api-server/src/run-generateGitTagsTxt.ts | 32 ++++++++++++++
apps/api-server/tsconfig.json | 2 +-
yarn.lock | 18 +++++++-
7 files changed, 97 insertions(+), 5 deletions(-)
create mode 100644 apps/api-server/src/run-generateGitTagsTxt.ts
diff --git a/.github/workflows/release-pull-request.yml b/.github/workflows/release-pull-request.yml
index bb66f8aca..2b50101eb 100644
--- a/.github/workflows/release-pull-request.yml
+++ b/.github/workflows/release-pull-request.yml
@@ -6,6 +6,7 @@ on:
- 'release'
jobs:
+ # TODO: かつてはビルドされた JavaScript ファイルがリポジトリに含まれておりそのチェックにこのジョブが使われていたが、現在はそれらのファイルはリポジトリに含まれていないため、このジョブは削除したほうがよいかもしれない
check-artifacts:
name: Check artifacts
@@ -25,12 +26,49 @@ jobs:
- run: yarn
- # 必要のない web-server のビルドも行われる。web-server のみを除外するとその除外処理でミスが生じる余地があるため、web-server も含めてまとめてビルドしている。
- - name: Generate dist
- run: yarn build
+ - run: yarn build
- name: Clean CRLF
run: git config --local core.autocrlf input && git add . && git reset
- name: Fail if not all the artifacts are OK
uses: numtide/clean-git-action@v2
+
+ comment-git-tags:
+ name: Comment git tags
+ runs-on: ubuntu-22.04
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Use Node 20.x
+ uses: actions/setup-node@v4
+ with:
+ node-version: 20.x
+ cache: yarn
+
+ - run: yarn
+
+ - run: yarn build
+
+ - run: yarn run gen-git-tags
+ working-directory: ./apps/api-server
+
+ - name: set git tags to GITHUB_ENV
+ run: |
+ tags_txt=$(cat ./apps/api-server/git-tags.txt)
+ echo "tags_txt<> $GITHUB_ENV
+ echo "$tags_txt" >> $GITHUB_ENV
+ echo "EOF" >> $GITHUB_ENV
+
+ - name: Add comment
+ run: gh issue comment "$PR_NUMBER" --body "$BODY"
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ GH_REPO: ${{ github.repository }}
+ PR_NUMBER: ${{ github.event.number }}
+ BODY: >
+ リポジトリの管理者へ: PR をマージした後に Release ブランチにセットするタグの名前の候補は下のとおりです。`*` の部分は自分で変更してください。
+
+ ```
+ ${{ env.tags_txt }}
+ ```
diff --git a/apps/api-server/.gitignore b/apps/api-server/.gitignore
index 5a3f6aae3..c7d3a8d6a 100644
--- a/apps/api-server/.gitignore
+++ b/apps/api-server/.gitignore
@@ -1,5 +1,6 @@
/.env.local
/bcrypt-hash.txt
/flyio.Dockerfile
+/git-tags.txt
# テストを実行すると./__uploader_for_tests__ディレクトリに画像ファイルが生成される。もしアップローダーのテストが失敗するとこれらが残ることがあるため、除外している。
/__uploader_for_tests__
\ No newline at end of file
diff --git a/apps/api-server/package.json b/apps/api-server/package.json
index 1194e661a..bae3042e7 100644
--- a/apps/api-server/package.json
+++ b/apps/api-server/package.json
@@ -12,6 +12,7 @@
"dev": "node dist/index.js",
"gen": "run-s gen:schema gen:codegen",
"gen-flyio-dockerfile": "node dist/run-generateFlyioDockerfile.js",
+ "gen-git-tags": "node dist/run-generateGitTagsTxt.js",
"gen:codegen": "graphql-codegen --config codegen.yml",
"gen:schema": "node dist/run-buildSchemaSync.js",
"lint": "eslint \"**/*.ts\" --cache",
@@ -60,6 +61,7 @@
"check-disk-space": "^3.0.1",
"class-validator": "^0.14.0",
"color": "^4.0.1",
+ "dayjs": "^1.11.13",
"dotenv": "^16.0.0",
"dotenv-expand": "^8.0.0",
"es-toolkit": "^1.25.2",
@@ -104,6 +106,7 @@
"@graphql-codegen/typed-document-node": "5.0.11",
"@graphql-codegen/typescript": "4.1.1",
"@graphql-codegen/typescript-operations": "4.3.1",
+ "@rollup/plugin-json": "6.1.0",
"@rollup/plugin-typescript": "11.1.6",
"@types/jest": "29.5.14",
"@types/node-fetch": "2.6.11",
diff --git a/apps/api-server/rollup.config.js b/apps/api-server/rollup.config.js
index 2e1ea2772..4316857ff 100644
--- a/apps/api-server/rollup.config.js
+++ b/apps/api-server/rollup.config.js
@@ -1,5 +1,6 @@
const typescript = require('@rollup/plugin-typescript');
const multiInput = require('rollup-plugin-multi-input');
+const json = require('@rollup/plugin-json');
const external = [
// https://rollupjs.org/guide/en/#importing-packagejson
@@ -29,6 +30,7 @@ module.exports = [
declarationMap: false,
sourceMap: true,
}),
+ json(),
],
external,
},
diff --git a/apps/api-server/src/run-generateGitTagsTxt.ts b/apps/api-server/src/run-generateGitTagsTxt.ts
new file mode 100644
index 000000000..8fd6fcf8f
--- /dev/null
+++ b/apps/api-server/src/run-generateGitTagsTxt.ts
@@ -0,0 +1,32 @@
+import dayjs from 'dayjs';
+import timezone from 'dayjs/plugin/timezone';
+import utc from 'dayjs/plugin/utc';
+import fs from 'fs-extra';
+import WebPackageJson from '../../web-server/package.json';
+import { VERSION } from './VERSION';
+
+// timezone プラグインを使う場合は utc プラグインも必要らしい - https://day.js.org/docs/en/timezone/timezone
+dayjs.extend(utc);
+dayjs.extend(timezone);
+
+const main = (): void => {
+ // API サーバーのバージョンは @flocon-trpg/api-server の TypeScript コードから取得する必要がある一方で、それ以外のバージョンは TypeScript コードを必要としない。そのため、これは API サーバー以外のタグ名も全て生成するスクリプトではあるが、@flocon-trpg/api-server 内に置いている。
+
+ const version = VERSION.toString();
+ const apiServerTag = `api/v${version}`;
+ const webServerTag = `web/v${WebPackageJson.version}`;
+
+ // GitHub Actions などで実行されることがあるため、明示的にタイムゾーンを指定している
+ const date = dayjs().tz('Asia/Tokyo').format('YY.M.D');
+
+ // * の部分は同じ日時に複数のタグがあるときに区別するのが目的の数値。この部分は自動的には生成できないので自分で手動で入力する
+ const mainTag = `v${date}.*`;
+
+ const txt = `Main: ${mainTag}
+Web Server: ${webServerTag}
+API Server: ${apiServerTag}`;
+
+ fs.writeFileSync('./git-tags.txt', txt);
+};
+
+main();
diff --git a/apps/api-server/tsconfig.json b/apps/api-server/tsconfig.json
index cae2403cb..c5555a985 100644
--- a/apps/api-server/tsconfig.json
+++ b/apps/api-server/tsconfig.json
@@ -5,7 +5,7 @@
// Node 14 で推奨される設定を使用している
// https://github.com/microsoft/TypeScript/wiki/Node-Target-Mapping#node-14
- "resolveJsonModule": false,
+ "resolveJsonModule": true,
"target": "ES2020",
"module": "ES2015",
"sourceMap": true,
diff --git a/yarn.lock b/yarn.lock
index 760fc7438..64064f9ce 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4254,6 +4254,7 @@ __metadata:
"@mikro-orm/mysql": "npm:^6.3.12"
"@mikro-orm/postgresql": "npm:^6.3.12"
"@mikro-orm/sqlite": "npm:^6.3.12"
+ "@rollup/plugin-json": "npm:6.1.0"
"@rollup/plugin-typescript": "npm:11.1.6"
"@types/bcrypt": "npm:^5.0.0"
"@types/color": "npm:^3.0.2"
@@ -4276,6 +4277,7 @@ __metadata:
check-disk-space: "npm:^3.0.1"
class-validator: "npm:^0.14.0"
color: "npm:^4.0.1"
+ dayjs: "npm:^1.11.13"
dotenv: "npm:^16.0.0"
dotenv-expand: "npm:^8.0.0"
es-toolkit: "npm:^1.25.2"
@@ -6848,6 +6850,20 @@ __metadata:
languageName: node
linkType: hard
+"@rollup/plugin-json@npm:6.1.0":
+ version: 6.1.0
+ resolution: "@rollup/plugin-json@npm:6.1.0"
+ dependencies:
+ "@rollup/pluginutils": "npm:^5.1.0"
+ peerDependencies:
+ rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
+ peerDependenciesMeta:
+ rollup:
+ optional: true
+ checksum: 10/cc018d20c80242a2b8b44fae61a968049cf31bb8406218187cc7cda35747616594e79452dd65722e7da6dd825b392e90d4599d43cd4461a02fefa2865945164e
+ languageName: node
+ linkType: hard
+
"@rollup/plugin-typescript@npm:11.1.6":
version: 11.1.6
resolution: "@rollup/plugin-typescript@npm:11.1.6"
@@ -12412,7 +12428,7 @@ __metadata:
languageName: node
linkType: hard
-"dayjs@npm:^1.11.11, dayjs@npm:^1.11.7":
+"dayjs@npm:^1.11.11, dayjs@npm:^1.11.13, dayjs@npm:^1.11.7":
version: 1.11.13
resolution: "dayjs@npm:1.11.13"
checksum: 10/7374d63ab179b8d909a95e74790def25c8986e329ae989840bacb8b1888be116d20e1c4eee75a69ea0dfbae13172efc50ef85619d304ee7ca3c01d5878b704f5
From 2eb3a3c894fb5b909a65d1ea7435f0664494ce5d Mon Sep 17 00:00:00 2001
From: kizahasi <21971954+kizahasi@users.noreply.github.com>
Date: Thu, 14 Nov 2024 13:54:43 +0900
Subject: [PATCH 6/6] ci: fix code block in markdown
---
.github/workflows/auto-build.yml | 2 ++
.github/workflows/release-pull-request.yml | 2 ++
2 files changed, 4 insertions(+)
diff --git a/.github/workflows/auto-build.yml b/.github/workflows/auto-build.yml
index 80c71133d..2f1ae008c 100644
--- a/.github/workflows/auto-build.yml
+++ b/.github/workflows/auto-build.yml
@@ -91,7 +91,9 @@ jobs:
差分の内容
```
+
${{ env.git_diff }}
+
```
diff --git a/.github/workflows/release-pull-request.yml b/.github/workflows/release-pull-request.yml
index 2b50101eb..b09db5eeb 100644
--- a/.github/workflows/release-pull-request.yml
+++ b/.github/workflows/release-pull-request.yml
@@ -70,5 +70,7 @@ jobs:
リポジトリの管理者へ: PR をマージした後に Release ブランチにセットするタグの名前の候補は下のとおりです。`*` の部分は自分で変更してください。
```
+
${{ env.tags_txt }}
+
```