From 3ab2cbc05fcbfa4f508af6234d2ddfcd7bbf3bea Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Wed, 26 Oct 2016 16:15:51 +0700 Subject: [PATCH 001/128] fix deploy script --- .travis.yml | 2 +- scripts/deploy.sh | 2 +- scripts/switch-production-role.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index b917b2e..7e0eaad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,4 @@ -udo: required +sudo: required dist: trusty language: node_js cache: diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 17d2d6c..459f7b1 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash if [ -z "${ENV}" ]; then echo "ENV is required." diff --git a/scripts/switch-production-role.sh b/scripts/switch-production-role.sh index 06d3435..f3fc272 100755 --- a/scripts/switch-production-role.sh +++ b/scripts/switch-production-role.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env bash credentials=$(aws sts assume-role --role-arn ${PROD_ROLE_ARN} --role-session-name travisci) From a85eee7f997701549437ebc13289451a7110defa Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Fri, 28 Oct 2016 10:35:24 +0700 Subject: [PATCH 002/128] update dependencies --- yarn.lock | 72 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 38 insertions(+), 34 deletions(-) diff --git a/yarn.lock b/yarn.lock index c794139..56c8421 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,50 +1,50 @@ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. # yarn lockfile v1 "@angular/common@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-2.1.1.tgz#4b28de02c07f1395fbbdb403983c82a47490f39e" + version "2.1.2" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-2.1.2.tgz#5c5b37c21d6e573def1670f43962c262bc9be82e" "@angular/compiler-cli@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-2.1.1.tgz#2ff7934d0c5a8505169ff2e70a8caf15a2d60516" + version "2.1.2" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-2.1.2.tgz#9c34433af2183f294b9c63a035c785e002edc792" dependencies: "@angular/tsc-wrapped" "^0.3.0" minimist "^1.2.0" reflect-metadata "^0.1.2" "@angular/compiler@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-2.1.1.tgz#41d04cdd121ab17d7e4d4e660512fe424949fbd6" + version "2.1.2" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-2.1.2.tgz#bd2a6c558de5350bdd43aa8e8de757943ac01d2a" "@angular/core@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-2.1.1.tgz#2100ba90023c8184bd1ea7a63f194b15e8c2dfe1" + version "2.1.2" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-2.1.2.tgz#ce39521643f3d97bc5923d5a7aa76604e973dac8" "@angular/forms@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-2.1.1.tgz#d7b79d8078cd30107d43666f4af3d7ac6600b083" + version "2.1.2" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-2.1.2.tgz#c55539ea5da6d60f64475f39392ae5dd76a7e990" "@angular/http@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@angular/http/-/http-2.1.1.tgz#6cec2c675aa0b8f8e7f809d617e4cde5b713437a" + version "2.1.2" + resolved "https://registry.yarnpkg.com/@angular/http/-/http-2.1.2.tgz#50aa96c3b68a44b98e3f837886c96e5930eb543a" "@angular/platform-browser-dynamic@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-2.1.1.tgz#d1e671abbc35c4c3dab01d266a239ebfb0ef8b6e" + version "2.1.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-2.1.2.tgz#3d51b494cfe0a29354c8c1f28369883679982af4" "@angular/platform-browser@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-2.1.1.tgz#03687a14bb914b113d1068aa0a44b5820109c0c0" + version "2.1.2" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-2.1.2.tgz#1f07c3a5668ac2381a7324f9001521deede159bc" "@angular/platform-server@^2.1.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-2.1.1.tgz#e4bd7b9f3dd20789a4d820a3fcc47ea174de7483" + version "2.1.2" + resolved "https://registry.yarnpkg.com/@angular/platform-server/-/platform-server-2.1.2.tgz#31345f76a055713d418cf4c525f6a1915638500b" dependencies: parse5 "^2.2.1" "@angular/router@^3.1.0": - version "3.1.1" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-3.1.1.tgz#14c53e6789274e4cb6e0bb3f7269c82910c805fd" + version "3.1.2" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-3.1.2.tgz#1046c943ace795027e2e5057df8c897da968fcd6" "@angular/tsc-wrapped@^0.3.0": version "0.3.0" @@ -53,8 +53,8 @@ tsickle "^0.1.7" "@types/jasmine@^2.5.35": - version "2.5.35" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.5.35.tgz#5566406dc8417d380d6c2f9562ec3c71ec28ef78" + version "2.5.36" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.5.36.tgz#6d804b79a57e9380d766a2680e9362c17d9556d2" "@types/jquery@*": version "2.0.33" @@ -65,8 +65,8 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.37.tgz#9a2169db336c87dc289c8d0aec2e5aa707feba2b" "@types/node@^6.0.45": - version "6.0.45" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.45.tgz#c4842a9d653d767831e4ff495b6008cc0d579966" + version "6.0.46" + resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.46.tgz#8d9e48572831f05b11cc4c793754d43437219d62" "@types/pluralize@^0.0.27": version "0.0.27" @@ -590,8 +590,8 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" caniuse-db@^1.0.30000539, caniuse-db@^1.0.30000554: - version "1.0.30000568" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000568.tgz#f4e67925e254afc950d7130102f28b8726037492" + version "1.0.30000569" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000569.tgz#a36c51a9fd21ec9512fad52cf934c349fe55a2b1" cardinal@^1.0.0: version "1.0.0" @@ -1361,10 +1361,14 @@ escape-string-regexp@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -esprima@^2.6.0, esprima@~2.7.0: +esprima@^2.6.0: version "2.7.3" resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" +esprima@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.0.0.tgz#53cf247acda77313e551c3aa2e73342d3fb4f7d9" + esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" @@ -1551,7 +1555,7 @@ for-in@^0.1.5: version "0.1.6" resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.6.tgz#c9f96e89bfad18a545af5ec3ed352a1d9e5b4dc8" -for-own@^0.1.3: +for-own@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.4.tgz#0149b41a39088c7515f51ebe1c1386d45f935072" dependencies: @@ -2982,10 +2986,10 @@ object-keys@^1.0.8: resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" object.omit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.0.tgz#868597333d54e60662940bb458605dd6ae12fe94" + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" dependencies: - for-own "^0.1.3" + for-own "^0.1.4" is-extendable "^0.1.1" obuf@^1.0.0, obuf@^1.1.0: @@ -3617,10 +3621,10 @@ redent@^1.0.0: strip-indent "^1.0.1" redeyed@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-1.0.0.tgz#6ce25045c9e1f9b28c0ae73ce2960c8cb48184b1" + version "1.0.1" + resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-1.0.1.tgz#e96c193b40c0816b00aec842698e61185e55498a" dependencies: - esprima "~2.7.0" + esprima "~3.0.0" reduce-css-calc@^1.2.6: version "1.3.0" From 4650d0159036c1549f07dc71dcdfab31d22213ac Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Fri, 28 Oct 2016 11:29:04 +0700 Subject: [PATCH 003/128] jQuery was duplicated in vendor --- config/webpack.common.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/config/webpack.common.js b/config/webpack.common.js index 0928cc2..3057b16 100644 --- a/config/webpack.common.js +++ b/config/webpack.common.js @@ -13,7 +13,8 @@ module.exports = { resolve: { extensions: ['.ts', '.js'], alias: { - "lodash": "lodash-es", + lodash: "lodash-es", + jquery: "jquery/src/jquery", }, }, module: { @@ -45,8 +46,6 @@ module.exports = { name: ['polyfills', 'vendor'].reverse() }), new webpack.ProvidePlugin({ - jQuery: 'jquery', - $: 'jquery', Util: "exports?Util!bootstrap/js/dist/util", Collapse: "exports?Collapse!bootstrap/js/dist/collapse", }), From c534d98a9c40c886b971f3f9c6c1dd2cac781d44 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Sat, 29 Oct 2016 16:04:55 +0700 Subject: [PATCH 004/128] use codedeploy to deploy --- codedeploy/application_start.sh | 8 ++++++++ codedeploy/appspec.yml | 7 +++++++ scripts/deploy.sh | 10 ++++++++-- 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100755 codedeploy/application_start.sh create mode 100644 codedeploy/appspec.yml diff --git a/codedeploy/application_start.sh b/codedeploy/application_start.sh new file mode 100755 index 0000000..2c6c8a0 --- /dev/null +++ b/codedeploy/application_start.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# unless nginx has not started yet, exit +curl "http://localhost/index.html" || exit 0 + +# refresh cache +curl -I "http://localhost/index.html" -H 'Cache-Purge: 1' + diff --git a/codedeploy/appspec.yml b/codedeploy/appspec.yml new file mode 100644 index 0000000..aeb14ed --- /dev/null +++ b/codedeploy/appspec.yml @@ -0,0 +1,7 @@ +version: 0.0 +os: linux +hooks: + ApplicationStart: + - location: application_start.sh + timeout: 300 + runas: root diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 17d2d6c..9b7c349 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -22,8 +22,14 @@ fi # build PUBLIC_PATH=${CDN_URL} yarn run build:prod +# create codedeploy archive +tar czvf dist/codedeploy.tgz -C codedeploy . + # deploy aws s3 sync --delete --acl public-read dist ${S3_CDN_URL} -# invalidate index.html -curl -I "${MAIN_URL}/index.html" -H 'Cache-Purge: 1' +# invalidate cached index.html by using codedeploy +aws deploy create-deployment --application-name micropost \ + --s3-location bucket=cdn-${ENV}.hana053.com,key=codedeploy.tgz,bundleType=tgz \ + --deployment-group-name web-frontend + From 41bf23e03f1b08c59b27217bd4425ffecf977988 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Sun, 30 Oct 2016 20:00:55 +0700 Subject: [PATCH 005/128] Updated readme --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b0cbede..c6b908e 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ mvn spring-boot:run Serve frontend app by webpack-dev-server. ``` -npm install -g yarn@">=0.16.0" +npm install -g yarn yarn install yarn start open http://localhost:4200 @@ -51,6 +51,7 @@ Under construction... * [Android app](https://github.com/springboot-angular2-tutorial/android-app) * [Server provisioning by Ansible](https://github.com/springboot-angular2-tutorial/micropost-provisionings) * [Infrastructure by Terraform](https://github.com/springboot-angular2-tutorial/micropost-formation) +* [Lambda functions by Serverless](https://github.com/springboot-angular2-tutorial/micropost-functions) ## Credits From 40d25fec500a02c66a8cf2b194ef6873907caada Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Mon, 31 Oct 2016 17:32:44 +0700 Subject: [PATCH 006/128] revert codelyzer settings because its bug was fixed. --- package.json | 8 ++-- tslint.json | 11 ++++- yarn.lock | 111 ++++++++++++++++++++++----------------------------- 3 files changed, 62 insertions(+), 68 deletions(-) diff --git a/package.json b/package.json index 7ce0d35..6558c39 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "bootstrap": "^4.0.0-alpha.4", "core-js": "^2.4.1", "jquery": "^2.2.4", - "lodash-es": "^4.16.4", + "lodash-es": "^4.16.5", "md5-hex": "^1.1.0", "pluralize": "~3.0.0", "rxjs": "5.0.0-beta.12", @@ -69,13 +69,13 @@ "@types/toastr": "^2.1.27", "@types/webpack": "^1.12.35", "angular2-router-loader": "^0.3.2", - "angular2-template-loader": "^0.5.0", + "angular2-template-loader": "^0.6.0", "awesome-typescript-loader": "^2.2.4", "codelyzer": "~1.0.0-beta.0", "css-loader": "^0.25.0", "exports-loader": "^0.6.3", "express": "^4.14.0", - "html-webpack-plugin": "^2.22.0", + "html-webpack-plugin": "^2.24.1", "http-proxy": "^1.15.1", "jasmine-core": "^2.4.1", "karma": "^1.2.0", @@ -96,7 +96,7 @@ "tslint-loader": "^2.1.3", "typescript": "^2.0.3", "webpack": "2.1.0-beta.25", - "webpack-dev-server": "^2.1.0-beta.9", + "webpack-dev-server": "^2.1.0-beta.10", "webpack-merge": "~0.15.0" } } diff --git a/tslint.json b/tslint.json index 1403f33..31072b5 100644 --- a/tslint.json +++ b/tslint.json @@ -81,10 +81,19 @@ "use-output-property-decorator": true, "use-host-property-decorator": true, "no-attribute-parameter-decorator": true, + "no-input-rename": true, + "no-output-rename": true, "no-forward-ref": true, + "use-life-cycle-interface": true, + "use-pipe-transform-interface": true, "pipe-naming": [ true, "camelCase" - ] + ], + "component-class-suffix": true, + "directive-class-suffix": true, + "templates-use-public": true, + "no-access-missing-member": true, + "invoke-injectable": true } } diff --git a/yarn.lock b/yarn.lock index 56c8421..9d35043 100644 --- a/yarn.lock +++ b/yarn.lock @@ -149,11 +149,10 @@ angular2-router-loader@^0.3.2: dependencies: loader-utils "^0.2.15" -angular2-template-loader@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/angular2-template-loader/-/angular2-template-loader-0.5.0.tgz#a16db190faaf9f8e8e9410f3c468370de75127a6" +angular2-template-loader@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/angular2-template-loader/-/angular2-template-loader-0.6.0.tgz#8a7fae4cf5a2494968da512aa43152a82a0c99b6" dependencies: - codecov "^1.0.1" loader-utils "^0.2.15" ansi-regex@^2.0.0: @@ -192,10 +191,6 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" -argv@>=0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" - arr-diff@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" @@ -590,8 +585,8 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" caniuse-db@^1.0.30000539, caniuse-db@^1.0.30000554: - version "1.0.30000569" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000569.tgz#a36c51a9fd21ec9512fad52cf934c349fe55a2b1" + version "1.0.30000572" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000572.tgz#81d0aa6b7de2d785c8dcab135502983276cc707d" cardinal@^1.0.0: version "1.0.0" @@ -727,15 +722,6 @@ code-point-at@^1.0.0: dependencies: number-is-nan "^1.0.0" -codecov@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/codecov/-/codecov-1.0.1.tgz#97260ceac0e96b8eda8d562006558a53a139dffd" - dependencies: - argv ">=0.0.2" - execSync "1.0.2" - request ">=2.42.0" - urlgrey ">=0.4.0" - codelyzer@~1.0.0-beta.0: version "1.0.0-beta.3" resolved "https://registry.yarnpkg.com/codelyzer/-/codelyzer-1.0.0-beta.3.tgz#779bf699aeae4194056dc5016a9970ba55353fee" @@ -1409,12 +1395,6 @@ evp_bytestokey@^1.0.0: dependencies: create-hash "^1.1.1" -execSync@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/execSync/-/execSync-1.0.2.tgz#1f42eda582225180053224ecdd3fd1960fdb3139" - dependencies: - temp "~0.5.1" - expand-braces@^0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/expand-braces/-/expand-braces-0.1.2.tgz#488b1d1d2451cb3d3a6b192cfc030f44c5855fea" @@ -1717,10 +1697,6 @@ graceful-fs@^4.1.2: version "4.1.9" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" -graceful-fs@~1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" - "graceful-readlink@>= 1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" @@ -1841,9 +1817,9 @@ html-minifier@^3.1.0: relateurl "0.2.x" uglify-js "2.7.x" -html-webpack-plugin@^2.22.0: - version "2.24.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.24.0.tgz#53697cea79a9f3cd1f8c239ac71f949d5673cacb" +html-webpack-plugin@^2.24.1: + version "2.24.1" + resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-2.24.1.tgz#7f45fc678f66eac2d433f22336b4399da023b57e" dependencies: bluebird "^3.4.6" html-minifier "^3.1.0" @@ -2334,9 +2310,9 @@ loader-utils@^0.2.11, loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@^ json5 "^0.5.0" object-assign "^4.0.1" -lodash-es@^4.16.4: - version "4.16.4" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.16.4.tgz#4dc3e2cf33a8c343028aa7f7e06d1c9697042599" +lodash-es@^4.16.5: + version "4.16.5" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.16.5.tgz#0d813fb745f1b038eea63a33cd96435293c51f39" lodash._arraycopy@^3.0.0: version "3.0.0" @@ -2559,8 +2535,8 @@ lodash@^3.8.0: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" lodash@^4.0.0, lodash@^4.13.1, lodash@^4.16.2, lodash@^4.16.4, lodash@^4.3.0, lodash@^4.5.0, lodash@~4.16.4: - version "4.16.4" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.4.tgz#01ce306b9bad1319f2a5528674f88297aeb70127" + version "4.16.5" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.5.tgz#77d88feac548009b1a5c4ca7b49ac431ce346ae8" log4js@^0.6.31: version "0.6.38" @@ -3705,7 +3681,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request@^2.61.0, request@^2.75.0, request@>=2.42.0, request@2: +request@^2.61.0, request@^2.75.0, request@2: version "2.76.0" resolved "https://registry.yarnpkg.com/request/-/request-2.76.0.tgz#be44505afef70360a0436955106be3945d95560e" dependencies: @@ -3758,12 +3734,6 @@ rimraf@^2.3.3, rimraf@^2.4.4, rimraf@~2.5.1, rimraf@~2.5.4, rimraf@2, rimraf@2.5 dependencies: glob "^7.0.5" -rimraf@~2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.1.4.tgz#5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2" - optionalDependencies: - graceful-fs "~1" - ripemd160@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e" @@ -3988,8 +3958,8 @@ source-map-support@^0.3.1: source-map "0.1.32" source-map-support@^0.4.0: - version "0.4.5" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.5.tgz#4438df4219e1b3c7feb674614b4c67f9722db1e4" + version "0.4.6" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.6.tgz#32552aa64b458392a85eab3b0b5ee61527167aeb" dependencies: source-map "^0.5.3" @@ -4030,8 +4000,8 @@ spdx-license-ids@^1.0.2: resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" spdy-transport@^2.0.15: - version "2.0.15" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.15.tgz#10bd739d18973f00e1d1071d0c2bce8020f51207" + version "2.0.17" + resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.17.tgz#94376f85a7aaabf9e6edb6bd2f11ee26359be5b5" dependencies: debug "^2.2.0" hpack.js "^2.1.6" @@ -4099,7 +4069,7 @@ string_decoder@~0.10.25, string_decoder@~0.10.x: version "0.10.31" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" -string-width@^1.0.1: +string-width@^1.0.1, string-width@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" dependencies: @@ -4209,12 +4179,6 @@ tar@^2.0.0, tar@~2.2.1: fstream "^1.0.2" inherits "2" -temp@~0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.5.1.tgz#77ab19c79aa7b593cbe4fac2441768cad987b8df" - dependencies: - rimraf "~2.1.4" - tether@^1.3.7: version "1.3.7" resolved "https://registry.yarnpkg.com/tether/-/tether-1.3.7.tgz#65578104741694f9672c808eae04a9adae7b0304" @@ -4403,10 +4367,6 @@ url@~0.11.0: punycode "1.3.2" querystring "0.2.0" -urlgrey@>=0.4.0: - version "0.4.4" - resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" - useragent@^2.1.9: version "2.1.9" resolved "https://registry.yarnpkg.com/useragent/-/useragent-2.1.9.tgz#4dba2bc4dad1875777ab15de3ff8098b475000b7" @@ -4497,9 +4457,9 @@ webpack-dev-middleware@^1.0.11, webpack-dev-middleware@^1.4.0: path-is-absolute "^1.0.0" range-parser "^1.0.3" -webpack-dev-server@^2.1.0-beta.9: - version "2.1.0-beta.9" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.1.0-beta.9.tgz#45745a4a6b84849c63e3a21dfab3be7bdb897554" +webpack-dev-server@^2.1.0-beta.10: + version "2.1.0-beta.10" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-2.1.0-beta.10.tgz#8ea8a1d7366e747c53423be77ecf49437f66cd7e" dependencies: chokidar "^1.6.0" compression "^1.5.2" @@ -4514,7 +4474,7 @@ webpack-dev-server@^2.1.0-beta.9: strip-ansi "^3.0.0" supports-color "^3.1.1" webpack-dev-middleware "^1.4.0" - yargs "^4.7.1" + yargs "^6.0.0" webpack-merge@~0.15.0: version "0.15.0" @@ -4646,6 +4606,12 @@ yargs-parser@^2.4.1: camelcase "^3.0.0" lodash.assign "^4.0.6" +yargs-parser@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.0.2.tgz#7f7173a8c7cca1d81dc7c18692fc07c2c2e2b1e0" + dependencies: + camelcase "^3.0.0" + yargs@^4.7.1: version "4.8.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" @@ -4665,6 +4631,25 @@ yargs@^4.7.1: y18n "^3.2.1" yargs-parser "^2.4.1" +yargs@^6.0.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.3.0.tgz#19c6dbb768744d571eb6ebae0c174cf2f71b188d" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^4.0.2" + yargs@~3.10.0: version "3.10.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" From 1e3f08737c64c51ca2a343bed371d1b83c6dcd56 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Mon, 31 Oct 2016 17:51:26 +0700 Subject: [PATCH 007/128] updated readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c6b908e..6686589 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ Under construction... * [Spring Boot app](https://github.com/springboot-angular2-tutorial/boot-app) * [Android app](https://github.com/springboot-angular2-tutorial/android-app) -* [Server provisioning by Ansible](https://github.com/springboot-angular2-tutorial/micropost-provisionings) +* [Server provisioning by Ansible and Packer](https://github.com/springboot-angular2-tutorial/micropost-provisionings) * [Infrastructure by Terraform](https://github.com/springboot-angular2-tutorial/micropost-formation) * [Lambda functions by Serverless](https://github.com/springboot-angular2-tutorial/micropost-functions) From db78e891408bfc2d94b16152f80a1e818e6c4953 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Wed, 2 Nov 2016 12:27:04 +0700 Subject: [PATCH 008/128] stg use role_arn too --- scripts/deploy.sh | 16 +++------------- scripts/switch-production-role.sh | 9 --------- scripts/switch-role.sh | 10 ++++++++++ 3 files changed, 13 insertions(+), 22 deletions(-) delete mode 100755 scripts/switch-production-role.sh create mode 100755 scripts/switch-role.sh diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 039dc5f..18699f1 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -1,23 +1,14 @@ #!/usr/bin/env bash -if [ -z "${ENV}" ]; then - echo "ENV is required." - exit 1 -fi +set -u -# switch role if production -if [ "${ENV}" = "prod" ]; then - source scripts/switch-production-role.sh +if [ ! -v AWS_SESSION_TOKEN ]; then + source ./scripts/switch-role.sh fi # set variables CDN_URL="https://cdn-${ENV}.hana053.com" S3_CDN_URL="s3://cdn-${ENV}.hana053.com" -if [ "${ENV}" = "prod" ]; then - MAIN_URL="https://micropost.hana053.com" -else - MAIN_URL="https://micropost-${ENV}.hana053.com" -fi # build PUBLIC_PATH=${CDN_URL} yarn run build:prod @@ -32,4 +23,3 @@ aws s3 sync --delete --acl public-read dist ${S3_CDN_URL} aws deploy create-deployment --application-name micropost \ --s3-location bucket=cdn-${ENV}.hana053.com,key=codedeploy.tgz,bundleType=tgz \ --deployment-group-name web-frontend - diff --git a/scripts/switch-production-role.sh b/scripts/switch-production-role.sh deleted file mode 100755 index f3fc272..0000000 --- a/scripts/switch-production-role.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env bash - -credentials=$(aws sts assume-role --role-arn ${PROD_ROLE_ARN} --role-session-name travisci) - -export AWS_ACCESS_KEY_ID=$(echo ${credentials} | jq --raw-output .Credentials.AccessKeyId) -export AWS_SECRET_ACCESS_KEY=$(echo ${credentials} | jq --raw-output .Credentials.SecretAccessKey) -export AWS_SESSION_TOKEN=$(echo ${credentials} | jq --raw-output .Credentials.SessionToken) - -unset credentials diff --git a/scripts/switch-role.sh b/scripts/switch-role.sh new file mode 100755 index 0000000..023abbd --- /dev/null +++ b/scripts/switch-role.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Parse variable such as ROLE_ARN_stg, ROLE_ARN_prod and etc. +ROLE_ARN=$(eval echo '$ROLE_ARN_'${ENV}) + +CREDENTIALS=$(aws sts assume-role --role-arn ${ROLE_ARN} --role-session-name travisci) + +export AWS_ACCESS_KEY_ID=$(echo ${CREDENTIALS} | jq --raw-output .Credentials.AccessKeyId) +export AWS_SECRET_ACCESS_KEY=$(echo ${CREDENTIALS} | jq --raw-output .Credentials.SecretAccessKey) +export AWS_SESSION_TOKEN=$(echo ${CREDENTIALS} | jq --raw-output .Credentials.SessionToken) From 1154a37c51e61c06f0c7e7956c3980a578e2968f Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Fri, 4 Nov 2016 11:34:32 +0700 Subject: [PATCH 009/128] updated dependencies --- yarn.lock | 87 ++++++++++++++++++++++++++++--------------------------- 1 file changed, 44 insertions(+), 43 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9d35043..03e1bad 100644 --- a/yarn.lock +++ b/yarn.lock @@ -53,16 +53,16 @@ tsickle "^0.1.7" "@types/jasmine@^2.5.35": - version "2.5.36" - resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.5.36.tgz#6d804b79a57e9380d766a2680e9362c17d9556d2" + version "2.5.37" + resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-2.5.37.tgz#15f16040b1106941ec4aeefa3cd9c55342a0dcbb" "@types/jquery@*": version "2.0.33" resolved "https://registry.yarnpkg.com/@types/jquery/-/jquery-2.0.33.tgz#684ef3a2e99f6fd2afc52a357e47ae05f51f4f6c" "@types/lodash@^4.14.37": - version "4.14.37" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.37.tgz#9a2169db336c87dc289c8d0aec2e5aa707feba2b" + version "4.14.38" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.38.tgz#fcbd51e740c5e260652cad975dd26c5c4151cb11" "@types/node@^6.0.45": version "6.0.46" @@ -73,8 +73,8 @@ resolved "https://registry.yarnpkg.com/@types/pluralize/-/pluralize-0.0.27.tgz#087354a791ce027db1101ff399db6111fc9275f7" "@types/source-map@*", "@types/source-map@^0.1.28": - version "0.1.28" - resolved "https://registry.yarnpkg.com/@types/source-map/-/source-map-0.1.28.tgz#ee1fd82cef382cc269be4910f941dd26ea96a974" + version "0.1.29" + resolved "https://registry.yarnpkg.com/@types/source-map/-/source-map-0.1.29.tgz#d7048a60180b09f8aa6d53bda311c6b51cbd7018" "@types/toastr@^2.1.27": version "2.1.30" @@ -140,8 +140,8 @@ alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" amdefine@>=0.0.4: - version "1.0.0" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.0.tgz#fd17474700cb5cc9c2b709f0be9d23ce3c198c33" + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" angular2-router-loader@^0.3.2: version "0.3.3" @@ -585,8 +585,8 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" caniuse-db@^1.0.30000539, caniuse-db@^1.0.30000554: - version "1.0.30000572" - resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000572.tgz#81d0aa6b7de2d785c8dcab135502983276cc707d" + version "1.0.30000574" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000574.tgz#4b10fb5435c50262effd10653405befd0d0bfc2c" cardinal@^1.0.0: version "1.0.0" @@ -717,10 +717,8 @@ coa@~1.0.1: q "^1.1.2" code-point-at@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.0.1.tgz#1104cd34f9b5b45d3eba88f1babc1924e1ce35fb" - dependencies: - number-is-nan "^1.0.0" + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" codelyzer@~1.0.0-beta.0: version "1.0.0-beta.3" @@ -731,10 +729,12 @@ codelyzer@~1.0.0-beta.0: sprintf-js "^1.0.3" color-convert@^1.3.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.5.0.tgz#7a2b4efb4488df85bca6443cb038b7100fbe7de1" + version "1.6.0" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.6.0.tgz#7592755faf53938a05b1ea8e5374cab77d6dd190" + dependencies: + color-name "^1.1.1" -color-name@^1.0.0: +color-name@^1.0.0, color-name@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" @@ -745,8 +745,8 @@ color-string@^0.3.0: color-name "^1.0.0" color@^0.11.0: - version "0.11.3" - resolved "https://registry.yarnpkg.com/color/-/color-0.11.3.tgz#4bad1d0d52499dd00dbd6f0868442467e49394e6" + version "0.11.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" dependencies: clone "^1.0.2" color-convert "^1.3.0" @@ -809,10 +809,10 @@ component-inherit@0.0.3: resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" compressible@~2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.8.tgz#7162e6c46d3b9d200ffb45cb4e4a0f7832732503" + version "2.0.9" + resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.9.tgz#6daab4e2b599c2770dd9e21e7a891b1c5a755425" dependencies: - mime-db ">= 1.23.0 < 2" + mime-db ">= 1.24.0 < 2" compression@^1.5.2: version "1.6.2" @@ -1580,8 +1580,8 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" fsevents@^1.0.0: - version "1.0.14" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.14.tgz#558e8cc38643d8ef40fe45158486d0d25758eee4" + version "1.0.15" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.0.15.tgz#fa63f590f3c2ad91275e4972a6cea545fb0aae44" dependencies: nan "^2.3.0" node-pre-gyp "^0.6.29" @@ -1694,8 +1694,8 @@ globule@^1.0.0: minimatch "~3.0.2" graceful-fs@^4.1.2: - version "4.1.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.9.tgz#baacba37d19d11f9d146d3578bc99958c3787e29" + version "4.1.10" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.10.tgz#f2d720c22092f743228775c75e3612632501f131" "graceful-readlink@>= 1.0.0": version "1.0.1" @@ -2311,8 +2311,8 @@ loader-utils@^0.2.11, loader-utils@^0.2.15, loader-utils@^0.2.16, loader-utils@^ object-assign "^4.0.1" lodash-es@^4.16.5: - version "4.16.5" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.16.5.tgz#0d813fb745f1b038eea63a33cd96435293c51f39" + version "4.16.6" + resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.16.6.tgz#c8552faedaa4d1d591de8da9b3980ef1c52efa08" lodash._arraycopy@^3.0.0: version "3.0.0" @@ -2535,8 +2535,8 @@ lodash@^3.8.0: resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" lodash@^4.0.0, lodash@^4.13.1, lodash@^4.16.2, lodash@^4.16.4, lodash@^4.3.0, lodash@^4.5.0, lodash@~4.16.4: - version "4.16.5" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.5.tgz#77d88feac548009b1a5c4ca7b49ac431ce346ae8" + version "4.16.6" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.16.6.tgz#d22c9ac660288f3843e16ba7d2b5d06cca27d777" log4js@^0.6.31: version "0.6.38" @@ -2678,7 +2678,7 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -"mime-db@>= 1.23.0 < 2", mime-db@~1.24.0: +"mime-db@>= 1.24.0 < 2", mime-db@~1.24.0: version "1.24.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.24.0.tgz#e2d13f939f0016c6e4e9ad25a8652f126c467f0c" @@ -2838,8 +2838,8 @@ node-pre-gyp@^0.6.29: tar-pack "~3.3.0" node-sass@^3.5.3: - version "3.10.1" - resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.10.1.tgz#c535b2e1a5439240591e06d7308cb663820d616c" + version "3.11.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.11.1.tgz#0b25699663cc9d616e8c6fb874e7d9b25e5a8e20" dependencies: async-foreach "^0.1.3" chalk "^1.1.1" @@ -3274,8 +3274,8 @@ postcss-minify-font-values@^1.0.2: postcss-value-parser "^3.0.2" postcss-minify-gradients@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.4.tgz#47d4fef7efbcc64e541fae6115c9a3cc84d47006" + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" dependencies: postcss "^5.0.12" postcss-value-parser "^3.3.0" @@ -3360,9 +3360,10 @@ postcss-reduce-initial@^1.0.0: postcss "^5.0.4" postcss-reduce-transforms@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.3.tgz#fc193e435a973c10f9801c74700a830f79643343" + version "1.0.4" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" dependencies: + has "^1.0.1" postcss "^5.0.8" postcss-value-parser "^3.0.1" @@ -3682,8 +3683,8 @@ repeating@^2.0.0: is-finite "^1.0.0" request@^2.61.0, request@^2.75.0, request@2: - version "2.76.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.76.0.tgz#be44505afef70360a0436955106be3945d95560e" + version "2.78.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.78.0.tgz#e1c8dec346e1c81923b24acdb337f11decabe9cc" dependencies: aws-sign2 "~0.6.0" aws4 "^1.2.1" @@ -4287,8 +4288,8 @@ type-is@~1.6.13: mime-types "~2.1.11" typescript@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.0.6.tgz#5385499ac9811508c2c43e0ea07a1ddca435e111" + version "2.0.7" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.0.7.tgz#efc39e8822e240d0b741d06ff86708137bcdb5e4" uglify-js@~2.7.3, uglify-js@2.7.x: version "2.7.4" @@ -4347,8 +4348,8 @@ upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3: resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" url-parse@^1.1.1: - version "1.1.6" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.6.tgz#ab8ff5aea1388071961255e2236147c52ca5fc48" + version "1.1.7" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.1.7.tgz#025cff999653a459ab34232147d89514cc87d74a" dependencies: querystringify "0.0.x" requires-port "1.0.x" From aa507816791720584dac835fcbcd6a20030a5329 Mon Sep 17 00:00:00 2001 From: Akira Sosa Date: Sun, 6 Nov 2016 10:30:44 +0700 Subject: [PATCH 010/128] css in js instead of scss --- config/webpack.common.js | 7 +- package.json | 16 +- src/app/app.component.html | 2 +- src/app/app.component.scss | 12 - src/app/app.component.styles.ts | 11 + src/app/app.component.ts | 8 +- src/app/app.module.ts | 6 +- .../components/header/header.component.html | 2 +- .../components/header/header.component.scss | 3 - .../header/header.component.styles.ts | 7 + src/app/components/header/header.component.ts | 3 +- src/app/components/header/header.module.ts | 22 + .../micropost-list.component.html | 8 +- .../micropost-list.component.scss | 13 - .../micropost-list.component.styles.ts | 13 + .../micropost-list.component.ts | 3 +- .../micropost-new.component.html | 2 +- .../micropost-new.component.scss | 5 - .../micropost-new.component.styles.ts | 7 + .../micropost-new/micropost-new.component.ts | 4 +- .../related-user-list.component.html | 7 +- .../related-user-list.component.scss | 10 - .../related-user-list.component.styles.ts | 10 + .../related-user-list.component.ts | 3 +- .../user-stats/user-stats.component.html | 25 +- .../user-stats/user-stats.component.scss | 35 -- .../user-stats/user-stats.component.styles.ts | 35 ++ .../user-stats/user-stats.component.ts | 3 +- src/app/pages/+signup/signup.component.scss | 0 src/app/pages/+signup/signup.component.ts | 6 +- .../pages/+user-list/user-list.component.html | 5 +- .../pages/+user-list/user-list.component.scss | 10 - .../+user-list/user-list.component.styles.ts | 11 + .../pages/+user-list/user-list.component.ts | 3 +- .../pages/+user-show/user-show.component.html | 4 +- .../pages/+user-show/user-show.component.scss | 14 - .../+user-show/user-show.component.styles.ts | 15 + .../pages/+user-show/user-show.component.ts | 3 +- src/app/pages/auth/auth.component.html | 3 +- src/app/pages/auth/auth.component.scss | 5 - src/app/pages/auth/auth.component.styles.ts | 7 + src/app/pages/auth/auth.component.ts | 4 +- src/app/pages/auth/auth.module.ts | 2 + src/app/pages/home/feed/feed.component.html | 9 +- src/app/pages/home/feed/feed.component.scss | 19 - .../pages/home/feed/feed.component.styles.ts | 19 + src/app/pages/home/feed/feed.component.ts | 4 +- src/app/pages/home/home.component.html | 13 +- src/app/pages/home/home.component.scss | 9 - src/app/pages/home/home.component.styles.ts | 10 + src/app/pages/home/home.component.ts | 4 +- src/app/pages/home/home.module.ts | 1 + src/app/pages/top/top.component.html | 2 +- src/app/pages/top/top.component.scss | 5 - src/app/pages/top/top.component.styles.ts | 9 + src/app/pages/top/top.component.ts | 5 +- src/app/pages/top/top.module.ts | 2 + src/app/shared/directives/styles.directive.ts | 19 + .../shared/gravatar/gravatar.component.html | 4 +- .../shared/gravatar/gravatar.component.scss | 17 - .../gravatar/gravatar.component.styles.ts | 9 + src/app/shared/gravatar/gravatar.component.ts | 3 +- src/app/shared/shared.module.ts | 5 +- src/app/styles/colors.styles.ts | 4 + src/app/styles/mixin.styles.ts | 25 + src/app/styles/shared.styles.ts | 6 + src/css/_colors.scss | 3 - src/css/_dimens.scss | 6 - src/css/_index.scss | 4 - src/css/_list.scss | 8 - src/css/_mixins.scss | 17 - src/index.html | 5 + src/vendor.scss | 2 - src/vendor.ts | 4 +- tslint.json | 1 - yarn.lock | 450 ++---------------- 76 files changed, 398 insertions(+), 679 deletions(-) delete mode 100644 src/app/app.component.scss create mode 100644 src/app/app.component.styles.ts delete mode 100644 src/app/components/header/header.component.scss create mode 100644 src/app/components/header/header.component.styles.ts create mode 100644 src/app/components/header/header.module.ts delete mode 100644 src/app/components/micropost-list/micropost-list.component.scss create mode 100644 src/app/components/micropost-list/micropost-list.component.styles.ts delete mode 100644 src/app/components/micropost-new/micropost-new.component.scss create mode 100644 src/app/components/micropost-new/micropost-new.component.styles.ts delete mode 100644 src/app/components/related-user-list/related-user-list.component.scss create mode 100644 src/app/components/related-user-list/related-user-list.component.styles.ts delete mode 100644 src/app/components/user-stats/user-stats.component.scss create mode 100644 src/app/components/user-stats/user-stats.component.styles.ts delete mode 100644 src/app/pages/+signup/signup.component.scss delete mode 100644 src/app/pages/+user-list/user-list.component.scss create mode 100644 src/app/pages/+user-list/user-list.component.styles.ts delete mode 100644 src/app/pages/+user-show/user-show.component.scss create mode 100644 src/app/pages/+user-show/user-show.component.styles.ts delete mode 100644 src/app/pages/auth/auth.component.scss create mode 100644 src/app/pages/auth/auth.component.styles.ts delete mode 100644 src/app/pages/home/feed/feed.component.scss create mode 100644 src/app/pages/home/feed/feed.component.styles.ts delete mode 100644 src/app/pages/home/home.component.scss create mode 100644 src/app/pages/home/home.component.styles.ts delete mode 100644 src/app/pages/top/top.component.scss create mode 100644 src/app/pages/top/top.component.styles.ts create mode 100644 src/app/shared/directives/styles.directive.ts delete mode 100644 src/app/shared/gravatar/gravatar.component.scss create mode 100644 src/app/shared/gravatar/gravatar.component.styles.ts create mode 100644 src/app/styles/colors.styles.ts create mode 100644 src/app/styles/mixin.styles.ts create mode 100644 src/app/styles/shared.styles.ts delete mode 100644 src/css/_colors.scss delete mode 100644 src/css/_dimens.scss delete mode 100644 src/css/_index.scss delete mode 100644 src/css/_list.scss delete mode 100644 src/css/_mixins.scss delete mode 100644 src/vendor.scss diff --git a/config/webpack.common.js b/config/webpack.common.js index 3057b16..3f061d4 100644 --- a/config/webpack.common.js +++ b/config/webpack.common.js @@ -28,7 +28,12 @@ module.exports = { ], exclude: [/\.spec\.ts$/] }, - {test: /\.css$/, loader: 'raw-loader'}, + // global css + { + test: /\.css$/, + exclude: [helpers.root('src')], + loaders: ['style', 'css'], + }, {test: /\.html$/, loader: 'raw-loader'}, ] }, diff --git a/package.json b/package.json index 6558c39..d42aca5 100644 --- a/package.json +++ b/package.json @@ -14,19 +14,16 @@ "prebuild:dev": "yarn run clean:dist", "build:dev": "webpack --config config/webpack.dev.js --progress --profile --colors --display-error-details --display-cached", "prebuild:prod": "yarn run clean:dist", - "build:prod": "yarn run sass && yarn run ngc && webpack --config config/webpack.aot.js --progress --profile --bail", + "build:prod": "yarn run ngc && webpack --config config/webpack.aot.js --progress --profile --bail", "server": "yarn run server:dev", "server:dev": "webpack-dev-server --config config/webpack.dev.js --progress --profile --watch --content-base src/", "server:prod": "node server.js", - "test": "yarn run sass && karma start", - "test:watch": "npm-run-all -p -r sass:watch karma:watch", + "test": "karma start", + "test:watch": "yarn run karma:watch", "karma:watch": "karma start --browsers Chrome --reporters dots,notify --single-run false", "docs": "typedoc --options typedoc.json src/**/*.ts", - "start": "npm-run-all -p -r sass:watch server:dev", - "ngc": "ngc -p tsconfig.aot.json --locale=en-US", - "presass": "rimraf -- src/**/*.css", - "sass": "node-sass src -o src --include-path node_modules --output-style compressed -q", - "sass:watch": "node-sass src -o src && node-sass -w src -o src" + "start": "yarn run server:dev", + "ngc": "ngc -p tsconfig.aot.json --locale=en-US" }, "repository": { "type": "git", @@ -47,6 +44,7 @@ "@angular/platform-browser": "^2.1.0", "@angular/platform-browser-dynamic": "^2.1.0", "@angular/router": "^3.1.0", + "aphrodite": "^1.0.0", "bootstrap": "^4.0.0-alpha.4", "core-js": "^2.4.1", "jquery": "^2.2.4", @@ -85,8 +83,6 @@ "karma-notify-reporter": "^1.0.0", "karma-sourcemap-loader": "^0.3.7", "karma-webpack": "^1.8.0", - "node-sass": "^3.5.3", - "npm-run-all": "^3.1.0", "raw-loader": "^0.5.1", "rimraf": "2.5.4", "source-map-loader": "^0.1.5", diff --git a/src/app/app.component.html b/src/app/app.component.html index 530110c..2b2b79e 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -2,7 +2,7 @@
-