Skip to content

Migrate backend from CommonJS to ES Modules #2133

@trillium

Description

@trillium

Overview

The backend uses CommonJS (require/module.exports) while shared/ already uses ESM, causing test failures. The backend should be fully migrated to ES Modules for consistency and to unblock the shared module imports.

Action Items

  • Convert all third-party require() to import statements (36 files)
  • Convert all relative require() to import with .js extensions (41 files)
  • Convert all module.exports to export default/named exports (47 files)
  • Replace require.main === module with import.meta.url pattern (5 files)
  • Replace __dirname with fileURLToPath(import.meta.url) (1 file)
  • Add "type": "module" to backend/package.json
  • Migrate test runner from Jest to Vitest (client already uses Vitest)
  • Convert all jest.mock/jest.fn/jest.spyOn to Vitest equivalents

Resources/Instructions

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    New Issue Approval

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions