@emulsify/core 1.3.1 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/.github/workflows/addtoprojects.yml +1 -1
  2. package/.storybook/main.js +11 -5
  3. package/.storybook/manager.js +1 -2
  4. package/.storybook/preview.js +2 -5
  5. package/.storybook/webpack.config.js +64 -12
  6. package/config/eslintrc.config.json +0 -1
  7. package/config/webpack/loaders.js +11 -3
  8. package/config/webpack/optimizers.js +18 -0
  9. package/config/webpack/plugins.js +52 -12
  10. package/config/webpack/resolves.js +79 -0
  11. package/config/webpack/sdc-loader.js +8 -0
  12. package/config/webpack/webpack.common.js +119 -23
  13. package/package.json +34 -28
  14. package/.history/.github/workflows/addtoprojects_20240130164835.yml +0 -21
  15. package/.history/.github/workflows/addtoprojects_20240607213528.yml +0 -21
  16. package/.history/.github/workflows/contributors_20240130164835.yml +0 -23
  17. package/.history/.github/workflows/contributors_20240607213836.yml +0 -23
  18. package/.history/.husky/commit-msg_20240729171216 +0 -4
  19. package/.history/.husky/commit-msg_20240729172358 +0 -2
  20. package/.history/.husky/pre-commit_20240729171216 +0 -4
  21. package/.history/.husky/pre-commit_20240729172429 +0 -2
  22. package/.history/.releaserc_20240607133550 +0 -11
  23. package/.history/.releaserc_20240607134831 +0 -18
  24. package/.history/.releaserc_20240607135005 +0 -11
  25. package/.history/.storybook/main_20240722083211.js +0 -153
  26. package/.history/.storybook/manager_20240311205454.js +0 -15
  27. package/.history/.storybook/manager_20240607162817.js +0 -15
  28. package/.history/.storybook/preview_20240401184023.js +0 -40
  29. package/.history/.storybook/preview_20240607162826.js +0 -40
  30. package/.history/.storybook/preview_20240610083720.js +0 -37
  31. package/.history/.storybook/preview_20240610083852.js +0 -30
  32. package/.history/.storybook/setupTwig.test_20240228163244.js +0 -33
  33. package/.history/.storybook/setupTwig.test_20240607163045.js +0 -33
  34. package/.history/.storybook/setupTwig_20240326081425.js +0 -59
  35. package/.history/.storybook/setupTwig_20240607163001.js +0 -43
  36. package/.history/.storybook/setupTwig_20240607163019.js +0 -43
  37. package/.history/README_20240312154948.md +0 -72
  38. package/.history/README_20240607162731.md +0 -94
  39. package/.history/config/a11y.config_20240607110020.js +0 -61
  40. package/.history/config/a11y.config_20240607163052.js +0 -61
  41. package/.history/config/a11y.config_20240607163120.js +0 -61
  42. package/.history/config/webpack/css/style_20240228152007.js +0 -1
  43. package/.history/config/webpack/css/style_20240607163238.js +0 -1
  44. package/.history/config/webpack/css_20240317194751.js +0 -1
  45. package/.history/config/webpack/css_20240607163108.js +0 -1
  46. package/.history/config/webpack/css_20240607163132.js +0 -1
  47. package/.history/config/webpack/loaders_20240730152304.js +0 -87
  48. package/.history/config/webpack/loaders_20240730152315.js +0 -87
  49. package/.history/config/webpack/loaders_20240731075844.js +0 -87
  50. package/.history/config/webpack/loaders_20240806083911.js +0 -88
  51. package/.history/config/webpack/loaders_20240806084032.js +0 -88
  52. package/.history/config/webpack/plugins_20240730152746.js +0 -77
  53. package/.history/config/webpack/plugins_20240730152818.js +0 -76
  54. package/.history/config/webpack/plugins_20240730153144.js +0 -76
  55. package/.history/config/webpack/plugins_20240730153215.js +0 -76
  56. package/.history/config/webpack/plugins_20240731075839.js +0 -48
  57. package/.history/config/webpack/svgSprite_20240401184053.js +0 -5
  58. package/.history/config/webpack/svgSprite_20240607163207.js +0 -5
  59. package/.history/config/webpack/webpack.common_20240730152548.js +0 -74
  60. package/.history/config/webpack/webpack.common_20240730152652.js +0 -76
  61. package/.history/config/webpack/webpack.common_20240731075910.js +0 -72
  62. package/.history/package-lock_20240722091648.json +0 -34023
  63. package/.history/package-lock_20240729171049.json +0 -34023
  64. package/.history/package-lock_20240729171107.json +0 -34023
  65. package/.history/package-lock_20240729171136.json +0 -34023
  66. package/.history/package_20240722085509.json +0 -135
  67. package/.history/package_20240722085523.json +0 -135
  68. package/.history/package_20240722085530.json +0 -135
  69. package/.history/package_20240722085550.json +0 -135
  70. package/.history/package_20240722085556.json +0 -135
  71. package/.history/package_20240722085606.json +0 -135
  72. package/.history/package_20240722091526.json +0 -135
  73. package/.history/package_20240722091548.json +0 -135
  74. package/.history/package_20240729171200.json +0 -135
  75. package/.history/package_20240729171707.json +0 -135
  76. package/.history/package_20240729171737.json +0 -135
  77. package/.history/package_20240729171750.json +0 -135
  78. package/.history/package_20240729171809.json +0 -135
  79. package/.history/package_20240729171834.json +0 -135
  80. package/.history/package_20240729171854.json +0 -135
  81. package/.history/package_20240729172054.json +0 -135
  82. package/.history/package_20240729172133.json +0 -135
  83. package/.history/package_20240729174630.json +0 -135
  84. package/.history/package_20240730153116.json +0 -136
  85. package/.history/package_20240806081212.json +0 -135
  86. package/.history/package_20240806081229.json +0 -135
  87. package/.history/package_20240806081258.json +0 -135
  88. package/.history/package_20240806081538.json +0 -135
  89. package/.history/package_20240806082035.json +0 -135
  90. package/.history/package_20240806082121.json +0 -135
  91. package/.history/package_20240806082142.json +0 -135
  92. package/.history/package_20240806082313.json +0 -135
  93. package/.history/package_20240806082418.json +0 -135
  94. package/.history/package_20240806083920.json +0 -135
  95. package/config/webpack/css/style.js +0 -1
  96. package/config/webpack/css.js +0 -1
@@ -1,87 +0,0 @@
1
- const MiniCssExtractPlugin = require('mini-css-extract-plugin');
2
- const globImporter = require('node-sass-glob-importer');
3
- const fs = require('fs-extra');
4
-
5
- let babelConfig;
6
- let postcssConfig;
7
-
8
- // Check if custom babel config is available.
9
- if (fs.existsSync('./config/babel.config.js')) {
10
- babelConfig = './config/babel.config.js';
11
- } else {
12
- babelConfig = './node_modules/@emulsify/core/config/babel.config.js';
13
- }
14
-
15
- // Check if custom postcss config is available.
16
- if (fs.existsSync('./config/postcss.config.js')) {
17
- postcssConfig = './config/postcss.config.js';
18
- } else {
19
- postcssConfig = './node_modules/@emulsify/core/config/postcss.config.js';
20
- }
21
-
22
- const JSLoader = {
23
- test: /^(?!.*\.(stories|component)\.js$).*\.js$/,
24
- exclude: /node_modules/,
25
- loader: 'babel-loader',
26
- options: {
27
- configFile: babelConfig,
28
- },
29
- };
30
-
31
- const ImageLoader = {
32
- test: /\.(jpe?g|png|gif|svg)$/i,
33
- exclude: /icons\/.*\.svg$/,
34
- loader: 'file-loader',
35
- };
36
-
37
- const CSSLoader = {
38
- test: /\.s[ac]ss$/i,
39
- exclude: /node_modules/,
40
- use: [
41
- MiniCssExtractPlugin.loader,
42
- {
43
- loader: 'css-loader',
44
- options: {
45
- sourceMap: true,
46
- url: false,
47
- },
48
- },
49
- {
50
- loader: 'postcss-loader',
51
- options: {
52
- sourceMap: true,
53
- postcssOptions: {
54
- config: postcssConfig,
55
- plugins: [['autoprefixer']],
56
- },
57
- },
58
- },
59
- {
60
- loader: 'sass-loader',
61
- options: {
62
- sourceMap: true,
63
- sassOptions: {
64
- importer: globImporter(),
65
- outputStyle: 'compressed',
66
- },
67
- },
68
- },
69
- ],
70
- };
71
-
72
- const SVGSpriteLoader = {
73
- test: /icons\/.*\.svg$/, // your icons directory
74
- loader: 'svg-sprite-loader',
75
- options: {
76
- extract: true,
77
- runtimeCompat: true,
78
- spriteFilename: './icons.svg',
79
- },
80
- };
81
-
82
- module.exports = {
83
- JSLoader,
84
- CSSLoader,
85
- SVGSpriteLoader,
86
- ImageLoader,
87
- };
@@ -1,87 +0,0 @@
1
- const MiniCssExtractPlugin = require('mini-css-extract-plugin');
2
- const globImporter = require('node-sass-glob-importer');
3
- const fs = require('fs-extra');
4
-
5
- let babelConfig;
6
- let postcssConfig;
7
-
8
- // Check if custom babel config is available.
9
- if (fs.existsSync('./config/babel.config.js')) {
10
- babelConfig = './config/babel.config.js';
11
- } else {
12
- babelConfig = './node_modules/@emulsify/core/config/babel.config.js';
13
- }
14
-
15
- // Check if custom postcss config is available.
16
- if (fs.existsSync('./config/postcss.config.js')) {
17
- postcssConfig = './config/postcss.config.js';
18
- } else {
19
- postcssConfig = './node_modules/@emulsify/core/config/postcss.config.js';
20
- }
21
-
22
- const JSLoader = {
23
- test: /^(?!.*\.(stories|component)\.js$).*\.js$/,
24
- exclude: /node_modules/,
25
- loader: 'babel-loader',
26
- options: {
27
- configFile: babelConfig,
28
- },
29
- };
30
-
31
- const ImageLoader = {
32
- test: /\.(png|svg|jpg|gif)$/i,
33
- exclude: /icons\/.*\.svg$/,
34
- loader: 'file-loader',
35
- };
36
-
37
- const CSSLoader = {
38
- test: /\.s[ac]ss$/i,
39
- exclude: /node_modules/,
40
- use: [
41
- MiniCssExtractPlugin.loader,
42
- {
43
- loader: 'css-loader',
44
- options: {
45
- sourceMap: true,
46
- url: false,
47
- },
48
- },
49
- {
50
- loader: 'postcss-loader',
51
- options: {
52
- sourceMap: true,
53
- postcssOptions: {
54
- config: postcssConfig,
55
- plugins: [['autoprefixer']],
56
- },
57
- },
58
- },
59
- {
60
- loader: 'sass-loader',
61
- options: {
62
- sourceMap: true,
63
- sassOptions: {
64
- importer: globImporter(),
65
- outputStyle: 'compressed',
66
- },
67
- },
68
- },
69
- ],
70
- };
71
-
72
- const SVGSpriteLoader = {
73
- test: /icons\/.*\.svg$/, // your icons directory
74
- loader: 'svg-sprite-loader',
75
- options: {
76
- extract: true,
77
- runtimeCompat: true,
78
- spriteFilename: './icons.svg',
79
- },
80
- };
81
-
82
- module.exports = {
83
- JSLoader,
84
- CSSLoader,
85
- SVGSpriteLoader,
86
- ImageLoader,
87
- };
@@ -1,88 +0,0 @@
1
- const MiniCssExtractPlugin = require('mini-css-extract-plugin');
2
- const globImporter = require('node-sass-glob-importer');
3
- const fs = require('fs-extra');
4
-
5
- let babelConfig;
6
- let postcssConfig;
7
-
8
- // Check if custom babel config is available.
9
- if (fs.existsSync('./config/babel.config.js')) {
10
- babelConfig = './config/babel.config.js';
11
- } else {
12
- babelConfig = './node_modules/@emulsify/core/config/babel.config.js';
13
- }
14
-
15
- // Check if custom postcss config is available.
16
- if (fs.existsSync('./config/postcss.config.js')) {
17
- postcssConfig = './config/postcss.config.js';
18
- } else {
19
- postcssConfig = './node_modules/@emulsify/core/config/postcss.config.js';
20
- }
21
-
22
- const JSLoader = {
23
- test: /^(?!.*\.(stories|component)\.js$).*\.js$/,
24
- exclude: /node_modules/,
25
- loader: 'babel-loader',
26
- options: {
27
- configFile: babelConfig,
28
- },
29
- };
30
-
31
- const ImageLoader = {
32
- test: /\.(png|svg|jpg|gif)$/i,
33
- exclude: /icons\/.*\.svg$/,
34
- loader: 'file-loader',
35
- };
36
-
37
- const CSSLoader = {
38
- test: /\.s[ac]ss$/i,
39
- exclude: /node_modules/,
40
- use: [
41
- MiniCssExtractPlugin.loader,
42
- {
43
- loader: 'css-loader',
44
- options: {
45
- sourceMap: true,
46
- url: false,
47
- },
48
- },
49
- {
50
- loader: 'postcss-loader',
51
- options: {
52
- sourceMap: true,
53
- postcssOptions: {
54
- config: postcssConfig,
55
- plugins: [['autoprefixer']],
56
- },
57
- },
58
- },
59
- {
60
- loader: 'sass-loader',
61
- options: {
62
- api: "legacy",
63
- sourceMap: true,
64
- sassOptions: {
65
- importer: globImporter(),
66
- outputStyle: 'compressed',
67
- },
68
- },
69
- },
70
- ],
71
- };
72
-
73
- const SVGSpriteLoader = {
74
- test: /icons\/.*\.svg$/, // your icons directory
75
- loader: 'svg-sprite-loader',
76
- options: {
77
- extract: true,
78
- runtimeCompat: true,
79
- spriteFilename: './icons.svg',
80
- },
81
- };
82
-
83
- module.exports = {
84
- JSLoader,
85
- CSSLoader,
86
- SVGSpriteLoader,
87
- ImageLoader,
88
- };
@@ -1,88 +0,0 @@
1
- const MiniCssExtractPlugin = require('mini-css-extract-plugin');
2
- const globImporter = require('node-sass-glob-importer');
3
- const fs = require('fs-extra');
4
-
5
- let babelConfig;
6
- let postcssConfig;
7
-
8
- // Check if custom babel config is available.
9
- if (fs.existsSync('./config/babel.config.js')) {
10
- babelConfig = './config/babel.config.js';
11
- } else {
12
- babelConfig = './node_modules/@emulsify/core/config/babel.config.js';
13
- }
14
-
15
- // Check if custom postcss config is available.
16
- if (fs.existsSync('./config/postcss.config.js')) {
17
- postcssConfig = './config/postcss.config.js';
18
- } else {
19
- postcssConfig = './node_modules/@emulsify/core/config/postcss.config.js';
20
- }
21
-
22
- const JSLoader = {
23
- test: /^(?!.*\.(stories|component)\.js$).*\.js$/,
24
- exclude: /node_modules/,
25
- loader: 'babel-loader',
26
- options: {
27
- configFile: babelConfig,
28
- },
29
- };
30
-
31
- const ImageLoader = {
32
- test: /\.(png|svg|jpg|gif)$/i,
33
- exclude: /icons\/.*\.svg$/,
34
- loader: 'file-loader',
35
- };
36
-
37
- const CSSLoader = {
38
- test: /\.s[ac]ss$/i,
39
- exclude: /node_modules/,
40
- use: [
41
- MiniCssExtractPlugin.loader,
42
- {
43
- loader: 'css-loader',
44
- options: {
45
- sourceMap: true,
46
- url: false,
47
- },
48
- },
49
- {
50
- loader: 'postcss-loader',
51
- options: {
52
- sourceMap: true,
53
- postcssOptions: {
54
- config: postcssConfig,
55
- plugins: [['autoprefixer']],
56
- },
57
- },
58
- },
59
- {
60
- loader: 'sass-loader',
61
- options: {
62
- api: 'legacy',
63
- sourceMap: true,
64
- sassOptions: {
65
- importer: globImporter(),
66
- outputStyle: 'compressed',
67
- },
68
- },
69
- },
70
- ],
71
- };
72
-
73
- const SVGSpriteLoader = {
74
- test: /icons\/.*\.svg$/, // your icons directory
75
- loader: 'svg-sprite-loader',
76
- options: {
77
- extract: true,
78
- runtimeCompat: true,
79
- spriteFilename: './icons.svg',
80
- },
81
- };
82
-
83
- module.exports = {
84
- JSLoader,
85
- CSSLoader,
86
- SVGSpriteLoader,
87
- ImageLoader,
88
- };
@@ -1,77 +0,0 @@
1
- /* eslint-disable no-underscore-dangle */
2
- const path = require('path');
3
- const webpack = require('webpack');
4
- const { CleanWebpackPlugin } = require('clean-webpack-plugin');
5
- const _MiniCssExtractPlugin = require('mini-css-extract-plugin');
6
- const ImageMinimizerPlugin = require("image-minimizer-webpack-plugin");
7
- const _SpriteLoaderPlugin = require('svg-sprite-loader/plugin');
8
- const glob = require('glob');
9
-
10
- const imagePath = path.resolve(__dirname, '../../../../../assets/images');
11
-
12
- const MiniCssExtractPlugin = new _MiniCssExtractPlugin({
13
- filename: '[name].css',
14
- chunkFilename: '[id].css',
15
- });
16
-
17
- const ImageminPlugin = new ImageMinimizerPlugin({
18
- minimizer: {
19
- implementation: ImageMinimizerPlugin.imageminMinify,
20
- options: {
21
- // Lossless optimization with custom option
22
- // Feel free to experiment with options for better result for you
23
- plugins: [
24
- ["gifsicle", { interlaced: true }],
25
- ["jpegtran", { progressive: true }],
26
- ["optipng", { optimizationLevel: 5 }],
27
- // Svgo configuration here https://github.com/svg/svgo#configuration
28
- [
29
- "svgo",
30
- {
31
- plugins: [
32
- {
33
- name: "preset-default",
34
- params: {
35
- overrides: {
36
- removeViewBox: false,
37
- addAttributesToSVGElement: {
38
- params: {
39
- attributes: [
40
- { xmlns: "http://www.w3.org/2000/svg" },
41
- ],
42
- },
43
- },
44
- },
45
- },
46
- },
47
- ],
48
- },
49
- ],
50
- ],
51
- },
52
- },
53
- });
54
-
55
- const SpriteLoaderPlugin = new _SpriteLoaderPlugin({
56
- plainSprite: true,
57
- });
58
-
59
- const ProgressPlugin = new webpack.ProgressPlugin();
60
-
61
- module.exports = {
62
- ProgressPlugin,
63
- MiniCssExtractPlugin,
64
- ImageminPlugin,
65
- SpriteLoaderPlugin,
66
- CleanWebpackPlugin: new CleanWebpackPlugin({
67
- protectWebpackAssets: false, // Required for removal of extra, unwanted dist/css/*.js files.
68
- cleanOnceBeforeBuildPatterns: ['!*.{png,jpg,gif,svg}'],
69
- cleanAfterEveryBuildPatterns: [
70
- 'remove/**',
71
- '!js',
72
- 'css/**/*.js', // Remove all unwanted, auto generated JS files from dist/css folder.
73
- 'css/**/*.js.map',
74
- '!*.{png,jpg,gif,svg}',
75
- ],
76
- }),
77
- };
@@ -1,76 +0,0 @@
1
- /* eslint-disable no-underscore-dangle */
2
- const path = require('path');
3
- const webpack = require('webpack');
4
- const { CleanWebpackPlugin } = require('clean-webpack-plugin');
5
- const _MiniCssExtractPlugin = require('mini-css-extract-plugin');
6
- const ImageMinimizerPlugin = require("image-minimizer-webpack-plugin");
7
- const _SpriteLoaderPlugin = require('svg-sprite-loader/plugin');
8
- const glob = require('glob');
9
-
10
- const imagePath = path.resolve(__dirname, '../../../../../assets/images');
11
-
12
- const MiniCssExtractPlugin = new _MiniCssExtractPlugin({
13
- filename: '[name].css',
14
- chunkFilename: '[id].css',
15
- });
16
-
17
- const ImageminPlugin = new ImageMinimizerPlugin({
18
- minimizer: {
19
- implementation: ImageMinimizerPlugin.imageminMinify,
20
- options: {
21
- // Lossless optimization with custom option
22
- plugins: [
23
- ["gifsicle", { interlaced: true }],
24
- ["jpegtran", { progressive: true }],
25
- ["optipng", { optimizationLevel: 5 }],
26
- // Svgo configuration here https://github.com/svg/svgo#configuration
27
- [
28
- "svgo",
29
- {
30
- plugins: [
31
- {
32
- name: "preset-default",
33
- params: {
34
- overrides: {
35
- removeViewBox: false,
36
- addAttributesToSVGElement: {
37
- params: {
38
- attributes: [
39
- { xmlns: "http://www.w3.org/2000/svg" },
40
- ],
41
- },
42
- },
43
- },
44
- },
45
- },
46
- ],
47
- },
48
- ],
49
- ],
50
- },
51
- },
52
- });
53
-
54
- const SpriteLoaderPlugin = new _SpriteLoaderPlugin({
55
- plainSprite: true,
56
- });
57
-
58
- const ProgressPlugin = new webpack.ProgressPlugin();
59
-
60
- module.exports = {
61
- ProgressPlugin,
62
- MiniCssExtractPlugin,
63
- ImageminPlugin,
64
- SpriteLoaderPlugin,
65
- CleanWebpackPlugin: new CleanWebpackPlugin({
66
- protectWebpackAssets: false, // Required for removal of extra, unwanted dist/css/*.js files.
67
- cleanOnceBeforeBuildPatterns: ['!*.{png,jpg,gif,svg}'],
68
- cleanAfterEveryBuildPatterns: [
69
- 'remove/**',
70
- '!js',
71
- 'css/**/*.js', // Remove all unwanted, auto generated JS files from dist/css folder.
72
- 'css/**/*.js.map',
73
- '!*.{png,jpg,gif,svg}',
74
- ],
75
- }),
76
- };
@@ -1,76 +0,0 @@
1
- /* eslint-disable no-underscore-dangle */
2
- const path = require('path');
3
- const webpack = require('webpack');
4
- const { CleanWebpackPlugin } = require('clean-webpack-plugin');
5
- const _MiniCssExtractPlugin = require('mini-css-extract-plugin');
6
- const ImageMinimizerPlugin = require("image-minimizer-webpack-plugin");
7
- const _SpriteLoaderPlugin = require('svg-sprite-loader/plugin');
8
- const glob = require('glob');
9
-
10
- const imagePath = path.resolve(__dirname, '../../../../../assets/images');
11
-
12
- const MiniCssExtractPlugin = new _MiniCssExtractPlugin({
13
- filename: '[name].css',
14
- chunkFilename: '[id].css',
15
- });
16
-
17
- const ImageminPlugin = new ImageMinimizerPlugin({
18
- minimizer: {
19
- implementation: ImageMinimizerPlugin.imageminMinify,
20
- options: {
21
- // Lossless optimization with custom option
22
- plugins: [
23
- ['gifsicle', { interlaced: true }],
24
- ['jpegtran', { progressive: true }],
25
- ['optipng', { optimizationLevel: 5 }],
26
- // Svgo configuration here https://github.com/svg/svgo#configuration
27
- [
28
- "svgo",
29
- {
30
- plugins: [
31
- {
32
- name: "preset-default",
33
- params: {
34
- overrides: {
35
- removeViewBox: false,
36
- addAttributesToSVGElement: {
37
- params: {
38
- attributes: [
39
- { xmlns: "http://www.w3.org/2000/svg" },
40
- ],
41
- },
42
- },
43
- },
44
- },
45
- },
46
- ],
47
- },
48
- ],
49
- ],
50
- },
51
- },
52
- });
53
-
54
- const SpriteLoaderPlugin = new _SpriteLoaderPlugin({
55
- plainSprite: true,
56
- });
57
-
58
- const ProgressPlugin = new webpack.ProgressPlugin();
59
-
60
- module.exports = {
61
- ProgressPlugin,
62
- MiniCssExtractPlugin,
63
- ImageminPlugin,
64
- SpriteLoaderPlugin,
65
- CleanWebpackPlugin: new CleanWebpackPlugin({
66
- protectWebpackAssets: false, // Required for removal of extra, unwanted dist/css/*.js files.
67
- cleanOnceBeforeBuildPatterns: ['!*.{png,jpg,gif,svg}'],
68
- cleanAfterEveryBuildPatterns: [
69
- 'remove/**',
70
- '!js',
71
- 'css/**/*.js', // Remove all unwanted, auto generated JS files from dist/css folder.
72
- 'css/**/*.js.map',
73
- '!*.{png,jpg,gif,svg}',
74
- ],
75
- }),
76
- };
@@ -1,76 +0,0 @@
1
- /* eslint-disable no-underscore-dangle */
2
- const path = require('path');
3
- const webpack = require('webpack');
4
- const { CleanWebpackPlugin } = require('clean-webpack-plugin');
5
- const _MiniCssExtractPlugin = require('mini-css-extract-plugin');
6
- const ImageMinimizerPlugin = require('image-minimizer-webpack-plugin');
7
- const _SpriteLoaderPlugin = require('svg-sprite-loader/plugin');
8
- const glob = require('glob');
9
-
10
- const imagePath = path.resolve(__dirname, '../../../../../assets/images');
11
-
12
- const MiniCssExtractPlugin = new _MiniCssExtractPlugin({
13
- filename: '[name].css',
14
- chunkFilename: '[id].css',
15
- });
16
-
17
- const ImageminPlugin = new ImageMinimizerPlugin({
18
- minimizer: {
19
- implementation: ImageMinimizerPlugin.imageminMinify,
20
- options: {
21
- // Lossless optimization with custom option
22
- plugins: [
23
- ['gifsicle', { interlaced: true }],
24
- ['jpegtran', { progressive: true }],
25
- ['optipng', { optimizationLevel: 5 }],
26
- // Svgo configuration here https://github.com/svg/svgo#configuration
27
- [
28
- "svgo",
29
- {
30
- plugins: [
31
- {
32
- name: "preset-default",
33
- params: {
34
- overrides: {
35
- removeViewBox: false,
36
- addAttributesToSVGElement: {
37
- params: {
38
- attributes: [
39
- { xmlns: "http://www.w3.org/2000/svg" },
40
- ],
41
- },
42
- },
43
- },
44
- },
45
- },
46
- ],
47
- },
48
- ],
49
- ],
50
- },
51
- },
52
- });
53
-
54
- const SpriteLoaderPlugin = new _SpriteLoaderPlugin({
55
- plainSprite: true,
56
- });
57
-
58
- const ProgressPlugin = new webpack.ProgressPlugin();
59
-
60
- module.exports = {
61
- ProgressPlugin,
62
- MiniCssExtractPlugin,
63
- ImageminPlugin,
64
- SpriteLoaderPlugin,
65
- CleanWebpackPlugin: new CleanWebpackPlugin({
66
- protectWebpackAssets: false, // Required for removal of extra, unwanted dist/css/*.js files.
67
- cleanOnceBeforeBuildPatterns: ['!*.{png,jpg,gif,svg}'],
68
- cleanAfterEveryBuildPatterns: [
69
- 'remove/**',
70
- '!js',
71
- 'css/**/*.js', // Remove all unwanted, auto generated JS files from dist/css folder.
72
- 'css/**/*.js.map',
73
- '!*.{png,jpg,gif,svg}',
74
- ],
75
- }),
76
- };
@@ -1,48 +0,0 @@
1
- /* eslint-disable no-underscore-dangle */
2
- const path = require('path');
3
- const webpack = require('webpack');
4
- const { CleanWebpackPlugin } = require('clean-webpack-plugin');
5
- const _MiniCssExtractPlugin = require('mini-css-extract-plugin');
6
- const _ImageminPlugin = require('imagemin-webpack-plugin').default;
7
- const _SpriteLoaderPlugin = require('svg-sprite-loader/plugin');
8
- const glob = require('glob');
9
-
10
- const imagePath = path.resolve(__dirname, '../../../../../assets/images');
11
-
12
- const MiniCssExtractPlugin = new _MiniCssExtractPlugin({
13
- filename: '[name].css',
14
- chunkFilename: '[id].css',
15
- });
16
-
17
- const ImageminPlugin = new _ImageminPlugin({
18
- disable: process.env.NODE_ENV !== 'production',
19
- externalImages: {
20
- context: imagePath,
21
- sources: glob.sync(path.resolve(imagePath, '**/*.{png,jpg,gif,svg}')),
22
- destination: imagePath,
23
- },
24
- });
25
-
26
- const SpriteLoaderPlugin = new _SpriteLoaderPlugin({
27
- plainSprite: true,
28
- });
29
-
30
- const ProgressPlugin = new webpack.ProgressPlugin();
31
-
32
- module.exports = {
33
- ProgressPlugin,
34
- MiniCssExtractPlugin,
35
- ImageminPlugin,
36
- SpriteLoaderPlugin,
37
- CleanWebpackPlugin: new CleanWebpackPlugin({
38
- protectWebpackAssets: false, // Required for removal of extra, unwanted dist/css/*.js files.
39
- cleanOnceBeforeBuildPatterns: ['!*.{png,jpg,gif,svg}'],
40
- cleanAfterEveryBuildPatterns: [
41
- 'remove/**',
42
- '!js',
43
- 'css/**/*.js', // Remove all unwanted, auto generated JS files from dist/css folder.
44
- 'css/**/*.js.map',
45
- '!*.{png,jpg,gif,svg}',
46
- ],
47
- }),
48
- };