diff --git a/.github/workflows/pkg-pr-new.yml b/.github/workflows/pkg-pr-new.yml index 3d40caae18..3250cdc6c3 100644 --- a/.github/workflows/pkg-pr-new.yml +++ b/.github/workflows/pkg-pr-new.yml @@ -7,7 +7,7 @@ on: jobs: build: - if: ${{ github.repository == 'Tencent/tdesign-react' && !startsWith(github.head_ref, 'release/')}} + if: ${{ github.repository == 'Tencent/tdesign-react' }} runs-on: ubuntu-latest steps: @@ -25,6 +25,18 @@ jobs: - run: pnpm exec run-p build build:aigc - - run: node ./script/workflows/pkg-pr-new-generate-template.mjs + - run: | + mkdir templates && cd templates + pnpm dlx https://pkg.pr.new/TDesignOteam/create-tdesign@main react-vite --template react-vite - - run: pnpm dlx pkg-pr-new publish './packages/tdesign-react' './packages/tdesign-react-aigc' --template ./tdesign-react-demo + pnpm dlx https://pkg.pr.new/TDesignOteam/create-tdesign@main react-rspack --template react-rspack + + pnpm dlx https://pkg.pr.new/TDesignOteam/create-tdesign@main react-vike --template react-vike + + pnpm dlx https://pkg.pr.new/TDesignOteam/create-tdesign@main react-chat-vite --template react-chat-vite + + pnpm dlx https://pkg.pr.new/TDesignOteam/create-tdesign@main react-chat-rspack --template react-chat-rspack + + pnpm dlx https://pkg.pr.new/TDesignOteam/create-tdesign@main react-chat-vike --template react-chat-vike + + - run: pnpm dlx pkg-pr-new publish './packages/*' --template './templates/*' diff --git a/script/workflows/pkg-pr-new-generate-template.mjs b/script/workflows/pkg-pr-new-generate-template.mjs deleted file mode 100644 index e672410b9a..0000000000 --- a/script/workflows/pkg-pr-new-generate-template.mjs +++ /dev/null @@ -1,93 +0,0 @@ -import { execSync } from 'child_process'; -import { join } from 'path'; -import { rmSync, writeFileSync, readFileSync, existsSync } from 'fs'; - -// 常量定义 -const PROJECT_NAME = 'tdesign-react-demo'; - -// 文件模板 -const TEMPLATES = { - MAIN_TSX: ` -import React from 'react'; -import ReactDOM from 'react-dom/client'; -import { ConfigProvider } from 'tdesign-react'; -import zh_CN from 'tdesign-react/es/locale/zh_CN'; -import App from './App'; -import 'tdesign-react/es/style/index.css'; - -ReactDOM.createRoot(document.getElementById('root')!).render( - - - - - -); - `, - APP_TSX: ` -import React from 'react'; -import Demo from './Demo'; - -export default () => ; - `, - DEMO_TSX: ` -import React from 'react'; -import { Button } from 'tdesign-react'; - -export default () => ; - `, - VITE_CONFIG_TS: ` -import { defineConfig } from 'vite'; -import react from '@vitejs/plugin-react'; - -export default defineConfig({ - plugins: [react()], -}); - `, -}; - -// 构建示例项目 -function buildExample(projectName, extraDeps = {}) { - execSync(`pnpm create vite@7 ${projectName} --template react-ts`, { stdio: 'inherit' }); - - const projectPath = join(process.cwd(), projectName); - const paths = { - main: join(projectPath, 'src/main.tsx'), - app: join(projectPath, 'src/App.tsx'), - demo: join(projectPath, 'src/Demo.tsx'), - packageJson: join(projectPath, 'package.json'), - appCSS: join(projectPath, 'src/App.css'), - indexCSS: join(projectPath, 'src/index.css'), - viteConfig: join(projectPath, 'vite.config.ts'), - }; - - // 更新 package.json - const pkg = JSON.parse(readFileSync(paths.packageJson, 'utf8')); - pkg.dependencies = { - ...pkg.dependencies, - 'tdesign-react': 'latest', - 'tdesign-icons-react': 'latest', - ...extraDeps, - }; - - writeFileSync(paths.packageJson, JSON.stringify(pkg, null, 2)); - - // 删除默认样式文件 - [paths.appCSS, paths.indexCSS].forEach((path) => { - if (existsSync(path)) rmSync(path); - }); - - // 写入示例代码 - writeFileSync(paths.main, TEMPLATES.MAIN_TSX.trim()); - writeFileSync(paths.app, TEMPLATES.APP_TSX.trim()); - writeFileSync(paths.demo, TEMPLATES.DEMO_TSX.trim()); - writeFileSync(paths.viteConfig, TEMPLATES.VITE_CONFIG_TS.trim()); -} - -try { - buildExample(PROJECT_NAME, { - '@vitejs/plugin-react': 'latest', - }); -} catch (error) { - console.error('构建过程中发生错误:', error); - process.exit(1); -}