Provides a basic hybrid starter application using Ionic, Webpack and many other technologies. The main goals are to provide a commonjs application structure along with many of the common build tasks required for a project.
- Ionic - Hybrid Framework
- Angular - Javascript Framework
- PouchDB - Local database used in example notes app
- Apache Cordova - Hybrid Application Platform
- Gulp - Build System
- JSCS - JavaScript Style Checker
- JSHint - JavaScript Linter
- webpack - Module Bundler
- Karma - Test Runner
- BrowserSync - Browser Testing and Live Reloading
- Plato - Code Analysis Reporting
- Dgeni - Documentation Generator
- GitFlow - Git workflow for managing branching and releases
- git-promise - Used during build to run git commands
- conventional-changelog - Automatic changelog generation from git commits
- gulp-todo - Generates markdown page from TODO messages in source scripts
- gulp-bump - Increments json versions during release in package.json and bower.json
- gulp-xml-editor - Increments xml version during release in Cordova config.xml
- gulp-gh-pages - GitHub gh-pages site generation
The above represents a partial list of some of the libraries used. For a complete list of dependencies, refer to the package.json and bower.json.
- git-flow needs to be installed for doing releases
Fork and clone the repository
$ git clone <your_fork>
Install the dependencies
$ npm install
Initialize project settings (TODO)
$ gulp init
Watch Mode (this will watch the webpack bundle and run browser-sync)
$ gulp watch
Release Mode (git flow release, updates versions, docs and gh-pages site)
$ gulp release [--major || --minor]
Optionally a major or minor argument can be passed to represent a major or minor release. By default release will do a patch release incrementing the last part of the version. The version consists of the following parts: MAJOR.MINOR.PATCH. If gulp release is run with no arguments and the version is 1.0.0, it would increment to 1.0.1.
Adding Cordova Plugins
$ cordova plugins add com.ionic.keyboard org.apache.cordova.console org.apache.cordova.device
Adding Cordova Platforms
$ cordova platform add ios
Build
$ gulp && cordova build
Running in the emulator
$ cordova emulate ios