From 62bfcd9a6028e1637879ebf443f6fdb605ef031f Mon Sep 17 00:00:00 2001 From: 5509 Date: Tue, 11 Nov 2025 21:55:03 +0900 Subject: [PATCH 01/26] =?UTF-8?q?=E7=96=91=E4=BC=BC=E3=82=A8=E3=83=A9?= =?UTF-8?q?=E3=83=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/script.js | 1 + 1 file changed, 1 insertion(+) diff --git a/public/script.js b/public/script.js index 1eca660..1a542a9 100644 --- a/public/script.js +++ b/public/script.js @@ -17,6 +17,7 @@ document.addEventListener("DOMContentLoaded", function () { // クリックされたボタンにactiveクラスを追加 this.classList.add("active"); + console.error('疑似エラー: タブがクリックされました。'); // 対応するパネルにactiveクラスを追加 const targetPanel = document.getElementById(targetTab); From db875a1d08a5748dcbc2a732413f1074b62da61c Mon Sep 17 00:00:00 2001 From: 5509 Date: Tue, 11 Nov 2025 22:03:15 +0900 Subject: [PATCH 02/26] =?UTF-8?q?=E7=96=91=E4=BC=BC=E3=82=A8=E3=83=A9?= =?UTF-8?q?=E3=83=BC=E3=81=AE=E8=A7=A3=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/script.js | 1 - 1 file changed, 1 deletion(-) diff --git a/public/script.js b/public/script.js index 1a542a9..1eca660 100644 --- a/public/script.js +++ b/public/script.js @@ -17,7 +17,6 @@ document.addEventListener("DOMContentLoaded", function () { // クリックされたボタンにactiveクラスを追加 this.classList.add("active"); - console.error('疑似エラー: タブがクリックされました。'); // 対応するパネルにactiveクラスを追加 const targetPanel = document.getElementById(targetTab); From ce7a1eff4bf8fc4ef8efb026703c9e056785e08e Mon Sep 17 00:00:00 2001 From: 5509 Date: Tue, 9 Dec 2025 01:42:50 +0900 Subject: [PATCH 03/26] modify scripts --- .github/workflows/playwright.yml | 4 ++-- package.json | 3 +-- playwright.config.ts | 5 +---- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 79873bf..4da1c4d 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -39,12 +39,12 @@ jobs: # Step 4: Playwrightブラウザと必要な依存関係をインストール - name: Install Playwright Browsers - run: npx playwright install --with-deps + run: npm run install-playwright # Step 5: 実際のPlaywrightテストを実行 # package.jsonのtestスクリプト(playwright test)を実行 - name: Run Playwright tests - run: npx playwright test + run: npm run test # Step 6: publicディレクトリとテスト結果を統合 - name: Run Build for GitHub Pages diff --git a/package.json b/package.json index 9eb0540..3a7b757 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,6 @@ "author": "", "license": "MIT", "devDependencies": { - "@playwright/test": "^1.55.1", - "@types/node": "^24.6.1" + "@playwright/test": "^1.55.1" } } diff --git a/playwright.config.ts b/playwright.config.ts index e500619..edd0798 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -9,8 +9,6 @@ export default defineConfig({ reporter: [['html', { open: 'on-failure' }]], use: { baseURL: 'http://localhost:3000', - screenshot: 'only-on-failure', - video: 'retain-on-failure', trace: 'on-first-retry', }, @@ -32,7 +30,6 @@ export default defineConfig({ ], webServer: { - command: 'npx http-server public -p 3000', - port: 3000, + command: 'npm run serve', }, }); From 8d316f62164b555d05865490a6ec9f2eea818a5f Mon Sep 17 00:00:00 2001 From: 5509 Date: Tue, 9 Dec 2025 01:50:26 +0900 Subject: [PATCH 04/26] npx playwright test --- .github/workflows/playwright.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 4da1c4d..5728594 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -44,7 +44,7 @@ jobs: # Step 5: 実際のPlaywrightテストを実行 # package.jsonのtestスクリプト(playwright test)を実行 - name: Run Playwright tests - run: npm run test + run: npx playwright test # Step 6: publicディレクトリとテスト結果を統合 - name: Run Build for GitHub Pages From 8a69425b033ef2599332393ec81fcc1cefc2e87d Mon Sep 17 00:00:00 2001 From: 5509 Date: Tue, 9 Dec 2025 01:56:54 +0900 Subject: [PATCH 05/26] webServer.command --- playwright.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright.config.ts b/playwright.config.ts index edd0798..8d6a96c 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -30,6 +30,6 @@ export default defineConfig({ ], webServer: { - command: 'npm run serve', + command: 'npx http-server public -p 3000', }, }); From 4c78d488e64b76274090ba170be5a81a8e3198d7 Mon Sep 17 00:00:00 2001 From: 5509 Date: Tue, 9 Dec 2025 02:00:10 +0900 Subject: [PATCH 06/26] modify scripts --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3a7b757..9b43b87 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "test:ui": "node_modules/.bin/playwright test --ui", "test:debug": "node_modules/.bin/playwright test --debug", "serve": "npx http-server public -p 3000", - "install-playwright": "npx playwright install", + "install-playwright": "npx playwright install --with-deps", "build-for-pages": "mkdir -p dist && cp -r public/* dist/ && cp -r playwright-report dist/playwright-report" }, "keywords": [ From 162b11c0028c046c5b94a6e22bff7e46b855d024 Mon Sep 17 00:00:00 2001 From: 5509 Date: Fri, 19 Dec 2025 10:25:47 +0900 Subject: [PATCH 07/26] =?UTF-8?q?webServer=E7=A2=BA=E8=AA=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- playwright.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playwright.config.ts b/playwright.config.ts index 8d6a96c..edd0798 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -30,6 +30,6 @@ export default defineConfig({ ], webServer: { - command: 'npx http-server public -p 3000', + command: 'npm run serve', }, }); From 23cdb12779611fc955954f3cba7e68992f63013c Mon Sep 17 00:00:00 2001 From: 5509 Date: Mon, 22 Dec 2025 18:20:34 +0900 Subject: [PATCH 08/26] =?UTF-8?q?webServer=E7=A2=BA=E8=AA=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9b43b87..8ed1c8c 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "test:headed": "node_modules/.bin/playwright test --headed", "test:ui": "node_modules/.bin/playwright test --ui", "test:debug": "node_modules/.bin/playwright test --debug", - "serve": "npx http-server public -p 3000", + "serve": "http-server public -p 3000", "install-playwright": "npx playwright install --with-deps", "build-for-pages": "mkdir -p dist && cp -r public/* dist/ && cp -r playwright-report dist/playwright-report" }, From 93b60d77637c99b0679953f01d94609206ead7c8 Mon Sep 17 00:00:00 2001 From: 5509 Date: Mon, 5 Jan 2026 17:14:45 +0900 Subject: [PATCH 09/26] =?UTF-8?q?webServer=E7=A2=BA=E8=AA=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 631 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 3 +- 2 files changed, 623 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index 858b765..d509687 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "devDependencies": { "@playwright/test": "^1.55.1", - "@types/node": "^24.6.1" + "http-server": "^14.1.1" } }, "node_modules/@playwright/test": { @@ -29,14 +29,212 @@ "node": ">=18" } }, - "node_modules/@types/node": { - "version": "24.6.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.6.1.tgz", - "integrity": "sha512-ljvjjs3DNXummeIaooB4cLBKg2U6SPI6Hjra/9rRIy7CpM0HpLtG9HptkMKAb4HYWy5S7HUvJEuWgr/y0U8SHw==", + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "license": "MIT", "dependencies": { - "undici-types": "~7.13.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, "node_modules/fsevents": { @@ -54,6 +252,246 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, "node_modules/playwright": { "version": "1.55.1", "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.55.1.tgz", @@ -86,12 +524,185 @@ "node": ">=18" } }, - "node_modules/undici-types": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.13.0.tgz", - "integrity": "sha512-Ov2Rr9Sx+fRgagJ5AX0qvItZG/JKKoBRAVITs1zk7IqZGTJUwgUr7qoYBpWwakpWilTZFM98rG/AFRocu10iIQ==", + "node_modules/portfinder": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", + "integrity": "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^3.2.6", + "debug": "^4.3.6" + }, + "engines": { + "node": ">= 10.12" + } + }, + "node_modules/qs": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true, + "license": "MIT" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", "dev": true, "license": "MIT" + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } } } } diff --git a/package.json b/package.json index 8ed1c8c..0d648b9 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "author": "", "license": "MIT", "devDependencies": { - "@playwright/test": "^1.55.1" + "@playwright/test": "^1.55.1", + "http-server": "^14.1.1" } } From c0d133c48f695e24d3b2741b21d0dd27444452d3 Mon Sep 17 00:00:00 2001 From: 5509 Date: Tue, 6 Jan 2026 13:03:38 +0900 Subject: [PATCH 10/26] =?UTF-8?q?=E3=82=AD=E3=83=A3=E3=83=83=E3=82=B7?= =?UTF-8?q?=E3=83=A5=E3=83=86=E3=82=B9=E3=83=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/playwright.yml | 57 ++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 25 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 5728594..448dc58 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -1,15 +1,12 @@ -# Playwrightスモークテスト自動実行ワークフロー -# このワークフローは、mainブランチへのpushやPull Request時に -# 自動的にPlaywrightテストを実行し、結果をレポートとして保存します -# また、GitHub Pagesにpublicディレクトリとテスト結果(playwright-report)をデプロイします -name: Playwright Tests +# Playwrightスモークテスト自動実行ワークフロー(キャッシュパターン2: package-lock.jsonハッシュ版) +# package-lock.jsonのハッシュをキャッシュキーに使用するパターン +# メリット: jqコマンド不要、シンプル +# デメリット: 他のパッケージ更新時もキャッシュが無効化される +name: Playwright Tests (Cache v2 - lockfile hash) -# ワークフローが実行されるトリガー条件を定義 on: - # mainブランチにpushされた時に実行 push: branches: [main] - # mainブランチに向けたPull Requestが作成・更新された時に実行 pull_request: branches: [main] @@ -19,13 +16,11 @@ permissions: id-token: write jobs: - # テスト実行ジョブの定義 test: - # Ubuntu最新版の仮想環境でテストを実行 runs-on: ubuntu-latest steps: - # Step 1: リポジトリのコードをチェックアウト(ダウンロード) + # Step 1: リポジトリのコードをチェックアウト - uses: actions/checkout@v4 # Step 2: Node.jsの環境をセットアップ @@ -37,41 +32,53 @@ jobs: - name: Install dependencies run: npm ci - # Step 4: Playwrightブラウザと必要な依存関係をインストール + # Step 4: Playwrightブラウザのキャッシュを復元(package-lock.jsonハッシュ版) + - name: Cache Playwright browsers + uses: actions/cache@v4 + id: playwright-cache + with: + path: ~/.cache/ms-playwright + key: playwright-browsers-${{ runner.os }}-${{ hashFiles('package-lock.json') }} + + # Step 5: Playwrightブラウザと必要な依存関係をインストール(キャッシュがない場合のみ) - name: Install Playwright Browsers + if: steps.playwright-cache.outputs.cache-hit != 'true' run: npm run install-playwright - # Step 5: 実際のPlaywrightテストを実行 - # package.jsonのtestスクリプト(playwright test)を実行 + # Step 6: システム依存関係をインストール(キャッシュ復元時も必要) + - name: Install Playwright system dependencies + if: steps.playwright-cache.outputs.cache-hit == 'true' + run: npx playwright install-deps + + # Step 7: 実際のPlaywrightテストを実行 - name: Run Playwright tests run: npx playwright test - # Step 6: publicディレクトリとテスト結果を統合 + # Step 8: publicディレクトリとテスト結果を統合 - name: Run Build for GitHub Pages - run : npm run build-for-pages + run: npm run build-for-pages - # Step 7: GitHub Pagesの設定 + # Step 9: GitHub Pagesの設定 - name: Setup Pages uses: actions/configure-pages@v5 if: always() - # Step 8: distディレクトリをアーティファクトとして保存 - # テストが成功・失敗に関わらず(if: always())レポートを保存 + # Step 10: distディレクトリをアーティファクトとして保存 - uses: actions/upload-artifact@v4 - if: always() # テスト結果に関係なく常に実行 + if: always() with: - name: dist # アーティファクトの名前 - path: dist/ # レポートファイルのパス - retention-days: 30 # レポートの保存期間(30日間) + name: dist + path: dist/ + retention-days: 30 - # Step 9: GitHub Pagesにアーティファクトをアップロード + # Step 11: GitHub Pagesにアーティファクトをアップロード - name: Upload Artifacts to GitHub Pages uses: actions/upload-pages-artifact@v3 if: always() with: path: ./dist - # Step 10: GitHub Pagesにデプロイ + # Step 12: GitHub Pagesにデプロイ - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 From 758ec25e5d0d4c5e2fb9d3090af607bbb0dfc6f4 Mon Sep 17 00:00:00 2001 From: 5509 Date: Tue, 6 Jan 2026 13:07:04 +0900 Subject: [PATCH 11/26] =?UTF-8?q?=E6=A6=82=E8=A6=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/playwright.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 448dc58..2d5d5d5 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -1,7 +1,5 @@ -# Playwrightスモークテスト自動実行ワークフロー(キャッシュパターン2: package-lock.jsonハッシュ版) -# package-lock.jsonのハッシュをキャッシュキーに使用するパターン -# メリット: jqコマンド不要、シンプル -# デメリット: 他のパッケージ更新時もキャッシュが無効化される +# Playwrightスモークテスト自動実行ワークフロー +# package-lock.jsonのハッシュをキャッシュキーに使用する name: Playwright Tests (Cache v2 - lockfile hash) on: From ede4cf4c7a662eb935a579f478f8d9cc29e8c118 Mon Sep 17 00:00:00 2001 From: 5509 Date: Tue, 6 Jan 2026 17:02:34 +0900 Subject: [PATCH 12/26] =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=83=BC=E3=83=AB=E9=83=A8=E5=88=86=E3=82=92=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/playwright.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 2d5d5d5..b908767 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -38,14 +38,9 @@ jobs: path: ~/.cache/ms-playwright key: playwright-browsers-${{ runner.os }}-${{ hashFiles('package-lock.json') }} - # Step 5: Playwrightブラウザと必要な依存関係をインストール(キャッシュがない場合のみ) - - name: Install Playwright Browsers - if: steps.playwright-cache.outputs.cache-hit != 'true' - run: npm run install-playwright - # Step 6: システム依存関係をインストール(キャッシュ復元時も必要) - name: Install Playwright system dependencies - if: steps.playwright-cache.outputs.cache-hit == 'true' + if: steps.playwright-cache.outputs.cache-hit != 'true' run: npx playwright install-deps # Step 7: 実際のPlaywrightテストを実行 From da72c249e4febdc22eb2558c6347559bf9dd73fc Mon Sep 17 00:00:00 2001 From: 5509 Date: Tue, 6 Jan 2026 17:06:06 +0900 Subject: [PATCH 13/26] =?UTF-8?q?restore-cache=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/playwright.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index b908767..c712b39 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -37,6 +37,8 @@ jobs: with: path: ~/.cache/ms-playwright key: playwright-browsers-${{ runner.os }}-${{ hashFiles('package-lock.json') }} + restore-keys: | + playwright-browsers-${{ runner.os }}- # Step 6: システム依存関係をインストール(キャッシュ復元時も必要) - name: Install Playwright system dependencies From 2b43897e543b549ba34900f72bc6a453bd44b0d5 Mon Sep 17 00:00:00 2001 From: 5509 Date: Tue, 6 Jan 2026 17:13:50 +0900 Subject: [PATCH 14/26] =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=83=BC=E3=83=AB=E3=82=B3=E3=83=9E=E3=83=B3=E3=83=89=E3=82=92?= =?UTF-8?q?=E8=AA=BF=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/playwright.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index c712b39..4eedcd7 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -43,7 +43,7 @@ jobs: # Step 6: システム依存関係をインストール(キャッシュ復元時も必要) - name: Install Playwright system dependencies if: steps.playwright-cache.outputs.cache-hit != 'true' - run: npx playwright install-deps + run: npx playwright install --with-deps # Step 7: 実際のPlaywrightテストを実行 - name: Run Playwright tests From 9776f82aa9d69e7e06294c2887b450c48d41cff0 Mon Sep 17 00:00:00 2001 From: 5509 Date: Wed, 7 Jan 2026 12:12:31 +0900 Subject: [PATCH 15/26] modify playwright.yml --- .github/workflows/playwright.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 4eedcd7..8b4a322 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -42,12 +42,11 @@ jobs: # Step 6: システム依存関係をインストール(キャッシュ復元時も必要) - name: Install Playwright system dependencies - if: steps.playwright-cache.outputs.cache-hit != 'true' - run: npx playwright install --with-deps + run: npm run install-playwright # Step 7: 実際のPlaywrightテストを実行 - name: Run Playwright tests - run: npx playwright test + run: npm playwright test # Step 8: publicディレクトリとテスト結果を統合 - name: Run Build for GitHub Pages From 7847737b9bbec7434a3a7aff58078757d3ed7c5b Mon Sep 17 00:00:00 2001 From: 5509 Date: Wed, 7 Jan 2026 12:14:02 +0900 Subject: [PATCH 16/26] modify playwright.yml --- .github/workflows/playwright.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 8b4a322..90e60ad 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -46,7 +46,7 @@ jobs: # Step 7: 実際のPlaywrightテストを実行 - name: Run Playwright tests - run: npm playwright test + run: npm run test # Step 8: publicディレクトリとテスト結果を統合 - name: Run Build for GitHub Pages From 1ef26515f717d8ddcd2b2bf909e5922304c24b8e Mon Sep 17 00:00:00 2001 From: 5509 Date: Wed, 7 Jan 2026 12:37:23 +0900 Subject: [PATCH 17/26] modify playwright.yml --- .github/workflows/playwright.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 90e60ad..bd915af 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -30,21 +30,21 @@ jobs: - name: Install dependencies run: npm ci - # Step 4: Playwrightブラウザのキャッシュを復元(package-lock.jsonハッシュ版) + # Step 4: Playwrightブラウザのキャッシュを復元 - name: Cache Playwright browsers uses: actions/cache@v4 id: playwright-cache with: path: ~/.cache/ms-playwright - key: playwright-browsers-${{ runner.os }}-${{ hashFiles('package-lock.json') }} + key: playwright-${{ runner.os }}-${{ hashFiles('package-lock.json') }} restore-keys: | - playwright-browsers-${{ runner.os }}- + playwright-${{ runner.os }}- - # Step 6: システム依存関係をインストール(キャッシュ復元時も必要) + # Step 6: Playwrightシステム依存関係をインストール - name: Install Playwright system dependencies run: npm run install-playwright - # Step 7: 実際のPlaywrightテストを実行 + # Step 7: Playwrightテストを実行 - name: Run Playwright tests run: npm run test From 27f3ae1c0cbcd3e4aff21ed0181d2ed54de1b7f1 Mon Sep 17 00:00:00 2001 From: Takeshi Takatsudo Date: Wed, 7 Jan 2026 13:57:59 +0900 Subject: [PATCH 18/26] =?UTF-8?q?Playwright=E5=85=AC=E5=BC=8FDocker?= =?UTF-8?q?=E3=82=A4=E3=83=A1=E3=83=BC=E3=82=B8=E3=81=AB=E5=88=87=E3=82=8A?= =?UTF-8?q?=E6=9B=BF=E3=81=88=E3=81=A6CI=E9=AB=98=E9=80=9F=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - キャッシュ方式からDocker方式に変更 - mcr.microsoft.com/playwright:v1.52.0-noble を使用 - ブラウザとシステム依存関係のインストールが不要に - setup-node も不要(Dockerイメージに含まれる) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .github/workflows/playwright.yml | 41 ++++++++++---------------------- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index bd915af..a58db6f 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -1,6 +1,6 @@ # Playwrightスモークテスト自動実行ワークフロー -# package-lock.jsonのハッシュをキャッシュキーに使用する -name: Playwright Tests (Cache v2 - lockfile hash) +# Playwright公式Dockerイメージを使用してブラウザとシステム依存関係のインストールを省略 +name: Playwright Tests (Docker) on: push: @@ -16,48 +16,33 @@ permissions: jobs: test: runs-on: ubuntu-latest + # Playwright公式Dockerイメージ: ブラウザとシステム依存関係がプリインストール済み + container: + image: mcr.microsoft.com/playwright:v1.52.0-noble steps: # Step 1: リポジトリのコードをチェックアウト - uses: actions/checkout@v4 - # Step 2: Node.jsの環境をセットアップ - - uses: actions/setup-node@v4 - with: - node-version: lts/* - - # Step 3: package.jsonに定義された依存関係をインストール + # Step 2: package.jsonに定義された依存関係をインストール + # Note: Dockerイメージに Node.js が含まれているため setup-node は不要 - name: Install dependencies run: npm ci - # Step 4: Playwrightブラウザのキャッシュを復元 - - name: Cache Playwright browsers - uses: actions/cache@v4 - id: playwright-cache - with: - path: ~/.cache/ms-playwright - key: playwright-${{ runner.os }}-${{ hashFiles('package-lock.json') }} - restore-keys: | - playwright-${{ runner.os }}- - - # Step 6: Playwrightシステム依存関係をインストール - - name: Install Playwright system dependencies - run: npm run install-playwright - - # Step 7: Playwrightテストを実行 + # Step 3: Playwrightテストを実行 - name: Run Playwright tests run: npm run test - # Step 8: publicディレクトリとテスト結果を統合 + # Step 4: publicディレクトリとテスト結果を統合 - name: Run Build for GitHub Pages run: npm run build-for-pages - # Step 9: GitHub Pagesの設定 + # Step 5: GitHub Pagesの設定 - name: Setup Pages uses: actions/configure-pages@v5 if: always() - # Step 10: distディレクトリをアーティファクトとして保存 + # Step 6: distディレクトリをアーティファクトとして保存 - uses: actions/upload-artifact@v4 if: always() with: @@ -65,14 +50,14 @@ jobs: path: dist/ retention-days: 30 - # Step 11: GitHub Pagesにアーティファクトをアップロード + # Step 7: GitHub Pagesにアーティファクトをアップロード - name: Upload Artifacts to GitHub Pages uses: actions/upload-pages-artifact@v3 if: always() with: path: ./dist - # Step 12: GitHub Pagesにデプロイ + # Step 8: GitHub Pagesにデプロイ - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 From 2a79014239ef752a1caeab66ba5239c45cbd4c51 Mon Sep 17 00:00:00 2001 From: Takeshi Takatsudo Date: Wed, 7 Jan 2026 14:00:17 +0900 Subject: [PATCH 19/26] =?UTF-8?q?Docker=E3=82=A4=E3=83=A1=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=81=AE=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E3=82=921.55.0=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .github/workflows/playwright.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index a58db6f..417c2c6 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest # Playwright公式Dockerイメージ: ブラウザとシステム依存関係がプリインストール済み container: - image: mcr.microsoft.com/playwright:v1.52.0-noble + image: mcr.microsoft.com/playwright:v1.55.0-noble steps: # Step 1: リポジトリのコードをチェックアウト From fef35e6e34a48f26c4ac394b1787c2d791943f95 Mon Sep 17 00:00:00 2001 From: Takeshi Takatsudo Date: Wed, 7 Jan 2026 14:02:09 +0900 Subject: [PATCH 20/26] =?UTF-8?q?Docker=E3=82=A4=E3=83=A1=E3=83=BC?= =?UTF-8?q?=E3=82=B8=E3=81=AE=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7=E3=83=B3?= =?UTF-8?q?=E3=82=921.55.1=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .github/workflows/playwright.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 417c2c6..85ebadf 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -18,7 +18,7 @@ jobs: runs-on: ubuntu-latest # Playwright公式Dockerイメージ: ブラウザとシステム依存関係がプリインストール済み container: - image: mcr.microsoft.com/playwright:v1.55.0-noble + image: mcr.microsoft.com/playwright:v1.55.1-noble steps: # Step 1: リポジトリのコードをチェックアウト From 820ca1f0084dae8491be6e7a77eb243cb1b7799d Mon Sep 17 00:00:00 2001 From: Takeshi Takatsudo Date: Wed, 7 Jan 2026 14:03:50 +0900 Subject: [PATCH 21/26] =?UTF-8?q?Docker=E3=82=B3=E3=83=B3=E3=83=86?= =?UTF-8?q?=E3=83=8A=E3=81=AB--ipc=3Dhost=E3=82=AA=E3=83=97=E3=82=B7?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Firefoxの共有メモリ問題を解決 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .github/workflows/playwright.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 85ebadf..a1ec93d 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -19,6 +19,7 @@ jobs: # Playwright公式Dockerイメージ: ブラウザとシステム依存関係がプリインストール済み container: image: mcr.microsoft.com/playwright:v1.55.1-noble + options: --ipc=host steps: # Step 1: リポジトリのコードをチェックアウト From 377792d4eb8b773c99e2aaab2994d49b3d1c0015 Mon Sep 17 00:00:00 2001 From: Takeshi Takatsudo Date: Wed, 7 Jan 2026 14:07:44 +0900 Subject: [PATCH 22/26] =?UTF-8?q?Playwright=E3=83=86=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=82=92Chromium=E3=81=AE=E3=81=BF=E3=81=AB=E5=A4=89=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - playwright.config.tsでChromiumのみを設定 - Firefox/WebKitはコメントアウト(必要に応じて有効化可能) - Docker環境での安定性を確保 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- playwright.config.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/playwright.config.ts b/playwright.config.ts index edd0798..403c536 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -17,16 +17,15 @@ export default defineConfig({ name: 'chromium', use: { ...devices['Desktop Chrome'] }, }, - - { - name: 'firefox', - use: { ...devices['Desktop Firefox'] }, - }, - - { - name: 'webkit', - use: { ...devices['Desktop Safari'] }, - }, + // 必要に応じて他のブラウザを追加 + // { + // name: 'firefox', + // use: { ...devices['Desktop Firefox'] }, + // }, + // { + // name: 'webkit', + // use: { ...devices['Desktop Safari'] }, + // }, ], webServer: { From 84135b07289163eb4e92838958c4c6ce242d93be Mon Sep 17 00:00:00 2001 From: Takeshi Takatsudo Date: Wed, 7 Jan 2026 14:12:13 +0900 Subject: [PATCH 23/26] =?UTF-8?q?--ipc=3Dhost=E3=82=AA=E3=83=97=E3=82=B7?= =?UTF-8?q?=E3=83=A7=E3=83=B3=E3=82=92=E5=89=8A=E9=99=A4=EF=BC=88Chromium?= =?UTF-8?q?=E3=81=AE=E3=81=BF=E3=81=A7=E3=81=AF=E4=B8=8D=E8=A6=81=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .github/workflows/playwright.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index a1ec93d..85ebadf 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -19,7 +19,6 @@ jobs: # Playwright公式Dockerイメージ: ブラウザとシステム依存関係がプリインストール済み container: image: mcr.microsoft.com/playwright:v1.55.1-noble - options: --ipc=host steps: # Step 1: リポジトリのコードをチェックアウト From 479c58d495bee576e5ca5282d6d68d071b73ea87 Mon Sep 17 00:00:00 2001 From: Takeshi Takatsudo Date: Wed, 7 Jan 2026 14:23:30 +0900 Subject: [PATCH 24/26] =?UTF-8?q?install-playwright=E3=81=8B=E3=82=89--wit?= =?UTF-8?q?h-deps=E3=82=92=E5=89=8A=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit macOS/Windowsでは不要なオプション (Linuxローカル開発者がいる場合は要再追加) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0d648b9..8ff27d0 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "test:ui": "node_modules/.bin/playwright test --ui", "test:debug": "node_modules/.bin/playwright test --debug", "serve": "http-server public -p 3000", - "install-playwright": "npx playwright install --with-deps", + "install-playwright": "npx playwright install", "build-for-pages": "mkdir -p dist && cp -r public/* dist/ && cp -r playwright-report dist/playwright-report" }, "keywords": [ From 84d1b1962df2a7486d5997c97e5287e18aa44679 Mon Sep 17 00:00:00 2001 From: 5509 Date: Wed, 7 Jan 2026 21:13:54 +0900 Subject: [PATCH 25/26] modify package.json --- package.json | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 8ff27d0..52e5765 100644 --- a/package.json +++ b/package.json @@ -4,12 +4,11 @@ "description": "PlaywrightでE2Eテストを学ぶためのデモアプリケーション", "main": "index.js", "scripts": { - "test": "node_modules/.bin/playwright test", - "test:headed": "node_modules/.bin/playwright test --headed", - "test:ui": "node_modules/.bin/playwright test --ui", - "test:debug": "node_modules/.bin/playwright test --debug", + "test": "playwright test", + "test:headed": "playwright test --headed", + "test:ui": "playwright test --ui", + "test:debug": "playwright test --debug", "serve": "http-server public -p 3000", - "install-playwright": "npx playwright install", "build-for-pages": "mkdir -p dist && cp -r public/* dist/ && cp -r playwright-report dist/playwright-report" }, "keywords": [ From 0c6c80186425c7d72e9a95329fef067f418756f7 Mon Sep 17 00:00:00 2001 From: 5509 Date: Wed, 7 Jan 2026 21:18:20 +0900 Subject: [PATCH 26/26] modify package.json --- package.json | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/package.json b/package.json index 52e5765..1b37e85 100644 --- a/package.json +++ b/package.json @@ -2,24 +2,12 @@ "name": "playwright-demo", "version": "1.0.0", "description": "PlaywrightでE2Eテストを学ぶためのデモアプリケーション", - "main": "index.js", "scripts": { "test": "playwright test", "test:headed": "playwright test --headed", - "test:ui": "playwright test --ui", - "test:debug": "playwright test --debug", "serve": "http-server public -p 3000", "build-for-pages": "mkdir -p dist && cp -r public/* dist/ && cp -r playwright-report dist/playwright-report" }, - "keywords": [ - "playwright", - "e2e", - "testing", - "demo", - "tutorial" - ], - "author": "", - "license": "MIT", "devDependencies": { "@playwright/test": "^1.55.1", "http-server": "^14.1.1"