Yuki Takei 9 лет назад
Родитель
Сommit
3b5553e555
4 измененных файлов с 65 добавлено и 0 удалено
  1. 1 0
      package.json
  2. 10 0
      plugin/package.json
  3. 1 0
      plugin/plugin.js
  4. 53 0
      webpack.plugin.config.js

+ 1 - 0
package.json

@@ -111,6 +111,7 @@
     "test": "gulp test",
     "build": "gulp",
     "webpack": "webpack",
+    "webpack:plugin": "webpack --config webpack.plugin.config.js",
     "postinstall": "gulp"
   },
   "env": {

+ 10 - 0
plugin/package.json

@@ -0,0 +1,10 @@
+{
+  "name": "crowi-plugin",
+  "version": "1.0.0",
+  "description": "",
+  "main": "plugin.js",
+  "scripts": {
+    "test": "echo \"Error: no test specified\" && exit 1"
+  },
+  "license": "MIT"
+}

+ 1 - 0
plugin/plugin.js

@@ -0,0 +1 @@
+require('path');

+ 53 - 0
webpack.plugin.config.js

@@ -0,0 +1,53 @@
+var path = require('path');
+var webpack = require('webpack');
+
+var ManifestPlugin = require('webpack-manifest-plugin');
+
+var config = {
+  entry: {
+    plugin: './plugin/plugin.js',
+  },
+  output: {
+    path: path.join(__dirname + "/public/js"),
+    filename: "[name].[hash].js"
+  },
+  resolve: {
+    modulesDirectories: [
+      './node_modules', './plugin/node_modules',
+    ],
+  },
+  module: {
+    loaders: [
+      {
+        test: /.jsx?$/,
+        loader: 'babel-loader',
+        exclude: /node_modules/,
+        query: {
+          presets: ['es2015', 'react']
+        }
+      }
+    ]
+  },
+  plugins: []
+};
+
+if (process.env && process.env.NODE_ENV !== 'development') {
+  config.plugins = [
+    new webpack.DefinePlugin({
+      'process.env':{
+        'NODE_ENV': JSON.stringify('production')
+      }
+    }),
+    new webpack.optimize.UglifyJsPlugin({
+      compress:{
+        warnings: false
+      }
+    }),
+  ];
+}
+
+config.plugins.push(new ManifestPlugin({
+  fileName: 'manifest-plugin.json'
+}));
+
+module.exports = config;