33var extend = require ( '../utils/extend' ) ;
44var path = require ( 'path' ) ;
55var ionicAppLib = require ( 'ionic-app-lib' ) ;
6+ var appGenerator = require ( '@ionic/app-generators' ) ;
67var log = ionicAppLib . logging . logger ;
78var Project = ionicAppLib . project ;
89var fail = ionicAppLib . utils . fail ;
@@ -16,10 +17,6 @@ var settings = {
1617 '--list' : {
1718 title : 'List available generators' ,
1819 boolean : true
19- } ,
20- '--typescript|--ts' : {
21- boolean : true ,
22- title : '(with --v2 only) Use TypeScript in generation'
2320 }
2421 } ,
2522 isProjectTask : true
@@ -48,28 +45,44 @@ function run(ionic, argv) {
4845 var name = argv . _ [ 2 ] ; // TODO support multiple names
4946 var isTS = project . get ( 'typescript' ) || argv . ts ;
5047
51- var ionicModule = loadToolingModule ( ) ;
52-
5348 if ( argv . list ) {
54- ionicModule . Generate . printAvailableGenerators ( ) ;
49+ appGenerator . printAvailableGenerators ( ) ;
5550 return ;
5651 }
5752
58- var promise ;
59- try {
60- promise = ionicModule . generate ( { appDirectory : process . cwd ( ) , generator : generator , name : name , isTS : isTS } ) ;
61- } catch ( err ) {
62- if ( err . message . indexOf ( 'no generator available' ) !== - 1 ) {
53+ let includeSpec = argv . includeSpec ? true : false ;
54+ let includeSass = argv . skipScss ? false : true ;
55+
56+ var generatorOptions = {
57+ generatorType : generator ,
58+ suppliedName : name ,
59+ includeSpec : includeSpec ,
60+ includeSass : includeSass
61+ } ;
62+
63+ var projectStructureOptions = {
64+ absoluteComponentDirPath : process . cwd ( ) + '/src/components' ,
65+ absoluteDirectiveDirPath : process . cwd ( ) + '/src/components' ,
66+ absolutePagesDirPath : process . cwd ( ) + '/src/pages' ,
67+ absolutePipeDirPath : process . cwd ( ) + '/src/pipes' ,
68+ absoluteProviderDirPath : process . cwd ( ) + '/src/providers' ,
69+ absolutePagesDirPath : process . cwd ( ) + '/src/pages' ,
70+ absolutePathTemplateBaseDir : process . cwd ( ) + '/node_modules/ionic-angular/templates'
71+ } ;
72+
73+ return appGenerator . generate ( generatorOptions , projectStructureOptions ) . catch ( function ( err ) {
74+ if ( err . message === 'Unknown Generator Type' ) {
6375 log . error ( err . message ) ;
64- ionicModule . Generate . printAvailableGenerators ( ) ;
76+ appGenerator . printAvailableGenerators ( ) ;
6577 return ;
78+ } else {
79+ return fail ( err ) ;
6680 }
67- return fail ( err ) ;
68- }
69- return promise ;
81+ } ) ;
82+
7083
7184 } catch ( err ) {
72- fail ( 'There was an error generating your item:' , err ) ;
85+ return fail ( 'There was an error generating your item:' , err ) ;
7386 }
7487}
7588
0 commit comments