From fe1407bcdf31e1f18f53582a4b168471a907a07c Mon Sep 17 00:00:00 2001 From: Anthony Gubler Date: Wed, 5 Dec 2018 11:52:14 +0000 Subject: [PATCH 1/5] Use bootstrap plugin --- package-lock.json | 11 ++++---- package.json | 2 +- src/base.config.ts | 56 ++++++++++++++++++++++++++++++++------ src/dev.config.ts | 16 ++++------- src/dist.config.ts | 15 ++++------ test-app/package-lock.json | 50 +++++++++++++++++----------------- tests/unit/main.ts | 1 + 7 files changed, 89 insertions(+), 62 deletions(-) diff --git a/package-lock.json b/package-lock.json index b6eaec0c..abd2e9fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -586,9 +586,8 @@ } }, "@dojo/webpack-contrib": { - "version": "5.0.0-alpha.3", - "resolved": "https://registry.npmjs.org/@dojo/webpack-contrib/-/webpack-contrib-5.0.0-alpha.3.tgz", - "integrity": "sha512-dwucl25uB/awMQRkNB2csEPnY6QRl5y6qm4hgJVlQg5cOXR3w7OyBJlh/jLjKc7OywONBDgvvyNVvP7kXFWnMg==", + "version": "file:dojo-webpack-contrib-5.0.0-alpha.3.tgz", + "integrity": "sha512-pRQ2rA9gcgScBSuiAXX1CTOwZ0TufbwsjqyVq7Sdi9whM1JrgnYBNV8Lidsw31getRM0fYN9lfrg67wfeWRCfw==", "requires": { "@dojo/framework": "^5.0.0-alpha.2", "acorn": "5.3.0", @@ -10053,9 +10052,9 @@ "integrity": "sha512-1n3Z4p3IOxArEs1VRXnZ/RXdfEniAUS9jb68g58FIXMNkPJeZd+Qh4Uq7/e0LVxAQGos1eIUrqrt4FpjdnEd+Q==" }, "portfinder": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.19.tgz", - "integrity": "sha512-23aeQKW9KgHe6citUrG3r9HjeX6vls0h713TAa+CwTKZwNIr/pD2ApaxYF4Um3ZZyq4ar+Siv3+fhoHaIwSOSw==", + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.20.tgz", + "integrity": "sha512-Yxe4mTyDzTd59PZJY4ojZR8F+E5e97iq2ZOHPz3HDgSvYC5siNad2tLooQ5y5QHyQhc3xVqvyk/eNA3wuoa7Sw==", "requires": { "async": "^1.5.2", "debug": "^2.2.0", diff --git a/package.json b/package.json index c88e962f..3020055a 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "sinon": "~4.5.0" }, "dependencies": { - "@dojo/webpack-contrib": "next", + "@dojo/webpack-contrib": "file://./dojo-webpack-contrib-5.0.0-alpha.3.tgz", "brotli-webpack-plugin": "1.0.0", "chalk": "2.4.1", "clean-webpack-plugin": "1.0.0", diff --git a/src/base.config.ts b/src/base.config.ts index 960c2456..28481a61 100644 --- a/src/base.config.ts +++ b/src/base.config.ts @@ -1,5 +1,6 @@ import CssModulePlugin from '@dojo/webpack-contrib/css-module-plugin/CssModulePlugin'; import ExternalLoaderPlugin from '@dojo/webpack-contrib/external-loader-plugin/ExternalLoaderPlugin'; +import BootstrapPlugin from '@dojo/webpack-contrib/bootstrap-plugin/BootstrapPlugin'; import I18nPlugin from '@dojo/webpack-contrib/i18n-plugin/I18nPlugin'; import registryTransformer from '@dojo/webpack-contrib/registry-transformer'; import getFeatures from '@dojo/webpack-contrib/static-build-loader/getFeatures'; @@ -28,6 +29,7 @@ const mainCssPath = path.join(srcPath, 'main.css'); const indexHtmlPattern = /src(\/|\\)index\.html$/; export const mainEntry = 'main'; +export const bootstrapEntry = 'bootstrap'; const packageJsonPath = path.join(basePath, 'package.json'); const packageJson = existsSync(packageJsonPath) ? require(packageJsonPath) : {}; @@ -151,7 +153,7 @@ function loadRoutingOutlets() { export default function webpackConfigFactory(args: any): webpack.Configuration { const extensions = args.legacy ? ['.ts', '.tsx', '.js'] : ['.ts', '.tsx', '.mjs', '.js']; const compilerOptions = args.legacy ? {} : { target: 'es6', module: 'esnext' }; - let features = args.legacy ? args.features : { ...(args.features || {}), ...getFeatures('chrome') }; + let features = args.legacy ? args.features : { ...(args.features || {}), ...getFeatures('modern') }; features = { ...features, 'dojo-debug': false }; const assetsDir = path.join(process.cwd(), 'assets'); const assetsDirPattern = new RegExp(assetsDir); @@ -164,6 +166,25 @@ export default function webpackConfigFactory(args: any): webpack.Configuration { ); const isTest = args.mode === 'unit' || args.mode === 'functional' || args.mode === 'test'; const singleBundle = args.singleBundle || isTest; + let entry: any; + if (singleBundle) { + entry = { + [mainEntry]: removeEmpty([ + '@dojo/webpack-contrib/build-time-render/hasBuildTimeRender', + existsSync(mainCssPath) ? mainCssPath : null, + mainEntryPath + ]) + }; + } else { + features = { ...features, 'build-elide': true }; + entry = { + [bootstrapEntry]: removeEmpty([ + '@dojo/webpack-contrib/build-time-render/hasBuildTimeRender', + existsSync(mainCssPath) ? mainCssPath : null, + '@dojo/webpack-contrib/bootstrap-plugin/bootstrap' + ]) + }; + } const customTransformers: any[] = []; @@ -287,13 +308,7 @@ export default function webpackConfigFactory(args: any): webpack.Configuration { callback(null, resolveExternal(externals)); } ], - entry: { - [mainEntry]: removeEmpty([ - '@dojo/webpack-contrib/build-time-render/hasBuildTimeRender', - existsSync(mainCssPath) ? mainCssPath : null, - mainEntryPath - ]) - }, + entry, node: { dgram: 'empty', net: 'empty', tls: 'empty', fs: 'empty' }, output: { chunkFilename: '[name].js', @@ -311,11 +326,12 @@ export default function webpackConfigFactory(args: any): webpack.Configuration { optimization: { splitChunks: { cacheGroups: { + vendors: false, default: false, main: { chunks: 'initial', minChunks: 1, - name: 'main', + name: singleBundle ? mainEntry : bootstrapEntry, reuseExistingChunk: true } } @@ -351,6 +367,28 @@ export default function webpackConfigFactory(args: any): webpack.Configuration { dependencies: args.externals.dependencies, hash: true, outputPath: args.externals.outputPath + }), + !singleBundle && + new webpack.DefinePlugin({ + __MAIN_ENTRY: JSON.stringify(mainEntryPath) + }), + !singleBundle && + new BootstrapPlugin({ + entryPath: mainEntryPath, + shimModules: [ + { + module: '@dojo/framework/shim/IntersectionObserver', + has: 'intersection-observer' + }, + { + module: '@dojo/framework/shim/ResizeObserver', + has: 'resize-observer' + }, + { + module: '@dojo/framework/shim/WebAnimations', + has: 'web-animations' + } + ] }) ]), module: { diff --git a/src/dev.config.ts b/src/dev.config.ts index 4a7fce87..d6ea7502 100644 --- a/src/dev.config.ts +++ b/src/dev.config.ts @@ -1,4 +1,4 @@ -import baseConfigFactory, { mainEntry, packageName } from './base.config'; +import baseConfigFactory, { bootstrapEntry, mainEntry, packageName } from './base.config'; import { WebAppManifest } from './interfaces'; import * as HtmlWebpackPlugin from 'html-webpack-plugin'; import * as fs from 'fs'; @@ -22,13 +22,7 @@ function webpackConfig(args: any): webpack.Configuration { const outputPath = path.join(output!.path!, 'dev'); const assetsDir = path.join(process.cwd(), 'assets'); const assetsDirExists = fs.existsSync(assetsDir); - - if (!args.singleBundle) { - config.optimization = { - ...config.optimization, - runtimeChunk: { name: 'runtime' } - }; - } + const entry = args.singleBundle ? mainEntry : bootstrapEntry; config.plugins = [ ...plugins!, @@ -36,7 +30,7 @@ function webpackConfig(args: any): webpack.Configuration { new ManifestPlugin(), new HtmlWebpackPlugin({ inject: true, - chunks: args.singleBundle ? ['main'] : ['runtime', 'main'], + chunks: [entry], meta: manifest ? { 'mobile-web-app-capable': 'yes' } : {}, template: 'src/index.html' }), @@ -83,7 +77,7 @@ function webpackConfig(args: any): webpack.Configuration { if (typeof serviceWorker !== 'string') { const entry = config.entry as any; - entry[mainEntry].push('@dojo/webpack-contrib/service-worker-plugin/service-worker-entry'); + entry[entry].push('@dojo/webpack-contrib/service-worker-plugin/service-worker-entry'); } } @@ -91,7 +85,7 @@ function webpackConfig(args: any): webpack.Configuration { config.plugins.push( new BuildTimeRender({ ...args['build-time-render'], - entries: args.singleBundle ? Object.keys(config.entry!) : ['runtime', ...Object.keys(config.entry!)], + entries: Object.keys(config.entry!), useManifest: true }) ); diff --git a/src/dist.config.ts b/src/dist.config.ts index 7617fb25..7d4457db 100644 --- a/src/dist.config.ts +++ b/src/dist.config.ts @@ -12,7 +12,7 @@ import * as path from 'path'; import * as webpack from 'webpack'; import * as WebpackChunkHash from 'webpack-chunk-hash'; import * as ManifestPlugin from 'webpack-manifest-plugin'; -import baseConfigFactory, { mainEntry, packageName } from './base.config'; +import baseConfigFactory, { bootstrapEntry, mainEntry, packageName } from './base.config'; import { WebAppManifest } from './interfaces'; const BrotliPlugin = require('brotli-webpack-plugin'); @@ -36,6 +36,7 @@ function webpackConfig(args: any): webpack.Configuration { const outputPath = path.join(output!.path!, 'dist'); const assetsDir = path.join(process.cwd(), 'assets'); const assetsDirExists = fs.existsSync(assetsDir); + const entry = args.singleBundle ? mainEntry : bootstrapEntry; config.mode = 'production'; @@ -52,12 +53,6 @@ function webpackConfig(args: any): webpack.Configuration { ] }; - if (!args.singleBundle) { - config.optimization.runtimeChunk = { - name: 'runtime' - }; - } - config.plugins = [ ...plugins!, assetsDirExists && new CopyWebpackPlugin([{ from: assetsDir, to: path.join(outputPath, 'assets') }]), @@ -71,7 +66,7 @@ function webpackConfig(args: any): webpack.Configuration { }), new HtmlWebpackPlugin({ inject: true, - chunks: args.singleBundle ? ['main'] : ['runtime', 'main'], + chunks: [entry], meta: manifest ? { 'mobile-web-app-capable': 'yes' } : {}, template: 'src/index.html' }), @@ -95,7 +90,7 @@ function webpackConfig(args: any): webpack.Configuration { if (typeof serviceWorker !== 'string') { const entry = config.entry as any; - entry[mainEntry].push('@dojo/webpack-contrib/service-worker-plugin/service-worker-entry'); + entry[entry].push('@dojo/webpack-contrib/service-worker-plugin/service-worker-entry'); } } @@ -103,7 +98,7 @@ function webpackConfig(args: any): webpack.Configuration { config.plugins.push( new BuildTimeRender({ ...args['build-time-render'], - entries: args.singleBundle ? Object.keys(config.entry!) : ['runtime', ...Object.keys(config.entry!)], + entries: Object.keys(config.entry!), useManifest: true }) ); diff --git a/test-app/package-lock.json b/test-app/package-lock.json index 019388da..83d92ef8 100644 --- a/test-app/package-lock.json +++ b/test-app/package-lock.json @@ -119,7 +119,7 @@ }, "ansi-escapes": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", + "resolved": "http://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.1.0.tgz", "integrity": "sha512-UgAb8H9D41AQnu/PbWlCofQVcnV4Gs2bBJi9eZPxfU/hgglFh3SMDMENRIqdr7H6XFnXdoknctFByVsCOotTVw==" }, "ansi-regex": { @@ -159,9 +159,9 @@ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "bluebird": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.2.tgz", - "integrity": "sha512-dhHTWMI7kMx5whMQntl7Vr9C6BvV10lFXDAasnqnrMYhXVCzzk6IO9Fo2L75jXHT07WrOngL1WDXOp+yYS91Yg==" + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz", + "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==" }, "boolbase": { "version": "1.0.0", @@ -202,9 +202,9 @@ "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" }, "cacache": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.2.0.tgz", - "integrity": "sha512-IFWl6lfK6wSeYCHUXh+N1lY72UDrpyrYQJNIVQf48paDuWbv5RbAtJYf/4gUQFObTCHZwdZ5sI8Iw7nqwP6nlQ==", + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.1.tgz", + "integrity": "sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA==", "requires": { "bluebird": "^3.5.1", "chownr": "^1.0.1", @@ -742,7 +742,7 @@ }, "globby": { "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "resolved": "http://registry.npmjs.org/globby/-/globby-6.1.0.tgz", "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", "requires": { "array-union": "^1.0.1", @@ -785,9 +785,9 @@ } }, "graceful-fs": { - "version": "4.1.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", - "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + "version": "4.1.15", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", + "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" }, "has-flag": { "version": "3.0.0", @@ -1053,9 +1053,9 @@ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" }, "lru-cache": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz", - "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==", + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -1244,7 +1244,7 @@ }, "os-homedir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { @@ -1259,7 +1259,7 @@ }, "os-tmpdir": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { @@ -1325,7 +1325,7 @@ }, "path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "resolved": "http://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { @@ -1662,9 +1662,9 @@ "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg==" }, "socks": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.1.tgz", - "integrity": "sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.2.tgz", + "integrity": "sha512-g6wjBnnMOZpE0ym6e0uHSddz9p3a+WsBaaYQaBaSCJYvrC4IXykQR9MNGjLQf38e9iIIhp3b1/Zk8YZI3KGJ0Q==", "requires": { "ip": "^1.1.5", "smart-buffer": "^4.0.1" @@ -1712,7 +1712,7 @@ }, "string_decoder": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" @@ -1758,11 +1758,11 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "requires": { - "readable-stream": "^2.1.5", + "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, diff --git a/tests/unit/main.ts b/tests/unit/main.ts index eb43e282..1546d610 100644 --- a/tests/unit/main.ts +++ b/tests/unit/main.ts @@ -728,6 +728,7 @@ describe('command', () => { copy: { path: join(basePath, 'dist/dev/src'), files: [ + './bootstrap.js', './base.config.js', './base.test.config.js', './dev.config.js', From 38d3dbaf4336d239a4b857fc2f2191e8109bf7d8 Mon Sep 17 00:00:00 2001 From: Anthony Gubler Date: Tue, 11 Dec 2018 13:01:28 +0000 Subject: [PATCH 2/5] change to sync and async bootstraps --- src/base.config.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/base.config.ts b/src/base.config.ts index 28481a61..799ab97b 100644 --- a/src/base.config.ts +++ b/src/base.config.ts @@ -170,7 +170,7 @@ export default function webpackConfigFactory(args: any): webpack.Configuration { if (singleBundle) { entry = { [mainEntry]: removeEmpty([ - '@dojo/webpack-contrib/build-time-render/hasBuildTimeRender', + '@dojo/webpack-contrib/bootstrap-plugin/sync', existsSync(mainCssPath) ? mainCssPath : null, mainEntryPath ]) @@ -179,9 +179,8 @@ export default function webpackConfigFactory(args: any): webpack.Configuration { features = { ...features, 'build-elide': true }; entry = { [bootstrapEntry]: removeEmpty([ - '@dojo/webpack-contrib/build-time-render/hasBuildTimeRender', existsSync(mainCssPath) ? mainCssPath : null, - '@dojo/webpack-contrib/bootstrap-plugin/bootstrap' + '@dojo/webpack-contrib/bootstrap-plugin/async' ]) }; } From 807a16dc8e2a17d7e25685a2cb55dfc7c4c59305 Mon Sep 17 00:00:00 2001 From: Anthony Gubler Date: Tue, 11 Dec 2018 13:42:36 +0000 Subject: [PATCH 3/5] Update deps --- package-lock.json | 223 ++++++++++++++++++++++++---------------------- package.json | 2 +- 2 files changed, 119 insertions(+), 106 deletions(-) diff --git a/package-lock.json b/package-lock.json index abd2e9fb..02cca43d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -409,23 +409,23 @@ } }, "@dojo/framework": { - "version": "5.0.0-alpha.2", - "resolved": "https://registry.npmjs.org/@dojo/framework/-/framework-5.0.0-alpha.2.tgz", - "integrity": "sha512-1dL8/ObjIVW0ZgnyuXy+JKOpc5eCNjEjvIIGKSCShR8QYNvko7xfeY1CzO/Jh/yUV90pufehT0e8fxX82Gq8WQ==", + "version": "5.0.0-alpha.3", + "resolved": "https://registry.npmjs.org/@dojo/framework/-/framework-5.0.0-alpha.3.tgz", + "integrity": "sha512-n6Cy3t7Zu65ceBM3UfqgBUmyM0F3JGUDIahMhXv4JKkXNaXSaUGuWDdBlRoH3LcEJDk6pj6ZV+J4JYiZ4IyPCQ==", "requires": { "@types/cldrjs": "0.4.20", "@types/globalize": "0.0.34", "@webcomponents/webcomponentsjs": "1.1.0", - "cldrjs": "0.4.8", + "cldrjs": "0.5.0", "css-select-umd": "1.3.0-rc0", "diff": "3.5.0", - "globalize": "1.3.0", + "globalize": "1.4.0", "intersection-observer": "0.4.2", "pepjs": "0.4.2", "resize-observer-polyfill": "1.5.0", "tslib": "1.8.1", "web-animations-js": "2.3.1", - "whatwg-fetch": "2.0.4" + "whatwg-fetch": "3.0.0" } }, "@dojo/has": { @@ -586,10 +586,11 @@ } }, "@dojo/webpack-contrib": { - "version": "file:dojo-webpack-contrib-5.0.0-alpha.3.tgz", - "integrity": "sha512-pRQ2rA9gcgScBSuiAXX1CTOwZ0TufbwsjqyVq7Sdi9whM1JrgnYBNV8Lidsw31getRM0fYN9lfrg67wfeWRCfw==", + "version": "5.0.0-alpha.4", + "resolved": "https://registry.npmjs.org/@dojo/webpack-contrib/-/webpack-contrib-5.0.0-alpha.4.tgz", + "integrity": "sha512-HB2Nf4LfM2H872KmpO5G/G3ozdyhtFtGRxeAZcqaZjjSoE/x0RTT34S3sXSk5pTNC/jnSColb0QTOn4+ToJA4g==", "requires": { - "@dojo/framework": "^5.0.0-alpha.2", + "@dojo/framework": "^5.0.0-alpha.3", "acorn": "5.3.0", "acorn-dynamic-import": "3.0.0", "bfj-node4": "5.2.0", @@ -615,7 +616,8 @@ "source-map": "0.6.1", "ts-loader": "5.3.0", "typed-css-modules": "0.3.7", - "workbox-webpack-plugin": "3.6.3" + "workbox-webpack-plugin": "3.6.3", + "wrapper-webpack-plugin": "2.0.0" }, "dependencies": { "camelcase": { @@ -650,6 +652,15 @@ } } }, + "@sinonjs/commons": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.3.0.tgz", + "integrity": "sha512-j4ZwhaHmwsCb4DlDOIWnI5YyKDNMoNThsmwEpfHx6a1EpsGZ9qYLxP++LMlmBRjtGptGHFsGItJ768snllFWpA==", + "dev": true, + "requires": { + "type-detect": "4.0.8" + } + }, "@sinonjs/formatio": { "version": "2.0.0", "resolved": "http://registry.npmjs.org/@sinonjs/formatio/-/formatio-2.0.0.tgz", @@ -660,12 +671,14 @@ } }, "@sinonjs/samsam": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.0.tgz", - "integrity": "sha512-5x2kFgJYupaF1ns/RmharQ90lQkd2ELS8A9X0ymkAAdemYHGtI2KiUHG8nX2WU0T1qgnOU5YMqnBM2V7NUanNw==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.0.2.tgz", + "integrity": "sha512-m08g4CS3J6lwRQk1pj1EO+KEVWbrbXsmi9Pw0ySmrIbcVxVaedoFgLvFsV8wHLwh01EpROVz3KvVcD1Jmks9FQ==", "dev": true, "requires": { - "array-from": "^2.1.1" + "@sinonjs/commons": "^1.0.2", + "array-from": "^2.1.1", + "lodash.get": "^4.4.2" } }, "@theintern/digdug": { @@ -1050,9 +1063,9 @@ } }, "@types/lodash": { - "version": "4.14.118", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.118.tgz", - "integrity": "sha512-iiJbKLZbhSa6FYRip/9ZDX6HXhayXLDGY2Fqws9cOkEQ6XeKfaxB0sC541mowZJueYyMnVUmmG+al5/4fCDrgw==", + "version": "4.14.119", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.119.tgz", + "integrity": "sha512-Z3TNyBL8Vd/M9D9Ms2S3LmFq2sSMzahodD6rCS9V2N44HUMINb75jNkSuwAx7eo2ufqTdfOdtGQpNbieUjPQmw==", "dev": true }, "@types/log-symbols": { @@ -1130,10 +1143,15 @@ "integrity": "sha512-XI6JKLFNBmkADRd2FtUYtEuq5LDKTNXwUIodV3ZfTNkA+g4yo+rXXXdZL3fTE24S92BjpiEVaL3f64Fxm2JOgg==", "dev": true }, + "@types/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.1.tgz", + "integrity": "sha512-eqz8c/0kwNi/OEHQfvIuJVLTst3in0e7uTKeuY+WL/zfKn0xVujOTp42bS/vUUokhK5P2BppLd9JXMOMHcgbjA==" + }, "@types/range-parser": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.2.tgz", - "integrity": "sha512-HtKGu+qG1NPvYe1z7ezLsyIaXYyi8SoAVqWDZgDQ8dLrsZvSzUNCwZyfX33uhWxL/SU0ZDQZ3nwZ0nimt507Kw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.3.tgz", + "integrity": "sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==", "dev": true }, "@types/relateurl": { @@ -1495,9 +1513,9 @@ } }, "ajv-errors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.0.tgz", - "integrity": "sha1-7PAh+hCP0X37Xms4Py3SM+Mf/Fk=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==" }, "ajv-keywords": { "version": "3.2.0", @@ -1523,9 +1541,9 @@ } }, "ansi-colors": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.1.tgz", - "integrity": "sha512-Xt+zb6nqgvV9SWAVp0EG3lRsHcbq5DDgqjPPz6pwgtj6RKz65zGXMNa82oJfOSBA/to6GmRP7Dr+6o+kbApTzQ==" + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", + "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==" }, "ansi-escapes": { "version": "3.1.0", @@ -1636,7 +1654,7 @@ }, "array-flatten": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "resolved": "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "array-from": { @@ -2293,13 +2311,13 @@ } }, "browserslist": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.4.tgz", - "integrity": "sha512-u5iz+ijIMUlmV8blX82VGFrB9ecnUg5qEt55CMZ/YJEhha+d8qpBfOFuutJ6F/VKRXjZoD33b6uvarpPxcl3RA==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.5.tgz", + "integrity": "sha512-z9ZhGc3d9e/sJ9dIx5NFXkKoaiQTnrvrMsN3R1fGb1tkWWNSz12UewJn9TNxGo1l7J23h0MRaPmk7jfeTZYs1w==", "requires": { - "caniuse-lite": "^1.0.30000899", - "electron-to-chromium": "^1.3.82", - "node-releases": "^1.0.1" + "caniuse-lite": "^1.0.30000912", + "electron-to-chromium": "^1.3.86", + "node-releases": "^1.0.5" } }, "buffer": { @@ -2483,9 +2501,9 @@ } }, "caniuse-lite": { - "version": "1.0.30000912", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000912.tgz", - "integrity": "sha512-M3zAtV36U+xw5mMROlTXpAHClmPAor6GPKAMD5Yi7glCB5sbMPFtnQ3rGpk4XqPdUrrTIaVYSJZxREZWNy8QJg==" + "version": "1.0.30000918", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000918.tgz", + "integrity": "sha512-CAZ9QXGViBvhHnmIHhsTPSWFBujDaelKnUj7wwImbyQRxmXynYqKGi3UaZTSz9MoVh+1EVxOS/DFIkrJYgR3aw==" }, "capture-stack-trace": { "version": "1.0.1", @@ -2645,9 +2663,9 @@ } }, "cldrjs": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/cldrjs/-/cldrjs-0.4.8.tgz", - "integrity": "sha1-O5lMRk0qMrWsp8XeF6YKh+RdxPk=" + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cldrjs/-/cldrjs-0.5.0.tgz", + "integrity": "sha1-N76S2NGo5myO4S8TA+0xbYXY6zc=" }, "clean-css": { "version": "4.2.1", @@ -2763,10 +2781,12 @@ "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, "coa": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.1.tgz", - "integrity": "sha512-5wfTTO8E2/ja4jFSxePXlG5nRu5bBtL/r1HCIpJW/lzT6yDtKl0u0Z4o/Vpz32IpKmBn7HerheEZQgA9N2DarQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", "q": "^1.1.2" } }, @@ -2861,12 +2881,6 @@ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" }, - "compare-versions": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.4.0.tgz", - "integrity": "sha512-tK69D7oNXXqUW3ZNo/z7NXTEz22TCF0pTE+YF9cxvaAM9XnkLo1fV621xCLrRR6aevJlKxExkss0vWqUCUpqdg==", - "dev": true - }, "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", @@ -3115,9 +3129,9 @@ } }, "core-js": { - "version": "2.5.7", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz", - "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.0.tgz", + "integrity": "sha512-kLRC6ncVpuEW/1kwrOXYX6KQASCVtrh1gQr/UiaVgFlf9WE5Vp+lNe5+h3LuMr5PAucWnnEXwH0nQHRH/gpGtw==" }, "core-util-is": { "version": "1.0.2", @@ -3756,9 +3770,9 @@ "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" }, "cypress": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/cypress/-/cypress-3.1.2.tgz", - "integrity": "sha512-anII950IRqmpQcxlo9te3vTcrl4keuGJaWlBQ5hbAb77D2YrcDv7Iux1FvX1vy/ZzzTdMaiiOts5sa8h63iP0g==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-3.1.3.tgz", + "integrity": "sha512-ZusTQffKBVrLDvcxEinymTH0iCUL7hM1m6q9X+557wDtpd6S4et330QQE1IW10Pnyp+vYIHpkWxDm43B9G14nA==", "dev": true, "requires": { "@cypress/listr-verbose-renderer": "0.4.1", @@ -3779,7 +3793,6 @@ "check-more-types": "2.24.0", "commander": "2.11.0", "common-tags": "1.4.0", - "compare-versions": "3.4.0", "debug": "3.1.0", "execa": "0.10.0", "executable": "4.1.1", @@ -4140,9 +4153,9 @@ } }, "date-fns": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", - "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==", + "version": "1.30.1", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz", + "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==", "dev": true }, "date-now": { @@ -4484,9 +4497,9 @@ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" }, "domelementtype": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.2.1.tgz", - "integrity": "sha512-SQVCLFS2E7G5CRCMdn6K9bIhRj1bS6QBWZfF0TUPh4V/BbqrQ619IdSS3/izn0FZ+9l+uODzaZjb08fjOfablA==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" }, "domhandler": { "version": "2.1.0", @@ -4587,9 +4600,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.86", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.86.tgz", - "integrity": "sha512-BcmXOu37FCPxrrh0wyKgKi5dAjIu2ohxN5ptapkLPKRC3IBK2NeIwh9n1x/8HzSRQiEKamJkDce1ZgOGgEX9iw==" + "version": "1.3.90", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.90.tgz", + "integrity": "sha512-IjJZKRhFbWSOX1w0sdIXgp4CMRguu6UYcTckyFF/Gjtemsu/25eZ+RXwFlV+UWcIueHyQA1UnRJxocTpH5NdGA==" }, "elegant-spinner": { "version": "1.0.1", @@ -6120,11 +6133,11 @@ } }, "globalize": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/globalize/-/globalize-1.3.0.tgz", - "integrity": "sha1-xWUkuKz9LOONDJfd/c6zj2RLM5I=", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/globalize/-/globalize-1.4.0.tgz", + "integrity": "sha1-TACnneZ9c5qbf/g7ZrkNAlfCdJM=", "requires": { - "cldrjs": "^0.4.6" + "cldrjs": "^0.5.0" } }, "globals": { @@ -7057,7 +7070,7 @@ }, "resolve": { "version": "1.7.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "resolved": "http://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", "dev": true, "requires": { @@ -9213,12 +9226,12 @@ "dev": true }, "nise": { - "version": "1.4.6", - "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.6.tgz", - "integrity": "sha512-1GedetLKzmqmgwabuMSqPsT7oumdR77SBpDfNNJhADRIeA3LN/2RVqR4fFqwvzhAqcTef6PPCzQwITE/YQ8S8A==", + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.7.tgz", + "integrity": "sha512-5cxvo/pEAEHBX5s0zl+zd96BvHHuua/zttIHeQuTWSDjGrWsEHamty8xbZNfocC+fx7NMrle7XHvvxtFxobIZQ==", "dev": true, "requires": { - "@sinonjs/formatio": "3.0.0", + "@sinonjs/formatio": "^3.1.0", "just-extend": "^3.0.0", "lolex": "^2.3.2", "path-to-regexp": "^1.7.0", @@ -9226,12 +9239,12 @@ }, "dependencies": { "@sinonjs/formatio": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.0.0.tgz", - "integrity": "sha512-vdjoYLDptCgvtJs57ULshak3iJe4NW3sJ3g36xVDGff5AE8P30S6A093EIEPjdi2noGhfuNOEkbxt3J3awFW1w==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.1.0.tgz", + "integrity": "sha512-ZAR2bPHOl4Xg6eklUGpsdiIJ4+J1SNag1DHHrG/73Uz/nVwXqjgUtRPLoS+aVyieN9cSbc0E4LsU984tWcDyNg==", "dev": true, "requires": { - "@sinonjs/samsam": "2.1.0" + "@sinonjs/samsam": "^2 || ^3" } }, "isarray": { @@ -9317,9 +9330,9 @@ } }, "node-releases": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.0.5.tgz", - "integrity": "sha512-Ky7q0BO1BBkG/rQz6PkEZ59rwo+aSfhczHP1wwq8IowoVdN/FpiP7qp0XW0P2+BVCWe5fQUBozdbVd54q1RbCQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.1.tgz", + "integrity": "sha512-2UXrBr6gvaebo5TNF84C66qyJJ6r0kxBObgZIDX3D3/mt1ADKiHux3NJPWisq0wxvJJdkjECH+9IIKYViKj71Q==", "requires": { "semver": "^5.3.0" } @@ -9915,7 +9928,7 @@ }, "path-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", + "resolved": "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", "integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=" }, "path-dirname": { @@ -12189,9 +12202,9 @@ "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "progress": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz", - "integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==" + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" }, "promise-inflight": { "version": "1.0.1", @@ -12599,7 +12612,7 @@ }, "regexpu-core": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz", "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=", "requires": { "regenerate": "^1.2.1", @@ -12802,7 +12815,7 @@ }, "rgba-regex": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "resolved": "http://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" }, "rimraf": { @@ -13368,9 +13381,9 @@ "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "spdx-correct": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.2.tgz", - "integrity": "sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", + "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -13405,7 +13418,7 @@ }, "sprintf-js": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": { @@ -13827,9 +13840,9 @@ } }, "terser": { - "version": "3.10.13", - "resolved": "https://registry.npmjs.org/terser/-/terser-3.10.13.tgz", - "integrity": "sha512-AgdHqw2leuADuHiP4Kkk1i40m10RMGguPaiCw6MVD6jtDR7N94zohGqAS2lkDXIS7eIkGit3ief3eQGh/Md+GQ==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-3.11.0.tgz", + "integrity": "sha512-5iLMdhEPIq3zFWskpmbzmKwMQixKmTYwY3Ox9pjtSklBLnHiuQ0GKJLhL1HSYtyffHM3/lDIFBnb82m9D7ewwQ==", "requires": { "commander": "~2.17.1", "source-map": "~0.6.1", @@ -14219,7 +14232,7 @@ }, "tty-browserify": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "resolved": "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" }, "tunnel-agent": { @@ -14518,7 +14531,7 @@ }, "union": { "version": "0.4.6", - "resolved": "https://registry.npmjs.org/union/-/union-0.4.6.tgz", + "resolved": "http://registry.npmjs.org/union/-/union-0.4.6.tgz", "integrity": "sha1-GY+9rrolTniLDvy2MLwR8kopWeA=", "requires": { "qs": "~2.3.3" @@ -14841,7 +14854,7 @@ }, "vm-browserify": { "version": "0.0.4", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "resolved": "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", "requires": { "indexof": "0.0.1" @@ -14918,14 +14931,14 @@ }, "dependencies": { "@types/node": { - "version": "10.12.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.11.tgz", - "integrity": "sha512-3iIOhNiPGTdcUNVCv9e5G7GotfvJJe2pc9w2UgDXlUwnxSZ3RgcUocIU+xYm+rTU54jIKih998QE4dMOyMN1NQ==" + "version": "10.12.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.12.tgz", + "integrity": "sha512-Pr+6JRiKkfsFvmU/LK68oBRCQeEg36TyAbPhc2xpez24OOZZCuoIhWGTd39VZy6nGafSbxzGouFPTFD/rR1A0A==" }, "@types/webpack": { - "version": "4.4.20", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.4.20.tgz", - "integrity": "sha512-uSVhicDIkh2Phkn0L49eZQb4Ory5q9opiqhjxQGu+onh9mbPEhSF5OuA68dmH240VN1+mavQTmkQ1hqnKZB0gA==", + "version": "4.4.21", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.4.21.tgz", + "integrity": "sha512-QJfA6GeLSlnx8yyrEQ7fNLYj1MYKzqHlo89skOwnKG4nblpwAyXe9Gcm/eTz/BpX0vBEtiehrSv9b/W9TMkhKg==", "requires": { "@types/anymatch": "*", "@types/node": "*", @@ -15023,9 +15036,9 @@ } }, "whatwg-fetch": { - "version": "2.0.4", - "resolved": "http://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz", - "integrity": "sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==" + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz", + "integrity": "sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q==" }, "which": { "version": "1.3.1", diff --git a/package.json b/package.json index 3020055a..c88e962f 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "sinon": "~4.5.0" }, "dependencies": { - "@dojo/webpack-contrib": "file://./dojo-webpack-contrib-5.0.0-alpha.3.tgz", + "@dojo/webpack-contrib": "next", "brotli-webpack-plugin": "1.0.0", "chalk": "2.4.1", "clean-webpack-plugin": "1.0.0", From ad34ac2b628430140f5f324fed998033a6bdfa93 Mon Sep 17 00:00:00 2001 From: Anthony Gubler Date: Tue, 11 Dec 2018 13:53:54 +0000 Subject: [PATCH 4/5] fix test --- tests/unit/main.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/unit/main.ts b/tests/unit/main.ts index 1546d610..eb43e282 100644 --- a/tests/unit/main.ts +++ b/tests/unit/main.ts @@ -728,7 +728,6 @@ describe('command', () => { copy: { path: join(basePath, 'dist/dev/src'), files: [ - './bootstrap.js', './base.config.js', './base.test.config.js', './dev.config.js', From b54af6dd44c78090d518ebfd9e3e47b90ae2debe Mon Sep 17 00:00:00 2001 From: Anthony Gubler Date: Tue, 11 Dec 2018 14:20:36 +0000 Subject: [PATCH 5/5] Fix the entry name --- src/dev.config.ts | 6 +++--- src/dist.config.ts | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/dev.config.ts b/src/dev.config.ts index d6ea7502..e68e12f0 100644 --- a/src/dev.config.ts +++ b/src/dev.config.ts @@ -22,7 +22,7 @@ function webpackConfig(args: any): webpack.Configuration { const outputPath = path.join(output!.path!, 'dev'); const assetsDir = path.join(process.cwd(), 'assets'); const assetsDirExists = fs.existsSync(assetsDir); - const entry = args.singleBundle ? mainEntry : bootstrapEntry; + const entryName = args.singleBundle ? mainEntry : bootstrapEntry; config.plugins = [ ...plugins!, @@ -30,7 +30,7 @@ function webpackConfig(args: any): webpack.Configuration { new ManifestPlugin(), new HtmlWebpackPlugin({ inject: true, - chunks: [entry], + chunks: [entryName], meta: manifest ? { 'mobile-web-app-capable': 'yes' } : {}, template: 'src/index.html' }), @@ -77,7 +77,7 @@ function webpackConfig(args: any): webpack.Configuration { if (typeof serviceWorker !== 'string') { const entry = config.entry as any; - entry[entry].push('@dojo/webpack-contrib/service-worker-plugin/service-worker-entry'); + entry[entryName].push('@dojo/webpack-contrib/service-worker-plugin/service-worker-entry'); } } diff --git a/src/dist.config.ts b/src/dist.config.ts index 7d4457db..2f0d19e5 100644 --- a/src/dist.config.ts +++ b/src/dist.config.ts @@ -36,7 +36,7 @@ function webpackConfig(args: any): webpack.Configuration { const outputPath = path.join(output!.path!, 'dist'); const assetsDir = path.join(process.cwd(), 'assets'); const assetsDirExists = fs.existsSync(assetsDir); - const entry = args.singleBundle ? mainEntry : bootstrapEntry; + const entryName = args.singleBundle ? mainEntry : bootstrapEntry; config.mode = 'production'; @@ -66,7 +66,7 @@ function webpackConfig(args: any): webpack.Configuration { }), new HtmlWebpackPlugin({ inject: true, - chunks: [entry], + chunks: [entryName], meta: manifest ? { 'mobile-web-app-capable': 'yes' } : {}, template: 'src/index.html' }), @@ -90,7 +90,7 @@ function webpackConfig(args: any): webpack.Configuration { if (typeof serviceWorker !== 'string') { const entry = config.entry as any; - entry[entry].push('@dojo/webpack-contrib/service-worker-plugin/service-worker-entry'); + entry[entryName].push('@dojo/webpack-contrib/service-worker-plugin/service-worker-entry'); } }