Selaa lähdekoodia

Update webpack

Daniel Supernault 1 vuosi sitten
vanhempi
commit
adf015be43
1 muutettua tiedostoa jossa 50 lisäystä ja 14 poistoa
  1. 50 14
      webpack.mix.js

+ 50 - 14
webpack.mix.js

@@ -1,8 +1,16 @@
 let mix = require('laravel-mix');
+const fs = require("fs");
+
+mix.before(() => {
+    fs.rmSync('public/js', { recursive: true, force: true });
+});
+
 
 mix.sass('resources/assets/sass/app.scss', 'public/css')
 .sass('resources/assets/sass/appdark.scss', 'public/css')
 .sass('resources/assets/sass/admin.scss', 'public/css')
+.sass('resources/assets/sass/portfolio.scss', 'public/css')
+.sass('resources/assets/sass/spa.scss', 'public/css')
 .sass('resources/assets/sass/landing.scss', 'public/css').version();
 
 mix.js('resources/assets/js/app.js', 'public/js')
@@ -16,24 +24,52 @@ mix.js('resources/assets/js/app.js', 'public/js')
 .js('resources/assets/js/compose-classic.js', 'public/js')
 .js('resources/assets/js/search.js', 'public/js')
 .js('resources/assets/js/developers.js', 'public/js')
-.js('resources/assets/js/loops.js', 'public/js')
 .js('resources/assets/js/hashtag.js', 'public/js')
 .js('resources/assets/js/collectioncompose.js', 'public/js')
 .js('resources/assets/js/collections.js', 'public/js')
 .js('resources/assets/js/profile-directory.js', 'public/js')
 .js('resources/assets/js/story-compose.js', 'public/js')
- .js('resources/assets/js/direct.js', 'public/js')
+.js('resources/assets/js/direct.js', 'public/js')
 .js('resources/assets/js/admin.js', 'public/js')
-.js('resources/assets/js/rempro.js', 'public/js')
-.js('resources/assets/js/rempos.js', 'public/js')
+.js('resources/assets/js/spa.js', 'public/js')
+.js('resources/assets/js/stories.js', 'public/js')
+.js('resources/assets/js/portfolio.js', 'public/js')
+.js('resources/assets/js/installer.js', 'public/js')
+.js('resources/assets/js/admin_invite.js', 'public/js')
+.js('resources/assets/js/landing.js', 'public/js')
+.vue({ version: 2 });
+
+mix.extract();
+mix.version();
+
+const TerserPlugin = require('terser-webpack-plugin');
 
-.extract([
-	'lodash',
-	'popper.js',
-	'jquery',
-	'axios',
-	'bootstrap',
-	'vue',
-	'readmore-js'
-])
-.version();
+mix.options({
+    processCssUrls: false,
+    terser: {
+        parallel: true,
+        terserOptions: {
+            compress: true,
+            output: {
+                comments: false
+            }
+        }
+    }
+})
+mix.webpackConfig({
+    optimization: {
+        providedExports: false,
+        sideEffects: false,
+        usedExports: false,
+        minimize: true,
+        minimizer: [ new TerserPlugin({
+            extractComments: false,
+        })]
+    },
+    output: {
+        chunkFilename: 'js/[name].[chunkhash].js',
+    }
+});
+mix.autoload({
+    jquery: ['$', 'jQuery', 'window.jQuery']
+});