diff --git a/.github/workflows/release-manual-docker-seatunnel.yml b/.github/workflows/release-manual-docker-seatunnel.yml index 17e0397cf..b1c4158a5 100644 --- a/.github/workflows/release-manual-docker-seatunnel.yml +++ b/.github/workflows/release-manual-docker-seatunnel.yml @@ -22,10 +22,10 @@ on: seatunnelVersion: description: 'seatunnel version' required: true - default: '2.3.5' + default: '2.3.6' type: choice options: - - 2.3.5 + - 2.3.6 flinkVersion: description: 'flink version' required: true diff --git a/README.md b/README.md index b5ebf772d..f914dbe6b 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Scaleph is driven by personal interest and evolves actively through faithful dev * Data Integration * Web-ui click-and-drag data integration ways backended by [Apache SeaTunnel](https://seatunnel.apache.org/) on Flink engine. - * Support the latest 2.3.5 V2 out-of-the-box connectors and transforms. + * Support the latest 2.3.6 V2 out-of-the-box connectors and transforms. * DataSource management. diff --git a/scaleph-application/scaleph-application-flink/src/main/java/cn/sliew/scaleph/application/flink/resource/handler/FlinkImageMapping.java b/scaleph-application/scaleph-application-flink/src/main/java/cn/sliew/scaleph/application/flink/resource/handler/FlinkImageMapping.java index a4ab8045f..a04618e9d 100644 --- a/scaleph-application/scaleph-application-flink/src/main/java/cn/sliew/scaleph/application/flink/resource/handler/FlinkImageMapping.java +++ b/scaleph-application/scaleph-application-flink/src/main/java/cn/sliew/scaleph/application/flink/resource/handler/FlinkImageMapping.java @@ -38,7 +38,7 @@ public enum FlinkImageMapping { SQL_1_17(FlinkJobType.SQL, OperatorFlinkVersion.v1_17, FlinkVersionMapping.V_1_17, "ghcr.io/flowerfine/scaleph-sql-template:1.17"), SQL_1_18(FlinkJobType.SQL, OperatorFlinkVersion.v1_18, FlinkVersionMapping.V_1_18, "ghcr.io/flowerfine/scaleph-sql-template:1.18"), - SEATUNNEL_1_16(FlinkJobType.SEATUNNEL, OperatorFlinkVersion.v1_16, FlinkVersionMapping.V_1_16, "ghcr.io/flowerfine/scaleph-seatunnel:2.3.5-flink-1.16"), + SEATUNNEL_1_16(FlinkJobType.SEATUNNEL, OperatorFlinkVersion.v1_16, FlinkVersionMapping.V_1_16, "ghcr.io/flowerfine/scaleph-seatunnel:2.3.6-flink-1.16"), FLINK_CDC_1_18(FlinkJobType.FLINK_CDC, OperatorFlinkVersion.v1_18, FlinkVersionMapping.V_1_18, "ghcr.io/flowerfine/scaleph-flink-cdc:3.0.0-flink-1.18"), ; diff --git a/scaleph-common/src/main/java/cn/sliew/scaleph/common/dict/seatunnel/SeaTunnelPluginName.java b/scaleph-common/src/main/java/cn/sliew/scaleph/common/dict/seatunnel/SeaTunnelPluginName.java index e165d5577..8b809185d 100644 --- a/scaleph-common/src/main/java/cn/sliew/scaleph/common/dict/seatunnel/SeaTunnelPluginName.java +++ b/scaleph-common/src/main/java/cn/sliew/scaleph/common/dict/seatunnel/SeaTunnelPluginName.java @@ -36,7 +36,10 @@ public enum SeaTunnelPluginName implements DictInstance { SLACK("SlackSink", "Slack"), HTTP("Http", "Http"), FEISHU("Feishu", "Feishu"), + + @Deprecated WECHAT("WeChat", "WeChat"), + DINGTALK("DingTalk", "DingTalk"), MYHOURS("MyHours", "MyHours"), LEMLIST("Lemlist", "Lemlist"), @@ -56,6 +59,7 @@ public enum SeaTunnelPluginName implements DictInstance { OSS_FILE("OssFile", "OssFile"), OSS_JINDO_FILE("OssJindoFile", "OssJindoFile"), COS_FILE("CosFile", "CosFile"), + OBS_FILE("ObsFile", "ObsFile"), KAFKA("Kafka", "Kafka"), PULSAR("Pulsar", "Pulsar"), @@ -63,6 +67,7 @@ public enum SeaTunnelPluginName implements DictInstance { DATAHUB("DataHub", "DataHub"), AMAZON_SQS("AmazonSqs", "AmazonSQS"), RABBITMQ("RabbitMQ", "RabbitMQ"), + ACTIVEMQ("ActiveMQ", "ActiveMQ"), JDBC("Jdbc", "Jdbc"), REDIS("Redis", "Redis"), @@ -93,11 +98,17 @@ public enum SeaTunnelPluginName implements DictInstance { MAXCOMPUTE("Maxcompute", "MaxCompute"), HBASE("Hbase", "Hbase"), KUDU("Kudu", "Kudu"), + DRUID("Druid", "Druid"), + IOTDB("IoTDB", "IoTDB"), OPENMLDB("OpenMldb", "OpenMldb"), NEO4J("Neo4j", "Neo4j"), INFLUXDB("InfluxDB", "InfluxDB"), TDENGINE("TDengine", "TDengine"), + SLS("Sls", "Sls"), + + MILVUS("Milvus", "Milvus"), + WEB3J("Web3j", "Web3j"), SENTRY("Sentry", "Sentry"), GOOGLE_SHEETS("GoogleSheets", "GoogleSheets"), @@ -109,6 +120,9 @@ public enum SeaTunnelPluginName implements DictInstance { REPLACE("Replace", "Replace"), SPLIT("Split", "Split"), SQL("Sql", "Sql"), + JSON_PATH("JsonPath", "JsonPath"), + DYNAMIC_COMPILE("DynamicCompile", "DynamicCompile"), + LLM("LLM", "LLM"), ; @JsonCreator diff --git a/scaleph-common/src/main/java/cn/sliew/scaleph/common/dict/seatunnel/SeaTunnelVersion.java b/scaleph-common/src/main/java/cn/sliew/scaleph/common/dict/seatunnel/SeaTunnelVersion.java index 8df2be8f6..184fcb1aa 100644 --- a/scaleph-common/src/main/java/cn/sliew/scaleph/common/dict/seatunnel/SeaTunnelVersion.java +++ b/scaleph-common/src/main/java/cn/sliew/scaleph/common/dict/seatunnel/SeaTunnelVersion.java @@ -31,6 +31,7 @@ public enum SeaTunnelVersion implements DictInstance { V_2_3_3("2.3.3", "2.3.3"), V_2_3_4("2.3.4", "2.3.4"), V_2_3_5("2.3.5", "2.3.5"), + V_2_3_6("2.3.6", "2.3.6"), ; @JsonCreator diff --git a/scaleph-ui-react/src/pages/Project/Workspace/DataDevelop/Flink/SQL/CodeEditor/Editor/index.tsx b/scaleph-ui-react/src/pages/Project/Workspace/DataDevelop/Flink/SQL/CodeEditor/Editor/index.tsx index f0076ef49..7a3391132 100644 --- a/scaleph-ui-react/src/pages/Project/Workspace/DataDevelop/Flink/SQL/CodeEditor/Editor/index.tsx +++ b/scaleph-ui-react/src/pages/Project/Workspace/DataDevelop/Flink/SQL/CodeEditor/Editor/index.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useRef, useState } from 'react'; import { Button, message } from 'antd'; import { useIntl, useModel, useLocation } from '@umijs/max'; -import { Editor } from '@monaco-editor/react'; +import Editor, {loader, useMonaco} from '@monaco-editor/react'; import { language } from 'monaco-editor/esm/vs/basic-languages/sql/sql'; import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; import * as sqlFormatter from 'sql-formatter'; @@ -25,6 +25,7 @@ const CodeEditor: React.FC = () => { const { setExecutionData } = useModel('executionResult'); //存储执行结果 useEffect(() => { + loader.config({monaco}) setSqlScript(flinkArtifactSql?.script); const projectId = localStorage.getItem(WORKSPACE_CONF.projectId); (async () => { diff --git a/scaleph-ui-react/src/pages/Project/Workspace/DataDevelop/Flink/SQL/CodeEditor/EditorRightResult/EditorRightResultTable.tsx b/scaleph-ui-react/src/pages/Project/Workspace/DataDevelop/Flink/SQL/CodeEditor/EditorRightResult/EditorRightResultTable.tsx index 984f7227b..928b00b79 100644 --- a/scaleph-ui-react/src/pages/Project/Workspace/DataDevelop/Flink/SQL/CodeEditor/EditorRightResult/EditorRightResultTable.tsx +++ b/scaleph-ui-react/src/pages/Project/Workspace/DataDevelop/Flink/SQL/CodeEditor/EditorRightResult/EditorRightResultTable.tsx @@ -1,6 +1,7 @@ -import {Editor} from '@monaco-editor/react'; -import {Button, message, Modal, Table, Typography} from 'antd'; import React, {useEffect, useMemo, useState} from 'react'; +import {Button, message, Modal, Table, Typography} from 'antd'; +import Editor, {loader, useMonaco} from "@monaco-editor/react"; +import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; import styles from './index.less'; interface IViewTableCellData { @@ -16,6 +17,7 @@ const EditorRightResultTable: React.FC = ({result, lastOneData, verticalSplitSiz // const heightTable = useRef() useEffect(() => { + loader.config({monaco}) const data = result?.columns?.map((item: any) => ({ dataType: item?.dataType, name: item?.columnName, diff --git a/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/FlinkCDC/Steps/New/YamlStepForm.tsx b/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/FlinkCDC/Steps/New/YamlStepForm.tsx index 77a3f2611..bbc0e8df5 100644 --- a/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/FlinkCDC/Steps/New/YamlStepForm.tsx +++ b/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/FlinkCDC/Steps/New/YamlStepForm.tsx @@ -1,7 +1,7 @@ import React, {useEffect, useRef} from "react"; import {ProCard} from "@ant-design/pro-components"; -import {useIntl, connect} from "@umijs/max"; -import Editor, {Monaco, useMonaco} from "@monaco-editor/react"; +import {connect, useIntl} from "@umijs/max"; +import Editor, {loader, Monaco, useMonaco} from "@monaco-editor/react"; const DataIntegrationFlinkCDCStepYaml: React.FC = (props: any) => { const intl = useIntl(); @@ -11,6 +11,9 @@ const DataIntegrationFlinkCDCStepYaml: React.FC = (props: any) => { useEffect(() => { // do conditional chaining monaco?.languages.typescript.javascriptDefaults.setEagerModelSync(true); + if (monaco) { + loader.config({monaco}) + } }, [monaco]); const handleEditorDidMount = (editor, monaco: Monaco) => { diff --git a/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components/menubar/seatunnel.tsx b/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components/menubar/seatunnel.tsx index 11bedfa49..ad6f46bf0 100644 --- a/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components/menubar/seatunnel.tsx +++ b/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components/menubar/seatunnel.tsx @@ -1,6 +1,7 @@ import React, {useEffect, useRef, useState} from 'react'; import {Drawer} from "antd"; -import Editor, {useMonaco} from "@monaco-editor/react"; +import Editor, {loader, useMonaco} from "@monaco-editor/react"; +import * as monaco from "monaco-editor"; import {ModalFormProps} from "@/typings"; import {WsArtifactSeaTunnel} from "@/services/project/typings"; import {WsArtifactSeaTunnelService} from "@/services/project/WsArtifactSeaTunnelService"; @@ -20,6 +21,7 @@ const SeaTunnelConfModal: React.FC> = ({ monaco?.languages.typescript.javascriptDefaults.setEagerModelSync(true); // or make sure that it exists by other ways if (monaco) { + loader.config({ monaco }) // console.log("here is the monaco instance:", monaco); } }, [monaco]); diff --git a/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components/node/canvas-node.tsx b/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components/node/canvas-node.tsx index a3d197121..89c2033be 100644 --- a/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components/node/canvas-node.tsx +++ b/scaleph-ui-react/src/pages/Project/Workspace/DataIntegration/SeaTunnel/Dag/components/node/canvas-node.tsx @@ -64,7 +64,7 @@ const SeaTunnelConnectorDagNode = ({node}: { node: Node }) => { > {node.data.label} - +