Rev 15380 | Rev 15474 | 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',},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.jobsmodule.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,}),],},}