From 097cfa734103068c15524c7d1187fb058df182fc Mon Sep 17 00:00:00 2001 From: evantahler Date: Tue, 20 Feb 2024 15:54:03 -0800 Subject: [PATCH 1/2] Display archived connectors w/o a registry for them --- .../src/components/ConnectorRegistry.jsx | 18 +++++-- .../src/components/HeaderDecoration.jsx | 19 ++++---- .../src/components/archivedConnectors.ts | 48 +++++++++++++++++++ docusaurus/src/remark/utils.js | 45 +++++++++++------ 4 files changed, 105 insertions(+), 25 deletions(-) create mode 100644 docusaurus/src/components/archivedConnectors.ts diff --git a/docusaurus/src/components/ConnectorRegistry.jsx b/docusaurus/src/components/ConnectorRegistry.jsx index 1766c204eddfa..43bae099c3e79 100644 --- a/docusaurus/src/components/ConnectorRegistry.jsx +++ b/docusaurus/src/components/ConnectorRegistry.jsx @@ -1,5 +1,6 @@ import React from "react"; import { useEffect, useState } from "react"; +import { archivedConnectors } from "./archivedConnectors"; import styles from "./ConnectorRegistry.module.css"; @@ -42,7 +43,12 @@ export default function ConnectorRegistry({ type }) { const connectors = registry .filter((c) => c.connector_type === type) - .filter((c) => c.name_oss); + .filter((c) => c.name_oss) + .filter((c) => c.supportLevel_oss); // at lease one connector is missing a support level + + archivedConnectors.forEach((archived) => { + connectors.push(archived); + }); return (
@@ -77,8 +83,14 @@ export default function ConnectorRegistry({ type }) { {/* min width to prevent wrapping */} 📕 - ⚙️ - 🐛 + {connector.supportLevel_oss != "archived" ? ( + ⚙️ + ) : ( + "" + )} + {connector.supportLevel_oss != "archived" ? ( + 🐛 + ) : null} {connector.supportLevel_oss} diff --git a/docusaurus/src/components/HeaderDecoration.jsx b/docusaurus/src/components/HeaderDecoration.jsx index 9d23dcf77a869..01f43e5570cb0 100644 --- a/docusaurus/src/components/HeaderDecoration.jsx +++ b/docusaurus/src/components/HeaderDecoration.jsx @@ -67,14 +67,17 @@ export const HeaderDecoration = ({
-
-
Latest Version
-
- - {dockerImageTag} - -
-
+ {supportLevel !== "archived" && ( +
+
Latest Version
+ +
+ + {dockerImageTag} + +
+
+ )}
diff --git a/docusaurus/src/components/archivedConnectors.ts b/docusaurus/src/components/archivedConnectors.ts new file mode 100644 index 0000000000000..ffcac1370e698 --- /dev/null +++ b/docusaurus/src/components/archivedConnectors.ts @@ -0,0 +1,48 @@ +export type ArchivedConnector = { + connectorName: string; + name_oss: string; + dockerRepository_oss: string; + definitionId: string; + is_oss: false; + is_cloud: false; + iconUrl_oss: string; + supportLevel_oss: string; + documentationUrl_oss: string; +}; + +type BaseArchivedConnector = { + name: string; + type: "source" | "destination"; + definitionId: string; +}; + +const baseArchivedConnectors: BaseArchivedConnector[] = [ + { + name: "KVdb", + type: "destination", + definitionId: "f2e549cd-8e2a-48f8-822d-cc13630eb42d", + }, +]; + +export const archivedConnectors: ArchivedConnector[] = + baseArchivedConnectors.map((archivedConnector) => { + const dockerName = `${ + archivedConnector.type + }-${archivedConnector.name.toLowerCase()}`; + + const connector: ArchivedConnector = { + name_oss: dockerName, + connectorName: archivedConnector.name, + dockerRepository_oss: `airbyte/${dockerName}`, + definitionId: archivedConnector.definitionId, + is_oss: false, + is_cloud: false, + iconUrl_oss: `https://connectors.airbyte.com/files/metadata/airbyte/${dockerName}/latest/icon.svg`, + supportLevel_oss: "archived", + documentationUrl_oss: `https://docs.airbyte.com/integrations/${ + archivedConnector.type + }s/${archivedConnector.name.toLowerCase()}`, + }; + + return connector; + }); diff --git a/docusaurus/src/remark/utils.js b/docusaurus/src/remark/utils.js index f946396ce7f1e..3abbb66e766b5 100644 --- a/docusaurus/src/remark/utils.js +++ b/docusaurus/src/remark/utils.js @@ -1,5 +1,8 @@ +const { archivedConnectors } = require("../components/archivedConnectors"); const { catalog } = require("../connector_registry"); +const derivedArchivedConnectorsList = []; + const isDocsPage = (vfile) => { if ( !vfile.path.includes("integrations/sources") && @@ -16,19 +19,33 @@ const isDocsPage = (vfile) => { }; const getRegistryEntry = async (vfile) => { - const pathParts = vfile.path.split("/"); - const connectorName = pathParts.pop().split(".")[0]; - const connectorType = pathParts.pop(); - const dockerRepository = `airbyte/${connectorType.replace( - /s$/, - "" - )}-${connectorName}`; - - const registry = await catalog; - - return registry.find( - (r) => r.dockerRepository_oss === dockerRepository + const pathParts = vfile.path.split("/"); + const connectorName = pathParts.pop().split(".")[0]; + const connectorType = pathParts.pop(); + const dockerRepository = `airbyte/${connectorType.replace( + /s$/, + "" + )}-${connectorName}`; + + const registry = await catalog; + + let registryEntry = registry.find( + (r) => r.dockerRepository_oss === dockerRepository + ); + + if (!registryEntry) { + registryEntry = archivedConnectors.find( + (c) => c.dockerRepository_oss === dockerRepository ); -} -module.exports = { isDocsPage, getRegistryEntry }; + list.push(dockerRepository); + } + + return registryEntry; +}; + +module.exports = { + isDocsPage, + getRegistryEntry, + derivedArchivedConnectorsList, +}; From 1cffc341559255a4ef29049ee4708f59ded147e4 Mon Sep 17 00:00:00 2001 From: evantahler Date: Tue, 20 Feb 2024 16:53:00 -0800 Subject: [PATCH 2/2] assume if connector not in registry it is archived --- .../src/components/ConnectorRegistry.jsx | 5 -- .../src/components/archivedConnectors.ts | 48 ------------------- docusaurus/src/remark/utils.js | 32 +++++++++---- 3 files changed, 24 insertions(+), 61 deletions(-) delete mode 100644 docusaurus/src/components/archivedConnectors.ts diff --git a/docusaurus/src/components/ConnectorRegistry.jsx b/docusaurus/src/components/ConnectorRegistry.jsx index 43bae099c3e79..079acedaa99dc 100644 --- a/docusaurus/src/components/ConnectorRegistry.jsx +++ b/docusaurus/src/components/ConnectorRegistry.jsx @@ -1,6 +1,5 @@ import React from "react"; import { useEffect, useState } from "react"; -import { archivedConnectors } from "./archivedConnectors"; import styles from "./ConnectorRegistry.module.css"; @@ -46,10 +45,6 @@ export default function ConnectorRegistry({ type }) { .filter((c) => c.name_oss) .filter((c) => c.supportLevel_oss); // at lease one connector is missing a support level - archivedConnectors.forEach((archived) => { - connectors.push(archived); - }); - return (
diff --git a/docusaurus/src/components/archivedConnectors.ts b/docusaurus/src/components/archivedConnectors.ts deleted file mode 100644 index ffcac1370e698..0000000000000 --- a/docusaurus/src/components/archivedConnectors.ts +++ /dev/null @@ -1,48 +0,0 @@ -export type ArchivedConnector = { - connectorName: string; - name_oss: string; - dockerRepository_oss: string; - definitionId: string; - is_oss: false; - is_cloud: false; - iconUrl_oss: string; - supportLevel_oss: string; - documentationUrl_oss: string; -}; - -type BaseArchivedConnector = { - name: string; - type: "source" | "destination"; - definitionId: string; -}; - -const baseArchivedConnectors: BaseArchivedConnector[] = [ - { - name: "KVdb", - type: "destination", - definitionId: "f2e549cd-8e2a-48f8-822d-cc13630eb42d", - }, -]; - -export const archivedConnectors: ArchivedConnector[] = - baseArchivedConnectors.map((archivedConnector) => { - const dockerName = `${ - archivedConnector.type - }-${archivedConnector.name.toLowerCase()}`; - - const connector: ArchivedConnector = { - name_oss: dockerName, - connectorName: archivedConnector.name, - dockerRepository_oss: `airbyte/${dockerName}`, - definitionId: archivedConnector.definitionId, - is_oss: false, - is_cloud: false, - iconUrl_oss: `https://connectors.airbyte.com/files/metadata/airbyte/${dockerName}/latest/icon.svg`, - supportLevel_oss: "archived", - documentationUrl_oss: `https://docs.airbyte.com/integrations/${ - archivedConnector.type - }s/${archivedConnector.name.toLowerCase()}`, - }; - - return connector; - }); diff --git a/docusaurus/src/remark/utils.js b/docusaurus/src/remark/utils.js index 3abbb66e766b5..e287102646935 100644 --- a/docusaurus/src/remark/utils.js +++ b/docusaurus/src/remark/utils.js @@ -1,8 +1,5 @@ -const { archivedConnectors } = require("../components/archivedConnectors"); const { catalog } = require("../connector_registry"); -const derivedArchivedConnectorsList = []; - const isDocsPage = (vfile) => { if ( !vfile.path.includes("integrations/sources") && @@ -34,18 +31,37 @@ const getRegistryEntry = async (vfile) => { ); if (!registryEntry) { - registryEntry = archivedConnectors.find( - (c) => c.dockerRepository_oss === dockerRepository + registryEntry = buildArchivedRegistryEntry( + connectorName, + dockerRepository, + connectorType ); - - list.push(dockerRepository); } return registryEntry; }; +const buildArchivedRegistryEntry = ( + connectorName, + dockerRepository, + connectorType +) => { + const dockerName = dockerRepository.split("/")[1]; + const registryEntry = { + connectorName, + name_oss: dockerName, + dockerRepository_oss: dockerRepository, + is_oss: false, + is_cloud: false, + iconUrl_oss: `https://connectors.airbyte.com/files/metadata/airbyte/${dockerName}/latest/icon.svg`, + supportLevel_oss: "archived", + documentationUrl_oss: `https://docs.airbyte.com/integrations/${connectorType}s/${connectorName}`, + }; + + return registryEntry; +}; + module.exports = { isDocsPage, getRegistryEntry, - derivedArchivedConnectorsList, };