From 9121a27be299e4d605b1fb554dbfbb9aaa5de4e7 Mon Sep 17 00:00:00 2001 From: Alexandre Kieling Date: Wed, 21 Nov 2018 17:08:30 -0200 Subject: [PATCH] chore(hawtio-console-assembly): optimize JS and CSS for production fix #2543 --- .../app/src/head-partial.html | 133 +++++++++++++ hawtio-console-assembly/app/src/index.html | 133 +------------ hawtio-console-assembly/app/src/login.html | 126 +----------- hawtio-console-assembly/gulpfile.js | 90 ++++----- hawtio-console-assembly/package.json | 5 +- hawtio-console-assembly/yarn.lock | 181 ++++++++++++------ 6 files changed, 311 insertions(+), 357 deletions(-) create mode 100644 hawtio-console-assembly/app/src/head-partial.html diff --git a/hawtio-console-assembly/app/src/head-partial.html b/hawtio-console-assembly/app/src/head-partial.html new file mode 100644 index 0000000000..ef0153bc64 --- /dev/null +++ b/hawtio-console-assembly/app/src/head-partial.html @@ -0,0 +1,133 @@ + + + Hawtio + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/hawtio-console-assembly/app/src/index.html b/hawtio-console-assembly/app/src/index.html index 4171ab11db..b5a0807a2d 100644 --- a/hawtio-console-assembly/app/src/index.html +++ b/hawtio-console-assembly/app/src/index.html @@ -1,131 +1,10 @@ - - - hawtio console - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + \ No newline at end of file diff --git a/hawtio-console-assembly/app/src/login.html b/hawtio-console-assembly/app/src/login.html index 14e49f7f26..15f211eff1 100644 --- a/hawtio-console-assembly/app/src/login.html +++ b/hawtio-console-assembly/app/src/login.html @@ -1,132 +1,10 @@ - - - hawtio console login - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + \ No newline at end of file diff --git a/hawtio-console-assembly/gulpfile.js b/hawtio-console-assembly/gulpfile.js index 7adfba0c8d..5ae017ecf9 100644 --- a/hawtio-console-assembly/gulpfile.js +++ b/hawtio-console-assembly/gulpfile.js @@ -1,19 +1,24 @@ -const gulp = require('gulp'), - eventStream = require('event-stream'), - gulpLoadPlugins = require('gulp-load-plugins'), - map = require('vinyl-map'), - fs = require('fs'), - path = require('path'), - sequence = require('run-sequence'), - size = require('gulp-size'), - uri = require('urijs'), - s = require('underscore.string'), - argv = require('yargs').argv, - logger = require('js-logger'), - hawtio = require('@hawtio/node-backend'), - tslint = require('gulp-tslint'), - tslintRules = require('./tslint.json'), - exec = require('child_process').exec; +const gulp = require('gulp'); +const eventStream = require('event-stream'); +const gulpLoadPlugins = require('gulp-load-plugins'); +const map = require('vinyl-map'); +const fs = require('fs'); +const path = require('path'); +const sequence = require('run-sequence'); +const size = require('gulp-size'); +const uri = require('urijs'); +const s = require('underscore.string'); +const argv = require('yargs').argv; +const logger = require('js-logger'); +const hawtio = require('@hawtio/node-backend'); +const tslint = require('gulp-tslint'); +const tslintRules = require('./tslint.json'); +const exec = require('child_process').exec; +const usemin = require('gulp-usemin'); +const uglify = require('gulp-uglify'); +const cleanCss = require('gulp-clean-css'); +const rev = require('gulp-rev'); +const preprocess = require("gulp-preprocess"); const plugins = gulpLoadPlugins({}); @@ -24,17 +29,13 @@ const config = { keycloak: argv.keycloak ? 'true' : 'false', app: 'app/', src: 'app/src/', - srcTs: 'app/src/**/*.ts', srcLess: 'app/src/**/*.less', srcTemplates: 'app/src/**/!(index|login).html', docTemplates: '../@(CHANGES|FAQ).md', templateModule: 'hawtio-console-assembly-templates', temp: 'temp/', dist: 'dist/', - distJs: 'dist/js', - distCss: 'dist/css', distFonts: 'dist/fonts', - distLibs: 'dist/libs', distImg: 'dist/img', js: 'hawtio-console-assembly.js', css: 'hawtio-console-assembly.css', @@ -106,29 +107,25 @@ gulp.task('concat', function () { .pipe(plugins.header(license)) .pipe(size(normalSizeOptions)) .pipe(gZipSize) - .pipe(gulp.dest(config.distJs)); + .pipe(gulp.dest(config.temp)); }); gulp.task('less', function () { return gulp.src(config.srcLess) .pipe(plugins.less()) .pipe(plugins.concat(config.css)) - .pipe(gulp.dest(config.distCss)); + .pipe(gulp.dest(config.temp)); }); gulp.task('usemin', function () { return gulp.src(config.src + '@(index|login).html') - .pipe(plugins.usemin({ - css: [plugins.cleanCss(), 'concat'], - js: [ - plugins.sourcemaps.init({ - loadMaps: true - }), - 'concat', - plugins.uglify(), - plugins.rev(), - plugins.sourcemaps.write('./') - ] + .pipe(preprocess()) + .pipe(usemin({ + libCss: [cleanCss, rev], + appCss: [() => cleanCss({ rebaseTo: 'css/css' }), rev], + libJs: [uglify, rev], + appJs: [uglify, rev], + jsAttributes: { defer: true } })) .pipe(plugins.debug({ title: 'usemin' })) .pipe(gulp.dest(config.dist)); @@ -138,14 +135,17 @@ gulp.task('install-dependencies', function (cb) { exec(`cd ${config.app} && yarn install --prod --flat --frozen-lockfile && cd ..`, function (error, stdout, stderr) { if (error) { console.log(stderr); - } else { - gulp.src(config.app + '/node_modules/**/*') - .pipe(gulp.dest(config.distLibs)); } cb(error); }); }); +gulp.task('copy-fonts', function () { + return gulp.src('app/node_modules/patternfly/dist/fonts/*') + .pipe(plugins.debug({ title: 'copy-fonts' })) + .pipe(gulp.dest(config.distFonts)); +}); + gulp.task('copy-images', function () { var hawtioDependencies = config.app + 'node_modules/@hawtio'; var dirs = fs.readdirSync(hawtioDependencies); @@ -165,11 +165,11 @@ gulp.task('copy-images', function () { // Add PatternFly images package in dist patterns.push(config.app + 'node_modules/patternfly/dist/img/**/*'); return gulp.src(patterns) - .pipe(plugins.debug({ title: 'image copy' })) + .pipe(plugins.debug({ title: 'copy-images' })) .pipe(gulp.dest(config.distImg)); }); -gulp.task('404', ['usemin'], function () { +gulp.task('404', function () { return gulp.src(config.dist + 'index.html') .pipe(plugins.rename('404.html')) .pipe(gulp.dest(config.dist)); @@ -275,14 +275,8 @@ gulp.task('connect', function () { }); gulp.task('watch', function () { - gulp.watch([ - config.distCss + '*', - config.distJs + '*', - config.dist + '@(index|login).html' - ], ['reload']); - gulp.watch([config.srcTs, config.srcTemplates], ['tsc', 'template', 'concat']); - gulp.watch(config.srcLess, ['less']); - gulp.watch(config.src + '@(index|login).html', ['usemin']); + gulp.watch(config.src + '**/*', ['build']); + gulp.watch(config.dist + '*', ['reload']); }); gulp.task('reload', function () { @@ -294,7 +288,7 @@ gulp.task('reload', function () { // main tasks //------------------------------------------------------------------------------ -gulp.task('build', callback => sequence('clean', 'tsc', 'template', 'template-docs', 'concat', 'less', 'usemin', - 'install-dependencies', 'copy-images', '404', 'copy-config', callback)); +gulp.task('build', callback => sequence('clean', 'tsc', 'template', 'template-docs', 'concat', 'less', + 'install-dependencies', 'usemin', 'copy-fonts', 'copy-images', '404', 'copy-config', callback)); gulp.task('default', callback => sequence('build', ['connect', 'watch'])); diff --git a/hawtio-console-assembly/package.json b/hawtio-console-assembly/package.json index 7498f850ee..5051b3cca5 100644 --- a/hawtio-console-assembly/package.json +++ b/hawtio-console-assembly/package.json @@ -14,7 +14,7 @@ "gulp-angular-templatecache": "^2.0.0", "gulp-chmod": "^2.0.0", "gulp-clean": "~0.3.0", - "gulp-clean-css": "^3.0.0", + "gulp-clean-css": "^4.0.0", "gulp-concat": "^2.0.0", "gulp-debug": "^3.1.0", "gulp-dedupe": "0.0.2", @@ -25,9 +25,10 @@ "gulp-less": "^3.0.0", "gulp-load-plugins": "^1.0.0", "gulp-ng-annotate": "~2.0.0", + "gulp-preprocess": "~3.0.1", "gulp-rename": "^1.0.0", "gulp-replace": "^0.6.1", - "gulp-rev": "^7.0.0", + "gulp-rev": "^9.0.0", "gulp-size": "^2.0.0", "gulp-sourcemaps": "^2.6.0", "gulp-tslint": "^8.1.1", diff --git a/hawtio-console-assembly/yarn.lock b/hawtio-console-assembly/yarn.lock index fafd009e92..1d7b0ad9db 100644 --- a/hawtio-console-assembly/yarn.lock +++ b/hawtio-console-assembly/yarn.lock @@ -1278,6 +1278,13 @@ first-chunk-stream@^1.0.0: resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" integrity sha1-Wb+1DNkF9g18OUzT2ayqtOatk04= +first-chunk-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-2.0.0.tgz#1bdecdb8e083c0664b91945581577a43a9f31d70" + integrity sha1-G97NuOCDwGZLkZRVgVd6Q6nzHXA= + dependencies: + readable-stream "^2.0.2" + flagged-respawn@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-0.3.2.tgz#ff191eddcd7088a675b2610fffc976be9b8074b5" @@ -1592,9 +1599,9 @@ graceful-fs@~1.2.0: integrity sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q= gulp-angular-templatecache@^2.0.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/gulp-angular-templatecache/-/gulp-angular-templatecache-2.2.2.tgz#dde1e5d1abe9df610d3498824fdc23e64d693548" - integrity sha512-esi4BPecJbvBOfXqKANl7NBsYHrfpee07bSL0QAOzjiG9kyGEVyOJoRCwOCRq1VF40a0G6x4V//Lv0FFJ25eKw== + version "2.2.5" + resolved "https://registry.yarnpkg.com/gulp-angular-templatecache/-/gulp-angular-templatecache-2.2.5.tgz#56393cf3f9982f2d931de3ff51d1170bfa40248f" + integrity sha512-BaNAVSt7lRQ7hRicUrVD7sBmXGUbkIE8iEjb0MUti7myg/4EfcadHIu9CMTbdjQc+UgyRAudCx6FHfR5QOZ0Ag== dependencies: event-stream "3.3.4" gulp-concat "2.6.1" @@ -1613,14 +1620,14 @@ gulp-chmod@^2.0.0: stat-mode "^0.2.0" through2 "^2.0.0" -gulp-clean-css@^3.0.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/gulp-clean-css/-/gulp-clean-css-3.10.0.tgz#bccd4605eff104bfa4980014cc4b3c24c571736d" - integrity sha512-7Isf9Y690o/Q5MVjEylH1H7L8WeZ89woW7DnhD5unTintOdZb67KdOayRgp9trUFo+f9UyJtuatV42e/+kghPg== +gulp-clean-css@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/gulp-clean-css/-/gulp-clean-css-4.0.0.tgz#1b67f1636e2b0da73499a7602396a0d570eb9626" + integrity sha512-/Hs+dmclQfFBSpwrAKd4wTVsahJvrVIg2ga0J7Eo7DKVTVfJrM7wXlfU1mK9iJ9Y7OmkO/YstZVtmhfAKzZ00g== dependencies: clean-css "4.2.1" plugin-error "1.0.1" - through2 "2.0.3" + through2 "3.0.0" vinyl-sourcemaps-apply "0.2.1" gulp-clean@~0.3.0: @@ -1767,6 +1774,15 @@ gulp-ng-annotate@~2.0.0: through2 "^2.0.1" vinyl-sourcemaps-apply "^0.2.1" +gulp-preprocess@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/gulp-preprocess/-/gulp-preprocess-3.0.1.tgz#ef16db8fe49c1da86e44d79c64c6ea7683fece16" + integrity sha512-YN0sU0IZD9fCiGcpTPPIkH3WaTqN+l6QDHkFy1Z2LT9db3w/raFarggDDIFMFEqiqM0pG2y7sQAdTMh6VDqjFg== + dependencies: + lodash "^4.17.10" + map-stream "^0.1.x" + preprocess "^3.0.0" + gulp-rename@^1.0.0: version "1.4.0" resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd" @@ -1781,19 +1797,19 @@ gulp-replace@^0.6.1: readable-stream "^2.0.1" replacestream "^4.0.0" -gulp-rev@^7.0.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/gulp-rev/-/gulp-rev-7.1.2.tgz#5e17cc229f6b45c74256f88ad3f2d3e9a3305829" - integrity sha1-XhfMIp9rRcdCVviK0/LT6aMwWCk= +gulp-rev@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/gulp-rev/-/gulp-rev-9.0.0.tgz#fe51b181c5fbbebfe740b64748d6980827e82878" + integrity sha512-Ytx/uzDA2xNxHlPG8GReS1ut00msd0HlKDk9Ai/0xF2yvg+DAeGRAviCFlQzQmdZtqAoXznYspwWoGEoxDvhyA== dependencies: - gulp-util "^3.0.0" modify-filename "^1.1.0" - object-assign "^4.0.1" - rev-hash "^1.0.0" - rev-path "^1.0.0" - sort-keys "^1.0.0" + plugin-error "^1.0.1" + rev-hash "^2.0.0" + rev-path "^2.0.0" + sort-keys "^2.0.0" through2 "^2.0.0" - vinyl-file "^1.1.0" + vinyl "^2.1.0" + vinyl-file "^3.0.0" gulp-size@^2.0.0: version "2.1.0" @@ -2816,7 +2832,7 @@ lodash.values@~2.4.1: dependencies: lodash.keys "~2.4.1" -lodash@^4.13.1, lodash@^4.17.4: +lodash@^4.13.1, lodash@^4.17.10, lodash@^4.17.4: version "4.17.11" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d" integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg== @@ -2878,7 +2894,7 @@ map-stream@0.0.7, map-stream@~0.0.7: resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.0.7.tgz#8a1f07896d82b10926bd3744a2420009f88974a8" integrity sha1-ih8HiW2CsQkmvTdEokIACfiJdKg= -map-stream@~0.1.0: +map-stream@^0.1.x, map-stream@~0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ= @@ -3362,7 +3378,7 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -pify@^2.0.0: +pify@^2.0.0, pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= @@ -3379,7 +3395,7 @@ pinkie@^2.0.0: resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= -plugin-error@1.0.1, plugin-error@~1.0.1: +plugin-error@1.0.1, plugin-error@^1.0.1, plugin-error@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" integrity sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA== @@ -3407,6 +3423,13 @@ plur@^2.0.0: dependencies: irregular-plurals "^1.0.0" +preprocess@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/preprocess/-/preprocess-3.1.0.tgz#a44e5cdd5bbb5a54f0ad289aaeed80995d7d938a" + integrity sha1-pE5c3Vu7WlTwrSiaru2AmV19k4o= + dependencies: + xregexp "3.1.0" + preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" @@ -3539,6 +3562,15 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" +"readable-stream@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.0.6.tgz#351302e4c68b5abd6a2ed55376a7f9a25be3057a" + integrity sha512-9E1oLoOWfhSXHGv6QlwXJim7uNzd9EVlWK+21tCU9Ju/kR0/p2AZYPz4qSchgO8PlLIH4FpZYfzwS+rEksZjIg== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + "readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.17: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" @@ -3562,7 +3594,7 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable string_decoder "~1.0.3" util-deprecate "~1.0.1" -readable-stream@^2.1.5, readable-stream@^2.3.3, readable-stream@^2.3.5: +readable-stream@^2.1.5, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== @@ -3758,15 +3790,15 @@ resolve@^1.3.2, resolve@^1.5.0: dependencies: path-parse "^1.0.5" -rev-hash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rev-hash/-/rev-hash-1.0.0.tgz#96993959ea9bfb1c59b13adf02ac2e34bb373603" - integrity sha1-lpk5Weqb+xxZsTrfAqwuNLs3NgM= +rev-hash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/rev-hash/-/rev-hash-2.0.0.tgz#7720a236ed0c258df3e64bec03ec048b05b924c4" + integrity sha1-dyCiNu0MJY3z5kvsA+wEiwW5JMQ= -rev-path@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rev-path/-/rev-path-1.0.0.tgz#d4ccb436ac3370c4607175ce88eafc5c65c5d653" - integrity sha1-1My0NqwzcMRgcXXOiOr8XGXF1lM= +rev-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/rev-path/-/rev-path-2.0.0.tgz#10c978e824d76ce7dd1f7e66e88f50f5e71a0a6a" + integrity sha512-G5R2L9gYu9kEuqPfIFgO9gO+OhBWOAT83HyauOQmGHO6y9Fsa4acv+XsmNhNDrod0HDh1/VxJRmsffThzeHJlQ== dependencies: modify-filename "^1.0.0" @@ -3889,10 +3921,10 @@ sntp@1.x.x: dependencies: hoek "2.x.x" -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= +sort-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" + integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= dependencies: is-plain-obj "^1.0.0" @@ -4052,6 +4084,13 @@ string_decoder@0.10, string_decoder@~0.10.x: resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" integrity sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ= +string_decoder@^1.1.1, string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + string_decoder@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" @@ -4059,13 +4098,6 @@ string_decoder@~1.0.3: dependencies: safe-buffer "~5.1.0" -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - stringify-object@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" @@ -4104,6 +4136,13 @@ strip-ansi@^3.0.0: dependencies: ansi-regex "^2.0.0" +strip-bom-buf@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-buf/-/strip-bom-buf-1.0.0.tgz#1cb45aaf57530f4caf86c7f75179d2c9a51dd572" + integrity sha1-HLRar1dTD0yvhsf3UXnSyaUd1XI= + dependencies: + is-utf8 "^0.2.1" + strip-bom-stream@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" @@ -4112,6 +4151,14 @@ strip-bom-stream@^1.0.0: first-chunk-stream "^1.0.0" strip-bom "^2.0.0" +strip-bom-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-2.0.0.tgz#f87db5ef2613f6968aa545abfe1ec728b6a829ca" + integrity sha1-+H217yYT9paKpUWr/h7HKLaoKco= + dependencies: + first-chunk-stream "^2.0.0" + strip-bom "^2.0.0" + strip-bom-string@1.X: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" @@ -4179,7 +4226,7 @@ through2-filter@^2.0.0: through2 "~2.0.0" xtend "~4.0.0" -through2@2.0.3, through2@2.X, through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0, through2@~2.0.3: +through2@2.X, through2@^2.0.1, through2@~2.0.0, through2@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" integrity sha1-AARWmzfHx0ujnEPzzteNGtlBQL4= @@ -4187,6 +4234,14 @@ through2@2.0.3, through2@2.X, through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, readable-stream "^2.1.5" xtend "~4.0.1" +through2@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.0.tgz#468b461df9cd9fcc170f22ebf6852e467e578ff2" + integrity sha512-8B+sevlqP4OiCjonI1Zw03Sf8PuV1eRsYQgLad5eonILOdyeRsY27A/2Ze8IlvlMvq31OH+3fz/styI7Ya62yQ== + dependencies: + readable-stream "2 || 3" + xtend "~4.0.1" + through2@^0.4.1, through2@^0.4.2: version "0.4.2" resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" @@ -4211,6 +4266,14 @@ through2@^0.6.0, through2@^0.6.1: readable-stream ">=1.0.33-1 <1.1.0-0" xtend ">=4.0.0 <4.1.0-0" +through2@^2.0.0, through2@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" + integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + dependencies: + readable-stream "~2.3.6" + xtend "~4.0.1" + through@2, through@^2.3.8, through@~2.3, through@~2.3.1, through@~2.3.4, through@~2.3.6, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -4346,9 +4409,9 @@ type-is@~1.6.16: mime-types "~2.1.18" typescript@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.3.tgz#01b70247a6d3c2467f70c45795ef5ea18ce191d5" - integrity sha512-+81MUSyX+BaSo+u2RbozuQk/UWx6hfG0a5gHu4ANEM4sU96XbuIyAB+rWBW1u70c6a5QuZfuYICn3s2UjuHUpA== + version "3.1.6" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.6.tgz#b6543a83cfc8c2befb3f4c8fba6896f5b0c9be68" + integrity sha512-tDMYfVtvpb96msS1lDX9MEdHrW4yOuZ4Kdc4Him9oU796XldPYF/t2+uKoX0BBa0hXXwDlqYQbXY5Rzjzc5hBA== uglify-js@^2.8.22: version "2.8.29" @@ -4434,7 +4497,7 @@ user-home@^1.1.1: resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" integrity sha1-K1viOjK2Onyd640PKNSFcko98ZA= -util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -4488,15 +4551,16 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -vinyl-file@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-1.3.0.tgz#aa05634d3a867ba91447bedbb34afcb26f44f6e7" - integrity sha1-qgVjTTqGe6kUR77bs0r8sm9E9uc= +vinyl-file@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/vinyl-file/-/vinyl-file-3.0.0.tgz#b104d9e4409ffa325faadd520642d0a3b488b365" + integrity sha1-sQTZ5ECf+jJfqt1SBkLQo7SIs2U= dependencies: graceful-fs "^4.1.2" - strip-bom "^2.0.0" - strip-bom-stream "^1.0.0" - vinyl "^1.1.0" + pify "^2.3.0" + strip-bom-buf "^1.0.0" + strip-bom-stream "^2.0.0" + vinyl "^2.0.1" vinyl-fs@^0.3.0: version "0.3.14" @@ -4611,7 +4675,7 @@ vinyl@^0.5.0: clone-stats "^0.0.1" replace-ext "0.0.1" -vinyl@^1.0.0, vinyl@^1.1.0: +vinyl@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" integrity sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ= @@ -4620,7 +4684,7 @@ vinyl@^1.0.0, vinyl@^1.1.0: clone-stats "^0.0.1" replace-ext "0.0.1" -vinyl@^2.0.0, vinyl@^2.1.0: +vinyl@^2.0.0, vinyl@^2.0.1, vinyl@^2.1.0: version "2.2.0" resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" integrity sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg== @@ -4704,6 +4768,11 @@ ws@^2.0.0: safe-buffer "~5.0.1" ultron "~1.1.0" +xregexp@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-3.1.0.tgz#14d8461e0bdd38224bfee5039a0898fc42fcd336" + integrity sha1-FNhGHgvdOCJL/uUDmgiY/EL80zY= + "xtend@>=4.0.0 <4.1.0-0", xtend@~4.0.0, xtend@~4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"