-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathwebpack.config.js
61 lines (49 loc) · 1.96 KB
/
webpack.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import Fs from 'fs';
if (
!(
process.env.SHOPWARE_MODE === 'storefront' ||
process.env.SHOPWARE_MODE === 'administration'
)
) {
process.stderr.write(
'SHOPWARE_MODE needs to be storefront or administration',
);
process.exit(1);
}
export default async () => {
if (process.env.SHOPWARE_MODE === 'storefront') {
process.env.PUBLIC_PATH = './public';
// browserslist config in package.json
process.env.BROWSERSLIST_ENV = 'storefront';
// activate mobile device splitting
process.env.MEDIA_QUERIES = JSON.stringify({
'(min-width: 768px)': 'desktop',
'(min-width: 1024px)': 'desktop',
'(min-width: 1280px)': 'desktop',
'(min-width: 1440px)': 'desktop',
});
}
if (process.env.SHOPWARE_MODE === 'administration') {
process.env.PUBLIC_PATH = './public/bundles';
// browserslist config in package.json
process.env.BROWSERSLIST_ENV = 'administration';
}
let sharedVendorResourcePaths = Fs.existsSync('vendor/pxsw')
? ['vendor/pxsw/*/src/Resources/app/_global_resources/**/*.scss']
: [];
let sharedPluginResourcePaths = Fs.existsSync('custom/plugins')
? ['custom/plugins/Pxsw*/src/Resources/app/_global_resources/**/*.scss']
: [];
let uses = Fs.existsSync('custom/plugins/PxswProject/src/Resources/app/uses.scss')
? ['custom/plugins/PxswProject/src/Resources/app/uses.scss']
: Fs.existsSync('vendor/pxsw/project/src/Resources/app/uses.scss')
? ['vendor/pxsw/project/src/Resources/app/uses.scss']
: [];
process.env.RESOURCES_PATHS = JSON.stringify([
...uses,
...sharedVendorResourcePaths,
...sharedPluginResourcePaths
]);
const WebpackConfig = await import('@pixolith/webpack-sw6-config');
return WebpackConfig[process.env.SHOPWARE_MODE === 'storefront' ? 'storefrontConfig' : 'administrationConfig'];
};