diff --git a/package.json b/package.json index fdbb3101f5..00fcca8646 100644 --- a/package.json +++ b/package.json @@ -68,15 +68,15 @@ "coverage": "http-server -c-1 -o -p 9875 ./coverage" }, "dependencies": { - "@angular/animations": "4.2.6", - "@angular/common": "4.2.6", - "@angular/core": "4.2.6", - "@angular/forms": "4.2.6", - "@angular/http": "4.2.6", - "@angular/platform-browser": "4.2.6", - "@angular/platform-browser-dynamic": "4.2.6", - "@angular/platform-server": "4.2.6", - "@angular/router": "4.2.6", + "@angular/animations": "4.3.0", + "@angular/common": "4.3.0", + "@angular/core": "4.3.0", + "@angular/forms": "4.3.0", + "@angular/http": "4.3.0", + "@angular/platform-browser": "4.3.0", + "@angular/platform-browser-dynamic": "4.3.0", + "@angular/platform-server": "4.3.0", + "@angular/router": "4.3.0", "@angularclass/bootloader": "1.0.1", "@angularclass/idle-preload": "1.0.4", "@ng-bootstrap/ng-bootstrap": "1.0.0-alpha.28", @@ -85,7 +85,7 @@ "@ngrx/router-store": "1.2.6", "@ngrx/store": "2.2.3", "@nguniversal/express-engine": "1.0.0-beta.2", - "@ngx-translate/core": "7.0.0", + "@ngx-translate/core": "7.1.0", "@ngx-translate/http-loader": "0.1.0", "body-parser": "1.17.2", "bootstrap": "4.0.0-alpha.6", @@ -111,8 +111,8 @@ "zone.js": "0.8.12" }, "devDependencies": { - "@angular/compiler": "4.2.6", - "@angular/compiler-cli": "4.2.6", + "@angular/compiler": "4.3.0", + "@angular/compiler-cli": "4.3.0", "@ngrx/store-devtools": "3.2.4", "@ngtools/webpack": "1.5.1", "@types/cookie-parser": "1.3.30", @@ -124,7 +124,7 @@ "@types/lodash": "ts2.0", "@types/memory-cache": "0.0.29", "@types/mime": "1.3.1", - "@types/node": "8.0.12", + "@types/node": "8.0.13", "@types/serve-static": "1.7.31", "@types/source-map": "0.5.0", "@types/webfontloader": "1.6.28", @@ -134,7 +134,7 @@ "autoprefixer": "7.1.2", "awesome-typescript-loader": "3.2.1", "codelyzer": "3.1.2", - "compression-webpack-plugin": "0.4.0", + "compression-webpack-plugin": "1.0.0", "copy-webpack-plugin": "4.0.1", "css-loader": "0.28.4", "deep-freeze": "0.0.1", @@ -178,7 +178,7 @@ "rollup-plugin-node-resolve": "3.0.0", "rollup-plugin-uglify": "2.0.1", "sass-loader": "6.0.6", - "script-ext-html-webpack-plugin": "1.8.3", + "script-ext-html-webpack-plugin": "1.8.5", "source-map-loader": "0.2.1", "string-replace-loader": "1.3.0", "to-string-loader": "1.1.5", diff --git a/src/config.ts b/src/config.ts index 23231af3d3..b60fe304b1 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,3 +1,4 @@ +// Look in ./config folder for config import { InjectionToken } from '@angular/core'; import { ServerConfig } from './config/server-config.interface'; @@ -5,43 +6,51 @@ import { GlobalConfig } from './config/global-config.interface'; const GLOBAL_CONFIG: InjectionToken = new InjectionToken('config'); +let configContext = require.context("../config", false, /js$/); + let production = false; let ENV_CONFIG: GlobalConfig; +let envConfigFile: string; + +// check process.env.NODE_ENV to determine which environment config to use +// process.env.NODE_ENV is defined by webpack, else assume development +switch (process.env.NODE_ENV) { + case 'prod': + case 'production': + // webpack.prod.config.ts defines process.env.NODE_ENV = 'production' + envConfigFile = './environment.prod.js'; + production = true; + break; + case 'test': + // webpack.test.config.ts defines process.env.NODE_ENV = 'test' + envConfigFile = './environment.test.js'; + break; + default: + // if not using webpack.prod.config.ts or webpack.test.config.ts, it must be development + envConfigFile = './environment.dev.js'; +} + try { - ENV_CONFIG = require('../config/environment.default.js') as GlobalConfig; + ENV_CONFIG = configContext('./environment.default.js') as GlobalConfig; } catch (e) { throw new Error('Cannot find file config/environment.default.js'); } -switch (process.env.NODE_ENV) { - case 'prod': - case 'production': - production = true; - try { - ENV_CONFIG = Object.assign(ENV_CONFIG, require('../config/environment.prod.js')) as GlobalConfig; - } catch (e) { - console.warn('Cannot find file config/environment.prod.js', 'Using default environment.'); - } - break; - case 'test': - try { - ENV_CONFIG = Object.assign(ENV_CONFIG, require('../config/environment.test.js')) as GlobalConfig; - } catch (e) { - console.warn('Cannot find file config/environment.test.js', 'Using default environment.'); - } - break; - default: - try { - ENV_CONFIG = Object.assign(ENV_CONFIG, require('../config/environment.dev.js')) as GlobalConfig; - } catch (e) { - console.warn('Cannot find file config/environment.dev.js', 'Using default environment.'); - } +// if envConfigFile set try to get configs +if (envConfigFile) { + try { + ENV_CONFIG = configContext(envConfigFile) as GlobalConfig; + } catch (e) { + console.warn('Cannot find file ' + envConfigFile.substring(2, envConfigFile.length), 'Using default environment.'); + } } +// set config for whether running in production ENV_CONFIG.production = production; +// set base url if property is object with ssl, address, and port. i.e. ServerConfig for (const key in ENV_CONFIG) { if (ENV_CONFIG[key].host) { ENV_CONFIG[key].baseUrl = [ diff --git a/yarn.lock b/yarn.lock index 9d97c6159a..7263d38362 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,79 +2,79 @@ # yarn lockfile v1 -"@angular/animations@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-4.2.6.tgz#9d9c80a119b0c03693cbd23bbaf728b1531fffc7" +"@angular/animations@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-4.3.0.tgz#56f34b84649379202ac359929b82eb0b915e9c72" dependencies: tslib "^1.7.1" -"@angular/common@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-4.2.6.tgz#210ace4bd24e375f8b41ba52feb34b18a887d5da" +"@angular/common@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-4.3.0.tgz#13a54a6929dd52f9729b16ae446fad58fe163053" dependencies: tslib "^1.7.1" -"@angular/compiler-cli@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-4.2.6.tgz#8a21352299f3ebd1e3f17581054164566ca306be" +"@angular/compiler-cli@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-4.3.0.tgz#f375809730f5e883cfe211ae991210f1cb1a9f1e" dependencies: - "@angular/tsc-wrapped" "4.2.6" + "@angular/tsc-wrapped" "4.3.0" minimist "^1.2.0" reflect-metadata "^0.1.2" -"@angular/compiler@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-4.2.6.tgz#667756d495ca0d45d2061268a10d52af839faff4" +"@angular/compiler@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-4.3.0.tgz#55503bf27a1f062f71b9495393f3311903a8fc43" dependencies: tslib "^1.7.1" -"@angular/core@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-4.2.6.tgz#0c1c8ff0157f076f4a7c0b721ca1423f1bbe164e" +"@angular/core@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-4.3.0.tgz#bd2249c3de1224a7c6536c4aba728d6565329334" dependencies: tslib "^1.7.1" -"@angular/forms@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-4.2.6.tgz#9d32399608e4603bbf197417aa5b94e80a467eb0" +"@angular/forms@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-4.3.0.tgz#7d0c7a854737e9a30a5fd9665f8d4f56a1b91bd8" dependencies: tslib "^1.7.1" -"@angular/http@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/http/-/http-4.2.6.tgz#499e2ba0bbc1f3d71b76debec034c958caf1134e" +"@angular/http@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/http/-/http-4.3.0.tgz#dfb73310a840a6ad8050ac51f0e55c4984db0926" dependencies: tslib "^1.7.1" -"@angular/platform-browser-dynamic@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.2.6.tgz#4e6c8ad2cd5cfc17880417f77f2a3413cf791c26" +"@angular/platform-browser-dynamic@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-4.3.0.tgz#551fb18851b27ee8f3e4b0ee25aad10bd7b312e3" dependencies: tslib "^1.7.1" -"@angular/platform-browser@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-4.2.6.tgz#a131ff592225fe6496bca2c9aff612a4dbddf437" +"@angular/platform-browser@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-4.3.0.tgz#02389489185185c3becf06359346100e5479c7e1" dependencies: tslib "^1.7.1" -"@angular/platform-server@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-4.2.6.tgz#66e03fd855486fe058e23d3786061d91462998db" +"@angular/platform-server@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-4.3.0.tgz#5387fc848d0a75657c5ed9b70e1a57f054fb270f" dependencies: parse5 "^3.0.1" tslib "^1.7.1" xhr2 "^0.1.4" -"@angular/router@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-4.2.6.tgz#a6919d9b61c45ffc15fbee593398e3fd532dab46" +"@angular/router@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-4.3.0.tgz#71b428f185eb9161a1de14dc1949219ddcdffdae" dependencies: tslib "^1.7.1" -"@angular/tsc-wrapped@4.2.6": - version "4.2.6" - resolved "https://registry.yarnpkg.com/@angular/tsc-wrapped/-/tsc-wrapped-4.2.6.tgz#60e44b5b38f3340ee14c54a58a7a07133c64e898" +"@angular/tsc-wrapped@4.3.0": + version "4.3.0" + resolved "https://registry.yarnpkg.com/@angular/tsc-wrapped/-/tsc-wrapped-4.3.0.tgz#fe2e5376b6e2ad1b139edde23a9dbb4299df6264" dependencies: tsickle "^0.21.0" @@ -123,9 +123,9 @@ version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/@nguniversal/express-engine/-/express-engine-1.0.0-beta.2.tgz#868f32ef7fbb1a168063f2b312fff8f7bfb60ed0" -"@ngx-translate/core@7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@ngx-translate/core/-/core-7.0.0.tgz#5b6f63bd4042164d44cd85f68703af96e9392e7d" +"@ngx-translate/core@7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@ngx-translate/core/-/core-7.1.0.tgz#5087a65c8ff312e4244ca0646ed45cde83b170cd" "@ngx-translate/http-loader@0.1.0": version "0.1.0" @@ -196,13 +196,9 @@ version "2.0.29" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-2.0.29.tgz#5002e14f75e2d71e564281df0431c8c1b4a2a36a" -"@types/node@*": - version "8.0.10" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.10.tgz#12efec9183b072d5f951cf86395a4c780f868a17" - -"@types/node@8.0.12": - version "8.0.12" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.12.tgz#0560c3e8c9e3da0aa07d0b86e0b0a02b5fd29480" +"@types/node@*", "@types/node@8.0.13": + version "8.0.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.0.13.tgz#530f0f9254209b0335bf5cc6387822594ef47093" "@types/node@^6.0.46": version "6.0.52" @@ -528,10 +524,6 @@ async-foreach@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" -async@0.2.x: - version "0.2.10" - resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" - async@1.x, async@^1.4.0, async@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -542,16 +534,16 @@ async@2.0.1: dependencies: lodash "^4.8.0" -async@^0.9.0, async@~0.9.0: - version "0.9.2" - resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" - -async@^2.0.0, async@^2.1.2, async@^2.1.5: +async@2.4.1, async@^2.0.0, async@^2.1.2, async@^2.1.5: version "2.4.1" resolved "https://registry.yarnpkg.com/async/-/async-2.4.1.tgz#62a56b279c98a11d0987096a01cc3eeb8eb7bbd7" dependencies: lodash "^4.14.0" +async@^0.9.0, async@~0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -1284,7 +1276,7 @@ combined-stream@^1.0.5, combined-stream@~1.0.5: dependencies: delayed-stream "~1.0.0" -commander@2.9.x, commander@^2.8.1, commander@^2.9.0, commander@~2.9.0: +commander@2.9.x, commander@^2.9.0, commander@~2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: @@ -1325,14 +1317,12 @@ compressible@~2.0.10: dependencies: mime-db ">= 1.27.0 < 2" -compression-webpack-plugin@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-0.4.0.tgz#811de04215f811ea6a12d4d8aed8457d758f13ac" +compression-webpack-plugin@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/compression-webpack-plugin/-/compression-webpack-plugin-1.0.0.tgz#5c5eb6afd08ca6a5d66006eeef71da17b01bd676" dependencies: - async "0.2.x" - webpack-sources "^0.1.0" - optionalDependencies: - node-zopfli "^2.0.0" + async "2.4.1" + webpack-sources "^1.0.1" compression@1.7.0, compression@^1.5.2: version "1.7.0" @@ -1754,12 +1744,6 @@ deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" -defaults@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - dependencies: - clone "^1.0.2" - define-properties@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" @@ -4252,7 +4236,7 @@ multipipe@^0.1.2: dependencies: duplexer2 "0.0.2" -nan@^2.0.0, nan@^2.3.0, nan@^2.3.2: +nan@^2.3.0, nan@^2.3.2: version "2.6.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" @@ -4361,7 +4345,7 @@ node-libs-browser@^2.0.0: util "^0.10.3" vm-browserify "0.0.4" -node-pre-gyp@^0.6.29, node-pre-gyp@^0.6.4: +node-pre-gyp@^0.6.29: version "0.6.34" resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.34.tgz#94ad1c798a11d7fc67381b50d47f8cc18d9799f7" dependencies: @@ -4398,15 +4382,6 @@ node-sass@4.5.3: sass-graph "^2.1.1" stdout-stream "^1.4.0" -node-zopfli@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-zopfli/-/node-zopfli-2.0.2.tgz#a7a473ae92aaea85d4c68d45bbf2c944c46116b8" - dependencies: - commander "^2.8.1" - defaults "^1.0.2" - nan "^2.0.0" - node-pre-gyp "^0.6.4" - nodemon@1.11.0: version "1.11.0" resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.11.0.tgz#226c562bd2a7b13d3d7518b49ad4828a3623d06c" @@ -6170,9 +6145,9 @@ schema-utils@^0.3.0: dependencies: ajv "^5.0.0" -script-ext-html-webpack-plugin@1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-1.8.3.tgz#04c77e68eb45eb6358bf36554a1a358ca60ca2ed" +script-ext-html-webpack-plugin@1.8.5: + version "1.8.5" + resolved "https://registry.yarnpkg.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-1.8.5.tgz#7a408383d7f3329da8f59d503be25cc39a53f3f3" dependencies: debug "^2.6.8" @@ -6467,7 +6442,7 @@ sort-keys@^1.0.0: dependencies: is-plain-obj "^1.0.0" -source-list-map@^0.1.7, source-list-map@~0.1.7: +source-list-map@^0.1.7: version "0.1.8" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" @@ -6475,6 +6450,10 @@ source-list-map@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-1.1.2.tgz#9889019d1024cce55cdc069498337ef6186a11a1" +source-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + source-map-loader@0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-0.2.1.tgz#48126be9230bd47fad05e46a8c3c2e3d2dabe507" @@ -7453,13 +7432,6 @@ webpack-merge@4.1.0: dependencies: lodash "^4.17.4" -webpack-sources@^0.1.0: - version "0.1.5" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.1.5.tgz#aa1f3abf0f0d74db7111c40e500b84f966640750" - dependencies: - source-list-map "~0.1.7" - source-map "~0.5.3" - webpack-sources@^0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-0.2.3.tgz#17c62bfaf13c707f9d02c479e0dcdde8380697fb" @@ -7467,6 +7439,13 @@ webpack-sources@^0.2.3: source-list-map "^1.1.1" source-map "~0.5.3" +webpack-sources@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.0.1.tgz#c7356436a4d13123be2e2426a05d1dad9cbe65cf" + dependencies: + source-list-map "^2.0.0" + source-map "~0.5.3" + webpack@2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.6.1.tgz#2e0457f0abb1ac5df3ab106c69c672f236785f07" @@ -7734,6 +7713,6 @@ zip-stream@^1.1.0: lodash "^4.8.0" readable-stream "^2.0.0" -zone.js@0.8.12: - version "0.8.12" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.12.tgz#86ff5053c98aec291a0bf4bbac501d694a05cfbb" +zone.js@0.8.13: + version "0.8.13" + resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.8.13.tgz#f0822525fad941582a03bbfe71eb21740315ddd0"