From 3ffe3b87728fcd1617bc9747d5ef7b9801a5ea84 Mon Sep 17 00:00:00 2001
From: ZEJIA LIU <53506531+ZEJIA-LIU@users.noreply.github.com>
Date: Fri, 26 Jul 2024 18:12:36 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=BAjd=E5=B0=8F=E7=A8=8B=E5=BA=8F?=
 =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E8=A1=A5=E5=85=85=20editor=20=E7=BB=84?=
 =?UTF-8?q?=E4=BB=B6=20(#16166)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Co-authored-by: liuzejia <liuzejia@SZMAC-FV0MR4G7.local>
---
 packages/taro-platform-alipay/package.json        |  1 +
 packages/taro-platform-jd/package.json            |  4 +++-
 packages/taro-platform-jd/rollup.config.mjs       | 13 ++++++++++++-
 packages/taro-platform-jd/src/components-react.ts |  4 ++++
 packages/taro-platform-jd/src/program.ts          |  1 +
 packages/taro-platform-swan/package.json          |  1 +
 packages/taro-platform-tt/package.json            |  1 +
 packages/taro-platform-weapp/package.json         |  1 +
 pnpm-lock.yaml                                    |  3 +++
 9 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 packages/taro-platform-jd/src/components-react.ts

diff --git a/packages/taro-platform-alipay/package.json b/packages/taro-platform-alipay/package.json
index 36d6c2188061..ac5377aaa1ed 100644
--- a/packages/taro-platform-alipay/package.json
+++ b/packages/taro-platform-alipay/package.json
@@ -35,6 +35,7 @@
     "@tarojs/shared": "workspace:*"
   },
   "peerDependencies": {
+    "@tarojs/components": "workspace:*",
     "@tarojs/service": "workspace:*",
     "@tarojs/shared": "workspace:*"
   }
diff --git a/packages/taro-platform-jd/package.json b/packages/taro-platform-jd/package.json
index 57811295f98d..3a178d14e437 100644
--- a/packages/taro-platform-jd/package.json
+++ b/packages/taro-platform-jd/package.json
@@ -31,9 +31,11 @@
   },
   "devDependencies": {
     "@tarojs/service": "workspace:*",
-    "@tarojs/shared": "workspace:*"
+    "@tarojs/shared": "workspace:*",
+    "@tarojs/components": "workspace:*"
   },
   "peerDependencies": {
+    "@tarojs/components": "workspace:*",
     "@tarojs/service": "workspace:*",
     "@tarojs/shared": "workspace:*"
   }
diff --git a/packages/taro-platform-jd/rollup.config.mjs b/packages/taro-platform-jd/rollup.config.mjs
index 61683d64d588..8531851d8f9a 100644
--- a/packages/taro-platform-jd/rollup.config.mjs
+++ b/packages/taro-platform-jd/rollup.config.mjs
@@ -50,4 +50,15 @@ const runtimeUtilsConfig = {
   ...base
 }
 
-export default [compileConfig, runtimeConfig, runtimeUtilsConfig]
+// React 下 webpack 会 alias @tarojs/components 为此文件
+const otherConfig = {
+  input: path.join(cwd, 'src/components-react.ts'),
+  output: {
+    file: path.join(cwd, 'dist/components-react.js'),
+    format: 'es',
+    sourcemap: true
+  },
+  ...base
+}
+
+export default [compileConfig, runtimeConfig, runtimeUtilsConfig, otherConfig]
diff --git a/packages/taro-platform-jd/src/components-react.ts b/packages/taro-platform-jd/src/components-react.ts
new file mode 100644
index 000000000000..c9bc9c157821
--- /dev/null
+++ b/packages/taro-platform-jd/src/components-react.ts
@@ -0,0 +1,4 @@
+// For React.createElement's type
+export * from '@tarojs/components/mini'
+export const Editor = 'editor'
+
diff --git a/packages/taro-platform-jd/src/program.ts b/packages/taro-platform-jd/src/program.ts
index d04f86d4c49d..1a1cefeda218 100644
--- a/packages/taro-platform-jd/src/program.ts
+++ b/packages/taro-platform-jd/src/program.ts
@@ -9,6 +9,7 @@ export default class JD extends TaroPlatformBase {
   platform = 'jd'
   globalObject = 'jd'
   projectConfigJson = 'project.jd.json'
+  taroComponentsPath = `${PACKAGE_NAME}/dist/components-react`
   runtimePath = `${PACKAGE_NAME}/dist/runtime`
   fileType = {
     templ: '.jxml',
diff --git a/packages/taro-platform-swan/package.json b/packages/taro-platform-swan/package.json
index f341dfaf23da..2e343ac78120 100644
--- a/packages/taro-platform-swan/package.json
+++ b/packages/taro-platform-swan/package.json
@@ -35,6 +35,7 @@
     "@tarojs/shared": "workspace:*"
   },
   "peerDependencies": {
+    "@tarojs/components": "workspace:*",
     "@tarojs/service": "workspace:*",
     "@tarojs/shared": "workspace:*"
   }
diff --git a/packages/taro-platform-tt/package.json b/packages/taro-platform-tt/package.json
index fd80b38aec6b..bbf5dbd54c2f 100644
--- a/packages/taro-platform-tt/package.json
+++ b/packages/taro-platform-tt/package.json
@@ -35,6 +35,7 @@
     "@tarojs/shared": "workspace:*"
   },
   "peerDependencies": {
+    "@tarojs/components": "workspace:*",
     "@tarojs/shared": "workspace:*",
     "@tarojs/service": "workspace:*"
   }
diff --git a/packages/taro-platform-weapp/package.json b/packages/taro-platform-weapp/package.json
index 48c92f3da847..56dad4e00009 100644
--- a/packages/taro-platform-weapp/package.json
+++ b/packages/taro-platform-weapp/package.json
@@ -34,6 +34,7 @@
     "@tarojs/shared": "workspace:*"
   },
   "peerDependencies": {
+    "@tarojs/components": "workspace:*",
     "@tarojs/service": "workspace:*",
     "@tarojs/shared": "workspace:*"
   }
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 13ac8d2b3809..4edcd64f12e1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1547,6 +1547,9 @@ importers:
 
   packages/taro-platform-jd:
     devDependencies:
+      '@tarojs/components':
+        specifier: workspace:*
+        version: link:../taro-components
       '@tarojs/service':
         specifier: workspace:*
         version: link:../taro-service