'use strict';

let path = require('path');

let localDevConfig = {};
try {
	localDevConfig = require('./devConfig');
} catch (e) {}
let devConfig = Object.assign({}, require('./devConfig.defaults'), localDevConfig);

module.exports = {
	entry: devConfig.bundles,
	resolve: {
		modules: [path.resolve('.'), path.join(__dirname, 'node_modules')],
		alias: {
			i18nJson: 'nfvo-utils/i18n/locale.json',
			'nfvo-utils': 'src/nfvo-utils',
			'nfvo-components': 'src/nfvo-components',
			'sdc-app': 'src/sdc-app',
			'react-select/dist/' : 'node_modules/react-select/dist/',
			'jquery' : 'node_modules/restful-js/node_modules/jquery'
		}
	},
	module: {
		rules: [
			{test: /\.(js|jsx)$/, loader: 'source-map-loader', exclude: /node_modules/, enforce: 'pre'},
			{test: /\.(js|jsx)$/, use: [
				{loader : 'react-hot-loader'},
				{loader : 'babel-loader'},
				{loader : 'eslint-loader'}], exclude: /node_modules/},
			{test: /\.(css|scss)$/, use: [
				{loader: 'style-loader'},
				{loader: 'css-loader?sourceMap'},
				{loader: 'sass-loader?sourceMap', options: { output: { path: path.join(__dirname, 'dist') } }}]},

			// required for font icons
			{test: /\.(woff|woff2)(\?.*)?$/, loader: 'url-loader?limit=16384&mimetype=application/font-woff'},
			{test: /\.(ttf|eot|otf)(\?.*)?$/, loader: 'file-loader'},
			{test: /\.(png|jpg|svg)(\?.*)?$/, loader: 'url-loader?limit=16384', exclude: path.join(__dirname, 'resources/images/svg') },
			{test: /\.html$/, use: [ {loader: 'html-loader'}]}
			]
	},
	plugins: []
};
