Remove dashboard_import.import_config from esphome once the container dashboard bundle no longer needs it
- Dominant language
- No language data
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
`esphome.components.dashboard_import.import_config` has no caller left in the esphome tree. The Device Builder adopts `?full_config` devices in-house since esphome/device-builder#2720, and the legacy dashboard was deleted from the tree. The only remaining consumers are deployed Device Builder versions older than esphome/device-builder#2720 (the ESPHome desktop app, or a manually run Docker image, pinned to an older build), which still delegate `?full_config` adoption to it. The function only made sense while the dashboard was in tree.
Removing it also drops `ruamel.yaml` and `ruamel.yaml.clib` from esphome's requirements; both lines are annotated `# dashboard_import` and nothing else imports them.
Not yet: wait until the Device Builder bundled in the desktop app and the Docker image is past #2720 and older installs have aged out. Revisit around March 2027.
Order of operations when it is time:
1. Drop `tests/test_device_yaml.py::test_generate_adoption_yaml_matches_dashboard_import` in esphome/device-builder; it imports `import_config` to pin the adoption shape and would break that repo's esphome-dev CI job.
2. In esphome/esphome remove `import_config`, its unit tests in `tests/unit_tests/test_dashboard_import.py`, and the two `ruamel.yaml` requirement lines. The component's config schema, `to_code`, and the `dashboard_import` mDNS TXT stay; only the dashboard-side helper goes.
3. Remove `esphome.components.dashboard_import` from the cold-import guard list in `tests/test_cold_import_floor.py` in esphome/device-builder, or leave it, since a missing module trivially stays cold.
Contributor guide
No contributing guide indexed for this repository
Research direction
First verify that the Device Builder bundled in the desktop app and Docker image is past #2720 and older installs have aged out; this issue is explicitly deferred until around March 2027. Then inspect tests/test_device_yaml.py, esphome/components/dashboard_import, tests/unit_tests/test_dashboard_import.py, requirements, and tests/test_cold_import_floor.py. Done means removing only the dashboard-side helper, its tests and dependencies, while retaining the component schema, to_code, and mDNS TXT behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100