Skip to content

Commit

Permalink
feat: update webpack dependencies
Browse files Browse the repository at this point in the history
- Update versions of terser-webpack-plugin, marked, and copy-webpack-plugin
- Replaced uglify with terser for js minification in fsweb. The Uglify webpack plugin is no longer actively maintained.

Test:
- cd packages/pirateship
- yarn run init:web --env shopify
- cd web
- yarn run start-prod
- Server should listen to localhost:8080
- Inspect the bundle and verify it's minified and that the application is functional
  • Loading branch information
bweissbart committed Dec 17, 2019
1 parent 64b15df commit 8d86721
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 120 deletions.
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,9 @@
},
"resolutions": {
"handlebars": "^4.5.3",
"https-proxy-agent": "^2.2.3"
"https-proxy-agent": "^2.2.3",
"terser-webpack-plugin": "^1.4.2",
"marked": "^0.7.0"
},
"workspaces": [
"packages/*"
Expand Down
7 changes: 4 additions & 3 deletions packages/fsweb/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
"clean": "rm -rf ./build/static && rm -f ./build/index.html && rm -f ./build/service-worker.js && rm -f ./build/asset-manifest.json",
"build": "webpack --mode production",
"build:size": "webpack --json | webpack-bundle-size-analyzer",
"start": "webpack-dev-server -d --config ./webpack.config.js --mode development --inline --hot"
"start": "webpack-dev-server -d --config ./webpack.config.js --mode development --inline --hot",
"start-prod": "webpack-dev-server -d --config ./webpack.config.js --mode production"
},
"dependencies": {
"@babel/core": "^7.4.5",
Expand All @@ -17,7 +18,7 @@
"babel-loader": "^8.0.0",
"babel-plugin-react-native-web": "^0.8.4",
"cache-loader": "^1.2.2",
"copy-webpack-plugin": "^5.0.0",
"copy-webpack-plugin": "^5.1.0",
"css-loader": "^1.0.0",
"extract-text-webpack-plugin": "4.0.0-beta.0",
"file-loader": "^1.1.11",
Expand All @@ -30,8 +31,8 @@
"react-native-web-image-loader": "^0.0.6",
"style-loader": "^0.23.0",
"svgs": "^4.1.0",
"terser-webpack-plugin": "^1.4.2",
"ts-loader": "^4.3.0",
"uglifyjs-webpack-plugin": "^1.3.0",
"webpack": "^4.40.1",
"webpack-bundle-size-analyzer": "^2.7.0",
"webpack-cli": "^3.0.8",
Expand Down
30 changes: 19 additions & 11 deletions packages/fsweb/webpack.config.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
const webpack = require('webpack');
const path = require("path");
const autoprefixer = require('autoprefixer');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
const TerserJsPlugin = require('terser-webpack-plugin');
const ManifestPlugin = require('webpack-manifest-plugin');
const { GenerateSW } = require('workbox-webpack-plugin');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
Expand Down Expand Up @@ -185,23 +185,31 @@ module.exports = function(env, options) {
!options.json && console.log('Webpacking for Production');
globalConfig.mode = 'production';
globalConfig.output.filename = 'static/js/bundle.[hash:8].js';
globalConfig.optimization = {
minimize: true,
minimizer: [
new TerserJsPlugin({
test: /.m?[jt]sx?/,
parallel: 4,
terserOptions: {
mangle: true,
compress: true,
output: {
beautify: false,
comments: false
}
}
})
]
};
globalConfig.plugins = globalConfig.plugins.concat([
new ExtractTextPlugin({
filename: 'static/css/[name].[hash:8].css'
}),
new webpack.DefinePlugin({
__DEV__: env.enableDev ? true : false,
__DEV__: env && env.enableDev ? true : false,
__DEFAULT_ENV__: defaultEnv
}),
new UglifyJsPlugin({
test: /.m?[jt]sx?/,
parallel: 4,
extractComments: () => false,
uglifyOptions: {
mangle: true,
compress: true
}
}),
new HtmlWebpackPlugin({
inject: true,
template: path.resolve(__dirname, 'public', 'index.html'),
Expand Down
129 changes: 24 additions & 105 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5281,45 +5281,6 @@ [email protected]:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==

cacache@^10.0.4:
version "10.0.4"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460"
integrity sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==
dependencies:
bluebird "^3.5.1"
chownr "^1.0.1"
glob "^7.1.2"
graceful-fs "^4.1.11"
lru-cache "^4.1.1"
mississippi "^2.0.0"
mkdirp "^0.5.1"
move-concurrently "^1.0.1"
promise-inflight "^1.0.1"
rimraf "^2.6.2"
ssri "^5.2.4"
unique-filename "^1.1.0"
y18n "^4.0.0"

cacache@^11.3.3:
version "11.3.3"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==
dependencies:
bluebird "^3.5.5"
chownr "^1.1.1"
figgy-pudding "^3.5.1"
glob "^7.1.4"
graceful-fs "^4.1.15"
lru-cache "^5.1.1"
mississippi "^3.0.0"
mkdirp "^0.5.1"
move-concurrently "^1.0.1"
promise-inflight "^1.0.1"
rimraf "^2.6.3"
ssri "^6.0.1"
unique-filename "^1.1.1"
y18n "^4.0.0"

cacache@^12.0.0, cacache@^12.0.3:
version "12.0.3"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390"
Expand Down Expand Up @@ -5587,7 +5548,7 @@ chokidar@^2.1.8:
optionalDependencies:
fsevents "^1.2.7"

chownr@^1.0.1, chownr@^1.1.1:
chownr@^1.1.1:
version "1.1.2"
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6"
integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A==
Expand Down Expand Up @@ -6096,22 +6057,22 @@ copy-to-clipboard@^3.0.8:
dependencies:
toggle-selection "^1.0.6"

copy-webpack-plugin@^5.0.0:
version "5.0.4"
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz#c78126f604e24f194c6ec2f43a64e232b5d43655"
integrity sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg==
copy-webpack-plugin@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.1.0.tgz#cd6bb506ffbbe830bf9ecb3d15cc4946b2edd011"
integrity sha512-0sNrj/Sx7/cWA0k7CVQa0sdA/dzCybqSb0+GbhKuQdOlAvnAwgC2osmbAFOAfha7ZXnreoQmCq5oDjG3gP4VHw==
dependencies:
cacache "^11.3.3"
cacache "^12.0.3"
find-cache-dir "^2.1.0"
glob-parent "^3.1.0"
globby "^7.1.1"
is-glob "^4.0.1"
loader-utils "^1.2.3"
minimatch "^3.0.4"
normalize-path "^3.0.0"
p-limit "^2.2.0"
p-limit "^2.2.1"
schema-utils "^1.0.0"
serialize-javascript "^1.7.0"
serialize-javascript "^2.1.2"
webpack-log "^2.0.0"

core-js-compat@^3.1.1:
Expand Down Expand Up @@ -10735,7 +10696,7 @@ lower-case@^1.1.1:
resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw=

lru-cache@^4.0.1, lru-cache@^4.1.1:
lru-cache@^4.0.1:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
Expand Down Expand Up @@ -10872,12 +10833,7 @@ markdownlint@~0.14.1:
dependencies:
markdown-it "8.4.2"

marked@^0.3.19:
version "0.3.19"
resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790"
integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==

marked@^0.7.0:
marked@^0.3.19, marked@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/marked/-/marked-0.7.0.tgz#b64201f051d271b1edc10a04d1ae9b74bb8e5c0e"
integrity sha512-c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==
Expand Down Expand Up @@ -11529,22 +11485,6 @@ minizlib@^1.2.1:
dependencies:
minipass "^2.2.1"

mississippi@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f"
integrity sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==
dependencies:
concat-stream "^1.5.0"
duplexify "^3.4.2"
end-of-stream "^1.1.0"
flush-write-stream "^1.0.0"
from2 "^2.1.0"
parallel-transform "^1.1.0"
pump "^2.0.1"
pumpify "^1.3.3"
stream-each "^1.1.0"
through2 "^2.0.0"

mississippi@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
Expand Down Expand Up @@ -12337,7 +12277,7 @@ p-limit@^2.0.0:
dependencies:
p-try "^2.0.0"

p-limit@^2.2.0:
p-limit@^2.2.0, p-limit@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537"
integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==
Expand Down Expand Up @@ -13044,7 +12984,7 @@ public-encrypt@^4.0.0:
randombytes "^2.0.1"
safe-buffer "^5.1.2"

pump@^2.0.0, pump@^2.0.1:
pump@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
Expand Down Expand Up @@ -14519,10 +14459,10 @@ serialize-error@^2.1.0:
resolved "https://registry.yarnpkg.com/serialize-error/-/serialize-error-2.1.0.tgz#50b679d5635cdf84667bdc8e59af4e5b81d5f60a"
integrity sha1-ULZ51WNc34Rme9yOWa9OW4HV9go=

serialize-javascript@^1.4.0, serialize-javascript@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65"
integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==
serialize-javascript@^2.1.1, serialize-javascript@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61"
integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==

serve-favicon@^2.5.0:
version "2.5.0"
Expand Down Expand Up @@ -14957,13 +14897,6 @@ ssr-window@^1.0.1:
resolved "https://registry.yarnpkg.com/ssr-window/-/ssr-window-1.0.1.tgz#30752a6a4666e7767f0b7e6aa6fc2fdbd0d9b369"
integrity sha512-dgFqB+f00LJTEgb6UXhx0h+SrG50LJvti2yMKMqAgzfUmUXZrLSv2fjULF7AWGwK25EXu8+smLR3jYsJQChPsg==

ssri@^5.2.4:
version "5.3.0"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06"
integrity sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==
dependencies:
safe-buffer "^5.1.1"

ssri@^6.0.0, ssri@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
Expand Down Expand Up @@ -15406,16 +15339,16 @@ term-size@^1.2.0:
dependencies:
execa "^0.7.0"

terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4"
integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg==
terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.4.1, terser-webpack-plugin@^1.4.2:
version "1.4.2"
resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.2.tgz#e23c0d554587d1f473bd0cf68627720e733890a4"
integrity sha512-fdEb91kR2l+BVgES77N/NTXWZlpX6vX+pYPjnX5grcDYBF2CMnzJiXX4NNlna4l04lvCW39lZ+O/jSvUhHH/ew==
dependencies:
cacache "^12.0.2"
find-cache-dir "^2.1.0"
is-wsl "^1.1.0"
schema-utils "^1.0.0"
serialize-javascript "^1.7.0"
serialize-javascript "^2.1.1"
source-map "^0.6.1"
terser "^4.1.2"
webpack-sources "^1.4.0"
Expand Down Expand Up @@ -15853,7 +15786,7 @@ uc.micro@^1.0.1, uc.micro@^1.0.5:
resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac"
integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==

uglify-es@^3.1.9, uglify-es@^3.3.4:
uglify-es@^3.1.9:
version "3.3.9"
resolved "https://registry.yarnpkg.com/uglify-es/-/uglify-es-3.3.9.tgz#0c1c4f0700bed8dbc124cdb304d2592ca203e677"
integrity sha512-r+MU0rfv4L/0eeW3xZrd16t4NZfK8Ld4SWVglYBb7ez5uXFWHuVRs6xCTrf1yirs9a4j4Y27nn7SRfO6v67XsQ==
Expand All @@ -15877,20 +15810,6 @@ uglify-js@^3.1.4, uglify-js@^3.5.1:
commander "~2.20.0"
source-map "~0.6.1"

uglifyjs-webpack-plugin@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.3.0.tgz#75f548160858163a08643e086d5fefe18a5d67de"
integrity sha512-ovHIch0AMlxjD/97j9AYovZxG5wnHOPkL7T1GKochBADp/Zwc44pEWNqpKl1Loupp1WhFg7SlYmHZRUfdAacgw==
dependencies:
cacache "^10.0.4"
find-cache-dir "^1.0.0"
schema-utils "^0.4.5"
serialize-javascript "^1.4.0"
source-map "^0.6.1"
uglify-es "^3.3.4"
webpack-sources "^1.1.0"
worker-farm "^1.5.2"

[email protected]:
version "0.0.6"
resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
Expand Down Expand Up @@ -15949,7 +15868,7 @@ union-value@^1.0.0:
is-extendable "^0.1.1"
set-value "^2.0.1"

unique-filename@^1.1.0, unique-filename@^1.1.1:
unique-filename@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
Expand Down Expand Up @@ -16621,7 +16540,7 @@ workbox-window@^4.3.1:
dependencies:
workbox-core "^4.3.1"

worker-farm@^1.5.2, worker-farm@^1.7.0:
worker-farm@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
Expand Down

0 comments on commit 8d86721

Please sign in to comment.