st-comp 0.0.4 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/README.md +7 -16
  2. package/auto-imports.d.ts +9 -0
  3. package/components.d.ts +26 -0
  4. package/lib/bundle.js +11230 -1509
  5. package/lib/bundle.umd.cjs +30 -5
  6. package/lib/style.css +1 -0
  7. package/package.json +13 -3
  8. package/packages/Button/index.ts +8 -10
  9. package/packages/Button/index.vue +1 -1
  10. package/packages/Echarts/index.ts +8 -0
  11. package/packages/Echarts/index.vue +113 -0
  12. package/packages/Kline/components/Tips/index.vue +108 -0
  13. package/packages/Kline/formatKlineData.ts +197 -0
  14. package/packages/Kline/index.ts +8 -0
  15. package/packages/Kline/index.vue +215 -0
  16. package/packages/Kline/kline_theme_dark.json +30 -0
  17. package/packages/Kline/kline_theme_light.json +30 -0
  18. package/packages/Kline/type.d.ts +34 -0
  19. package/packages/Kline/utils.ts +272 -0
  20. package/packages/List/index.ts +8 -8
  21. package/packages/Table/components/Button/index.vue +54 -0
  22. package/packages/Table/components/Formatter/index.vue +26 -0
  23. package/packages/Table/index.d.ts +0 -0
  24. package/packages/Table/index.ts +8 -0
  25. package/packages/Table/index.vue +112 -0
  26. package/packages/index.ts +17 -10
  27. package/src/App.vue +79 -26
  28. package/src/components/Echarts/index.vue +31 -0
  29. package/src/components/Kline/index.vue +21 -0
  30. package/src/components/KlineGroup/index.vue +58 -0
  31. package/src/components/Table/index.vue +27 -0
  32. package/src/main.ts +5 -1
  33. package/src/pages/Button/index.vue +12 -0
  34. package/src/pages/Echarts/index.vue +12 -0
  35. package/src/pages/Kline/index.vue +12 -0
  36. package/src/pages/List/index.vue +12 -0
  37. package/src/pages/Table/index.vue +27 -0
  38. package/src/router/index.ts +9 -0
  39. package/src/router/routes.ts +27 -0
  40. package/src/style.css +3 -79
  41. package/src/vite-env.d.ts +7 -0
  42. package/vite.config.ts +31 -1
  43. package/vitePlugins/createExportFile.ts +97 -0
  44. package/src/components/HelloWorld.vue +0 -38
@@ -0,0 +1,97 @@
1
+ /**
2
+ * 创建统一的导出文件
3
+ */
4
+ import fs from 'fs'
5
+
6
+ const toFirstLowerCase = (word) => {
7
+ return `${word[0].toLowerCase()}${word.substr(1)}`
8
+ }
9
+
10
+ export default () => {
11
+ return {
12
+ name: 'createExport',
13
+ buildStart() {
14
+ fs.readdir('./packages', (err, files) => {
15
+ if (err) {
16
+ console.error(err)
17
+ return
18
+ }
19
+ const filterFiles = files.filter(fileName => !fileName.includes('.'))
20
+ // 生成每个组件的导出文件
21
+ filterFiles.forEach(fileName => {
22
+ const content = `import { App } from "vue";
23
+ import St${fileName} from "./index.vue";
24
+
25
+ export default {
26
+ install(app: App) {
27
+ app.component("st-${toFirstLowerCase(fileName)}", St${fileName});
28
+ },
29
+ }
30
+ `
31
+ fs.writeFile(`./packages/${fileName}/index.ts`, content, (err) => {
32
+ if (err) throw err
33
+ })
34
+ })
35
+ // 生成统一导出文件
36
+ const mainContent = `import { App } from "vue"
37
+ ${filterFiles.map(fileName => `import St${fileName} from "./${fileName}/index.ts"`).join(`
38
+ `)}
39
+
40
+ export default {
41
+ install(app: App) {
42
+ ${filterFiles.map(fileName => `St${fileName}.install(app)`).join(`
43
+ `)}
44
+ },
45
+ }
46
+ `
47
+ fs.writeFile(`./packages/index.ts`, mainContent, (err) => {
48
+ if (err) throw err
49
+ })
50
+ // 生成routes配置
51
+ const routesContent = `export default [
52
+ ${filterFiles.map(fileName => `{
53
+ path: '/${toFirstLowerCase(fileName)}',
54
+ name: '${fileName}',
55
+ component: () => import('@/pages/${fileName}/index.vue'),
56
+ },`).join(`
57
+ `)}
58
+ ]
59
+ `
60
+ fs.writeFile(`./src/router/routes.ts`, routesContent, (err) => {
61
+ if (err) throw err
62
+ })
63
+ // 如果没有pages文件,则生成pages文件
64
+ fs.readdir('./src/pages', (pagesErr, pagesFiles) => {
65
+ if (pagesErr) {
66
+ console.error(pagesErr)
67
+ return
68
+ }
69
+ const filterPagesFiles = pagesFiles.filter(fileName => !fileName.includes('.'))
70
+ filterFiles.forEach(fileName => {
71
+ if (!filterPagesFiles.includes(fileName)) {
72
+ const pagesContent = `<template>
73
+ <div>
74
+ ${fileName}
75
+ </div>
76
+ </template>
77
+
78
+ <script setup lang="ts">
79
+ </script>
80
+
81
+ <style lang="scss" scoped>
82
+
83
+ </style>
84
+ `
85
+ fs.mkdir(`./src/pages/${fileName}`, err => {
86
+ if(err) throw err;
87
+ fs.writeFile(`./src/pages/${fileName}/index.vue`, pagesContent, (err) => {
88
+ if (err) throw err
89
+ })
90
+ })
91
+ }
92
+ })
93
+ })
94
+ })
95
+ }
96
+ }
97
+ }
@@ -1,38 +0,0 @@
1
- <script setup lang="ts">
2
- import { ref } from 'vue'
3
-
4
- defineProps<{ msg: string }>()
5
-
6
- const count = ref(0)
7
- </script>
8
-
9
- <template>
10
- <h1>{{ msg }}</h1>
11
-
12
- <div class="card">
13
- <button type="button" @click="count++">count is {{ count }}</button>
14
- <p>
15
- Edit
16
- <code>components/HelloWorld.vue</code> to test HMR
17
- </p>
18
- </div>
19
-
20
- <p>
21
- Check out
22
- <a href="https://vuejs.org/guide/quick-start.html#local" target="_blank"
23
- >create-vue</a
24
- >, the official Vue + Vite starter
25
- </p>
26
- <p>
27
- Install
28
- <a href="https://github.com/vuejs/language-tools" target="_blank">Volar</a>
29
- in your IDE for a better DX
30
- </p>
31
- <p class="read-the-docs">Click on the Vite and Vue logos to learn more</p>
32
- </template>
33
-
34
- <style scoped>
35
- .read-the-docs {
36
- color: #888;
37
- }
38
- </style>