diff --git a/packages/css/scripts/gen-index.ts b/packages/css/scripts/gen-index.ts index c685295..ffe64b1 100644 --- a/packages/css/scripts/gen-index.ts +++ b/packages/css/scripts/gen-index.ts @@ -210,12 +210,7 @@ function generateExports(dirPath: string, config: Config): string[] { return exports; } -function genIndexFile(config: Config) { - // 确保输出目录存在,如果不存在就递归创建 - if (!fs.existsSync(config.outputDir)) { - fs.mkdirSync(config.outputDir, { recursive: true }); - } - +async function genIndexFile(config: Config) { const allExports: string[] = []; // 遍历所有需要扫描的根目录 @@ -235,6 +230,11 @@ function genIndexFile(config: Config) { ...Array.from(new Set(allExports)), ].join("\n"); + // 写入之前,确保输出目录存在,如果不存在就递归创建 + if (!fs.existsSync(config.outputDir)) { + fs.mkdirSync(config.outputDir, { recursive: true }); + } + // 将内容写入到最终的 index.ts 文件中 const outputFilePath = path.join(config.outputDir, config.outputFile); fs.writeFileSync(outputFilePath, fileContent, "utf-8"); @@ -245,8 +245,8 @@ function genIndexFile(config: Config) { // ================= 脚本执行入口 ================= try { console.log("🚀 开始扫描并生成入口文件..."); - genIndexFile(tsConfig); - genIndexFile(cssConfig); + await genIndexFile(cssConfig); + await genIndexFile(tsConfig); console.log("✅ 脚本执行完毕!"); } catch (error) { console.error("❌ 脚本执行失败:", error); diff --git a/packages/css/src/index.css b/packages/css/src/index.css index afdf9b2..e17c1b6 100644 --- a/packages/css/src/index.css +++ b/packages/css/src/index.css @@ -1,36 +1,36 @@ -@import './styles/base/root'; -@import './styles/utility/size-insensitive/align-content'; -@import './styles/utility/size-insensitive/align-items'; -@import './styles/utility/size-insensitive/align-self'; -@import './styles/utility/size-insensitive/animation'; -@import './styles/utility/size-insensitive/box-decoration'; -@import './styles/utility/size-insensitive/box-inside'; -@import './styles/utility/size-insensitive/box-sizing'; -@import './styles/utility/size-insensitive/brand'; -@import './styles/utility/size-insensitive/break-after'; -@import './styles/utility/size-insensitive/break-before'; -@import './styles/utility/size-insensitive/cursor'; -@import './styles/utility/size-insensitive/display'; -@import './styles/utility/size-insensitive/drop-shadow'; -@import './styles/utility/size-insensitive/flex-direction'; -@import './styles/utility/size-insensitive/flex-wrap'; -@import './styles/utility/size-insensitive/font-family'; -@import './styles/utility/size-insensitive/justify-content'; -@import './styles/utility/size-insensitive/justify-items'; -@import './styles/utility/size-insensitive/justify-self'; -@import './styles/utility/size-insensitive/overflow'; -@import './styles/utility/size-insensitive/overscroll-behavior'; -@import './styles/utility/size-insensitive/position'; -@import './styles/utility/size-insensitive/screen-reader'; -@import './styles/utility/size-insensitive/theme'; -@import './styles/utility/size-insensitive/user-select'; -@import './styles/utility/size-insensitive/variant'; -@import './styles/utility/size-insensitive/z-index'; -@import './styles/utility/size-sensitive/border-radius'; -@import './styles/utility/size-sensitive/font-size'; -@import './styles/utility/size-sensitive/font-weight'; -@import './styles/utility/size-sensitive/gap'; -@import './styles/utility/size-sensitive/height'; -@import './styles/utility/size-sensitive/margin'; -@import './styles/utility/size-sensitive/padding'; -@import './styles/utility/size-sensitive/width'; \ No newline at end of file +@import "./styles/base/root"; +@import "./styles/utility/size-insensitive/align-content"; +@import "./styles/utility/size-insensitive/align-items"; +@import "./styles/utility/size-insensitive/align-self"; +@import "./styles/utility/size-insensitive/animation"; +@import "./styles/utility/size-insensitive/box-decoration"; +@import "./styles/utility/size-insensitive/box-inside"; +@import "./styles/utility/size-insensitive/box-sizing"; +@import "./styles/utility/size-insensitive/brand"; +@import "./styles/utility/size-insensitive/break-after"; +@import "./styles/utility/size-insensitive/break-before"; +@import "./styles/utility/size-insensitive/cursor"; +@import "./styles/utility/size-insensitive/display"; +@import "./styles/utility/size-insensitive/drop-shadow"; +@import "./styles/utility/size-insensitive/flex-direction"; +@import "./styles/utility/size-insensitive/flex-wrap"; +@import "./styles/utility/size-insensitive/font-family"; +@import "./styles/utility/size-insensitive/justify-content"; +@import "./styles/utility/size-insensitive/justify-items"; +@import "./styles/utility/size-insensitive/justify-self"; +@import "./styles/utility/size-insensitive/overflow"; +@import "./styles/utility/size-insensitive/overscroll-behavior"; +@import "./styles/utility/size-insensitive/position"; +@import "./styles/utility/size-insensitive/screen-reader"; +@import "./styles/utility/size-insensitive/theme"; +@import "./styles/utility/size-insensitive/user-select"; +@import "./styles/utility/size-insensitive/variant"; +@import "./styles/utility/size-insensitive/z-index"; +@import "./styles/utility/size-sensitive/border-radius"; +@import "./styles/utility/size-sensitive/font-size"; +@import "./styles/utility/size-sensitive/font-weight"; +@import "./styles/utility/size-sensitive/gap"; +@import "./styles/utility/size-sensitive/height"; +@import "./styles/utility/size-sensitive/margin"; +@import "./styles/utility/size-sensitive/padding"; +@import "./styles/utility/size-sensitive/width"; diff --git a/packages/css/src/index.ts b/packages/css/src/index.ts index 141acb2..271cdb6 100644 --- a/packages/css/src/index.ts +++ b/packages/css/src/index.ts @@ -1,7 +1,7 @@ -import './index.css'; -export * from './recipes/brandRecipe'; -export * from './recipes/inlineSizeRecipe'; -export * from './recipes/itemSizeRecipe'; -export * from './recipes/variantRecipe'; -export * from './styles/utils/cpm'; -export * from './styles/utils/cvr'; \ No newline at end of file +import "./index.css"; +export * from "./recipes/brandRecipe"; +export * from "./recipes/inlineSizeRecipe"; +export * from "./recipes/itemSizeRecipe"; +export * from "./recipes/variantRecipe"; +export * from "./styles/utils/cpm"; +export * from "./styles/utils/cvr"; diff --git a/packages/ui-react/scripts/gen-index.ts b/packages/ui-react/scripts/gen-index.ts index c685295..ffe64b1 100644 --- a/packages/ui-react/scripts/gen-index.ts +++ b/packages/ui-react/scripts/gen-index.ts @@ -210,12 +210,7 @@ function generateExports(dirPath: string, config: Config): string[] { return exports; } -function genIndexFile(config: Config) { - // 确保输出目录存在,如果不存在就递归创建 - if (!fs.existsSync(config.outputDir)) { - fs.mkdirSync(config.outputDir, { recursive: true }); - } - +async function genIndexFile(config: Config) { const allExports: string[] = []; // 遍历所有需要扫描的根目录 @@ -235,6 +230,11 @@ function genIndexFile(config: Config) { ...Array.from(new Set(allExports)), ].join("\n"); + // 写入之前,确保输出目录存在,如果不存在就递归创建 + if (!fs.existsSync(config.outputDir)) { + fs.mkdirSync(config.outputDir, { recursive: true }); + } + // 将内容写入到最终的 index.ts 文件中 const outputFilePath = path.join(config.outputDir, config.outputFile); fs.writeFileSync(outputFilePath, fileContent, "utf-8"); @@ -245,8 +245,8 @@ function genIndexFile(config: Config) { // ================= 脚本执行入口 ================= try { console.log("🚀 开始扫描并生成入口文件..."); - genIndexFile(tsConfig); - genIndexFile(cssConfig); + await genIndexFile(cssConfig); + await genIndexFile(tsConfig); console.log("✅ 脚本执行完毕!"); } catch (error) { console.error("❌ 脚本执行失败:", error); diff --git a/packages/ui-react/src/index.css b/packages/ui-react/src/index.css deleted file mode 100644 index e69de29..0000000 diff --git a/packages/ui-react/src/index.ts b/packages/ui-react/src/index.ts index e7ccd3d..7f9f795 100644 --- a/packages/ui-react/src/index.ts +++ b/packages/ui-react/src/index.ts @@ -1,29 +1,29 @@ -import './index.css'; -export * from './assets/svg/BoldSvg'; -export * from './assets/svg/CheckIndicatorSvg'; -export * from './assets/svg/ChevronRightSvg'; -export * from './assets/svg/CutSvg'; -export * from './assets/svg/DownloadSvg'; -export * from './assets/svg/FileSvg'; -export * from './assets/svg/KeySvg'; -export * from './assets/svg/MeshSvg'; -export * from './assets/svg/MoonSvg'; -export * from './assets/svg/PasteSvg'; -export * from './assets/svg/Ruler'; -export * from './assets/svg/SearchSvg'; -export * from './assets/svg/SettingSvg'; -export * from './assets/svg/SpinnerSvg'; -export * from './assets/svg/SunSvg'; -export * from './assets/svg/UserSvg'; -export * from './assets/svg/VolumeHighSvg'; -export * from './assets/svg/VolumeLowSvg'; -export * from './assets/svg/VolumeMuteSvg'; -export * from './componnets/button/index'; -export * from './componnets/button/ButtonIcon'; -export * from './componnets/button/ButtonLoading'; -export * from './componnets/button/ButtonRoot'; -export * from './componnets/button/common/ButtonContext'; -export * from './utils/mergeProps'; -export * from './utils/Slot'; -export * from './utils/useDefaultedProps'; -export * from './utils/useSlotRegistry'; \ No newline at end of file +import "./index.css"; +export * from "./assets/svg/BoldSvg"; +export * from "./assets/svg/CheckIndicatorSvg"; +export * from "./assets/svg/ChevronRightSvg"; +export * from "./assets/svg/CutSvg"; +export * from "./assets/svg/DownloadSvg"; +export * from "./assets/svg/FileSvg"; +export * from "./assets/svg/KeySvg"; +export * from "./assets/svg/MeshSvg"; +export * from "./assets/svg/MoonSvg"; +export * from "./assets/svg/PasteSvg"; +export * from "./assets/svg/Ruler"; +export * from "./assets/svg/SearchSvg"; +export * from "./assets/svg/SettingSvg"; +export * from "./assets/svg/SpinnerSvg"; +export * from "./assets/svg/SunSvg"; +export * from "./assets/svg/UserSvg"; +export * from "./assets/svg/VolumeHighSvg"; +export * from "./assets/svg/VolumeLowSvg"; +export * from "./assets/svg/VolumeMuteSvg"; +export * from "./componnets/button/index"; +export * from "./componnets/button/ButtonIcon"; +export * from "./componnets/button/ButtonLoading"; +export * from "./componnets/button/ButtonRoot"; +export * from "./componnets/button/common/ButtonContext"; +export * from "./utils/mergeProps"; +export * from "./utils/Slot"; +export * from "./utils/useDefaultedProps"; +export * from "./utils/useSlotRegistry"; diff --git a/playground/ui-gallery/src/gallery/ButtonGallery.tsx b/playground/ui-gallery/src/gallery/ButtonGallery.tsx index 14fe531..0f594d6 100644 --- a/playground/ui-gallery/src/gallery/ButtonGallery.tsx +++ b/playground/ui-gallery/src/gallery/ButtonGallery.tsx @@ -6,11 +6,57 @@ export const ButtonGallery = () => { return ( - + XSmall + - Default + XSmall + + + XSmall + + // ============================================== + Small + + + + + Small + + + + + + Small + + // ============================================== + Medium + + + + + Medium + + + + + + Medium + + // ============================================== + Large + + + + + Large + + + + + + Large diff --git a/templates/vite-react-lib/scripts/gen-index.ts b/templates/vite-react-lib/scripts/gen-index.ts index c685295..ffe64b1 100644 --- a/templates/vite-react-lib/scripts/gen-index.ts +++ b/templates/vite-react-lib/scripts/gen-index.ts @@ -210,12 +210,7 @@ function generateExports(dirPath: string, config: Config): string[] { return exports; } -function genIndexFile(config: Config) { - // 确保输出目录存在,如果不存在就递归创建 - if (!fs.existsSync(config.outputDir)) { - fs.mkdirSync(config.outputDir, { recursive: true }); - } - +async function genIndexFile(config: Config) { const allExports: string[] = []; // 遍历所有需要扫描的根目录 @@ -235,6 +230,11 @@ function genIndexFile(config: Config) { ...Array.from(new Set(allExports)), ].join("\n"); + // 写入之前,确保输出目录存在,如果不存在就递归创建 + if (!fs.existsSync(config.outputDir)) { + fs.mkdirSync(config.outputDir, { recursive: true }); + } + // 将内容写入到最终的 index.ts 文件中 const outputFilePath = path.join(config.outputDir, config.outputFile); fs.writeFileSync(outputFilePath, fileContent, "utf-8"); @@ -245,8 +245,8 @@ function genIndexFile(config: Config) { // ================= 脚本执行入口 ================= try { console.log("🚀 开始扫描并生成入口文件..."); - genIndexFile(tsConfig); - genIndexFile(cssConfig); + await genIndexFile(cssConfig); + await genIndexFile(tsConfig); console.log("✅ 脚本执行完毕!"); } catch (error) { console.error("❌ 脚本执行失败:", error);