Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 11272 | Rev 11350 | 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
	},
18
	competencyTypes: {
19
		entry: './react-webpack/settings/competency-types/index.js',
20
		output: path.join(__dirname, 'public/react-bundles/settings/competency-types'),
21
		filename: 'competencyTypesBundle.js',
22
	},
23
	groupTypes: {
24
		entry: './react-webpack/settings/groups-types/index.js',
25
		output: path.join(__dirname, 'public/react-bundles/settings/group-types'),
26
		filename: 'groupTypesBundle.js',
27
	},
28
	industries: {
29
		entry: './react-webpack/settings/industries/index.js',
30
		output: path.join(__dirname, 'public/react-bundles/settings/industries'),
31
		filename: 'industriesBundle.js',
32
	},
33
	skills: {
34
		entry: './react-webpack/settings/skills/index.js',
35
		output: path.join(__dirname, 'public/react-bundles/settings/skills'),
36
		filename: 'skillsBundle.js',
37
	},
38
	degrees: {
39
		entry: './react-webpack/settings/degrees/index.js',
40
		output: path.join(__dirname, 'public/react-bundles/settings/degrees'),
41
		filename: 'degreesBundle.js',
42
	},
43
	categories: {
44
		entry: './react-webpack/settings/job-categories/index.js',
45
		output: path.join(__dirname, 'public/react-bundles/settings/job-categories'),
46
		filename: 'jobCategoriesBundle.js',
47
	},
48
	profile: {
49
		entry: './react-webpack/profile/index.js',
50
		output: path.join(__dirname, 'public/react-bundles/profile'),
51
		filename: 'profileBundle.js',
52
	},
53
	jobs: {
54
		entry: './react-webpack/jobs/index.js',
55
		output: path.join(__dirname, 'public/react-bundles/jobs'),
56
		filename: 'jobsBundle.js',
57
	},
58
	feeds: {
59
		entry: './react-webpack/feeds/index.js',
60
		output: path.join(__dirname, 'public/react-bundles/feeds'),
61
		filename: 'feedsBundle.js',
62
	},
63
	followers: {
64
		entry: './react-webpack/follower/index.js',
65
		output: path.join(__dirname, 'public/react-bundles/followers'),
66
		filename: 'followersBundle.js',
67
	},
68
	recruitment_and_selection_vacancies: {
69
		entry: './react-webpack/recruitment_and_selection/vacancies/index.js',
70
		output: path.join(__dirname, 'public/react-bundles/recruitment_and_selection/vacancies'),
71
		filename: 'vacanciesBundle.js',
72
	},
73
	recruitment_and_selection_candidates: {
74
		entry: './react-webpack/recruitment_and_selection/candidates/index.js',
75
		output: path.join(__dirname, 'public/react-bundles/recruitment_and_selection/candidates'),
76
		filename: 'candidatesBundle.js',
77
	},
78
	recruitment_and_selection_interviews: {
79
		entry: './react-webpack/recruitment_and_selection/interviews/index.js',
80
		output: path.join(__dirname, 'public/react-bundles/recruitment_and_selection/interviews'),
81
		filename: 'interviewsBundle.js',
11183 stevensc 82
	},
11349 nelberth 83
	mobileChat: {
84
		entry: "./react-webpack/mobile-chat/index.js",
85
		output: path.join(__dirname, "public/react-bundles/mobileChat"),
86
		filename: "mobileChatBundle.js",
87
	  },
11183 stevensc 88
	objetives_and_goals_planing: {
89
		objetives: {
90
			entry: './react-webpack/objetives_and_goals-planing/objetives/index.js',
91
			output: path.join(__dirname, 'public/react-bundles/objetives_and_goals-planing/objetives'),
92
			filename: 'objetivesBundle.js',
93
		}
10836 stevensc 94
	}
95
}
4586 stevensc 96
 
97
// change active path here
11272 stevensc 98
const currentPath = paths.companySizes
4586 stevensc 99
 
100
module.exports = {
10836 stevensc 101
	entry: currentPath.entry,
102
	output: {
103
		path: currentPath.output,
104
		filename: currentPath.filename,
105
	},
106
	watch: isDevelopment ? true : false,
107
	mode: isDevelopment ? 'development' : 'production',
108
	resolve: {
109
		extensions: ['.js', '.jsx', '.scss'],
110
	},
111
	module: {
112
		rules: [
113
			{
114
				test: /(js|jsx)$/,
115
				use: ['babel-loader'],
116
				exclude: /node_modules/,
117
			},
118
			{
119
				test: /\.css$/i,
120
				use: [MiniCssExtractPlugin.loader, 'css-loader'],
121
			},
122
			{
123
				test: /\.module\.s(a|c)ss$/,
124
				use: [
125
					MiniCssExtractPlugin.loader,
126
					{
127
						loader: 'css-loader',
128
						options: {
129
							modules: {
130
								localIdentName: '[local]--[hash:base64:5]',
131
							},
132
							sourceMap: isDevelopment,
133
						},
134
					},
135
					{
136
						loader: 'sass-loader',
137
						options: {
138
							sourceMap: isDevelopment,
139
						},
140
					},
141
				],
142
			},
143
			{
144
				test: /\.s(a|c)ss$/,
145
				exclude: /\.module.(s(a|c)ss)$/,
146
				use: [
147
					MiniCssExtractPlugin.loader,
148
					'css-loader',
149
					{
150
						loader: 'sass-loader',
151
						options: {
152
							sourceMap: isDevelopment,
153
						},
154
					},
155
				],
156
			},
157
		],
158
	},
159
	plugins: [
160
		new MiniCssExtractPlugin({
161
			filename: '[name].css',
162
			chunkFilename: '[id].css',
163
		}),
164
	],
165
	optimization: {
166
		minimizer: [
167
			new TerserPlugin({
168
				extractComments: false,
169
			}),
170
		],
171
	},
172
}