Skip to content

Conversation

StanleyMasinde
Copy link
Member

This commit includes the initial automated steps to upgrade the project from Nuxt 2 to Nuxt 3.

Key changes:

  • Initialized a Nuxt 3 project structure.
  • Migrated components, pages, layouts, and static assets.
  • Updated dependencies to Nuxt 3 compatible versions (e.g., Vuetify 3, Sidebase Nuxt Auth, Vite PWA).
  • Migrated Express backend structure to Nuxt 3 server routes (placeholder API files created in server/api/).
  • Created a new nuxt.config.ts with configurations for TypeScript, Vuetify, Auth, and PWA.
  • Performed initial structural updates to application code:
    • Moved Vuex store to 'stores/' for Pinia migration.
    • Wrapped plugins with defineNuxtPlugin.
    • Moved error.vue to project root.
  • Set up basic testing infrastructure:
    • Performed type checking (type errors identified for manual fixing).
    • Installed Vitest and created basic configuration.
  • Updated package.json scripts for Nuxt 3 (nuxi).
  • Provided templates and guidance for updating deploy.sh, ecosystem.config.js, and Docker files.

Further work required:

  • Extensive manual refactoring of all Vue components, pages, layouts, and Pinia stores to be Vue 3 / Nuxt 3 compatible.
  • Detailed implementation of all server API routes in server/api/ using Nitro, including database logic with Knex.
  • Thorough testing of all application functionality.
  • Resolution of all TypeScript errors.
  • Adaptation and verification of deployment scripts and Docker configuration.

Output:

This commit includes the initial automated steps to upgrade the project from Nuxt 2 to Nuxt 3.

Key changes:
- Initialized a Nuxt 3 project structure.
- Migrated components, pages, layouts, and static assets.
- Updated dependencies to Nuxt 3 compatible versions (e.g., Vuetify 3, Sidebase Nuxt Auth, Vite PWA).
- Migrated Express backend structure to Nuxt 3 server routes (placeholder API files created in server/api/).
- Created a new nuxt.config.ts with configurations for TypeScript, Vuetify, Auth, and PWA.
- Performed initial structural updates to application code:
    - Moved Vuex store to 'stores/' for Pinia migration.
    - Wrapped plugins with defineNuxtPlugin.
    - Moved error.vue to project root.
- Set up basic testing infrastructure:
    - Performed type checking (type errors identified for manual fixing).
    - Installed Vitest and created basic configuration.
- Updated package.json scripts for Nuxt 3 (nuxi).
- Provided templates and guidance for updating deploy.sh, ecosystem.config.js, and Docker files.

Further work required:
- Extensive manual refactoring of all Vue components, pages, layouts, and Pinia stores to be Vue 3 / Nuxt 3 compatible.
- Detailed implementation of all server API routes in server/api/ using Nitro, including database logic with Knex.
- Thorough testing of all application functionality.
- Resolution of all TypeScript errors.
- Adaptation and verification of deployment scripts and Docker configuration.

Output:
@StanleyMasinde StanleyMasinde self-assigned this Jun 6, 2025
@StanleyMasinde StanleyMasinde requested a review from Copilot July 16, 2025 22:47
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

Initial automated steps to migrate the project from Nuxt 2 to Nuxt 3, including backend restructuring, dependency upgrades, and test scaffolding.

  • Initialized a Nuxt 3 project with updated config and scripts
  • Added placeholder server routes and migrated Express APIs to Nitro file structure
  • Set up Vitest, basic unit tests, and Pinia store scaffolding

Reviewed Changes

Copilot reviewed 69 out of 123 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
vitest.config.ts Configures Vitest with jsdom environment and coverage
tests/unit/example.test.ts Adds a basic placeholder unit test
stores/main.ts Introduces Pinia store boilerplate
stores/README.md Documents the store directory (still references Vuex)
server/database/seeds/create_*.js Placeholder seeds using table_name
server/utils/statsController.legacy.js Legacy stats controller with raw SQL query
project_backup_20250606222332/pages/password/new.vue UI for new password page (typo)
project_backup_20250606222332/assets/variables.scss SCSS variables including !important
project_backup_20250606222332/pages/home/applications.vue Application form missing fields
nuxt.config.ts New Nuxt 3 configuration
package.json Updated scripts and dependencies for Nuxt 3
Comments suppressed due to low confidence (4)

stores/README.md:5

  • [nitpick] Update this README to reflect Pinia usage instead of Vuex now that the store directory uses Pinia defineStore.
This directory contains your Vuex Store files.

server/utils/statsController.legacy.js:3

  • Class name should follow PascalCase: rename Statscontroller to StatsController for consistency.
class Statscontroller extends Controller {

tests/unit/example.test.ts:7

  • This test only asserts a trivial boolean. Consider adding real component or store tests to cover meaningful functionality.
    expect(true).toBe(true)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant