Modernize web GUI and make it installable on BMC
1. Move from gulp server to webpack. This allows the proper
compression to allow the webui to be embedded in the BMC.
2. Update js paths to use requires, not hardcoded paths. This was
required to make the packaging work correctly.
3. Add babel config to do translation.
4. Update angularjs directive calls to use the angular 1.6 syntax for
promises intead of success and fail.
https://docs.angularjs.org/guide/migration#migrate1.5to1.6-ng-services-$http
5. As a consequence of using NPM/webpack, the versions of angular and
associated modules that were checked in have been updated.
Change-Id: Icb71e2eedb0d9a8943fc914f9dc4be11d0983c00
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/package.json b/package.json
index b8ddec5..5e793b8 100644
--- a/package.json
+++ b/package.json
@@ -8,20 +8,17 @@
"url": "git://github.com/openbmc/phosphor-webui"
},
"scripts": {
- "bower": "node node_modules/bower/bin/bower",
- "gulp": "node node_modules/gulp/bin/gulp.js",
- "distribution": "npm run gulp distribution",
- "minifyvendors": "npm run gulp minifyvendors",
- "serve": "npm run gulp server",
- "shrinkwrap": "npm shrinkwrap --dev",
- "start-dev": "npm run gulp server",
- "webapp": "npm run gulp webapp",
- "start": "npm run gulp server",
- "postinstall": "bower install"
+ "build": "rimraf dist && webpack --bail --progress --profile",
+ "build-debug": "rimraf dist && webpack --bail --progress --profile --devtool source-map",
+ "server": "webpack-dev-server --history-api-fallback --inline --progress --devtool source-map",
+ "test": "karma start",
+ "test-watch": "karma start --auto-watch --no-single-run",
+ "start": "npm run server"
},
"contributors": [
"Iftekharul Islam <iffy.ryan@ibm.com>",
- "Michael Davis <michael.s.davis@ibm.com>"
+ "Michael Davis <michael.s.davis@ibm.com>",
+ "Ed Tanous <ed.tanous@intel.com>"
],
"files": [
"dist"
@@ -29,13 +26,39 @@
"keywords": [
"node"
],
- "dependencies": {},
+ "dependencies": {
+ "angular": "^1.5.0",
+ "angular-animate": "^1.6.6",
+ "angular-clipboard": "^1.6.2",
+ "angular-cookies": "^1.5.0",
+ "angular-route": "^1.6.6",
+ "angular-sanitize": "^1.5.0",
+ "angular-ui-bootstrap": "^2.5.0",
+ "angular-ui-router": "^0.4.3",
+ "angular-websocket": "^2.0.1",
+ "angularUtils": "https://github.com/michaelbromley/angularUtils.git",
+ "assets-webpack-plugin": "^3.5.1",
+ "bootstrap": "^3.3.7",
+ "compression-webpack-plugin": "^1.0.1",
+ "font-awesome": "^4.7.0",
+ "hterm-umdjs": "^1.2.0",
+ "html-loader": "^0.5.1",
+ "node-sass": "^4.5.3",
+ "sass-loader": "^6.0.6"
+ },
"peerDependencies": {},
"devDependencies": {
- "autoprefixer": "^6.6.1",
- "bower": "1.8.0",
+ "angular-mocks": "^1.5.0",
+ "autoprefixer": "^7.1.4",
+ "babel-core": "^6.2.1",
+ "babel-loader": "^7.1.2",
+ "babel-preset-es2015": "^6.1.18",
+ "copy-webpack-plugin": "4.1.1",
+ "css-loader": "0.28.7",
"eslint-plugin-angular": "2.0.0",
"event-stream": "3.3.4",
+ "extract-text-webpack-plugin": "3.0.1",
+ "file-loader": "1.1.5",
"gulp": "3.9.1",
"gulp-angular-templatecache": "2.0.0",
"gulp-clean": "^0.3.2",
@@ -59,10 +82,28 @@
"gulp-useref": "^1.2.0",
"gulp-util": "^3.0.6",
"html-minifier": "^3.3.0",
- "node-sass": "^4.3.0",
+ "html-webpack-plugin": "^2.7.1",
+ "istanbul-instrumenter-loader": "3.0.0",
+ "jasmine-core": "^2.3.4",
+ "karma": "^1.1.0",
+ "karma-coverage": "^1.0.0",
+ "karma-jasmine": "^1.0.2",
+ "karma-phantomjs-launcher": "^1.0.0",
+ "karma-sourcemap-loader": "^0.3.7",
+ "karma-spec-reporter": "0.0.31",
+ "karma-webpack": "2.0.4",
+ "node-libs-browser": "2.0.0",
+ "null-loader": "^0.1.1",
"onchange": "^3.2.1",
"parallelshell": "^2.0.0",
- "run-sequence": "^1.1.2"
+ "phantomjs-prebuilt": "^2.1.4",
+ "postcss-loader": "2.0.6",
+ "raw-loader": "^0.5.1",
+ "rimraf": "^2.5.1",
+ "run-sequence": "^1.1.2",
+ "style-loader": "^0.19.0",
+ "webpack": "^3.6.0",
+ "webpack-dev-server": "^2.9.1"
},
"license": "MIT",
"engines": {