@weapp-core/init 4.0.0 → 4.1.0

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 (30) hide show
  1. package/dist/index.cjs +3 -2
  2. package/dist/index.d.cts +2 -1
  3. package/dist/index.d.ts +2 -1
  4. package/dist/index.js +3 -2
  5. package/package.json +1 -1
  6. package/templates/wevu/src/app.vue +8 -8
  7. package/templates/wevu/src/components/HelloWorld/index.vue +10 -7
  8. package/templates/wevu-tdesign/.editorconfig +9 -0
  9. package/templates/wevu-tdesign/.vscode/settings.json +5 -0
  10. package/templates/wevu-tdesign/README.md +29 -0
  11. package/templates/wevu-tdesign/auto-import-components.json +83 -0
  12. package/templates/wevu-tdesign/components.d.ts +183 -0
  13. package/templates/wevu-tdesign/gitignore +35 -0
  14. package/templates/wevu-tdesign/package.json +40 -0
  15. package/templates/wevu-tdesign/postcss.config.js +6 -0
  16. package/templates/wevu-tdesign/project.config.json +43 -0
  17. package/templates/wevu-tdesign/project.private.config.json +8 -0
  18. package/templates/wevu-tdesign/public/logo.png +0 -0
  19. package/templates/wevu-tdesign/src/app.vue +40 -0
  20. package/templates/wevu-tdesign/src/components/HelloWorld/index.vue +45 -0
  21. package/templates/wevu-tdesign/src/pages/index/index.vue +138 -0
  22. package/templates/wevu-tdesign/src/sitemap.json +10 -0
  23. package/templates/wevu-tdesign/src/theme.json +5 -0
  24. package/templates/wevu-tdesign/src/vite-env.d.ts +1 -0
  25. package/templates/wevu-tdesign/tailwind.config.ts +22 -0
  26. package/templates/wevu-tdesign/tsconfig.app.json +60 -0
  27. package/templates/wevu-tdesign/tsconfig.json +11 -0
  28. package/templates/wevu-tdesign/tsconfig.node.json +33 -0
  29. package/templates/wevu-tdesign/typed-components.d.ts +943 -0
  30. package/templates/wevu-tdesign/vite.config.ts +43 -0
@@ -0,0 +1,40 @@
1
+ <script setup lang="ts">
2
+ import { onHide, onLaunch, onShow } from 'wevu'
3
+
4
+ defineAppJson({
5
+ pages: [
6
+ 'pages/index/index',
7
+ ],
8
+ window: {
9
+ navigationBarTitleText: 'Wepp-Vite + WeVU Template',
10
+ navigationBarBackgroundColor: '#4c6ef5',
11
+ navigationBarTextStyle: 'white',
12
+ },
13
+ style: 'v2',
14
+ componentFramework: 'glass-easel',
15
+ sitemapLocation: 'sitemap.json',
16
+ })
17
+
18
+ onShow(() => {
19
+ console.log('[weapp-vite-wevu-template] app show')
20
+ })
21
+
22
+ onHide(() => {
23
+ console.log('[weapp-vite-wevu-template] app hide')
24
+ })
25
+
26
+ onLaunch(() => {
27
+ console.log('[weapp-vite-wevu-template] app launch')
28
+ })
29
+ </script>
30
+
31
+ <style lang="scss">
32
+ @use 'tailwindcss/base';
33
+ @use 'tailwindcss/components';
34
+ @use 'tailwindcss/utilities';
35
+
36
+ page {
37
+ color: #1c1c3c;
38
+ background: #f6f7fb;
39
+ }
40
+ </style>
@@ -0,0 +1,45 @@
1
+ <script setup lang="ts">
2
+ const props = withDefaults(
3
+ defineProps<{
4
+ title?: string
5
+ subtitle?: string
6
+ }>(),
7
+ {
8
+ title: 'Hello WeVU',
9
+ subtitle: '',
10
+ },
11
+ )
12
+ </script>
13
+
14
+ <template>
15
+ <view class="header">
16
+ <text class="title">
17
+ {{ props.title }}
18
+ </text>
19
+ <text v-if="props.subtitle" class="subtitle">
20
+ {{ props.subtitle }}
21
+ </text>
22
+ </view>
23
+ </template>
24
+
25
+ <style>
26
+ .header {
27
+ padding: 24rpx;
28
+ background: linear-gradient(135deg, #4c6ef5, #7048e8);
29
+ border-radius: 24rpx;
30
+ }
31
+
32
+ .title {
33
+ display: block;
34
+ font-size: 40rpx;
35
+ font-weight: 700;
36
+ color: #fff;
37
+ }
38
+
39
+ .subtitle {
40
+ display: block;
41
+ margin-top: 8rpx;
42
+ font-size: 26rpx;
43
+ color: rgb(255 255 255 / 85%);
44
+ }
45
+ </style>
@@ -0,0 +1,138 @@
1
+ <script setup lang="ts">
2
+ import { computed, ref, watch } from 'wevu'
3
+
4
+ import HelloWorld from '@/components/HelloWorld/index.vue'
5
+
6
+ definePageJson({
7
+ navigationBarTitleText: '首页',
8
+ })
9
+
10
+ const count = ref(0)
11
+ const message = ref('Hello WeVU!')
12
+ const todos = ref([
13
+ '用 Vue SFC 写页面/组件',
14
+ '用 wevu API(ref/computed/watch)写逻辑',
15
+ '用 v-for / v-if / @tap / v-model 写模板',
16
+ ])
17
+
18
+ const doubled = computed(() => count.value * 2)
19
+
20
+ function increment() {
21
+ count.value += 1
22
+ }
23
+
24
+ function reset() {
25
+ count.value = 0
26
+ }
27
+
28
+ watch(count, (newValue, oldValue) => {
29
+ console.log(`[wevu] count changed: ${oldValue} -> ${newValue}`)
30
+ })
31
+ </script>
32
+
33
+ <template>
34
+ <view class="page">
35
+ <HelloWorld :title="message" :subtitle="`count=${count}, doubled=${doubled}`" />
36
+
37
+ <view class="card">
38
+ <view class="row">
39
+ <text class="label">
40
+ 当前计数:{{ count }}
41
+ </text>
42
+ <text class="label">
43
+ 双倍:{{ doubled }}
44
+ </text>
45
+ </view>
46
+
47
+ <view class="row actions">
48
+ <button class="btn primary" @tap="increment">
49
+ +1
50
+ </button>
51
+ <button class="btn danger" @tap="reset">
52
+ 重置
53
+ </button>
54
+ </view>
55
+
56
+ <view class="row">
57
+ <text class="label">
58
+ 文本双向绑定:
59
+ </text>
60
+ </view>
61
+ <input v-model="message" class="input" placeholder="输入标题…">
62
+
63
+ <view class="row">
64
+ <text class="label">
65
+ Checklist
66
+ </text>
67
+ </view>
68
+ <view class="todo">
69
+ <view v-for="(todo, index) in todos" :key="index" class="todo-item">
70
+ <text>• {{ todo }}</text>
71
+ </view>
72
+ </view>
73
+ </view>
74
+ </view>
75
+ </template>
76
+
77
+ <style>
78
+ .page {
79
+ box-sizing: border-box;
80
+ padding: 48rpx 32rpx 64rpx;
81
+ }
82
+
83
+ .card {
84
+ padding: 32rpx;
85
+ margin-top: 24rpx;
86
+ background: #fff;
87
+ border-radius: 24rpx;
88
+ box-shadow: 0 12rpx 32rpx rgb(44 44 84 / 10%);
89
+ }
90
+
91
+ .row {
92
+ display: flex;
93
+ gap: 16rpx;
94
+ align-items: center;
95
+ justify-content: space-between;
96
+ margin-bottom: 16rpx;
97
+ }
98
+
99
+ .label {
100
+ font-size: 30rpx;
101
+ color: #1c1c3c;
102
+ }
103
+
104
+ .actions {
105
+ margin: 24rpx 0;
106
+ }
107
+
108
+ .btn {
109
+ flex: 1;
110
+ line-height: 96rpx;
111
+ color: #fff;
112
+ border-radius: 16rpx;
113
+ }
114
+
115
+ .btn.primary {
116
+ background: #4c6ef5;
117
+ }
118
+
119
+ .btn.danger {
120
+ background: #f03e3e;
121
+ }
122
+
123
+ .input {
124
+ box-sizing: border-box;
125
+ height: 88rpx;
126
+ padding: 0 24rpx;
127
+ margin: 0 0 24rpx;
128
+ background: #fff;
129
+ border: 2rpx solid #e9ecef;
130
+ border-radius: 16rpx;
131
+ }
132
+
133
+ .todo-item {
134
+ margin-bottom: 12rpx;
135
+ font-size: 26rpx;
136
+ color: #4f4f7a;
137
+ }
138
+ </style>
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "https://vite.icebreaker.top/sitemap.json",
3
+ "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
4
+ "rules": [
5
+ {
6
+ "action": "allow",
7
+ "page": "*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "https://vite.icebreaker.top/theme.json",
3
+ "light": {},
4
+ "dark": {}
5
+ }
@@ -0,0 +1 @@
1
+ /// <reference types="weapp-vite/client" />
@@ -0,0 +1,22 @@
1
+ import type { Config } from 'tailwindcss'
2
+ import { getIconCollections, iconsPlugin } from '@egoist/tailwindcss-icons'
3
+
4
+ export default <Config>{
5
+ content: [
6
+ // 添加你需要提取的文件目录
7
+ 'src/**/*.{wxml,js,ts,vue}',
8
+ ],
9
+ theme: {
10
+ extend: {},
11
+ },
12
+ plugins: [
13
+ iconsPlugin({
14
+ collections: getIconCollections(['mdi']),
15
+ }),
16
+ ],
17
+ corePlugins: {
18
+ // 小程序不需要 preflight 和 container,因为这主要是给 h5 的,如果你要同时开发小程序和 h5 端,你应该使用环境变量来控制它
19
+ preflight: false,
20
+ container: false,
21
+ },
22
+ }
@@ -0,0 +1,60 @@
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
4
+ "target": "ES2023",
5
+ "jsx": "preserve",
6
+ "lib": [
7
+ "ES2023",
8
+ "DOM",
9
+ "DOM.Iterable"
10
+ ],
11
+ "moduleDetection": "force",
12
+ "baseUrl": ".",
13
+ "module": "ESNext",
14
+ "moduleResolution": "bundler",
15
+ "paths": {
16
+ "@/*": [
17
+ "./src/*"
18
+ ],
19
+ "take:@/*": [
20
+ "./src/*"
21
+ ]
22
+ },
23
+ "resolveJsonModule": true,
24
+ "types": [
25
+ "miniprogram-api-typings"
26
+ ],
27
+ "allowImportingTsExtensions": true,
28
+ "allowJs": true,
29
+ "strict": true,
30
+ "noFallthroughCasesInSwitch": true,
31
+ "noUnusedLocals": true,
32
+ "noUnusedParameters": true,
33
+ "noEmit": true,
34
+ "allowSyntheticDefaultImports": true,
35
+ "esModuleInterop": true,
36
+ "isolatedModules": true,
37
+ "verbatimModuleSyntax": true,
38
+ "noUncheckedSideEffectImports": true,
39
+ "erasableSyntaxOnly": true,
40
+ "skipLibCheck": true
41
+ },
42
+ "vueCompilerOptions": {
43
+ "plugins": [
44
+ "weapp-vite/volar"
45
+ ]
46
+ },
47
+ "include": [
48
+ "src/**/*.ts",
49
+ "src/**/*.tsx",
50
+ "src/**/*.js",
51
+ "src/**/*.jsx",
52
+ "src/**/*.mts",
53
+ "src/**/*.cts",
54
+ "src/**/*.vue",
55
+ "src/**/*.json",
56
+ "src/**/*.d.ts",
57
+ "types/**/*.d.ts",
58
+ "env.d.ts"
59
+ ]
60
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "references": [
3
+ {
4
+ "path": "./tsconfig.app.json"
5
+ },
6
+ {
7
+ "path": "./tsconfig.node.json"
8
+ }
9
+ ],
10
+ "files": []
11
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
+ "target": "ES2023",
5
+ "lib": [
6
+ "ES2023"
7
+ ],
8
+ "moduleDetection": "force",
9
+ "module": "ESNext",
10
+ "moduleResolution": "bundler",
11
+ "resolveJsonModule": true,
12
+ "types": [
13
+ "node"
14
+ ],
15
+ "allowImportingTsExtensions": true,
16
+ "strict": true,
17
+ "noFallthroughCasesInSwitch": true,
18
+ "noUnusedLocals": true,
19
+ "noUnusedParameters": true,
20
+ "noEmit": true,
21
+ "verbatimModuleSyntax": true,
22
+ "noUncheckedSideEffectImports": true,
23
+ "erasableSyntaxOnly": true,
24
+ "skipLibCheck": true
25
+ },
26
+ "include": [
27
+ "vite.config.ts",
28
+ "vite.config.*.ts",
29
+ "*.config.ts",
30
+ "config/**/*.ts",
31
+ "scripts/**/*.ts"
32
+ ]
33
+ }