= ({ yamlString, filename }) => {
return (
-
[];
+ metadata: {
+ name: string;
+ namespace?: string;
+ labels?: Record;
+ annotations?: {
+ [LAST_APPLIED_CONFIGURATION_ANNOTATION]?: string;
+ [key: string]: string | undefined;
+ };
+ managedFields?: unknown;
+ creationTimestamp?: string;
+ finalizers?: string[];
+ generation?: number;
+ resourceVersion?: string;
+ uid?: string;
+ };
+ spec?: unknown;
+ status?: unknown;
+};
+
+const cleanUpResource = (
+ resource: Omit,
+ showOnlyImportantData: boolean,
+): Omit => {
+ const newResource = { ...resource };
+
+ if (newResource.metadata) {
+ newResource.metadata = { ...newResource.metadata };
+ delete newResource.metadata.managedFields;
+
+ if (showOnlyImportantData) {
+ if (newResource.metadata.annotations) {
+ newResource.metadata.annotations = { ...newResource.metadata.annotations };
+ delete newResource.metadata.annotations[LAST_APPLIED_CONFIGURATION_ANNOTATION];
+ }
+ delete newResource.metadata.generation;
+ delete newResource.metadata.uid;
+ }
+ }
+
+ return newResource;
+};
+
+export const removeManagedFieldsAndFilterData = (
+ resourceObject: Resource,
+ showOnlyImportantData: boolean,
+): Resource => {
+ if (!resourceObject) {
+ return {} as Resource;
+ }
+ if (resourceObject.items) {
+ return {
+ ...cleanUpResource(resourceObject, showOnlyImportantData),
+ items: resourceObject.items.map((item) => cleanUpResource(item, showOnlyImportantData)),
+ };
+ }
+
+ return cleanUpResource(resourceObject, showOnlyImportantData);
+};
diff --git a/src/utils/removeManagedFieldsProperty.ts b/src/utils/removeManagedFieldsProperty.ts
deleted file mode 100644
index 2706ead3..00000000
--- a/src/utils/removeManagedFieldsProperty.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-export type Resource = {
- kind: string;
- items?: {
- metadata: {
- name: string;
- managedFields?: unknown;
- };
- }[];
- metadata: {
- name: string;
- managedFields?: unknown;
- };
-};
-
-export const removeManagedFieldsProperty = (resourceObject: Resource) => {
- if (resourceObject?.metadata?.managedFields) {
- return {
- ...resourceObject,
- metadata: {
- ...resourceObject.metadata,
- managedFields: undefined,
- },
- };
- }
- if (resourceObject?.items) {
- return {
- ...resourceObject,
- items: resourceObject.items.map((item) => ({
- ...item,
- metadata: { ...item.metadata, managedFields: undefined },
- })),
- };
- }
-
- return resourceObject;
-};