| /**************************************************************************************** |
| * Webpack test configuration file |
| * Using the current configuration we are able to bundle all the files we need for our |
| * unit testings. |
| ***************************************************************************************/ |
| |
| |
| 'use strict'; |
| |
| /** |
| * Dependencies: |
| * path: node library for resolving full path names |
| * webpack: for use in our testings |
| */ |
| const path = require('path'); |
| const webpack = require('webpack'); |
| const helpers = require('./helpers'); |
| module.exports = { |
| /** |
| * Choose a developer tool to enhance debugging. inline-source-map - A SourceMap is added as DataUrl to the JavaScript file. |
| */ |
| devtool: 'inline-source-map', |
| |
| /** |
| * Set webpack loaders and preloaders for typescript, angular2, SASS and HTML, |
| * so that webpack will be able to process and bundle them. |
| */ |
| module: { |
| |
| rules: [ |
| { |
| test: /.ts$/, |
| exclude: /node_modules/, |
| use: [ |
| 'awesome-typescript-loader', |
| 'angular2-template-loader', |
| 'angular2-router-loader' |
| ] |
| }, |
| { test: /\.html$/, loader: "html-loader" }, |
| { |
| test: /.scss$/, |
| use: ['style-loader', 'css-loader', 'sass-loader'], |
| include: path.resolve(__dirname, '../') |
| }, |
| |
| ] |
| }, |
| |
| plugins: [ |
| // Workaround for angular/angular#11580 |
| new webpack.ContextReplacementPlugin( |
| // The (\\|\/) piece accounts for path separators in *nix and Windows |
| ///angular(\\|\/)core(\\|\/)@angular/, |
| /@angular(\\|\/)core(\\|\/)/, |
| helpers.root('./src'), // location of your src |
| {} // a map of your routes |
| ), |
| ], |
| |
| /** |
| * This section lets Webpack know which types of file extensions it should be loading. |
| */ |
| resolve: { |
| extensions: ['.js', '.ts'], |
| modules: [ |
| path.resolve('.', 'src'), |
| 'node_modules' |
| ] |
| }, |
| }; |