Skip to content
This repository was archived by the owner on Jan 28, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,19 @@
{
"env": {
"browser": true,
"es2021": true,
"node": true
},
"extends": "eslint:recommended",
"root": true,
"parser": "@typescript-eslint/parser",
"plugins": [
"@typescript-eslint"
],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
],
Comment on lines +4 to +10
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
"plugins": [
"@typescript-eslint"
],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
],
"plugins": ["@typescript-eslint"],
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],

"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
"sourceType": "module",
"project": "./tsconfig.json" // Make sure this path is correct if you have a tsconfig.json
},
"rules": {}
"rules": {
// Your custom rules here
}
}
287 changes: 218 additions & 69 deletions .github/workflows/playwright.yml

Large diffs are not rendered by default.

68 changes: 57 additions & 11 deletions playwright.config.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,62 @@
const { defineConfig } = require('@playwright/test');
import { defineConfig, devices } from '@playwright/test';
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
import { defineConfig, devices } from '@playwright/test';
import { defineConfig, devices } from "@playwright/test";


module.exports = defineConfig({
export default defineConfig({
// Directory where tests are located
testDir: './tests',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
testDir: './tests',
testDir: "./tests",


// Directory for test artifacts (videos, traces, screenshots generated during runs)
outputDir: 'published-screenshots/test-results',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
outputDir: 'published-screenshots/test-results',
outputDir: "published-screenshots/test-results",


// Directory for visual snapshot baseline images.
// When you run `npx playwright test --update-snapshots`, images are saved here.
// When you run `npx playwright test`, images are compared against baselines here.
snapshotPathTemplate: 'published-screenshots/snapshots/{testFilePath}-{arg}-{projectName}{ext}',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
snapshotPathTemplate: 'published-screenshots/snapshots/{testFilePath}-{arg}-{projectName}{ext}',
snapshotPathTemplate:
"published-screenshots/snapshots/{testFilePath}-{arg}-{projectName}{ext}",


// Run tests in parallel
fullyParallel: true,

// Fail the build on CI if you accidentally left test.only in the source code.
forbidOnly: !!process.env.CI,

// Retry on CI only
retries: process.env.CI ? 2 : 0,

// Opt out of parallel tests on CI.
workers: process.env.CI ? 1 : undefined,

// Reporter to use. 'blob' is good for CI as it produces a single JSON file.
// The interactive HTML report will be generated in the workflow.
reporter: 'blob',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
reporter: 'blob',
reporter: "blob",


use: {
headless: true,
screenshot: 'on',
trace: 'on',
video: 'off',
ignoreHTTPSErrors: true,
// Base URL to use in actions like `await page.goto('/')`.
// baseURL: 'http://127.0.0.1:3000', // Uncomment and set if you have a local dev server

// Collect trace when retrying the first time.
trace: 'on-first-retry',
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
trace: 'on-first-retry',
trace: "on-first-retry",

},
reporter: [
['json', { outputFile: 'playwright-metrics.json' }],
['html', { outputFile: 'report.html', open: 'never' }],

// Configure projects for different browsers
projects: [
{
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
Comment on lines +42 to +43
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
name: 'chromium',
use: { ...devices['Desktop Chrome'] },
name: "chromium",
use: { ...devices["Desktop Chrome"] },

},
// You can uncomment and add more projects for different browsers if needed:
// {
// name: 'firefox',
// use: { ...devices['Desktop Firefox'] },
// },
// {
// name: 'webkit',
// use: { ...devices['Desktop Safari'] },
// },
],
});

// If your tests require a development server to be running:
// webServer: {
// command: 'npm run start', // Replace with your actual start command (e.g., 'npm start', 'yarn dev')
// url: 'http://127.0.0.1:3000', // Replace with the URL your app runs on locally
// reuseExistingServer: !process.env.CI, // Reuse server if already running locally
// },
});
6 changes: 6 additions & 0 deletions published-screenshots/.last-run.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"status": "failed",
"failedTests": [
"849da1cee0c412ce5534-4ebb083191c59dda5f31"
]
}
Comment on lines +3 to +6
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
"failedTests": [
"849da1cee0c412ce5534-4ebb083191c59dda5f31"
]
}
"failedTests": ["849da1cee0c412ce5534-4ebb083191c59dda5f31"]
}

Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Page snapshot

```yaml
- text: This is just a demo of TodoMVC for testing, not the
- link "real TodoMVC app.":
- /url: https://todomvc.com/
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
- /url: https://todomvc.com/
- /url: https://todomvc.com/

- heading "todos" [level=1]
- textbox "What needs to be done?"
- checkbox "❯Mark all as complete"
- text: ❯Mark all as complete
- list:
- listitem:
- checkbox "Toggle Todo"
- text: feed the cat
- listitem:
- checkbox "Toggle Todo"
- text: book a doctors appointment
Comment on lines +12 to +17
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
- listitem:
- checkbox "Toggle Todo"
- text: feed the cat
- listitem:
- checkbox "Toggle Todo"
- text: book a doctors appointment
- listitem:
- checkbox "Toggle Todo"
- text: feed the cat
- listitem:
- checkbox "Toggle Todo"
- text: book a doctors appointment

- strong: "2"
- text: items left
- list:
- listitem:
- link "All":
- /url: "#/"
- listitem:
- link "Active":
- /url: "#/active"
- listitem:
- link "Completed":
- /url: "#/completed"
Comment on lines +21 to +29
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
- listitem:
- link "All":
- /url: "#/"
- listitem:
- link "Active":
- /url: "#/active"
- listitem:
- link "Completed":
- /url: "#/completed"
- listitem:
- link "All":
- /url: "#/"
- listitem:
- link "Active":
- /url: "#/active"
- listitem:
- link "Completed":
- /url: "#/completed"

- contentinfo:
- paragraph: Double-click to edit a todo
- paragraph:
- text: Created by
- link "Remo H. Jansen":
- /url: http://github.com/remojansen/
- paragraph:
- text: Part of
- link "TodoMVC":
- /url: http://todomvc.com
```
Comment on lines +31 to +40
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[prettier] reported by reviewdog 🐶

Suggested change
- paragraph: Double-click to edit a todo
- paragraph:
- text: Created by
- link "Remo H. Jansen":
- /url: http://github.com/remojansen/
- paragraph:
- text: Part of
- link "TodoMVC":
- /url: http://todomvc.com
```
- paragraph: Double-click to edit a todo
- paragraph:
- text: Created by
- link "Remo H. Jansen":
- /url: http://github.com/remojansen/
- paragraph:
- text: Part of
- link "TodoMVC":
- /url: http://todomvc.com
```

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading