Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 16794 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
16781 stevensc 1
const path = require('path')
2
const isDevelopment = process.env.NODE_ENV === 'development'
3
const MiniCssExtractPlugin = require('mini-css-extract-plugin')
4
const TerserPlugin = require('terser-webpack-plugin')
4586 stevensc 5
 
6
// Add paths while bundling
7
const paths = {
16644 stevensc 8
  menu: {
16781 stevensc 9
    entry: './react-webpack/menu/index.js',
10
    output: path.join(__dirname, 'public/react-bundles/menu'),
11
    filename: 'menuBundle.js'
16644 stevensc 12
  },
13
  companySizes: {
16781 stevensc 14
    entry: './react-webpack/settings/company-sizes/index.js',
15
    output: path.join(__dirname, 'public/react-bundles/settings/company-sizes'),
16
    filename: 'companySizesBundle.js'
16644 stevensc 17
  },
18
  hobbies: {
16781 stevensc 19
    entry: './react-webpack/settings/hobbies-and-interests/index.js',
16644 stevensc 20
    output: path.join(
21
      __dirname,
16781 stevensc 22
      'public/react-bundles/settings/hobbies-and-interests'
16644 stevensc 23
    ),
16781 stevensc 24
    filename: 'hobbiesAndInterestsBundle.js'
16644 stevensc 25
  },
26
  aptitudes: {
16781 stevensc 27
    entry: './react-webpack/settings/aptitudes/index.js',
28
    output: path.join(__dirname, 'public/react-bundles/settings/aptitudes'),
29
    filename: 'aptitudesBundle.js'
16644 stevensc 30
  },
31
  competencyTypes: {
16781 stevensc 32
    entry: './react-webpack/settings/competency-types/index.js',
16644 stevensc 33
    output: path.join(
34
      __dirname,
16781 stevensc 35
      'public/react-bundles/settings/competency-types'
16644 stevensc 36
    ),
16781 stevensc 37
    filename: 'competencyTypesBundle.js'
16644 stevensc 38
  },
39
  groupTypes: {
16781 stevensc 40
    entry: './react-webpack/settings/groups-types/index.js',
41
    output: path.join(__dirname, 'public/react-bundles/settings/group-types'),
42
    filename: 'groupTypesBundle.js'
16644 stevensc 43
  },
44
  industries: {
16781 stevensc 45
    entry: './react-webpack/settings/industries/index.js',
46
    output: path.join(__dirname, 'public/react-bundles/settings/industries'),
47
    filename: 'industriesBundle.js'
16644 stevensc 48
  },
49
  skills: {
16781 stevensc 50
    entry: './react-webpack/settings/skills/index.js',
51
    output: path.join(__dirname, 'public/react-bundles/settings/skills'),
52
    filename: 'skillsBundle.js'
16644 stevensc 53
  },
54
  degrees: {
16781 stevensc 55
    entry: './react-webpack/settings/degrees/index.js',
56
    output: path.join(__dirname, 'public/react-bundles/settings/degrees'),
57
    filename: 'degreesBundle.js'
16644 stevensc 58
  },
59
  categories: {
16781 stevensc 60
    entry: './react-webpack/settings/job-categories/index.js',
16644 stevensc 61
    output: path.join(
62
      __dirname,
16781 stevensc 63
      'public/react-bundles/settings/job-categories'
16644 stevensc 64
    ),
16781 stevensc 65
    filename: 'jobCategoriesBundle.js'
16644 stevensc 66
  },
67
  aptitudes: {
16781 stevensc 68
    entry: './react-webpack/settings/aptitudes/index.js',
69
    output: path.join(__dirname, 'public/react-bundles/settings/aptitudes'),
70
    filename: 'aptitudesBundle.js'
16644 stevensc 71
  },
72
  hobbiesAndInterests: {
16781 stevensc 73
    entry: './react-webpack/settings/hobbies-and-interests/index.js',
16644 stevensc 74
    output: path.join(
75
      __dirname,
16781 stevensc 76
      'public/react-bundles/settings/hobbies-and-interests'
16644 stevensc 77
    ),
16781 stevensc 78
    filename: 'hobbiesAndInterestsBundle.js'
16644 stevensc 79
  },
80
  profile: {
16781 stevensc 81
    entry: './react-webpack/profile/index.js',
82
    output: path.join(__dirname, 'public/react-bundles/profile'),
83
    filename: 'profileBundle.js'
16644 stevensc 84
  },
85
  jobs: {
16781 stevensc 86
    entry: './react-webpack/jobs/index.js',
87
    output: path.join(__dirname, 'public/react-bundles/jobs'),
88
    filename: 'jobsBundle.js'
16644 stevensc 89
  },
90
  feeds: {
16781 stevensc 91
    entry: './react-webpack/feeds/index.js',
92
    output: path.join(__dirname, 'public/react-bundles/feeds'),
93
    filename: 'feedsBundle.js'
16644 stevensc 94
  },
95
  followers: {
16781 stevensc 96
    entry: './react-webpack/follower/index.js',
97
    output: path.join(__dirname, 'public/react-bundles/followers'),
98
    filename: 'followersBundle.js'
16644 stevensc 99
  },
100
  recruitment_and_selection_vacancies: {
16781 stevensc 101
    entry: './react-webpack/recruitment_and_selection/vacancies/index.js',
16644 stevensc 102
    output: path.join(
103
      __dirname,
16781 stevensc 104
      'public/react-bundles/recruitment_and_selection/vacancies'
16644 stevensc 105
    ),
16781 stevensc 106
    filename: 'vacanciesBundle.js'
16644 stevensc 107
  },
108
  recruitment_and_selection_candidates: {
16781 stevensc 109
    entry: './react-webpack/recruitment_and_selection/candidates/index.js',
16644 stevensc 110
    output: path.join(
111
      __dirname,
16781 stevensc 112
      'public/react-bundles/recruitment_and_selection/candidates'
16644 stevensc 113
    ),
16781 stevensc 114
    filename: 'candidatesBundle.js'
16644 stevensc 115
  },
116
  recruitment_and_selection_interviews: {
16781 stevensc 117
    entry: './react-webpack/recruitment_and_selection/interviews/index.js',
16644 stevensc 118
    output: path.join(
119
      __dirname,
16781 stevensc 120
      'public/react-bundles/recruitment_and_selection/interviews'
16644 stevensc 121
    ),
16781 stevensc 122
    filename: 'interviewsBundle.js'
16644 stevensc 123
  },
124
  chat: {
16781 stevensc 125
    entry: './react-webpack/chat/index.js',
126
    output: path.join(__dirname, 'public/react-bundles/chat'),
127
    filename: 'chatBundle.js'
16644 stevensc 128
  },
129
  mobileChat: {
16781 stevensc 130
    entry: './react-webpack/mobile-chat/index.js',
131
    output: path.join(__dirname, 'public/react-bundles/mobileChat'),
132
    filename: 'mobileChatBundle.js'
16644 stevensc 133
  },
134
  objetives_and_goals_planing: {
135
    objetives: {
16781 stevensc 136
      entry: './react-webpack/objetives_and_goals-planing/objetives/index.js',
16644 stevensc 137
      output: path.join(
138
        __dirname,
16781 stevensc 139
        'public/react-bundles/objetives_and_goals-planing/objetives'
16644 stevensc 140
      ),
16781 stevensc 141
      filename: 'objetivesBundle.js'
16644 stevensc 142
    },
143
    goals: {
16781 stevensc 144
      entry: './react-webpack/objetives_and_goals-planing/goals/index.js',
16644 stevensc 145
      output: path.join(
146
        __dirname,
16781 stevensc 147
        'public/react-bundles/objetives_and_goals-planing/goals'
16644 stevensc 148
      ),
16781 stevensc 149
      filename: 'goalsBundle.js'
16644 stevensc 150
    },
151
    tasks: {
16781 stevensc 152
      entry: './react-webpack/objetives_and_goals-planing/tasks/index.js',
16644 stevensc 153
      output: path.join(
154
        __dirname,
16781 stevensc 155
        'public/react-bundles/objetives_and_goals-planing/tasks'
16644 stevensc 156
      ),
16781 stevensc 157
      filename: 'tasksBundle.js'
158
    }
16644 stevensc 159
  },
160
  performance_evaluations: {
161
    forms: {
16781 stevensc 162
      entry: './react-webpack/performance_evaluations/forms/index.js',
16644 stevensc 163
      output: path.join(
164
        __dirname,
16781 stevensc 165
        'public/react-bundles/performance_evaluations/forms'
16644 stevensc 166
      ),
16781 stevensc 167
      filename: 'formsBundle.js'
16644 stevensc 168
    },
169
    evaluations: {
16781 stevensc 170
      entry: './react-webpack/performance_evaluations/evaluations/index.js',
16644 stevensc 171
      output: path.join(
172
        __dirname,
16781 stevensc 173
        'public/react-bundles/performance_evaluations/evaluations'
16644 stevensc 174
      ),
16781 stevensc 175
      filename: 'evaluationsBundle.js'
176
    }
16644 stevensc 177
  },
178
  organizational_climate: {
179
    forms: {
16781 stevensc 180
      entry: './react-webpack/organizational-climate/form/index.js',
16644 stevensc 181
      output: path.join(
182
        __dirname,
16781 stevensc 183
        'public/react-bundles/organizational-climate/form'
16644 stevensc 184
      ),
16781 stevensc 185
      filename: 'organizationalFormBundle.js'
186
    }
16644 stevensc 187
  },
188
  jobDescription: {
16781 stevensc 189
    entry: './react-webpack/job_description/index.js',
190
    output: path.join(__dirname, 'public/react-bundles/job_description'),
191
    filename: 'jobDescription.js'
192
  }
193
}
4586 stevensc 194
 
15761 stevensc 195
// change active path here
16813 stevensc 196
const currentPath = paths.feeds
4586 stevensc 197
 
198
module.exports = {
16644 stevensc 199
  entry: currentPath.entry,
200
  output: {
201
    path: currentPath.output,
16781 stevensc 202
    filename: currentPath.filename
16644 stevensc 203
  },
204
  watch: isDevelopment ? true : false,
16781 stevensc 205
  mode: isDevelopment ? 'development' : 'production',
16644 stevensc 206
  resolve: {
16781 stevensc 207
    extensions: ['.js', '.jsx', '.scss']
16644 stevensc 208
  },
209
  module: {
210
    rules: [
211
      {
212
        test: /(js|jsx)$/,
16781 stevensc 213
        use: ['babel-loader'],
214
        exclude: /node_modules/
16644 stevensc 215
      },
216
      {
217
        test: /\.css$/i,
16781 stevensc 218
        use: [MiniCssExtractPlugin.loader, 'css-loader']
16644 stevensc 219
      },
220
      {
221
        test: /\.module\.s(a|c)ss$/,
222
        use: [
223
          MiniCssExtractPlugin.loader,
224
          {
16781 stevensc 225
            loader: 'css-loader',
16644 stevensc 226
            options: {
227
              modules: {
16781 stevensc 228
                localIdentName: '[local]--[hash:base64:5]'
16644 stevensc 229
              },
16781 stevensc 230
              sourceMap: isDevelopment
231
            }
16644 stevensc 232
          },
233
          {
16781 stevensc 234
            loader: 'sass-loader',
16644 stevensc 235
            options: {
16781 stevensc 236
              sourceMap: isDevelopment
237
            }
238
          }
239
        ]
16644 stevensc 240
      },
241
      {
242
        test: /\.s(a|c)ss$/,
243
        exclude: /\.module.(s(a|c)ss)$/,
244
        use: [
245
          MiniCssExtractPlugin.loader,
16781 stevensc 246
          'css-loader',
16644 stevensc 247
          {
16781 stevensc 248
            loader: 'sass-loader',
16644 stevensc 249
            options: {
16781 stevensc 250
              sourceMap: isDevelopment
251
            }
252
          }
253
        ]
254
      }
255
    ]
16644 stevensc 256
  },
257
  plugins: [
258
    new MiniCssExtractPlugin({
16781 stevensc 259
      filename: '[name].css',
260
      chunkFilename: '[id].css'
261
    })
16644 stevensc 262
  ],
263
  optimization: {
264
    minimizer: [
265
      new TerserPlugin({
16781 stevensc 266
        extractComments: false
267
      })
268
    ]
269
  }
270
}