Skip to content

Commit 0ba7a70

Browse files
authored
[MOB-11503] Fix eslint errors on vanilla JS sample app (#501)
* [MOB-11503] Fix lint formatting errors on axios post request params * [MOB-11503] Cleanup * [MOB-11503] Reorder imports * [MOB-11503] Support login email in env
1 parent 8a4c1c0 commit 0ba7a70

4 files changed

Lines changed: 72 additions & 39 deletions

File tree

example/.env.example

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,10 @@
22
# and add the API key and JWT Secret to it like so (and uncomment the keys):
33

44
# API_KEY=1234
5-
# JWT_SECRET=1234
5+
# JWT_SECRET=1234
6+
7+
# Convenience variable to automatically set the login email during testing.
8+
# LOGIN_EMAIL=email@email.com
9+
10+
# You can set the URL for the JWT generator here if desired
11+
# JWT_GENERATOR=http://localhost:5000/generate

example/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,7 @@
5454
"webpack-cli": "^4.9.1",
5555
"webpack-dev-server": "^4.7.3"
5656
},
57-
"dependencies": {}
57+
"dependencies": {
58+
"axios": "^1.9.0"
59+
}
5860
}

example/src/index.ts

Lines changed: 26 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,28 @@
1-
import './styles/index.css';
2-
import axios from 'axios';
31
import {
4-
initialize,
5-
getInAppMessages,
6-
updateUserEmail,
2+
DisplayOptions,
73
GenerateJWTPayload,
4+
getInAppMessages,
85
HandleLinks,
9-
DisplayOptions
6+
InAppMessage,
7+
initialize,
8+
updateUserEmail
9+
// eslint-disable-next-line import/no-unresolved
1010
} from '@iterable/web-sdk';
11+
import axios from 'axios';
12+
import './styles/index.css';
1113

1214
((): void => {
1315
/* set token in the SDK */
1416
const { setEmail, logout } = initialize(
1517
process.env.API_KEY || '',
16-
async ({ email }: GenerateJWTPayload) => {
17-
return axios
18+
async ({ email }: GenerateJWTPayload) =>
19+
axios
1820
.post(
19-
'http://localhost:5000/generate',
20-
{
21-
exp_minutes: 2,
22-
email,
23-
jwt_secret: process.env.JWT_SECRET
24-
},
25-
{
26-
headers: {
27-
'Content-Type': 'application/json'
28-
}
29-
}
21+
process.env.JWT_GENERATOR || 'http://localhost:5000/generate',
22+
{ exp_minutes: 2, email, jwt_secret: process.env.JWT_SECRET },
23+
{ headers: { 'Content-Type': 'application/json' } }
3024
)
31-
.then((response: any) => {
32-
return response.data?.token;
33-
});
34-
}
25+
.then((response: { data: { token: string } }) => response.data?.token)
3526
);
3627

3728
const {
@@ -50,7 +41,7 @@ import {
5041
rightOffset: '20px',
5142
topOffset: '20px',
5243
bottomOffset: '20px',
53-
handleLinks: HandleLinks['ExternalNewTab'],
44+
handleLinks: HandleLinks.ExternalNewTab,
5445
closeButton: {
5546
color: 'white'
5647
// position: 'top-right',
@@ -60,7 +51,7 @@ import {
6051
// topOffset: '6%'
6152
}
6253
},
63-
{ display: DisplayOptions['Deferred'] }
54+
{ display: DisplayOptions.Deferred }
6455
);
6556

6657
const startBtn = document.getElementById('start');
@@ -75,18 +66,23 @@ import {
7566
startBtn.setAttribute('aria-disabled', 'true');
7667
startBtn.className = 'disabled';
7768
request()
78-
.then((response: any) => {
79-
triggerDisplayMessages(response.data.inAppMessages);
80-
startBtn.innerText = `${response.data.inAppMessages.length} total messages retrieved!`;
81-
})
69+
.then(
70+
(response: { data: { inAppMessages: Partial<InAppMessage>[] } }) => {
71+
const { inAppMessages } = response.data || {};
72+
triggerDisplayMessages(inAppMessages);
73+
startBtn.innerText = `${inAppMessages.length} total messages retrieved!`;
74+
}
75+
)
8276
// eslint-disable-next-line no-console
8377
.catch(console.warn);
8478
}
8579
};
8680

8781
const handleLoginClick = (event: MouseEvent) => {
8882
const email =
89-
localStorage.getItem('iterable-email') || 'iterable.tester@gmail.com';
83+
process.env.LOGIN_EMAIL ||
84+
localStorage.getItem('iterable-email') ||
85+
'iterable.tester@gmail.com';
9086

9187
/* disable login btn */
9288
if (loginBtn.getAttribute('aria-disabled') !== 'true') {

example/yarn.lock

Lines changed: 36 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1404,6 +1404,15 @@ asynckit@^0.4.0:
14041404
resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
14051405
integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
14061406

1407+
axios@^1.9.0:
1408+
version "1.9.0"
1409+
resolved "https://registry.yarnpkg.com/axios/-/axios-1.9.0.tgz#25534e3b72b54540077d33046f77e3b8d7081901"
1410+
integrity sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==
1411+
dependencies:
1412+
follow-redirects "^1.15.6"
1413+
form-data "^4.0.0"
1414+
proxy-from-env "^1.1.0"
1415+
14071416
babel-jest@^27.5.1:
14081417
version "27.5.1"
14091418
resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444"
@@ -2574,6 +2583,11 @@ follow-redirects@^1.0.0:
25742583
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b"
25752584
integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
25762585

2586+
follow-redirects@^1.15.6:
2587+
version "1.15.9"
2588+
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1"
2589+
integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
2590+
25772591
form-data@^3.0.0:
25782592
version "3.0.3"
25792593
resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.3.tgz#349c8f2c9d8f8f0c879ee0eb7cc0d300018d6b09"
@@ -2584,6 +2598,16 @@ form-data@^3.0.0:
25842598
es-set-tostringtag "^2.1.0"
25852599
mime-types "^2.1.35"
25862600

2601+
form-data@^4.0.0:
2602+
version "4.0.2"
2603+
resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.2.tgz#35cabbdd30c3ce73deb2c42d3c8d3ed9ca51794c"
2604+
integrity sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==
2605+
dependencies:
2606+
asynckit "^0.4.0"
2607+
combined-stream "^1.0.8"
2608+
es-set-tostringtag "^2.1.0"
2609+
mime-types "^2.1.12"
2610+
25872611
forwarded@0.2.0:
25882612
version "0.2.0"
25892613
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
@@ -3795,20 +3819,20 @@ mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
37953819
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
37963820
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
37973821

3822+
mime-types@^2.1.12, mime-types@^2.1.35, mime-types@~2.1.24, mime-types@~2.1.34:
3823+
version "2.1.35"
3824+
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
3825+
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
3826+
dependencies:
3827+
mime-db "1.52.0"
3828+
37983829
mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17:
37993830
version "2.1.34"
38003831
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
38013832
integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
38023833
dependencies:
38033834
mime-db "1.51.0"
38043835

3805-
mime-types@^2.1.35, mime-types@~2.1.24, mime-types@~2.1.34:
3806-
version "2.1.35"
3807-
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
3808-
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
3809-
dependencies:
3810-
mime-db "1.52.0"
3811-
38123836
mime@1.6.0:
38133837
version "1.6.0"
38143838
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
@@ -4213,6 +4237,11 @@ proxy-addr@~2.0.7:
42134237
forwarded "0.2.0"
42144238
ipaddr.js "1.9.1"
42154239

4240+
proxy-from-env@^1.1.0:
4241+
version "1.1.0"
4242+
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
4243+
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
4244+
42164245
psl@^1.1.33:
42174246
version "1.15.0"
42184247
resolved "https://registry.yarnpkg.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6"

0 commit comments

Comments
 (0)