Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

Commit f9c06b7

Browse files
committed
Merge pull request #588 from appirio-tech/organize-gulp
Organize gulp
2 parents 94c2939 + 9488f0c commit f9c06b7

35 files changed

+551
-667
lines changed

app/directives/badges/badge-tooltip.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/* jshint -W117, -W030 */
2-
describe('Badge Tooltiop Directive', function() {
2+
describe('Badge Tooltip Directive', function() {
33
var scope;
44
var element;
55
var badge = mockData.getMockBadge();

app/index.jade

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ html
1616
link(rel='stylesheet', href='../bower_components/angular-dropdowns/dist/angular-dropdowns.css')
1717
link(rel='stylesheet', href='../bower_components/intro.js/introjs.css')
1818
link(rel='stylesheet', href='../bower_components/angularjs-toaster/toaster.css')
19-
link(rel='stylesheet', href='../bower_components/devicon/devicon.min.css')
2019
link(rel='stylesheet', href='../bower_components/fontawesome/css/font-awesome.css')
2120
link(rel='stylesheet', href='../bower_components/ng-notifications-bar/dist/ngNotificationsBar.min.css')
2221
link(rel='stylesheet', href='../bower_components/ngDialog/css/ngDialog.css')

app/specs.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ <h1><a href="specs.html">Spec Runner</a></h1>
5151
<script src="../bower_components/angucomplete-alt/angucomplete-alt.js"></script>
5252
<script src="../bower_components/angular-cookies/angular-cookies.js"></script>
5353
<script src="../bower_components/angular-dropdowns/dist/angular-dropdowns.js"></script>
54+
<script src="../bower_components/angular-ellipsis/src/angular-ellipsis.js"></script>
5455
<script src="../bower_components/angular-filter/dist/angular-filter.min.js"></script>
5556
<script src="../bower_components/angular-img-fallback/angular.dcb-img-fallback.js"></script>
5657
<script src="../bower_components/intro.js/intro.js"></script>
@@ -167,6 +168,7 @@ <h1><a href="specs.html">Spec Runner</a></h1>
167168
<script src="/app/filters/truncate.filter.js"></script>
168169
<script src="/app/filters/track.filter.js"></script>
169170
<script src="/app/filters/time-diff.filter.js"></script>
171+
<script src="/app/filters/ternary.filter.js"></script>
170172
<script src="/app/filters/role.filter.js"></script>
171173
<script src="/app/filters/rating-color.filter.js"></script>
172174
<script src="/app/filters/percentage.filter.js"></script>
@@ -175,7 +177,6 @@ <h1><a href="specs.html">Spec Runner</a></h1>
175177
<script src="/app/filters/location.filter.js"></script>
176178
<script src="/app/filters/local-time.filter.js"></script>
177179
<script src="/app/filters/listRoles.filter.js"></script>
178-
<script src="/app/filters/iif.filter.js"></script>
179180
<script src="/app/filters/external-link-color.filter.js"></script>
180181
<script src="/app/filters/empty.filter.js"></script>
181182
<script src="/app/filters/deadline-msg.filter.js"></script>
@@ -255,36 +256,35 @@ <h1><a href="specs.html">Spec Runner</a></h1>
255256
<script src="/app/services/userStats.service.spec.js"></script>
256257
<script src="/app/settings/settings.spec.js"></script>
257258
<script src="/app/skill-picker/skill-picker.spec.js"></script>
258-
<script src="/app/blocks/exception/exception-handler.provider.spec.js"></script>
259259
<script src="/app/account/login/login.spec.js"></script>
260+
<script src="/app/account/register/register.spec.js"></script>
260261
<script src="/app/account/logout/logout.controller.spec.js"></script>
261262
<script src="/app/account/reset-password/reset-password.spec.js"></script>
262-
<script src="/app/account/register/register.spec.js"></script>
263+
<script src="/app/blocks/exception/exception-handler.provider.spec.js"></script>
263264
<script src="/app/directives/badges/badge-tooltip.spec.js"></script>
264265
<script src="/app/directives/busy-button/busy-button.directive.spec.js"></script>
265266
<script src="/app/directives/challenge-tile/challenge-tile.spec.js"></script>
266267
<script src="/app/directives/empty-state-placeholder/empty-state-placeholder.spec.js"></script>
267268
<script src="/app/directives/external-account/external-account.directive.spec.js"></script>
268-
<script src="/app/directives/tc-endless-paginator/tc-endless-paginator.spec.js"></script>
269-
<script src="/app/directives/tc-paginator/tc-paginator.spec.js"></script>
270-
<script src="/app/directives/tc-tabs/tc-tabs.directive.spec.js"></script>
271269
<script src="/app/directives/external-account/external-links-data.directive.spec.js"></script>
272270
<script src="/app/directives/external-account/external-web-links.directive.spec.js"></script>
273-
271+
<script src="/app/directives/tc-paginator/tc-paginator.spec.js"></script>
272+
<script src="/app/directives/tc-endless-paginator/tc-endless-paginator.spec.js"></script>
273+
<script src="/app/directives/tc-tabs/tc-tabs.directive.spec.js"></script>
274+
<script src="/app/my-dashboard/community-updates/community-updates.spec.js"></script>
274275
<script src="/app/my-dashboard/header-dashboard/header-dashboard.spec.js"></script>
275276
<script src="/app/my-dashboard/my-challenges/my-challenges.spec.js"></script>
276-
<script src="/app/my-dashboard/community-updates/community-updates.spec.js"></script>
277277
<script src="/app/my-dashboard/srms/srms.spec.js"></script>
278278
<script src="/app/my-dashboard/programs/programs.spec.js"></script>
279279
<script src="/app/peer-review/completed-review/completed-review.spec.js"></script>
280280
<script src="/app/peer-review/edit-review/edit-review.spec.js"></script>
281-
<script src="/app/peer-review/review-status/review-status.spec.js"></script>
282281
<script src="/app/peer-review/readOnlyScorecard/readOnlyScorecard.spec.js"></script>
282+
<script src="/app/peer-review/review-status/review-status.spec.js"></script>
283283
<script src="/app/profile/about/about.controller.spec.js"></script>
284284
<script src="/app/profile/badges/badges.spec.js"></script>
285285
<script src="/app/profile/subtrack/subtrack.spec.js"></script>
286-
<script src="/app/settings/account-info/account-info.spec.js"></script>
287286
<script src="/app/settings/edit-profile/edit-profile.spec.js"></script>
287+
<script src="/app/settings/account-info/account-info.spec.js"></script>
288288
<script src="/app/settings/preferences/preferences.spec.js"></script>
289289
<script src="/app/directives/account/toggle-password/toggle-password.spec.js"></script>
290290
<script src="/app/directives/account/toggle-password-with-tips/toggle-password-with-tips.spec.js"></script>

app/topcoder.constants.js

100755100644
File mode changed.

assets/css/account/account.scss

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -186,23 +186,23 @@
186186
}
187187
.github {
188188
.ico {
189-
background-image: url(/images/svg/github.svg);
189+
background-image: url(/images/github.svg);
190190
background-repeat: no-repeat;
191191
color: #404041;
192192
}
193193
}
194194
.facebook {
195195
margin-left: 41px;
196196
.ico {
197-
background-image: url(/images/svg/facebook.svg);
197+
background-image: url(/images/facebook.svg);
198198
background-repeat: no-repeat;
199199
color: #0d72b9;
200200
}
201201
}
202202
.google-plus {
203203
margin-left: 43px;
204204
.ico {
205-
background-image: url(/images/svg/gplus.svg);
205+
background-image: url(/images/gplus.svg);
206206
background-position: center;
207207
background-repeat: no-repeat;
208208
border: 1px solid #d1d3d4;
@@ -213,7 +213,7 @@
213213
.twitter {
214214
margin-left: 40px;
215215
.ico {
216-
background-image: url(/images/svg/twitter.svg);
216+
background-image: url(/images/twitter.svg);
217217
background-repeat: no-repeat;
218218
color: #26a9e0;
219219
}

assets/css/directives/external-web-link.scss

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@import 'tc-includes';
1+
@import 'topcoder/tc-includes';
22

33
external-web-link {
44
.web-link {
@@ -23,15 +23,15 @@ external-web-link {
2323
}
2424
.form-field {
2525
@include form-field;
26-
@include ui-form-placeholder;
26+
2727
&:disabled {
2828
color: #B7B7B7;
2929
}
3030
}
3131
.form-field-focused {
3232
@include form-field-focused;
3333
}
34-
34+
3535
.validation-bar.url {
3636
flex: 1;
3737
width: auto;

assets/fonts/devicon.eot

-138 KB
Binary file not shown.

assets/fonts/devicon.svg

Lines changed: 0 additions & 155 deletions
This file was deleted.

assets/fonts/devicon.ttf

-138 KB
Binary file not shown.

assets/fonts/devicon.woff

-138 KB
Binary file not shown.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

bower.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@
4040
"angularjs-toaster": "~0.4.15",
4141
"appirio-tech-ng-iso-constants": "[email protected]:appirio-tech/ng-iso-constants#~1.0.5",
4242
"d3": "~3.5.6",
43-
"devicon": "*",
4443
"fontawesome": "~4.3.0",
4544
"jstzdetect": "~1.0.6",
4645
"moment": "~2.10.3",

config.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module.exports = function() {
2-
var constants = {
2+
return {
33
'development': {
44
'CONSTANTS': {
55
API_URL: process.env.API_URL || 'https://api.topcoder-dev.com/v3',
@@ -231,6 +231,4 @@ module.exports = function() {
231231
}
232232
}
233233
};
234-
235-
return constants;
236234
};

gulp-tasks/build.js

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
var runSequence = require('run-sequence');
2+
3+
module.exports = function(gulp, $, config, utilities) {
4+
'use strict';
5+
6+
gulp.task('build', function(done) {
7+
utilities.log('Building everything');
8+
9+
runSequence(
10+
'clean',
11+
['optimize', 'fonts']
12+
);
13+
14+
utilities.clean(config.temp, done);
15+
});
16+
17+
gulp.task('build-specs', ['templatecache', 'ngConstants'], function() {
18+
utilities.log('Building the spec runner');
19+
20+
var wiredep = require('wiredep').stream;
21+
var options = config.getWiredepDefaultOptions();
22+
options.devDependencies = true;
23+
24+
return gulp
25+
.src(config.specRunner)
26+
.pipe(wiredep(options))
27+
.pipe($.inject(gulp.src(config.testlibraries),
28+
{name: 'inject:testlibraries', read: false}))
29+
.pipe($.inject(gulp.src(config.nonBowerScripts),
30+
{name: 'inject:nonBowerScripts', read: false}))
31+
.pipe($.inject(
32+
gulp.src(config.js)
33+
.pipe($.naturalSort())
34+
.pipe($.angularFilesort())
35+
))
36+
.pipe($.inject(gulp.src(config.specHelpers),
37+
{name: 'inject:spechelpers', read: false}))
38+
.pipe($.inject(gulp.src(config.specs),
39+
{name: 'inject:specs', read: false}))
40+
.pipe($.inject(gulp.src(config.temp + config.templateCache.file),
41+
{name: 'inject:templates', read: false}))
42+
.pipe(gulp.dest(config.app));
43+
});
44+
};

gulp-tasks/clean.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
var del = require('del'); // rm -rf
2+
3+
module.exports = function(gulp, $, config, utilities) {
4+
'use strict';
5+
6+
gulp.task('clean', function(done) {
7+
var delconfig = [].concat(config.build, config.temp);
8+
utilities.log('Cleaning: ' + $.util.colors.blue(delconfig));
9+
del(delconfig, done);
10+
});
11+
};

gulp-tasks/copy-files.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module.exports = function(gulp, $, config, utilities) {
2+
'use strict';
3+
4+
gulp.task('copy-html', function() {
5+
utilities.log('Moving app html files to .tmp');
6+
7+
return gulp
8+
.src([config.app + '**/*.html', '!' + config.app + 'specs.html'])
9+
.pipe(gulp.dest(config.temp));
10+
});
11+
};

gulp-tasks/deploy.js

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
var merge = require('merge-stream');
2+
var awspublishRouter = require('gulp-awspublish-router');
3+
4+
module.exports = function(gulp, $, config, utilities) {
5+
'use strict';
6+
7+
gulp.task('deploy', ['build'], function() {
8+
var awsConfig = {
9+
params: {
10+
Bucket: config.aws.bucket
11+
},
12+
"accessKeyId": config.aws.key,
13+
"secretAccessKey": config.aws.secret
14+
};
15+
16+
// create a new publisher
17+
var publisher = $.awspublish.create(awsConfig);
18+
19+
utilities.log('Deploying to S3');
20+
21+
var gzip = gulp.src(['build/**/*.js', 'build/**/*.css']).pipe($.awspublish.gzip())
22+
.pipe(awspublishRouter({
23+
cache: {
24+
cacheTime: 94608000,
25+
allowTransform: false,
26+
public: true
27+
},
28+
routes: {
29+
"^.+$": "$&"
30+
}
31+
}));
32+
33+
var plain = gulp.src(['build/**/*', '!build/**/*.js', '!build/**/*.css'])
34+
.pipe(awspublishRouter({
35+
cache: {
36+
cacheTime: 94608000,
37+
allowTransform: false,
38+
public: true
39+
},
40+
routes: {
41+
"^.+\\.html": {
42+
cacheTime: 0
43+
},
44+
"^.+$": "$&"
45+
}
46+
}));
47+
48+
return merge(gzip, plain)
49+
.pipe(publisher.cache())
50+
.pipe(publisher.publish())
51+
.pipe($.if(!config.production, publisher.sync()))
52+
.pipe($.awspublish.reporter());
53+
});
54+
};

gulp-tasks/e2e.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
module.exports = function(gulp, $, config, utilities) {
2+
'use strict';
3+
4+
gulp.task('e2e', function() {
5+
return gulp
6+
.src(['./tests/e2e/app/*.js'])
7+
.pipe($.angularProtractor({
8+
'configFile': 'tests/e2e/conf.js',
9+
'args': ['--baseUrl', 'http://127.0.0.1:8000'],
10+
'autoStartStopServer': true,
11+
'debug': true
12+
}))
13+
.on('error', function(e) { throw e });
14+
});
15+
};

gulp-tasks/fonts.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module.exports = function(gulp, $, config, utilities) {
2+
'use strict';
3+
4+
gulp.task('fonts', function() {
5+
utilities.log('Copying fonts');
6+
7+
return gulp
8+
.src([config.fonts, 'bower_components/fontawesome/fonts/fontawesome-webfont.*'])
9+
.pipe(gulp.dest(config.build + 'fonts'));
10+
});
11+
};

gulp-tasks/images.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
module.exports = function(gulp, $, config, utilities) {
2+
'use strict';
3+
4+
gulp.task('images', ['images:move-skills'], function() {
5+
utilities.log('Copying and compressing the images');
6+
7+
return gulp
8+
.src([config.images, '!' + config.assets + 'images/skills/**.*'])
9+
.pipe($.imagemin({optimizationLevel: 4}))
10+
.pipe(gulp.dest(config.temp + 'images'));
11+
});
12+
13+
gulp.task('images:move-skills', function() {
14+
utilities.log('Copying original skill icons to build folder');
15+
16+
return gulp
17+
.src(config.assets + 'images/skills/**.*')
18+
.pipe(gulp.dest(config.build + 'images/skills'));
19+
});
20+
};

gulp-tasks/inject.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
module.exports = function(gulp, $, config, utilities) {
2+
'use strict';
3+
4+
gulp.task('wiredep', ['jade'], function() {
5+
utilities.log('Injecting bower css/js and app js files into index.jade');
6+
var options = config.getWiredepDefaultOptions();
7+
var wiredep = require('wiredep').stream;
8+
9+
return gulp
10+
.src(config.index)
11+
.pipe(wiredep(options))
12+
.pipe($.inject(
13+
gulp.src(config.js)
14+
.pipe($.naturalSort('desc'))
15+
.pipe($.angularFilesort()),
16+
{relative: true}))
17+
.pipe($.inject(gulp.src(config.nonBowerScripts, {read: false}), {
18+
starttag: '//- inject:nonBowerScripts',
19+
endtag: '//- endinject',
20+
ignorePath: 'assets/'
21+
}))
22+
.pipe(gulp.dest(config.app));
23+
});
24+
25+
gulp.task('inject', ['wiredep', 'styles', 'templatecache'], function() {
26+
utilities.log('Injecting app css into index.jade');
27+
28+
return gulp
29+
.src(config.index)
30+
.pipe($.inject( // Sort the css (topcoder.css, then everything else)
31+
gulp.src(config.css, {read: false})
32+
.pipe($.naturalSort('desc')),
33+
{ignorePath: '.tmp', addRootSlash: false}))
34+
.pipe(gulp.dest(config.app));
35+
});
36+
};

gulp-tasks/jade.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
var envFile = require('../config.js')();
2+
var envConfig = envFile[process.env.ENVIRONMENT || 'development'];
3+
4+
module.exports = function(gulp, $, config, utilities) {
5+
'use strict';
6+
7+
gulp.task('jade', function() {
8+
utilities.log('Compiling Jade --> HTML');
9+
10+
return gulp
11+
.src(config.jade)
12+
.pipe($.plumber())
13+
.pipe($.data(function(file) {
14+
return envConfig;
15+
}))
16+
.pipe($.jade({pretty: true}))
17+
.pipe($.replace(/-->/g, ' -->'))
18+
.pipe(gulp.dest(config.temp));
19+
});
20+
};

0 commit comments

Comments
 (0)