containers / podman-desktop

Podman Desktop is the best free and open source tool to work with Containers and Kubernetes for developers. Get an intuitive and user-friendly interface to effortlessly build, manage, and deploy containers and Kubernetes — all from your desktop.
https://podman-desktop.io
Apache License 2.0
4.64k stars 294 forks source link

simplify kubernetes-context-state.ts #8775

Open axel7083 opened 2 weeks ago

axel7083 commented 2 weeks ago

Is your enhancement related to a problem? Please describe

The kubernetes-context-state.ts file is very hard to apprehend due to its complexity and numerous objects definition and implementation in it.

Types definitions

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L71

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L88

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L102-L104

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L110-L112

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L122-L124

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L149-L151

Interfaces

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L74

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L80

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L115

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L126

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L166

Classes definition

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L177

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L205

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L351

https://github.com/containers/podman-desktop/blob/4c147ed43308839c03ac76d648fd03213f3ac8dc/packages/main/src/plugin/kubernetes/kubernetes-context-state.ts#L380

Describe the solution you'd like

Split it in smaller file. At least one per class

Pros

Describe alternatives you've considered

No response

Additional context

No response

feloy commented 5 days ago

Here are the steps I intend to do: