@coze-arch/cli 0.0.1-alpha.c53937 → 0.0.1-alpha.cac8f5

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 (77) hide show
  1. package/lib/__templates__/expo/.coze +3 -3
  2. package/lib/__templates__/expo/.cozeproj/scripts/dev_build.sh +46 -0
  3. package/lib/__templates__/expo/.cozeproj/scripts/dev_run.sh +220 -0
  4. package/lib/__templates__/expo/.cozeproj/scripts/prod_build.sh +2 -2
  5. package/lib/__templates__/expo/.cozeproj/scripts/prod_run.sh +3 -4
  6. package/lib/__templates__/expo/.cozeproj/scripts/server_dev_run.sh +45 -0
  7. package/lib/__templates__/expo/README.md +68 -7
  8. package/lib/__templates__/expo/_gitignore +1 -1
  9. package/lib/__templates__/expo/_npmrc +2 -4
  10. package/lib/__templates__/expo/client/app/_layout.tsx +14 -14
  11. package/lib/__templates__/expo/client/app/index.tsx +1 -0
  12. package/lib/__templates__/expo/client/app.config.ts +76 -0
  13. package/lib/__templates__/expo/client/components/ThemedText.tsx +33 -0
  14. package/lib/__templates__/expo/client/components/ThemedView.tsx +38 -0
  15. package/lib/__templates__/expo/client/constants/theme.ts +109 -68
  16. package/lib/__templates__/expo/client/declarations.d.ts +5 -0
  17. package/lib/__templates__/expo/{eslint.config.mjs → client/eslint.config.mjs} +14 -10
  18. package/lib/__templates__/expo/client/hooks/useColorScheme.ts +34 -1
  19. package/lib/__templates__/expo/client/hooks/useTheme.ts +26 -6
  20. package/lib/__templates__/expo/client/metro.config.js +121 -0
  21. package/lib/__templates__/expo/client/package.json +93 -0
  22. package/lib/__templates__/expo/client/screens/demo/index.tsx +25 -0
  23. package/lib/__templates__/expo/client/screens/demo/styles.ts +28 -0
  24. package/lib/__templates__/expo/client/scripts/install-missing-deps.js +1 -0
  25. package/lib/__templates__/expo/client/tsconfig.json +24 -0
  26. package/lib/__templates__/expo/client/utils/index.ts +22 -0
  27. package/lib/__templates__/expo/eslint-plugins/fontawesome6/index.js +9 -0
  28. package/lib/__templates__/expo/eslint-plugins/fontawesome6/names.js +2486 -0
  29. package/lib/__templates__/expo/eslint-plugins/fontawesome6/rule.js +155 -0
  30. package/lib/__templates__/expo/package.json +8 -107
  31. package/lib/__templates__/expo/pnpm-lock.yaml +451 -867
  32. package/lib/__templates__/expo/pnpm-workspace.yaml +3 -0
  33. package/lib/__templates__/expo/server/build.js +21 -0
  34. package/lib/__templates__/expo/server/package.json +32 -0
  35. package/lib/__templates__/expo/server/src/index.ts +19 -0
  36. package/lib/__templates__/expo/server/tsconfig.json +24 -0
  37. package/lib/__templates__/expo/template.config.js +1 -0
  38. package/lib/__templates__/expo/tsconfig.json +1 -24
  39. package/lib/__templates__/nextjs/.coze +1 -0
  40. package/lib/__templates__/nextjs/_npmrc +1 -0
  41. package/lib/__templates__/nextjs/next.config.ts +12 -0
  42. package/lib/__templates__/nextjs/package.json +8 -2
  43. package/lib/__templates__/nextjs/pnpm-lock.yaml +1465 -1706
  44. package/lib/__templates__/nextjs/scripts/prepare.sh +9 -0
  45. package/lib/__templates__/nextjs/src/app/globals.css +109 -89
  46. package/lib/__templates__/nextjs/src/app/layout.tsx +1 -12
  47. package/lib/__templates__/nextjs/src/app/page.tsx +35 -23
  48. package/lib/__templates__/nextjs/src/components/ui/resizable.tsx +29 -22
  49. package/lib/__templates__/nextjs/src/components/ui/sidebar.tsx +228 -230
  50. package/lib/__templates__/nextjs/template.config.js +30 -0
  51. package/lib/__templates__/templates.json +61 -43
  52. package/lib/__templates__/vite/.coze +1 -0
  53. package/lib/__templates__/vite/_npmrc +1 -0
  54. package/lib/__templates__/vite/eslint.config.mjs +9 -0
  55. package/lib/__templates__/vite/package.json +10 -1
  56. package/lib/__templates__/vite/pnpm-lock.yaml +3115 -126
  57. package/lib/__templates__/vite/scripts/prepare.sh +9 -0
  58. package/lib/__templates__/vite/src/main.ts +1 -2
  59. package/lib/__templates__/vite/template.config.js +30 -4
  60. package/lib/cli.js +201 -57
  61. package/package.json +8 -3
  62. package/lib/__templates__/expo/.cozeproj/scripts/deploy_build.sh +0 -109
  63. package/lib/__templates__/expo/.cozeproj/scripts/deploy_run.sh +0 -235
  64. package/lib/__templates__/expo/app.json +0 -63
  65. package/lib/__templates__/expo/babel.config.js +0 -19
  66. package/lib/__templates__/expo/client/app/(tabs)/_layout.tsx +0 -43
  67. package/lib/__templates__/expo/client/app/(tabs)/home.tsx +0 -1
  68. package/lib/__templates__/expo/client/app/(tabs)/index.tsx +0 -7
  69. package/lib/__templates__/expo/client/app/+not-found.tsx +0 -79
  70. package/lib/__templates__/expo/client/index.js +0 -12
  71. package/lib/__templates__/expo/client/screens/home/index.tsx +0 -51
  72. package/lib/__templates__/expo/client/screens/home/styles.ts +0 -60
  73. package/lib/__templates__/expo/metro.config.js +0 -51
  74. package/lib/__templates__/expo/src/index.ts +0 -12
  75. package/lib/__templates__/nextjs/.vscode/settings.json +0 -121
  76. package/lib/__templates__/vite/.vscode/settings.json +0 -7
  77. /package/lib/__templates__/expo/{eslint-formatter-simple.mjs → client/eslint-formatter-simple.mjs} +0 -0
@@ -1,9 +1,31 @@
1
+ import { Platform } from 'react-native';
1
2
  import dayjs from 'dayjs';
2
3
  import utc from 'dayjs/plugin/utc';
3
4
  dayjs.extend(utc);
4
5
 
5
6
  const API_BASE = (process.env.EXPO_PUBLIC_API_BASE ?? '').replace(/\/$/, '');
6
7
 
8
+ /**
9
+ * 创建跨平台兼容的文件对象,用于 FormData.append()
10
+ * - Web 端返回 File 对象
11
+ * - 移动端返回 { uri, type, name } 对象(RN fetch 会自动处理)
12
+ * @param fileUri Expo 媒体库(如 expo-image-picker、expo-camera)返回的 uri
13
+ * @param fileName 上传时的文件名,如 'photo.jpg'
14
+ * @param mimeType 文件 MIME 类型,如 'image/jpeg'、'audio/mpeg'
15
+ */
16
+ export async function createFormDataFile(
17
+ fileUri: string,
18
+ fileName: string,
19
+ mimeType: string
20
+ ): Promise<File | { uri: string; type: string; name: string }> {
21
+ if (Platform.OS === 'web') {
22
+ const response = await fetch(fileUri);
23
+ const blob = await response.blob();
24
+ return new File([blob], fileName, { type: mimeType });
25
+ }
26
+ return { uri: fileUri, type: mimeType, name: fileName };
27
+ }
28
+
7
29
  /**
8
30
  * 构建文件或图片完整的URL
9
31
  * @param url 相对或绝对路径
@@ -0,0 +1,9 @@
1
+ const validName = require('./rule')
2
+
3
+ const plugin = {
4
+ rules: {
5
+ 'valid-name': validName,
6
+ },
7
+ };
8
+
9
+ module.exports = plugin