@@ -8,19 +8,22 @@ import { XmlData } from 'iconfont-parser';
88import { Config } from './getConfig' ;
99import { getTemplate } from './getTemplate' ;
1010import {
11- replaceCases , replaceColorFunc ,
11+ replaceCases ,
1212 replaceComponentName ,
1313 replaceImports ,
1414 replaceNames ,
15- replaceNamesArray , replaceNoColor ,
15+ replaceNamesArray ,
1616 replaceSingleIconContent ,
1717 replaceSize , replaceSummaryIcon ,
1818 replaceSvgComponents ,
1919 replaceToDependsComments ,
2020 replaceToOneComments ,
21+ replaceNoHelper ,
22+ replaceHelper ,
2123} from './replace' ;
2224import { whitespace } from './whitespace' ;
2325import { GENERATE_MODE } from './generateMode' ;
26+ import { copyTemplate } from './copyTemplate' ;
2427
2528const SVG_MAP = {
2629 path : 'Path' ,
@@ -48,11 +51,9 @@ export const generateComponent = (data: XmlData, config: Config) => {
4851 svgComponents . add ( 'GProps' ) ;
4952 }
5053
51- if ( config . generate_mode === GENERATE_MODE . dependsOn ) {
52- fs . copyFileSync (
53- path . join ( __dirname , '..' , 'templates' , `helper${ jsExtension } .template` ) ,
54- path . join ( saveDir , `helper${ jsExtension } ` ) ,
55- ) ;
54+ copyTemplate ( `helper${ jsExtension } ` , path . join ( saveDir , `helper${ jsExtension } ` ) ) ;
55+ if ( ! config . use_typescript ) {
56+ copyTemplate ( 'helper.d.ts' , path . join ( saveDir , 'helper.d.ts' ) ) ;
5657 }
5758
5859 data . svg . symbol . forEach ( ( item ) => {
@@ -104,6 +105,7 @@ export const generateComponent = (data: XmlData, config: Config) => {
104105 singleFile = replaceComponentName ( singleFile , componentName ) ;
105106 singleFile = replaceSingleIconContent ( singleFile , generateCase ( item , 4 ) ) ;
106107 singleFile = replaceToOneComments ( singleFile ) ;
108+ singleFile = replaceHelper ( singleFile ) ;
107109
108110 fs . writeFileSync ( path . join ( saveDir , componentName + jsxExtension ) , singleFile ) ;
109111
@@ -119,6 +121,12 @@ export const generateComponent = (data: XmlData, config: Config) => {
119121
120122 let iconFile = getTemplate ( 'Icon' + jsxExtension ) ;
121123
124+ if ( config . generate_mode === GENERATE_MODE . dependsOn ) {
125+ iconFile = replaceNoHelper ( iconFile ) ;
126+ } else {
127+ iconFile = replaceHelper ( iconFile ) ;
128+ }
129+
122130 iconFile = replaceSize ( iconFile , config . default_icon_size ) ;
123131 iconFile = replaceCases ( iconFile , cases ) ;
124132 iconFile = replaceSvgComponents ( iconFile , svgComponents ) ;
@@ -138,10 +146,8 @@ export const generateComponent = (data: XmlData, config: Config) => {
138146
139147 if ( config . generate_mode === GENERATE_MODE . allInOne ) {
140148 iconFile = replaceToDependsComments ( iconFile ) ;
141- iconFile = replaceColorFunc ( iconFile , jsExtension ) ;
142149 } else {
143150 iconFile = replaceToOneComments ( iconFile ) ;
144- iconFile = replaceNoColor ( iconFile ) ;
145151 }
146152
147153 iconFile = replaceSummaryIcon ( iconFile , config . summary_component_name ) ;
0 commit comments