Skip to content
This repository was archived by the owner on Jul 8, 2020. It is now read-only.

Commit 8c1f15d

Browse files
authored
Merge pull request #390 from mwaylabs/dev
1.9.0
2 parents 28990c6 + 4cb3c57 commit 8c1f15d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+831
-493
lines changed

.travis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ sudo: false
22
language: node_js
33
env: CI=true
44
node_js:
5-
- v6
6-
- v5
7-
- v4
5+
- "6"
6+
- "5"
7+
- "4"
88
after_script:
99
- npm run coveralls
1010
notifications:

README.md

Lines changed: 48 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,18 @@ Development:
1919

2020

2121
## Why you need it
22-
> Build mobile Cordova/PhoneGap apps quickly with the tools you love:
23-
Yeoman, Gulp, Bower, AngularJS, Ionic & of course Cordova. All in one sexy generator.
22+
<p align="center">
23+
<img width="175" src="https://raw.githubusercontent.com/mwaylabs/generator-m-ionic/dev/docs/resources/logo.png">
24+
</p>
2425

25-
### What's in the box
26+
> **Advanced workflows for building rock-solid Ionic apps**: develop, prototype, test, build and deliver high quality apps with Yeoman, Gulp, Bower, Angular, Cordova and of course Ionic. All in one sexy generator.
2627
27-
<p align="center">
28+
**[Read more ... ](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/intro/why_you_need_it.md)**
29+
30+
### What's in the box
31+
<br>
32+
<br>
33+
<p align="center" >
2834
<a href="http://yeoman.io/" target="_blank" alt="yeoman" title="yeoman">
2935
<img height="100" src="https://cloud.githubusercontent.com/assets/1370779/6041228/c1f91cac-ac7a-11e4-9c85-1a5298e29067.png">
3036
</a>
@@ -34,6 +40,9 @@ Yeoman, Gulp, Bower, AngularJS, Ionic & of course Cordova. All in one sexy gener
3440
<a href="http://bower.io/" target="_blank" alt="bower" title="bower">
3541
<img height="100" src="https://cloud.githubusercontent.com/assets/1370779/6041250/ef9a78b8-ac7a-11e4-9586-7e7e894e201e.png">
3642
</a>
43+
<a href="https://www.browsersync.io/" target="_blank" alt="bower" title="bower">
44+
<img height="100" src="https://cloud.githubusercontent.com/assets/1370779/16412038/77028548-3d2a-11e6-88d0-2c0d66582f4c.png">
45+
</a>
3746
<a href="https://angularjs.org/" target="_blank" alt="angular" title="angular">
3847
<img height="100" src="https://cloud.githubusercontent.com/assets/1370779/6041199/5978cb96-ac7a-11e4-9568-829e2ea4312f.png">
3948
</a>
@@ -48,6 +57,9 @@ Yeoman, Gulp, Bower, AngularJS, Ionic & of course Cordova. All in one sexy gener
4857
<a href="http://sass-lang.com/" target="_blank" alt="sass" title="sass">
4958
<img height="100" src="https://cloud.githubusercontent.com/assets/1370779/9410121/c330a3de-481e-11e5-8a69-ca0c56f6cabc.png">
5059
</a>
60+
<a href="http://eslint.org/" target="_blank" alt="eslint" title="eslint">
61+
<img height="100" src="https://cloud.githubusercontent.com/assets/1370779/15893052/ada5651e-2d7d-11e6-9246-dc749c7afd63.png">
62+
</a>
5163
<a href="http://karma-runner.github.io/" target="_blank" alt="karma" title="karma">
5264
<img height="100" src="https://cloud.githubusercontent.com/assets/1370779/9410216/44fef8fc-481f-11e5-8037-2f7f03678f4c.png">
5365
</a>
@@ -58,46 +70,57 @@ Yeoman, Gulp, Bower, AngularJS, Ionic & of course Cordova. All in one sexy gener
5870
<img height="100" src="https://cloud.githubusercontent.com/assets/1370779/9410114/b99aaa9a-481e-11e5-8655-ebc1e324200d.png">
5971
</a>
6072
</p>
73+
<br>
74+
<br>
75+
76+
**[Read more ...](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/intro/whats_in_the_box.md)**
6177

62-
## Introduction
63-
- More on: [Why you need it](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/intro/why_you_need_it.md)
64-
- More on: [What's in the box](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/intro/whats_in_the_box.md)
78+
### What's new
79+
1.9.0
80+
- **Livereload** for the device! Wohoo! See [how it's done](https://github.com/mwaylabs/generator-m-ionic/blob/master/docs/guides/development_intro.md#run-on-device-or-emulator-with-livereload).
81+
- **Testing workflow** improvements
82+
- **Precommit hooks** and others in a new [Husky Guide](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/testing_workflow.md)
83+
- **gulp protractor** now returns, allowing it to be used with husky, travis, jenkins, ...
84+
- **Questions** the generator asks are documented and explained in the [Questions](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/questions.md) document
85+
- [read more ...](https://github.com/mwaylabs/generator-m-ionic/releases/tag/1.9.0)
6586

6687
## Quick Start
6788
- [Quick Start](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/intro/quick_start.md) for the experienced developer.
6889
- [Try the demo](https://github.com/mwaylabs/generator-m-ionic-demo). Get a quick impression by cloning the sample project generated with the latest version of Generator-M-Ionic.
6990

70-
## Get started
71-
- [Installation and Prerequisites](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/start/installation_prerequisites.md)
72-
- [Development Introduction](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/start/development_intro.md)
73-
- [File structure](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/start/file_structure.md)
7491

7592
## Guides
93+
##### Setup
94+
- [Installation and Prerequisites](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/installation_prerequisites.md)
95+
- [Questions](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/questions.md) the generator will ask and what they mean
7696

77-
**Generation**
78-
- Using Ionic's [CSS or SASS](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/ionic_css_or_sass.md)?
97+
##### Basics
98+
- [Development Introduction](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/development_intro.md)
99+
- [File structure](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/file_structure.md)
79100
- [Sub-generators](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/sub_generators.md) for adding new components.
80-
- [Generator Update](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/generator_update.md) (experimental) can help you update to a new generator version.
81-
82-
**App Development**
83-
- [Developing on Windows](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/windows.md), what you need to know.
84101
- [Git integration](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/git_integration.md), see how it's done.
85-
- [SASS integration](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/sass_integration.md) in our module concept.
86-
- [Bower Component Usage](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/bower_component_usage.md) in our module concept.
87-
- [CORS & Proxying](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/cors_proxy.md), how to cope with CORS issues.
88-
- [Gulp defaults](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/gulp_defaults.md), spare power users some tedious typing on the command line.
102+
- [Sass integration](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/sass_integration.md) in our module concept.
103+
- [Bower component usage](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/bower_component_usage.md) in our module concept.
104+
- [Ionic style source](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/ionic_style_source.md), change it from CSS to Sass or vice versa.
89105

90-
**Quality**
106+
##### Quality
91107
- [ESLint](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/eslint.md) code style checks and setting up your IDE/Editor.
92-
- [Testing](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/testing.md) with our testing workflows.
108+
- [Testing](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/testing.md) with our testing setup.
109+
- [Husky hooks](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/testing_workflow.md), automatically run linting and tests before you commit.
93110

94-
**Continuous Integration and Delivery**
111+
##### Advanced
112+
- [CORS & Proxying](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/cors_proxy.md), how to cope with CORS issues.
95113
- [App Icons and splash screens](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/icons_splash_screens.md), a simple setup or different sets for different builds - all is possible.
96114
- [Use Environments](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/environments.md) manage different API Endpoints and much more with just a single parameter.
115+
- [Gulp defaults](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/gulp_defaults.md), spare yourself some tedious typing on the command line.
116+
- [Generator Update (experimental)](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/generator_update.md) can help you update to a new generator version.
117+
118+
119+
##### Building & Continuous Integration
97120
- [Build Vars](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/build_vars.md), inject vars into your app at build time.
98121
- [Programmatically change the `config.xml`](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/guides/programmatically_change_configxml.md), an essential part for a successful continuous integration setup. Add environments and build vars for a full blown continuous integration use case!
99122

100-
**Ecosystems**
123+
##### Ecosystems
101124
- [Ionic Platform](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/ecosystems/ionic_platform.md) (beta) - A cloud platform for managing and scaling cross-platform mobile apps
102125
- [Appmobi](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/ecosystems/appmobi.md) - Secure Mobile Development Platform
103126
- [ApiOmat](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/ecosystems/apiomat.md) (beta) - Enterprise Backend as a Service

docs/contribute/contribution_guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ Once you issue a pull-request, we'll work with you until your changes can be mer
3030

3131
## Getting your hands dirty
3232

33-
1. [fork](https://github.com/mwaylabs/generator-m/fork) our repository [ [github help](https://help.github.com/articles/fork-a-repo/) ]
33+
1. [fork](https://github.com/mwaylabs/generator-m-ionic/fork) our repository [ [github help](https://help.github.com/articles/fork-a-repo/) ]
3434
1. clone your fork
3535
1. navigate to your local clone
3636
1. create an issue branch

docs/contribute/faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
## Why don't you support x?
99
We're living in times of rapid developments and technology life-cycles. We've come to realize that in times like this if you want to be productive and perform professionally, it's important to focus on the basics, get these right and not get lost in the latest fancy tech.
1010

11-
However we also do realize that individual developers and individual projects have individual requirements. So instead of trying to integrate everything ourselves, we highly encourage you to provide [recipes](../../README.md#recipes) on how to integrate your desired technology to share with other developers.
11+
However we also do realize that individual developers and individual projects have individual requirements. So instead of trying to integrate everything ourselves, we highly encourage you to provide [Guides](../../README.md#guides) on how to integrate your desired technology to share with other developers.
1212

1313
That way we stay open to new technologies and ideas without sacrificing stability and valuable time by maintaining a gazillion of features. Read more in our [Mission Statement](./mission_statement.md).
1414

docs/contribute/issue_guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Although we do a lot of testing on our core features, we depend on the community
33

44
## What's your need?
55
If you want to open an issue your need will fall into one of those three categories:
6-
- You have an **idea, how things could be better** and possibly want to **contribute code**? - Head over to our [Contribution Guide](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/contribute/contribution_guide.md).
6+
- You have an **idea, how things could be better** and possibly want to **contribute code**? - Head over to our [Contribution Guide](./contribution_guide.md).
77
- You have an **issue with one of the features** and it doesn't work the way you thought it would? - Keep reading this document!
88
- Something completely different? - [Open an issue](https://github.com/mwaylabs/generator-m-ionic/issues/new) and let's get talking.
99

docs/ecosystems/apiomat.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
55
## Prepare
66
You need:
7+
78
1. An **ApiOmat Account**. [Register here](https://apiomat.com/en/sign-up-en/) if you don't have one already.
89
3. A **working [Generator-M-Ionic](https://github.com/mwaylabs/generator-m-ionic) project** with either tabs or a sidemenu navigation.
910
2. A **model definition** that is located inside your project (e.g. `app/main/assets/Contact.json`) to generate the UI from.
@@ -102,7 +103,7 @@ Depending on which **starter template** you chose you'll need to add a navigatio
102103
<!-- ... -->
103104
```
104105

105-
And last but not least, make the UI look nice and well-balanced with these few lines of SASS:
106+
And last but not least, make the UI look nice and well-balanced with these few lines of Sass:
106107

107108
`app/main/styles/main.scss`
108109

docs/ecosystems/appmobi.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
- `CONFIG_URL: https://cloud.appmobi.com`
1212

1313
## Integrate
14-
When you run `yo m-ionic` you'll be asked if you want to integrate appmobi into your app.
14+
When you run `yo m-ionic` you'll be asked if you want to integrate Appmobi into your app.
1515

1616
![image](https://cloud.githubusercontent.com/assets/1370779/13854363/604d502c-ec6b-11e5-9aab-90ee1986726d.png)
1717

@@ -31,16 +31,16 @@ And **that's it!** The [Appmobi Cordova Plugin](https://github.com/appMobiGithub
3131

3232
When you integrate Appmobi during project generation or using the sub-generator [generator-appmobi](https://github.com/mwaylabs/generator-appmobi) is called to setup the plugin and performs steps equivalent to running:
3333
```sh
34-
gulp --cordova 'plugin add https://github.com/appMobiGithub/cordova-plugin-appmobi.git
34+
gulp --cordova "plugin add https://github.com/appMobiGithub/cordova-plugin-appmobi.git
3535
--save
36-
--variable APP_NAME="0f50dcbf-5c79-41ee-b038-330de3ee07a7.MyApp"
37-
--variable PROJECT_ID="5bus7arx"
38-
--variable CONFIG_URL="https://cloud.appmobi.com"'
36+
--variable APP_NAME=0f50dcbf-5c79-41ee-b038-330de3ee07a7.MyApp
37+
--variable PROJECT_ID=5bus7arx
38+
--variable CONFIG_URL=https://cloud.appmobi.com"
3939
```
4040

41-
For more information on how to run Generator-M-Ionic's Cordova CLI wrapper consult the generator's [Development Introduction](https://github.com/mwaylabs/generator-m-ionic/tree/master/docs/start/development_intro.md).
41+
For more information on how to run Generator-M-Ionic's Cordova CLI wrapper consult the generator's [Development Introduction](../guides/development_intro.md).
4242
## Remove
4343
To remove Appmobi integration simply remove the plugin:
4444
```sh
45-
gulp --cordova 'plugin rm cordova-plugin-appmobi --save'
45+
gulp --cordova "plugin rm cordova-plugin-appmobi --save"
4646
```

docs/ecosystems/ionic_platform.md

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -143,15 +143,23 @@ Now navigate to the new `User` tab icon and you're ready to explore the [Ionic P
143143

144144

145145
#### Upload to ionic.io
146-
Before you can upload your app to ionic.io, you'll need to create a running build:
146+
Before you can upload your app to ionic.io, you'll need to create a running build.
147+
148+
Comment the `cordova.js` script in your `index.html`:
149+
```html
150+
<!-- will be a 404 during development -->
151+
<!-- <script src="cordova.js"></script> -->
152+
```
153+
Remember to undo this if you are building or running using `gulp --cordova`.
154+
Then in order to build and see your app run:
147155

148156
```sh
149157
gulp watch-build
150158
```
151-
will build your app into the `www/` folder and open your browser to view it. If you're confident with the results run:
159+
This will build your app into the `www/` folder and open your browser to view it. If you're confident with the results run:
152160

153161
```sh
154-
ionic upload --note 'some change note'
162+
ionic upload --note "some change note"
155163
```
156164

157165
Your app is now ready to be used with the [Ionic View App](http://view.ionic.io/).

docs/guides/bower_component_usage.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
1-
# Bower Component Usage
1+
# Bower component usage
22
> Find out how we use some of our recommended bower components
33
44
## localForage
55
We recommend using [mozilla/localForage](https://github.com/mozilla/localForage) as a persistence layer for your Ionic apps. There is a separate bower component called [angular-localForage](https://github.com/ocombe/angular-localForage) which provides localForage as an angular service `$localForage` which can be obtained using angular' dependency injection. However we recently started using plain localForage, since it already has a great API that doesn't need any wrapping.
66

7-
When you select `localforage` during the generation of your project, the generator will create your `app/.eslintrc` file accordingly and add `localforage` as an available global variable:
7+
When you want to install `localforage` after you've set up your project, run:
8+
```sh
9+
bower install angular-translate --save
10+
```
11+
To tell ESLint that `localforage` is a safe global modify your `app/.eslintrc` file accordingly and add `localforage` as an available global variable. If you choose `localforage` during project setup, this will be done for you.
812

913
```json
1014
"globals": {
@@ -13,13 +17,17 @@ When you select `localforage` during the generation of your project, the generat
1317
"localforage": true
1418
}
1519
```
16-
Since localForage already has an [ES6 Promises API](http://mozilla.github.io/localForage/):
20+
`gulp watch` then notices the `localforage` bower package and injects the source file into your `index.html`:
21+
```html
22+
<script src="bower_components/localforage/dist/localforage.js"></script>
23+
```
24+
And then you can use it right away. Since localForage already has an [ES6 Promises API](http://mozilla.github.io/localForage/):
1725

1826
```js
1927
localforage.setItem('key', 'value').then(doSomethingElse);
2028
```
2129

22-
You can simply use it by transforming it into an [angular 1.x promise](https://docs.angularjs.org/api/ng/service/$q) using `$q.when()` and use it in the angular context.
30+
You can simply use it inside angular by transforming it into an [angular 1.x promise](https://docs.angularjs.org/api/ng/service/$q) using `$q.when()`.
2331

2432
```js
2533
$q.when(localforage.setItem('key', 'value'))

docs/guides/build_vars.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Build Vars
22
>Inject variables into your app's Config constants at build time. For instance build numbers.
33
4-
Adding the `--buildVars` flag to `gulp build` or any gulp task that runs `gulp build` implicitly, for instance:
4+
Adding the `--buildVars` flag to `gulp watch` or any gulp task that runs `gulp build` implicitly, for instance:
55
```sh
6-
gulp watch --buildVars='build:12343,key:value'
6+
gulp watch --buildVars="build:12343,key:value"
77
```
88
will result in `Config` constants that look like this:
99
```js
@@ -22,7 +22,7 @@ angular.module('main')
2222
'build': '12343',
2323
'keys2': 'value2'
2424
/*endinject*/
25-
}
25+
}
2626

2727
});
2828
```

0 commit comments

Comments
 (0)