0.0.1 • Published 3 years ago

@michaelooo/webpack-utils v0.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

@michael/webpack-utils

babel.config.js

const getBabelLoaderOptions = require('@michael/webpack-utils/get-babel-loader-options');

const { presets, plugins } = getBabelLoaderOptions({
  ssr: true,
});

module.exports = {
  presets,
  plugins,
};

dev middleware

import WebpackConfigCreator from '@michael/webpack-utils';
import getEnvConfig from '@michael/webpack-utils/get-env-config';
import webpackDevMiddleware from 'webpack-dev-middleware';
import webpackHotMiddleware from 'webpack-hot-middleware';

const {
  dev,
  babelOutDir,
  distPath,
  publicPath,
} = getEnvConfig();

const { getWebpackConfig } = new WebpackConfigCreator({
  entry: {
    app: [
      './src/client/app.jsx',
    ],
  },
});

const compiler = webpack(getWebpackConfig({
  devFast,
  dev,
  distPath,
  publicPath,
  babelOutDir,
}));

const wdmInstance = webpackDevMiddleware(compiler, {
  publicPath,
});

app.use(wdmInstance);

app.use(webpackHotMiddleware(compiler));

build

import WebpackConfigCreator from '@michael/webpack-utils';
import getEnvConfig from '@michael/webpack-utils/get-env-config';

const {
  dev,
  babelOutDir,
  distPath,
  publicPath,
} = getEnvConfig();

const { getWebpackConfig } = new WebpackConfigCreator({
  entry: {
    app: [
      './src/client/app.jsx',
    ],
  },
});

webpack(getWebpackConfig({
  devFast,
  dev,
  distPath,
  publicPath,
  babelOutDir,
}));