Skip to content

Commit 8405972

Browse files
authored
[MOB-9520]: enable tree-shaking (#451)
* enable tree-shaking * add analyzer commands * newline * shuffle
1 parent 794e922 commit 8405972

File tree

5 files changed

+93
-7
lines changed

5 files changed

+93
-7
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,5 @@ log
1010
*.log
1111
results
1212
browserstack.json
13-
.DS_Store
13+
.DS_Store
14+
stats.json

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"author": "Iterable",
1414
"license": "MIT",
1515
"private": false,
16+
"sideEffects": false,
1617
"keywords": [
1718
"javascript",
1819
"iterable sdk",

react-example/package.json

+5-2
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@
2525
"format": "prettier --write \"src/**/*.{ts,tsx}\" \"src/**/*.js\"",
2626
"typecheck": "tsc --noEmit true --emitDeclarationOnly false",
2727
"lint": "eslint . --ext '.ts,.tsx'",
28-
"cypress": "cypress open"
28+
"cypress": "cypress open",
29+
"bundle-stats": "webpack --profile --json > stats.json",
30+
"webpack-analyze": "yarn bundle-stats && webpack-bundle-analyzer stats.json"
2931
},
3032
"devDependencies": {
3133
"@babel/core": "^7.5.0",
@@ -61,7 +63,8 @@
6163
"typescript": "^4.6.4",
6264
"webpack": "^5.76.0",
6365
"webpack-cli": "^4.9.1",
64-
"webpack-dev-server": "^4.7.3"
66+
"webpack-dev-server": "^4.7.3",
67+
"webpack-bundle-analyzer": "^4.10.2"
6568
},
6669
"dependencies": {
6770
"@iterable/web-sdk": "../",

react-example/yarn.lock

+84-3
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@
479479
resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
480480
integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
481481

482-
"@discoveryjs/json-ext@^0.5.0":
482+
"@discoveryjs/json-ext@0.5.7", "@discoveryjs/json-ext@^0.5.0":
483483
version "0.5.7"
484484
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
485485
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
@@ -814,6 +814,11 @@
814814
dependencies:
815815
playwright "1.44.1"
816816

817+
"@polka/url@^1.0.0-next.24":
818+
version "1.0.0-next.25"
819+
resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.25.tgz#f077fdc0b5d0078d30893396ff4827a13f99e817"
820+
integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==
821+
817822
"@remix-run/[email protected]":
818823
version "1.16.1"
819824
resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.16.1.tgz#73db3c48b975eeb06d0006481bde4f5f2d17d1cd"
@@ -1386,11 +1391,23 @@ acorn-walk@^7.1.1:
13861391
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
13871392
integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
13881393

1394+
acorn-walk@^8.0.0:
1395+
version "8.3.4"
1396+
resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7"
1397+
integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==
1398+
dependencies:
1399+
acorn "^8.11.0"
1400+
13891401
acorn@^7.1.1, acorn@^7.4.0:
13901402
version "7.4.1"
13911403
resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
13921404
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
13931405

1406+
acorn@^8.0.4, acorn@^8.11.0:
1407+
version "8.12.1"
1408+
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.12.1.tgz#71616bdccbe25e27a54439e0046e89ca76df2248"
1409+
integrity sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==
1410+
13941411
acorn@^8.2.4, acorn@^8.7.1, acorn@^8.8.2:
13951412
version "8.11.3"
13961413
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a"
@@ -1994,7 +2011,7 @@ commander@^2.20.0:
19942011
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
19952012
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
19962013

1997-
commander@^7.0.0:
2014+
commander@^7.0.0, commander@^7.2.0:
19982015
version "7.2.0"
19992016
resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
20002017
integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
@@ -2225,6 +2242,11 @@ date-fns@^2.16.1:
22252242
dependencies:
22262243
"@babel/runtime" "^7.21.0"
22272244

2245+
debounce@^1.2.1:
2246+
version "1.2.1"
2247+
resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5"
2248+
integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==
2249+
22282250
22292251
version "2.6.9"
22302252
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
@@ -2409,6 +2431,11 @@ dotenv@^10.0.0:
24092431
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81"
24102432
integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==
24112433

2434+
duplexer@^0.1.2:
2435+
version "0.1.2"
2436+
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
2437+
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
2438+
24122439
24132440
version "1.1.1"
24142441
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -3193,6 +3220,13 @@ graceful-fs@^4.1.2, graceful-fs@^4.2.11, graceful-fs@^4.2.4, graceful-fs@^4.2.6,
31933220
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
31943221
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
31953222

3223+
gzip-size@^6.0.0:
3224+
version "6.0.0"
3225+
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462"
3226+
integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==
3227+
dependencies:
3228+
duplexer "^0.1.2"
3229+
31963230
handle-thing@^2.0.0:
31973231
version "2.0.1"
31983232
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
@@ -3278,7 +3312,7 @@ html-entities@^2.3.2:
32783312
resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.5.2.tgz#201a3cf95d3a15be7099521620d19dfb4f65359f"
32793313
integrity sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==
32803314

3281-
html-escaper@^2.0.0:
3315+
html-escaper@^2.0.0, html-escaper@^2.0.2:
32823316
version "2.0.2"
32833317
resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
32843318
integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
@@ -4494,6 +4528,11 @@ minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
44944528
dependencies:
44954529
brace-expansion "^1.1.7"
44964530

4531+
mrmime@^2.0.0:
4532+
version "2.0.0"
4533+
resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.0.tgz#151082a6e06e59a9a39b46b3e14d5cfe92b3abb4"
4534+
integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==
4535+
44974536
44984537
version "2.0.0"
44994538
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -4691,6 +4730,11 @@ open@^8.0.9:
46914730
is-docker "^2.1.1"
46924731
is-wsl "^2.2.0"
46934732

4733+
opener@^1.5.2:
4734+
version "1.5.2"
4735+
resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
4736+
integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
4737+
46944738
optionator@^0.9.1:
46954739
version "0.9.4"
46964740
resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734"
@@ -5481,6 +5525,15 @@ signal-exit@^3.0.2, signal-exit@^3.0.3:
54815525
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
54825526
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
54835527

5528+
sirv@^2.0.3:
5529+
version "2.0.4"
5530+
resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0"
5531+
integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==
5532+
dependencies:
5533+
"@polka/url" "^1.0.0-next.24"
5534+
mrmime "^2.0.0"
5535+
totalist "^3.0.0"
5536+
54845537
sisteransi@^1.0.5:
54855538
version "1.0.5"
54865539
resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
@@ -5842,6 +5895,11 @@ toposort@^2.0.2:
58425895
resolved "https://registry.yarnpkg.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330"
58435896
integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==
58445897

5898+
totalist@^3.0.0:
5899+
version "3.0.1"
5900+
resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8"
5901+
integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==
5902+
58455903
tough-cookie@^4.0.0:
58465904
version "4.1.4"
58475905
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.4.tgz#945f1461b45b5a8c76821c33ea49c3ac192c1b36"
@@ -6119,6 +6177,24 @@ webidl-conversions@^6.1.0:
61196177
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514"
61206178
integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==
61216179

6180+
webpack-bundle-analyzer@^4.10.2:
6181+
version "4.10.2"
6182+
resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz#633af2862c213730be3dbdf40456db171b60d5bd"
6183+
integrity sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==
6184+
dependencies:
6185+
"@discoveryjs/json-ext" "0.5.7"
6186+
acorn "^8.0.4"
6187+
acorn-walk "^8.0.0"
6188+
commander "^7.2.0"
6189+
debounce "^1.2.1"
6190+
escape-string-regexp "^4.0.0"
6191+
gzip-size "^6.0.0"
6192+
html-escaper "^2.0.2"
6193+
opener "^1.5.2"
6194+
picocolors "^1.0.0"
6195+
sirv "^2.0.3"
6196+
ws "^7.3.1"
6197+
61226198
webpack-cli@^4.9.1:
61236199
version "4.10.0"
61246200
resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-4.10.0.tgz#37c1d69c8d85214c5a65e589378f53aec64dab31"
@@ -6354,6 +6430,11 @@ write-file-atomic@^3.0.0:
63546430
signal-exit "^3.0.2"
63556431
typedarray-to-buffer "^3.1.5"
63566432

6433+
ws@^7.3.1:
6434+
version "7.5.10"
6435+
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9"
6436+
integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==
6437+
63576438
ws@^7.4.6:
63586439
version "7.5.9"
63596440
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591"

src/inapp/inapp.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* eslint-disable consistent-return */
22
/* eslint-disable no-param-reassign */
33
/* eslint-disable no-redeclare */
4-
import { set } from 'lodash';
4+
import set from 'lodash/set';
55
import { throttle } from 'throttle-debounce';
66
import {
77
ABSOLUTE_DISMISS_BUTTON_ID,

0 commit comments

Comments
 (0)