spraakbanken / korp-frontend

Frontend for Korp, a tool using the IMS Open Corpus Workbench (CWB).
https://spraakbanken.gu.se/en/tools/korp
MIT License
16 stars 8 forks source link

[Epic] Rewrite #374

Open arildm opened 5 months ago

arildm commented 5 months ago

AngularJS is end-of-life since 2022 and Vue is considered the best alternative, see discussion in #228.

The plan is:

  1. Prepare for migration
    • Use more Vue-compatible concepts
    • Remove horizontal dependencies
    • Clean up and document code
  2. Migrate incrementally
  3. Improve maintainability
    • Add tests

Ideally, tests would be added first, to easily verify further changes. But testing is currently meager and difficult, and would have to be rewritten after migration.

Subtasks:

arildm commented 3 weeks ago

This is roughly how I think the order of things should be. The arrows mark prerequisites, but they aren't all strict. For instance, TS is not necessary for anything, but it is helpful for most subsequent steps.

flowchart TD
    %% General prerequisites
    %% TS --> Simplify --> RemoveDeps --> Vue

    %% Specific prerequisites
    TS --> Simplify
    RemoveDirectives --> Vue
    Axios --> jQuery
    jQuery --> Vue
        Vite --> Tests

    subgraph Simplify
        RemoveDirectives
        ErrorHandling --> Axios --> KorpClient
    end

    subgraph RemoveDeps
        Rickshaw
        Smoothness --> jQuery
        Moment
        Brat
        BootstrapJs --> jQuery
        BootstrapJs --> Bootstrap
        BootstrapCss --> Bootstrap
    end

    subgraph Vue
        Components --> Vite
        Vite --> Pinia
    end