Rev 218 | Rev 281 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
const path = require("path");const isDevelopment = process.env.NODE_ENV === "development";const MiniCssExtractPlugin = require("mini-css-extract-plugin");const TerserPlugin = require("terser-webpack-plugin");// Add paths while bundlingconst paths = {dashboard: {entry: "./react-webpack/dashboard/components/index.js",output: path.join(__dirname, "public/react-bundles/dashboard"),filename: "dashboardBundle.js",},dashboard2: {entry: "./react-webpack/dashboard/components/dashboard2.js",output: path.join(__dirname, "public/react-bundles/dashboard"),filename: "dashboardBundle2.js",},myProfiles: {entry: "./react-webpack/profile/my-profiles/my-profiles/index.js",output: path.join(__dirname,"public/react-bundles/my-profiles/my-profiles"),filename: "myProfilesBundle.js",},peopleViewedProfile: {entry: "./react-webpack/profile/people-viewed-profile/index.js",output: path.join(__dirname,"public/react-bundles/profile/people-viewed-profile"),filename: "peopleViewedProfileBundle.js",},profileView: {entry: "./react-webpack/profile/view/index.js",output: path.join(__dirname, "public/react-bundles/profile/view"),filename: "profileViewBundle.js",},profileEdit: {entry: "./react-webpack/profile/my-profiles/edit/index.js",output: path.join(__dirname, "public/react-bundles/profile/edit"),filename: "profileEditBundle.js",},myConnections: {entry: "./react-webpack/connection/my-connections/index.js",output: path.join(__dirname,"public/react-bundles/connection/my-connections"),filename: "myConnectionsBundle.js",},invitationsReceived: {entry: "./react-webpack/connection/invitations-received/index.js",output: path.join(__dirname,"public/react-bundles/connection/invitations-received"),filename: "invitationsReceivedBundle.js",},invitationsSent: {entry: "./react-webpack/connection/invitations-sent/index.js",output: path.join(__dirname,"public/react-bundles/connection/invitations-sent"),filename: "invitationsSentBundle.js",},peopleYouMayKnow: {entry: "./react-webpack/connection/people-you-may-know/index.js",output: path.join(__dirname,"public/react-bundles/connection/people-you-may-know"),filename: "peopleYouMayKnowBundle.js",},peopleBlocked: {entry: "./react-webpack/connection/people-blocked/index.js",output: path.join(__dirname,"public/react-bundles/connection/people-blocked"),filename: "peopleBlockedBundle.js",},myCompanies: {entry: "./react-webpack/company/my-companies/index.js",output: path.join(__dirname, "public/react-bundles/my-companies"),filename: "myCompaniesBundle.js",},followingCompanies: {entry: "./react-webpack/company/following-companies/index.js",output: path.join(__dirname, "public/react-bundles/following-companies"),filename: "followingCompaniesBundle.js",},companiesIWorkWith: {entry: "./react-webpack/company/i-work-with/index.js",output: path.join(__dirname, "public/react-bundles/company/i-work-with"),filename: "iWorkWithBundle.js",},companiesRequestSent: {entry: "./react-webpack/company/request-sent/index.js",output: path.join(__dirname, "public/react-bundles/company/request-sent"),filename: "requestSentBundle.js",},companiesInvitationsReceived: {entry: "./react-webpack/company/invitations-received/index.js",output: path.join(__dirname,"public/react-bundles/company/invitations-received"),filename: "invitationsReceivedBundle.js",},companyView: {entry: "./react-webpack/company/view/index.js",output: path.join(__dirname, "public/react-bundles/company/view"),filename: "companyViewBundle.js",},appliedJobs: {entry: "./react-webpack/job/applied-jobs/index.js",output: path.join(__dirname, "public/react-bundles/job/applied-jobs"),filename: "appliedJobsBundle.js",},savedJobs: {entry: "./react-webpack/job/saved-jobs/index.js",output: path.join(__dirname, "public/react-bundles/job/saved-jobs"),filename: "savedJobsBundle.js",},jobView: {entry: "./react-webpack/job/view/index.js",output: path.join(__dirname, "public/react-bundles/job/view"),filename: "jobViewBundle.js",},authSignin: {entry: "./react-webpack/auth/signin-section/index.js",output: path.join(__dirname, "public/react-bundles/auth/signin"),filename: "signinBundle.js",},myGroups: {entry: "./react-webpack/group/my-groups/my-groups/index.js",output: path.join(__dirname, "public/react-bundles/my-groups"),filename: "myGroupsBundle.js",},groupEdit: {entry: "./react-webpack/group/my-groups/edit/index.js",output: path.join(__dirname, "public/react-bundles/groupEdit"),filename: "groupEdit.js",},groupView: {entry: "./react-webpack/group/view/index.js",output: path.join(__dirname, "public/react-bundles/group/groupView"),filename: "groupView.js",},joinedGroups: {entry: "./react-webpack/group/joined-groups/index.js",output: path.join(__dirname, "public/react-bundles/group/joined-groups"),filename: "joinedGroupsBundle.js",},groupRequestsSent: {entry: "./react-webpack/group/requests-sent/index.js",output: path.join(__dirname, "public/react-bundles/group/requests-sent"),filename: "requestSentBundle.js",},groupInvitationsReceived: {entry: "./react-webpack/group/invitations-received/index.js",output: path.join(__dirname,"public/react-bundles/group/invitations-received"),filename: "invitationsReceivedBundle.js",},accountSettings: {entry: "./react-webpack/account-settings/index.js",output: path.join(__dirname, "public/react-bundles/account-settings"),filename: "accountSettingsBundle.js",},navBar: {entry: "./react-webpack/navbar/index.js",output: path.join(__dirname, "public/react-bundles/navbar"),filename: "navbarBundle.js",},chat: {entry: "./react-webpack/chat/index.js",output: path.join(__dirname, "public/react-bundles/chat"),filename: "chatBundle.js",},mobileChat: {entry: "./react-webpack/mobile-chat/index.js",output: path.join(__dirname, "public/react-bundles/mobileChat"),filename: "mobileChatBundle.js",},inmail: {entry: "./react-webpack/inmail/index.js",output: path.join(__dirname, "public/react-bundles/inmail"),filename: "inmailBundle.js",},marketplace: {entry: "./react-webpack/marketplace/index.js",output: path.join(__dirname, "public/react-bundles/marketplace"),filename: "marketplaceBundle.js",},profileMicrolearning: {entry: "./react-webpack/profile-microlearning/index.js",output: path.join(__dirname, "public/react-bundles/profile-microlearning"),filename: "profileMicrolearningBundle.js",},resetPassword: {entry: "./react-webpack/auth/signin-section/signin-section/reset-password/index.js",output: path.join(__dirname, "public/react-bundles/auth/reset-password"),filename: "resetPasswordBundle.js",},search: {entry: "./react-webpack/search/index.js",output: path.join(__dirname, "public/react-bundles/search"),filename: "searchBundle.js",},postView: {entry: "./react-webpack/dashboard/post/index.js",output: path.join(__dirname, "public/react-bundles/postView"),filename: "postViewBundle.js",},};// change active path hereconst currentPath = paths.groupEdit;module.exports = {entry: currentPath.entry,output: {path: currentPath.output,filename: currentPath.filename,},watch: isDevelopment ? true : false,mode: isDevelopment ? "development" : "production",resolve: {extensions: [".js", ".jsx", ".scss"],},module: {rules: [{test: /(js|jsx)$/,use: ["babel-loader"],exclude: /node_modules/,},{test: /\.css$/i,use: [MiniCssExtractPlugin.loader, "css-loader"],},{test: /\.module\.s(a|c)ss$/,use: [MiniCssExtractPlugin.loader,{loader: "css-loader",options: {modules: {localIdentName: "[local]--[hash:base64:5]",},sourceMap: isDevelopment,},},{loader: "sass-loader",options: {sourceMap: isDevelopment,},},],},{test: /\.s(a|c)ss$/,exclude: /\.module.(s(a|c)ss)$/,use: [MiniCssExtractPlugin.loader,"css-loader",{loader: "sass-loader",options: {sourceMap: isDevelopment,},},],},],},plugins: [new MiniCssExtractPlugin({filename: "[name].css",chunkFilename: "[id].css",}),],optimization: {minimizer: [new TerserPlugin({extractComments: false,}),],},};