Skip to content

Commit 4d170d5

Browse files
committed
fix(start): add ability to install via branch name. fixes #2052.
1 parent ca2e56d commit 4d170d5

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

packages/ionic/src/commands/start.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ export class StartCommand extends Command {
123123
let [projectName, starterTemplateName] = inputs;
124124
let appName = <string>options['appname'] || projectName;
125125
let cloudAppId = <string>options['cloud-app-id'] || '';
126+
let starterBranchName = <string>options['starterBranchName'] || 'master';
127+
let wrapperBranchName = <string>options['wrapperBranchName'] || 'master';
126128
let installer = 'npm';
127129
let projectRoot: string;
128130

@@ -189,10 +191,12 @@ export class StartCommand extends Command {
189191

190192
let baseArchiveResponse;
191193
let archiveResponse;
194+
let wrapperBranchPath = starterType.baseArchive.replace('<BRANCH_NAME>', wrapperBranchName);
195+
let starterBranchPath = starterTemplate.archive.replace('<BRANCH_NAME>', starterBranchName);
192196
try {
193197
[ baseArchiveResponse, archiveResponse] = await Promise.all([
194-
fetch(starterType.baseArchive),
195-
fetch(starterTemplate.archive)
198+
fetch(wrapperBranchPath),
199+
fetch(starterBranchPath)
196200
]);
197201
} catch (e) {
198202
if (['ETIMEOUT', 'ENOTFOUND'].includes(e.code)) {

packages/ionic/src/lib/starter-templates.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ export const STARTER_TYPES: StarterTemplateType[] = [
88
{
99
id: 'ionic-angular',
1010
name: 'v2',
11-
baseArchive: 'https://github.com/driftyco/ionic2-app-base/archive/master.tar.gz',
11+
baseArchive: 'https://github.com/driftyco/ionic2-app-base/archive/<BRANCH_NAME>.tar.gz',
1212
buildDependencies: [
1313
'@ionic/cli-plugin-cordova',
1414
'@ionic/cli-plugin-ionic-angular'
@@ -17,7 +17,7 @@ export const STARTER_TYPES: StarterTemplateType[] = [
1717
{
1818
id: 'ionic1',
1919
name: 'v1',
20-
baseArchive: 'https://github.com/driftyco/ionic-app-base/archive/master.tar.gz',
20+
baseArchive: 'https://github.com/driftyco/ionic-app-base/archive/<BRANCH_NAME>.tar.gz',
2121
buildDependencies: [
2222
'@ionic/cli-plugin-cordova',
2323
'@ionic/cli-plugin-ionic1'
@@ -31,76 +31,76 @@ export const STARTER_TEMPLATES: StarterTemplate[] = [
3131
typeId: 'ionic-angular',
3232
description: 'A starting project with a simple tabbed interface',
3333
path: 'driftyco/ionic2-starter-tabs',
34-
archive: 'https://github.com/driftyco/ionic2-starter-tabs/archive/master.tar.gz'
34+
archive: 'https://github.com/driftyco/ionic2-starter-tabs/archive/<BRANCH_NAME>.tar.gz'
3535
},
3636
{
3737
name: 'blank',
3838
typeId: 'ionic-angular',
3939
description: 'A blank starter project',
4040
path: 'driftyco/ionic2-starter-blank',
41-
archive: 'https://github.com/driftyco/ionic2-starter-blank/archive/master.tar.gz'
41+
archive: 'https://github.com/driftyco/ionic2-starter-blank/archive/<BRANCH_NAME>.tar.gz'
4242
},
4343
{
4444
name: 'sidemenu',
4545
typeId: 'ionic-angular',
4646
description: 'A starting project with a side menu with navigation in the content area',
4747
path: 'driftyco/ionic2-starter-sidemenu',
48-
archive: 'https://github.com/driftyco/ionic2-starter-sidemenu/archive/master.tar.gz'
48+
archive: 'https://github.com/driftyco/ionic2-starter-sidemenu/archive/<BRANCH_NAME>.tar.gz'
4949
},
5050
{
5151
name: 'conference',
5252
typeId: 'ionic-angular',
5353
description: 'A project that demonstrates a realworld application',
5454
path: 'driftyco/ionic-conference-app',
55-
archive: 'https://github.com/driftyco/ionic-conference-app/archive/master.tar.gz'
55+
archive: 'https://github.com/driftyco/ionic-conference-app/archive/<BRANCH_NAME>.tar.gz'
5656
},
5757
{
5858
name: 'tutorial',
5959
typeId: 'ionic-angular',
6060
description: 'A tutorial based project that goes along with the Ionic documentation',
6161
path: 'driftyco/ionic2-starter-tutorial',
62-
archive: 'https://github.com/driftyco/ionic2-starter-tutorial/archive/master.tar.gz'
62+
archive: 'https://github.com/driftyco/ionic2-starter-tutorial/archive/<BRANCH_NAME>.tar.gz'
6363
},
6464
{
6565
name: 'maps',
6666
typeId: 'ionic1',
6767
description: 'An Ionic starter project using Google Maps and a side menu',
6868
path: 'driftyco/ionic-starter-maps',
69-
archive: 'https://github.com/driftyco/ionic-starter-maps/archive/master.tar.gz'
69+
archive: 'https://github.com/driftyco/ionic-starter-maps/archive/<BRANCH_NAME>.tar.gz'
7070
},
7171
{
7272
name: 'tabs',
7373
typeId: 'ionic1',
7474
description: 'A starting project for Ionic using a simple tabbed interface',
7575
path: 'driftyco/ionic-starter-maps',
76-
archive: 'https://github.com/driftyco/ionic-starter-tabs/archive/master.tar.gz'
76+
archive: 'https://github.com/driftyco/ionic-starter-tabs/archive/<BRANCH_NAME>.tar.gz'
7777
},
7878
{
7979
name: 'sidemenu',
8080
typeId: 'ionic1',
8181
description: 'A starting project for Ionic using a side menu with navigation in the content area',
8282
path: 'driftyco/ionic-starter-maps',
83-
archive: 'https://github.com/driftyco/ionic-starter-sidemenu/archive/master.tar.gz'
83+
archive: 'https://github.com/driftyco/ionic-starter-sidemenu/archive/<BRANCH_NAME>.tar.gz'
8484
},
8585
{
8686
name: 'blank',
8787
typeId: 'ionic1',
8888
description: 'A blank starter project for Ionic',
8989
path: 'driftyco/ionic-starter-maps',
90-
archive: 'https://github.com/driftyco/ionic-starter-blank/archive/master.tar.gz'
90+
archive: 'https://github.com/driftyco/ionic-starter-blank/archive/<BRANCH_NAME>.tar.gz'
9191
},
9292
{
9393
name: 'salesforce',
9494
typeId: 'ionic1',
9595
description: 'A starter project for Ionic and Salesforce',
9696
path: 'driftyco/ionic-starter-maps',
97-
archive: 'https://github.com/driftyco/ionic-starter-salesforce/archive/master.tar.gz'
97+
archive: 'https://github.com/driftyco/ionic-starter-salesforce/archive/<BRANCH_NAME>.tar.gz'
9898
},
9999
{
100100
name: 'complex-list',
101101
typeId: 'ionic1',
102102
description: 'A complex list starter template',
103103
path: 'driftyco/ionic-starter-maps',
104-
archive: 'https://github.com/driftyco/ionic-starter-complex-list/archive/master.tar.gz'
104+
archive: 'https://github.com/driftyco/ionic-starter-complex-list/archive/<BRANCH_NAME>.tar.gz'
105105
}
106106
];

0 commit comments

Comments
 (0)