diff --git a/packages/taro-components-library-react/package.json b/packages/taro-components-library-react/package.json index 4f0fc5d9c0ab..1d5cae7124d7 100644 --- a/packages/taro-components-library-react/package.json +++ b/packages/taro-components-library-react/package.json @@ -2,14 +2,26 @@ "name": "@tarojs/components-library-react", "version": "4.1.8", "description": "Taro 组件库 React 版本库", - "private": true, "author": "O2Team", "license": "MIT", - "main": "index.js", + "files": [ + "dist" + ], + "main": "./dist/index.js", + "exports": { + ".": { + "default": "./dist/index.js", + "types": "./dist/index.d.ts" + }, + "./component-lib": { + "default": "./dist/component-lib/index.js", + "types": "./dist/component-lib/index.d.ts" + } + }, "scripts": { - "prebuild": "pnpm run clean && node ./scripts/fix.js", + "prebuild": "pnpm run clean && node ./scripts/fix.cjs", "build": "rollup -c", - "clean": "rimraf ../taro-components/lib/react", + "clean": "rimraf dist", "dev": "pnpm run build -w", "prod": "pnpm run build" }, diff --git a/packages/taro-components-library-react/rollup.config.mjs b/packages/taro-components-library-react/rollup.config.mjs index cfd0b8d083b4..2edcaebff22b 100644 --- a/packages/taro-components-library-react/rollup.config.mjs +++ b/packages/taro-components-library-react/rollup.config.mjs @@ -7,7 +7,7 @@ import postcss from 'rollup-plugin-postcss' const config = { input: ['src/index.ts', 'src/component-lib/index.ts'], output: { - dir: '../taro-components/lib/react', + dir: 'dist', exports: 'named', preserveModules: true, preserveModulesRoot: 'src', diff --git a/packages/taro-components-library-react/scripts/fix.js b/packages/taro-components-library-react/scripts/fix.cjs similarity index 90% rename from packages/taro-components-library-react/scripts/fix.js rename to packages/taro-components-library-react/scripts/fix.cjs index b584eafcaee3..452ea6a8e900 100644 --- a/packages/taro-components-library-react/scripts/fix.js +++ b/packages/taro-components-library-react/scripts/fix.cjs @@ -1,7 +1,7 @@ const fs = require('@tarojs/helper').fs const path = require('path') -const componentsPath = path.resolve(__dirname, '..', 'src/components.ts') +const componentsPath = path.resolve(__dirname, '..', 'node_modules/@tarojs/components/dist/lib/react/components.ts') // const avoidErrorType = ['Input', 'ScrollView'] if (fs.existsSync(componentsPath)) { @@ -35,5 +35,5 @@ if (fs.existsSync(componentsPath)) { code = code.replace(new RegExp(`export const (${comps.join('|')}) = \\/\\*\\@__PURE__\\*\\/createReactComponent.*`, 'ig'), 'export const $1 = Fragment;') } - fs.writeFileSync(componentsPath, code) + fs.writeFileSync(path.resolve(__dirname, '..', 'src/components.ts'), code) } diff --git a/packages/taro-components-library-react/tsconfig.json b/packages/taro-components-library-react/tsconfig.json index 18a6c4934d30..74718cac21ef 100644 --- a/packages/taro-components-library-react/tsconfig.json +++ b/packages/taro-components-library-react/tsconfig.json @@ -2,8 +2,8 @@ "extends": "../../tsconfig.root.json", "compilerOptions": { "baseUrl": ".", + "outDir": "./dist", "declaration": true, - "declarationDir": "../taro-components/lib/react", "jsx": "react", "jsxFactory": "React.createElement", "module": "ESNext", diff --git a/packages/taro-components-library-solid/package.json b/packages/taro-components-library-solid/package.json index 2ff9b10cc417..efb23c1aef8d 100644 --- a/packages/taro-components-library-solid/package.json +++ b/packages/taro-components-library-solid/package.json @@ -2,12 +2,24 @@ "name": "@tarojs/components-library-solid", "version": "4.1.8", "description": "Taro 组件库 Solid 版本库", - "private": true, - "main": "index.js", + "files": [ + "dist" + ], + "main": "./dist/index.js", + "exports": { + ".": { + "default": "./dist/index.js", + "types": "./dist/index.d.ts" + }, + "./component-lib": { + "default": "./dist/component-lib/index.js", + "types": "./dist/component-lib/index.d.ts" + } + }, "scripts": { - "prebuild": "pnpm run clean && node ./scripts/fix.js", + "prebuild": "pnpm run clean && node ./scripts/fix.cjs", "build": "rollup -c", - "clean": "rimraf ../taro-components/lib/solid", + "clean": "rimraf dist", "dev": "pnpm run build -w", "prod": "pnpm run build" }, diff --git a/packages/taro-components-library-solid/rollup.config.mjs b/packages/taro-components-library-solid/rollup.config.mjs index ddf00dd7c351..7165da8b8add 100644 --- a/packages/taro-components-library-solid/rollup.config.mjs +++ b/packages/taro-components-library-solid/rollup.config.mjs @@ -7,7 +7,7 @@ import postcss from 'rollup-plugin-postcss' const config = { input: ['src/index.ts', 'src/component-lib/index.ts'], output: { - dir: '../taro-components/lib/solid', + dir: 'dist', exports: 'named', preserveModules: true, preserveModulesRoot: 'src', diff --git a/packages/taro-components-library-solid/scripts/fix.js b/packages/taro-components-library-solid/scripts/fix.cjs similarity index 90% rename from packages/taro-components-library-solid/scripts/fix.js rename to packages/taro-components-library-solid/scripts/fix.cjs index 0bd00b46b282..0864bfffc58f 100644 --- a/packages/taro-components-library-solid/scripts/fix.js +++ b/packages/taro-components-library-solid/scripts/fix.cjs @@ -1,7 +1,7 @@ const fs = require('@tarojs/helper').fs const path = require('path') -const componentsPath = path.resolve(__dirname, '..', 'src/components.ts') +const componentsPath = path.resolve(__dirname, '..', 'node_modules/@tarojs/components/dist/lib/solid/components.ts') // const avoidErrorType = ['Input', 'ScrollView'] if (fs.existsSync(componentsPath)) { @@ -35,5 +35,5 @@ if (fs.existsSync(componentsPath)) { code = code.replace(new RegExp(`export const (${comps.join('|')}) = \\/\\*\\@__PURE__\\*\\/createSolidComponent.*`, 'ig'), 'export const $1 = Fragment;') } - fs.writeFileSync(componentsPath, code) + fs.writeFileSync(path.resolve(__dirname, '..', 'src/components.ts'), code) } diff --git a/packages/taro-components-library-solid/tsconfig.json b/packages/taro-components-library-solid/tsconfig.json index 73a3252a725b..0af490eca63a 100644 --- a/packages/taro-components-library-solid/tsconfig.json +++ b/packages/taro-components-library-solid/tsconfig.json @@ -2,9 +2,9 @@ "extends": "../../tsconfig.root.json", "compilerOptions": { "baseUrl": ".", + "outDir": "./dist", "declaration": true, "jsx": "preserve", - "declarationDir": "../taro-components/lib/solid", "jsxImportSource": "solid-js", "module": "ESNext", "noUnusedLocals": false, diff --git a/packages/taro-components-library-vue3/package.json b/packages/taro-components-library-vue3/package.json index cf204e0a0ea4..90f980197d0b 100644 --- a/packages/taro-components-library-vue3/package.json +++ b/packages/taro-components-library-vue3/package.json @@ -2,15 +2,27 @@ "name": "@tarojs/components-library-vue3", "version": "4.1.8", "description": "Taro 组件库 Vue3 版本库", - "private": true, "author": "O2Team", "license": "MIT", - "main": "index.js", + "files": [ + "dist" + ], + "main": "./dist/index.js", + "exports": { + ".": { + "default": "./dist/index.js", + "types": "./dist/index.d.ts" + }, + "./component-lib": { + "default": "./dist/component-lib/index.js", + "types": "./dist/component-lib/index.d.ts" + } + }, "scripts": { "prod": "pnpm run build", - "prebuild": "pnpm run clean && node ./scripts/fix.js", + "prebuild": "pnpm run clean && node ./scripts/fix.cjs", "build": "rollup -c", - "clean": "rimraf ../taro-components/lib/vue3", + "clean": "rimraf dist", "dev": "pnpm run build -w" }, "keywords": [], diff --git a/packages/taro-components-library-vue3/rollup.config.mjs b/packages/taro-components-library-vue3/rollup.config.mjs index cca0d96295f1..5d1e0f690963 100644 --- a/packages/taro-components-library-vue3/rollup.config.mjs +++ b/packages/taro-components-library-vue3/rollup.config.mjs @@ -7,7 +7,7 @@ import postcss from 'rollup-plugin-postcss' const config = { input: ['src/index.ts', 'src/components-loader.ts', 'src/component-lib/index.ts'], output: { - dir: '../taro-components/lib/vue3', + dir: 'dist', exports: 'named', preserveModules: true, sourcemap: true, diff --git a/packages/taro-components-library-vue3/scripts/fix.js b/packages/taro-components-library-vue3/scripts/fix.cjs similarity index 85% rename from packages/taro-components-library-vue3/scripts/fix.js rename to packages/taro-components-library-vue3/scripts/fix.cjs index 92cfaad938e4..7aca0e7131e1 100644 --- a/packages/taro-components-library-vue3/scripts/fix.js +++ b/packages/taro-components-library-vue3/scripts/fix.cjs @@ -1,7 +1,7 @@ const fs = require('@tarojs/helper').fs const path = require('path') -const componentsPath = path.resolve(__dirname, '..', 'src/components.ts') +const componentsPath = path.resolve(__dirname, '..', 'node_modules/@tarojs/components/dist/lib/vue3/components.ts') if (fs.existsSync(componentsPath)) { const codeBuffer = fs.readFileSync(componentsPath) @@ -18,5 +18,5 @@ if (fs.existsSync(componentsPath)) { code = code.replace(new RegExp(`export const (${comps.join('|')}) = \\/\\*\\@__PURE__\\*\\/ defineContainer[^;]*;`, 'ig'), 'export const $1 = defineComponent((__props, { slots }) => slots.default);') } - fs.writeFileSync(componentsPath, code) + fs.writeFileSync(path.resolve(__dirname, '..', 'src/components.ts'), code) } diff --git a/packages/taro-components-library-vue3/tsconfig.json b/packages/taro-components-library-vue3/tsconfig.json index 4b2c6fdbda75..8973bf7d9ec8 100644 --- a/packages/taro-components-library-vue3/tsconfig.json +++ b/packages/taro-components-library-vue3/tsconfig.json @@ -2,8 +2,8 @@ "extends": "../../tsconfig.root.json", "compilerOptions": { "baseUrl": ".", + "outDir": "./dist", "declaration": true, - "declarationDir": "../taro-components/lib/vue3", "module": "ESNext", "noUnusedLocals": false, "skipLibCheck": true, diff --git a/packages/taro-components-react/package.json b/packages/taro-components-react/package.json index 01b2d7dec21c..b40a7274b4f1 100644 --- a/packages/taro-components-react/package.json +++ b/packages/taro-components-react/package.json @@ -38,6 +38,8 @@ "dependencies": { "@babel/runtime": "^7.24.4", "@tarojs/components": "workspace:*", + "@tarojs/components-library-react": "workspace:*", + "@tarojs/components-library-solid": "workspace:*", "@tarojs/shared": "workspace:*", "@tarojs/taro": "workspace:*", "classnames": "^2.2.5", diff --git a/packages/taro-components-react/src/index.react.ts b/packages/taro-components-react/src/index.react.ts index 50feab4b6f3d..0c2038816422 100644 --- a/packages/taro-components-react/src/index.react.ts +++ b/packages/taro-components-react/src/index.react.ts @@ -1,79 +1,77 @@ -/* eslint-disable simple-import-sort/exports */ -export { Ad } from '@tarojs/components/lib/react' -export { AdCustom } from '@tarojs/components/lib/react' -export { AnimationVideo } from '@tarojs/components/lib/react' -export { AnimationView } from '@tarojs/components/lib/react' -export { ArCamera } from '@tarojs/components/lib/react' -export { Audio } from '@tarojs/components/lib/react' -export { AwemeData } from '@tarojs/components/lib/react' -export { Block } from '@tarojs/components/lib/react' export { default as Button } from './components/button' -export { Camera } from '@tarojs/components/lib/react' -export { Canvas } from '@tarojs/components/lib/react' -export { ChannelLive } from '@tarojs/components/lib/react' -export { ChannelVideo } from '@tarojs/components/lib/react' -export { Checkbox, CheckboxGroup } from '@tarojs/components/lib/react' -export { CommentDetail, CommentList } from '@tarojs/components/lib/react' -export { ContactButton } from '@tarojs/components/lib/react' -export { CoverImage } from '@tarojs/components/lib/react' -export { CoverView } from '@tarojs/components/lib/react' -export { CustomWrapper } from '@tarojs/components/lib/react' -export { DraggableSheet } from '@tarojs/components/lib/react' -export { Editor } from '@tarojs/components/lib/react' -export { FollowSwan } from '@tarojs/components/lib/react' -export { Form } from '@tarojs/components/lib/react' -export { FunctionalPageNavigator } from '@tarojs/components/lib/react' -export { GridView } from '@tarojs/components/lib/react' -export { GridBuilder } from '@tarojs/components/lib/react' export { default as Icon } from './components/icon' export { default as Image } from './components/image' -export { InlinePaymentPanel } from '@tarojs/components/lib/react' export { default as Input } from './components/input' -export { KeyboardAccessory } from '@tarojs/components/lib/react' -export { Label } from '@tarojs/components/lib/react' -export { Lifestyle } from '@tarojs/components/lib/react' -export { Like } from '@tarojs/components/lib/react' -export { LivePlayer } from '@tarojs/components/lib/react' -export { LivePusher } from '@tarojs/components/lib/react' -export { ListBuilder } from '@tarojs/components/lib/react' -export { ListView } from '@tarojs/components/lib/react' -export { Login } from '@tarojs/components/lib/react' -export { Lottie } from '@tarojs/components/lib/react' -export { Map } from '@tarojs/components/lib/react' -export { MatchMedia } from '@tarojs/components/lib/react' -export { MovableArea, MovableView } from '@tarojs/components/lib/react' -export { NavigationBar } from '@tarojs/components/lib/react' -export { Navigator } from '@tarojs/components/lib/react' -export { NestedScrollBody } from '@tarojs/components/lib/react' -export { NestedScrollHeader } from '@tarojs/components/lib/react' -export { OfficialAccount } from '@tarojs/components/lib/react' -export { OpenData } from '@tarojs/components/lib/react' -export { OpenContainer } from '@tarojs/components/lib/react' -export { PageContainer } from '@tarojs/components/lib/react' -export { PageMeta } from '@tarojs/components/lib/react' export { default as Picker } from './components/picker' -export { PickerView, PickerViewColumn } from '@tarojs/components/lib/react' -export { Progress } from '@tarojs/components/lib/react' export { default as PullDownRefresh } from './components/pull-down-refresh' -// export { PullToRefresh } from '@tarojs/components/lib/react' export { default as Refresher } from './components/refresher' -export { Radio, RadioGroup } from '@tarojs/components/lib/react' -export { RichText } from '@tarojs/components/lib/react' -export { RootPortal } from '@tarojs/components/lib/react' -export { RtcRoom, RtcRoomItem } from '@tarojs/components/lib/react' -export { Script } from '@tarojs/components/lib/react' export { default as ScrollView } from './components/scroll-view' -export { ShareElement } from '@tarojs/components/lib/react' -export { Slider } from '@tarojs/components/lib/react' -export { Snapshot } from '@tarojs/components/lib/react' -export { Span } from '@tarojs/components/lib/react' -export { NativeSlot, Slot } from '@tarojs/components/lib/react' export { Swiper, SwiperItem } from './components/swiper' -export { Switch } from '@tarojs/components/lib/react' -export { Tabs } from '@tarojs/components/lib/react' export { default as Text } from './components/text' -export { Textarea } from '@tarojs/components/lib/react' -export { Video } from '@tarojs/components/lib/react' export { default as View } from './components/view' -export { VoipRoom } from '@tarojs/components/lib/react' -export { WebView } from '@tarojs/components/lib/react' +export { Ad } from '@tarojs/components-library-react' +export { AdCustom } from '@tarojs/components-library-react' +export { AnimationVideo } from '@tarojs/components-library-react' +export { AnimationView } from '@tarojs/components-library-react' +export { ArCamera } from '@tarojs/components-library-react' +export { Audio } from '@tarojs/components-library-react' +export { AwemeData } from '@tarojs/components-library-react' +export { Block } from '@tarojs/components-library-react' +export { Camera } from '@tarojs/components-library-react' +export { Canvas } from '@tarojs/components-library-react' +export { ChannelLive } from '@tarojs/components-library-react' +export { ChannelVideo } from '@tarojs/components-library-react' +export { Checkbox, CheckboxGroup } from '@tarojs/components-library-react' +export { CommentDetail, CommentList } from '@tarojs/components-library-react' +export { ContactButton } from '@tarojs/components-library-react' +export { CoverImage } from '@tarojs/components-library-react' +export { CoverView } from '@tarojs/components-library-react' +export { CustomWrapper } from '@tarojs/components-library-react' +export { DraggableSheet } from '@tarojs/components-library-react' +export { Editor } from '@tarojs/components-library-react' +export { FollowSwan } from '@tarojs/components-library-react' +export { Form } from '@tarojs/components-library-react' +export { FunctionalPageNavigator } from '@tarojs/components-library-react' +export { GridView } from '@tarojs/components-library-react' +export { GridBuilder } from '@tarojs/components-library-react' +export { InlinePaymentPanel } from '@tarojs/components-library-react' +export { KeyboardAccessory } from '@tarojs/components-library-react' +export { Label } from '@tarojs/components-library-react' +export { Lifestyle } from '@tarojs/components-library-react' +export { Like } from '@tarojs/components-library-react' +export { LivePlayer } from '@tarojs/components-library-react' +export { LivePusher } from '@tarojs/components-library-react' +export { ListBuilder } from '@tarojs/components-library-react' +export { ListView } from '@tarojs/components-library-react' +export { Login } from '@tarojs/components-library-react' +export { Lottie } from '@tarojs/components-library-react' +export { Map } from '@tarojs/components-library-react' +export { MatchMedia } from '@tarojs/components-library-react' +export { MovableArea, MovableView } from '@tarojs/components-library-react' +export { NavigationBar } from '@tarojs/components-library-react' +export { Navigator } from '@tarojs/components-library-react' +export { NestedScrollBody } from '@tarojs/components-library-react' +export { NestedScrollHeader } from '@tarojs/components-library-react' +export { OfficialAccount } from '@tarojs/components-library-react' +export { OpenData } from '@tarojs/components-library-react' +export { OpenContainer } from '@tarojs/components-library-react' +export { PageContainer } from '@tarojs/components-library-react' +export { PageMeta } from '@tarojs/components-library-react' +export { PickerView, PickerViewColumn } from '@tarojs/components-library-react' +export { Progress } from '@tarojs/components-library-react' +export { Radio, RadioGroup } from '@tarojs/components-library-react' +export { RichText } from '@tarojs/components-library-react' +export { RootPortal } from '@tarojs/components-library-react' +export { RtcRoom, RtcRoomItem } from '@tarojs/components-library-react' +export { Script } from '@tarojs/components-library-react' +export { ShareElement } from '@tarojs/components-library-react' +export { Slider } from '@tarojs/components-library-react' +export { Snapshot } from '@tarojs/components-library-react' +export { Span } from '@tarojs/components-library-react' +export { NativeSlot, Slot } from '@tarojs/components-library-react' +export { Switch } from '@tarojs/components-library-react' +export { Tabs } from '@tarojs/components-library-react' +export { Textarea } from '@tarojs/components-library-react' +export { Video } from '@tarojs/components-library-react' +export { VoipRoom } from '@tarojs/components-library-react' +export { WebView } from '@tarojs/components-library-react' diff --git a/packages/taro-components-react/src/index.solid.ts b/packages/taro-components-react/src/index.solid.ts index c85ae08e6308..54bc1d3f29f7 100644 --- a/packages/taro-components-react/src/index.solid.ts +++ b/packages/taro-components-react/src/index.solid.ts @@ -1,79 +1,79 @@ /* eslint-disable simple-import-sort/exports */ -export { Ad } from '@tarojs/components/lib/solid' -export { AdCustom } from '@tarojs/components/lib/solid' -export { AnimationVideo } from '@tarojs/components/lib/solid' -export { AnimationView } from '@tarojs/components/lib/solid' -export { ArCamera } from '@tarojs/components/lib/solid' -export { Audio } from '@tarojs/components/lib/solid' -export { AwemeData } from '@tarojs/components/lib/solid' -export { Block } from '@tarojs/components/lib/solid' +export { Ad } from '@tarojs/components-library-solid' +export { AdCustom } from '@tarojs/components-library-solid' +export { AnimationVideo } from '@tarojs/components-library-solid' +export { AnimationView } from '@tarojs/components-library-solid' +export { ArCamera } from '@tarojs/components-library-solid' +export { Audio } from '@tarojs/components-library-solid' +export { AwemeData } from '@tarojs/components-library-solid' +export { Block } from '@tarojs/components-library-solid' export { default as Button } from './components/button' -export { Camera } from '@tarojs/components/lib/solid' -export { Canvas } from '@tarojs/components/lib/solid' -export { ChannelLive } from '@tarojs/components/lib/solid' -export { ChannelVideo } from '@tarojs/components/lib/solid' -export { Checkbox, CheckboxGroup } from '@tarojs/components/lib/solid' -export { CommentDetail, CommentList } from '@tarojs/components/lib/solid' -export { ContactButton } from '@tarojs/components/lib/solid' -export { CoverImage } from '@tarojs/components/lib/solid' -export { CoverView } from '@tarojs/components/lib/solid' -export { CustomWrapper } from '@tarojs/components/lib/solid' -export { DraggableSheet } from '@tarojs/components/lib/solid' -export { Editor } from '@tarojs/components/lib/solid' -export { FollowSwan } from '@tarojs/components/lib/solid' -export { Form } from '@tarojs/components/lib/solid' -export { FunctionalPageNavigator } from '@tarojs/components/lib/solid' -export { GridView } from '@tarojs/components/lib/solid' -export { GridBuilder } from '@tarojs/components/lib/solid' +export { Camera } from '@tarojs/components-library-solid' +export { Canvas } from '@tarojs/components-library-solid' +export { ChannelLive } from '@tarojs/components-library-solid' +export { ChannelVideo } from '@tarojs/components-library-solid' +export { Checkbox, CheckboxGroup } from '@tarojs/components-library-solid' +export { CommentDetail, CommentList } from '@tarojs/components-library-solid' +export { ContactButton } from '@tarojs/components-library-solid' +export { CoverImage } from '@tarojs/components-library-solid' +export { CoverView } from '@tarojs/components-library-solid' +export { CustomWrapper } from '@tarojs/components-library-solid' +export { DraggableSheet } from '@tarojs/components-library-solid' +export { Editor } from '@tarojs/components-library-solid' +export { FollowSwan } from '@tarojs/components-library-solid' +export { Form } from '@tarojs/components-library-solid' +export { FunctionalPageNavigator } from '@tarojs/components-library-solid' +export { GridView } from '@tarojs/components-library-solid' +export { GridBuilder } from '@tarojs/components-library-solid' export { default as Icon } from './components/icon' export { default as Image } from './components/image' -export { InlinePaymentPanel } from '@tarojs/components/lib/solid' -export { Input } from '@tarojs/components/lib/solid' -export { KeyboardAccessory } from '@tarojs/components/lib/solid' -export { Label } from '@tarojs/components/lib/solid' -export { Lifestyle } from '@tarojs/components/lib/solid' -export { Like } from '@tarojs/components/lib/solid' -export { LivePlayer } from '@tarojs/components/lib/solid' -export { LivePusher } from '@tarojs/components/lib/solid' -export { ListBuilder } from '@tarojs/components/lib/solid' -export { ListView } from '@tarojs/components/lib/solid' -export { Login } from '@tarojs/components/lib/solid' -export { Lottie } from '@tarojs/components/lib/solid' -export { Map } from '@tarojs/components/lib/solid' -export { MatchMedia } from '@tarojs/components/lib/solid' -export { MovableArea, MovableView } from '@tarojs/components/lib/solid' -export { NavigationBar } from '@tarojs/components/lib/solid' -export { Navigator } from '@tarojs/components/lib/solid' -export { NestedScrollBody } from '@tarojs/components/lib/solid' -export { NestedScrollHeader } from '@tarojs/components/lib/solid' -export { OfficialAccount } from '@tarojs/components/lib/solid' -export { OpenData } from '@tarojs/components/lib/solid' -export { OpenContainer } from '@tarojs/components/lib/solid' -export { PageContainer } from '@tarojs/components/lib/solid' -export { PageMeta } from '@tarojs/components/lib/solid' +export { InlinePaymentPanel } from '@tarojs/components-library-solid' +export { Input } from '@tarojs/components-library-solid' +export { KeyboardAccessory } from '@tarojs/components-library-solid' +export { Label } from '@tarojs/components-library-solid' +export { Lifestyle } from '@tarojs/components-library-solid' +export { Like } from '@tarojs/components-library-solid' +export { LivePlayer } from '@tarojs/components-library-solid' +export { LivePusher } from '@tarojs/components-library-solid' +export { ListBuilder } from '@tarojs/components-library-solid' +export { ListView } from '@tarojs/components-library-solid' +export { Login } from '@tarojs/components-library-solid' +export { Lottie } from '@tarojs/components-library-solid' +export { Map } from '@tarojs/components-library-solid' +export { MatchMedia } from '@tarojs/components-library-solid' +export { MovableArea, MovableView } from '@tarojs/components-library-solid' +export { NavigationBar } from '@tarojs/components-library-solid' +export { Navigator } from '@tarojs/components-library-solid' +export { NestedScrollBody } from '@tarojs/components-library-solid' +export { NestedScrollHeader } from '@tarojs/components-library-solid' +export { OfficialAccount } from '@tarojs/components-library-solid' +export { OpenData } from '@tarojs/components-library-solid' +export { OpenContainer } from '@tarojs/components-library-solid' +export { PageContainer } from '@tarojs/components-library-solid' +export { PageMeta } from '@tarojs/components-library-solid' export { default as Picker } from './components/picker' -export { PickerView, PickerViewColumn } from '@tarojs/components/lib/solid' -export { Progress } from '@tarojs/components/lib/solid' +export { PickerView, PickerViewColumn } from '@tarojs/components-library-solid' +export { Progress } from '@tarojs/components-library-solid' // export { default as PullDownRefresh } from './components/pull-down-refresh' -export { PullToRefresh } from '@tarojs/components/lib/solid' +export { PullToRefresh } from '@tarojs/components-library-solid' +export { Radio, RadioGroup } from '@tarojs/components-library-solid' +export { RichText } from '@tarojs/components-library-solid' +export { RootPortal } from '@tarojs/components-library-solid' +export { RtcRoom, RtcRoomItem } from '@tarojs/components-library-solid' +export { Script } from '@tarojs/components-library-solid' export { default as Refresher } from './components/refresher' -export { Radio, RadioGroup } from '@tarojs/components/lib/solid' -export { RichText } from '@tarojs/components/lib/solid' -export { RootPortal } from '@tarojs/components/lib/solid' -export { RtcRoom, RtcRoomItem } from '@tarojs/components/lib/solid' -export { Script } from '@tarojs/components/lib/solid' export { default as ScrollView } from './components/scroll-view' -export { ShareElement } from '@tarojs/components/lib/solid' -export { Slider } from '@tarojs/components/lib/solid' -export { Snapshot } from '@tarojs/components/lib/solid' -export { Span } from '@tarojs/components/lib/solid' -export { NativeSlot, Slot } from '@tarojs/components/lib/solid' -export { Swiper, SwiperItem } from '@tarojs/components/lib/solid' -export { Switch } from '@tarojs/components/lib/solid' -export { Tabs } from '@tarojs/components/lib/solid' +export { ShareElement } from '@tarojs/components-library-solid' +export { Slider } from '@tarojs/components-library-solid' +export { Snapshot } from '@tarojs/components-library-solid' +export { Span } from '@tarojs/components-library-solid' +export { NativeSlot, Slot } from '@tarojs/components-library-solid' +export { Swiper, SwiperItem } from '@tarojs/components-library-solid' +export { Switch } from '@tarojs/components-library-solid' +export { Tabs } from '@tarojs/components-library-solid' export { default as Text } from './components/text' -export { Textarea } from '@tarojs/components/lib/solid' -export { Video } from '@tarojs/components/lib/solid' +export { Textarea } from '@tarojs/components-library-solid' +export { Video } from '@tarojs/components-library-solid' export { default as View } from './components/view' -export { VoipRoom } from '@tarojs/components/lib/solid' -export { WebView } from '@tarojs/components/lib/solid' +export { VoipRoom } from '@tarojs/components-library-solid' +export { WebView } from '@tarojs/components-library-solid' diff --git a/packages/taro-components-react/types/global.d.ts b/packages/taro-components-react/types/global.d.ts index c471f144768d..5dcda8ed5a8d 100644 --- a/packages/taro-components-react/types/global.d.ts +++ b/packages/taro-components-react/types/global.d.ts @@ -4,10 +4,10 @@ declare namespace JSX { } } -declare module '@tarojs/components/lib/solid' { +declare module '@tarojs/components-library-solid' { export * from '@tarojs/components' } -declare module '@tarojs/components/lib/react' { +declare module '@tarojs/components-library-react' { export * from '@tarojs/components' } diff --git a/packages/taro-components/package.json b/packages/taro-components/package.json index 1a2c17be525f..7655c74c2273 100644 --- a/packages/taro-components/package.json +++ b/packages/taro-components/package.json @@ -13,7 +13,6 @@ ], "files": [ "dist", - "lib", "loader", "mini", "types", @@ -23,19 +22,11 @@ "collection": "dist/collection/collection-manifest.json", "collection:main": "dist/collection/index.js", "scripts": { - "prod": "pnpm run build:ci", + "prod": "pnpm run build", "prepare": "run-p generate:*", "prebuild": "run-p generate:*", - "prebuild:ci": "run-p generate:*", - "build:ci": "cross-env NODE_ENV=production run-s build:components", - "build": "cross-env NODE_ENV=production run-s build:components build:library", - "build:components": "stencil build", - "build:library": "pnpm --filter @tarojs/components-library-react --filter @tarojs/components-library-vue3 --filter @tarojs/components-library-solid run build", - "dev:components": "cross-env NODE_ENV=development pnpm run build:components --watch", - "dev:library-react": "cross-env NODE_ENV=development pnpm --filter @tarojs/components-library-react run dev", - "dev:library-vue3": "cross-env NODE_ENV=development pnpm --filter @tarojs/components-library-vue3 run dev", - "dev:library-solid": "cross-env NODE_ENV=development pnpm --filter @tarojs/components-library-solid run dev", - "generate:lib": "mkdirp lib", + "build": "cross-env NODE_ENV=production stencil build", + "dev:components": "cross-env NODE_ENV=development stencil build --watch", "generate:stencil-config": "esbuild ./scripts/stencil/stencil.config.ts --external:lightningcss --bundle --platform=node --outfile=stencil.config.js", "sync:types": "pnpm run tsx --files scripts/json-schema-to-types.ts", "pretest:ci": "node ./node_modules/puppeteer/install.js", diff --git a/packages/taro-components/scripts/stencil/stencil.config.ts b/packages/taro-components/scripts/stencil/stencil.config.ts index 3208e0b8eaf4..89d80e40ee04 100644 --- a/packages/taro-components/scripts/stencil/stencil.config.ts +++ b/packages/taro-components/scripts/stencil/stencil.config.ts @@ -12,7 +12,7 @@ const outputTargets: OutputTarget[] = [ componentCorePackage: '@tarojs/components', customElementsDir: 'dist/components', includeImportCustomElements: true, - proxiesFile: '../taro-components-library-react/src/components.ts', + proxiesFile: 'dist/lib/react/components.ts', }), vue3OutputTarget({ componentCorePackage: '@tarojs/components', @@ -31,13 +31,13 @@ const outputTargets: OutputTarget[] = [ }], customElementsDir: 'dist/components', includeImportCustomElements: true, - proxiesFile: '../taro-components-library-vue3/src/components.ts', + proxiesFile: 'dist/lib/vue3/components.ts', }), solidOutputTarget({ componentCorePackage: '@tarojs/components', customElementsDir: 'dist/components', includeImportCustomElements: true, - proxiesFile: '../taro-components-library-solid/src/components.ts', + proxiesFile: 'dist/lib/solid/components.ts', }), { type: 'dist', @@ -89,8 +89,8 @@ export const config: Config = { { components: ['taro-video-core', 'taro-video-control', 'taro-video-danmu'] } ], /** - * Note: Taro内部有很多地方都直接引用了dist/components,最终的编译产物中有很多super(),导致低版安装白屏 - * 为彻底解决此包导致的白屏问题,故暂不在包构建是转为es5,而是将此包加入到项目的babel编译中 + * Note: Taro 内部有很多地方都直接引用了 dist/components,最终的编译产物中有很多 super(),导致低版安装白屏 + * 为彻底解决此包导致的白屏问题,故暂不在包构建是转为 es5,而是将此包加入到项目的 babel 编译中 */ // buildEs5: 'prod', /** diff --git a/packages/taro-platform-h5/package.json b/packages/taro-platform-h5/package.json index 9af0914cc55b..d7e762b38d61 100644 --- a/packages/taro-platform-h5/package.json +++ b/packages/taro-platform-h5/package.json @@ -42,6 +42,9 @@ "@babel/core": "^7.14.5", "@tarojs/components": "workspace:*", "@tarojs/components-react": "workspace:*", + "@tarojs/components-library-react": "workspace:*", + "@tarojs/components-library-solid": "workspace:*", + "@tarojs/components-library-vue3": "workspace:*", "@tarojs/runtime": "workspace:*", "@tarojs/service": "workspace:*", "@tarojs/shared": "workspace:*", diff --git a/packages/taro-platform-h5/src/program.ts b/packages/taro-platform-h5/src/program.ts index b8566737858d..ada73721067b 100644 --- a/packages/taro-platform-h5/src/program.ts +++ b/packages/taro-platform-h5/src/program.ts @@ -1,5 +1,3 @@ -import path from 'node:path' - import { transformAsync } from '@babel/core' import { defaultMainFields, SCRIPT_EXT } from '@tarojs/helper' import { TaroPlatformWeb } from '@tarojs/service' @@ -56,14 +54,22 @@ export default class H5 extends TaroPlatformWeb { } return require.resolve('./runtime/components') } else if (this.useDeprecatedAdapterComponent) { - return require.resolve(`@tarojs/components/lib/${this.aliasFramework}/component-lib`) + return require.resolve(`@tarojs/components-library-${this.aliasFramework}/component-lib`) } else { - return require.resolve(`@tarojs/components/lib/${this.aliasFramework}`) + return require.resolve(`@tarojs/components-library-${this.aliasFramework}`) } } - get componentAdapter() { - return path.join(path.dirname(require.resolve('@tarojs/components')), '..', 'lib') + get componentAdapterReact () { + return require.resolve(`@tarojs/components-library-react`) + } + + get componentAdapterSolid () { + return require.resolve(`@tarojs/components-library-solid`) + } + + get componentAdapterVue3 () { + return require.resolve(`@tarojs/components-library-vue3`) } get routerLibrary() { @@ -114,7 +120,9 @@ export default class H5 extends TaroPlatformWeb { const alias = chain.resolve.alias // TODO 考虑集成到 taroComponentsPath 中,与小程序端对齐 alias.set('@tarojs/components$', this.componentLibrary) - alias.set('@tarojs/components/lib', this.componentAdapter) + alias.set('@tarojs/components-library-react$', this.componentAdapterReact) + alias.set('@tarojs/components-library-solid$', this.componentAdapterSolid) + alias.set('@tarojs/components-library-vue3$', this.componentAdapterVue3) alias.set('@tarojs/router$', this.routerLibrary) alias.set('@tarojs/taro', this.apiLibrary) chain.plugin('mainPlugin').tap((args) => { @@ -136,7 +144,7 @@ export default class H5 extends TaroPlatformWeb { switch (this.framework) { case 'vue3': - args[0].loaderMeta.extraImportForWeb += `import { initVue3Components } from '@tarojs/components/lib/vue3/components-loader'\nimport * as list from '@tarojs/components'\n` + args[0].loaderMeta.extraImportForWeb += `import { initVue3Components } from '@tarojs/components-library-vue3/dist/components-loader'\nimport * as list from '@tarojs/components'\n` args[0].loaderMeta.execBeforeCreateWebApp += `initVue3Components(component, list)\n` break default: @@ -171,7 +179,9 @@ export default class H5 extends TaroPlatformWeb { resolve: { alias: [ { find: /@tarojs\/components$/, replacement: that.componentLibrary }, - { find: '@tarojs/components/lib', replacement: that.componentAdapter }, + { find: /@tarojs\/components-library-react$/, replacement: that.componentAdapterReact }, + { find: /@tarojs\/components-library-solid$/, replacement: that.componentAdapterSolid }, + { find: /@tarojs\/components-library-vue3$/, replacement: that.componentAdapterVue3 }, { find: /@tarojs\/router$/, replacement: that.routerLibrary }, { find: '@tarojs/taro', replacement: that.apiLibrary }, ], @@ -203,7 +213,7 @@ export default class H5 extends TaroPlatformWeb { switch (that.framework) { case 'vue3': - viteCompilerContext.loaderMeta.extraImportForWeb += `import { initVue3Components } from '@tarojs/components/lib/vue3/components-loader'\nimport * as list from '@tarojs/components'\n` + viteCompilerContext.loaderMeta.extraImportForWeb += `import { initVue3Components } from '@tarojs/components-library-vue3/dist/components-loader'\nimport * as list from '@tarojs/components'\n` viteCompilerContext.loaderMeta.execBeforeCreateWebApp += `initVue3Components(component, list)\n` break default: diff --git a/packages/taro-platform-harmony-hybrid/package.json b/packages/taro-platform-harmony-hybrid/package.json index cac52ade478f..5465c5cb1361 100644 --- a/packages/taro-platform-harmony-hybrid/package.json +++ b/packages/taro-platform-harmony-hybrid/package.json @@ -40,6 +40,9 @@ "@tarojs/api": "workspace:*", "@tarojs/components": "workspace:*", "@tarojs/components-react": "workspace:*", + "@tarojs/components-library-react": "workspace:*", + "@tarojs/components-library-solid": "workspace:*", + "@tarojs/components-library-vue3": "workspace:*", "@tarojs/helper": "workspace:*", "@tarojs/plugin-platform-h5": "workspace:*", "@tarojs/router": "workspace:*", diff --git a/packages/taro-platform-harmony-hybrid/src/components/react/index.ts b/packages/taro-platform-harmony-hybrid/src/components/react/index.ts index 9cccfd478a02..a6b77ade91d3 100644 --- a/packages/taro-platform-harmony-hybrid/src/components/react/index.ts +++ b/packages/taro-platform-harmony-hybrid/src/components/react/index.ts @@ -1,68 +1,67 @@ -/* eslint-disable simple-import-sort/exports */ -export { Ad } from '@tarojs/components/lib/react' -export { AdCustom } from '@tarojs/components/lib/react' -export { AnimationVideo } from '@tarojs/components/lib/react' -export { AnimationView } from '@tarojs/components/lib/react' -export { ArCamera } from '@tarojs/components/lib/react' -export { Audio } from '@tarojs/components/lib/react' -export { AwemeData } from '@tarojs/components/lib/react' -export { Block } from '@tarojs/components/lib/react' -export { Button } from '@tarojs/components/lib/react' -export { Camera } from '@tarojs/components/lib/react' -export { Canvas } from '@tarojs/components/lib/react' -export { ChannelLive } from '@tarojs/components/lib/react' -export { ChannelVideo } from '@tarojs/components/lib/react' -export { Checkbox, CheckboxGroup } from '@tarojs/components/lib/react' -export { CommentDetail, CommentList } from '@tarojs/components/lib/react' -export { ContactButton } from '@tarojs/components/lib/react' -export { CoverImage } from '@tarojs/components/lib/react' -export { CoverView } from '@tarojs/components/lib/react' -export { CustomWrapper } from '@tarojs/components/lib/react' -export { Editor } from '@tarojs/components/lib/react' -export { FollowSwan } from '@tarojs/components/lib/react' -export { Form } from '@tarojs/components/lib/react' -export { FunctionalPageNavigator } from '@tarojs/components/lib/react' -export { Icon } from '@tarojs/components/lib/react' -export { Image } from '@tarojs/components/lib/react' -export { InlinePaymentPanel } from '@tarojs/components/lib/react' -export { Input } from '@tarojs/components/lib/react' -export { KeyboardAccessory } from '@tarojs/components/lib/react' -export { Label } from '@tarojs/components/lib/react' +export { Ad } from '@tarojs/components-library-react' +export { AdCustom } from '@tarojs/components-library-react' +export { AnimationVideo } from '@tarojs/components-library-react' +export { AnimationView } from '@tarojs/components-library-react' +export { ArCamera } from '@tarojs/components-library-react' +export { Audio } from '@tarojs/components-library-react' +export { AwemeData } from '@tarojs/components-library-react' +export { Block } from '@tarojs/components-library-react' +export { Button } from '@tarojs/components-library-react' +export { Camera } from '@tarojs/components-library-react' +export { Canvas } from '@tarojs/components-library-react' +export { ChannelLive } from '@tarojs/components-library-react' +export { ChannelVideo } from '@tarojs/components-library-react' +export { Checkbox, CheckboxGroup } from '@tarojs/components-library-react' +export { CommentDetail, CommentList } from '@tarojs/components-library-react' +export { ContactButton } from '@tarojs/components-library-react' +export { CoverImage } from '@tarojs/components-library-react' +export { CoverView } from '@tarojs/components-library-react' +export { CustomWrapper } from '@tarojs/components-library-react' +export { Editor } from '@tarojs/components-library-react' +export { FollowSwan } from '@tarojs/components-library-react' +export { Form } from '@tarojs/components-library-react' +export { FunctionalPageNavigator } from '@tarojs/components-library-react' +export { Icon } from '@tarojs/components-library-react' +export { Image } from '@tarojs/components-library-react' +export { InlinePaymentPanel } from '@tarojs/components-library-react' +export { Input } from '@tarojs/components-library-react' +export { KeyboardAccessory } from '@tarojs/components-library-react' +export { Label } from '@tarojs/components-library-react' // export { Label } from './components/label/label' -export { Lifestyle } from '@tarojs/components/lib/react' -export { Like } from '@tarojs/components/lib/react' -export { LivePlayer } from '@tarojs/components/lib/react' -export { LivePusher } from '@tarojs/components/lib/react' -export { Login } from '@tarojs/components/lib/react' -export { Lottie } from '@tarojs/components/lib/react' export { default as HosMap } from '../components-react/Map/Map' -export { Map } from '@tarojs/components/lib/react' -export { MovableArea, MovableView } from '@tarojs/components/lib/react' -export { NavigationBar } from '@tarojs/components/lib/react' -export { Navigator } from '@tarojs/components/lib/react' -export { OfficialAccount } from '@tarojs/components/lib/react' -export { OpenData } from '@tarojs/components/lib/react' -export { PageMeta } from '@tarojs/components/lib/react' -export { Picker } from '@tarojs/components/lib/react' -export { PickerView, PickerViewColumn } from '@tarojs/components/lib/react' -export { Progress } from '@tarojs/components/lib/react' -export { PullToRefresh } from '@tarojs/components/lib/react' -export { Radio, RadioGroup } from '@tarojs/components/lib/react' -export { RichText } from '@tarojs/components/lib/react' -export { RtcRoom, RtcRoomItem } from '@tarojs/components/lib/react' -export { ScrollView } from '@tarojs/components/lib/react' -export { ShareElement } from '@tarojs/components/lib/react' -export { Slider } from '@tarojs/components/lib/react' -export { NativeSlot, Slot } from '@tarojs/components/lib/react' -export { Swiper, SwiperItem } from '@tarojs/components/lib/react' -export { Switch } from '@tarojs/components/lib/react' -export { Tabs } from '@tarojs/components/lib/react' -export { Text } from '@tarojs/components/lib/react' -export { Textarea } from '@tarojs/components/lib/react' -export { Video } from '@tarojs/components/lib/react' -export { View } from '@tarojs/components/lib/react' -export { VoipRoom } from '@tarojs/components/lib/react' -export { WebView } from '@tarojs/components/lib/react' +export { Lifestyle } from '@tarojs/components-library-react' +export { Like } from '@tarojs/components-library-react' +export { LivePlayer } from '@tarojs/components-library-react' +export { LivePusher } from '@tarojs/components-library-react' +export { Login } from '@tarojs/components-library-react' +export { Lottie } from '@tarojs/components-library-react' +export { Map } from '@tarojs/components-library-react' +export { MovableArea, MovableView } from '@tarojs/components-library-react' +export { NavigationBar } from '@tarojs/components-library-react' +export { Navigator } from '@tarojs/components-library-react' +export { OfficialAccount } from '@tarojs/components-library-react' +export { OpenData } from '@tarojs/components-library-react' +export { PageMeta } from '@tarojs/components-library-react' +export { Picker } from '@tarojs/components-library-react' +export { PickerView, PickerViewColumn } from '@tarojs/components-library-react' +export { Progress } from '@tarojs/components-library-react' +export { PullToRefresh } from '@tarojs/components-library-react' +export { Radio, RadioGroup } from '@tarojs/components-library-react' +export { RichText } from '@tarojs/components-library-react' +export { RtcRoom, RtcRoomItem } from '@tarojs/components-library-react' +export { ScrollView } from '@tarojs/components-library-react' +export { ShareElement } from '@tarojs/components-library-react' +export { Slider } from '@tarojs/components-library-react' +export { NativeSlot, Slot } from '@tarojs/components-library-react' +export { Swiper, SwiperItem } from '@tarojs/components-library-react' +export { Switch } from '@tarojs/components-library-react' +export { Tabs } from '@tarojs/components-library-react' +export { Text } from '@tarojs/components-library-react' +export { Textarea } from '@tarojs/components-library-react' +export { Video } from '@tarojs/components-library-react' +export { View } from '@tarojs/components-library-react' +export { VoipRoom } from '@tarojs/components-library-react' +export { WebView } from '@tarojs/components-library-react' // export * from './components/block/block' // export * from './components/grid/grid' // export * from './components/root-portal/root-portal' @@ -73,11 +72,11 @@ export { WebView } from '@tarojs/components/lib/react' // export { MatchMedia } from './components/match-media/match-media' // export { default as PageContainer } from './components/page-container/page-container' export { - StickyHeader, - StickySection, - RootPortal, GridView, ListView, MatchMedia, PageContainer, -} from '@tarojs/components/lib/react' + RootPortal, + StickyHeader, + StickySection, +} from '@tarojs/components-library-react' diff --git a/packages/taro-platform-harmony-hybrid/src/components/vue3/index.ts b/packages/taro-platform-harmony-hybrid/src/components/vue3/index.ts index 2c59f0f9b404..5940044bd676 100644 --- a/packages/taro-platform-harmony-hybrid/src/components/vue3/index.ts +++ b/packages/taro-platform-harmony-hybrid/src/components/vue3/index.ts @@ -1,68 +1,67 @@ -/* eslint-disable simple-import-sort/exports */ -export { Ad } from '@tarojs/components/lib/vue3' -export { AdCustom } from '@tarojs/components/lib/vue3' -export { AnimationVideo } from '@tarojs/components/lib/vue3' -export { AnimationView } from '@tarojs/components/lib/vue3' -export { ArCamera } from '@tarojs/components/lib/vue3' -export { Audio } from '@tarojs/components/lib/vue3' -export { AwemeData } from '@tarojs/components/lib/vue3' -export { Block } from '@tarojs/components/lib/vue3' -export { Button } from '@tarojs/components/lib/vue3' -export { Camera } from '@tarojs/components/lib/vue3' -export { Canvas } from '@tarojs/components/lib/vue3' -export { ChannelLive } from '@tarojs/components/lib/vue3' -export { ChannelVideo } from '@tarojs/components/lib/vue3' -export { Checkbox, CheckboxGroup } from '@tarojs/components/lib/vue3' -export { CommentDetail, CommentList } from '@tarojs/components/lib/vue3' -export { ContactButton } from '@tarojs/components/lib/vue3' -export { CoverImage } from '@tarojs/components/lib/vue3' -export { CoverView } from '@tarojs/components/lib/vue3' -export { CustomWrapper } from '@tarojs/components/lib/vue3' -export { Editor } from '@tarojs/components/lib/vue3' -export { FollowSwan } from '@tarojs/components/lib/vue3' -export { Form } from '@tarojs/components/lib/vue3' -export { FunctionalPageNavigator } from '@tarojs/components/lib/vue3' -export { Icon } from '@tarojs/components/lib/vue3' -export { Image } from '@tarojs/components/lib/vue3' -export { InlinePaymentPanel } from '@tarojs/components/lib/vue3' -export { Input } from '@tarojs/components/lib/vue3' -export { KeyboardAccessory } from '@tarojs/components/lib/vue3' -export { Label } from '@tarojs/components/lib/vue3' +export { Ad } from '@tarojs/components-library-vue3' +export { AdCustom } from '@tarojs/components-library-vue3' +export { AnimationVideo } from '@tarojs/components-library-vue3' +export { AnimationView } from '@tarojs/components-library-vue3' +export { ArCamera } from '@tarojs/components-library-vue3' +export { Audio } from '@tarojs/components-library-vue3' +export { AwemeData } from '@tarojs/components-library-vue3' +export { Block } from '@tarojs/components-library-vue3' +export { Button } from '@tarojs/components-library-vue3' +export { Camera } from '@tarojs/components-library-vue3' +export { Canvas } from '@tarojs/components-library-vue3' +export { ChannelLive } from '@tarojs/components-library-vue3' +export { ChannelVideo } from '@tarojs/components-library-vue3' +export { Checkbox, CheckboxGroup } from '@tarojs/components-library-vue3' +export { CommentDetail, CommentList } from '@tarojs/components-library-vue3' +export { ContactButton } from '@tarojs/components-library-vue3' +export { CoverImage } from '@tarojs/components-library-vue3' +export { CoverView } from '@tarojs/components-library-vue3' +export { CustomWrapper } from '@tarojs/components-library-vue3' +export { Editor } from '@tarojs/components-library-vue3' +export { FollowSwan } from '@tarojs/components-library-vue3' +export { Form } from '@tarojs/components-library-vue3' +export { FunctionalPageNavigator } from '@tarojs/components-library-vue3' +export { Icon } from '@tarojs/components-library-vue3' +export { Image } from '@tarojs/components-library-vue3' +export { InlinePaymentPanel } from '@tarojs/components-library-vue3' +export { Input } from '@tarojs/components-library-vue3' +export { KeyboardAccessory } from '@tarojs/components-library-vue3' +export { Label } from '@tarojs/components-library-vue3' // export { Label } from './components/label/label' -export { Lifestyle } from '@tarojs/components/lib/vue3' -export { Like } from '@tarojs/components/lib/vue3' -export { LivePlayer } from '@tarojs/components/lib/vue3' -export { LivePusher } from '@tarojs/components/lib/vue3' -export { Login } from '@tarojs/components/lib/vue3' -export { Lottie } from '@tarojs/components/lib/vue3' -export { Map } from '@tarojs/components/lib/vue3' -export { MovableArea, MovableView } from '@tarojs/components/lib/vue3' -export { NavigationBar } from '@tarojs/components/lib/vue3' -export { Navigator } from '@tarojs/components/lib/vue3' -export { OfficialAccount } from '@tarojs/components/lib/vue3' -export { OpenData } from '@tarojs/components/lib/vue3' -export { PageMeta } from '@tarojs/components/lib/vue3' -export { Picker } from '@tarojs/components/lib/vue3' -export { PickerView, PickerViewColumn } from '@tarojs/components/lib/vue3' -export { Progress } from '@tarojs/components/lib/vue3' -export { PullToRefresh } from '@tarojs/components/lib/vue3' -export { Radio, RadioGroup } from '@tarojs/components/lib/vue3' -export { RichText } from '@tarojs/components/lib/vue3' -export { RtcRoom, RtcRoomItem } from '@tarojs/components/lib/vue3' -export { ScrollView } from '@tarojs/components/lib/vue3' -export { ShareElement } from '@tarojs/components/lib/vue3' -export { Slider } from '@tarojs/components/lib/vue3' -export { NativeSlot, Slot } from '@tarojs/components/lib/vue3' -export { Swiper, SwiperItem } from '@tarojs/components/lib/vue3' -export { Switch } from '@tarojs/components/lib/vue3' -// export { Tabbar, TabItem } from '@tarojs/components/lib/vue3' -export { Tabs } from '@tarojs/components/lib/vue3' -export { Text } from '@tarojs/components/lib/vue3' -export { Textarea } from '@tarojs/components/lib/vue3' -export { Video } from '@tarojs/components/lib/vue3' -export { View } from '@tarojs/components/lib/vue3' -export { VoipRoom } from '@tarojs/components/lib/vue3' -export { WebView } from '@tarojs/components/lib/vue3' +export { Lifestyle } from '@tarojs/components-library-vue3' +export { Like } from '@tarojs/components-library-vue3' +export { LivePlayer } from '@tarojs/components-library-vue3' +export { LivePusher } from '@tarojs/components-library-vue3' +export { Login } from '@tarojs/components-library-vue3' +export { Lottie } from '@tarojs/components-library-vue3' +export { Map } from '@tarojs/components-library-vue3' +export { MovableArea, MovableView } from '@tarojs/components-library-vue3' +export { NavigationBar } from '@tarojs/components-library-vue3' +export { Navigator } from '@tarojs/components-library-vue3' +export { OfficialAccount } from '@tarojs/components-library-vue3' +export { OpenData } from '@tarojs/components-library-vue3' +export { PageMeta } from '@tarojs/components-library-vue3' +export { Picker } from '@tarojs/components-library-vue3' +export { PickerView, PickerViewColumn } from '@tarojs/components-library-vue3' +export { Progress } from '@tarojs/components-library-vue3' +export { PullToRefresh } from '@tarojs/components-library-vue3' +export { Radio, RadioGroup } from '@tarojs/components-library-vue3' +export { RichText } from '@tarojs/components-library-vue3' +export { RtcRoom, RtcRoomItem } from '@tarojs/components-library-vue3' +export { ScrollView } from '@tarojs/components-library-vue3' +export { ShareElement } from '@tarojs/components-library-vue3' +export { Slider } from '@tarojs/components-library-vue3' +export { NativeSlot, Slot } from '@tarojs/components-library-vue3' +export { Swiper, SwiperItem } from '@tarojs/components-library-vue3' +export { Switch } from '@tarojs/components-library-vue3' +// export { Tabbar, TabItem } from '@tarojs/components-library-vue3' +export { Tabs } from '@tarojs/components-library-vue3' +export { Text } from '@tarojs/components-library-vue3' +export { Textarea } from '@tarojs/components-library-vue3' +export { Video } from '@tarojs/components-library-vue3' +export { View } from '@tarojs/components-library-vue3' +export { VoipRoom } from '@tarojs/components-library-vue3' +export { WebView } from '@tarojs/components-library-vue3' // export * from './components/block/block' // export * from './components/grid/grid' // export * from './components/root-portal/root-portal' @@ -73,11 +72,11 @@ export { WebView } from '@tarojs/components/lib/vue3' // export { MatchMedia } from './components/match-media/match-media' // export { default as PageContainer } from './components/page-container/page-container' export { - StickyHeader, - StickySection, - RootPortal, GridView, ListView, MatchMedia, PageContainer, -} from '@tarojs/components/lib/vue3' + RootPortal, + StickyHeader, + StickySection, +} from '@tarojs/components-library-vue3' diff --git a/packages/taro-platform-harmony-hybrid/src/program.ts b/packages/taro-platform-harmony-hybrid/src/program.ts index a6f4cc02e6b9..f0e49a67be0b 100644 --- a/packages/taro-platform-harmony-hybrid/src/program.ts +++ b/packages/taro-platform-harmony-hybrid/src/program.ts @@ -1,5 +1,3 @@ -import path from 'node:path' - import { TaroPlatformWeb } from '@tarojs/service' import { resolveSync } from './resolve' @@ -48,14 +46,22 @@ export default class H5 extends TaroPlatformWeb { if (this.useHtmlComponents && this.aliasFramework === 'react') { return require.resolve('./runtime/components') } else if (this.useDeprecatedAdapterComponent) { - return require.resolve(`@tarojs/components/lib/${this.aliasFramework}/component-lib`) + return require.resolve(`@tarojs/components-library-${this.aliasFramework}/component-lib`) } else { return require.resolve(`@tarojs/plugin-platform-harmony-hybrid/dist/components/${this.aliasFramework}`) } } - get componentAdapter () { - return path.join(path.dirname(require.resolve('@tarojs/components')), '..', 'lib') + get componentAdapterReact () { + return require.resolve(`@tarojs/components-library-react`) + } + + get componentAdapterSolid () { + return require.resolve(`@tarojs/components-library-solid`) + } + + get componentAdapterVue3 () { + return require.resolve(`@tarojs/components-library-vue3`) } get routerLibrary () { @@ -94,7 +100,9 @@ export default class H5 extends TaroPlatformWeb { const alias = chain.resolve.alias // TODO 考虑集成到 taroComponentsPath 中,与小程序端对齐 alias.set('@tarojs/components$', this.componentLibrary) - alias.set('@tarojs/components/lib', this.componentAdapter) + alias.set('@tarojs/components-library-react$', this.componentAdapterReact) + alias.set('@tarojs/components-library-solid$', this.componentAdapterSolid) + alias.set('@tarojs/components-library-vue3$', this.componentAdapterVue3) alias.set('@tarojs/router$', this.routerLibrary) alias.set('@tarojs/taro', this.apiLibrary) chain.plugin('mainPlugin').tap((args) => { @@ -116,7 +124,7 @@ export default class H5 extends TaroPlatformWeb { switch (this.framework) { case 'vue3': - args[0].loaderMeta.extraImportForWeb += `import { initVue3Components } from '@tarojs/components/lib/vue3/components-loader'\nimport * as list from '@tarojs/components'\n` + args[0].loaderMeta.extraImportForWeb += `import { initVue3Components } from '@tarojs/components-library-vue3/dist/components-loader'\nimport * as list from '@tarojs/components'\n` args[0].loaderMeta.execBeforeCreateWebApp += `initVue3Components(component, list)\n` break default: @@ -130,7 +138,7 @@ export default class H5 extends TaroPlatformWeb { return args }) - // 修改htmlWebpackPlugin插件的script脚本 + // 修改 htmlWebpackPlugin 插件的 script 脚本 chain.plugin('htmlWebpackPlugin').tap((args) => { const options = this.config?.postcss?.pxtransform?.config || {} // const max = options?.maxRootSize ?? 40 @@ -144,8 +152,8 @@ export default class H5 extends TaroPlatformWeb { if ((this.config?.targetUnit ?? 'rem') === 'rem') { /** * 缩放策略为: - * 1. 手机-竖屏,缩放策略为“自动缩放” - * 2. 折叠屏、Pad竖屏,缩放策略为“依据设计尺寸,大小不变” + * 1. 手机 - 竖屏,缩放策略为“自动缩放” + * 2. 折叠屏、Pad 竖屏,缩放策略为“依据设计尺寸,大小不变” * 3. Pad(模屏)、2in1(默认),缩放策略为“依据设计尺寸,大小不变” * 4. 2in1(全屏),缩放策略为“依据设计尺寸,大小不变” */ @@ -155,7 +163,7 @@ export default class H5 extends TaroPlatformWeb { return args }) - // 修改h5平台的rule的正则表达式 + // 修改 h5 平台的 rule 的正则表达式 chain.module .rule('process-import-taro-h5') .test(/(plugin|taro)-platform-harmony-hybrid[\\/]dist[\\/]api[\\/]apis[\\/]taro/) diff --git a/packages/taro-platform-harmony-hybrid/types/component.d.ts b/packages/taro-platform-harmony-hybrid/types/component.d.ts index 08adf62ca2f7..ec27f945986c 100644 --- a/packages/taro-platform-harmony-hybrid/types/component.d.ts +++ b/packages/taro-platform-harmony-hybrid/types/component.d.ts @@ -5,10 +5,10 @@ declare module '@tarojs/components/dist/components' { export * from '@tarojs/components/dist/components' } -declare module '@tarojs/components/lib/vue3' { +declare module '@tarojs/components-library-vue3' { export * from '@tarojs/components' } -declare module '@tarojs/components/lib/react' { +declare module '@tarojs/components-library-react' { export * from '@tarojs/components' } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b4e4eca0739f..2e3916e62531 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -928,6 +928,12 @@ importers: '@tarojs/components': specifier: workspace:* version: link:../taro-components + '@tarojs/components-library-react': + specifier: workspace:* + version: link:../taro-components-library-react + '@tarojs/components-library-solid': + specifier: workspace:* + version: link:../taro-components-library-solid '@tarojs/shared': specifier: workspace:* version: link:../shared @@ -1424,6 +1430,15 @@ importers: '@tarojs/components': specifier: workspace:* version: link:../taro-components + '@tarojs/components-library-react': + specifier: workspace:* + version: link:../taro-components-library-react + '@tarojs/components-library-solid': + specifier: workspace:* + version: link:../taro-components-library-solid + '@tarojs/components-library-vue3': + specifier: workspace:* + version: link:../taro-components-library-vue3 '@tarojs/components-react': specifier: workspace:* version: link:../taro-components-react @@ -1640,6 +1655,15 @@ importers: '@tarojs/components': specifier: workspace:* version: link:../taro-components + '@tarojs/components-library-react': + specifier: workspace:* + version: link:../taro-components-library-react + '@tarojs/components-library-solid': + specifier: workspace:* + version: link:../taro-components-library-solid + '@tarojs/components-library-vue3': + specifier: workspace:* + version: link:../taro-components-library-vue3 '@tarojs/components-react': specifier: workspace:* version: link:../taro-components-react diff --git a/tests/__tests__/utils/compiler.ts b/tests/__tests__/utils/compiler.ts index 02ee430b2ff7..32f25d960098 100644 --- a/tests/__tests__/utils/compiler.ts +++ b/tests/__tests__/utils/compiler.ts @@ -57,8 +57,8 @@ export async function compile