Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // webpack.config.js
- const ExtractTextPlugin = require("extract-text-webpack-plugin");
- const HtmlWebpackPlugin = require("html-webpack-plugin");
- const CopyWebpackPlugin = require("copy-webpack-plugin");
- const nodeExternals = require("webpack-node-externals");
- let path = require("path");
- const env = process.env.NODE_ENV || "development";
- const generateHtml = env === "development" || env === "staging";
- console.log("env", env);
- module.exports = [
- {
- entry: {
- ecoalf20: "./src/house/ecoalf20.js",
- recrafted21: "./src/landings/recrafted21/index.js",
- shoecare: "./src/landings/shoecare/index.js",
- main: "./src/index.js",
- },
- target: "web",
- output: {
- path: __dirname + "/dist",
- filename: "[name]_[hash].js",
- },
- devServer: {
- contentBase: "./dist/",
- },
- module: {
- loaders: [
- {
- test: /\.js$/,
- exclude: /node_modules/,
- loader: "babel-loader",
- query: { presets: ["es2015", "stage-0"] },
- },
- {
- test: /\.(css|scss)$/,
- loader: ExtractTextPlugin.extract({
- fallbackLoader: "style-loader",
- loader: ["css-loader", "postcss-loader", "sass-loader"],
- }),
- },
- {
- test: /\.(jpe?g|png|gif|ttf|svg|eot|woff|woff2)$/i,
- loader: "file-loader?name=/assets/[path][name].[ext]&publicPath=.",
- },
- { test: /icon_.+\.(svg)$/i, loader: "url-loader" },
- { test: /\.html$/, loader: "html-loader" },
- ],
- },
- plugins: [
- new ExtractTextPlugin("./[name]_[hash].css"),
- new CopyWebpackPlugin([{ from: "./src/assets", to: "assets" }]),
- ].concat(
- generateHtml
- ? [
- new HtmlWebpackPlugin({
- filename: "preseason.html",
- template: "./src/kostadinov.html",
- chunks: ["preseason"],
- }),
- new HtmlWebpackPlugin({
- filename: "preseason_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["preseason"],
- }),
- new HtmlWebpackPlugin({
- filename: "covid19.html",
- template: "./src/kostadinov.html",
- chunks: ["covid19"],
- }),
- new HtmlWebpackPlugin({
- filename: "covid19_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["covid19"],
- }),
- new HtmlWebpackPlugin({
- filename: "lifetime.html",
- template: "./src/kostadinov.html",
- chunks: ["lifetime"],
- }),
- new HtmlWebpackPlugin({
- filename: "lifetime_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["lifetime"],
- }),
- new HtmlWebpackPlugin({
- filename: "sail.html",
- template: "./src/kostadinov.html",
- chunks: ["sail"],
- }),
- new HtmlWebpackPlugin({
- filename: "sail_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["sail"],
- }),
- new HtmlWebpackPlugin({
- filename: "iconic20_beetle.html",
- template: "./src/kostadinov.html",
- chunks: ["iconic20_beetle"],
- }),
- new HtmlWebpackPlugin({
- filename: "iconic20_beetle_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["iconic20_beetle"],
- }),
- new HtmlWebpackPlugin({
- filename: "iconic20_wabi.html",
- template: "./src/kostadinov.html",
- chunks: ["iconic20_wabi"],
- }),
- new HtmlWebpackPlugin({
- filename: "iconic20_wabi_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["iconic20_wabi"],
- }),
- new HtmlWebpackPlugin({
- filename: "freeform.html",
- template: "./src/kostadinov.html",
- chunks: ["freeform"],
- }),
- new HtmlWebpackPlugin({
- filename: "freeform_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["freeform"],
- }),
- new HtmlWebpackPlugin({
- filename: "iconic20_peu.html",
- template: "./src/kostadinov.html",
- chunks: ["iconic20_peu"],
- }),
- new HtmlWebpackPlugin({
- filename: "iconic20_peu_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["iconic20_peu"],
- }),
- new HtmlWebpackPlugin({
- filename: "iconic20_twins.html",
- template: "./src/boomer.html",
- chunks: ["iconic20_twins"],
- }),
- new HtmlWebpackPlugin({
- filename: "iconic20_twins_mb.html",
- template: "./src/boomer_mb.html",
- chunks: ["iconic20_twins"],
- }),
- new HtmlWebpackPlugin({
- filename: "iconic20_pelotas.html",
- template: "./src/boomer.html",
- chunks: ["iconic20_pelotas"],
- }),
- new HtmlWebpackPlugin({
- filename: "iconic20_pelotas_mb.html",
- template: "./src/boomer_mb.html",
- chunks: ["iconic20_pelotas"],
- }),
- new HtmlWebpackPlugin({
- filename: "ecoalf20.html",
- template: "./src/kostadinov.html",
- chunks: ["ecoalf20"],
- }),
- new HtmlWebpackPlugin({
- filename: "ecoalf20_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["ecoalf20"],
- }),
- new HtmlWebpackPlugin({
- filename: "recrafted21.html",
- template: "./src/kostadinov.html",
- chunks: ["recrafted21"],
- }),
- new HtmlWebpackPlugin({
- filename: "recrafted21_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["recrafted21"],
- }),
- new HtmlWebpackPlugin({
- filename: "shoecare.html",
- template: "./src/kostadinov.html",
- chunks: ["shoecare"],
- }),
- new HtmlWebpackPlugin({
- filename: "shoecare_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["shoecare"],
- }),
- new HtmlWebpackPlugin({
- filename: "anniversary20.html",
- template: "./src/kostadinov.html",
- chunks: ["anniversary20"],
- }),
- new HtmlWebpackPlugin({
- filename: "anniversary20_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["anniversary20"],
- }),
- new HtmlWebpackPlugin({
- filename: "penades20.html",
- template: "./src/kostadinov.html",
- chunks: ["penades20"],
- }),
- new HtmlWebpackPlugin({
- filename: "penades20_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["penades20"],
- }),
- new HtmlWebpackPlugin({
- filename: "portaferrisa.html",
- template: "./src/kostadinov.html",
- chunks: ["portaferrisa"],
- }),
- new HtmlWebpackPlugin({
- filename: "portaferrisa_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["portaferrisa"],
- }),
- new HtmlWebpackPlugin({
- filename: "goretex20.html",
- template: "./src/kostadinov.html",
- chunks: ["goretex20"],
- }),
- new HtmlWebpackPlugin({
- filename: "goretex20_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["goretex20"],
- }),
- new HtmlWebpackPlugin({
- filename: "pop20.html",
- template: "./src/kostadinov.html",
- chunks: ["pop20"],
- }),
- new HtmlWebpackPlugin({
- filename: "pop20_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["pop20"],
- }),
- new HtmlWebpackPlugin({
- filename: "neon.html",
- template: "./src/kostadinov.html",
- chunks: ["neon"],
- }),
- new HtmlWebpackPlugin({
- filename: "neon_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["neon"],
- }),
- new HtmlWebpackPlugin({
- filename: "willhelm20.html",
- template: "./src/kostadinov.html",
- chunks: ["willhelm20"],
- }),
- new HtmlWebpackPlugin({
- filename: "willhelm20_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["willhelm20"],
- }),
- new HtmlWebpackPlugin({
- filename: "boomer_crclr.html",
- template: "./src/boomer.html",
- chunks: ["boomer_crclr"],
- }),
- new HtmlWebpackPlugin({
- filename: "boomer_crclr_mb.html",
- template: "./src/boomer_mb.html",
- chunks: ["boomer_crclr_mobile"],
- }),
- new HtmlWebpackPlugin({
- filename: "boomer_courb.html",
- template: "./src/boomer.html",
- chunks: ["boomer_courb"],
- }),
- new HtmlWebpackPlugin({
- filename: "boomer_courb_mb.html",
- template: "./src/boomer_mb.html",
- chunks: ["boomer_courb_mobile"],
- }),
- new HtmlWebpackPlugin({
- filename: "boomer_nothing.html",
- template: "./src/boomer.html",
- chunks: ["boomer_nothing"],
- }),
- new HtmlWebpackPlugin({
- filename: "boomer_nothing_mb.html",
- template: "./src/boomer_mb.html",
- chunks: ["boomer_nothing_mobile"],
- }),
- new HtmlWebpackPlugin({
- filename: "index.html",
- template: "./src/index.html",
- chunks: ["main"],
- }),
- new HtmlWebpackPlugin({
- filename: "mobile.html",
- template: "./src/mobile.html",
- chunks: ["main"],
- }),
- new HtmlWebpackPlugin({
- filename: "willhelm.html",
- template: "./src/kostadinov.html",
- chunks: ["willhelm"],
- }),
- new HtmlWebpackPlugin({
- filename: "willhelm_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["willhelm"],
- }),
- new HtmlWebpackPlugin({
- filename: "twins_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["twins"],
- }),
- new HtmlWebpackPlugin({
- filename: "twins.html",
- template: "./src/kostadinov.html",
- chunks: ["twins"],
- }),
- new HtmlWebpackPlugin({
- filename: "pelotas_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["pelotas"],
- }),
- new HtmlWebpackPlugin({
- filename: "pelotas.html",
- template: "./src/kostadinov.html",
- chunks: ["pelotas"],
- }),
- new HtmlWebpackPlugin({
- filename: "beetle_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["beetle"],
- }),
- new HtmlWebpackPlugin({
- filename: "beetle.html",
- template: "./src/kostadinov.html",
- chunks: ["beetle"],
- }),
- new HtmlWebpackPlugin({
- filename: "peu_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["peu"],
- }),
- new HtmlWebpackPlugin({
- filename: "peu.html",
- template: "./src/kostadinov.html",
- chunks: ["peu"],
- }),
- new HtmlWebpackPlugin({
- filename: "technology.html",
- template: "./src/kostadinov.html",
- chunks: ["technology"],
- }),
- new HtmlWebpackPlugin({
- filename: "technology_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["technology"],
- }),
- new HtmlWebpackPlugin({
- filename: "technology_kids.html",
- template: "./src/kostadinov.html",
- chunks: ["technology_kids"],
- }),
- new HtmlWebpackPlugin({
- filename: "technology_kids_mb.html",
- template: "./src/kostadinov_mb.html",
- chunks: ["technology_kids"],
- }),
- new HtmlWebpackPlugin({
- filename: "stores.html",
- template: "./src/stores.html",
- chunks: ["stores"],
- }),
- new HtmlWebpackPlugin({
- filename: "stores.mb.html",
- template: "./src/stores.mb.html",
- chunks: ["stores"],
- }),
- ]
- : []
- ),
- resolve: {
- alias: {
- react: "preact-compat",
- "react-dom": "preact-compat",
- // Not necessary unless you consume a module using `createClass`
- "create-react-class": "preact-compat/lib/create-react-class",
- // Not necessary unless you consume a module requiring `react-dom-factories`
- "react-dom-factories": "preact-compat/lib/react-dom-factories",
- },
- },
- },
- {
- target: "node",
- externals: [nodeExternals()],
- entry: {
- render: "./src/render.js",
- },
- output: {
- path: __dirname + "/dist",
- filename: "render.js",
- library: "app",
- libraryTarget: "commonjs2",
- },
- devServer: {
- contentBase: "./dist/",
- },
- module: {
- loaders: [
- {
- test: /\.js$/,
- exclude: /node_modules/,
- loader: "babel-loader",
- query: { presets: ["es2015", "stage-0"] },
- },
- { test: /\.(css|scss)$/, loader: "css-loader/locals" },
- {
- test: /\.(jpe?g|png|gif|ttf|woff2|svg|eot|woff)$/i,
- loader:
- "file-loader?name=/assets/[path][name].[ext]&publicPath=.&emitFile=false",
- },
- { test: /icon_.+\.(svg)$/i, loader: "url-loader" },
- { test: /\.html$/, loader: "html-loader" },
- ],
- },
- plugins: [],
- },
- ];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement