GUI: Added ESLint to gulp tasks
GUI: Linted files
Fixed an error in the build script
JIRA-TASKS: ONOS-6522, ONOS-6521
Change-Id: Ie72abfe6cbe21c8946f219be6193344b67ec6dd1
diff --git a/tools/gui/gulp-tasks/dev-server/index.js b/tools/gui/gulp-tasks/dev-server/index.js
new file mode 100644
index 0000000..f0dddf7
--- /dev/null
+++ b/tools/gui/gulp-tasks/dev-server/index.js
@@ -0,0 +1,69 @@
+import gulp from 'gulp';
+import browserSync from 'browser-sync';
+import fs from 'fs';
+import webserver from 'gulp-webserver';
+import proxy from 'http-proxy-middleware';
+
+console.log(proxy)
+
+let external_apps;
+
+const files = ['../../web/gui/src/main/webapp/**/*.js'];
+const defaultViews = fs.readdirSync('../../web/gui/src/main/webapp/app/view/');
+const viewNameMatcher = new RegExp(/\/onos\/ui\/app\/view\/(.+)\/.+\.(?:js|css|html)/);
+
+if (process.env.ONOS_EXTERNAL_APP_DIRS) {
+ let external_apps = process.env.ONOS_EXTERNAL_APP_DIRS.replace(/\s/,'').split(',');
+
+ external_apps = external_apps.reduce(function (dict, app) {
+ const pieces = app.split(':');
+ const appName = pieces[0];
+ const appPath = pieces[1];
+ dict[appName] = appPath;
+ return dict;
+ }, {});
+}
+
+const checkExternalApp = (url) => {
+ if(external_apps){
+ for(let i = 0; i < Object.keys(external_apps).length; i++){
+ const key = Object.keys(external_apps)[i];
+ if (url.indexOf(key) !== -1) {
+ return key;
+ }
+ }
+ }
+ return false;
+};
+
+const serve = () => {
+ browserSync.init({
+ proxy: {
+ target: 'http://localhost:8181',
+ ws: true,
+ middleware: [
+ proxy(['**/*.js', '!/onos/ui/onos.js'], { target: 'http://localhost:8189' }),
+ proxy('**/*.js.map', {
+ target: 'http://localhost:8189',
+ changeOrigin: true,
+ logLevel: 'debug'
+ })
+ ]
+ }
+ });
+};
+
+const tasks = () => {
+ gulp.task('serve', ['bundle-js', 'proxy-server'], serve);
+ gulp.task('proxy-server', function() {
+ gulp.src('../../web/gui/src/main/webapp')
+ .pipe(webserver({
+ port: 8189,
+ path: '/onos/ui/'
+ }));
+ });
+};
+
+export default tasks();
+
+