Browse Source

fix bug

main
谢亚昕 2 months ago
parent
commit
a488b09eb6
  1. 2
      package.json
  2. 2
      packages/.vitepress/plugins/markdownTransform.ts
  3. 2
      packages/.vitepress/theme/index.js
  4. 4
      packages/browser/src/check/docs/index.md
  5. 10
      packages/browser/src/check/docs/index.vue
  6. 2
      packages/browser/src/event/docs/index.md
  7. 10
      packages/browser/src/event/docs/index.vue
  8. 4
      packages/browser/src/scrollTo/docs/index.md
  9. 10
      packages/browser/src/scrollTo/docs/index.vue
  10. 1
      packages/core/src/common/index.ts
  11. 20
      packages/core/src/common/padLeftZero/__tests__/index.ts
  12. 13
      packages/core/src/common/padLeftZero/index.ts
  13. 8
      packages/core/src/date/format/index.ts
  14. 3
      packages/core/src/debounce/index.ts
  15. 1
      packages/core/src/index.ts
  16. 2
      packages/vue3/src/hook/createContextComponent/docs/index.md
  17. 10
      packages/vue3/src/hook/createContextComponent/docs/index.vue
  18. 4
      packages/vue3/src/hook/echarts/docs/index.md
  19. 10
      packages/vue3/src/hook/echarts/docs/index.vue
  20. 2
      packages/vue3/src/hook/useCallDelay/docs/index.md
  21. 8
      packages/vue3/src/hook/useCallDelay/docs/index.vue
  22. 8
      packages/vue3/src/hook/useCherry/docs/index.vue
  23. 2
      packages/xyx-utils/src/README.md
  24. 14
      scripts/build-one.mts
  25. 11
      scripts/test.mts

2
package.json

@ -10,7 +10,7 @@
"docs:dev": "vitepress dev packages", "docs:dev": "vitepress dev packages",
"docs:build": "vitepress build packages", "docs:build": "vitepress build packages",
"docs:serve": "vitepress serve packages", "docs:serve": "vitepress serve packages",
"test": "vitest", "test": "tsx scripts/test.mts",
"test:ui": "vitest --ui", "test:ui": "vitest --ui",
"coverage": "vitest run --coverage" "coverage": "vitest run --coverage"
}, },

2
packages/.vitepress/plugins/markdownTransform.ts

@ -21,7 +21,7 @@ export function MarkdownTransform(): any {
const { data, content } = matter const { data, content } = matter
if (data.category) { 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 = "" let source = ""

2
packages/.vitepress/theme/index.js

@ -9,7 +9,7 @@ export default {
...DefaultTheme, ...DefaultTheme,
enhanceApp ({ app, router, siteData }) { enhanceApp ({ app, router, siteData }) {
app.use(naive) app.use(naive)
app.component('demo-preview', NaiveUIContainer) app.component('demo-preview', h(NaiveUIContainer))
}, },
Layout () { Layout () {
return h(DefaultTheme.Layout, null, { return h(DefaultTheme.Layout, null, {

4
packages/browser/src/check/docs/index.md

@ -7,6 +7,4 @@ title: 平台检测
## Demo ## Demo
<ClientOnly> <preview path="./index.vue" title="@xyx-utils/browser" description="用于平台的判断"></preview>
<preview path="./demo.vue" title="@xyx-utils/browser" description="用于平台的判断"></preview>
</ClientOnly>

10
packages/browser/src/check/docs/index.vue

@ -0,0 +1,10 @@
<template>
<ClientComp></ClientComp>
</template>
<script setup>
import { defineClientComponent } from 'vitepress'
const ClientComp = defineClientComponent(() => {
return import('./demo.vue')
})
</script>

2
packages/browser/src/event/docs/index.md

@ -4,7 +4,7 @@ title: 事件绑定
## Demo ## Demo
<preview path="./demo.vue" title="元素事件事件监听" description="监听与取消元素的原生事件"></preview> <preview path="./index.vue" title="元素事件事件监听" description="监听与取消元素的原生事件"></preview>
## on ## on

10
packages/browser/src/event/docs/index.vue

@ -0,0 +1,10 @@
<template>
<ClientComp></ClientComp>
</template>
<script setup>
import { defineClientComponent } from 'vitepress'
const ClientComp = defineClientComponent(() => {
return import('./demo.vue')
})
</script>

4
packages/browser/src/scrollTo/docs/index.md

@ -4,9 +4,7 @@ title: 滚动位置
## Demo ## Demo
<ClientOnly> <preview path="./index.vue" title="滚动位置" description="滚动到指定的位置"></preview>
<preview path="./demo.vue" title="滚动位置" description="滚动到指定的位置"></preview>
</ClientOnly>
## 2000px高的空文档 ## 2000px高的空文档

10
packages/browser/src/scrollTo/docs/index.vue

@ -0,0 +1,10 @@
<template>
<ClientComp></ClientComp>
</template>
<script setup>
import { defineClientComponent } from 'vitepress'
const ClientComp = defineClientComponent(() => {
return import('./demo.vue')
})
</script>

1
packages/core/src/common/index.ts

@ -0,0 +1 @@
export * from "./padLeftZero";

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

13
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);
}

8
packages/core/src/date/format/index.ts

@ -1,8 +1,4 @@
function padLeftZero(str) { import { padLeftZero } from "@xyx-utils/core/common/padLeftZero";
if (typeof str !== "string") return str;
// return ("00" + str).substr(str.length);
return str.padStart(2, "0");
}
export function formatDateByFmt(date, fmt) { export function formatDateByFmt(date, fmt) {
if (/(y+)/.test(fmt)) { if (/(y+)/.test(fmt)) {
@ -18,7 +14,7 @@ export function formatDateByFmt(date, fmt) {
for (const k in o) { for (const k in o) {
if (new RegExp(`(${k})`).test(fmt)) { if (new RegExp(`(${k})`).test(fmt)) {
const str = o[k] + ""; 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; return fmt;

3
packages/core/src/debounce/index.ts

@ -1,5 +1,6 @@
type TimerID = ReturnType<typeof setTimeout>;
export function debounce<T extends any[], R = void>(fn: (...argu: T) => R, duration: number = 1500) { export function debounce<T extends any[], R = void>(fn: (...argu: T) => R, duration: number = 1500) {
let timer: ReturnType<typeof setTimeout> | void; let timer: TimerID | void;
return function f(this: void, ...argu: T) { return function f(this: void, ...argu: T) {
if (timer) { if (timer) {
clearTimeout(timer); clearTimeout(timer);

1
packages/core/src/index.ts

@ -1,2 +1,3 @@
export * from "./date"; export * from "./date";
export * from "./common";
export * from "./debounce"; export * from "./debounce";

2
packages/vue3/src/hook/createContextComponent/docs/index.md

@ -10,4 +10,4 @@ category: Provide/Inject
> 来源:稀土掘金 > 来源:稀土掘金
> 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 > 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
<preview path="./demo.vue" title="@niu-tools/vue3" description="createContext"></preview> <preview path="./index.vue" title="@niu-tools/vue3" description="createContext"></preview>

10
packages/vue3/src/hook/createContextComponent/docs/index.vue

@ -0,0 +1,10 @@
<template>
<ClientComp></ClientComp>
</template>
<script setup>
import { defineClientComponent } from 'vitepress'
const ClientComp = defineClientComponent(() => {
return import('./demo.vue')
})
</script>

4
packages/vue3/src/hook/echarts/docs/index.md

@ -3,6 +3,4 @@ title: useEchart
category: echart category: echart
--- ---
<ClientOnly> <preview path="./index.vue" title="@xyx-utils/vue3" description="useEchart"></preview>
<preview path="./demo.vue" title="@xyx-utils/vue3" description="useEchart"></preview>
</ClientOnly>

10
packages/vue3/src/hook/echarts/docs/index.vue

@ -0,0 +1,10 @@
<template>
<ClientComp></ClientComp>
</template>
<script setup>
import { defineClientComponent } from 'vitepress'
const ClientComp = defineClientComponent(() => {
return import('./demo.vue')
})
</script>

2
packages/vue3/src/hook/useCallDelay/docs/index.md

@ -4,4 +4,4 @@ title: hook->useCallDelay
该函数用于延迟调用,提供了可配置选项 该函数用于延迟调用,提供了可配置选项
<preview path="./demo.vue" title="基本使用" description="普通调用"></preview> <preview path="./index.vue" title="基本使用" description="普通调用"></preview>

8
packages/vue3/src/hook/useCallDelay/docs/index.vue

@ -0,0 +1,8 @@
<template>
<ClientOnly>
<Demo></Demo>
</ClientOnly>
</template>
<script setup>
import Demo from './demo.vue';
</script>

8
packages/vue3/src/hook/useCherry/docs/index.vue

@ -0,0 +1,8 @@
<template>
<ClientOnly>
<Demo></Demo>
</ClientOnly>
</template>
<script setup>
import Demo from './demo.vue';
</script>

2
packages/xyx-utils/src/README.md

@ -4,5 +4,3 @@ first: 0
name: xyx-utils name: xyx-utils
--- ---
asd

14
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 fg from "fast-glob";
import { build } from "unbuild"; 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); 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/**/*"] }); const files = fg.sync(["src/**/*.ts"], { cwd: rootDir, ignore: ["**/__tests__/**/*", "**/docs/**/*"] });
return build(rootDir, false, { return build(rootDir, false, {
@ -14,6 +23,7 @@ export function buildOne(dir: string, isDev: boolean = false) {
replace: { replace: {
__DEV__: String(isDev), __DEV__: String(isDev),
}, },
alias: alias,
watch: isDev, watch: isDev,
rollup: { rollup: {
emitCJS: !isDev, emitCJS: !isDev,

11
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");
}
Loading…
Cancel
Save