Skip to content

Commit cf3a6b8

Browse files
committed
Adding linting to travis
1 parent eed08ed commit cf3a6b8

File tree

4 files changed

+165
-159
lines changed

4 files changed

+165
-159
lines changed

.eslintrc.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,6 @@
1515
"ecmaVersion": 2018
1616
},
1717
"rules": {
18+
"no-undef": "off"
1819
}
19-
}
20+
}

.travis.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,20 @@ php:
55
- 7.2
66
- 7.3
77
- nightly
8+
node_js:
9+
- 10
810

911
matrix:
1012
allow_failures:
1113
- php: 7.0
14+
- php: 7.2
15+
- php: 7.3
1216
- php: nightly
1317

18+
install:
19+
- npm install
20+
1421
script:
1522
- if find . -name "*.php" ! -path "./vendor/*" -exec php -l {} 2>&1 \; | grep "syntax error, unexpected"; then exit 1; fi
23+
- npm run lint
24+
- npm run build

gulpfile.js

Lines changed: 152 additions & 157 deletions
Original file line numberDiff line numberDiff line change
@@ -1,178 +1,173 @@
11
// Get the version info
2-
var pkg = require('./package.json');
3-
if(!pkg.version) {
4-
console.error("No version information in package.json.");
5-
proccess.exit();
2+
var pkg = require('./package.json')
3+
if (!pkg.version) {
4+
console.error('No version information in package.json.')
5+
proccess.exit()
66
}
77

88
var assetsRoot = {
9-
src: 'assets/src/',
10-
dest: 'assets/prod/'
9+
src: 'assets/src/',
10+
dest: 'assets/prod/'
1111
}
1212

1313
// Set up core routes
1414
var modulesRoot = {
15-
src: assetsRoot.src + 'modules/',
16-
dest: assetsRoot.dest + pkg.version + '/modules/'
17-
};
15+
src: assetsRoot.src + 'modules/',
16+
dest: assetsRoot.dest + pkg.version + '/modules/'
17+
}
1818

1919
var assetModuleList = {
20-
sm: ['App', 'Schedule', 'Generate', 'Browse', 'Search', 'Help', 'Index']
21-
};
20+
sm: ['App', 'Schedule', 'Generate', 'Browse', 'Search', 'Help', 'Index']
21+
}
2222

2323
var assetTypes = {
24-
scripts: {
25-
paths: [
26-
'',
27-
'providers/',
28-
'directives/',
29-
'controllers/',
30-
],
31-
selector: '*.js'
32-
},
33-
styles: {
34-
paths: [
35-
'',
36-
'styles/',
37-
],
38-
selector: '*.css'
39-
},
40-
templates: {
41-
paths: [
42-
'',
43-
'templates/',
44-
],
45-
selector: '*.html'
46-
},
47-
};
48-
49-
var paths = {};
50-
51-
52-
for(var moduleName in assetModuleList) {
53-
subModuleList = assetModuleList[moduleName];
54-
55-
paths[moduleName] = {};
56-
for(var assetType in assetTypes) {
57-
58-
var assetOpts = assetTypes[assetType];
59-
60-
paths[moduleName][assetType] = [];
61-
62-
assetOpts.paths.forEach(function(assetPath) {
63-
paths[moduleName][assetType].push(modulesRoot.src + moduleName + '/**/' + assetPath + assetOpts.selector);
64-
});
65-
}
24+
scripts: {
25+
paths: [
26+
'',
27+
'providers/',
28+
'directives/',
29+
'controllers/'
30+
],
31+
selector: '*.js'
32+
},
33+
styles: {
34+
paths: [
35+
'',
36+
'styles/'
37+
],
38+
selector: '*.css'
39+
},
40+
templates: {
41+
paths: [
42+
'',
43+
'templates/'
44+
],
45+
selector: '*.html'
46+
}
6647
}
6748

68-
var doFor = function(assetType, cb) {
69-
var streamResults = [];
70-
for(var moduleName in assetModuleList) {
71-
streamResults.push(cb({
72-
src: paths[moduleName][assetType],
73-
dest: modulesRoot.dest + moduleName + '/'
74-
}));
75-
}
76-
return streamResults;
77-
};
78-
79-
var fs = require('fs');
80-
var dump = function(tvar) {
81-
fs.writeFileSync("./dump.json", JSON.stringify(tvar));
49+
var paths = {}
50+
51+
for (var moduleName in assetModuleList) {
52+
subModuleList = assetModuleList[moduleName]
53+
54+
paths[moduleName] = {}
55+
for (var assetType in assetTypes) {
56+
var assetOpts = assetTypes[assetType]
57+
58+
paths[moduleName][assetType] = []
59+
60+
assetOpts.paths.forEach(function (assetPath) {
61+
paths[moduleName][assetType].push(modulesRoot.src + moduleName + '/**/' + assetPath + assetOpts.selector)
62+
})
63+
}
8264
}
8365

66+
var doFor = function (assetType, cb) {
67+
var streamResults = []
68+
for (var moduleName in assetModuleList) {
69+
streamResults.push(cb({
70+
src: paths[moduleName][assetType],
71+
dest: modulesRoot.dest + moduleName + '/'
72+
}))
73+
}
74+
return streamResults
75+
}
8476

77+
var fs = require('fs')
78+
var dump = function (tvar) {
79+
fs.writeFileSync('./dump.json', JSON.stringify(tvar))
80+
}
8581

8682
// Import required plugins
87-
var gulp = require('gulp');
88-
var htmlmin = require('gulp-htmlmin');
89-
var ngmin = require('gulp-ngmin');
90-
var uglify = require('gulp-uglify');
91-
var clean = require('gulp-clean');
92-
var concat = require('gulp-concat');
93-
var rename = require('gulp-rename');
94-
var sourcemaps = require('gulp-sourcemaps');
95-
var replace = require('gulp-replace');
96-
var es = require('event-stream');
97-
var minifyCSS = require('gulp-minify-css');
98-
var template = require('gulp-template');
83+
var gulp = require('gulp')
84+
var htmlmin = require('gulp-htmlmin')
85+
var ngmin = require('gulp-ngmin')
86+
var uglify = require('gulp-uglify')
87+
var clean = require('gulp-clean')
88+
var concat = require('gulp-concat')
89+
var rename = require('gulp-rename')
90+
var sourcemaps = require('gulp-sourcemaps')
91+
var replace = require('gulp-replace')
92+
var es = require('event-stream')
93+
var minifyCSS = require('gulp-minify-css')
94+
var template = require('gulp-template')
9995

10096
// Define Tasks
101-
gulp.task('templates', function() {
102-
103-
var mapped = doFor('templates', function(templatePaths) {
104-
return gulp.src(templatePaths.src)
105-
.pipe(htmlmin({
106-
collapseWhitespace: true,
107-
caseSensitive: true,
108-
keepClosingSlash: true
109-
}))
110-
.pipe(rename({suffix: '.min'}))
111-
.pipe(gulp.dest(templatePaths.dest));
112-
});
113-
114-
return es.concat.apply(null, mapped);
115-
});
116-
117-
118-
gulp.task('scripts', function() {
119-
var mapped = doFor('scripts', function(scriptPaths) {
120-
return gulp.src(scriptPaths.src)
121-
.pipe(template({modulePath: scriptPaths.dest}))
122-
.pipe(ngmin())
123-
.pipe(concat('dist.js'))
124-
.pipe(gulp.dest(scriptPaths.dest))
125-
.pipe(sourcemaps.init())
126-
.pipe(rename({suffix: '.min'}))
127-
.pipe(uglify({outSourceMap: "dist.min.js"}))
128-
.pipe(sourcemaps.write({inline: false, includeContent: false}))
129-
// HACK UNTIL GRUNT-UGLIFY HANDLES SOURCEMAPS CORRECTLY
130-
.pipe(replace('{"version":3,"file":"dist.min.js","sources":["dist.min.js"]', '{"version":3,"file":"dist.min.js","sources":["dist.js"]'))
131-
.pipe(gulp.dest(scriptPaths.dest));
132-
});
133-
134-
return es.concat.apply(null, mapped);
135-
});
136-
137-
138-
gulp.task('styles', function() {
139-
var mapped = doFor('styles', function(stylePaths) {
140-
return gulp.src(stylePaths.src)
141-
.pipe(concat('dist.css'))
142-
.pipe(gulp.dest(stylePaths.dest))
143-
.pipe(minifyCSS())
144-
.pipe(rename({suffix: '.min'}))
145-
.pipe(gulp.dest(stylePaths.dest));
146-
});
147-
148-
return es.concat.apply(null, mapped);
149-
});
150-
151-
gulp.task('watch', function() {
152-
153-
doFor('templates', function(templatePaths) {
154-
gulp.watch(templatePaths.src, ['templates']).on('error', function() {});
155-
});
156-
doFor('scripts', function(scriptPaths) {
157-
gulp.watch(scriptPaths.src, ['scripts']).on('error', function() {});
158-
});
159-
doFor('styles', function(stylesPaths) {
160-
gulp.watch(stylesPaths.src, ['styles']).on('error', function() {});
161-
});
162-
});
163-
164-
gulp.task('clean', function() {
165-
return gulp.src(modulesRoot.dest, {read: false})
166-
.pipe(clean());
167-
});
168-
169-
gulp.task('cleanAll', function() {
170-
return gulp.src([assetsRoot.dest + '/*', '!'+ assetsRoot.dest +'.gitkeep'], {read: false})
171-
.pipe(clean());
172-
});
173-
174-
gulp.task('build', ['clean'], function() {
175-
return gulp.start('scripts', 'templates', 'styles');
176-
});
177-
178-
gulp.task('default', ['build']);
97+
gulp.task('templates', function () {
98+
var mapped = doFor('templates', function (templatePaths) {
99+
return gulp.src(templatePaths.src)
100+
.pipe(htmlmin({
101+
collapseWhitespace: true,
102+
caseSensitive: true,
103+
keepClosingSlash: true
104+
}))
105+
.pipe(rename({ suffix: '.min' }))
106+
.pipe(gulp.dest(templatePaths.dest))
107+
})
108+
109+
return es.concat.apply(null, mapped)
110+
})
111+
112+
gulp.task('scripts', function () {
113+
var mapped = doFor('scripts', function (scriptPaths) {
114+
return gulp.src(scriptPaths.src)
115+
.pipe(template({ modulePath: scriptPaths.dest }))
116+
.pipe(ngmin())
117+
.pipe(concat('dist.js'))
118+
.pipe(gulp.dest(scriptPaths.dest))
119+
.pipe(sourcemaps.init())
120+
.pipe(rename({ suffix: '.min' }))
121+
.pipe(uglify({ outSourceMap: 'dist.min.js' }))
122+
.pipe(sourcemaps.write({ inline: false, includeContent: false }))
123+
// HACK UNTIL GRUNT-UGLIFY HANDLES SOURCEMAPS CORRECTLY
124+
.pipe(replace('{"version":3,"file":"dist.min.js","sources":["dist.min.js"]', '{"version":3,"file":"dist.min.js","sources":["dist.js"]'))
125+
.pipe(gulp.dest(scriptPaths.dest))
126+
})
127+
128+
return es.concat.apply(null, mapped)
129+
})
130+
131+
gulp.task('styles', function () {
132+
var mapped = doFor('styles', function (stylePaths) {
133+
return gulp.src(stylePaths.src)
134+
.pipe(concat('dist.css'))
135+
.pipe(gulp.dest(stylePaths.dest))
136+
.pipe(minifyCSS())
137+
.pipe(rename({ suffix: '.min' }))
138+
.pipe(gulp.dest(stylePaths.dest))
139+
})
140+
141+
return es.concat.apply(null, mapped)
142+
})
143+
144+
gulp.task('watch', function () {
145+
doFor('templates', function (templatePaths) {
146+
gulp.watch(templatePaths.src, ['templates']).on('error', function () {
147+
})
148+
})
149+
doFor('scripts', function (scriptPaths) {
150+
gulp.watch(scriptPaths.src, ['scripts']).on('error', function () {
151+
})
152+
})
153+
doFor('styles', function (stylesPaths) {
154+
gulp.watch(stylesPaths.src, ['styles']).on('error', function () {
155+
})
156+
})
157+
})
158+
159+
gulp.task('clean', function () {
160+
return gulp.src(modulesRoot.dest, { read: false })
161+
.pipe(clean())
162+
})
163+
164+
gulp.task('cleanAll', function () {
165+
return gulp.src([assetsRoot.dest + '/*', '!' + assetsRoot.dest + '.gitkeep'], { read: false })
166+
.pipe(clean())
167+
})
168+
169+
gulp.task('build', ['clean'], function () {
170+
return gulp.start('scripts', 'templates', 'styles')
171+
})
172+
173+
gulp.task('default', ['build'])

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
"description": "A course database lookup tool and schedule building web application for use at Rochester Institute of Technology.",
66
"main": "index.php",
77
"scripts": {
8-
"build": "gulp build"
8+
"build": "gulp build",
9+
"lint": "eslint assets/src/**/*.js"
910
},
1011
"repository": {
1112
"type": "git",

0 commit comments

Comments
 (0)