Skip to content

Commit 58e43ef

Browse files
committed
refactor(theme): updated structure to 2.3rc
1 parent 015f732 commit 58e43ef

File tree

11 files changed

+2112
-1248
lines changed

11 files changed

+2112
-1248
lines changed

.editorconfig

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
indent_style = space
6+
indent_size = 2
7+
end_of_line = lf
8+
insert_final_newline = true
9+
trim_trailing_whitespace = true
10+
11+
[*.{js,jsx,ts,tsx}]
12+
indent_style = space
13+
indent_size = 2
14+
end_of_line = lf
15+
trim_trailing_whitespace = true
16+
insert_final_newline = true
17+
max_line_length = 150

.eslintrc.js

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
const { resolve } = require('path');
22
const airBnb = require('./eslint/airBnB/extends');
33
const eslintExtends = require('./eslint/extends');
4-
const eslintRules = require('./eslint/airBnB/rules');
4+
const eslintRules = require('./eslint/rules');
55
const jest = require('./eslint/jest/extends');
66
const jestRules = require('./eslint/jest/rules');
7+
const importEsLint = require('./eslint/import/plugin');
8+
const importEsLintExtends = require('./eslint/import/extends');
9+
const importEsLintRules = require('./eslint/import/rules');
10+
const importEsLintSettings = require('./eslint/import/settings');
711
const typescript = require('./eslint/typescript/plugin');
812
const typescriptExtends = require('./eslint/typescript/extends');
913
const typescriptRules = require('./eslint/typescript/rules');
@@ -35,18 +39,23 @@ module.exports = {
3539
plugins: [
3640
...typescript,
3741
...vue,
42+
...importEsLint,
3843
],
3944
extends: [
4045
...eslintExtends,
4146
...airBnb,
4247
...typescriptExtends,
4348
...vueExtends,
49+
...importEsLintExtends,
4450
...jest,
4551
],
4652
rules: {
4753
...eslintRules,
4854
...typescriptRules,
55+
...importEsLintRules,
4956
...jestRules,
5057
},
51-
settings: {},
58+
settings: {
59+
...importEsLintSettings,
60+
}
5261
}

packages/theme/.editorconfig

+9-7
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
1-
# editorconfig.org
2-
root = true
3-
41
[*]
2+
charset = utf-8
53
indent_style = space
64
indent_size = 2
75
end_of_line = lf
8-
charset = utf-8
9-
trim_trailing_whitespace = true
106
insert_final_newline = true
7+
trim_trailing_whitespace = true
118

12-
[*.md]
13-
trim_trailing_whitespace = false
9+
[*.{js,jsx,ts,tsx}]
10+
indent_style = space
11+
indent_size = 2
12+
end_of_line = lf
13+
trim_trailing_whitespace = true
14+
insert_final_newline = true
15+
max_line_length = 150

packages/theme/.lintstagedrc

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"*.{js,jsx,ts,tsx,vue}": [
3+
"eslint --fix"
4+
],
5+
}

packages/theme/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# theme
1+
# Vue-Storefront@Next Magento 2.x Theme
22

3-
> Boilerplate theme
3+
> Magento 2.x theme
44
55
## Build Setup
66

packages/theme/composables/useUiHelpers/index.ts

+14-17
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { getCurrentInstance } from '@vue/composition-api';
2+
// eslint-disable-next-line import/no-extraneous-dependencies
23
import { Category } from '@vue-storefront/magento-api';
34
import { AgnosticFacet } from '@vue-storefront/core';
45

@@ -14,15 +15,15 @@ const reduceFilters = (query) => (prev, curr) => {
1415

1516
return {
1617
...prev,
17-
[curr]: makeArray ? query[curr] : [query[curr]]
18+
[curr]: makeArray ? query[curr] : [query[curr]],
1819
};
1920
};
2021

2122
const getFiltersDataFromUrl = (context, onlyFilters) => {
2223
const { query } = context.$router.history.current;
2324

2425
return Object.keys(query)
25-
.filter(f => onlyFilters ? !nonFilters.includes(f) : nonFilters.includes(f))
26+
.filter((f) => (onlyFilters ? !nonFilters.includes(f) : nonFilters.includes(f)))
2627
.reduce(reduceFilters(query), {});
2728
};
2829

@@ -39,13 +40,11 @@ const useUiHelpers = () => {
3940
sort: query.sort || 'latest',
4041
filters: getFiltersDataFromUrl(instance, true),
4142
itemsPerPage: parseInt(query.itemsPerPage, 10) || 20,
42-
term: query.term
43+
term: query.term,
4344
};
4445
};
4546

46-
const changeSearchTerm = (term: string) => {
47-
return term;
48-
};
47+
const changeSearchTerm = (term: string) => term;
4948

5049
const getSearchTermFromUrl = () => {
5150
const { query, params } = instance.$router.history.current;
@@ -59,13 +58,11 @@ const useUiHelpers = () => {
5958
sort: query.sort || 'latest',
6059
filters: getFiltersDataFromUrl(instance, true),
6160
itemsPerPage: parseInt(query.itemsPerPage, 10) || 20,
62-
term: query.term
61+
term: query.term,
6362
};
6463
};
6564

66-
const getCatLink = (category: Category): string => {
67-
return `/c/${category.url_path}`;
68-
};
65+
const getCatLink = (category: Category): string => `/c/${category.url_path}`;
6966

7067
const changeSorting = (sort: string) => {
7168
const { query } = instance.$router.history.current;
@@ -76,26 +73,26 @@ const useUiHelpers = () => {
7673
instance.$router.push({
7774
query: {
7875
...getFiltersDataFromUrl(instance, false),
79-
...filters
80-
}
76+
...filters,
77+
},
8178
});
8279
};
8380

8481
const changeItemsPerPage = (itemsPerPage: number) => {
8582
instance.$router.push({
8683
query: {
8784
...getFiltersDataFromUrl(instance, false),
88-
itemsPerPage
89-
}
85+
itemsPerPage,
86+
},
9087
});
9188
};
9289

9390
const setTermForUrl = (term: string) => {
9491
instance.$router.push({
9592
query: {
9693
...getFiltersDataFromUrl(instance, false),
97-
term: term || undefined
98-
}
94+
term: term || undefined,
95+
},
9996
});
10097
};
10198

@@ -113,7 +110,7 @@ const useUiHelpers = () => {
113110
isFacetColor,
114111
isFacetCheckbox,
115112
getSearchTermFromUrl,
116-
changeSearchTerm
113+
changeSearchTerm,
117114
};
118115
};
119116

packages/theme/middleware.config.js

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
module.exports = {
2+
integrations: {
3+
ma: {
4+
location: '@vue-storefront/magento-api/server',
5+
configuration: {
6+
api: 'https://vsf-m2.site-builder.app/graphql',
7+
tax: {
8+
displayCartSubtotalIncludingTax: true,
9+
},
10+
websites: {
11+
base: {
12+
code: 'base',
13+
defaultStoreGroup: 'main_website_store',
14+
storeGroups: {
15+
main_website_store: {
16+
code: 'main_website_store',
17+
defaultStore: 'default',
18+
stores: {
19+
default: { code: 'default' },
20+
de: { code: 'de' },
21+
fr: { code: 'fr' },
22+
},
23+
},
24+
},
25+
},
26+
},
27+
defaultStore: 'default',
28+
},
29+
},
30+
},
31+
};

0 commit comments

Comments
 (0)