41 |
42 |
43 |
--------------------------------------------------------------------------------
/app/templates/app/templates/views/signup.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/app/templates/bower.rc:
--------------------------------------------------------------------------------
1 | {
2 | "directory": "www/lib"
3 | }
4 |
--------------------------------------------------------------------------------
/app/templates/editorconfig:
--------------------------------------------------------------------------------
1 | # http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | indent_style = space
6 | indent_size = 2
7 | charset = utf-8
8 | trim_trailing_whitespace = true
9 | insert_final_newline = true
10 |
11 | [*.md]
12 | trim_trailing_whitespace = false
13 |
--------------------------------------------------------------------------------
/app/templates/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/favicon.ico
--------------------------------------------------------------------------------
/app/templates/gitignore:
--------------------------------------------------------------------------------
1 | # Specifies intentionally untracked files to ignore when using Git
2 | # http://git-scm.com/docs/gitignore
3 |
4 | node_modules/
5 | platforms/
6 | plugins/
7 | bower_components/
8 |
9 | .tmp/
10 | www/
11 | .sass-cache
12 | *.DS_Store
13 | *.log
14 |
--------------------------------------------------------------------------------
/app/templates/gulp/clean.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var path = require('path');
32 | var del = require('del');
33 | /**
34 | * Parse arguments
35 | */
36 | var args = require('yargs')
37 | .alias('e', 'emulate')
38 | .alias('b', 'build')
39 | .alias('r', 'run')
40 | // remove all debug messages (console.logs, alerts etc) from release build
41 | .alias('release', 'strip-debug')
42 | .default('build', false)
43 | .default('port', 9000)
44 | .default('strip-debug', false)
45 | .argv;
46 | var build = !!(args.build || args.emulate || args.run);
47 | var emulate = args.emulate;
48 | var run = args.run;
49 | var port = args.port;
50 | var stripDebug = !!args.stripDebug;
51 | var targetDir = path.resolve(build ? 'www' : '.tmp');
52 |
53 |
54 | /**
55 | * clean target dir
56 | */
57 | gulp.task('clean', function (done) {
58 | del([targetDir], done);
59 | });
60 |
61 | }());
62 |
--------------------------------------------------------------------------------
/app/templates/gulp/default.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 | var path = require('path');
33 | var beep = require('beepbeep');
34 | var gutil = require('gulp-util');
35 | var ascii = require('../ascii.js');
36 | var runSequence = require('run-sequence');
37 | /**
38 | * Parse arguments
39 | */
40 | var args = require('yargs')
41 | .alias('e', 'emulate')
42 | .alias('b', 'build')
43 | .alias('r', 'run')
44 | // remove all debug messages (console.logs, alerts etc) from release build
45 | .alias('release', 'strip-debug')
46 | .default('build', false)
47 | .default('port', 9000)
48 | .default('strip-debug', false)
49 | .argv;
50 | var build = !!(args.build || args.emulate || args.run);
51 | var emulate = args.emulate;
52 | var run = args.run;
53 | var port = args.port;
54 | var stripDebug = !!args.stripDebug;
55 | var targetDir = path.resolve(build ? 'www' : '.tmp');
56 |
57 |
58 | // our main sequence, with some conditional jobs depending on params
59 | gulp.task('default', function(done) {
60 | ascii.captain();
61 | gutil.log(gutil.colors.white('\nCabin crew, doors on automatic, cross-check & report. Thank you.\n'));
62 | ascii.crew();
63 | gutil.log(gutil.colors.white('\nIn a few moments, we will be passing around the cabin to\noffer you hot or cold drinks. Please, sit back, relax, and\nenjoy the flight.\n'));
64 | ascii.captain();
65 | gutil.log(gutil.colors.white('\nStarting initializing the Gulp sequence, local time is:\n'));
66 |
67 | runSequence(
68 | 'clean',
69 | 'iconfont',
70 | [
71 | 'licenses',
72 | 'fonts',
73 | 'templates',
74 | 'styles',
75 | 'favicon',
76 | 'images',
77 | 'vendor',
78 | 'languages'
79 | ],
80 | 'index',
81 | build ? 'noop' : 'watchers',
82 | build ? 'noop' : 'serve',
83 | emulate ? ['ionic:emulate', 'watchers'] : 'noop',
84 | run ? 'ionic:run' : 'noop',
85 | done);
86 | });
87 | ascii.plane();
88 | gutil.log(gutil.colors.white('Flight \"<%= appName %>\" is ready for takeoff.'));
89 |
90 | }());
91 |
--------------------------------------------------------------------------------
/app/templates/gulp/favicon.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var path = require('path');
32 | /**
33 | * Parse arguments
34 | */
35 | var args = require('yargs')
36 | .alias('e', 'emulate')
37 | .alias('b', 'build')
38 | .alias('r', 'run')
39 | // remove all debug messages (console.logs, alerts etc) from release build
40 | .alias('release', 'strip-debug')
41 | .default('build', false)
42 | .default('port', 9000)
43 | .default('strip-debug', false)
44 | .argv;
45 | var build = !!(args.build || args.emulate || args.run);
46 | var emulate = args.emulate;
47 | var run = args.run;
48 | var port = args.port;
49 | var stripDebug = !!args.stripDebug;
50 | var targetDir = path.resolve(build ? 'www' : '.tmp');
51 |
52 | // global error handler
53 | var errorHandler = function (error) {
54 | if (build) {
55 | throw error;
56 | } else {
57 | beep(2, 170);
58 | plugins.util.log(error);
59 | }
60 | };
61 |
62 | // copy favicon
63 | gulp.task('favicon', function () {
64 | return gulp.src('app/favicon.ico')
65 | .pipe(gulp.dest(path.join(targetDir)))
66 | .on('error', errorHandler);
67 | });
68 |
69 | }());
70 |
--------------------------------------------------------------------------------
/app/templates/gulp/fonts.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var path = require('path');
32 | /**
33 | * Parse arguments
34 | */
35 | var args = require('yargs')
36 | .alias('e', 'emulate')
37 | .alias('b', 'build')
38 | .alias('r', 'run')
39 | // remove all debug messages (console.logs, alerts etc) from release build
40 | .alias('release', 'strip-debug')
41 | .default('build', false)
42 | .default('port', 9000)
43 | .default('strip-debug', false)
44 | .argv;
45 | var build = !!(args.build || args.emulate || args.run);
46 | var emulate = args.emulate;
47 | var run = args.run;
48 | var port = args.port;
49 | var stripDebug = !!args.stripDebug;
50 | var targetDir = path.resolve(build ? 'www' : '.tmp');
51 |
52 | // global error handler
53 | var errorHandler = function (error) {
54 | if (build) {
55 | throw error;
56 | } else {
57 | beep(2, 170);
58 | plugins.util.log(error);
59 | }
60 | };
61 |
62 | // copy fonts
63 | gulp.task('fonts', function () {
64 | return gulp
65 | .src(['app/fonts/**/*.*', 'bower_components/ionic/fonts/*.*'])
66 | .pipe(gulp.dest(path.join(targetDir, 'fonts')))
67 | .on('error', errorHandler);
68 | });
69 |
70 |
71 | }());
72 |
--------------------------------------------------------------------------------
/app/templates/gulp/help.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 |
33 | /**
34 | * List the available gulp tasks
35 | */
36 | gulp.task('help', plugins.taskListing);
37 | // gulp.task('default', ['help']);
38 |
39 | }());
40 |
--------------------------------------------------------------------------------
/app/templates/gulp/iconfont.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var iconfont = require('gulp-iconfont');
32 | var consolidate = require('gulp-consolidate');
33 | var plugins = require('gulp-load-plugins')({lazy: true});
34 | var path = require('path');
35 | var rename = require('gulp-rename');
36 | /**
37 | * Parse arguments
38 | */
39 | var args = require('yargs')
40 | .alias('e', 'emulate')
41 | .alias('b', 'build')
42 | .alias('r', 'run')
43 | // remove all debug messages (console.logs, alerts etc) from release build
44 | .alias('release', 'strip-debug')
45 | .default('build', false)
46 | .default('port', 9000)
47 | .default('strip-debug', false)
48 | .argv;
49 | var build = !!(args.build || args.emulate || args.run);
50 | var emulate = args.emulate;
51 | var run = args.run;
52 | var port = args.port;
53 | var stripDebug = !!args.stripDebug;
54 | var targetDir = path.resolve(build ? 'www' : '.tmp');
55 |
56 | // global error handler
57 | var errorHandler = function (error) {
58 | if (build) {
59 | throw error;
60 | } else {
61 | beep(2, 170);
62 | plugins.util.log(error);
63 | }
64 | };
65 |
66 | var fontName = 'avionic-iconfont'; // Name of the symbol font
67 | var fontPath = '../fonts/';
68 |
69 | // generate iconfont
70 | gulp.task('iconfont', function () {
71 | return gulp.src('app/images/icons/*.svg', {
72 | buffer: false
73 | })
74 | .pipe(plugins.iconfontCss({
75 | fontName: fontName,
76 | path: 'app/styles/_avionic.scss',
77 | targetPath: '../styles/_avionic.scss',
78 | fontPath: '../fonts/'
79 | }))
80 | .pipe(plugins.iconfont({
81 | fontName: fontName,
82 | appendUnicode: true,
83 | centerHorizontally: true,
84 | normalize: true
85 | }))
86 | .pipe(gulp.dest(path.join(targetDir, 'fonts')))
87 | .on('error', errorHandler);
88 | });
89 |
90 | }());
91 |
--------------------------------------------------------------------------------
/app/templates/gulp/images.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var path = require('path');
32 | var imagemin = require('gulp-imagemin');
33 | var pngquant = require('imagemin-pngquant');
34 | /**
35 | * Parse arguments
36 | */
37 | var args = require('yargs')
38 | .alias('e', 'emulate')
39 | .alias('b', 'build')
40 | .alias('r', 'run')
41 | // remove all debug messages (console.logs, alerts etc) from release build
42 | .alias('release', 'strip-debug')
43 | .default('build', false)
44 | .default('port', 9000)
45 | .default('strip-debug', false)
46 | .argv;
47 | var build = !!(args.build || args.emulate || args.run);
48 | var emulate = args.emulate;
49 | var run = args.run;
50 | var port = args.port;
51 | var stripDebug = !!args.stripDebug;
52 | var targetDir = path.resolve(build ? 'www' : '.tmp');
53 |
54 | // global error handler
55 | var errorHandler = function (error) {
56 | if (build) {
57 | throw error;
58 | } else {
59 | beep(2, 170);
60 | plugins.util.log(error);
61 | }
62 | };
63 |
64 | // copy images
65 | gulp.task('images', function () {
66 | return gulp.src('app/images/**/*.*')
67 | .pipe(imagemin({
68 | optimizationLevel: 4,
69 | progressive: true,
70 | multipass: true,
71 | svgoPlugins: [{ removeViewBox: false, removeUselessStrokeAndFill: false, removeEmptyAttrs: false }],
72 | use: [pngquant()]
73 | }))
74 | .pipe(gulp.dest(path.join(targetDir, 'images')))
75 | .on('error', errorHandler);
76 | });
77 |
78 | }());
79 |
--------------------------------------------------------------------------------
/app/templates/gulp/jshint.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 | var path = require('path');
33 | var beep = require('beepbeep');
34 | var stylish = require('jshint-stylish');
35 |
36 | /**
37 | * Parse arguments
38 | */
39 | var args = require('yargs')
40 | .alias('e', 'emulate')
41 | .alias('b', 'build')
42 | .alias('r', 'run')
43 | // remove all debug messages (console.logs, alerts etc) from release build
44 | .alias('release', 'strip-debug')
45 | .default('build', false)
46 | .default('port', 9000)
47 | .default('strip-debug', false)
48 | .argv;
49 | var build = !!(args.build || args.emulate || args.run);
50 | var emulate = args.emulate;
51 | var run = args.run;
52 | var port = args.port;
53 | var stripDebug = !!args.stripDebug;
54 | var targetDir = path.resolve(build ? 'www' : '.tmp');
55 |
56 | // global error handler
57 | var errorHandler = function (error) {
58 | if (build) {
59 | throw error;
60 | } else {
61 | beep(2, 170);
62 | plugins.util.log(error);
63 | }
64 | };
65 |
66 | // lint js sources based on .jshintrc ruleset
67 | gulp.task('jshint', function () {
68 | return gulp
69 | .src('app/scripts/**/*.js')
70 | .pipe(plugins.jshint())
71 | .pipe(plugins.jshint.reporter(stylish))
72 | .on('error', errorHandler);
73 | });
74 |
75 |
76 | }());
77 |
--------------------------------------------------------------------------------
/app/templates/gulp/karma.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 | var path = require('path');
33 | var karma = require('karma').server;
34 | /**
35 | * Parse arguments
36 | */
37 | var args = require('yargs')
38 | .alias('e', 'emulate')
39 | .alias('b', 'build')
40 | .alias('r', 'run')
41 | // remove all debug messages (console.logs, alerts etc) from release build
42 | .alias('release', 'strip-debug')
43 | .default('build', false)
44 | .default('port', 9000)
45 | .default('strip-debug', false)
46 | .argv;
47 | var build = !!(args.build || args.emulate || args.run);
48 | var emulate = args.emulate;
49 | var run = args.run;
50 | var port = args.port;
51 | var stripDebug = !!args.stripDebug;
52 | var targetDir = path.resolve(build ? 'www' : '.tmp');
53 |
54 | var testFiles =[
55 | 'app/scripts/**/*.js'
56 | ];
57 |
58 | // global error handler
59 | var errorHandler = function (error) {
60 | if (build) {
61 | throw error;
62 | } else {
63 | /*beep(2, 170);*/
64 | plugins.util.log(error);
65 | }
66 | };
67 |
68 | gulp.task('test', function (done) {
69 | karma.start({
70 | configFile: __dirname + '/../karma.conf.js',
71 | singleRun: true
72 | }, done);
73 | });
74 |
75 | }());
76 |
--------------------------------------------------------------------------------
/app/templates/gulp/languages.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 | var path = require('path');
33 | var beep = require('beepbeep');
34 | /**
35 | * Parse arguments
36 | */
37 | var args = require('yargs')
38 | .alias('e', 'emulate')
39 | .alias('b', 'build')
40 | .alias('r', 'run')
41 | // remove all debug messages (console.logs, alerts etc) from release build
42 | .alias('release', 'strip-debug')
43 | .default('build', false)
44 | .default('port', 9000)
45 | .default('strip-debug', false)
46 | .argv;
47 | var build = !!(args.build || args.emulate || args.run);
48 | var emulate = args.emulate;
49 | var run = args.run;
50 | var port = args.port;
51 | var stripDebug = !!args.stripDebug;
52 | var targetDir = path.resolve(build ? 'www' : '.tmp');
53 |
54 | // global error handler
55 | var errorHandler = function (error) {
56 | if (build) {
57 | throw error;
58 | } else {
59 | beep(2, 170);
60 | plugins.util.log(error);
61 | }
62 | };
63 |
64 | // languages sources
65 | gulp.task('languages', function () {
66 | return gulp.src('app/languages/*.*')
67 | .pipe(gulp.dest(path.join(targetDir, 'languages')))
68 | // .pipe(plugins.if(build, plugins.uglify()))
69 | // .pipe(plugins.if(build, plugins.rev()))
70 | .on('error', errorHandler);
71 | });
72 |
73 |
74 |
75 | }());
76 |
--------------------------------------------------------------------------------
/app/templates/gulp/licenses.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var path = require('path');
32 | /**
33 | * Parse arguments
34 | */
35 | var args = require('yargs')
36 | .alias('e', 'emulate')
37 | .alias('b', 'build')
38 | .alias('r', 'run')
39 | // remove all debug messages (console.logs, alerts etc) from release build
40 | .alias('release', 'strip-debug')
41 | .default('build', false)
42 | .default('port', 9000)
43 | .default('strip-debug', false)
44 | .argv;
45 | var build = !!(args.build || args.emulate || args.run);
46 | var emulate = args.emulate;
47 | var run = args.run;
48 | var port = args.port;
49 | var stripDebug = !!args.stripDebug;
50 | var targetDir = path.resolve(build ? 'www' : '.tmp');
51 |
52 | // global error handler
53 | var errorHandler = function (error) {
54 | if (build) {
55 | throw error;
56 | } else {
57 | beep(2, 170);
58 | plugins.util.log(error);
59 | }
60 | };
61 |
62 | // copy licenses
63 | gulp.task('licenses', function () {
64 | return gulp
65 | .src(['LICENSE', 'README.md','CONTRIBUTING.md'])
66 | .pipe(gulp.dest(path.join(targetDir)))
67 | .on('error', errorHandler);
68 | });
69 |
70 | }());
71 |
--------------------------------------------------------------------------------
/app/templates/gulp/noop.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 |
32 | // no-op = empty function
33 | gulp.task('noop', function () {});
34 |
35 | }());
36 |
--------------------------------------------------------------------------------
/app/templates/gulp/plugins.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 | var exec = require('child_process').exec;
33 | var path = require('path');
34 | var beep = require('beepbeep');
35 | /**
36 | * Parse arguments
37 | */
38 | var args = require('yargs')
39 | .alias('e', 'emulate')
40 | .alias('b', 'build')
41 | .alias('r', 'run')
42 | // remove all debug messages (console.logs, alerts etc) from release build
43 | .alias('release', 'strip-debug')
44 | .default('build', false)
45 | .default('port', 9000)
46 | .default('strip-debug', false)
47 | .argv;
48 | var build = !!(args.build || args.emulate || args.run);
49 | var emulate = args.emulate;
50 | var run = args.run;
51 | var port = args.port;
52 | var stripDebug = !!args.stripDebug;
53 | var targetDir = path.resolve(build ? 'www' : '.tmp');
54 |
55 | // global error handler
56 | var errorHandler = function (error) {
57 | if (build) {
58 | throw error;
59 | } else {
60 | beep(2, 170);
61 | plugins.util.log(error);
62 | }
63 | };
64 |
65 | gulp.task('cordova-plugin-install', function() {
66 | require('../plugins.json').forEach(function(plugin) {
67 | exec('cordova plugin add ' + plugin, {async: false}, function(code, output) {
68 | console.log(output);
69 | });
70 | });
71 | });
72 |
73 | }());
74 |
--------------------------------------------------------------------------------
/app/templates/gulp/ripple.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 | var path = require('path');
33 | var beep = require('beepbeep');
34 | var ripple = require('ripple-emulator');
35 | /**
36 | * Parse arguments
37 | */
38 | var args = require('yargs')
39 | .alias('e', 'emulate')
40 | .alias('b', 'build')
41 | .alias('r', 'run')
42 | // remove all debug messages (console.logs, alerts etc) from release build
43 | .alias('release', 'strip-debug')
44 | .default('build', false)
45 | .default('port', 9000)
46 | .default('strip-debug', false)
47 | .argv;
48 | var build = !!(args.build || args.emulate || args.run);
49 | var emulate = args.emulate;
50 | var run = args.run;
51 | var port = args.port;
52 | var stripDebug = !!args.stripDebug;
53 | var targetDir = path.resolve(build ? 'www' : '.tmp');
54 |
55 |
56 | // ripple emulator
57 | gulp.task('ripple', ['scripts', 'styles', 'watchers'], function () {
58 |
59 | var options = {
60 | keepAlive: false,
61 | open: true,
62 | port: 4400
63 | };
64 |
65 | // Start the ripple server
66 | ripple.emulate.start(options);
67 |
68 | open('http://localhost:' + options.port + '?enableripple=true');
69 | });
70 |
71 | }());
72 |
--------------------------------------------------------------------------------
/app/templates/gulp/select.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 | var path = require('path');
33 | var beep = require('beepbeep');
34 | /**
35 | * Parse arguments
36 | */
37 | var args = require('yargs')
38 | .alias('e', 'emulate')
39 | .alias('b', 'build')
40 | .alias('r', 'run')
41 | // remove all debug messages (console.logs, alerts etc) from release build
42 | .alias('release', 'strip-debug')
43 | .default('build', false)
44 | .default('port', 9000)
45 | .default('strip-debug', false)
46 | .argv;
47 | var build = !!(args.build || args.emulate || args.run);
48 | var emulate = args.emulate;
49 | var run = args.run;
50 | var port = args.port;
51 | var stripDebug = !!args.stripDebug;
52 | var targetDir = path.resolve(build ? 'www' : '.tmp');
53 |
54 |
55 | // select emulator device
56 | gulp.task('select', plugins.shell.task([
57 | '../helpers/emulateios'
58 | ]));
59 |
60 | }());
61 |
--------------------------------------------------------------------------------
/app/templates/gulp/serve.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 | var path = require('path');
33 | var express = require('express');
34 | var livereload = require('connect-livereload');
35 | var gutil = require('gulp-util');
36 | var ascii = require('../ascii.js');
37 | var open = require('open');
38 | var beep = require('beepbeep');
39 | var appName = '<%= appName %>';
40 | /**
41 | * Parse arguments
42 | */
43 | var args = require('yargs')
44 | .alias('e', 'emulate')
45 | .alias('b', 'build')
46 | .alias('r', 'run')
47 | // remove all debug messages (console.logs, alerts etc) from release build
48 | .alias('release', 'strip-debug')
49 | .default('build', false)
50 | .default('port', 9000)
51 | .default('strip-debug', false)
52 | .argv;
53 | var build = !!(args.build || args.emulate || args.run);
54 | var emulate = args.emulate;
55 | var run = args.run;
56 | var port = args.port;
57 | var stripDebug = !!args.stripDebug;
58 | var targetDir = path.resolve(build ? 'www' : '.tmp');
59 |
60 | // global error handler
61 | var errorHandler = function (error) {
62 | if (build) {
63 | throw error;
64 | } else {
65 | beep(2, 170);
66 | plugins.util.log(error);
67 | }
68 | };
69 |
70 | // start local express server
71 | gulp.task('serve', function () {
72 | express()
73 | .use(!build ? livereload() : function () {})
74 | .use(express.static(targetDir))
75 | .listen(port);
76 | open('http://localhost:' + port + '/');
77 | ascii.captain();
78 | gutil.log(gutil.colors.white.bold('<%= appName %> is cleared to takeoff!\n'));
79 | ascii.crew();
80 | gutil.log(gutil.colors.white.bold('\nAll right, it\’s time for final cabin check. For additional safety\ninformation, check out our website http://avionic.io.\nEnjoy your flight, and as always thank you for flying Avionic.\n'));
81 | ascii.plane();
82 | gutil.log(gutil.colors.white.bold('Goodbye.'));
83 | });
84 |
85 |
86 | }());
87 |
--------------------------------------------------------------------------------
/app/templates/gulp/styles.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 | var streamqueue = require('streamqueue');
33 | var minifyCss = require('gulp-clean-css');
34 | var replace = require('gulp-replace');
35 | var path = require('path');
36 | /**
37 | * Parse arguments
38 | */
39 | var args = require('yargs')
40 | .alias('e', 'emulate')
41 | .alias('b', 'build')
42 | .alias('r', 'run')
43 | // remove all debug messages (console.logs, alerts etc) from release build
44 | .alias('release', 'strip-debug')
45 | .default('build', false)
46 | .default('port', 9000)
47 | .default('strip-debug', false)
48 | .argv;
49 | var build = !!(args.build || args.emulate || args.run);
50 | var emulate = args.emulate;
51 | var run = args.run;
52 | var port = args.port;
53 | var stripDebug = !!args.stripDebug;
54 | var targetDir = path.resolve(build ? 'www' : '.tmp');
55 |
56 | // global error handler
57 | var errorHandler = function (error) {
58 | if (build) {
59 | throw error;
60 | } else {
61 | beep(2, 170);
62 | plugins.util.log(error);
63 | }
64 | };
65 |
66 |
67 | // precompile .scss and concat with ionic.css
68 | gulp.task('styles', function () {
69 |
70 | var options = build ? { style: 'compressed' } : { style: 'expanded' };
71 | var sassStream = plugins.rubySass('app/styles/main.scss', options)
72 | .pipe(plugins.autoprefixer('last 1 Chrome version', 'last 3 iOS versions', 'last 3 Android versions'));
73 |
74 | var cssStream = gulp.src(targetDir+'/styles/_avionic.scss');
75 | // console.log(targetDir+'/styles/avionic.css');
76 | return streamqueue({ objectMode: true }, cssStream, sassStream)
77 | .pipe(plugins.concat('main.css'))
78 | .pipe(replace('/*!', '/*'))
79 | .pipe(plugins.if(build, plugins.stripCssComments()))
80 | .pipe(plugins.if(build, minifyCss()))
81 | .pipe(plugins.if(build && !emulate, plugins.rev()))
82 | .pipe(gulp.dest(path.join(targetDir, 'styles')))
83 | .on('error', errorHandler);
84 | });
85 |
86 |
87 | }());
88 |
--------------------------------------------------------------------------------
/app/templates/gulp/templates.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var path = require('path');
32 | /**
33 | * Parse arguments
34 | */
35 | var args = require('yargs')
36 | .alias('e', 'emulate')
37 | .alias('b', 'build')
38 | .alias('r', 'run')
39 | // remove all debug messages (console.logs, alerts etc) from release build
40 | .alias('release', 'strip-debug')
41 | .default('build', false)
42 | .default('port', 9000)
43 | .default('strip-debug', false)
44 | .argv;
45 | var build = !!(args.build || args.emulate || args.run);
46 | var emulate = args.emulate;
47 | var run = args.run;
48 | var port = args.port;
49 | var stripDebug = !!args.stripDebug;
50 | var targetDir = path.resolve(build ? 'www' : '.tmp');
51 |
52 | // global error handler
53 | var errorHandler = function (error) {
54 | if (build) {
55 | throw error;
56 | } else {
57 | beep(2, 170);
58 | plugins.util.log(error);
59 | }
60 | };
61 |
62 | // copy templates
63 | gulp.task('templates', function () {
64 | return gulp.src('app/templates/**/*.*')
65 | .pipe(gulp.dest(path.join(targetDir, 'templates')))
66 | .on('error', errorHandler);
67 | });
68 |
69 | }());
70 |
--------------------------------------------------------------------------------
/app/templates/gulp/vendor.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 | var path = require('path');
33 | var beep = require('beepbeep');
34 | /**
35 | * Parse arguments
36 | */
37 | var args = require('yargs')
38 | .alias('e', 'emulate')
39 | .alias('b', 'build')
40 | .alias('r', 'run')
41 | // remove all debug messages (console.logs, alerts etc) from release build
42 | .alias('release', 'strip-debug')
43 | .default('build', false)
44 | .default('port', 9000)
45 | .default('strip-debug', false)
46 | .argv;
47 | var build = !!(args.build || args.emulate || args.run);
48 | var emulate = args.emulate;
49 | var run = args.run;
50 | var port = args.port;
51 | var stripDebug = !!args.stripDebug;
52 | var targetDir = path.resolve(build ? 'www' : '.tmp');
53 |
54 | // global error handler
55 | var errorHandler = function (error) {
56 | if (build) {
57 | throw error;
58 | } else {
59 | beep(2, 170);
60 | plugins.util.log(error);
61 | }
62 | };
63 |
64 | // concatenate and minify vendor sources
65 | gulp.task('vendor', function () {
66 | var vendorFiles = require('../vendor.json');
67 | return gulp.src(vendorFiles)
68 | .pipe(plugins.concat('vendor.js'))
69 | .pipe(plugins.if(build, plugins.uglify()))
70 | .pipe(plugins.if(build, plugins.rev()))
71 | .pipe(gulp.dest(targetDir))
72 | .on('error', errorHandler);
73 | });
74 |
75 |
76 | }());
77 |
--------------------------------------------------------------------------------
/app/templates/gulp/watchers.task.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | var gulp = require('gulp');
31 | var plugins = require('gulp-load-plugins')({lazy: true});
32 | var livereload = require('connect-livereload');
33 | var path = require('path');
34 | var beep = require('beepbeep');
35 | /**
36 | * Parse arguments
37 | */
38 | var args = require('yargs')
39 | .alias('e', 'emulate')
40 | .alias('b', 'build')
41 | .alias('r', 'run')
42 | // remove all debug messages (console.logs, alerts etc) from release build
43 | .alias('release', 'strip-debug')
44 | .default('build', false)
45 | .default('port', 9000)
46 | .default('strip-debug', false)
47 | .argv;
48 | var build = !!(args.build || args.emulate || args.run);
49 | var emulate = args.emulate;
50 | var run = args.run;
51 | var port = args.port;
52 | var stripDebug = !!args.stripDebug;
53 | var targetDir = path.resolve(build ? 'www' : '.tmp');
54 |
55 | // global error handler
56 | var errorHandler = function (error) {
57 | if (build) {
58 | throw error;
59 | } else {
60 | beep(2, 170);
61 | plugins.util.log(error);
62 | }
63 | };
64 |
65 | // start watchers
66 | gulp.task('watchers', function () {
67 | plugins.livereload.listen();
68 | gulp.watch('app/styles/**/*.scss', ['styles']);
69 | gulp.watch('app/fonts/**', ['fonts']);
70 | gulp.watch('app/icons/**', ['iconfont']);
71 | gulp.watch('app/images/**', ['images']);
72 | gulp.watch('app/favicon.ico', ['favicon']);
73 | gulp.watch('app/scripts/**/*.js', ['index']);
74 | gulp.watch('./vendor.json', ['vendor']);
75 | gulp.watch('app/languages/*.json', ['languages']);
76 | gulp.watch('app/LICENSE', ['licenses']);
77 | gulp.watch('app/*.md', ['licenses']);
78 | gulp.watch('app/templates/**/*.html', ['index']);
79 | gulp.watch('app/index.html', ['index']);
80 | gulp.watch(targetDir + '/**')
81 | .on('change', plugins.livereload.changed)
82 | .on('error', errorHandler);
83 | });
84 |
85 | }());
86 |
--------------------------------------------------------------------------------
/app/templates/helpers/emulateios:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | export DEVICES=`ios-sim showdevicetypes 2>&1`
3 | export DEVICES=\"`echo $DEVICES | sed -e 's/ com./" "com./g' | sed -e 's/, /,~/g'`\"
4 | PS3='Please enter your choice: '
5 | options=($DEVICES)
6 | curpath="$(cd "$(dirname "$1")"; pwd)/$(basename "$1")"
7 | app="`find $curpath/platforms/ios/build/emulator -name *.app -print`"
8 | escaped_app="\"$app\""
9 |
10 | echo $app
11 | select opt in "${options[@]}"
12 | do
13 | case $opt in
14 | *) echo ios-sim launch "$escaped_app" --devicetypeid "`echo $opt | sed -e "s/~/ /g"`" --stderr ./platforms/ios/cordova/console.log --stdout ./platforms/ios/cordova/console.log > tmp.run.file;chmod +x tmp.run.file;./tmp.run.file;rm tmp.run.file;exit;
15 | esac
16 | done
17 |
--------------------------------------------------------------------------------
/app/templates/hooks/README.md:
--------------------------------------------------------------------------------
1 |
21 | # Cordova Hooks
22 |
23 | This directory may contain scripts used to customize cordova commands. This
24 | directory used to exist at `.cordova/hooks`, but has now been moved to the
25 | project root. Any scripts you add to these directories will be executed before
26 | and after the commands corresponding to the directory name. Useful for
27 | integrating your own build systems or integrating with version control systems.
28 |
29 | __Remember__: Make your scripts executable.
30 |
31 | ## Hook Directories
32 | The following subdirectories will be used for hooks:
33 |
34 | after_build/
35 | after_compile/
36 | after_docs/
37 | after_emulate/
38 | after_platform_add/
39 | after_platform_rm/
40 | after_platform_ls/
41 | after_plugin_add/
42 | after_plugin_ls/
43 | after_plugin_rm/
44 | after_plugin_search/
45 | after_prepare/
46 | after_run/
47 | after_serve/
48 | before_build/
49 | before_compile/
50 | before_docs/
51 | before_emulate/
52 | before_platform_add/
53 | before_platform_rm/
54 | before_platform_ls/
55 | before_plugin_add/
56 | before_plugin_ls/
57 | before_plugin_rm/
58 | before_plugin_search/
59 | before_prepare/
60 | before_run/
61 | before_serve/
62 | pre_package/ <-- Windows 8 and Windows Phone only.
63 |
64 | ## Script Interface
65 |
66 | All scripts are run from the project's root directory and have the root directory passes as the first argument. All other options are passed to the script using environment variables:
67 |
68 | * CORDOVA_VERSION - The version of the Cordova-CLI.
69 | * CORDOVA_PLATFORMS - Comma separated list of platforms that the command applies to (e.g.: android, ios).
70 | * CORDOVA_PLUGINS - Comma separated list of plugin IDs that the command applies to (e.g.: org.apache.cordova.file, org.apache.cordova.file-transfer)
71 | * CORDOVA_HOOK - Path to the hook that is being executed.
72 | * CORDOVA_CMDLINE - The exact command-line arguments passed to cordova (e.g.: cordova run ios --emulate)
73 |
74 | If a script returns a non-zero exit code, then the parent cordova command will be aborted.
75 |
76 |
77 | ## Writing hooks
78 |
79 | We highly recommend writting your hooks using Node.js so that they are
80 | cross-platform. Some good examples are shown here:
81 |
82 | [http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/](http://devgirl.org/2013/11/12/three-hooks-your-cordovaphonegap-project-needs/)
83 |
84 |
--------------------------------------------------------------------------------
/app/templates/hooks/after_prepare/010_add_platform_class.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | // Add Platform Class
4 | // v1.0
5 | // Automatically adds the platform class to the body tag
6 | // after the `prepare` command. By placing the platform CSS classes
7 | // directly in the HTML built for the platform, it speeds up
8 | // rendering the correct layout/style for the specific platform
9 | // instead of waiting for the JS to figure out the correct classes.
10 |
11 | var fs = require('fs');
12 | var path = require('path');
13 |
14 | var rootdir = process.argv[2];
15 |
16 | function addPlatformBodyTag(indexPath, platform) {
17 | // add the platform class to the body tag
18 | try {
19 | var platformClass = 'platform-' + platform;
20 | var cordovaClass = 'platform-cordova platform-webview';
21 |
22 | var html = fs.readFileSync(indexPath, 'utf8');
23 |
24 | var bodyTag = findBodyTag(html);
25 | if(!bodyTag) return; // no opening body tag, something's wrong
26 |
27 | if(bodyTag.indexOf(platformClass) > -1) return; // already added
28 |
29 | var newBodyTag = bodyTag;
30 |
31 | var classAttr = findClassAttr(bodyTag);
32 | if(classAttr) {
33 | // body tag has existing class attribute, add the classname
34 | var endingQuote = classAttr.substring(classAttr.length-1);
35 | var newClassAttr = classAttr.substring(0, classAttr.length-1);
36 | newClassAttr += ' ' + platformClass + ' ' + cordovaClass + endingQuote;
37 | newBodyTag = bodyTag.replace(classAttr, newClassAttr);
38 |
39 | } else {
40 | // add class attribute to the body tag
41 | newBodyTag = bodyTag.replace('>', ' class="' + platformClass + ' ' + cordovaClass + '">');
42 | }
43 |
44 | html = html.replace(bodyTag, newBodyTag);
45 |
46 | fs.writeFileSync(indexPath, html, 'utf8');
47 |
48 | process.stdout.write('add to body class: ' + platformClass + '\n');
49 | } catch(e) {
50 | process.stdout.write(e);
51 | }
52 | }
53 |
54 | function findBodyTag(html) {
55 | // get the body tag
56 | try{
57 | return html.match(/
])(.*?)>/gi)[0];
58 | }catch(e){}
59 | }
60 |
61 | function findClassAttr(bodyTag) {
62 | // get the body tag's class attribute
63 | try{
64 | return bodyTag.match(/ class=["|'](.*?)["|']/gi)[0];
65 | }catch(e){}
66 | }
67 |
68 | if (rootdir) {
69 |
70 | // go through each of the platform directories that have been prepared
71 | var platforms = (process.env.CORDOVA_PLATFORMS ? process.env.CORDOVA_PLATFORMS.split(',') : []);
72 |
73 | for(var x=0; x
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | <%= ngModulName %>
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/templates/jscsrc:
--------------------------------------------------------------------------------
1 |
2 | {
3 | "excludeFiles": ["node_modules/**", "bower_components/**"],
4 |
5 | "requireCurlyBraces": [
6 | "if",
7 | "else",
8 | "for",
9 | "while",
10 | "do",
11 | "try",
12 | "catch"
13 | ],
14 | "requireOperatorBeforeLineBreak": true,
15 | "requireCamelCaseOrUpperCaseIdentifiers": true,
16 | "maximumLineLength": {
17 | "value": 100,
18 | "allowComments": true,
19 | "allowRegex": true
20 | },
21 | "validateIndentation": 4,
22 | "validateQuoteMarks": "'",
23 |
24 | "disallowMultipleLineStrings": true,
25 | "disallowMixedSpacesAndTabs": true,
26 | "disallowTrailingWhitespace": true,
27 | "disallowSpaceAfterPrefixUnaryOperators": true,
28 | "disallowMultipleVarDecl": null,
29 |
30 | "requireSpaceAfterKeywords": [
31 | "if",
32 | "else",
33 | "for",
34 | "while",
35 | "do",
36 | "switch",
37 | "return",
38 | "try",
39 | "catch"
40 | ],
41 | "requireSpaceBeforeBinaryOperators": [
42 | "=", "+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=",
43 | "&=", "|=", "^=", "+=",
44 |
45 | "+", "-", "*", "/", "%", "<<", ">>", ">>>", "&",
46 | "|", "^", "&&", "||", "===", "==", ">=",
47 | "<=", "<", ">", "!=", "!=="
48 | ],
49 | "requireSpaceAfterBinaryOperators": true,
50 | "requireSpacesInConditionalExpression": true,
51 | "requireSpaceBeforeBlockStatements": true,
52 | "requireLineFeedAtFileEnd": true,
53 | "disallowSpacesInsideObjectBrackets": "all",
54 | "disallowSpacesInsideArrayBrackets": "all",
55 | "disallowSpacesInsideParentheses": true,
56 |
57 | "validateJSDoc": {
58 | "checkParamNames": true,
59 | "requireParamTypes": true
60 | },
61 |
62 | "disallowMultipleLineBreaks": true,
63 |
64 | "disallowCommaBeforeLineBreak": null,
65 | "disallowDanglingUnderscores": null,
66 | "disallowEmptyBlocks": null,
67 | "disallowTrailingComma": null,
68 | "requireCommaBeforeLineBreak": null,
69 | "requireDotNotation": null,
70 | "requireMultipleVarDecl": null,
71 | "requireParenthesesAroundIIFE": true
72 | }
73 |
--------------------------------------------------------------------------------
/app/templates/jshintrc:
--------------------------------------------------------------------------------
1 | {
2 | "node": true,
3 | "browser": true,
4 | "esnext": true,
5 | "bitwise": true,
6 | "camelcase": true,
7 | "curly": true,
8 | "eqeqeq": true,
9 | "immed": true,
10 | "indent": false,
11 | "latedef": true,
12 | "newcap": true,
13 | "noarg": true,
14 | "quotmark": "single",
15 | "regexp": true,
16 | "undef": true,
17 | "unused": true,
18 | "strict": true,
19 | "trailing": true,
20 | "smarttabs": true,
21 | "globals": {
22 | "angular": false,
23 | "cordova": false,
24 | "StatusBar": false
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/templates/karma.conf.js:
--------------------------------------------------------------------------------
1 | // Karma configuration
2 | // Generated on Fri Jun 26 2015 07:47:18 GMT+0100 (BST)
3 |
4 | module.exports = function(config) {
5 | config.set({
6 |
7 |
8 | // Continuous Integration mode
9 | // if true, Karma captures browsers, runs the tests and exits
10 | singleRun: true
11 | });
12 | };
13 |
--------------------------------------------------------------------------------
/app/templates/robots.txt:
--------------------------------------------------------------------------------
1 | # robotstxt.org
2 |
3 | User-agent: *
4 |
--------------------------------------------------------------------------------
/app/templates/scripts/config/app.config.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 | /**
30 | * @ngdoc constant
31 | * @name <%= ngModulName %>.CONFIG
32 | * @description
33 | * # CONFIG
34 | * Defines the API endpoint where our resources will make requests against.
35 | * Is used inside /services/api.service.js to generate correct endpoint dynamically
36 | */
37 |
38 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
39 |
40 | // development
41 | <%= ngModulName %>.constant('CONFIG', {
42 | 'host': 'http://localhost',
43 | 'port': 3000,
44 | 'path': '',
45 | 'needsAuth': false
46 | });
47 |
48 | <%= ngModulName %>.constant('facebookConfig', {
49 | 'FACEBOOK_ID': 'YOUR_FACEBOOK_ID'
50 | });
51 |
52 |
53 | <%= ngModulName %>.constant('googleConfig', {
54 | 'GOOGLE_ID': 'YOUR_GOOGLE_ID'
55 | });
56 |
57 | <%= ngModulName %>.constant('twitterConfig', {
58 | 'TWITTER_ID': 'YOUR_TWITTER_ID',
59 | 'TWITTER_SECRET': 'YOUR_TWITTER_SECRET'
60 | });
61 |
62 |
63 | <%= ngModulName %>.constant('API_CREDENTIALS', {
64 | 'Access-Control-Allow-Origin': '*',
65 | 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, OPTIONS',
66 | 'Access-Control-Allow-Headers':'Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With',
67 | 'APP_ID': 'YOUR_APP_ID',
68 | 'REST_API_KEY':'YOUR_REST_API_KEY'
69 | });
70 |
71 |
72 | // live example with HTTP Basic Auth
73 | /*
74 | <%= ngModulName %>.constant('CONFIG', {
75 | host: 'http://yourserver.com',
76 | path: '/api/v2',
77 | needsAuth: true,
78 | username: 'whatever',
79 | password: 'foobar'
80 | });
81 | */
82 |
83 | })();
84 |
--------------------------------------------------------------------------------
/app/templates/scripts/controllers/editProductController.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function() {
28 | 'use strict';
29 | /**
30 | * @ngdoc function
31 | * @name <%= ngModulName %>.controller:EditProductController
32 | * @description
33 | * # EditProductController
34 | */
35 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
36 |
37 | <%= ngModulName %>.controller('EditProductController', function($scope, $state, $stateParams, ExampleService) {
38 |
39 | console.log($stateParams);
40 | $scope.items={id:$stateParams.id,title:$stateParams.title};
41 | $scope.edit=function(){
42 | ExampleService.edit($scope.items.id,{title:$scope.items.title}).success(function(){
43 | $state.go('app.products');
44 | });
45 | };
46 | });
47 | })();
48 |
--------------------------------------------------------------------------------
/app/templates/scripts/controllers/homeController.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function() {
28 | 'use strict';
29 | /**
30 | * @ngdoc function
31 | * @name <%= ngModulName %>.controller:HomeController
32 | * @description
33 | * # HomeController
34 | */
35 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
36 |
37 | <%= ngModulName %>.controller('HomeController', function($scope, $timeout, ExampleService) {
38 |
39 | $scope.doRefresh = function() {
40 | ExampleService.getAll().success(function(data){
41 | $scope.items=data.results;
42 | console.log(data.results);
43 |
44 | // close pull to refresh loader
45 | $scope.$broadcast('scroll.refreshComplete');
46 | });
47 |
48 | };
49 |
50 | $scope.doRefresh();
51 |
52 | $scope.onItemDelete=function(item){
53 | ExampleService.delete(item.objectId);
54 | $scope.items.splice($scope.items.indexOf(item),1);
55 | };
56 | });
57 | })();
58 |
--------------------------------------------------------------------------------
/app/templates/scripts/controllers/introController.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function() {
28 | 'use strict';
29 | /**
30 | * @ngdoc function
31 | * @name <%= ngModulName %>.controller:IntroController
32 | * @description
33 | * # IntroController
34 | */
35 | function IntroController($ionicPlatform, $scope, $state, $localstorage, $ionicSlideBoxDelegate, IntroSlideService) {
36 |
37 | // Called to navigate to the main app
38 | $scope.startApp = function () {
39 | $state.go('app.home');
40 | $localstorage.set('firstTime', 'true');
41 | };
42 |
43 | $scope.next = function () {
44 | $ionicSlideBoxDelegate.next();
45 | };
46 |
47 | $scope.previous = function () {
48 | $ionicSlideBoxDelegate.previous();
49 | };
50 |
51 | $scope.disableSwipe = function() {
52 | $ionicSlideBoxDelegate.enableSlide(false);
53 | };
54 |
55 | // Called each time the slide changes
56 | $scope.slideChanged = function (index) {
57 | $scope.slideIndex = index;
58 | };
59 |
60 | $scope.currentSlide = IntroSlideService.index;
61 |
62 | }
63 |
64 |
65 |
66 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
67 | <%= ngModulName %>.factory('IntroSlideService', function () {
68 | var service = {};
69 | service.index = 0;
70 | return service;
71 | });
72 | <%= ngModulName %>.controller('IntroController', IntroController);
73 |
74 | IntroController.$inject = ['$ionicPlatform', '$scope', '$state', '$localstorage', '$ionicSlideBoxDelegate', 'IntroSlideService'];
75 |
76 |
77 |
78 | })();
79 |
--------------------------------------------------------------------------------
/app/templates/scripts/controllers/loginController.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function() {
28 | 'use strict';
29 | /**
30 | * @ngdoc function
31 | * @name <%= ngModulName %>.controller:LoginController
32 | * @description
33 | * # LoginController
34 | */
35 | function LoginController($ionicPlatform, $scope, $location, $cordovaOauth, $localstorage, AuthService) {
36 |
37 | $scope.user = {
38 | username: '',
39 | password: ''
40 | };
41 |
42 | $scope.loginUser = function(){
43 | AuthService.loginUser($scope.user);
44 | };
45 |
46 | $scope.loginFacebook = function() {
47 | AuthService.loginFacebook();
48 | };
49 |
50 | $scope.loginGoogle = function() {
51 | AuthService.loginGoogle();
52 | };
53 |
54 | $scope.loginTwitter = function() {
55 | AuthService.loginTwitter();
56 | };
57 | }
58 |
59 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
60 |
61 | <%= ngModulName %>.controller('LoginController', LoginController);
62 |
63 | LoginController.$inject = ['$ionicPlatform', '$scope', '$location', '$cordovaOauth', '$localstorage', 'AuthService'];
64 |
65 | })();
66 |
--------------------------------------------------------------------------------
/app/templates/scripts/controllers/mainController.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function() {
28 | 'use strict';
29 | /**
30 | * @ngdoc function
31 | * @name <%= ngModulName %>.controller:MainController
32 | * @description
33 | * # MainController
34 | */
35 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
36 |
37 | <%= ngModulName %>.controller('MainController', function() {
38 |
39 | // do something with $scope
40 |
41 | });
42 | })();
43 |
--------------------------------------------------------------------------------
/app/templates/scripts/controllers/newProductController.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function() {
28 | 'use strict';
29 | /**
30 | * @ngdoc function
31 | * @name <%= ngModulName %>.controller:NewProductController
32 | * @description
33 | * # NewProductController
34 | */
35 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
36 |
37 | <%= ngModulName %>.controller('NewProductController', function($scope,$state, ExampleService) {
38 |
39 | $scope.item={};
40 |
41 | $scope.create=function(){
42 | ExampleService.create({title:$scope.item.title}).success(function(){
43 | $state.go('app.products');
44 | });
45 | };
46 | });
47 | })();
48 |
--------------------------------------------------------------------------------
/app/templates/scripts/controllers/productController.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function() {
28 | 'use strict';
29 | /**
30 | * @ngdoc function
31 | * @name <%= ngModulName %>.controller:ProductController
32 | * @description
33 | * # ProductController
34 | */
35 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
36 |
37 | <%= ngModulName %>.controller('ProductController', function($scope, $timeout, $state,$stateParams, ExampleService) {
38 |
39 | $scope.id = $stateParams.id;
40 | console.log('params',$scope.id);
41 |
42 | $scope.doRefresh = function() {
43 |
44 | ExampleService.getAll().success(function(data){
45 | $scope.items = data.results;
46 | console.log($scope.items);
47 |
48 | // close pull to refresh loader
49 | $scope.$broadcast('scroll.refreshComplete');
50 | });
51 |
52 | };
53 | $scope.doRefresh();
54 |
55 | $scope.onItemDelete=function(item){
56 | ExampleService.delete(item.objectId);
57 | $scope.items.splice($scope.items.indexOf(item),1);
58 | $state.go('app.products');
59 | };
60 | });
61 | })();
62 |
--------------------------------------------------------------------------------
/app/templates/scripts/controllers/productsController.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function() {
28 | 'use strict';
29 | /**
30 | * @ngdoc function
31 | * @name <%= ngModulName %>.controller:ProductsController
32 | * @description
33 | * # ProductsController
34 | */
35 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
36 |
37 | <%= ngModulName %>.controller('ProductsController', function($scope, $timeout, $state, ExampleService) {
38 |
39 | $scope.doRefresh = function() {
40 | ExampleService.getAll().success(function(data){
41 | $scope.items=data.results;
42 |
43 | console.log(data.results);
44 |
45 | // close pull to refresh loader
46 | $scope.$broadcast('scroll.refreshComplete');
47 | });
48 |
49 | };
50 |
51 | $scope.doRefresh();
52 |
53 | $scope.onItemDelete=function(item){
54 | ExampleService.delete(item.objectId);
55 | console.log(item.objectId);
56 | $scope.items.splice($scope.items.indexOf(item),1);
57 | };
58 |
59 | $scope.create=function(){
60 | $state.go('app.new');
61 | };
62 | });
63 | })();
64 |
--------------------------------------------------------------------------------
/app/templates/scripts/controllers/settingsController.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function() {
28 | 'use strict';
29 | /**
30 | * @ngdoc function
31 | * @name <%= ngModulName %>.controller:SettingsController
32 | * @description
33 | * # SettingsController
34 | */
35 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
36 |
37 | <%= ngModulName %>.controller('SettingsController', function() {
38 |
39 | // do something with $scope
40 |
41 | });
42 | })();
43 |
--------------------------------------------------------------------------------
/app/templates/scripts/controllers/signupController.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function() {
28 | 'use strict';
29 | /**
30 | * @ngdoc function
31 | * @name <%= ngModulName %>.controller:SignUpController
32 | * @description
33 | * # SignUpController
34 | */
35 | function SignUpController($ionicPlatform, $scope, $location, $cordovaOauth, $localstorage, AuthService) {
36 |
37 | $scope.user = {
38 | username: '',
39 | password: ''
40 | };
41 |
42 | $scope.signupUser = function(){
43 | console.log('signing up user ' + $scope.user.username);
44 | AuthService.signupUser($scope.user)
45 | .success(function(data){
46 | console.log($scope.user.username + 'has been created! session id is ' + data.sessionToken);
47 | // console.log('/session/'+ data.sessionToken);
48 | $localstorage.set('sessionToken', data.sessionToken);
49 | if(data.$valid) {
50 | $location.path('/'+ data.sessionToken);
51 | }
52 | });
53 | };
54 | }
55 |
56 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
57 |
58 | <%= ngModulName %>.controller('SignUpController', SignUpController);
59 |
60 | SignUpController.$inject = ['$ionicPlatform', '$scope', '$location', '$cordovaOauth', '$localstorage', 'AuthService'];
61 |
62 | })();
63 |
--------------------------------------------------------------------------------
/app/templates/scripts/controllers/translateController.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function() {
28 | 'use strict';
29 | /**
30 | * @ngdoc function
31 | * @name <%= ngModulName %>.controller:TranslateController
32 | * @description
33 | * # TranslateController
34 | */
35 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
36 |
37 | <%= ngModulName %>.controller('TranslateController', ['$translate', '$scope', function ($translate, $scope) {
38 | $scope.changeLanguage = function (langKey) {
39 | $translate.use(langKey);
40 | };
41 | }]);
42 | })();
43 |
--------------------------------------------------------------------------------
/app/templates/scripts/services/api.service.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | /**
31 | * @ngdoc service
32 | * @name <%= ngModulName %>.ApiService
33 | * @description
34 | * # ApiService
35 | * Retrieves correct api to make requests against.
36 | * Uses settings from CONFIG defined in /config/<%= ngModulName %>.config.js
37 | *
38 | * Usage example: $http({
39 | * url: ApiService.getEndPoint() + '/things',
40 | * method: 'GET'
41 | * })
42 | *
43 | */
44 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
45 |
46 | <%= ngModulName %>.factory('ApiService', function($window, $http, CONFIG) {
47 |
48 | var _api = CONFIG;
49 | var endpoint = _api.port ? (_api.host + ':' + _api.port + _api.path) : (_api.host + _api.path);
50 |
51 | // activate for basic auth
52 | if (_api.needsAuth) {
53 | $http.defaults.headers.common.Authorization = 'Basic ' + $window.btoa(_api.username + ':' + _api.password);
54 | }
55 |
56 | // public api
57 | return {
58 | getEndpoint: function() { return endpoint; }
59 | };
60 |
61 | });
62 | })();
63 |
--------------------------------------------------------------------------------
/app/templates/scripts/services/localstorage.service.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | /**
31 | * @ngdoc function
32 | * @name <%= ngModulName %>.service:LocalStorageService
33 | * @description
34 | * # LocalStorageService
35 | */
36 | function $localstorage($window) {
37 | return {
38 | set: function(key, value) {
39 | $window.localStorage[key] = value;
40 | },
41 | get: function(key, defaultValue) {
42 | return $window.localStorage[key] || defaultValue;
43 | },
44 | setObject: function(key, value) {
45 | $window.localStorage[key] = JSON.stringify(value);
46 | },
47 | getObject: function(key) {
48 | return JSON.parse($window.localStorage[key] || '{}');
49 | }
50 | };
51 | }
52 | angular
53 | .module('<%= ngModulName %>')
54 | .factory('$localstorage', $localstorage);
55 |
56 | $localstorage.$inject = ['$window'];
57 |
58 |
59 | })();
60 |
--------------------------------------------------------------------------------
/app/templates/scripts/utils/lodash.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 |
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict';
29 |
30 | /**
31 | * @ngdoc function
32 | * @name <%= ngModulName %>.util:lodash
33 | * @description
34 | * # Lo-Dash
35 | * Expose Lo-Dash through injectable factory, so we don't pollute / rely on global namespace
36 | * just inject lodash as _
37 | */
38 |
39 | var <%= ngModulName %> = angular.module('<%= ngModulName %>');
40 |
41 | <%= ngModulName %>.factory('_', function($window) {
42 | return $window._;
43 | });
44 |
45 | })();
46 |
--------------------------------------------------------------------------------
/app/templates/server/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "server",
3 | "version": "1.0.0",
4 | "description": "Server App",
5 | "main": "server.js",
6 | "author": "Reedia Limited",
7 | "license": "MIT",
8 | "dependencies": {
9 | "express": "~4.4.1",
10 | "compression": "^1.1.0",
11 | "body-parser": "~1.3.0",
12 | "method-override": "~2.0.1"
13 | },
14 | "scripts": {
15 | "start": "node server.js"
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/app/templates/server/readme.md:
--------------------------------------------------------------------------------
1 | # Application Server for Avionic ✈
2 |
--------------------------------------------------------------------------------
/app/templates/server/routes/workouts.js:
--------------------------------------------------------------------------------
1 | var workouts = [
2 | {id:0 , title:"Introduction to Ionic", youtubeId:"CHRISTOPHE COENRAETS", time:"9:40am", youtubeThumbnail:"Ballroom A", description: "In this session, you'll learn how to build a native-like mobile application using the Ionic Framework, AngularJS, and Cordova."},
3 | {id:1 , title:"AngularJS in 50 Minutes", youtubeId:"LISA SMITH", time:"10:10am", youtubeThumbnail:"Ballroom B", description: "In this session, you'll learn everything you need to know to start building next-gen JavaScript applications using AngularJS."},
4 | {id:2 , title:"Contributing to Apache Cordova", youtubeId:"JOHN SMITH", time:"11:10am", youtubeThumbnail:"Ballroom A", description: "In this session, John will tell you all you need to know to start contributing to Apache Cordova and become an Open Source Rock Star."},
5 | {id:3 , title:"Mobile Performance Techniques", youtubeId:"JESSICA WONG", time:"3:10Pm", youtubeThumbnail:"Ballroom B", description: "In this session, you will learn performance techniques to speed up your mobile application."},
6 | {id:4 , title:"Building Modular Applications", youtubeId:"LAURA TAYLOR", time:"2:00pm", youtubeThumbnail:"Ballroom A", description: "Join Laura to learn different approaches to build modular JavaScript applications."}
7 | ];
8 |
9 | exports.findAll = function (req, res, next) {
10 | res.send(workouts);
11 | };
12 |
13 | exports.findById = function (req, res, next) {
14 | var id = req.params.id;
15 | res.send(workouts[id]);
16 | };
17 |
--------------------------------------------------------------------------------
/app/templates/server/server.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * AVIONIC
4 | * Propelling World-class Cross-platform Hybrid Applications ✈
5 | *
6 | * Copyright 2015 Reedia Limited. All rights reserved.
7 | *
8 | * Permission is hereby granted, free of charge, to any person obtaining a copy
9 | * of this software and associated documentation files (the "Software"), to deal
10 | * in the Software without restriction, including without limitation the rights
11 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | * copies of the Software, and to permit persons to whom the Software is
13 | * furnished to do so, subject to the following conditions:
14 | *
15 | * The above copyright notice and this permission notice shall be included in
16 | * all copies or substantial portions of the Software.
17 | *
18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | * THE SOFTWARE.
25 | *
26 | */
27 | (function () {
28 | 'use strict'
29 | /**
30 | * @ngdoc server
31 | * @name Avionic ✈ Server
32 | * @description
33 | * # Avionic ✈ Server
34 | */
35 |
36 | // Avionic ✈ Server generates a new instance of an express server.
37 | var express = require('express')
38 | var http = require('http')
39 | var bodyParser = require('body-parser')
40 | var methodOverride = require('method-override')
41 | var compression = require('compression')
42 | app.use(compression())
43 | var app = express()
44 |
45 | // Avionic ✈ Server CORS (Cross-Origin Resource Sharing) headers to support Cross-site HTTP requests and more.
46 | app.use(function (req, res, next) {
47 | res.header('Charset', 'utf8')
48 | res.setHeader('X-Powered-By', 'Avionic')
49 | res.header('Access-Control-Allow-Origin', '*')
50 | res.header('Access-Control-Allow-Headers', 'X-Requested-With')
51 | res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate')
52 | res.header('Expires', '-1')
53 | res.header('Pragma', 'no-cache')
54 |
55 | next()
56 | })
57 |
58 | // Pull information from html in POST
59 | app.use(bodyParser())
60 |
61 | // Simulate DELETE and PUT
62 | app.use(methodOverride())
63 |
64 | app.use(express.static('../.tmp'))
65 |
66 | // Avionic ✈ ServerJSON Services
67 | // app.get('/workouts', workouts.findAll)
68 | // app.get('/workouts/:id', workouts.findById)
69 |
70 | // Avionic ✈ Server
71 | app.set('host', process.env.HOST || '127.0.0.1')
72 | app.set('port', process.env.PORT || 5000)
73 | var server = http.createServer(app).listen(app.get('port'), app.get('host'), function () {
74 | var host = server.address().address
75 | var port = server.address().port
76 | console.log('Avionic ✈ Server listening at http://%s:%s', host, port)
77 | })
78 | })()
79 |
--------------------------------------------------------------------------------
/app/templates/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/splash.png
--------------------------------------------------------------------------------
/app/templates/test/config/app.config.spec.js:
--------------------------------------------------------------------------------
1 | function Greeter(){
2 | this.greeting = "Hello, Avionic ✈";
3 | };
4 |
5 | describe("Greeter", function(){
6 | var greeter = new Greeter();
7 | it("says Hello, Avionic ✈", function(){
8 | expect(greeter.greeting).toBe("Hello, Avionic ✈")
9 | })
10 | });
11 |
--------------------------------------------------------------------------------
/app/templates/test/controllers/editProductController.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/controllers/editProductController.spec.js
--------------------------------------------------------------------------------
/app/templates/test/controllers/homeController.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/controllers/homeController.spec.js
--------------------------------------------------------------------------------
/app/templates/test/controllers/introController.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/controllers/introController.spec.js
--------------------------------------------------------------------------------
/app/templates/test/controllers/loginController.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/controllers/loginController.spec.js
--------------------------------------------------------------------------------
/app/templates/test/controllers/mainController.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/controllers/mainController.spec.js
--------------------------------------------------------------------------------
/app/templates/test/controllers/newProductController.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/controllers/newProductController.spec.js
--------------------------------------------------------------------------------
/app/templates/test/controllers/productController.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/controllers/productController.spec.js
--------------------------------------------------------------------------------
/app/templates/test/controllers/settingsController.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/controllers/settingsController.spec.js
--------------------------------------------------------------------------------
/app/templates/test/controllers/signupController.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/controllers/signupController.spec.js
--------------------------------------------------------------------------------
/app/templates/test/controllers/translateController.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/controllers/translateController.spec.js
--------------------------------------------------------------------------------
/app/templates/test/hello.spec.js:
--------------------------------------------------------------------------------
1 | function Greeter(){
2 | this.greeting = "Hello, Avionic ✈";
3 | };
4 |
5 | describe("Greeter", function(){
6 | var greeter = new Greeter();
7 | it("says Hello, Avionic ✈", function(){
8 | expect(greeter.greeting).toBe("Hello, Avionic ✈")
9 | })
10 | });
11 |
--------------------------------------------------------------------------------
/app/templates/test/routes/app.routes.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/routes/app.routes.spec.js
--------------------------------------------------------------------------------
/app/templates/test/services/api.service.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/services/api.service.spec.js
--------------------------------------------------------------------------------
/app/templates/test/services/auth.service.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/services/auth.service.spec.js
--------------------------------------------------------------------------------
/app/templates/test/services/example.service.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/services/example.service.spec.js
--------------------------------------------------------------------------------
/app/templates/test/services/localstorage.service.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/services/localstorage.service.spec.js
--------------------------------------------------------------------------------
/app/templates/test/services/user.service.spec.js:
--------------------------------------------------------------------------------
1 | describe('UserService Unit Tests', function(){
2 |
3 | });
4 |
--------------------------------------------------------------------------------
/app/templates/test/translate/app.translate.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/translate/app.translate.spec.js
--------------------------------------------------------------------------------
/app/templates/test/utils/lodash.spec.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sebastienrousseau/generator-avionic/c6f7094eadc70b71779b1d0978c23300846acff8/app/templates/test/utils/lodash.spec.js
--------------------------------------------------------------------------------
/app/utils/color.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | prompts: [{
3 | type: 'checkbox',
4 | name: 'color',
5 | message: 'Enter the color scheme you\'d like to use:\n\n',
6 | choices: [{
7 | value: '#b71c1c',
8 | name: 'Red',
9 | checked: false
10 | }, {
11 | value: '#880e4f',
12 | name: 'Pink',
13 | checked: false
14 | }, {
15 | value: '#4a148c',
16 | name: 'Purple',
17 | checked: false
18 | }, {
19 | value: '#311b92',
20 | name: 'Deep Purple',
21 | checked: false
22 | }, {
23 | value: '#1a237e',
24 | name: 'Indigo',
25 | checked: false
26 | }, {
27 | value: '#0d47a1',
28 | name: 'Blue',
29 | checked: false
30 | }, {
31 | value: '#01579b',
32 | name: 'Light Blue',
33 | checked: false
34 | }, {
35 | value: '#006064',
36 | name: 'Cyan',
37 | checked: false
38 | }, {
39 | value: '#004d40',
40 | name: 'Teal',
41 | checked: false
42 | }, {
43 | value: '#1b5e20',
44 | name: 'Green',
45 | checked: false
46 | }, {
47 | value: '#33691e',
48 | name: 'Light Green',
49 | checked: false
50 | }, {
51 | value: '#827717',
52 | name: 'Lime',
53 | checked: false
54 | }, {
55 | value: '#f57f17',
56 | name: 'Yellow',
57 | checked: false
58 | }, {
59 | value: '#ff6f00',
60 | name: 'Amber',
61 | checked: false
62 | }, {
63 | value: '#e65100',
64 | name: 'Orange',
65 | checked: false
66 | }, {
67 | value: '#bf360c',
68 | name: 'Deep Orange',
69 | checked: false
70 | }, {
71 | value: '#3e2723',
72 | name: 'Brown',
73 | checked: false
74 | }, {
75 | value: '#212121',
76 | name: 'Grey',
77 | checked: false
78 | }, {
79 | value: '#263238',
80 | name: 'Blue Grey',
81 | checked: false
82 | }, {
83 | value: '#000000',
84 | name: 'Avionic',
85 | checked: false
86 | }]
87 | }]
88 | };
89 |
--------------------------------------------------------------------------------
/app/utils/index.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: require('./plugins')
3 | };
4 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "generator-avionic",
3 | "version": "0.0.23",
4 | "description": "Propelling World-class Cross-platform Hybrid Applications ✈\nA Yeoman generator using AngularJS, Express, ngCordova, Gulp and Bower that helps you kickstart highly sophisticated Ionic projects to evolve and upgrade every aspect of your development to the next moonshot.",
5 | "main": "app/index.js",
6 | "repository": {
7 | "type": "git",
8 | "url": "https://github.com/reedia/generator-avionic.git"
9 | },
10 | "author": "Reedia Limited (https://github.com/reedia)",
11 | "license": "MIT",
12 | "engines": {
13 | "node": ">= 0.9"
14 | },
15 | "files": [
16 | "app"
17 | ],
18 | "keywords": [
19 | "avionic",
20 | "generator-avionic",
21 | "yeoman-generator",
22 | "ionic",
23 | "gulp",
24 | "ionic framework"
25 | ],
26 | "dependencies": {
27 | "chalk": "^0.5.0",
28 | "require-dir": "*",
29 | "cordova": "^5.0.0",
30 | "yeoman-generator": "^0.18.0",
31 | "yosay": "^0.3.0"
32 | },
33 | "devDependencies": {
34 | "chalk": "^0.5.0",
35 | "cordova": "^5.0.0",
36 | "coveralls": "^2.11.4",
37 | "jasmine-core": "^2.3.4",
38 | "karma": "^0.13",
39 | "karma-jasmine": "^0.1",
40 | "lodash": "^3.8.0",
41 | "mocha": "*",
42 | "phantomjs": "^1.9.18",
43 | "semantic-release": "^4.3.5",
44 | "wiredep": "^2.2.2",
45 | "yeoman-generator": "^0.18.0",
46 | "yo": ">=1.0.0",
47 | "yosay": "^0.3.0"
48 | },
49 | "bugs": {
50 | "url": "https://github.com/reedia/generator-avionic/issues"
51 | },
52 | "homepage": "https://github.com/reedia/generator-avionic#readme",
53 | "scripts": {
54 | "lint": "jshint **.js",
55 | "test": "",
56 | "semantic-release": "semantic-release pre && npm publish && semantic-release post"
57 | }
58 | }
59 |
--------------------------------------------------------------------------------