Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 15518 | Rev 15521 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
10836 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 = {
10836 stevensc 8
	menu: {
9
		entry: './react-webpack/menu/index.js',
10
		output: path.join(__dirname, 'public/react-bundles/menu'),
11
		filename: 'menuBundle.js',
12
	},
13
	companySizes: {
14
		entry: './react-webpack/settings/company-sizes/index.js',
15
		output: path.join(__dirname, 'public/react-bundles/settings/company-sizes'),
16
		filename: 'companySizesBundle.js',
17
	},
15519 stevensc 18
	aptitudes: {
19
		entry: './react-webpack/settings/aptitudes/index.js',
20
		output: path.join(__dirname, 'public/react-bundles/settings/aptitudes'),
21
		filename: 'aptitudesBundle.js',
22
	},
10836 stevensc 23
	competencyTypes: {
24
		entry: './react-webpack/settings/competency-types/index.js',
25
		output: path.join(__dirname, 'public/react-bundles/settings/competency-types'),
26
		filename: 'competencyTypesBundle.js',
27
	},
28
	groupTypes: {
29
		entry: './react-webpack/settings/groups-types/index.js',
30
		output: path.join(__dirname, 'public/react-bundles/settings/group-types'),
31
		filename: 'groupTypesBundle.js',
32
	},
33
	industries: {
34
		entry: './react-webpack/settings/industries/index.js',
35
		output: path.join(__dirname, 'public/react-bundles/settings/industries'),
36
		filename: 'industriesBundle.js',
37
	},
38
	skills: {
39
		entry: './react-webpack/settings/skills/index.js',
40
		output: path.join(__dirname, 'public/react-bundles/settings/skills'),
41
		filename: 'skillsBundle.js',
42
	},
43
	degrees: {
44
		entry: './react-webpack/settings/degrees/index.js',
45
		output: path.join(__dirname, 'public/react-bundles/settings/degrees'),
46
		filename: 'degreesBundle.js',
47
	},
48
	categories: {
49
		entry: './react-webpack/settings/job-categories/index.js',
50
		output: path.join(__dirname, 'public/react-bundles/settings/job-categories'),
51
		filename: 'jobCategoriesBundle.js',
52
	},
53
	profile: {
54
		entry: './react-webpack/profile/index.js',
55
		output: path.join(__dirname, 'public/react-bundles/profile'),
56
		filename: 'profileBundle.js',
57
	},
58
	jobs: {
59
		entry: './react-webpack/jobs/index.js',
60
		output: path.join(__dirname, 'public/react-bundles/jobs'),
61
		filename: 'jobsBundle.js',
62
	},
63
	feeds: {
64
		entry: './react-webpack/feeds/index.js',
65
		output: path.join(__dirname, 'public/react-bundles/feeds'),
66
		filename: 'feedsBundle.js',
67
	},
68
	followers: {
69
		entry: './react-webpack/follower/index.js',
70
		output: path.join(__dirname, 'public/react-bundles/followers'),
71
		filename: 'followersBundle.js',
72
	},
73
	recruitment_and_selection_vacancies: {
74
		entry: './react-webpack/recruitment_and_selection/vacancies/index.js',
75
		output: path.join(__dirname, 'public/react-bundles/recruitment_and_selection/vacancies'),
76
		filename: 'vacanciesBundle.js',
77
	},
78
	recruitment_and_selection_candidates: {
79
		entry: './react-webpack/recruitment_and_selection/candidates/index.js',
80
		output: path.join(__dirname, 'public/react-bundles/recruitment_and_selection/candidates'),
81
		filename: 'candidatesBundle.js',
82
	},
83
	recruitment_and_selection_interviews: {
84
		entry: './react-webpack/recruitment_and_selection/interviews/index.js',
85
		output: path.join(__dirname, 'public/react-bundles/recruitment_and_selection/interviews'),
86
		filename: 'interviewsBundle.js',
11183 stevensc 87
	},
11467 stevensc 88
	chat: {
11379 stevensc 89
		entry: './react-webpack/chat/index.js',
90
		output: path.join(__dirname, 'public/react-bundles/chat'),
91
		filename: 'chatBundle.js',
11350 nelberth 92
	},
11349 nelberth 93
	mobileChat: {
11379 stevensc 94
		entry: './react-webpack/mobile-chat/index.js',
95
		output: path.join(__dirname, 'public/react-bundles/mobileChat'),
96
		filename: 'mobileChatBundle.js',
11467 stevensc 97
	},
11183 stevensc 98
	objetives_and_goals_planing: {
99
		objetives: {
100
			entry: './react-webpack/objetives_and_goals-planing/objetives/index.js',
101
			output: path.join(__dirname, 'public/react-bundles/objetives_and_goals-planing/objetives'),
102
			filename: 'objetivesBundle.js',
11468 stevensc 103
		},
104
		goals: {
105
			entry: './react-webpack/objetives_and_goals-planing/goals/index.js',
106
			output: path.join(__dirname, 'public/react-bundles/objetives_and_goals-planing/goals'),
107
			filename: 'goalsBundle.js',
11546 stevensc 108
		},
109
		tasks: {
110
			entry: './react-webpack/objetives_and_goals-planing/tasks/index.js',
111
			output: path.join(__dirname, 'public/react-bundles/objetives_and_goals-planing/tasks'),
112
			filename: 'tasksBundle.js',
11183 stevensc 113
		}
11960 stevensc 114
	},
115
	performance_evaluations: {
116
		forms: {
117
			entry: './react-webpack/performance_evaluations/forms/index.js',
118
			output: path.join(__dirname, 'public/react-bundles/performance_evaluations/forms'),
119
			filename: 'formsBundle.js',
12264 stevensc 120
		},
121
		evaluations: {
122
			entry: './react-webpack/performance_evaluations/evaluations/index.js',
123
			output: path.join(__dirname, 'public/react-bundles/performance_evaluations/evaluations'),
124
			filename: 'evaluationsBundle.js',
11960 stevensc 125
		}
12475 stevensc 126
	},
127
	organizational_climate: {
128
		forms: {
129
			entry: './react-webpack/organizational-climate/form/index.js',
130
			output: path.join(__dirname, 'public/react-bundles/organizational-climate/form'),
131
			filename: 'organizationalFormBundle.js',
132
		}
14183 stevensc 133
	},
134
	jobDescription: {
135
		entry: './react-webpack/job_description/index.js',
136
		output: path.join(__dirname, 'public/react-bundles/job_description'),
137
		filename: 'jobDescription.js',
138
	},
10836 stevensc 139
}
4586 stevensc 140
 
141
// change active path here
15519 stevensc 142
const currentPath = paths.aptitudes
4586 stevensc 143
 
144
module.exports = {
10836 stevensc 145
	entry: currentPath.entry,
146
	output: {
147
		path: currentPath.output,
148
		filename: currentPath.filename,
149
	},
150
	watch: isDevelopment ? true : false,
151
	mode: isDevelopment ? 'development' : 'production',
152
	resolve: {
153
		extensions: ['.js', '.jsx', '.scss'],
154
	},
155
	module: {
156
		rules: [
157
			{
158
				test: /(js|jsx)$/,
159
				use: ['babel-loader'],
160
				exclude: /node_modules/,
161
			},
162
			{
163
				test: /\.css$/i,
164
				use: [MiniCssExtractPlugin.loader, 'css-loader'],
165
			},
166
			{
167
				test: /\.module\.s(a|c)ss$/,
168
				use: [
169
					MiniCssExtractPlugin.loader,
170
					{
171
						loader: 'css-loader',
172
						options: {
173
							modules: {
174
								localIdentName: '[local]--[hash:base64:5]',
175
							},
176
							sourceMap: isDevelopment,
177
						},
178
					},
179
					{
180
						loader: 'sass-loader',
181
						options: {
182
							sourceMap: isDevelopment,
183
						},
184
					},
185
				],
186
			},
187
			{
188
				test: /\.s(a|c)ss$/,
189
				exclude: /\.module.(s(a|c)ss)$/,
190
				use: [
191
					MiniCssExtractPlugin.loader,
192
					'css-loader',
193
					{
194
						loader: 'sass-loader',
195
						options: {
196
							sourceMap: isDevelopment,
197
						},
198
					},
199
				],
200
			},
201
		],
202
	},
203
	plugins: [
204
		new MiniCssExtractPlugin({
205
			filename: '[name].css',
206
			chunkFilename: '[id].css',
207
		}),
208
	],
209
	optimization: {
210
		minimizer: [
211
			new TerserPlugin({
212
				extractComments: false,
213
			}),
214
		],
215
	},
216
}