Skip to content

Commit 1f4f3a2

Browse files
authored
Lint files (#1204)
* chore: install isml linter * chore: fix some js files * fix: adyen configs file * fix: whitespace
1 parent a7012aa commit 1f4f3a2

7 files changed

Lines changed: 105 additions & 32 deletions

File tree

.eslintignore

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,8 @@ src/cartridges/app_adyen_SFRA/cartridge/client/default/js/checkout/checkoutSFRA6
1414
src/cartridges/int_adyen_SFRA/cartridge/controllers/middlewares/checkout_services/placeOrder.js
1515
src/cartridges/int_adyen_SFRA/cartridge/adyen/webhooks
1616
src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenHelper.js
17-
src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenConfigs.js
18-
src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/lineItemHelper.js
19-
src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenGetOpenInvoiceData.js
2017
src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenTerminalApi.js
2118

2219
# Test files
23-
src/cartridges/int_adyen_SFRA/test
2420
*.test.js
2521

.eslintrc.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@ module.exports = {
8383
],
8484
},
8585
],
86-
"import/extensions": ["error", { "js": "never" }],
8786
"import/no-extraneous-dependencies": "off",
8887
"operator-linebreak": "off",
8988
"object-curly-newline": ["error", {
@@ -96,6 +95,6 @@ module.exports = {
9695
"import/extensions": "off",
9796
"camelcase": "off",
9897
"no-bitwise": "off",
99-
"no-underscore-dangle": "off"
98+
"no-underscore-dangle": "off"
10099
},
101100
};

ismllinter.config.js

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
// Please check all available configurations and rules
2+
// at https://www.npmjs.com/package/isml-linter.
3+
4+
const config = {
5+
rules: {
6+
// Line by line rules;
7+
// 'enforce-isprint' : {}, // Known issue, will be fixed on v6.0.0;
8+
'enforce-require': {},
9+
'no-br': {},
10+
'no-git-conflict': {},
11+
'no-import-package': {},
12+
'no-inline-style': {},
13+
'no-isscript': {},
14+
'no-space-only-lines': {},
15+
'no-tabs': {},
16+
'no-trailing-spaces': {},
17+
'max-lines': {},
18+
19+
// Tree rules;
20+
indent: {},
21+
'no-redundant-context': {},
22+
'leading-iscontent': {},
23+
'max-depth': {},
24+
'no-embedded-isml': {},
25+
'no-hardcode': {},
26+
'no-require-in-loop': {},
27+
'one-element-per-line': {},
28+
'leading-iscache': {},
29+
'no-deprecated-attrs': {},
30+
'contextual-attrs': {},
31+
'custom-tags': {},
32+
'eslint-to-isscript': {},
33+
'no-iselse-slash': {},
34+
'empty-eof': {},
35+
'align-isset': {},
36+
'disallow-tags': {
37+
values: ['isscript', 'br', 'style', 'iframe'],
38+
},
39+
'enforce-security': {},
40+
'strict-void-elements': {},
41+
42+
// Other
43+
'lowercase-filename': {},
44+
},
45+
};
46+
47+
module.exports = config;

package.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,11 @@
2525
"check-build:sfra": "chmod 755 ./check-build.sh && sh ./check-build.sh SFRA",
2626
"check-branch-name": "chmod 755 ./branching.sh && sh ./branching.sh",
2727
"prepare": "husky install",
28-
"preinstall": "npx npm-force-resolutions"
28+
"preinstall": "npx npm-force-resolutions",
29+
"init:isml": "./node_modules/.bin/isml-linter --init",
30+
"lint:isml": "./node_modules/.bin/isml-linter",
31+
"build:isml": "./node_modules/.bin/isml-linter --build",
32+
"fix:isml": "./node_modules/.bin/isml-linter --autofix"
2933
},
3034
"engines": {
3135
"node": ">=14.0"
@@ -57,6 +61,7 @@
5761
"eslint-plugin-import": "^2.22.1",
5862
"eslint-plugin-prettier": "^5.1.3",
5963
"husky": "^8.0.3",
64+
"isml-linter": "^5.43.9",
6065
"istanbul": "^0.4.4",
6166
"jest": "^29.2.2",
6267
"jest-environment-jsdom": "^29.3.1",

src/cartridges/int_adyen_SFRA/cartridge/adyen/scripts/payments/adyenGetOpenInvoiceData.js

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* Copyright (c) 2021 Adyen B.V.
1616
* This file is open source and available under the MIT license.
1717
* See the LICENSE file for more info.
18-
* *
18+
* *
1919
*/
2020

2121
// script include
@@ -24,7 +24,9 @@ const LineItemHelper = require('*/cartridge/adyen/utils/lineItemHelper');
2424
function getLineItems({ Order: order, Basket: basket, addTaxPercentage }) {
2525
if (!(order || basket)) return null;
2626
const orderOrBasket = order || basket;
27-
const allLineItems = LineItemHelper.getAllLineItems(orderOrBasket.getAllLineItems());
27+
const allLineItems = LineItemHelper.getAllLineItems(
28+
orderOrBasket.getAllLineItems(),
29+
);
2830

2931
// Add all product and shipping line items to request
3032
return allLineItems.map((lineItem) => {
@@ -38,15 +40,16 @@ function getLineItems({ Order: order, Basket: basket, addTaxPercentage }) {
3840

3941
lineItemObject.amountExcludingTax = itemAmount.getValue().toFixed();
4042
lineItemObject.taxAmount = vatAmount.getValue().toFixed();
41-
lineItemObject.amountIncludingTax = itemAmount.getValue() + vatAmount.getValue();
43+
lineItemObject.amountIncludingTax =
44+
itemAmount.getValue() + vatAmount.getValue();
4245
lineItemObject.description = description;
4346
lineItemObject.id = id;
4447
lineItemObject.quantity = quantity;
45-
lineItemObject.taxPercentage = addTaxPercentage ? (
46-
new Number(vatPercentage) * 10000
47-
).toFixed() : 0;
48+
lineItemObject.taxPercentage = addTaxPercentage
49+
? (Number(vatPercentage) * 10000).toFixed()
50+
: 0;
4851
return lineItemObject;
49-
})
52+
});
5053
}
5154

5255
module.exports = {

src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/adyenConfigs.js

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
const dwsystem = require('dw/system');
2+
23
const adyenCurrentSite = dwsystem.Site.getCurrent();
34

45
function getCustomPreference(field) {
@@ -61,7 +62,7 @@ const adyenConfigsObj = {
6162
return getCustomPreference('Adyen_klarnaWidget');
6263
},
6364

64-
getAdyenInstallmentsEnabled(){
65+
getAdyenInstallmentsEnabled() {
6566
return getCustomPreference('AdyenInstallments_enabled');
6667
},
6768

@@ -105,25 +106,28 @@ const adyenConfigsObj = {
105106
return getCustomPreference('Adyen_Frontend_Region').value;
106107
},
107108

108-
getAdyenTokenisationEnabled: function () {
109+
getAdyenTokenisationEnabled() {
109110
return getCustomPreference('AdyenTokenisationEnabled');
110111
},
111112

112113
getAdyenBasketFieldsEnabled() {
113114
return getCustomPreference('AdyenBasketFieldsEnabled');
114115
},
115116

116-
getAdyenLevel23DataEnabled: function () {
117+
getAdyenLevel23DataEnabled() {
117118
return getCustomPreference('AdyenLevel23DataEnabled');
118119
},
119120

120-
getAdyenLevel23CommodityCode: function () {
121+
getAdyenLevel23CommodityCode() {
121122
return getCustomPreference('AdyenLevel23_CommodityCode');
122123
},
123124

124-
getAdyenSalePaymentMethods: function () {
125-
return getCustomPreference('AdyenSalePaymentMethods')
126-
? getCustomPreference('AdyenSalePaymentMethods').replace(/\s/g, '').toString().split(',')
125+
getAdyenSalePaymentMethods() {
126+
const adyenSalePaymentMethods = getCustomPreference(
127+
'AdyenSalePaymentMethods',
128+
);
129+
return adyenSalePaymentMethods
130+
? adyenSalePaymentMethods.replace(/\s/g, '').toString().split(',')
127131
: [];
128132
},
129133

src/cartridges/int_adyen_SFRA/cartridge/adyen/utils/lineItemHelper.js

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -99,21 +99,40 @@ const __LineItemHelper = {
9999
return new dw.value.Money(0, lineItem.getPrice().getCurrencyCode());
100100
},
101101

102+
isProductLineItem(lineItem) {
103+
return lineItem instanceof dw.order.ProductLineItem;
104+
},
105+
106+
isBonusProductLineItem(lineItem) {
107+
return lineItem.bonusProductLineItem;
108+
},
109+
110+
isShippingLineItem(lineItem) {
111+
return lineItem instanceof dw.order.ShippingLineItem;
112+
},
113+
114+
isPriceAdjustment(lineItem) {
115+
return lineItem instanceof dw.order.PriceAdjustment;
116+
},
117+
118+
isValidLineItem(lineItem) {
119+
return (
120+
(this.isProductLineItem(lineItem) &&
121+
!this.isBonusProductLineItem(lineItem)) ||
122+
this.isShippingLineItem(lineItem) ||
123+
(this.isPriceAdjustment(lineItem) &&
124+
lineItem.promotion.promotionClass ===
125+
dw.campaign.Promotion.PROMOTION_CLASS_ORDER)
126+
);
127+
},
128+
102129
getAllLineItems(allLineItems) {
103130
const lineItems = [];
104-
for (const item in allLineItems) {
105-
const lineItem = allLineItems[item];
106-
if (
107-
(lineItem instanceof dw.order.ProductLineItem &&
108-
!lineItem.bonusProductLineItem) ||
109-
lineItem instanceof dw.order.ShippingLineItem ||
110-
(lineItem instanceof dw.order.PriceAdjustment &&
111-
lineItem.promotion.promotionClass ===
112-
dw.campaign.Promotion.PROMOTION_CLASS_ORDER)
113-
) {
131+
allLineItems.forEach((lineItem) => {
132+
if (this.isValidLineItem(lineItem)) {
114133
lineItems.push(lineItem);
115134
}
116-
}
135+
});
117136
return lineItems;
118137
},
119138
};

0 commit comments

Comments
 (0)