From a488b09eb66504fdc0ef9cd290e9ce6986548160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E4=BA=9A=E6=98=95?= <1549469775@qq.com> Date: Fri, 14 Feb 2025 17:34:08 +0800 Subject: [PATCH] fix bug --- package.json | 2 +- packages/.vitepress/plugins/markdownTransform.ts | 2 +- packages/.vitepress/theme/index.js | 2 +- packages/browser/src/check/docs/index.md | 4 +--- packages/browser/src/check/docs/index.vue | 10 ++++++++++ packages/browser/src/event/docs/index.md | 2 +- packages/browser/src/event/docs/index.vue | 10 ++++++++++ packages/browser/src/scrollTo/docs/index.md | 4 +--- packages/browser/src/scrollTo/docs/index.vue | 10 ++++++++++ packages/core/src/common/index.ts | 1 + .../core/src/common/padLeftZero/__tests__/index.ts | 20 ++++++++++++++++++++ packages/core/src/common/padLeftZero/index.ts | 13 +++++++++++++ packages/core/src/date/format/index.ts | 8 ++------ packages/core/src/debounce/index.ts | 3 ++- packages/core/src/index.ts | 1 + .../src/hook/createContextComponent/docs/index.md | 2 +- .../src/hook/createContextComponent/docs/index.vue | 10 ++++++++++ packages/vue3/src/hook/echarts/docs/index.md | 4 +--- packages/vue3/src/hook/echarts/docs/index.vue | 10 ++++++++++ packages/vue3/src/hook/useCallDelay/docs/index.md | 2 +- packages/vue3/src/hook/useCallDelay/docs/index.vue | 8 ++++++++ packages/vue3/src/hook/useCherry/docs/index.vue | 8 ++++++++ packages/xyx-utils/src/README.md | 2 -- scripts/build-one.mts | 14 ++++++++++++-- scripts/test.mts | 11 +++++++++++ 25 files changed, 137 insertions(+), 26 deletions(-) create mode 100644 packages/browser/src/check/docs/index.vue create mode 100644 packages/browser/src/event/docs/index.vue create mode 100644 packages/browser/src/scrollTo/docs/index.vue create mode 100644 packages/core/src/common/index.ts create mode 100644 packages/core/src/common/padLeftZero/__tests__/index.ts create mode 100644 packages/core/src/common/padLeftZero/index.ts create mode 100644 packages/vue3/src/hook/createContextComponent/docs/index.vue create mode 100644 packages/vue3/src/hook/echarts/docs/index.vue create mode 100644 packages/vue3/src/hook/useCallDelay/docs/index.vue create mode 100644 packages/vue3/src/hook/useCherry/docs/index.vue create mode 100644 scripts/test.mts diff --git a/package.json b/package.json index 28354f6..2688e69 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "docs:dev": "vitepress dev packages", "docs:build": "vitepress build packages", "docs:serve": "vitepress serve packages", - "test": "vitest", + "test": "tsx scripts/test.mts", "test:ui": "vitest --ui", "coverage": "vitest run --coverage" }, diff --git a/packages/.vitepress/plugins/markdownTransform.ts b/packages/.vitepress/plugins/markdownTransform.ts index a52ac2e..132249d 100644 --- a/packages/.vitepress/plugins/markdownTransform.ts +++ b/packages/.vitepress/plugins/markdownTransform.ts @@ -21,7 +21,7 @@ export function MarkdownTransform(): any { const { data, content } = matter if (data.category) { - code = grayMatter.stringify(`${data.category ? `分类:\`${data.category}\`` : ''}` + content, data) + code = grayMatter.stringify(`${data.category ? `分类:\`${data.category}\`` : ''} \n\n ` + content, data) } let source = "" diff --git a/packages/.vitepress/theme/index.js b/packages/.vitepress/theme/index.js index b65473d..fefb47b 100644 --- a/packages/.vitepress/theme/index.js +++ b/packages/.vitepress/theme/index.js @@ -9,7 +9,7 @@ export default { ...DefaultTheme, enhanceApp ({ app, router, siteData }) { app.use(naive) - app.component('demo-preview', NaiveUIContainer) + app.component('demo-preview', h(NaiveUIContainer)) }, Layout () { return h(DefaultTheme.Layout, null, { diff --git a/packages/browser/src/check/docs/index.md b/packages/browser/src/check/docs/index.md index 235857d..76cac30 100644 --- a/packages/browser/src/check/docs/index.md +++ b/packages/browser/src/check/docs/index.md @@ -7,6 +7,4 @@ title: 平台检测 ## Demo - - - \ No newline at end of file + \ No newline at end of file diff --git a/packages/browser/src/check/docs/index.vue b/packages/browser/src/check/docs/index.vue new file mode 100644 index 0000000..3247bc0 --- /dev/null +++ b/packages/browser/src/check/docs/index.vue @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/packages/browser/src/event/docs/index.md b/packages/browser/src/event/docs/index.md index ccb6b79..d63125c 100644 --- a/packages/browser/src/event/docs/index.md +++ b/packages/browser/src/event/docs/index.md @@ -4,7 +4,7 @@ title: 事件绑定 ## Demo - + ## on diff --git a/packages/browser/src/event/docs/index.vue b/packages/browser/src/event/docs/index.vue new file mode 100644 index 0000000..3247bc0 --- /dev/null +++ b/packages/browser/src/event/docs/index.vue @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/packages/browser/src/scrollTo/docs/index.md b/packages/browser/src/scrollTo/docs/index.md index 1548f9f..428d387 100644 --- a/packages/browser/src/scrollTo/docs/index.md +++ b/packages/browser/src/scrollTo/docs/index.md @@ -4,9 +4,7 @@ title: 滚动位置 ## Demo - - - + ## 2000px高的空文档 diff --git a/packages/browser/src/scrollTo/docs/index.vue b/packages/browser/src/scrollTo/docs/index.vue new file mode 100644 index 0000000..3247bc0 --- /dev/null +++ b/packages/browser/src/scrollTo/docs/index.vue @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/packages/core/src/common/index.ts b/packages/core/src/common/index.ts new file mode 100644 index 0000000..f3b4d6c --- /dev/null +++ b/packages/core/src/common/index.ts @@ -0,0 +1 @@ +export * from "./padLeftZero"; diff --git a/packages/core/src/common/padLeftZero/__tests__/index.ts b/packages/core/src/common/padLeftZero/__tests__/index.ts new file mode 100644 index 0000000..5b72133 --- /dev/null +++ b/packages/core/src/common/padLeftZero/__tests__/index.ts @@ -0,0 +1,20 @@ +import { padLeftZero } from "../index"; + +describe("padLeftZero", async () => { + it("常规补0", async () => { + const str = "aa"; + expect(padLeftZero(str, 3)).toStrictEqual("0aa"); + }); + it("超出长度", async () => { + const str = "aaaaaa"; + expect(padLeftZero(str, 3)).toStrictEqual("aaaaaa"); + }); + it("长度相等", async () => { + const str = "aaa"; + expect(padLeftZero(str, 3)).toStrictEqual("aaa"); + }); + it("空字符串", async () => { + const str = ""; + expect(padLeftZero(str, 3)).toStrictEqual("000"); + }); +}); diff --git a/packages/core/src/common/padLeftZero/index.ts b/packages/core/src/common/padLeftZero/index.ts new file mode 100644 index 0000000..bf3b848 --- /dev/null +++ b/packages/core/src/common/padLeftZero/index.ts @@ -0,0 +1,13 @@ +/** + * 用来在字符串前面补0 + * @param str 字符串 + * @returns 补0后的字符串 + */ +export function padLeftZero(str: string, len: number) { + if (typeof str !== "string") return str; + if (str.padStart) { + return str.padStart(len, "0"); + } + if (str.length >= len) return str; + return (Array(len).fill("0").join("") + str).substr(str.length); +} diff --git a/packages/core/src/date/format/index.ts b/packages/core/src/date/format/index.ts index 74b5af9..047a42d 100644 --- a/packages/core/src/date/format/index.ts +++ b/packages/core/src/date/format/index.ts @@ -1,8 +1,4 @@ -function padLeftZero(str) { - if (typeof str !== "string") return str; - // return ("00" + str).substr(str.length); - return str.padStart(2, "0"); -} +import { padLeftZero } from "@xyx-utils/core/common/padLeftZero"; export function formatDateByFmt(date, fmt) { if (/(y+)/.test(fmt)) { @@ -18,7 +14,7 @@ export function formatDateByFmt(date, fmt) { for (const k in o) { if (new RegExp(`(${k})`).test(fmt)) { const str = o[k] + ""; - fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str)); + fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str : padLeftZero(str, 2)); } } return fmt; diff --git a/packages/core/src/debounce/index.ts b/packages/core/src/debounce/index.ts index ac72091..ef146f3 100644 --- a/packages/core/src/debounce/index.ts +++ b/packages/core/src/debounce/index.ts @@ -1,5 +1,6 @@ +type TimerID = ReturnType; export function debounce(fn: (...argu: T) => R, duration: number = 1500) { - let timer: ReturnType | void; + let timer: TimerID | void; return function f(this: void, ...argu: T) { if (timer) { clearTimeout(timer); diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts index f183ae9..e178329 100644 --- a/packages/core/src/index.ts +++ b/packages/core/src/index.ts @@ -1,2 +1,3 @@ export * from "./date"; +export * from "./common"; export * from "./debounce"; diff --git a/packages/vue3/src/hook/createContextComponent/docs/index.md b/packages/vue3/src/hook/createContextComponent/docs/index.md index e4954fe..e6ac3f4 100644 --- a/packages/vue3/src/hook/createContextComponent/docs/index.md +++ b/packages/vue3/src/hook/createContextComponent/docs/index.md @@ -10,4 +10,4 @@ category: Provide/Inject > 来源:稀土掘金 > 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 - \ No newline at end of file + \ No newline at end of file diff --git a/packages/vue3/src/hook/createContextComponent/docs/index.vue b/packages/vue3/src/hook/createContextComponent/docs/index.vue new file mode 100644 index 0000000..3247bc0 --- /dev/null +++ b/packages/vue3/src/hook/createContextComponent/docs/index.vue @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/packages/vue3/src/hook/echarts/docs/index.md b/packages/vue3/src/hook/echarts/docs/index.md index a53fb72..ca51a2d 100644 --- a/packages/vue3/src/hook/echarts/docs/index.md +++ b/packages/vue3/src/hook/echarts/docs/index.md @@ -3,6 +3,4 @@ title: useEchart category: echart --- - - - \ No newline at end of file + \ No newline at end of file diff --git a/packages/vue3/src/hook/echarts/docs/index.vue b/packages/vue3/src/hook/echarts/docs/index.vue new file mode 100644 index 0000000..3247bc0 --- /dev/null +++ b/packages/vue3/src/hook/echarts/docs/index.vue @@ -0,0 +1,10 @@ + + \ No newline at end of file diff --git a/packages/vue3/src/hook/useCallDelay/docs/index.md b/packages/vue3/src/hook/useCallDelay/docs/index.md index 1a46527..a9672fd 100644 --- a/packages/vue3/src/hook/useCallDelay/docs/index.md +++ b/packages/vue3/src/hook/useCallDelay/docs/index.md @@ -4,4 +4,4 @@ title: hook->useCallDelay 该函数用于延迟调用,提供了可配置选项 - \ No newline at end of file + \ No newline at end of file diff --git a/packages/vue3/src/hook/useCallDelay/docs/index.vue b/packages/vue3/src/hook/useCallDelay/docs/index.vue new file mode 100644 index 0000000..85bd264 --- /dev/null +++ b/packages/vue3/src/hook/useCallDelay/docs/index.vue @@ -0,0 +1,8 @@ + + \ No newline at end of file diff --git a/packages/vue3/src/hook/useCherry/docs/index.vue b/packages/vue3/src/hook/useCherry/docs/index.vue new file mode 100644 index 0000000..85bd264 --- /dev/null +++ b/packages/vue3/src/hook/useCherry/docs/index.vue @@ -0,0 +1,8 @@ + + \ No newline at end of file diff --git a/packages/xyx-utils/src/README.md b/packages/xyx-utils/src/README.md index 0c052a6..417d392 100644 --- a/packages/xyx-utils/src/README.md +++ b/packages/xyx-utils/src/README.md @@ -4,5 +4,3 @@ first: 0 name: xyx-utils --- - -asd \ No newline at end of file diff --git a/scripts/build-one.mts b/scripts/build-one.mts index 2ced063..0634758 100644 --- a/scripts/build-one.mts +++ b/scripts/build-one.mts @@ -1,10 +1,19 @@ -import { resolve } from "node:path"; +import path, { resolve } from "node:path"; +import URL from "node:url"; import fg from "fast-glob"; import { build } from "unbuild"; -export function buildOne(dir: string, isDev: boolean = false) { +export async function buildOne(dir: string, isDev: boolean = false) { const rootDir = resolve("packages/" + dir); + // let alias = await import(URL.pathToFileURL(path.resolve(rootDir, "./alias.mts")).href); + // alias = alias.default || alias; + // Object.keys(alias).forEach((key) => { + // alias[key] = path.resolve(rootDir, alias[key]); + // }); + const pkgInfo = await import(URL.pathToFileURL(path.resolve(rootDir, "package.json")).href); + const alias = { [pkgInfo.name]: path.resolve(rootDir, "./src") }; + const files = fg.sync(["src/**/*.ts"], { cwd: rootDir, ignore: ["**/__tests__/**/*", "**/docs/**/*"] }); return build(rootDir, false, { @@ -14,6 +23,7 @@ export function buildOne(dir: string, isDev: boolean = false) { replace: { __DEV__: String(isDev), }, + alias: alias, watch: isDev, rollup: { emitCJS: !isDev, diff --git a/scripts/test.mts b/scripts/test.mts new file mode 100644 index 0000000..8da6234 --- /dev/null +++ b/scripts/test.mts @@ -0,0 +1,11 @@ +import { startVitest } from "vitest/node"; + +const [dir] = process.argv.slice(2); + +if (dir) { + startVitest("test", [], { + root: `./packages/${dir}`, + }); +} else { + startVitest("test"); +}