@coze-arch/cli 0.0.1-alpha.ee5d83 → 0.0.1-alpha.ef8b63

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 (103) hide show
  1. package/lib/__templates__/expo/.cozeproj/scripts/dev_run.sh +30 -21
  2. package/lib/__templates__/expo/.cozeproj/scripts/prod_build.sh +2 -2
  3. package/lib/__templates__/expo/.cozeproj/scripts/prod_run.sh +2 -2
  4. package/lib/__templates__/expo/.cozeproj/scripts/server_dev_run.sh +46 -0
  5. package/lib/__templates__/expo/README.md +4 -2
  6. package/lib/__templates__/expo/client/app/+not-found.tsx +30 -0
  7. package/lib/__templates__/expo/client/app/_layout.tsx +15 -12
  8. package/lib/__templates__/expo/client/app/index.tsx +1 -1
  9. package/lib/__templates__/expo/client/app.config.ts +4 -3
  10. package/lib/__templates__/expo/client/components/Screen.tsx +1 -17
  11. package/lib/__templates__/expo/client/components/ThemedView.tsx +1 -2
  12. package/lib/__templates__/expo/client/constants/theme.ts +21 -698
  13. package/lib/__templates__/expo/client/declarations.d.ts +5 -0
  14. package/lib/__templates__/expo/client/eslint.config.mjs +33 -10
  15. package/lib/__templates__/expo/client/hooks/{useColorScheme.ts → useColorScheme.tsx} +20 -6
  16. package/lib/__templates__/expo/client/hooks/useSafeRouter.ts +152 -0
  17. package/lib/__templates__/expo/client/hooks/useTheme.ts +26 -6
  18. package/lib/__templates__/expo/client/metro.config.js +3 -0
  19. package/lib/__templates__/expo/client/package.json +36 -34
  20. package/lib/__templates__/expo/client/screens/{home → demo}/index.tsx +4 -4
  21. package/lib/__templates__/expo/client/scripts/install-missing-deps.js +1 -0
  22. package/lib/__templates__/expo/client/utils/index.ts +22 -0
  23. package/lib/__templates__/expo/eslint-plugins/fontawesome6/index.js +9 -0
  24. package/lib/__templates__/expo/eslint-plugins/fontawesome6/names.js +1889 -0
  25. package/lib/__templates__/expo/eslint-plugins/fontawesome6/rule.js +174 -0
  26. package/lib/__templates__/expo/eslint-plugins/fontawesome6/v5-only-names.js +388 -0
  27. package/lib/__templates__/expo/eslint-plugins/react-native/index.js +9 -0
  28. package/lib/__templates__/expo/eslint-plugins/react-native/rule.js +64 -0
  29. package/lib/__templates__/expo/eslint-plugins/reanimated/index.js +9 -0
  30. package/lib/__templates__/expo/eslint-plugins/reanimated/rule.js +88 -0
  31. package/lib/__templates__/expo/package.json +3 -0
  32. package/lib/__templates__/expo/patches/expo@54.0.33.patch +45 -0
  33. package/lib/__templates__/expo/pnpm-lock.yaml +1318 -2636
  34. package/lib/__templates__/expo/server/build.js +21 -0
  35. package/lib/__templates__/expo/server/package.json +9 -7
  36. package/lib/__templates__/expo/server/src/index.ts +3 -1
  37. package/lib/__templates__/expo/template.config.js +56 -0
  38. package/lib/__templates__/native-static/.coze +11 -0
  39. package/lib/__templates__/native-static/index.html +33 -0
  40. package/lib/__templates__/native-static/styles/main.css +136 -0
  41. package/lib/__templates__/native-static/template.config.js +22 -0
  42. package/lib/__templates__/nextjs/.babelrc +15 -0
  43. package/lib/__templates__/nextjs/next.config.ts +2 -2
  44. package/lib/__templates__/nextjs/package.json +11 -1
  45. package/lib/__templates__/nextjs/pnpm-lock.yaml +2701 -1813
  46. package/lib/__templates__/nextjs/src/app/layout.tsx +5 -3
  47. package/lib/__templates__/nextjs/src/app/page.tsx +17 -59
  48. package/lib/__templates__/nextjs/template.config.js +47 -12
  49. package/lib/__templates__/taro/.coze +14 -0
  50. package/lib/__templates__/taro/.cozeproj/scripts/deploy_build.sh +19 -0
  51. package/lib/__templates__/taro/.cozeproj/scripts/deploy_run.sh +14 -0
  52. package/lib/__templates__/taro/.cozeproj/scripts/dev_build.sh +2 -0
  53. package/lib/__templates__/taro/.cozeproj/scripts/dev_run.sh +151 -0
  54. package/lib/__templates__/taro/.cozeproj/scripts/init_env.sh +5 -0
  55. package/lib/__templates__/taro/.cozeproj/scripts/pack.sh +24 -0
  56. package/lib/__templates__/taro/README.md +751 -0
  57. package/lib/__templates__/taro/_gitignore +40 -0
  58. package/lib/__templates__/taro/_npmrc +18 -0
  59. package/lib/__templates__/taro/babel.config.js +12 -0
  60. package/lib/__templates__/taro/config/dev.ts +9 -0
  61. package/lib/__templates__/taro/config/index.ts +174 -0
  62. package/lib/__templates__/taro/config/prod.ts +35 -0
  63. package/lib/__templates__/taro/eslint.config.mjs +80 -0
  64. package/lib/__templates__/taro/key/private.appid.key +0 -0
  65. package/lib/__templates__/taro/package.json +97 -0
  66. package/lib/__templates__/taro/pnpm-lock.yaml +22706 -0
  67. package/lib/__templates__/taro/pnpm-workspace.yaml +2 -0
  68. package/lib/__templates__/taro/project.config.json +15 -0
  69. package/lib/__templates__/taro/server/nest-cli.json +10 -0
  70. package/lib/__templates__/taro/server/package.json +40 -0
  71. package/lib/__templates__/taro/server/src/app.controller.ts +23 -0
  72. package/lib/__templates__/taro/server/src/app.module.ts +10 -0
  73. package/lib/__templates__/taro/server/src/app.service.ts +8 -0
  74. package/lib/__templates__/taro/server/src/interceptors/http-status.interceptor.ts +23 -0
  75. package/lib/__templates__/taro/server/src/main.ts +49 -0
  76. package/lib/__templates__/taro/server/tsconfig.json +24 -0
  77. package/lib/__templates__/taro/src/app.config.ts +11 -0
  78. package/lib/__templates__/taro/src/app.css +52 -0
  79. package/lib/__templates__/taro/src/app.tsx +9 -0
  80. package/lib/__templates__/taro/src/index.html +39 -0
  81. package/lib/__templates__/taro/src/network.ts +39 -0
  82. package/lib/__templates__/taro/src/pages/index/index.config.ts +3 -0
  83. package/lib/__templates__/taro/src/pages/index/index.css +1 -0
  84. package/lib/__templates__/taro/src/pages/index/index.tsx +33 -0
  85. package/lib/__templates__/taro/src/presets/h5-container.tsx +17 -0
  86. package/lib/__templates__/taro/src/presets/h5-navbar.tsx +167 -0
  87. package/lib/__templates__/taro/src/presets/h5-styles.ts +88 -0
  88. package/lib/__templates__/taro/src/presets/index.tsx +18 -0
  89. package/lib/__templates__/taro/src/presets/wx-debug.ts +23 -0
  90. package/lib/__templates__/taro/stylelint.config.mjs +4 -0
  91. package/lib/__templates__/taro/template.config.js +68 -0
  92. package/lib/__templates__/taro/tsconfig.json +29 -0
  93. package/lib/__templates__/taro/types/global.d.ts +32 -0
  94. package/lib/__templates__/templates.json +43 -0
  95. package/lib/__templates__/vite/package.json +10 -1
  96. package/lib/__templates__/vite/pnpm-lock.yaml +350 -2341
  97. package/lib/__templates__/vite/src/main.ts +17 -48
  98. package/lib/__templates__/vite/template.config.js +47 -10
  99. package/lib/__templates__/vite/vite.config.ts +1 -0
  100. package/lib/cli.js +850 -135
  101. package/package.json +2 -1
  102. package/lib/__templates__/expo/client/app/home.tsx +0 -1
  103. /package/lib/__templates__/expo/client/screens/{home → demo}/styles.ts +0 -0
@@ -0,0 +1,40 @@
1
+ # Dependencies
2
+ node_modules/
3
+ .pnpm-store/
4
+
5
+ # Production
6
+ dist/
7
+ build/
8
+ dist-*/
9
+
10
+ # Misc
11
+ .DS_Store
12
+ .env
13
+ # .env.local
14
+ .env.development.local
15
+ .env.test.local
16
+ .env.production.local
17
+
18
+ # Logs
19
+ npm-debug.log*
20
+ yarn-debug.log*
21
+ yarn-error.log*
22
+ pnpm-debug.log*
23
+
24
+ # Editor directories and files
25
+ .idea/
26
+ .vscode/
27
+ *.suo
28
+ *.ntvs*
29
+ *.njsproj
30
+ *.sln
31
+ *.sw?
32
+
33
+ # Taro specific
34
+ .taro/
35
+
36
+ # OS X
37
+ .DS_Store
38
+
39
+ # Key
40
+ # key/
@@ -0,0 +1,18 @@
1
+ loglevel=error
2
+ registry=https://registry.npmmirror.com
3
+
4
+ strictStorePkgContentCheck=false
5
+ verifyStoreIntegrity=false
6
+
7
+ network-concurrency=16
8
+ fetch-retries=3
9
+ fetch-timeout=60000
10
+
11
+ strict-peer-dependencies=false
12
+
13
+ auto-install-peers=true
14
+
15
+ lockfile=true
16
+ prefer-frozen-lockfile=true
17
+
18
+ resolution-mode=highest
@@ -0,0 +1,12 @@
1
+ // babel-preset-taro 更多选项和默认值:
2
+ // https://docs.taro.zone/docs/next/babel-config
3
+ module.exports = {
4
+ presets: [
5
+ ['taro', {
6
+ framework: 'react',
7
+ ts: true,
8
+ compiler: 'vite',
9
+ useBuiltIns: false
10
+ }]
11
+ ]
12
+ }
@@ -0,0 +1,9 @@
1
+ import type { UserConfigExport } from "@tarojs/cli"
2
+
3
+ export default {
4
+
5
+ mini: {
6
+ debugReact: true,
7
+ },
8
+ h5: {}
9
+ } satisfies UserConfigExport<'vite'>
@@ -0,0 +1,174 @@
1
+ import path from 'node:path';
2
+ import dotenv from 'dotenv';
3
+
4
+ import tailwindcss from '@tailwindcss/postcss';
5
+ import { UnifiedViteWeappTailwindcssPlugin } from 'weapp-tailwindcss/vite';
6
+ import { defineConfig, type UserConfigExport } from '@tarojs/cli';
7
+ import type { PluginItem } from '@tarojs/taro/types/compile/config/project';
8
+
9
+ // 加载环境变量
10
+ dotenv.config({ path: path.resolve(__dirname, '../.env.local') });
11
+
12
+ import devConfig from './dev';
13
+ import prodConfig from './prod';
14
+ import pkg from '../package.json';
15
+
16
+ // https://taro-docs.jd.com/docs/next/config#defineconfig-辅助函数
17
+ export default defineConfig<'vite'>(async (merge, _env) => {
18
+ const isWeChatApp = process.env.TARO_ENV === 'weapp';
19
+ const outputRoot = process.env.OUTPUT_ROOT || (isWeChatApp ? 'dist-weapp' : 'dist-web')
20
+
21
+ const baseConfig: UserConfigExport<'vite'> = {
22
+ projectName: '<%= appName %>',
23
+ date: '2026-1-13',
24
+ alias: {
25
+ '@': path.resolve(__dirname, '..', 'src'),
26
+ },
27
+ designWidth: 750,
28
+ deviceRatio: {
29
+ 640: 2.34 / 2,
30
+ 750: 1,
31
+ 375: 2,
32
+ 828: 1.81 / 2,
33
+ },
34
+ sourceRoot: 'src',
35
+ outputRoot,
36
+ plugins: [
37
+ '@tarojs/plugin-generator',
38
+ ...(process.env.TARO_APP_WEAPP_APPID
39
+ ? ([
40
+ [
41
+ '@tarojs/plugin-mini-ci',
42
+ {
43
+ version: pkg.version,
44
+ desc: pkg.description,
45
+ weapp: {
46
+ appid: process.env.TARO_APP_WEAPP_APPID,
47
+ privateKeyPath: 'key/private.appid.key',
48
+ },
49
+ },
50
+ ],
51
+ ] as PluginItem[])
52
+ : []),
53
+ ],
54
+ defineConstants: {
55
+ PROJECT_DOMAIN: JSON.stringify(
56
+ process.env.PROJECT_DOMAIN ||
57
+ process.env.COZE_PROJECT_DOMAIN_DEFAULT ||
58
+ '',
59
+ ),
60
+ TARO_ENV: JSON.stringify(process.env.TARO_ENV),
61
+ },
62
+ copy: {
63
+ patterns: [],
64
+ options: {},
65
+ },
66
+ jsMinimizer: 'esbuild',
67
+ framework: 'react',
68
+ compiler: {
69
+ type: 'vite',
70
+ vitePlugins: [
71
+ {
72
+ name: 'postcss-config-loader-plugin',
73
+ config(config) {
74
+ // 通过 postcss 配置注册 tailwindcss 插件
75
+ if (typeof config.css?.postcss === 'object') {
76
+ config.css?.postcss.plugins?.unshift(tailwindcss());
77
+ }
78
+ },
79
+ },
80
+ {
81
+ name: 'hmr-config-plugin',
82
+ config() {
83
+ if (!process.env.PROJECT_DOMAIN) {
84
+ return;
85
+ }
86
+ return {
87
+ server: {
88
+ hmr: {
89
+ overlay: true,
90
+ path: '/hot/vite-hmr',
91
+ port: 6000,
92
+ clientPort: 443,
93
+ timeout: 30000,
94
+ },
95
+ },
96
+ };
97
+ },
98
+ },
99
+ UnifiedViteWeappTailwindcssPlugin({
100
+ rem2rpx: true,
101
+ cssEntries: [
102
+ // 你 @import "tailwindcss"; 那个文件的绝对路径
103
+ path.resolve(__dirname, '../src/app.css'),
104
+ ],
105
+ }),
106
+ ],
107
+ },
108
+ mini: {
109
+ postcss: {
110
+ pxtransform: {
111
+ enable: true,
112
+ config: {},
113
+ },
114
+ cssModules: {
115
+ enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
116
+ config: {
117
+ namingPattern: 'module', // 转换模式,取值为 global/module
118
+ generateScopedName: '[name]__[local]___[hash:base64:5]',
119
+ },
120
+ },
121
+ },
122
+ },
123
+ h5: {
124
+ publicPath: '/',
125
+ staticDirectory: 'static',
126
+ devServer: {
127
+ port: <%= port %>,
128
+ host: '0.0.0.0',
129
+ open: false,
130
+ proxy: {
131
+ '/api': {
132
+ target: 'http://localhost:<%= serverPort %>',
133
+ changeOrigin: true,
134
+ },
135
+ },
136
+ },
137
+ miniCssExtractPluginOption: {
138
+ ignoreOrder: true,
139
+ filename: 'css/[name].[hash].css',
140
+ chunkFilename: 'css/[name].[chunkhash].css',
141
+ },
142
+ postcss: {
143
+ autoprefixer: {
144
+ enable: true,
145
+ config: {},
146
+ },
147
+ cssModules: {
148
+ enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
149
+ config: {
150
+ namingPattern: 'module', // 转换模式,取值为 global/module
151
+ generateScopedName: '[name]__[local]___[hash:base64:5]',
152
+ },
153
+ },
154
+ },
155
+ },
156
+ rn: {
157
+ appName: '<%= appName %>',
158
+ postcss: {
159
+ cssModules: {
160
+ enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true
161
+ },
162
+ },
163
+ },
164
+ };
165
+
166
+ process.env.BROWSERSLIST_ENV = process.env.NODE_ENV;
167
+
168
+ if (process.env.NODE_ENV === 'development') {
169
+ // 本地开发构建配置(不混淆压缩)
170
+ return merge({}, baseConfig, devConfig);
171
+ }
172
+ // 生产构建配置(默认开启压缩混淆等)
173
+ return merge({}, baseConfig, prodConfig);
174
+ });
@@ -0,0 +1,35 @@
1
+ import type { UserConfigExport } from '@tarojs/cli';
2
+
3
+ export default {
4
+ mini: {},
5
+ h5: {
6
+ // 确保产物为 es5
7
+ legacy: false,
8
+ /**
9
+ * WebpackChain 插件配置
10
+ * @docs https://github.com/neutrinojs/webpack-chain
11
+ */
12
+ // webpackChain (chain) {
13
+ // /**
14
+ // * 如果 h5 端编译后体积过大,可以使用 webpack-bundle-analyzer 插件对打包体积进行分析。
15
+ // * @docs https://github.com/webpack-contrib/webpack-bundle-analyzer
16
+ // */
17
+ // chain.plugin('analyzer')
18
+ // .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, [])
19
+ // /**
20
+ // * 如果 h5 端首屏加载时间过长,可以使用 prerender-spa-plugin 插件预加载首页。
21
+ // * @docs https://github.com/chrisvfritz/prerender-spa-plugin
22
+ // */
23
+ // const path = require('path')
24
+ // const Prerender = require('prerender-spa-plugin')
25
+ // const staticDir = path.join(__dirname, '..', 'dist')
26
+ // chain
27
+ // .plugin('prerender')
28
+ // .use(new Prerender({
29
+ // staticDir,
30
+ // routes: [ '/pages/index/index' ],
31
+ // postProcess: (context) => ({ ...context, outputPath: path.join(staticDir, 'index.html') })
32
+ // }))
33
+ // }
34
+ },
35
+ } satisfies UserConfigExport<'vite'>;
@@ -0,0 +1,80 @@
1
+ import { FlatCompat } from '@eslint/eslintrc';
2
+ import { fileURLToPath } from 'node:url';
3
+ import path from 'node:path';
4
+
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = path.dirname(__filename);
7
+
8
+ const compat = new FlatCompat({
9
+ baseDirectory: __dirname,
10
+ });
11
+
12
+ export default [
13
+ ...compat.extends('taro/react'),
14
+ {
15
+ rules: {
16
+ 'react/jsx-uses-react': 'off',
17
+ 'react/react-in-jsx-scope': 'off',
18
+ 'jsx-quotes': ['error', 'prefer-double'],
19
+ 'react-hooks/exhaustive-deps': 'off',
20
+ },
21
+ },
22
+ {
23
+ files: ['src/**/*.{js,jsx,ts,tsx}'],
24
+ ignores: ['src/network.ts'],
25
+ rules: {
26
+ 'no-restricted-syntax': [
27
+ 'error',
28
+ {
29
+ selector:
30
+ "MemberExpression[object.name='process'][property.name='env']",
31
+ message:
32
+ '请勿在 src 目录下直接使用 process.env\n如需获取 URL 请求前缀,请使用已经注入全局的 PROJECT_DOMAIN',
33
+ },
34
+ {
35
+ selector:
36
+ ":matches(ExportNamedDeclaration, ExportDefaultDeclaration) :matches([id.name='Network'], [declaration.id.name='Network'])",
37
+ message:
38
+ "禁止自行定义 Network,项目已提供 src/network.ts,请直接使用: import { Network } from '@/network'",
39
+ },
40
+ ],
41
+ 'no-restricted-properties': [
42
+ 'error',
43
+ {
44
+ object: 'Taro',
45
+ property: 'request',
46
+ message:
47
+ "请使用 Network.request 替代 Taro.request,导入方式: import { Network } from '@/network'",
48
+ },
49
+ {
50
+ object: 'Taro',
51
+ property: 'uploadFile',
52
+ message:
53
+ "请使用 Network.uploadFile 替代 Taro.uploadFile,导入方式: import { Network } from '@/network'",
54
+ },
55
+ {
56
+ object: 'Taro',
57
+ property: 'downloadFile',
58
+ message:
59
+ "请使用 Network.downloadFile 替代 Taro.downloadFile,导入方式: import { Network } from '@/network'",
60
+ },
61
+ ],
62
+ },
63
+ },
64
+ {
65
+ files: ['src/pages/index/index.tsx'],
66
+ rules: {
67
+ 'no-restricted-syntax': [
68
+ 'error',
69
+ {
70
+ selector: 'JSXText[value=/应用开发中/]',
71
+ message:
72
+ '检测到首页 (src/pages/index/index) 仍为默认占位页面,这会导致用户无法进入新增页面,请根据用户需求开发实际的首页功能和界面。如果已经开发了新的首页,也需要删除旧首页,并更新 src/app.config.ts 文件',
73
+ },
74
+ ],
75
+ },
76
+ },
77
+ {
78
+ ignores: ['dist/**', 'dist-*/**', 'node_modules/**'],
79
+ },
80
+ ];
File without changes
@@ -0,0 +1,97 @@
1
+ {
2
+ "name": "<%= appName %>",
3
+ "version": "1.0.0",
4
+ "private": true,
5
+ "description": "Coze Mini Program Application",
6
+ "scripts": {
7
+ "build": "pnpm exec concurrently --kill-others-on-fail --kill-signal SIGKILL -n lint,tsc,web,weapp,server -c red,blue,green,yellow,magenta \"pnpm lint:build\" \"pnpm tsc\" \"pnpm build:web\" \"pnpm build:weapp\" \"pnpm build:server\"",
8
+ "build:server": "pnpm --filter server build",
9
+ "build:weapp": "taro build --type weapp",
10
+ "build:web": "taro build --type h5",
11
+ "dev": "pnpm exec concurrently --kill-others --kill-signal SIGKILL -n web,server -c blue,green \"pnpm dev:web\" \"pnpm dev:server\"",
12
+ "dev:server": "pnpm --filter server dev",
13
+ "dev:weapp": "taro build --type weapp --watch",
14
+ "dev:web": "taro build --type h5 --watch",
15
+ "preinstall": "npx only-allow pnpm",
16
+ "postinstall": "weapp-tw patch",
17
+ "kill:all": "pkill -9 -f 'concurrently' 2>/dev/null || true; pkill -9 -f 'nest start' 2>/dev/null || true; pkill -9 -f 'taro build' 2>/dev/null || true; pkill -9 -f 'node.*dev' 2>/dev/null || true; echo 'All dev processes cleaned'",
18
+ "lint": "eslint \"src/**/*.{js,jsx,ts,tsx}\"",
19
+ "lint:build": "eslint \"src/**/*.{js,jsx,ts,tsx}\" --max-warnings=0",
20
+ "lint:fix": "eslint \"src/**/*.{js,jsx,ts,tsx}\" --fix",
21
+ "new": "taro new",
22
+ "preview:weapp": "taro build --type weapp --preview",
23
+ "tsc": "npx tsc --noEmit --skipLibCheck",
24
+ "validate": "pnpm exec concurrently --kill-others-on-fail --kill-signal SIGKILL -n lint,tsc -c red,blue \"pnpm lint:build\" \"pnpm tsc\""
25
+ },
26
+ "lint-staged": {
27
+ "src/**/*.{js,jsx,ts,tsx}": [
28
+ "eslint"
29
+ ]
30
+ },
31
+ "browserslist": [
32
+ "last 3 versions",
33
+ "Android >= 4.1",
34
+ "ios >= 8"
35
+ ],
36
+ "dependencies": {
37
+ "@babel/runtime": "^7.24.4",
38
+ "@tarojs/components": "4.1.9",
39
+ "@tarojs/helper": "4.1.9",
40
+ "@tarojs/plugin-framework-react": "4.1.9",
41
+ "@tarojs/plugin-platform-h5": "4.1.9",
42
+ "@tarojs/plugin-platform-weapp": "4.1.9",
43
+ "@tarojs/react": "4.1.9",
44
+ "@tarojs/runtime": "4.1.9",
45
+ "@tarojs/shared": "4.1.9",
46
+ "@tarojs/taro": "4.1.9",
47
+ "drizzle-kit": "^0.31.8",
48
+ "lucide-react-taro": "^1.2.0",
49
+ "react": "^18.0.0",
50
+ "react-dom": "^18.0.0",
51
+ "zustand": "^5.0.9"
52
+ },
53
+ "devDependencies": {
54
+ "@babel/core": "^7.24.4",
55
+ "@babel/plugin-transform-class-properties": "7.25.9",
56
+ "@babel/preset-react": "^7.24.1",
57
+ "@eslint/eslintrc": "^3.3.1",
58
+ "@tailwindcss/postcss": "^4.1.18",
59
+ "@tarojs/cli": "4.1.9",
60
+ "@tarojs/plugin-generator": "4.1.9",
61
+ "@tarojs/plugin-mini-ci": "^4.1.9",
62
+ "@tarojs/vite-runner": "4.1.9",
63
+ "@types/minimatch": "^5",
64
+ "@types/react": "^18.0.0",
65
+ "@vitejs/plugin-react": "^4.3.0",
66
+ "babel-preset-taro": "4.1.9",
67
+ "concurrently": "^9.2.1",
68
+ "dotenv": "^17.2.3",
69
+ "eslint": "^8.57.0",
70
+ "eslint-config-taro": "4.1.9",
71
+ "eslint-plugin-react": "^7.34.1",
72
+ "eslint-plugin-react-hooks": "^4.4.0",
73
+ "less": "^4.2.0",
74
+ "lint-staged": "^16.1.2",
75
+ "miniprogram-ci": "^2.1.26",
76
+ "only-allow": "^1.2.2",
77
+ "postcss": "^8.5.6",
78
+ "react-refresh": "^0.14.0",
79
+ "stylelint": "^16.4.0",
80
+ "stylelint-config-standard": "^38.0.0",
81
+ "tailwindcss": "^4.1.18",
82
+ "terser": "^5.30.4",
83
+ "typescript": "^5.4.5",
84
+ "vite": "^4.2.0",
85
+ "weapp-tailwindcss": "^4.9.2"
86
+ },
87
+ "packageManager": "pnpm@9.0.0",
88
+ "engines": {
89
+ "pnpm": ">=9.0.0"
90
+ },
91
+ "templateInfo": {
92
+ "name": "default",
93
+ "typescript": true,
94
+ "css": "Less",
95
+ "framework": "React"
96
+ }
97
+ }