create-weapp-vite 2.0.47 → 2.0.48

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 (45) hide show
  1. package/dist/{chunk-UECMRNKY.js → chunk-LIWR2QXJ.js} +8 -7
  2. package/dist/cli.js +1 -1
  3. package/dist/index.js +1 -1
  4. package/package.json +1 -1
  5. package/templates/default/gitignore +1 -0
  6. package/templates/default/package.json +1 -1
  7. package/templates/default/tsconfig.app.json +1 -9
  8. package/templates/lib/gitignore +1 -0
  9. package/templates/lib/package.json +1 -1
  10. package/templates/lib/tsconfig.app.json +1 -9
  11. package/templates/tailwindcss/gitignore +1 -0
  12. package/templates/tailwindcss/package.json +1 -1
  13. package/templates/tailwindcss/tsconfig.app.json +1 -9
  14. package/templates/tdesign/gitignore +1 -0
  15. package/templates/tdesign/package.json +1 -1
  16. package/templates/tdesign/tsconfig.app.json +1 -9
  17. package/templates/vant/gitignore +1 -0
  18. package/templates/vant/package.json +1 -1
  19. package/templates/vant/tsconfig.app.json +1 -9
  20. package/templates/wevu/README.md +1 -0
  21. package/templates/wevu/auto-import-components.json +2 -2
  22. package/templates/wevu/gitignore +1 -0
  23. package/templates/wevu/package.json +1 -1
  24. package/templates/wevu/src/app.vue +49 -7
  25. package/templates/wevu/src/components/InfoPanel/index.vue +52 -0
  26. package/templates/wevu/src/components/StatusPill/index.vue +42 -0
  27. package/templates/wevu/{components.d.ts → src/components.d.ts} +4 -4
  28. package/templates/wevu/src/packageA/pages/workspace/index.vue +137 -0
  29. package/templates/wevu/src/packageB/pages/settings/index.vue +131 -0
  30. package/templates/wevu/src/pages/index/index.vue +169 -304
  31. package/templates/wevu/src/pages/overview/index.vue +149 -0
  32. package/templates/wevu/{typed-components.d.ts → src/typed-components.d.ts} +6 -9
  33. package/templates/wevu/src/typed-router.d.ts +67 -0
  34. package/templates/wevu/tsconfig.app.json +2 -14
  35. package/templates/wevu/vite.config.ts +7 -5
  36. package/templates/wevu-tdesign/gitignore +1 -0
  37. package/templates/wevu-tdesign/package.json +1 -1
  38. package/templates/wevu-tdesign/src/typed-router.d.ts +75 -0
  39. package/templates/wevu-tdesign/src/vite-env.d.ts +0 -2
  40. package/templates/wevu-tdesign/tsconfig.app.json +2 -14
  41. package/templates/wevu-tdesign/vite.config.ts +7 -0
  42. package/templates/wevu/src/components/HelloWorld/index.vue +0 -473
  43. package/templates/wevu/src/components/InfoBanner/index.vue +0 -79
  44. /package/templates/wevu-tdesign/{components.d.ts → src/components.d.ts} +0 -0
  45. /package/templates/wevu-tdesign/{typed-components.d.ts → src/typed-components.d.ts} +0 -0
@@ -5,10 +5,10 @@ import fs2 from "fs-extra";
5
5
  import path2 from "pathe";
6
6
 
7
7
  // ../weapp-vite/package.json
8
- var version = "6.7.7";
8
+ var version = "6.8.0";
9
9
 
10
10
  // ../wevu/package.json
11
- var version2 = "6.7.7";
11
+ var version2 = "6.8.0";
12
12
 
13
13
  // src/enums.ts
14
14
  var TemplateName = /* @__PURE__ */ ((TemplateName2) => {
@@ -34,7 +34,7 @@ var TEMPLATE_CATALOG = {
34
34
  "@mini-types/alipay": "^3.0.14",
35
35
  "@tailwindcss/postcss": "^4.2.1",
36
36
  "@tailwindcss/vite": "^4.2.1",
37
- "@types/node": "^25.4.0",
37
+ "@types/node": "^25.5.0",
38
38
  "@types/semver": "^7.7.1",
39
39
  "@vant/weapp": "^1.11.7",
40
40
  "@vue/compiler-core": "^3.5.30",
@@ -48,7 +48,7 @@ var TEMPLATE_CATALOG = {
48
48
  "gm-crypto": "^0.1.12",
49
49
  "lru-cache": "^11.2.6",
50
50
  "magic-string": "^0.30.21",
51
- "miniprogram-api-typings": "^5.1.1",
51
+ "miniprogram-api-typings": "^5.1.2",
52
52
  "miniprogram-automator": "^0.12.1",
53
53
  "object-hash": "^3.0.0",
54
54
  "pkg-types": "^2.3.0",
@@ -63,7 +63,7 @@ var TEMPLATE_CATALOG = {
63
63
  dayjs: "^1.11.20",
64
64
  debug: "^4.4.3",
65
65
  echarts: "^6.0.0",
66
- esbuild: "^0.27.3",
66
+ esbuild: "^0.27.4",
67
67
  fdir: "^6.5.0",
68
68
  htmlparser2: "^10.1.0",
69
69
  lodash: "^4.17.23",
@@ -86,7 +86,7 @@ var TEMPLATE_NAMED_CATALOG = {
86
86
  "weapp-tailwindcss": "4.10.3"
87
87
  },
88
88
  latest: {
89
- "miniprogram-api-typings": "latest",
89
+ "miniprogram-api-typings": "^5.1.2",
90
90
  typescript: "latest"
91
91
  },
92
92
  tailwind4: {
@@ -177,7 +177,8 @@ dist
177
177
  dist-plugin
178
178
  dist-web
179
179
  dist/web
180
- vite.config.ts.timestamp-*.mjs`;
180
+ vite.config.ts.timestamp-*.mjs
181
+ .weapp-vite/`;
181
182
  var CRLF_RE = /\r\n/g;
182
183
  function normalizeLineEndings(value) {
183
184
  return value.replace(CRLF_RE, "\n");
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createProject
3
- } from "./chunk-UECMRNKY.js";
3
+ } from "./chunk-LIWR2QXJ.js";
4
4
 
5
5
  // src/cli.ts
6
6
  import path from "path";
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  TemplateName,
3
3
  createProject
4
- } from "./chunk-UECMRNKY.js";
4
+ } from "./chunk-LIWR2QXJ.js";
5
5
  export {
6
6
  TemplateName,
7
7
  createProject
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "create-weapp-vite",
3
3
  "type": "module",
4
- "version": "2.0.47",
4
+ "version": "2.0.48",
5
5
  "description": "create-weapp-vite",
6
6
  "author": "ice breaker <1324318532@qq.com>",
7
7
  "license": "MIT",
@@ -33,3 +33,4 @@ yarn-error.log*
33
33
  dist
34
34
  vite.config.ts.timestamp-*.mjs
35
35
  dist-web
36
+ .weapp-vite/
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weapp-vite-template",
3
3
  "type": "module",
4
- "version": "1.0.3",
4
+ "version": "1.0.4",
5
5
  "private": true,
6
6
  "description": "原生微信小程序 weapp-vite 模板",
7
7
  "author": "ice breaker <1324318532@qq.com>",
@@ -42,15 +42,7 @@
42
42
  ]
43
43
  },
44
44
  "include": [
45
- "src/**/*.ts",
46
- "src/**/*.tsx",
47
- "src/**/*.js",
48
- "src/**/*.jsx",
49
- "src/**/*.mts",
50
- "src/**/*.cts",
51
- "src/**/*.vue",
52
- "src/**/*.json",
53
- "src/**/*.d.ts",
45
+ "src/**/*",
54
46
  "types/**/*.d.ts",
55
47
  "env.d.ts"
56
48
  ]
@@ -34,3 +34,4 @@ dist
34
34
  dist-lib
35
35
  vite.config.ts.timestamp-*.mjs
36
36
  dist-web
37
+ .weapp-vite/
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weapp-vite-lib-template",
3
3
  "type": "module",
4
- "version": "1.0.0",
4
+ "version": "1.0.1",
5
5
  "private": true,
6
6
  "description": "weapp-vite 组件库(lib 模式)模板",
7
7
  "author": "ice breaker <1324318532@qq.com>",
@@ -42,15 +42,7 @@
42
42
  ]
43
43
  },
44
44
  "include": [
45
- "src/**/*.ts",
46
- "src/**/*.tsx",
47
- "src/**/*.js",
48
- "src/**/*.jsx",
49
- "src/**/*.mts",
50
- "src/**/*.cts",
51
- "src/**/*.vue",
52
- "src/**/*.json",
53
- "src/**/*.d.ts",
45
+ "src/**/*",
54
46
  "types/**/*.d.ts",
55
47
  "env.d.ts"
56
48
  ]
@@ -33,3 +33,4 @@ yarn-error.log*
33
33
  dist
34
34
  vite.config.ts.timestamp-*.mjs
35
35
  dist-web
36
+ .weapp-vite/
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weapp-vite-tailwindcss-template",
3
3
  "type": "module",
4
- "version": "1.0.3",
4
+ "version": "1.0.4",
5
5
  "private": true,
6
6
  "description": "原生微信小程序 weapp-vite + tailwindcss 模板",
7
7
  "author": "ice breaker <1324318532@qq.com>",
@@ -42,15 +42,7 @@
42
42
  ]
43
43
  },
44
44
  "include": [
45
- "src/**/*.ts",
46
- "src/**/*.tsx",
47
- "src/**/*.js",
48
- "src/**/*.jsx",
49
- "src/**/*.mts",
50
- "src/**/*.cts",
51
- "src/**/*.vue",
52
- "src/**/*.json",
53
- "src/**/*.d.ts",
45
+ "src/**/*",
54
46
  "types/**/*.d.ts",
55
47
  "env.d.ts"
56
48
  ]
@@ -33,3 +33,4 @@ yarn-error.log*
33
33
  dist
34
34
  vite.config.ts.timestamp-*.mjs
35
35
  dist-web
36
+ .weapp-vite/
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weapp-vite-tailwindcss-tdesign-template",
3
3
  "type": "module",
4
- "version": "1.0.3",
4
+ "version": "1.0.4",
5
5
  "private": true,
6
6
  "description": "原生微信小程序 weapp-vite + tailwindcss + tdesign 模板",
7
7
  "author": "ice breaker <1324318532@qq.com>",
@@ -45,15 +45,7 @@
45
45
  ]
46
46
  },
47
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",
48
+ "src/**/*",
57
49
  "types/**/*.d.ts",
58
50
  "env.d.ts"
59
51
  ]
@@ -33,3 +33,4 @@ yarn-error.log*
33
33
  dist
34
34
  vite.config.ts.timestamp-*.mjs
35
35
  dist-web
36
+ .weapp-vite/
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weapp-vite-tailwindcss-vant-template",
3
3
  "type": "module",
4
- "version": "1.0.3",
4
+ "version": "1.0.4",
5
5
  "private": true,
6
6
  "description": "原生微信小程序 weapp-vite + tailwindcss 模板",
7
7
  "author": "ice breaker <1324318532@qq.com>",
@@ -45,15 +45,7 @@
45
45
  ]
46
46
  },
47
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",
48
+ "src/**/*",
57
49
  "types/**/*.d.ts",
58
50
  "env.d.ts"
59
51
  ]
@@ -15,6 +15,7 @@
15
15
  - 页面/组件优先使用 Vue `<script setup>`(编译宏)写法
16
16
  - 配置使用 `<json>` 自定义块
17
17
  - `src/components` 下的 Vue SFC(`*.vue`)与原生组件(`*.wxml`)默认开启自动导入,页面中可直接使用组件标签
18
+ - `app.json` 里的 `pages` 与 `subPackages` 通过 `weapp-vite/auto-routes` 自动生成,普通分包页面也会自动收集
18
19
 
19
20
  ### 构建
20
21
 
@@ -1,4 +1,4 @@
1
1
  {
2
- "HelloWorld": "/components/HelloWorld/index",
3
- "InfoBanner": "/components/InfoBanner/index"
2
+ "InfoPanel": "/components/InfoPanel/index",
3
+ "StatusPill": "/components/StatusPill/index"
4
4
  }
@@ -33,3 +33,4 @@ yarn-error.log*
33
33
  dist
34
34
  vite.config.ts.timestamp-*.mjs
35
35
  dist-web
36
+ .weapp-vite/
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "weapp-vite-wevu-template",
3
3
  "type": "module",
4
- "version": "1.0.0",
4
+ "version": "1.0.1",
5
5
  "private": true,
6
6
  "description": "weapp-vite + wevu (Vue SFC) 模板",
7
7
  "author": "ice breaker <1324318532@qq.com>",
@@ -1,13 +1,14 @@
1
1
  <script setup lang="ts">
2
+ import autoRoutes from 'weapp-vite/auto-routes'
2
3
  import { onHide, onLaunch, onShow } from 'wevu'
4
+ import { createRouter } from 'wevu/router'
3
5
 
4
6
  defineAppJson({
5
- pages: [
6
- 'pages/index/index',
7
- ],
7
+ pages: autoRoutes.pages,
8
+ subPackages: autoRoutes.subPackages,
8
9
  window: {
9
- navigationBarTitleText: 'Wepp-Vite + WeVU Template',
10
- navigationBarBackgroundColor: '#4c6ef5',
10
+ navigationBarTitleText: '业务模板',
11
+ navigationBarBackgroundColor: '#0f172a',
11
12
  navigationBarTextStyle: 'white',
12
13
  },
13
14
  style: 'v2',
@@ -15,6 +16,47 @@ defineAppJson({
15
16
  sitemapLocation: 'sitemap.json',
16
17
  })
17
18
 
19
+ const router = createRouter({
20
+ routes: autoRoutes.entries.map(path => ({
21
+ name: path,
22
+ path: `/${path}`,
23
+ })),
24
+ })
25
+
26
+ router.beforeEach((to, from) => {
27
+ console.log('[wevu-template-router] beforeEach', {
28
+ to: to?.fullPath,
29
+ from: from.fullPath,
30
+ })
31
+ return true
32
+ })
33
+
34
+ router.beforeResolve((to, from) => {
35
+ console.log('[wevu-template-router] beforeResolve', {
36
+ to: to?.fullPath,
37
+ from: from.fullPath,
38
+ })
39
+ return true
40
+ })
41
+
42
+ router.afterEach((to, from, failure) => {
43
+ console.log('[wevu-template-router] afterEach', {
44
+ to: to?.fullPath,
45
+ from: from.fullPath,
46
+ failureType: failure?.type,
47
+ })
48
+ })
49
+
50
+ router.onError((error, context) => {
51
+ console.log('[wevu-template-router] onError', {
52
+ error: error instanceof Error ? error.message : String(error),
53
+ mode: context.mode,
54
+ to: context.to?.fullPath,
55
+ from: context.from.fullPath,
56
+ failureType: context.failure.type,
57
+ })
58
+ })
59
+
18
60
  onShow(() => {
19
61
  console.log('[weapp-vite-wevu-template] app show')
20
62
  })
@@ -30,7 +72,7 @@ onLaunch(() => {
30
72
 
31
73
  <style>
32
74
  page {
33
- color: #1c1c3c;
34
- background: #f6f7fb;
75
+ color: #0f172a;
76
+ background: #f3f6fb;
35
77
  }
36
78
  </style>
@@ -0,0 +1,52 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{
3
+ eyebrow?: string
4
+ title: string
5
+ description: string
6
+ }>(), {})
7
+ </script>
8
+
9
+ <template>
10
+ <view class="feature">
11
+ <view v-if="eyebrow" class="feature__eyebrow">
12
+ {{ eyebrow }}
13
+ </view>
14
+ <view class="feature__title">
15
+ {{ title }}
16
+ </view>
17
+ <view class="feature__desc">
18
+ {{ description }}
19
+ </view>
20
+ </view>
21
+ </template>
22
+
23
+ <style>
24
+ .feature {
25
+ padding: 24rpx;
26
+ background: #fff;
27
+ border: 2rpx solid #e2e8f0;
28
+ border-radius: 24rpx;
29
+ box-shadow: 0 10rpx 30rpx rgb(15 23 42 / 4%);
30
+ }
31
+
32
+ .feature__eyebrow {
33
+ font-size: 20rpx;
34
+ font-weight: 600;
35
+ color: #64748b;
36
+ letter-spacing: 1rpx;
37
+ }
38
+
39
+ .feature__title {
40
+ margin-top: 8rpx;
41
+ font-size: 26rpx;
42
+ font-weight: 700;
43
+ color: #0f172a;
44
+ }
45
+
46
+ .feature__desc {
47
+ margin-top: 8rpx;
48
+ font-size: 24rpx;
49
+ line-height: 1.6;
50
+ color: #64748b;
51
+ }
52
+ </style>
@@ -0,0 +1,42 @@
1
+ <script setup lang="ts">
2
+ withDefaults(defineProps<{
3
+ label: string
4
+ tone?: 'neutral' | 'accent' | 'success'
5
+ }>(), {
6
+ tone: 'neutral',
7
+ })
8
+ </script>
9
+
10
+ <template>
11
+ <view class="badge" :class="`badge--${tone}`">
12
+ {{ label }}
13
+ </view>
14
+ </template>
15
+
16
+ <style>
17
+ .badge {
18
+ display: inline-flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ min-width: 120rpx;
22
+ padding: 12rpx 22rpx;
23
+ font-size: 22rpx;
24
+ font-weight: 600;
25
+ border-radius: 999rpx;
26
+ }
27
+
28
+ .badge--neutral {
29
+ color: #475569;
30
+ background: #e2e8f0;
31
+ }
32
+
33
+ .badge--accent {
34
+ color: #155eef;
35
+ background: #dbeafe;
36
+ }
37
+
38
+ .badge--success {
39
+ color: #047857;
40
+ background: #d1fae5;
41
+ }
42
+ </style>
@@ -13,13 +13,13 @@ type __WeappComponentImport<TModule, Fallback = {}> = 0 extends 1 & TModule ? Fa
13
13
 
14
14
  declare module 'wevu' {
15
15
  export interface GlobalComponents {
16
- HelloWorld: typeof import("./src/components/HelloWorld/index.vue")['default'];
17
- InfoBanner: typeof import("./src/components/InfoBanner/index.vue")['default'];
16
+ InfoPanel: typeof import("./components/InfoPanel/index.vue")['default'];
17
+ StatusPill: typeof import("./components/StatusPill/index.vue")['default'];
18
18
  }
19
19
  }
20
20
 
21
21
  // 用于 TSX 支持
22
22
  declare global {
23
- const HelloWorld: typeof import("./src/components/HelloWorld/index.vue")['default']
24
- const InfoBanner: typeof import("./src/components/InfoBanner/index.vue")['default']
23
+ const InfoPanel: typeof import("./components/InfoPanel/index.vue")['default']
24
+ const StatusPill: typeof import("./components/StatusPill/index.vue")['default']
25
25
  }
@@ -0,0 +1,137 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'wevu'
3
+ import { useRoute, useRouter } from 'wevu/router'
4
+
5
+ definePageJson({
6
+ navigationBarTitleText: '项目工作台',
7
+ })
8
+
9
+ const HOME_PATH = '/pages/index/index'
10
+ const SETTINGS_PATH = '/packageB/pages/settings/index'
11
+
12
+ const route = useRoute()
13
+ const router = useRouter()
14
+
15
+ const routeSummary = computed(() => route.fullPath || `/${route.path}`)
16
+
17
+ const taskGroups = [
18
+ {
19
+ title: '待处理任务',
20
+ description: '整理本周迭代的交付清单,确保需求与开发状态同步。',
21
+ },
22
+ {
23
+ title: '风险跟踪',
24
+ description: '识别阻塞项和依赖项,适合继续扩展为真实项目看板。',
25
+ },
26
+ {
27
+ title: '版本准备',
28
+ description: '预留提测、回归和上线前检查的展示区域。',
29
+ },
30
+ ]
31
+
32
+ async function toIndependent() {
33
+ await router.push(SETTINGS_PATH)
34
+ }
35
+
36
+ async function backHome() {
37
+ await router.push(HOME_PATH)
38
+ }
39
+ </script>
40
+
41
+ <template>
42
+ <view class="page">
43
+ <view class="card">
44
+ <view class="card__eyebrow">
45
+ Workspace
46
+ </view>
47
+ <view class="card__title">
48
+ 项目工作台
49
+ </view>
50
+ <view class="card__desc">
51
+ 这里适合作为分包内的业务处理入口,例如待办、进度、看板或内部运营模块。
52
+ </view>
53
+ <view class="card__summary">
54
+ 当前路由:{{ routeSummary }}
55
+ </view>
56
+ </view>
57
+
58
+ <view
59
+ v-for="item in taskGroups"
60
+ :key="item.title"
61
+ class="panel-wrap"
62
+ >
63
+ <InfoPanel
64
+ eyebrow="TASK"
65
+ :title="item.title"
66
+ :description="item.description"
67
+ />
68
+ </view>
69
+
70
+ <button class="action-btn action-btn--secondary" @tap="toIndependent">
71
+ 前往系统设置
72
+ </button>
73
+ <button class="action-btn action-btn--ghost" @tap="backHome">
74
+ 返回业务门户
75
+ </button>
76
+ </view>
77
+ </template>
78
+
79
+ <style>
80
+ .page {
81
+ box-sizing: border-box;
82
+ min-height: 100vh;
83
+ padding: 34rpx 30rpx;
84
+ background:
85
+ radial-gradient(circle at top right, rgb(59 130 246 / 12%), transparent 30%),
86
+ linear-gradient(180deg, #f8fbff 0%, #edf2f9 100%);
87
+ }
88
+
89
+ .card {
90
+ padding: 30rpx 28rpx;
91
+ background: #fff;
92
+ border: 2rpx solid rgb(191 219 254 / 78%);
93
+ border-radius: 30rpx;
94
+ box-shadow: 0 16rpx 36rpx rgb(15 23 42 / 5%);
95
+ }
96
+
97
+ .card__eyebrow {
98
+ font-size: 22rpx;
99
+ font-weight: 600;
100
+ color: #2563eb;
101
+ }
102
+
103
+ .card__title {
104
+ margin-top: 10rpx;
105
+ font-size: 40rpx;
106
+ font-weight: 700;
107
+ color: #172554;
108
+ }
109
+
110
+ .card__desc,
111
+ .card__summary {
112
+ margin-top: 12rpx;
113
+ font-size: 24rpx;
114
+ line-height: 1.6;
115
+ color: #334155;
116
+ }
117
+
118
+ .panel-wrap {
119
+ margin-top: 18rpx;
120
+ }
121
+
122
+ .action-btn {
123
+ margin-top: 18rpx;
124
+ color: #fff;
125
+ background: #2563eb;
126
+ border-radius: 999rpx;
127
+ }
128
+
129
+ .action-btn--secondary {
130
+ background: #0f172a;
131
+ }
132
+
133
+ .action-btn--ghost {
134
+ color: #1d4ed8;
135
+ background: #dbeafe;
136
+ }
137
+ </style>