Rev 15761 | Rev 16644 | 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 = {menu: {entry: "./react-webpack/menu/index.js",output: path.join(__dirname, "public/react-bundles/menu"),filename: "menuBundle.js",},companySizes: {entry: "./react-webpack/settings/company-sizes/index.js",output: path.join(__dirname, "public/react-bundles/settings/company-sizes"),filename: "companySizesBundle.js",},hobbies: {entry: "./react-webpack/settings/hobbies-and-interests/index.js",output: path.join(__dirname,"public/react-bundles/settings/hobbies-and-interests"),filename: "hobbiesAndInterestsBundle.js",},aptitudes: {entry: "./react-webpack/settings/aptitudes/index.js",output: path.join(__dirname, "public/react-bundles/settings/aptitudes"),filename: "aptitudesBundle.js",},competencyTypes: {entry: "./react-webpack/settings/competency-types/index.js",output: path.join(__dirname,"public/react-bundles/settings/competency-types"),filename: "competencyTypesBundle.js",},groupTypes: {entry: "./react-webpack/settings/groups-types/index.js",output: path.join(__dirname, "public/react-bundles/settings/group-types"),filename: "groupTypesBundle.js",},industries: {entry: "./react-webpack/settings/industries/index.js",output: path.join(__dirname, "public/react-bundles/settings/industries"),filename: "industriesBundle.js",},skills: {entry: "./react-webpack/settings/skills/index.js",output: path.join(__dirname, "public/react-bundles/settings/skills"),filename: "skillsBundle.js",},degrees: {entry: "./react-webpack/settings/degrees/index.js",output: path.join(__dirname, "public/react-bundles/settings/degrees"),filename: "degreesBundle.js",},categories: {entry: "./react-webpack/settings/job-categories/index.js",output: path.join(__dirname,"public/react-bundles/settings/job-categories"),filename: "jobCategoriesBundle.js",},profile: {entry: "./react-webpack/profile/index.js",output: path.join(__dirname, "public/react-bundles/profile"),filename: "profileBundle.js",},jobs: {entry: "./react-webpack/jobs/index.js",output: path.join(__dirname, "public/react-bundles/jobs"),filename: "jobsBundle.js",},feeds: {entry: "./react-webpack/feeds/index.js",output: path.join(__dirname, "public/react-bundles/feeds"),filename: "feedsBundle.js",},followers: {entry: "./react-webpack/follower/index.js",output: path.join(__dirname, "public/react-bundles/followers"),filename: "followersBundle.js",},recruitment_and_selection_vacancies: {entry: "./react-webpack/recruitment_and_selection/vacancies/index.js",output: path.join(__dirname,"public/react-bundles/recruitment_and_selection/vacancies"),filename: "vacanciesBundle.js",},recruitment_and_selection_candidates: {entry: "./react-webpack/recruitment_and_selection/candidates/index.js",output: path.join(__dirname,"public/react-bundles/recruitment_and_selection/candidates"),filename: "candidatesBundle.js",},recruitment_and_selection_interviews: {entry: "./react-webpack/recruitment_and_selection/interviews/index.js",output: path.join(__dirname,"public/react-bundles/recruitment_and_selection/interviews"),filename: "interviewsBundle.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",},objetives_and_goals_planing: {objetives: {entry: "./react-webpack/objetives_and_goals-planing/objetives/index.js",output: path.join(__dirname,"public/react-bundles/objetives_and_goals-planing/objetives"),filename: "objetivesBundle.js",},goals: {entry: "./react-webpack/objetives_and_goals-planing/goals/index.js",output: path.join(__dirname,"public/react-bundles/objetives_and_goals-planing/goals"),filename: "goalsBundle.js",},tasks: {entry: "./react-webpack/objetives_and_goals-planing/tasks/index.js",output: path.join(__dirname,"public/react-bundles/objetives_and_goals-planing/tasks"),filename: "tasksBundle.js",},},performance_evaluations: {forms: {entry: "./react-webpack/performance_evaluations/forms/index.js",output: path.join(__dirname,"public/react-bundles/performance_evaluations/forms"),filename: "formsBundle.js",},evaluations: {entry: "./react-webpack/performance_evaluations/evaluations/index.js",output: path.join(__dirname,"public/react-bundles/performance_evaluations/evaluations"),filename: "evaluationsBundle.js",},},organizational_climate: {forms: {entry: "./react-webpack/organizational-climate/form/index.js",output: path.join(__dirname,"public/react-bundles/organizational-climate/form"),filename: "organizationalFormBundle.js",},},jobDescription: {entry: "./react-webpack/job_description/index.js",output: path.join(__dirname, "public/react-bundles/job_description"),filename: "jobDescription.js",},};// change active path hereconst currentPath = paths.mobileChat;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,}),],},};