Skip to content

Commit 3f14466

Browse files
authored
Merge pull request #65 from visenze/develop
[ES-8875] Release 4.0.4
2 parents ed36563 + 619ab2f commit 3f14466

12 files changed

Lines changed: 2117 additions & 10609 deletions

File tree

.prettierrc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{
22
"printWidth": 120,
33
"singleQuote": true
4-
}
4+
}

examples/js/snippet.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
getStub(context, doc, element, src, objs);
1111
}
1212

13-
function insertScript (doc, element, src) {
13+
function insertScript(doc, element, src) {
1414
// create element to load javascript async
1515
var el = doc.createElement(element);
1616
el.type = 'text/javascript';
@@ -21,7 +21,7 @@
2121
return el;
2222
}
2323

24-
function getStub (context, doc, element, src, obj_name) {
24+
function getStub(context, doc, element, src, obj_name) {
2525
var __visearch_obj = context[obj_name] || {};
2626
context[obj_name] = __visearch_obj;
2727
__visearch_obj.q = __visearch_obj.q || [];

index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ import { ViSearchClient } from './types/shared.js';
1313
return client;
1414
};
1515
}
16-
})(typeof self !== 'undefined' ? self : this);
16+
})(typeof self !== 'undefined' ? self : this);

jest.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ const config = {
55
testEnvironment: 'jsdom',
66
setupFiles: ['<rootDir>/test/setup/setup.js'],
77
moduleNameMapper: {
8-
'(.+)\\.js': '$1'
8+
'(.+)\\.js': '$1',
99
},
10-
extensionsToTreatAsEsm: ['.ts']
10+
extensionsToTreatAsEsm: ['.ts'],
1111
};
1212

1313
module.exports = config;

package-lock.json

Lines changed: 2069 additions & 10519 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "visearch-javascript-sdk",
3-
"version": "4.0.3",
3+
"version": "4.0.4",
44
"description": "JavaScript SDK for ViSearch of visenze.com",
55
"main": "cjs/index.js",
66
"module": "esm/index.js",
@@ -31,34 +31,31 @@
3131
"author": "dejun@visenze.com, rachel.ngo@visenze.com",
3232
"license": "MIT",
3333
"devDependencies": {
34-
"@babel/preset-env": "^7.21.5",
35-
"@babel/preset-typescript": "^7.21.5",
36-
"@types/jsuri": "^1.3.31",
37-
"@types/lodash.find": "^4.6.7",
38-
"@types/lodash.isfunction": "^3.0.7",
39-
"@types/node-fetch": "^2.6.4",
40-
"@typescript-eslint/eslint-plugin": "^5.59.6",
41-
"babel-core": "^6.26.3",
42-
"babel-loader": "^8.3.0",
34+
"@babel/preset-env": "^7.23.6",
35+
"@babel/preset-typescript": "^7.23.3",
36+
"@types/jsuri": "^1.3.34",
37+
"@types/lodash.isfunction": "^3.0.9",
38+
"@types/node-fetch": "^2.6.10",
39+
"@typescript-eslint/eslint-plugin": "^6.16.0",
40+
"babel-loader": "^9.1.3",
4341
"compression-webpack-plugin": "^10.0.0",
44-
"dotenv": "^16.0.3",
45-
"eslint": "^8.40.0",
42+
"dotenv": "^16.3.1",
43+
"eslint": "^8.56.0",
4644
"express": "^4.18.2",
47-
"jest": "^29.5.0",
48-
"jest-environment-jsdom": "^29.5.0",
49-
"prettier": "^2.8.8",
50-
"terser-webpack-plugin": "^5.3.8",
51-
"typescript": "^5.1.6",
52-
"webpack": "^5.82.1",
53-
"webpack-cli": "^5.1.1",
45+
"jest": "^29.7.0",
46+
"jest-environment-jsdom": "^29.7.0",
47+
"prettier": "^3.1.1",
48+
"terser-webpack-plugin": "^5.3.9",
49+
"typescript": "^5.3.3",
50+
"webpack": "^5.89.0",
51+
"webpack-cli": "^5.1.4",
5452
"webpack-s3-plugin": "^1.2.0-rc.0"
5553
},
5654
"dependencies": {
57-
"form-data": "^2.3.3",
55+
"form-data": "^4.0.0",
5856
"jsuri": "^1.3.1",
59-
"lodash.find": "^4.6.0",
6057
"lodash.isfunction": "^3.0.9",
61-
"node-fetch": "^2.6.11",
58+
"node-fetch": "^2.7.0",
6259
"visenze-tracking-javascript": "^2.0.1"
6360
}
64-
}
61+
}

src/common.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ function sendRequest(
4040
fetchObj: Promise<Response>,
4141
path: string,
4242
callback?: GenericCallback,
43-
failure?: GenericCallback
43+
failure?: GenericCallback,
4444
): Promise<void> {
4545
const start = new Date().getTime();
4646
let reqid: string | null;
@@ -74,7 +74,7 @@ export const sendGetRequest = (
7474
path: string,
7575
queryParams: Record<string, unknown>,
7676
callback?: GenericCallback,
77-
failure?: GenericCallback
77+
failure?: GenericCallback,
7878
): Promise<void> => {
7979
const url = new URI(endpoint).setPath(path);
8080
Object.entries(queryParams).forEach(([key, value]) => {
@@ -94,7 +94,7 @@ export const sendPostRequest = async (
9494
path: string,
9595
queryParams: Record<string, unknown>,
9696
callback?: GenericCallback,
97-
failure?: GenericCallback
97+
failure?: GenericCallback,
9898
): Promise<void> => {
9999
const url = new URI(endpoint).setPath(path).toString();
100100

src/productsearch.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ const PATH_REC = 'v1/product/recommendations';
99

1010
function getAnalyticsParams(
1111
queryParams: Record<string, unknown> | undefined,
12-
vaParams?: Record<string, unknown>
12+
vaParams?: Record<string, unknown>,
1313
): Record<string, unknown> {
1414
const params: Record<string, unknown> = {};
1515
if (vaParams) {
@@ -45,7 +45,7 @@ function getEndpoint(settings: ViSearchSettings): string {
4545
function getQueryParams(
4646
params: Record<string, unknown> | undefined,
4747
vaParams: Record<string, unknown>,
48-
settings: ViSearchSettings
48+
settings: ViSearchSettings,
4949
): Record<string, unknown> {
5050
return {
5151
...(params ?? {}),
@@ -59,7 +59,7 @@ function searchByImage(
5959
params: Record<string, unknown>,
6060
vaParams: Record<string, unknown>,
6161
callback?: GenericCallback,
62-
failure?: GenericCallback
62+
failure?: GenericCallback,
6363
): Promise<void> {
6464
const queryParams = getQueryParams(params, vaParams, settings);
6565
return sendPostRequest(settings, getEndpoint(settings), PATH_SEARCH, queryParams, callback, failure);
@@ -71,7 +71,7 @@ function searchById(
7171
params: Record<string, unknown> | undefined,
7272
vaParams: Record<string, unknown>,
7373
callback?: GenericCallback,
74-
failure?: GenericCallback
74+
failure?: GenericCallback,
7575
): Promise<void> {
7676
const queryParams = getQueryParams(params, vaParams, settings);
7777
return sendGetRequest(settings, getEndpoint(settings), `${PATH_REC}/${productId}`, queryParams, callback, failure);
@@ -83,7 +83,7 @@ function searchByIdByPost(
8383
params: Record<string, unknown> | undefined,
8484
vaParams: Record<string, unknown>,
8585
callback?: GenericCallback,
86-
failure?: GenericCallback
86+
failure?: GenericCallback,
8787
): Promise<void> {
8888
const queryParams = getQueryParams(params, vaParams, settings);
8989
return sendPostRequest(settings, getEndpoint(settings), `${PATH_REC}/${productId}`, queryParams, callback, failure);

src/visearch.ts

Lines changed: 2 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33
* @author dejun@visenze.com, @author rachel.ngo@visenze.com
44
*/
55

6-
import find from 'lodash.find';
7-
import URI from 'jsuri';
86
import va, { VAClient } from 'visenze-tracking-javascript';
97
import { version } from './version.js';
108

@@ -17,9 +15,6 @@ const STAGING_ENDPOINT = 'https://search-dev.visenze.com';
1715
const ANALYTICS_STAGING_ENDPOINT = 'https://staging-analytics.data.visenze.com/v3';
1816
const SDK = 'visearch js sdk';
1917
const SDK_VERSION = version;
20-
const QUERY_REQID = 'reqid';
21-
const QUERY_IMNAME = 'im_name';
22-
const QUERY_ACTION = 'action';
2318
const RESULT_LOAD = 'result_load';
2419

2520
function getSdkVersion(): Record<string, string> {
@@ -29,13 +24,6 @@ function getSdkVersion(): Record<string, string> {
2924
};
3025
}
3126

32-
/**
33-
* Get query parameters from url [URI] object
34-
*/
35-
function getQueryParamValue(uri: URI, name: string): unknown {
36-
return find([`__vi_${name}`, name], () => uri.getQueryParamValue(name));
37-
}
38-
3927
export function ViSearch(configs?: Record<string, unknown>): ViSearchClient {
4028
const q: unknown[] = [];
4129
const settings: ViSearchSettings = {
@@ -149,41 +137,14 @@ export function ViSearch(configs?: Record<string, unknown>): ViSearchClient {
149137
function wrapCallback(
150138
productId: string | undefined,
151139
callback: ((resp: ProductSearchResponse) => void) | undefined,
152-
resp: ProductSearchResponse
140+
resp: ProductSearchResponse,
153141
): void {
154142
wrapExperimentResponse(resp);
155143
callback?.(resp);
156144
saveQueryId(resp);
157145
sendResultLoadEvent(productId, resp);
158146
}
159147

160-
function sendRefClickEvent(): void {
161-
// For browser env
162-
// Check the link of current page, to check if the page is come from a previous search click.
163-
let refReqId: unknown = null;
164-
if (document.referrer) {
165-
const refUri = new URI(document.referrer);
166-
refReqId = getQueryParamValue(refUri, QUERY_REQID);
167-
}
168-
// Get reqid from current url or from its referrer url
169-
const curUri = new URI(window.location.href);
170-
const reqid = getQueryParamValue(curUri, QUERY_REQID) || refReqId;
171-
const imName = getQueryParamValue(curUri, QUERY_IMNAME);
172-
// If reqid, action and imName are found in current page content, send event tracking.
173-
if (reqid && imName) {
174-
// Get event 'action' for page will set it as 'click' action by default if not specified.
175-
const action = (getQueryParamValue(curUri, QUERY_ACTION) as string) || 'click';
176-
prototypes.sendEvent(action, {
177-
queryId: getQueryParamValue(curUri, QUERY_REQID),
178-
im_name: getQueryParamValue(curUri, QUERY_IMNAME),
179-
});
180-
}
181-
}
182-
183-
if (typeof window !== 'undefined') {
184-
sendRefClickEvent();
185-
}
186-
187148
const prototypes: ViSearchClient = {
188149
q,
189150
set: function (key, value) {
@@ -207,7 +168,7 @@ export function ViSearch(configs?: Record<string, unknown>): ViSearchClient {
207168
},
208169
(err) => {
209170
failure?.(err);
210-
}
171+
},
211172
);
212173
}
213174
},

test/event.test.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ describe('sendEvents', () => {
113113
'add_to_cart',
114114
{ sdk: 'visearch js sdk', v: version },
115115
expect.any(Function),
116-
expect.any(Function)
116+
expect.any(Function),
117117
);
118118
});
119119

@@ -129,7 +129,7 @@ describe('sendEvents', () => {
129129
'TRANSACTION',
130130
{ sdk: 'visearch js sdk', v: version, transId: mockUUID },
131131
expect.any(Function),
132-
expect.any(Function)
132+
expect.any(Function),
133133
);
134134
});
135135

@@ -147,13 +147,13 @@ describe('sendEvents', () => {
147147
'transaction',
148148
{ sdk: 'visearch js sdk', v: version, transId: mockUUID },
149149
expect.any(Function),
150-
expect.any(Function)
150+
expect.any(Function),
151151
);
152152
expect(mockTracker.sendEvent).toBeCalledWith(
153153
'transaction',
154154
{ sdk: 'visearch js sdk', v: version, transId: 'sample-transId' },
155155
expect.any(Function),
156-
expect.any(Function)
156+
expect.any(Function),
157157
);
158158
});
159159
});

0 commit comments

Comments
 (0)