Skip to content

Commit 7db1850

Browse files
committed
added in generators using @ionic/app-generators
1 parent 9185bb5 commit 7db1850

File tree

2 files changed

+31
-17
lines changed

2 files changed

+31
-17
lines changed

lib/ionic/generate.js

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
var extend = require('../utils/extend');
44
var path = require('path');
55
var ionicAppLib = require('ionic-app-lib');
6+
var appGenerator = require('@ionic/app-generators');
67
var log = ionicAppLib.logging.logger;
78
var Project = ionicAppLib.project;
89
var 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

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
],
6161
"license": "MIT",
6262
"dependencies": {
63+
"@ionic/app-generators": "0.0.3",
6364
"cli-table": "0.3.1",
6465
"colors": "0.6.2",
6566
"expand-tilde": "1.2.0",

0 commit comments

Comments
 (0)