From ba7f00479285a6ea86ccc02b1fd96deaca53ed3b Mon Sep 17 00:00:00 2001 From: Tim de Groot Date: Fri, 25 Sep 2026 23:17:27 +0200 Subject: [PATCH 1/2] refactor: split the largest source files into focused modules (#353) filter.js (1922), eventlisteners.js (1564), server.py (908) and components.css (854) each did several unrelated jobs, so every change touching them meant reading the whole file. - server.py -> server.py (app, auth, HTML routes) + server_models.py + server_routes_outputs.py + server_routes_logs.py. The route modules are register_*_routes(server, authenticate) functions; server.py re-exports the models so existing imports keep working. - js/eventlisteners.js -> js/eventlisteners/, one module per modal or listener group. The merge-profiles wiring moved out of setup_filter_modal into setup_merge_profiles_modal(). - js/filter.js -> js/filter/: pipeline, section_selects, modal_options, suite_path, availability, controls, profiles, profile_merge. - css/components.css -> css/components/. CSS is concatenated in path order, which is the cascade order, so the subdirectory keeps the files between colors.css and dark.css and the numbered prefixes keep their order within it. Also fixes three imports that only ever resolved because the bundler flattens every module into one scope: filteredAmount came from the wrong module, six setup_*_in_select functions were used without being imported, and set_filter_show_current_version was imported from a module that does not export it. Behaviour is unchanged: the bundled