diff --git a/.env b/.env new file mode 100644 index 0000000..8aaf6cf --- /dev/null +++ b/.env @@ -0,0 +1 @@ +RESTAPI_URL="https://nomitwisp-restapi.herokuapp.com" \ No newline at end of file diff --git a/package.json b/package.json index efda4c1..bbc34a1 100755 --- a/package.json +++ b/package.json @@ -4,8 +4,9 @@ "private": true, "description": "HTML Admin Template", "scripts": { - "start": "webpack-dashboard -t 'Project' -- webpack-dev-server", + "start": "npm run build && node server.js", "dev": "webpack-dashboard -t 'Project' -- webpack-dev-server", + "quickdev": "webpack-dev-server", "clean": "shx rm -rf ./build", "build": "npm run clean && cross-env NODE_ENV=\"production\" webpack", "preview": "cross-env NODE_ENV=\"production\" webpack-dev-server", @@ -13,9 +14,6 @@ "lint:scss": "stylelint ./src/**/*.scss --syntax scss", "lint": "npm run lint:js && npm run lint:scss" }, - "devDependencies": { - "html-loader": "^0.5.5" - }, "dependencies": { "angular": "^1.6.4", "angular-cookies": "^1.6.4", @@ -40,10 +38,12 @@ "cross-env": "^5.1.0", "css-loader": "^0.28.7", "datatables": "^1.10.13", + "dotenv-webpack": "^1.7.0", "easy-pie-chart": "^2.1.7", "eslint": "^4.9.0", "eslint-config-airbnb-base": "^12.1.0", "eslint-plugin-import": "2.7.0", + "express": "^4.16.4", "extract-text-webpack-plugin": "^3.0.1", "file-loader": "^1.1.5", "fullcalendar": "^3.6.2", @@ -72,6 +72,6 @@ "stylelint-config-standard": "^17.0.0", "webpack": "^3.8.1", "webpack-dashboard": "^1.0.0", - "webpack-dev-server": "^2.9.3" + "webpack-dev-server": "^2.11.3" } } diff --git a/server.js b/server.js new file mode 100644 index 0000000..ef986bd --- /dev/null +++ b/server.js @@ -0,0 +1,12 @@ +const express = require('express'); + +const app = express(); + +app.use(express.static('public')); + +// start the server with the build folder. +app.use('/', express.static(__dirname + '/build')); + +const server = app.listen(process.env.PORT || 3000, function () { + console.log('Server started at http://localhost:%s', server.address().port); +}); \ No newline at end of file diff --git a/src/assets/scripts/ads-details/ads-details.service.js b/src/assets/scripts/ads-details/ads-details.service.js index 9c367ff..a6dc214 100644 --- a/src/assets/scripts/ads-details/ads-details.service.js +++ b/src/assets/scripts/ads-details/ads-details.service.js @@ -2,7 +2,7 @@ const AdsDetailsService = ($http) => { let serv = {}; serv.fetchAdDetails = (route) =>{ - return $http.get('https://nomitwisp-restapi.herokuapp.com/api/ads/'+route.id) + return $http.get(`${process.env.RESTAPI_URL}/api/ads/${route.id}`) .then( (result) => { return result.data; }) .catch( (error) => { return error; }) } diff --git a/src/assets/scripts/ads/ads.service.js b/src/assets/scripts/ads/ads.service.js index 910ef8e..544b840 100644 --- a/src/assets/scripts/ads/ads.service.js +++ b/src/assets/scripts/ads/ads.service.js @@ -3,7 +3,7 @@ const AdsService = ($http) => { let serv = {}; serv.fetchAdsService = () =>{ - return $http.get('https://nomitwisp-restapi.herokuapp.com/api/ads', { withCredentials: true }) + return $http.get(`${process.env.RESTAPI_URL}/api/ads`, { withCredentials: true }) .then( (result) => { return result.data; }) .catch( (error) => { return error; }); } diff --git a/src/assets/scripts/companies/companies.service.js b/src/assets/scripts/companies/companies.service.js index 2d245e3..db3acd4 100644 --- a/src/assets/scripts/companies/companies.service.js +++ b/src/assets/scripts/companies/companies.service.js @@ -3,7 +3,7 @@ const CompaniesService = ($http) => { let serv = {}; serv.fetchCompaniesService = () =>{ - return $http.get('https://nomitwisp-restapi.herokuapp.com/api/users/company', { withCredentials: true }) + return $http.get(`${process.env.RESTAPI_URL}/api/users/company`, { withCredentials: true }) .then( (result) => { console.log(result.data); return result.data; }) .catch( (error) => { return error; }); } diff --git a/src/assets/scripts/logout/service.js b/src/assets/scripts/logout/service.js index c2188c7..85c7d4f 100644 --- a/src/assets/scripts/logout/service.js +++ b/src/assets/scripts/logout/service.js @@ -4,7 +4,7 @@ const LogoutService = ($http) => { serv.logoutUserService = (user) =>{ return $http({ method: 'POST', - url: 'https://nomitwisp-restapi.herokuapp.com/logout', + url: `${process.env.RESTAPI_URL}/logout`, data: user, headers: { 'Content-Type': 'application/json' } }) diff --git a/src/assets/scripts/nwLogin/service.js b/src/assets/scripts/nwLogin/service.js index 6aef381..574e842 100644 --- a/src/assets/scripts/nwLogin/service.js +++ b/src/assets/scripts/nwLogin/service.js @@ -4,7 +4,7 @@ const LoginService = ($http) => { serv.loginUserService = (user) => { return $http({ method: 'POST', - url: 'https://nomitwisp-restapi.herokuapp.com/login', + url: `${process.env.RESTAPI_URL}/login`, data: user, headers: { 'Content-Type': 'application/json' } }) diff --git a/src/assets/scripts/profile/profile.service.js b/src/assets/scripts/profile/profile.service.js index a12057d..f0e9659 100644 --- a/src/assets/scripts/profile/profile.service.js +++ b/src/assets/scripts/profile/profile.service.js @@ -3,7 +3,7 @@ const ProfileService = ($http) => { let serv = {}; serv.fetchProfileService = (id) =>{ - return $http.get('https://nomitwisp-restapi.herokuapp.com/api/user/'+id, { withCredentials: true }) + return $http.get(`${process.env.RESTAPI_URL}/api/user/${id}`, { withCredentials: true }) .then( (result) => { return result.data; }) .catch( (error) => { return error; }); } diff --git a/src/assets/scripts/referees/referees.service.js b/src/assets/scripts/referees/referees.service.js index 7ebcf11..8afd7b6 100644 --- a/src/assets/scripts/referees/referees.service.js +++ b/src/assets/scripts/referees/referees.service.js @@ -3,7 +3,7 @@ const RefereesService = ($http) => { let serv = {}; serv.fetchRefereesService = () => { - return $http.get('https://nomitwisp-restapi.herokuapp.com/api/users/referee', { withCredentials: true }) + return $http.get(`${process.env.RESTAPI_URL}/api/users/referee`, { withCredentials: true }) .then( (result) => { console.log(result.data); return result.data; }) .catch( (error) => { return error; }); } diff --git a/src/assets/scripts/signup/signup.service.js b/src/assets/scripts/signup/signup.service.js index fe83bae..8b0c8d0 100644 --- a/src/assets/scripts/signup/signup.service.js +++ b/src/assets/scripts/signup/signup.service.js @@ -7,7 +7,7 @@ const SignupService = ($http)=> { serv.signupUserService = (user) => { return $http({ method: 'POST', - url: 'https://nomitwisp-restapi.herokuapp.com/signup', + url: `${process.env.RESTAPI_URL}/signup`, data: user, headers: { 'Content-Type': 'application/json' } }) diff --git a/src/assets/scripts/user-details/user-details.service.js b/src/assets/scripts/user-details/user-details.service.js index 00d4886..c83f1bf 100644 --- a/src/assets/scripts/user-details/user-details.service.js +++ b/src/assets/scripts/user-details/user-details.service.js @@ -2,7 +2,7 @@ const UserDetailsService = ($http) => { let serv = {}; serv.fetchUserDetails = (route) =>{ - return $http.get('https://nomitwisp-restapi.herokuapp.com/api/users/'+route.id) + return $http.get(`${process.env.RESTAPI_URL}/api/users/${route.id}`) .then( (result) => { return result.data; }) .catch( (error) => { return error; }) } diff --git a/src/assets/scripts/users/users.service.js b/src/assets/scripts/users/users.service.js index c38e51e..f2907dc 100644 --- a/src/assets/scripts/users/users.service.js +++ b/src/assets/scripts/users/users.service.js @@ -3,7 +3,7 @@ const UsersService = ($http) => { let serv = {}; serv.fetchUsersService = () => { - return $http.get('https://nomitwisp-restapi.herokuapp.com/api/users/user', { withCredentials: true }) + return $http.get(`${process.env.RESTAPI_URL}/api/users/user`, { withCredentials: true }) .then( (result) => { console.log(result.data); return result.data; }) .catch( (error) => { return error; }); } diff --git a/webpack/devServer.js b/webpack/devServer.js index 01b4ce1..6f3a57b 100755 --- a/webpack/devServer.js +++ b/webpack/devServer.js @@ -15,12 +15,13 @@ const */ const devServer = { - contentBase : manifest.IS_PRODUCTION ? manifest.paths.build : manifest.paths.src, + contentBase : manifest.paths.src, historyApiFallback : true, - port : manifest.IS_PRODUCTION ? process.env.PORT || 3001 : process.env.PORT || 3000, - compress : manifest.IS_PRODUCTION, - inline : !manifest.IS_PRODUCTION, - watchContentBase: true, + port : process.env.PORT || 3000, + compress : false, + inline : true, + watchContentBase : !manifest.IS_PRODUCTION, + open : false, hot : !manifest.IS_PRODUCTION, host : '0.0.0.0', disableHostCheck : true, // [1] diff --git a/webpack/plugins/copyPlugin.js b/webpack/plugins/copyPlugin.js index 2766abf..6ba55b6 100755 --- a/webpack/plugins/copyPlugin.js +++ b/webpack/plugins/copyPlugin.js @@ -8,4 +8,8 @@ module.exports = new CopyWebpackPlugin([ from : path.join(manifest.paths.src, 'assets/static'), to : path.join(manifest.paths.build, 'assets/static'), }, + { + from : path.join(manifest.paths.src, 'assets/scripts'), + to : path.join(manifest.paths.build, 'assets/scripts'), + }, ]); diff --git a/webpack/plugins/index.js b/webpack/plugins/index.js index a152bec..51c19cc 100755 --- a/webpack/plugins/index.js +++ b/webpack/plugins/index.js @@ -1,5 +1,6 @@ const manifest = require('../manifest'); +const Dotenv = require('dotenv-webpack'); const plugins = []; @@ -8,7 +9,8 @@ plugins.push( ...(require('./htmlPlugin')), ...(require('./internal')), require('./caseSensitivePlugin'), - require('./extractPlugin') + require('./extractPlugin'), + new Dotenv() ); if (manifest.IS_DEVELOPMENT) { diff --git a/webpack/plugins/internal.js b/webpack/plugins/internal.js index 4909e09..4e4f6b4 100755 --- a/webpack/plugins/internal.js +++ b/webpack/plugins/internal.js @@ -56,29 +56,29 @@ plugins.push( // @Merging Production Plugins // --------------------------- -if (manifest.IS_PRODUCTION) { - plugins.push( - new webpack.optimize.UglifyJsPlugin({ - compress: { - comparisons : true, - conditionals : true, - dead_code : true, - drop_debugger : true, - evaluate : true, - if_return : true, - join_vars : true, - screw_ie8 : true, - sequences : true, - unused : true, - warnings : false, - }, - - output: { - comments: false, - }, - }) - ); -} +// if (manifest.IS_PRODUCTION) { +// plugins.push( +// new webpack.optimize.UglifyJsPlugin({ +// compress: { +// comparisons : true, +// conditionals : true, +// dead_code : true, +// drop_debugger : true, +// evaluate : true, +// if_return : true, +// join_vars : true, +// screw_ie8 : true, +// sequences : true, +// unused : true, +// warnings : false, +// }, + +// output: { +// comments: false, +// }, +// }) +// ); +// } // ----------------------------