removed lodash and added lodash-es dependency: now tree shaking on lodash is supported (IMPORTANT: devDependency @rollup/plugin-commonjs need to be at version 11.0.2 to make things work correctly); updated packages

This commit is contained in:
Roberto Tonino 2020-06-03 20:49:19 +02:00
parent da657bbdcc
commit db685df7c2
7 changed files with 45 additions and 96 deletions

101
package-lock.json generated
View File

@ -40,15 +40,13 @@
} }
}, },
"@rollup/plugin-commonjs": { "@rollup/plugin-commonjs": {
"version": "11.1.0", "version": "11.0.2",
"resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz", "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.0.2.tgz",
"integrity": "sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA==", "integrity": "sha512-MPYGZr0qdbV5zZj8/2AuomVpnRVXRU5XKXb3HVniwRoRCreGlf5kOE081isNWeiLIi6IYkwTX9zE0/c7V8g81g==",
"dev": true, "dev": true,
"requires": { "requires": {
"@rollup/pluginutils": "^3.0.8", "@rollup/pluginutils": "^3.0.0",
"commondir": "^1.0.1",
"estree-walker": "^1.0.1", "estree-walker": "^1.0.1",
"glob": "^7.1.2",
"is-reference": "^1.1.2", "is-reference": "^1.1.2",
"magic-string": "^0.25.2", "magic-string": "^0.25.2",
"resolve": "^1.11.0" "resolve": "^1.11.0"
@ -184,12 +182,6 @@
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true "dev": true
}, },
"commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
"integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
"dev": true
},
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@ -269,32 +261,12 @@
"integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
"dev": true "dev": true
}, },
"fs.realpath": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"function-bind": { "function-bind": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true "dev": true
}, },
"glob": {
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
},
"graceful-fs": { "graceful-fs": {
"version": "4.2.4", "version": "4.2.4",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
@ -328,22 +300,6 @@
"integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==",
"dev": true "dev": true
}, },
"inflight": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
"is-arrayish": { "is-arrayish": {
"version": "0.2.1", "version": "0.2.1",
"resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
@ -369,12 +325,20 @@
"dev": true "dev": true
}, },
"is-reference": { "is-reference": {
"version": "1.1.4", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.4.tgz", "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.0.tgz",
"integrity": "sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw==", "integrity": "sha512-ZVxq+5TkOx6GQdnoMm2aRdCKADdcrOWXLGzGT+vIA8DMpqEJaRk5AL1bS80zJ2bjHunVmjdzfCt0e4BymIEqKQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/estree": "0.0.39" "@types/estree": "0.0.44"
},
"dependencies": {
"@types/estree": {
"version": "0.0.44",
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.44.tgz",
"integrity": "sha512-iaIVzr+w2ZJ5HkidlZ3EJM8VTZb2MJLCjw3V+505yVts0gRC4UMvjw0d1HPtGqI/HQC/KdsYtayfzl+AXY2R8g==",
"dev": true
}
} }
}, },
"is-regex": { "is-regex": {
@ -451,10 +415,10 @@
"strip-bom": "^3.0.0" "strip-bom": "^3.0.0"
} }
}, },
"lodash": { "lodash-es": {
"version": "4.17.15", "version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" "integrity": "sha512-rlrc3yU3+JNOpZ9zj5pQtxnx2THmvRykwL4Xlxoa8I9lHBlVbbyPhgyPMioxVZ4NqyxaVVtaJnzsyOidQIhyyQ=="
}, },
"magic-string": { "magic-string": {
"version": "0.25.7", "version": "0.25.7",
@ -545,15 +509,6 @@
"object-keys": "^1.0.11" "object-keys": "^1.0.11"
} }
}, },
"once": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
"wrappy": "1"
}
},
"parse-json": { "parse-json": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
@ -564,12 +519,6 @@
"json-parse-better-errors": "^1.0.1" "json-parse-better-errors": "^1.0.1"
} }
}, },
"path-is-absolute": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"path-key": { "path-key": {
"version": "2.0.1", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
@ -848,9 +797,9 @@
} }
}, },
"toastify-js": { "toastify-js": {
"version": "1.7.0", "version": "1.8.0",
"resolved": "https://registry.npmjs.org/toastify-js/-/toastify-js-1.7.0.tgz", "resolved": "https://registry.npmjs.org/toastify-js/-/toastify-js-1.8.0.tgz",
"integrity": "sha512-GmPy4zJ/ulCfmCHlfCtgcB+K2xhx2AXW3T/ZZOSjyjaIGevhz+uvR8HSCTay/wBq4tt2mUnBqlObP1sSWGlsnQ==" "integrity": "sha512-0Zf1sQ6Cs5RrRRDox00+6XdgS2tOtn01P9zhxDcJIpDS0KbXg/dFE1F0Mo6b/o63oJsxIhleeZv9LeZb31yKSg=="
}, },
"validate-npm-package-license": { "validate-npm-package-license": {
"version": "3.0.4", "version": "3.0.4",
@ -875,12 +824,6 @@
"requires": { "requires": {
"isexe": "^2.0.0" "isexe": "^2.0.0"
} }
},
"wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
} }
} }
} }

View File

@ -15,13 +15,13 @@
}, },
"dependencies": { "dependencies": {
"jquery": "^3.5.1", "jquery": "^3.5.1",
"lodash": "^4.17.15", "lodash-es": "^4.17.15",
"toastify-js": "^1.7.0", "toastify-js": "^1.8.0",
"vue": "^2.6.11" "vue": "^2.6.11"
}, },
"devDependencies": { "devDependencies": {
"@rollup/plugin-alias": "^3.1.0", "@rollup/plugin-alias": "^3.1.0",
"@rollup/plugin-commonjs": "^11.0.1", "@rollup/plugin-commonjs": "^11.0.2",
"@rollup/plugin-node-resolve": "^7.0.0", "@rollup/plugin-node-resolve": "^7.0.0",
"@rollup/plugin-replace": "^2.3.2", "@rollup/plugin-replace": "^2.3.2",
"npm-run-all": "^4.1.5", "npm-run-all": "^4.1.5",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -34,6 +34,6 @@ export default {
resolve(), // Tells Rollup how to find imported modules in node_modules resolve(), // Tells Rollup how to find imported modules in node_modules
commonjs(), // Converts imported modules to ES modules, if necessary commonjs(), // Converts imported modules to ES modules, if necessary
production && terser(), // Minify, but only in production production && terser(), // Minify, but only in production
production && analyze({ showExports: true }) // Show useful information about bundles, only in production production && analyze({ showExports: true, limit: 15 }) // Show useful information about bundles, only in production
] ]
} }

View File

@ -1,4 +1,4 @@
import _ from 'lodash' import { isEmpty, orderBy } from 'lodash-es'
import Vue from 'vue' import Vue from 'vue'
import { socket } from '../socket.js' import { socket } from '../socket.js'
import Downloads from '../downloads.js' import Downloads from '../downloads.js'
@ -73,7 +73,7 @@ const ArtistTab = new Vue({
{ title: 'Release Date', sortKey: 'release_date' }, { title: 'Release Date', sortKey: 'release_date' },
{ title: '', width: '32px' } { title: '', width: '32px' }
] ]
if (_.isEmpty(releases)) { if (isEmpty(releases)) {
this.body = null this.body = null
} else { } else {
this.body = releases this.body = releases
@ -82,7 +82,7 @@ const ArtistTab = new Vue({
}, },
computed: { computed: {
showTable() { showTable() {
if (this.body) return _.orderBy(this.body[this.currentTab], this.sortKey, this.sortOrder) if (this.body) return orderBy(this.body[this.currentTab], this.sortKey, this.sortOrder)
else return [] else return []
} }
}, },

View File

@ -1,4 +1,4 @@
import _ from 'lodash' import { isEmpty } from 'lodash-es'
import Vue from 'vue' import Vue from 'vue'
import { socket } from '../socket.js' import { socket } from '../socket.js'
import { showView } from '../tabs.js' import { showView } from '../tabs.js'
@ -79,7 +79,7 @@ const TracklistTab = new Vue({
this.release_date = release_date.substring(0, 10) this.release_date = release_date.substring(0, 10)
this.image = cover_xl this.image = cover_xl
if (_.isEmpty(albumTracks)) { if (isEmpty(albumTracks)) {
this.body = null this.body = null
} else { } else {
this.body = albumTracks this.body = albumTracks
@ -103,7 +103,7 @@ const TracklistTab = new Vue({
this.release_date = creation_date.substring(0, 10) this.release_date = creation_date.substring(0, 10)
this.metadata = `by ${creatorName}${numberOfTracks} songs` this.metadata = `by ${creatorName}${numberOfTracks} songs`
if (_.isEmpty(playlistTracks)) { if (isEmpty(playlistTracks)) {
this.body = null this.body = null
} else { } else {
this.body = playlistTracks this.body = playlistTracks
@ -129,7 +129,7 @@ const TracklistTab = new Vue({
this.release_date = '' this.release_date = ''
this.metadata = `by ${ownerName}${numberOfTracks} songs` this.metadata = `by ${ownerName}${numberOfTracks} songs`
if (_.isEmpty(playlistTracks)) { if (isEmpty(playlistTracks)) {
this.body = null this.body = null
} else { } else {
this.body = playlistTracks this.body = playlistTracks