soiz1 commited on
Commit
2140e70
·
verified ·
1 Parent(s): 513d3e8

Update webpack.config.js

Browse files
Files changed (1) hide show
  1. webpack.config.js +19 -11
webpack.config.js CHANGED
@@ -1,16 +1,13 @@
1
  const defaultsDeep = require('lodash.defaultsdeep');
2
  var path = require('path');
3
  var webpack = require('webpack');
 
4
 
5
  // Plugins
6
- const WebpackShellPluginNext = require('webpack-shell-plugin-next');
7
  var CopyWebpackPlugin = require('copy-webpack-plugin');
8
  var HtmlWebpackPlugin = require('html-webpack-plugin');
9
  var TWGenerateServiceWorkerPlugin = require('./src/playground/generate-service-worker-plugin');
10
  var defaultsdeep = require('lodash.defaultsdeep');
11
- //var GhPagesWebpackPlugin = require('gh-pages-webpack-plugin');
12
-
13
-
14
 
15
  // PostCss
16
  var autoprefixer = require('autoprefixer');
@@ -29,6 +26,22 @@ const htmlWebpackPluginCommon = {
29
  meta: JSON.parse(process.env.EXTRA_META || '{}')
30
  };
31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  const base = {
33
  mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
34
  devtool: process.env.SOURCEMAP ? process.env.SOURCEMAP : process.env.NODE_ENV === 'production' ? false : 'cheap-module-source-map',
@@ -120,13 +133,8 @@ const base = {
120
  if (!process.env.CI) {
121
  base.plugins.push(new webpack.ProgressPlugin());
122
  }
123
- base.plugins.push(new WebpackShellPluginNext({
124
- onBuildEnd: {
125
- scripts: ['./upload.sh'],
126
- blocking: true, // ビルド完了まで待つ
127
- parallel: false
128
- }
129
- }));
130
 
131
  module.exports = [
132
  // to run editor examples
 
1
  const defaultsDeep = require('lodash.defaultsdeep');
2
  var path = require('path');
3
  var webpack = require('webpack');
4
+ const { exec } = require('child_process');
5
 
6
  // Plugins
 
7
  var CopyWebpackPlugin = require('copy-webpack-plugin');
8
  var HtmlWebpackPlugin = require('html-webpack-plugin');
9
  var TWGenerateServiceWorkerPlugin = require('./src/playground/generate-service-worker-plugin');
10
  var defaultsdeep = require('lodash.defaultsdeep');
 
 
 
11
 
12
  // PostCss
13
  var autoprefixer = require('autoprefixer');
 
26
  meta: JSON.parse(process.env.EXTRA_META || '{}')
27
  };
28
 
29
+ // カスタムプラグイン: ビルド完了後に upload.sh を実行
30
+ class UploadAfterBuildPlugin {
31
+ apply(compiler) {
32
+ compiler.hooks.done.tap('UploadAfterBuildPlugin', (stats) => {
33
+ exec('./upload.sh', (err, stdout, stderr) => {
34
+ if (err) {
35
+ console.error('Error executing upload.sh:', err);
36
+ return;
37
+ }
38
+ if (stdout) console.log(stdout);
39
+ if (stderr) console.error(stderr);
40
+ });
41
+ });
42
+ }
43
+ }
44
+
45
  const base = {
46
  mode: process.env.NODE_ENV === 'production' ? 'production' : 'development',
47
  devtool: process.env.SOURCEMAP ? process.env.SOURCEMAP : process.env.NODE_ENV === 'production' ? false : 'cheap-module-source-map',
 
133
  if (!process.env.CI) {
134
  base.plugins.push(new webpack.ProgressPlugin());
135
  }
136
+ // WebpackShellPluginNext の代わりにカスタムプラグインを追加
137
+ base.plugins.push(new UploadAfterBuildPlugin());
 
 
 
 
 
138
 
139
  module.exports = [
140
  // to run editor examples