Skip to content

Commit c2bbc66

Browse files
committed
upgrade webpack to v5, setup eslint
1 parent a8f8d22 commit c2bbc66

File tree

9 files changed

+5787
-58
lines changed

9 files changed

+5787
-58
lines changed

.eslintrc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"env": {
3+
"browser": true,
4+
"commonjs": true,
5+
"es2021": true
6+
},
7+
"parserOptions": {
8+
"ecmaVersion": "latest"
9+
},
10+
"extends": "eslint:recommended",
11+
"rules": {
12+
"no-eval": ["error"],
13+
"no-trailing-spaces": "error"
14+
}
15+
}

dist/addsearch-js-client.min.js

Lines changed: 2 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/*!
2+
* @overview es6-promise - a tiny implementation of Promises/A+.
3+
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
4+
* @license Licensed under MIT license
5+
* See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
6+
* @version v4.2.8+1e68dce6
7+
*/
8+
9+
/*! addsearch-js-client 0.6.6 */

package-lock.json

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

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,14 @@
4646
"@babel/preset-env": "^7.12.7",
4747
"@babel/register": "^7.12.1",
4848
"babel-loader": "^8.2.1",
49+
"eslint": "^8.13.0",
50+
"eslint-webpack-plugin": "^3.1.1",
4951
"esm": "^3.2.25",
5052
"fetch-mock": "^9.11.0",
5153
"mocha": "^8.2.1",
52-
"node-fetch": "^2.6.1",
54+
"node-fetch": "^2.6.7",
5355
"uglify-js": "^3.12.0",
54-
"webpack": "^4.44.2",
56+
"webpack": "^5.72.0",
5557
"webpack-cli": "^3.3.12"
5658
}
5759
}

src/apifetch.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,14 @@ var executeApiFetch = function(apiHostname, sitekey, type, settings, cb, fuzzyRe
8888

8989
// Add custom field filters
9090
if (settings.customFieldFilters) {
91-
for (var i = 0; i < settings.customFieldFilters.length; i++) {
91+
for (let i = 0; i < settings.customFieldFilters.length; i++) {
9292
qs = qs + '&customField=' + settings.customFieldFilters[i];
9393
}
9494
}
9595

9696
// Add facet fields
9797
if (settings.facetFields) {
98-
for (var i = 0; i<settings.facetFields.length; i++) {
98+
for (let i = 0; i<settings.facetFields.length; i++) {
9999
qs = qs + '&facet=' + settings.facetFields[i];
100100
}
101101
}
@@ -117,7 +117,7 @@ var executeApiFetch = function(apiHostname, sitekey, type, settings, cb, fuzzyRe
117117

118118
// Personalization events
119119
if (settings.personalizationEvents && Array.isArray(settings.personalizationEvents)) {
120-
for (var i = 0; i<settings.personalizationEvents.length; i++) {
120+
for (let i = 0; i<settings.personalizationEvents.length; i++) {
121121
var obj = settings.personalizationEvents[i];
122122
var key = Object.keys(obj);
123123
qs = qs + '&personalizationEvent=' + encodeURIComponent(key + '=' + obj[key]);

src/index.js

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -138,60 +138,60 @@ var client = function(sitekey, privatekey) {
138138
/**
139139
* Public functions
140140
*/
141-
this.setApiHostname = function(hostname) { this.apiHostname = hostname; }
142-
this.getSettings = function() { return this.settings.getSettings(); }
143-
this.setLanguage = function(lang) { this.settings.setLanguage(lang); }
144-
this.setCategoryFilters = function(categories) { this.settings.setCategoryFilters(categories); }
145-
this.addCustomFieldFilter = function(fieldName, value) { this.settings.addCustomFieldFilter(fieldName, value); }
146-
this.removeCustomFieldFilter = function(fieldName, value) { this.settings.removeCustomFieldFilter(fieldName, value); }
147-
this.setPriceRangeFilter = function(minCents, maxCents) { this.settings.setPriceRangeFilter(minCents, maxCents); }
148-
this.setDateFilter = function(dateFrom, dateTo) { this.settings.setDateFilter(dateFrom, dateTo); }
149-
this.setJWT = function(jwt) { this.settings.setJWT(jwt); }
150-
this.setUserToken = function(token) { this.settings.setUserToken(token); }
151-
this.setPaging = function(page, pageSize, sortBy, sortOder) { this.settings.setPaging(page, pageSize, sortBy, sortOder); }
152-
this.nextPage = function() { this.settings.nextPage(); }
153-
this.previousPage = function() { this.settings.previousPage(); }
154-
this.setSuggestionsSize = function(size) { this.settings.setSuggestionsSize(size); }
155-
this.setAutocompleteSize = function(size) { this.settings.setAutocompleteSize(size); }
156-
this.addFacetField = function(fieldName) { this.settings.addFacetField(fieldName); }
157-
this.addHierarchicalFacetSetting = function(setting) { this.settings.addHierarchicalFacetSetting(setting); }
158-
this.addRangeFacet = function(field, ranges) { this.settings.addRangeFacet(field, ranges); }
159-
this.addStatsField = function(field) { this.settings.addStatsField(field); }
160-
this.setNumberOfFacets = function(numFacets) { this.settings.setNumberOfFacets(numFacets); }
161-
this.setResultType = function(type) { this.settings.setResultType(type); }
162-
this.setPersonalizationEvents = function(events) { this.settings.setPersonalizationEvents(events); }
163-
this.setFilterObject = function(filter) { this.settings.setFilterObject(filter); }
164-
this.setShuffleAndLimitTo = function(shuffleAndLimitTo) { this.settings.setShuffleAndLimitTo(shuffleAndLimitTo); }
165-
this.setFuzzyMatch = function(fuzzy) { this.settings.setFuzzyMatch(fuzzy); }
166-
this.setPostfixWildcard = function(wildcard) { this.settings.setPostfixWildcard(wildcard); }
167-
this.setCacheResponseTime = function(cacheResponseTime) { this.settings.setCacheResponseTime(cacheResponseTime) }
168-
this.setCollectAnalytics = function(collectAnalytics) { this.settings.setCollectAnalytics(collectAnalytics); }
169-
this.setAnalyticsTag = function(tagName) { this.settings.setAnalyticsTag(tagName) }
170-
this.setThrottleTime = function(delay) { this.settings.setThrottleTime(delay); }
171-
this.setStatsSessionId = function(id) { this.sessionId = id; }
172-
this.getStatsSessionId = function() { return this.sessionId; }
173-
this.enableLogicalOperators = function(enableLogicalOperators) { this.settings.enableLogicalOperators(enableLogicalOperators) }
174-
this.setSearchOperator = function(operator) { this.settings.setSearchOperator(operator) }
175-
176-
this.sendStatsEvent = function(type, keyword, data) {
141+
this.setApiHostname = function(hostname) {this.apiHostname = hostname;}
142+
this.getSettings = function() {return this.settings.getSettings();}
143+
this.setLanguage = function(lang) {this.settings.setLanguage(lang);}
144+
this.setCategoryFilters = function(categories) {this.settings.setCategoryFilters(categories);}
145+
this.addCustomFieldFilter = function(fieldName, value) {this.settings.addCustomFieldFilter(fieldName, value);}
146+
this.removeCustomFieldFilter = function(fieldName, value) {this.settings.removeCustomFieldFilter(fieldName, value);}
147+
this.setPriceRangeFilter = function(minCents, maxCents) {this.settings.setPriceRangeFilter(minCents, maxCents);}
148+
this.setDateFilter = function(dateFrom, dateTo) {this.settings.setDateFilter(dateFrom, dateTo);}
149+
this.setJWT = function(jwt) {this.settings.setJWT(jwt);}
150+
this.setUserToken = function(token) {this.settings.setUserToken(token);}
151+
this.setPaging = function(page, pageSize, sortBy, sortOder) {this.settings.setPaging(page, pageSize, sortBy, sortOder);}
152+
this.nextPage = function() {this.settings.nextPage();}
153+
this.previousPage = function() {this.settings.previousPage();}
154+
this.setSuggestionsSize = function(size) {this.settings.setSuggestionsSize(size);}
155+
this.setAutocompleteSize = function(size) {this.settings.setAutocompleteSize(size);}
156+
this.addFacetField = function(fieldName) {this.settings.addFacetField(fieldName);}
157+
this.addHierarchicalFacetSetting = function(setting) {this.settings.addHierarchicalFacetSetting(setting);}
158+
this.addRangeFacet = function(field, ranges) {this.settings.addRangeFacet(field, ranges);}
159+
this.addStatsField = function(field) {this.settings.addStatsField(field);}
160+
this.setNumberOfFacets = function(numFacets) {this.settings.setNumberOfFacets(numFacets);}
161+
this.setResultType = function(type) {this.settings.setResultType(type);}
162+
this.setPersonalizationEvents = function(events) {this.settings.setPersonalizationEvents(events);}
163+
this.setFilterObject = function(filter) {this.settings.setFilterObject(filter);}
164+
this.setShuffleAndLimitTo = function(shuffleAndLimitTo) {this.settings.setShuffleAndLimitTo(shuffleAndLimitTo);}
165+
this.setFuzzyMatch = function(fuzzy) {this.settings.setFuzzyMatch(fuzzy);}
166+
this.setPostfixWildcard = function(wildcard) {this.settings.setPostfixWildcard(wildcard);}
167+
this.setCacheResponseTime = function(cacheResponseTime) {this.settings.setCacheResponseTime(cacheResponseTime)}
168+
this.setCollectAnalytics = function(collectAnalytics) {this.settings.setCollectAnalytics(collectAnalytics);}
169+
this.setAnalyticsTag = function(tagName) {this.settings.setAnalyticsTag(tagName)}
170+
this.setThrottleTime = function(delay) {this.settings.setThrottleTime(delay);}
171+
this.setStatsSessionId = function(id) {this.sessionId = id;}
172+
this.getStatsSessionId = function() {return this.sessionId;}
173+
this.enableLogicalOperators = function(enableLogicalOperators) {this.settings.enableLogicalOperators(enableLogicalOperators)}
174+
this.setSearchOperator = function(operator) {this.settings.setSearchOperator(operator)}
175+
176+
this.sendStatsEvent = function(type, keyword, res) {
177177
if (type === 'search') {
178-
var data = {
178+
let data = {
179179
action: 'search',
180180
session: this.sessionId,
181181
keyword: keyword,
182-
numberOfResults: data.numberOfResults,
182+
numberOfResults: res.numberOfResults,
183183
analyticsTag: this.getSettings().analyticsTag
184184
};
185185
sendStats(this.apiHostname, this.sitekey, data);
186186
}
187187

188188
else if (type === 'click') {
189-
var data = {
189+
let data = {
190190
action: 'click',
191191
session: this.sessionId,
192192
keyword: keyword,
193-
docid: data.documentId,
194-
position: data.position,
193+
docid: res.documentId,
194+
position: res.position,
195195
analyticsTag: this.getSettings().analyticsTag
196196
};
197197
sendStats(this.apiHostname, this.sitekey, data);

src/util.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
/* global Buffer */
2+
13
const isFunction = function(fn) {
24
return fn && {}.toString.call(fn) === '[object Function]';
35
}

webpack.config.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
const webpack = require('webpack');
22
const PACKAGE = require('./package.json');
33
const banner = PACKAGE.name + ' ' + PACKAGE.version;
4+
const ESLintPlugin = require('eslint-webpack-plugin');
45

56
module.exports = {
67
entry: './src/index.js',
@@ -10,13 +11,11 @@ module.exports = {
1011
libraryTarget: 'global'
1112
},
1213
plugins: [
14+
new ESLintPlugin(),
1315
new webpack.BannerPlugin({
1416
banner: banner
1517
})
1618
],
17-
node: {
18-
Buffer: false
19-
},
2019
mode: 'production',
2120
module: {
2221
rules: [

0 commit comments

Comments
 (0)