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");
+}