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.
- package/README.md +7 -16
- package/auto-imports.d.ts +9 -0
- package/components.d.ts +26 -0
- package/lib/bundle.js +11230 -1509
- package/lib/bundle.umd.cjs +30 -5
- package/lib/style.css +1 -0
- package/package.json +13 -3
- package/packages/Button/index.ts +8 -10
- package/packages/Button/index.vue +1 -1
- package/packages/Echarts/index.ts +8 -0
- package/packages/Echarts/index.vue +113 -0
- package/packages/Kline/components/Tips/index.vue +108 -0
- package/packages/Kline/formatKlineData.ts +197 -0
- package/packages/Kline/index.ts +8 -0
- package/packages/Kline/index.vue +215 -0
- package/packages/Kline/kline_theme_dark.json +30 -0
- package/packages/Kline/kline_theme_light.json +30 -0
- package/packages/Kline/type.d.ts +34 -0
- package/packages/Kline/utils.ts +272 -0
- package/packages/List/index.ts +8 -8
- package/packages/Table/components/Button/index.vue +54 -0
- package/packages/Table/components/Formatter/index.vue +26 -0
- package/packages/Table/index.d.ts +0 -0
- package/packages/Table/index.ts +8 -0
- package/packages/Table/index.vue +112 -0
- package/packages/index.ts +17 -10
- package/src/App.vue +79 -26
- package/src/components/Echarts/index.vue +31 -0
- package/src/components/Kline/index.vue +21 -0
- package/src/components/KlineGroup/index.vue +58 -0
- package/src/components/Table/index.vue +27 -0
- package/src/main.ts +5 -1
- package/src/pages/Button/index.vue +12 -0
- package/src/pages/Echarts/index.vue +12 -0
- package/src/pages/Kline/index.vue +12 -0
- package/src/pages/List/index.vue +12 -0
- package/src/pages/Table/index.vue +27 -0
- package/src/router/index.ts +9 -0
- package/src/router/routes.ts +27 -0
- package/src/style.css +3 -79
- package/src/vite-env.d.ts +7 -0
- package/vite.config.ts +31 -1
- package/vitePlugins/createExportFile.ts +97 -0
- 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>
|