icon-to-font 1.0.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 (69) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +230 -0
  3. package/bin/cli.js +11 -0
  4. package/bin/cli.ts +183 -0
  5. package/examples/uniapp-vue3/App.vue +17 -0
  6. package/examples/uniapp-vue3/index.html +20 -0
  7. package/examples/uniapp-vue3/main.js +22 -0
  8. package/examples/uniapp-vue3/manifest.json +72 -0
  9. package/examples/uniapp-vue3/pages/index/index.vue +33 -0
  10. package/examples/uniapp-vue3/pages.json +17 -0
  11. package/examples/uniapp-vue3/static/itf/test1.svg +1 -0
  12. package/examples/uniapp-vue3/static/itf/test2.svg +1 -0
  13. package/examples/uniapp-vue3/static/itf//346/265/213/350/257/225.svg +1 -0
  14. package/examples/uniapp-vue3/static/logo.png +0 -0
  15. package/examples/uniapp-vue3/uni.promisify.adaptor.js +13 -0
  16. package/examples/uniapp-vue3/uni.scss +76 -0
  17. package/examples/vite-react/README.md +73 -0
  18. package/examples/vite-react/eslint.config.js +23 -0
  19. package/examples/vite-react/index.html +13 -0
  20. package/examples/vite-react/package.json +30 -0
  21. package/examples/vite-react/pnpm-lock.yaml +2049 -0
  22. package/examples/vite-react/public/vite.svg +1 -0
  23. package/examples/vite-react/src/App.css +42 -0
  24. package/examples/vite-react/src/App.tsx +37 -0
  25. package/examples/vite-react/src/assets/itf/test1.svg +1 -0
  26. package/examples/vite-react/src/assets/itf/test2.svg +1 -0
  27. package/examples/vite-react/src/assets/itf//346/265/213/350/257/225.svg +1 -0
  28. package/examples/vite-react/src/assets/react.svg +1 -0
  29. package/examples/vite-react/src/index.css +68 -0
  30. package/examples/vite-react/src/main.tsx +10 -0
  31. package/examples/vite-react/tsconfig.app.json +28 -0
  32. package/examples/vite-react/tsconfig.json +7 -0
  33. package/examples/vite-react/tsconfig.node.json +26 -0
  34. package/examples/vite-react/vite.config.ts +7 -0
  35. package/examples/vite-vue3/.vscode/extensions.json +3 -0
  36. package/examples/vite-vue3/README.md +5 -0
  37. package/examples/vite-vue3/index.html +13 -0
  38. package/examples/vite-vue3/package.json +21 -0
  39. package/examples/vite-vue3/pnpm-lock.yaml +939 -0
  40. package/examples/vite-vue3/public/vite.svg +1 -0
  41. package/examples/vite-vue3/src/App.vue +30 -0
  42. package/examples/vite-vue3/src/assets/itf/test1.svg +1 -0
  43. package/examples/vite-vue3/src/assets/itf/test2.svg +1 -0
  44. package/examples/vite-vue3/src/assets/itf//346/265/213/350/257/225.svg +1 -0
  45. package/examples/vite-vue3/src/assets/vue.svg +1 -0
  46. package/examples/vite-vue3/src/components/HelloWorld.vue +41 -0
  47. package/examples/vite-vue3/src/main.ts +5 -0
  48. package/examples/vite-vue3/src/style.css +79 -0
  49. package/examples/vite-vue3/tsconfig.app.json +16 -0
  50. package/examples/vite-vue3/tsconfig.json +7 -0
  51. package/examples/vite-vue3/tsconfig.node.json +26 -0
  52. package/examples/vite-vue3/vite.config.ts +7 -0
  53. package/package.json +48 -0
  54. package/tsconfig.json +24 -0
  55. package/utils/command-line.ts +155 -0
  56. package/utils/component-generators/base-component-generator.abstract.ts +25 -0
  57. package/utils/component-generators/component-generator-factory.ts +32 -0
  58. package/utils/component-generators/component-generator.interface.ts +12 -0
  59. package/utils/component-generators/index.ts +11 -0
  60. package/utils/component-generators/react-component-generator.ts +69 -0
  61. package/utils/component-generators/uni-app-component-generator.ts +64 -0
  62. package/utils/component-generators/vue-component-generator.ts +65 -0
  63. package/utils/component-generators.ts +9 -0
  64. package/utils/css-generator.ts +47 -0
  65. package/utils/directory-structure.ts +139 -0
  66. package/utils/file-system.ts +83 -0
  67. package/utils/font-generator.ts +55 -0
  68. package/utils/project-detector.ts +145 -0
  69. package/utils/usage-generator.ts +77 -0
@@ -0,0 +1,77 @@
1
+ /**
2
+ * 使用说明生成器模块
3
+ * @description 生成不同项目类型的使用说明
4
+ */
5
+
6
+ import { DirectoryStructure } from './directory-structure';
7
+
8
+ /**
9
+ * 项目类型枚举
10
+ */
11
+ export enum ProjectType {
12
+ /** Vue 项目 */
13
+ VUE = 'vue',
14
+ /** React 项目 */
15
+ REACT = 'react',
16
+ /** uni-app 项目 */
17
+ UNIAPP = 'uniapp',
18
+ /** 其他项目类型 */
19
+ OTHER = 'other'
20
+ }
21
+
22
+ /**
23
+ * 生成使用说明
24
+ * @param {ProjectType | string} projectType - 项目类型
25
+ * @param {DirectoryStructure} directoryStructure - 目录结构
26
+ * @returns {string} 使用说明文本
27
+ * @example
28
+ * ```typescript
29
+ * const usage = generateUsage('vue', directoryStructure);
30
+ * console.log(usage); // 输出 Vue 项目的使用说明
31
+ * ```
32
+ */
33
+ export function generateUsage(
34
+ projectType: ProjectType | string,
35
+ directoryStructure: DirectoryStructure
36
+ ): string {
37
+ const type = projectType as ProjectType;
38
+ let usage = '';
39
+
40
+ // 添加目录信息
41
+ if (type === ProjectType.UNIAPP || type === ProjectType.VUE) {
42
+ usage += `📁 组件目录: ${directoryStructure.componentDir}\n`;
43
+ usage += `📁 资源目录: ${directoryStructure.assetsDir}\n`;
44
+ } else {
45
+ usage += `📁 输出目录: ${directoryStructure.componentDir}\n`;
46
+ }
47
+
48
+ usage += '\n📚 使用说明:\n';
49
+
50
+ switch (type) {
51
+ case ProjectType.UNIAPP:
52
+ usage += '1. 在你的 uni-app 项目中导入生成的组件: import ItfIcon from \'@/components/ItfIcon.vue\'\n';
53
+ usage += '2. 使用 <ItfIcon name="icon-name" /> 来使用图标\n';
54
+ usage += '3. 可以通过 size 和 color 属性来自定义图标大小和颜色\n';
55
+ break;
56
+
57
+ case ProjectType.VUE:
58
+ usage += '1. 在你的 Vue 项目中导入生成的组件: import ItfIcon from \'@/components/ItfIcon.vue\'\n';
59
+ usage += '2. 使用 <ItfIcon name="icon-name" /> 来使用图标\n';
60
+ usage += '3. 可以通过 size 和 color 属性来自定义图标大小和颜色\n';
61
+ break;
62
+
63
+ case ProjectType.REACT:
64
+ usage += '1. 在你的 React 项目中导入生成的组件\n';
65
+ usage += '2. 使用 <ItfIcon name="icon-name" /> 来使用图标\n';
66
+ usage += '3. 可以通过 size 和 color 属性来自定义图标大小和颜色\n';
67
+ break;
68
+
69
+ default:
70
+ usage += '1. 在你的项目中导入生成的组件\n';
71
+ usage += '2. 使用 <ItfIcon name="icon-name" /> 来使用图标\n';
72
+ usage += '3. 可以通过 size 和 color 属性来自定义图标大小和颜色\n';
73
+ break;
74
+ }
75
+
76
+ return usage;
77
+ }