Skip to content
Draft

3.0.0 #721

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
3671e29
refactor: move logger to injected dependency
MattLish Mar 20, 2025
c4699a7
refactor: make main directory follow strict typescript settings
MattLish Mar 20, 2025
e062990
refactor: apply individual eslint rules
MattLish Mar 20, 2025
153f1f2
refactor: apply prettier to all files
MattLish Mar 20, 2025
2e7a283
fix: restore main file to root for vue electron builder
MattLish Mar 20, 2025
a849ffb
chore: sort shared eslint file
MattLish Mar 20, 2025
f03b835
test: use ts-node for tests
MattLish Mar 20, 2025
d4aec05
chore: add script to generate mock modpack for testing
MattLish Mar 20, 2025
c6d9c7a
test: add more coverage
MattLish Mar 20, 2025
7e1f30e
chore: generate more accurate modlist files
MattLish Mar 20, 2025
b94ad04
test: ensure all files are shown in coverage
MattLish Mar 20, 2025
9760bd5
test: add tests for enb service
MattLish Mar 20, 2025
613bf59
test: ensure sinon is restored
MattLish Mar 20, 2025
3e90f1a
test: fix async filter test names
MattLish Mar 20, 2025
2e865d4
test: add tests for error service
MattLish Mar 20, 2025
9de9b73
test: add tests for instruction service
MattLish Mar 20, 2025
be68f5a
test: add tests for launcher service
MattLish Mar 20, 2025
54c3523
test: add tests for migration servive
MattLish Mar 20, 2025
36f4bf5
test: add tests for mod organiser service
MattLish Mar 20, 2025
f5b517a
test: add tests modpack service
MattLish Mar 20, 2025
e9e4303
test: add tests for profile service
MattLish Mar 20, 2025
90aa70f
test: add tests for resolution service
MattLish Mar 20, 2025
c2be3f5
test: add tests for startup service
MattLish Mar 20, 2025
2a83c56
test: add tests for system service
MattLish Mar 20, 2025
748c33e
test: add tests for update service
MattLish Mar 20, 2025
6469866
test: clean up dirent mock
MattLish Mar 20, 2025
004c06f
test: add tests for wabbajack service
MattLish Mar 20, 2025
73e33fe
chore: add docker-compose that runs Windows
MattLish Mar 20, 2025
ced405d
test: add tests for window service
MattLish Mar 20, 2025
134e419
test: ignore test files from coverage
MattLish Mar 20, 2025
ca932fa
test: add tags to main service tests
MattLish Mar 20, 2025
0db6d6a
test: add playwright with initial test
MattLish Mar 20, 2025
46db865
test(e2e): add coverage for renderer files
MattLish Mar 20, 2025
2dc9581
test: ignore renderer files and controllers in main tests
MattLish Mar 20, 2025
f244ba3
test: prevent running e2e tests in parallel
MattLish Mar 20, 2025
d02f473
test: display main process coverage in e2e tests
MattLish Mar 20, 2025
7710b8b
test: add missing config test
MattLish Mar 20, 2025
326a312
test(unit): ignore files that cannot be tested with unit tests
MattLish Mar 20, 2025
ae279b3
test(e2e): allow running app while e2e tests run
MattLish Mar 20, 2025
5db0dd8
test: enable parallel testing
MattLish Mar 20, 2025
ecb761a
ci: add e2e tests to ci
MattLish Mar 20, 2025
aecffe3
test: add e2e tests for header links
MattLish Mar 20, 2025
24d8fa9
test: add news e2e tests
MattLish Mar 20, 2025
995911f
test: add patron list e2e test
MattLish Mar 20, 2025
9cacab0
chore: improve junie guidelines
MattLish Mar 20, 2025
8740900
test: add community links e2e tests
MattLish Mar 20, 2025
a76f97b
test: add navigation information e2e tests
MattLish Mar 23, 2025
2dfa480
test: add application actions e2e tests
MattLish Mar 23, 2025
3f5995a
test(e2e): add better method to reset test context between each test
MattLish Mar 25, 2025
dc1062e
test(e2e): move the app window to a random location so multiple windo…
MattLish Mar 25, 2025
eba6b95
test(e2e): update navigation tests to be more robust
MattLish Mar 25, 2025
f1f876c
chore: improve junie guidelines
MattLish Mar 26, 2025
119ef65
test(e2e): add mod selection e2e tests
MattLish Mar 27, 2025
bf43418
test(e2e): add resolution select e2e tests
MattLish Apr 11, 2025
fcd6ba4
fix(layout): fix home page content to layout properly
MattLish Apr 14, 2025
33b9c9f
test(e2e): add profile selection e2e tests
MattLish Apr 22, 2025
dec2a95
test(e2e): add graphics selection e2e tests
MattLish Apr 22, 2025
355d915
test(e2e): add enb selection e2e tests
MattLish Apr 25, 2025
5812734
test(e2e): add mo2 launch e2e tests
MattLish Apr 30, 2025
13438a2
test: add restore enb preset e2e test
MattLish May 14, 2025
4faaefc
chore: remove e2e tests from lint-staged
MattLish May 14, 2025
66dac31
test: add restore profile e2e test
MattLish May 14, 2025
76995e6
test: add restore graphics e2e test
MattLish May 14, 2025
d6da9d0
test: add advanced mod selection e2e test
MattLish May 14, 2025
5a6838c
test(e2e): add navigateAndWait method for e2e tests
MattLish May 15, 2025
c86fef0
test(e2e): add test for opening/clearing logs
MattLish May 15, 2025
8ff6a9a
test(e2e): add test for open config in editor button
MattLish May 21, 2025
0189a1a
test(e2e): add test for showing hidden profiles
MattLish May 21, 2025
4a484b7
test(e2e): add test for checking prerequisites
MattLish May 21, 2025
d4c2c00
test(e2e): add test for launching game
MattLish May 21, 2025
8e4ed2c
test(e2e): add test for initial modpack selection
MattLish May 22, 2025
7c26758
test(e2e): improve expect(x).toBe(true) error logs
MattLish May 22, 2025
40b8664
test(e2e): add ui regression tests
MattLish May 22, 2025
9f987b5
test(e2e): change selecting the modpack to be a user action not a con…
MattLish May 22, 2025
de8bb18
test(e2e): add sharding
MattLish May 28, 2025
bb71d98
chore: update to node 18
MattLish Jun 12, 2025
656972e
refactor(electron-vite): move files and assets to match electron-vite…
MattLish Jun 19, 2025
dd4cb62
fix: prevent auto-update getting stuck when the window is focused
MattLish Jul 14, 2025
d88848f
refactor(electron-vite): move all tsconfigs to project root
MattLish Jul 20, 2025
b3f5b45
refactor(electron-vite): remove unneeded eslint specific tsconfig
MattLish Jul 20, 2025
6bdd38d
feat(electron-vite): implement module structure preservation in Elect…
MattLish Jul 30, 2025
1131f81
chore(electron-vite): add electron-vite
MattLish Aug 6, 2025
5735842
WIP(electron-vite): update electron-log to v5
MattLish Aug 14, 2025
5b5cc4f
chore(electron-vite): update renderer ipc usage to use window.ipcRend…
MattLish Aug 14, 2025
9166679
test(renderer-unit): add initial test setup and App.vue test
MattLish Aug 26, 2025
122bd25
test(renderer-unit): add list of components that need tests
MattLish Aug 26, 2025
509ea61
test(renderer-unit): add AppDropDownFileSelect test
MattLish Aug 30, 2025
3977df8
test(renderer-unit): add AppModal test
MattLish Oct 15, 2025
588e1a9
chore: migrate from Claude to Amazon Q configuration
MattLish Jan 14, 2026
20c384f
test: implement BaseDropdown Phase 1.2 - selecting options
MattLish Jan 28, 2026
039ad33
test: add comprehensive BaseDropdown component tests
MattLish Feb 2, 2026
1ff7936
docs: update BaseDropdown test plan with implementation summary
MattLish Feb 2, 2026
0ba2be9
refactor: reduce duplication in BaseDropdown tests with createWrapper…
MattLish Feb 2, 2026
d24c74e
docs: mark BaseDropdown.vue tests as completed
MattLish Feb 2, 2026
e4c3a35
test: add unit tests for BaseImage component
MattLish Feb 2, 2026
2ce3920
test: complete BaseInput component tests and update testing plan
MattLish Feb 2, 2026
add3ee9
test(unit:renderer): add comprehensive unit tests for AppPage component
MattLish Feb 5, 2026
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
4 changes: 4 additions & 0 deletions .amazonq/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
plans/completed
plans/archived

playwright-trace
52 changes: 52 additions & 0 deletions .amazonq/plans/renderer-components-testing.plan.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Renderer Components Testing Requirements

## All renderer components require comprehensive tests

**Note:** Every time a component has a plan to test it, once the testing implementation is completed, this plan should be updated to reflect the completion status.

**Important:** After implementing tests for each component, always run the test suite to verify the tests pass before marking the component as completed.

## Component Testing Checklist

Below is a complete list of all renderer components that require testing:

### Base Components
- [x] AppDropdownFileSelect.vue - completed ✓
- [x] AppModal.vue - completed ✓
- [x] AppPage.vue - completed ✓
- [ ] AppPageContent.vue
- [x] BaseButton.vue - completed ✓
- [x] BaseDropdown.vue - completed ✓
- [x] BaseImage.vue - completed ✓
- [x] BaseInput.vue - completed ✓
- [ ] BaseLabel.vue
- [ ] BaseLink.vue
- [ ] BaseList.vue

### Feature Components
- [ ] Community.vue
- [ ] ENB.vue
- [ ] GraphicsSelection.vue
- [ ] ImageWithText.vue
- [ ] LauncherVersion.vue
- [ ] MO2RunningModal.vue
- [ ] ModDirectory.vue
- [ ] NavigationItem.vue
- [ ] News.vue
- [ ] Patrons.vue
- [ ] ProfileSelection.vue
- [ ] Resolution.vue

### Layout Components
- [ ] TheHeader.vue
- [ ] TheNavigation.vue
- [ ] TheTitleBar.vue

## Total Components: 26

Each component should have:
- Unit tests covering all functionality
- Tests should focus on having single assertions per test where possible
- Tests should be written in Jest
- Child components should always be mocked using shallow mocking by passing shallow:true to the mount function unless the child component is required to be mocked in a specific way.
- If a child component is required to be mocked, a comment should be added to the test file explaining why the component is being mocked.
56 changes: 56 additions & 0 deletions .amazonq/rules/environment.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Environment Guidelines

## Branch Naming Convention

Branches must follow this naming pattern:
`{type}/{jira-task-if-available}_{description}`

Where:

- `type` is one of: `feat`, `fix`, `chore`, `refactor`, `test`
- `jira-task-if-available` is the JIRA task ID (if applicable)
- `description` is a brief description of the work

Examples:

- `feat/PROJ-123_add-login-validation`
- `fix/PROJ-456_resolve-timeout-issue`
- `chore/update-dependencies`
- `refactor/PROJ-789_restructure-utils`
- `test/PROJ-101_add-integration-tests`

## Git Operations

When performing git operations, prioritize the Git MCP server over CLI commands wherever possible.

The Git MCP provides better integration and should be used for:

- Status checks
- Adding files
- Committing changes
- Branch operations (create AND checkout)
- Viewing diffs and logs
- Other standard git operations

Only fall back to CLI git commands when the MCP doesn't support the required functionality.

### Branch Management

When starting work on a new task:

1. **Create the branch** following the naming convention above
2. **Immediately check out the branch** to ensure all work is done on the correct branch
3. Never leave the branch in a created-but-not-checked-out state

Use `git_create_branch` to create and `git_checkout` to switch to the branch, or use the appropriate MCP commands that handle both operations.

## Interactive Commands

Never use commands that require interactive terminal sessions. This includes:

- Commands that prompt for user input
- Interactive editors (vim, nano, etc.)
- Commands with interactive menus or wizards
- Any command that waits for user interaction

Always use non-interactive alternatives or provide all required parameters upfront.
53 changes: 53 additions & 0 deletions .amazonq/rules/git-mcp.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Git MCP Guidelines

## Git Operations

When performing git operations, **always use the Git MCP server** instead of CLI commands.

The Git MCP provides better integration and should be used for all git operations including:

- Status checks (`git_status`)
- Adding files (`git_add`)
- Committing changes (`git_commit`)
- Branch operations (`git_create_branch`, `git_checkout`)
- Viewing diffs (`git_diff`, `git_diff_staged`, `git_diff_unstaged`)
- Viewing logs (`git_log`)
- Showing commits (`git_show`)
- Resetting staged changes (`git_reset`)
- Repository initialization (`git_init`)

### Available Git MCP Tools

- `git_status` - Show working tree status
- `git_add` - Add files to staging area
- `git_commit` - Record changes to repository
- `git_create_branch` - Create new branch
- `git_checkout` - Switch branches
- `git_diff` - Show differences between branches/commits
- `git_diff_staged` - Show staged changes
- `git_diff_unstaged` - Show unstaged changes
- `git_log` - Show commit logs
- `git_show` - Show commit contents
- `git_reset` - Unstage all staged changes
- `git_init` - Initialize new repository

### Best Practices

1. **Always use Git MCP tools** instead of `executeBash` with git commands
2. **Never fall back to CLI** - all standard git operations are supported
3. Follow branch naming conventions as specified in environment.md
4. Create and immediately checkout new branches

### Examples

```typescript
// ✅ Good: Use Git MCP
git_status({ repo_path: "/path/to/repo" })
git_add({ repo_path: "/path/to/repo", files: ["file.ts"] })
git_commit({ repo_path: "/path/to/repo", message: "feat: add feature" })

// ❌ Bad: Use bash
executeBash({ command: "git status", cwd: "/path/to/repo" })
executeBash({ command: "git add file.ts", cwd: "/path/to/repo" })
executeBash({ command: "git commit -m 'feat: add feature'", cwd: "/path/to/repo" })
```
Loading
Loading