title: How to Prevent Webpack Error after npm Install?
body: <p>I was working on a project, and everything was going good, until I did <code>npm install</code>.</p>
  
  <p>Then, Webpack throws the following error:</p>
  
  <pre><code>new ForkCheckerPlugin(),
          ^
  TypeError: ForkCheckerPlugin is not a constructor
      at makeWebpackConfig (/home/nsanz/Documentos/git/tachology/webpack.make.js:252:9)
      at Object.exports.default (/home/nsanz/Documentos/git/tachology/server/config/express.js:86:27)
      at Object.&lt;anonymous&gt; (/home/nsanz/Documentos/git/tachology/server/app.js:28:1)
      at Module._compile (module.js:570:32)
      at loader (/home/nsanz/Documentos/git/tachology/node_modules/babel-register/lib/node.js:144:5)
      at Object.require.extensions.(anonymous function) [as .js] (/home/nsanz/Documentos/git/tachology/node_modules/babel-register/lib/node.js:154:7)
      at Module.load (module.js:487:32)
      at tryModuleLoad (module.js:446:12)
      at Function.Module._load (module.js:438:3)
      at Module.require (module.js:497:17)
      at require (internal/module.js:20:19)
      at Object.&lt;anonymous&gt; (/home/nsanz/Documentos/git/tachology/server/index.js:12:28)
      at Module._compile (module.js:570:32)
      at Object.Module._extensions..js (module.js:579:10)
      at Module.load (module.js:487:32)
      at tryModuleLoad (module.js:446:12)
      at Function.Module._load (module.js:438:3)
      at Module.runMain (module.js:604:10)
      at run (bootstrap_node.js:389:7)
      at startup (bootstrap_node.js:149:9)
      at bootstrap_node.js:504:3  
  </code></pre>
  
  <p>My package.json looks like:</p>
  
  <pre><code> {
    "name": "tachology",
    "version": "0.0.0",
    "main": "server/index.js",
    "dependencies": {
      ...
    },
    "devDependencies": {
      "angular-mocks": "~1.6.0",
      "autoprefixer": "^7.1.2",
      "babel-core": "^6.6.5",
      "babel-eslint": "^7.2.3",
      "babel-register": "^6.6.5",
      "browser-sync": "^2.8.0",
      "bs-fullscreen-message": "^1.0.0",
      "babel-plugin-transform-class-properties": "^6.6.0",
      "babel-plugin-transform-runtime": "^6.6.0",
      "babel-preset-es2015": "^6.6.0",
      "eslint": "^4.3.0",
      "del": "^3.0.0",
      "gulp": "^3.9.1",
      "gulp-babel": "^6.1.2",
      "gulp-env": "^0.4.0",
      "gulp-eslint": "^4.0.0",
      "gulp-imagemin": "^3.0.1",
      "gulp-inject": "^4.0.0",
      "gulp-istanbul": "^1.1.1",
      "gulp-istanbul-enforcer": "^1.0.3",
      "gulp-load-plugins": "^1.0.0-rc.1",
      "gulp-mocha": "^4.3.1",
      "gulp-node-inspector": "^0.2.0",
      "gulp-plumber": "^1.0.1",
      "gulp-protractor": "^4.1.0",
      "gulp-rev": "^8.0.0",
      "gulp-rev-replace": "^0.4.2",
      "gulp-sort": "^2.0.0",
      "gulp-sourcemaps": "^2.6.0",
      "gulp-util": "^3.0.5",
      "gulp-watch": "^4.3.5",
      "gulp-stylint": "^4.0.0",
      "grunt": "^1.0.1",
      "grunt-build-control": "^0.7.0",
      "isparta": "^4.0.0",
      "nodemon": "^1.3.7",
      "run-sequence": "^2.1.0",
      "lazypipe": "^1.0.1",
      "webpack": "^3.4.1",
      "webpack-dev-middleware": "^1.5.1",
      "webpack-stream": "^3.2.0",
      "extract-text-webpack-plugin": "^3.0.0",
      "html-webpack-plugin": "^2.16.0",
      "html-webpack-harddisk-plugin": "~0.1.0",
      "pug-html-loader": "^1.0.8",
      "awesome-typescript-loader": "3.2.1",
      "ng-annotate-loader": "~0.6.1",
      "babel-loader": "^7.1.1",
      "css-loader": "^0.28.4",
      "file-loader": "^0.11.2",
      "imports-loader": "^0.7.1",
      "isparta-instrumenter-loader": "^1.0.0",
      "isparta-loader": "^2.0.0",
      "istanbul-instrumenter-loader": "^2.0.0",
      "null-loader": "^0.1.1",
      "postcss-loader": "^2.0.6",
      "raw-loader": "^0.5.1",
      "style-loader": "^0.18.2",
      "node-sass": "^4.5.3",
      "sass-loader": "^6.0.6",
      "karma-webpack": "^2.0.4",
      "through2": "^2.0.1",
      "open": "~0.0.4",
      "istanbul": "1.1.0-alpha.1",
      "chai": "^4.1.0",
      "sinon": "^2.4.1",
      "chai-as-promised": "^7.1.1",
      "chai-things": "^0.2.0",
      "karma": "~1.7.0",
      "karma-firefox-launcher": "^1.0.0",
      "karma-script-launcher": "^1.0.0",
      "karma-coverage": "^1.0.0",
      "karma-chrome-launcher": "^2.0.0",
      "karma-phantomjs-launcher": "~1.0.0",
      "karma-spec-reporter": "~0.0.20",
      "karma-sourcemap-loader": "~0.3.7",
      "sinon-chai": "^2.8.0",
      "mocha": "^3.0.2",
      "jasmine-core": "^2.3.4",
      "karma-jasmine": "^1.0.2",
      "jasmine-spec-reporter": "^4.1.1",
      "phantomjs-prebuilt": "^2.1.4",
      "proxyquire": "^1.0.1",
      "strip-ansi": "^4.0.0",
      "supertest": "^3.0.0"
    },
    "engines": {
      "node": "^6.2.2",
      "npm": "^3.9.5"
    },
    "scripts": {
      "test": "gulp test",
      "update-webdriver": "node node_modules/protractor/bin/webdriver-manager update",
      "start": "node server"
    },
    "private": true
  }
  </code></pre>
  
  <p>The webpacke.make.json file:</p>
  
  <pre><code>'use strict';
  /*eslint-env node*/
  var webpack = require('webpack');
  var autoprefixer = require('autoprefixer');
  var HtmlWebpackPlugin = require('html-webpack-plugin');
  var HtmlWebpackHarddiskPlugin = require('html-webpack-harddisk-plugin');
  var ExtractTextPlugin = require('extract-text-webpack-plugin');
  var CommonsChunkPlugin = webpack.optimize.CommonsChunkPlugin;
  var fs = require('fs');
  var path = require('path');
  var ForkCheckerPlugin = require('awesome-typescript-loader').ForkCheckerPlugin;
  
  module.exports = function makeWebpackConfig(options) {
      /**
       * Environment type
       * BUILD is for generating minified builds
       * TEST is for generating test builds
       */
      var BUILD = !!options.BUILD;
      var TEST = !!options.TEST;
      var E2E = !!options.E2E;
      var DEV = !!options.DEV;
  
      /**
       * Config
       * Reference: http://webpack.github.io/docs/configuration.html
       * This is the object where all configuration gets set
       */
      var config = {};
  
      /**
       * Entry
       * Reference: http://webpack.github.io/docs/configuration.html#entry
       * Should be an empty object if it's generating a test build
       * Karma will set this when it's a test build
       */
      if(TEST) {
          config.entry = {};
      } else {
          config.entry = {
              app: './client/app/app.js',
              polyfills: './client/polyfills.js',
              vendor: [
                  'angular',
                  'angular-animate',
                  'angular-aria',
                  'angular-cookies',
                  'angular-resource',
  
                  'angular-sanitize',
  
  
                  'angular-ui-router',
                  'lodash'
              ]
          };
      }
  
      /**
       * Output
       * Reference: http://webpack.github.io/docs/configuration.html#output
       * Should be an empty object if it's generating a test build
       * Karma will handle setting it up for you when it's a test build
       */
      if(TEST) {
          config.output = {};
      } else {
          config.output = {
              // Absolute output directory
              path: BUILD ? path.join(__dirname, '/dist/client/') : path.join(__dirname, '/.tmp/'),
  
              // Output path from the view of the page
              // Uses webpack-dev-server in development
              publicPath: BUILD || DEV || E2E ? '/' : `http://localhost:${8080}/`,
              //publicPath: BUILD ? '/' : 'http://localhost:' + env.port + '/',
  
              // Filename for entry points
              // Only adds hash in build mode
              filename: BUILD ? '[name].[hash].js' : '[name].bundle.js',
  
              // Filename for non-entry points
              // Only adds hash in build mode
              chunkFilename: BUILD ? '[name].[hash].js' : '[name].bundle.js'
          };
      }
  
  
  
      if(TEST) {
          config.resolve = {
              modulesDirectories: [
                  'node_modules'
              ],
              extensions: ['', '.js', '.ts']
          };
      }
  
      /**
       * Devtool
       * Reference: http://webpack.github.io/docs/configuration.html#devtool
       * Type of sourcemap to use per build type
       */
      if(TEST) {
          config.devtool = 'inline-source-map';
      } else if(BUILD || DEV) {
          config.devtool = 'source-map';
      } else {
          config.devtool = 'eval';
      }
  
      /**
       * Loaders
       * Reference: http://webpack.github.io/docs/configuration.html#module-loaders
       * List: http://webpack.github.io/docs/list-of-loaders.html
       * This handles most of the magic responsible for converting modules
       */
  
      config.sassLoader = {
          outputStyle: 'compressed',
          precision: 10,
          sourceComments: false
      };
  
      config.babel = {
          shouldPrintComment(commentContents) {
              // keep `/*@ngInject*/`
              return /@ngInject/.test(commentContents);
          }
      }
  
      // Initialize module
      config.module = {
          preLoaders: [],
          loaders: [{
              // JS LOADER
              // Reference: https://github.com/babel/babel-loader
              // Transpile .js files using babel-loader
              // Compiles ES6 and ES7 into ES5 code
              test: /\.js$/,
              loader: 'babel',
              include: [
                  path.resolve(__dirname, 'client/'),
                  path.resolve(__dirname, 'node_modules/lodash-es/')
              ]
          }, {
              // TS LOADER
              // Reference: https://github.com/s-panferov/awesome-typescript-loader
              // Transpile .ts files using awesome-typescript-loader
              test: /\.ts$/,
              loader: 'awesome-typescript-loader',
              query: {
                  tsconfig: path.resolve(__dirname, 'tsconfig.client.json')
              },
              include: [
                  path.resolve(__dirname, 'client/')
              ]
          }, {
              // ASSET LOADER
              // Reference: https://github.com/webpack/file-loader
              // Copy png, jpg, jpeg, gif, svg, woff, woff2, ttf, eot files to output
              // Rename the file using the asset hash
              // Pass along the updated reference to your code
              // You can add here any file extension you want to get copied to your output
              test: /\.(png|jpg|jpeg|gif|svg|woff|woff2|ttf|eot)([\?]?.*)$/,
              loader: 'file'
          }, {
              // Pug HTML LOADER
              // Reference: https://github.com/willyelm/pug-html-loader
              // Allow loading Pug throw js
              test: /\.(jade|pug)$/,
              loaders: ['pug-html']
          }, {
  
              // CSS LOADER
              // Reference: https://github.com/webpack/css-loader
              // Allow loading css through js
              //
              // Reference: https://github.com/postcss/postcss-loader
              // Postprocess your css with PostCSS plugins
              test: /\.css$/,
              loader: !TEST
                  // Reference: https://github.com/webpack/extract-text-webpack-plugin
                  // Extract css files in production builds
                  //
                  // Reference: https://github.com/webpack/style-loader
                  // Use style-loader in development for hot-loading
                  ? ExtractTextPlugin.extract('style', 'css!postcss')
                  // Reference: https://github.com/webpack/null-loader
                  // Skip loading css in test mode
                  : 'null'
          }, {
              // SASS LOADER
              // Reference: https://github.com/jtangelder/sass-loader
              test: /\.(scss|sass)$/,
              loaders: ['style', 'css', 'sass'],
              include: [
                  path.resolve(__dirname, 'node_modules/bootstrap-sass/assets/stylesheets/*.scss'),
                  path.resolve(__dirname, 'client/app/app.scss')
              ]
  
  
          }]
      };
  
      config.module.postLoaders = [{
          test: /\.js$/,
          loader: 'ng-annotate?single_quotes'
      }];
  
      // ISPARTA INSTRUMENTER LOADER
      // Reference: https://github.com/ColCh/isparta-instrumenter-loader
      // Instrument JS files with Isparta for subsequent code coverage reporting
      // Skips node_modules and spec files
      if(TEST) {
          config.module.preLoaders.push({
              //delays coverage til after tests are run, fixing transpiled source coverage error
              test: /\.js$/,
              exclude: /(node_modules|spec\.js|mock\.js)/,
              loader: 'isparta-instrumenter',
              query: {
                  babel: {
                      // optional: ['runtime', 'es7.classProperties', 'es7.decorators']
                  }
              }
          });
      }
  
  
      /**
       * PostCSS
       * Reference: https://github.com/postcss/autoprefixer-core
       * Add vendor prefixes to your css
       */
      config.postcss = [
          autoprefixer({
              browsers: ['last 2 version']
          })
      ];
  
      /**
       * Plugins
       * Reference: http://webpack.github.io/docs/configuration.html#plugins
       * List: http://webpack.github.io/docs/list-of-plugins.html
       */
      config.plugins = [
          /*
           * Plugin: ForkCheckerPlugin
           * Description: Do type checking in a separate process, so webpack don't need to wait.
           *
           * See: https://github.com/s-panferov/awesome-typescript-loader#forkchecker-boolean-defaultfalse
           */
          new ForkCheckerPlugin(),
  
          // Reference: https://github.com/webpack/extract-text-webpack-plugin
          // Extract css files
          // Disabled when in test mode or not in build mode
          new ExtractTextPlugin('[name].[hash].css', {
              disable: !BUILD || TEST
          })
      ];
  
      if(!TEST) {
          config.plugins.push(new CommonsChunkPlugin({
              name: 'vendor',
  
              // filename: "vendor.js"
              // (Give the chunk a different name)
  
              minChunks: Infinity
              // (with more entries, this ensures that no other module
              //  goes into the vendor chunk)
          }));
      }
  
      // Skip rendering index.html in test mode
      // Reference: https://github.com/ampedandwired/html-webpack-plugin
      // Render index.html
      let htmlConfig = {
          template: 'client/_index.html',
          filename: '../client/index.html',
          alwaysWriteToDisk: true
      }
      config.plugins.push(
        new HtmlWebpackPlugin(htmlConfig),
        new HtmlWebpackHarddiskPlugin()
      );
  
      // Add build specific plugins
      if(BUILD) {
          config.plugins.push(
              // Reference: http://webpack.github.io/docs/list-of-plugins.html#noerrorsplugin
              // Only emit files when there are no errors
              new webpack.NoErrorsPlugin(),
  
              // Reference: http://webpack.github.io/docs/list-of-plugins.html#dedupeplugin
              // Dedupe modules in the output
              new webpack.optimize.DedupePlugin(),
  
              // Reference: http://webpack.github.io/docs/list-of-plugins.html#uglifyjsplugin
              // Minify all javascript, switch loaders to minimizing mode
              new webpack.optimize.UglifyJsPlugin({
                  mangle: false,
                  output: {
                      comments: false
                  },
                  compress: {
                      warnings: false
                  }
              }),
  
              // Reference: https://webpack.github.io/docs/list-of-plugins.html#defineplugin
              // Define free global variables
              new webpack.DefinePlugin({
                  'process.env': {
                      NODE_ENV: '"production"'
                  }
              })
          );
      }
  
      if(DEV) {
          config.plugins.push(
              // Reference: https://webpack.github.io/docs/list-of-plugins.html#defineplugin
              // Define free global variables
              new webpack.DefinePlugin({
                  'process.env': {
                      NODE_ENV: '"development"'
                  }
              })
          );
      }
  
      config.cache = DEV;
  
      if(TEST) {
          config.stats = {
              colors: true,
              reasons: true
          };
          config.debug = false;
      }
  
      /**
       * Dev server configuration
       * Reference: http://webpack.github.io/docs/configuration.html#devserver
       * Reference: http://webpack.github.io/docs/webpack-dev-server.html
       */
      config.devServer = {
          contentBase: './client/',
          stats: {
              modules: false,
              cached: false,
              colors: true,
              chunk: false
          }
      };
  
      config.node = {
          global: 'window',
          process: true,
          crypto: 'empty',
          clearImmediate: false,
          setImmediate: false
      };
  
      return config;
  };
  </code></pre>
  
  <p>I've tried downgrading Webpack to version 1.15.0, removing the <code>node_modules</code> folder and installing it again, but I still get the same error.</p>
  
  <p>What is it going wrong?</p>
  
  <p><strong>Update:</strong></p>
  
  <p>Just in case it helps, when I do <code>npm install</code>, the Webpack module is shown like this <code>UNMET PEER DEPENDENCY webpack@3.4.1</code>.</p>
  
  <p>I get the following error when downgrading awesome-typescript-loader to 2.2.4: </p>
  
  <pre><code>WebpackOptionsValidationError(webpackOptionsValidationErrors);
          ^
  WebpackOptionsValidationError: Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
   - configuration has an unknown property 'postcss'. These properties are valid:
     object { amd?, bail?, cache?, context?, dependencies?, devServer?, devtool?, entry, externals?, loader?, module?, name?, node?, output?, performance?, plugins?, profile?, recordsInputPath?, recordsOutputPath?, recordsPath?, resolve?, resolveLoader?, stats?, target?, watch?, watchOptions? }
     For typos: please correct them.
     For loader options: webpack 2 no longer allows custom properties in configuration.
       Loaders should be updated to allow passing options via loader options in module.rules.
       Until loaders are updated one can use the LoaderOptionsPlugin to pass these options to the loader:
       plugins: [
         new webpack.LoaderOptionsPlugin({
           // test: /\.xxx$/, // may apply this only for some modules
           options: {
             postcss: ...
           }
         })
       ]
   - configuration.module has an unknown property 'postLoaders'. These properties are valid:
     object { exprContextCritical?, exprContextRecursive?, exprContextRegExp?, exprContextRequest?, loaders?, noParse?, rules?, unknownContextCritical?, unknownContextRecursive?, unknownContextRegExp?, unknownContextRequest?, unsafeCache?, wrappedContextCritical?, wrappedContextRecursive?, wrappedContextRegExp?, strictExportPresence?, strictThisContextOnImports? }
     Options affecting the normal modules (`NormalModuleFactory`).
   - configuration.node should be one of these:
     false | object { Buffer?, __dirname?, __filename?, console?, global?, process?, ... }
     Include polyfills or mocks for various node stuff.
     Details:
      * configuration.node should be false
      * configuration.node.global should be a boolean.
  </code></pre>
  
  <p><strong>Update 2:</strong></p>
  
  <p>It seems downgrading webpack@2.1.0-beta.22 solved my problem. But now, I am getting another error:</p>
  
  <pre><code>/home/nsanz/Documentos/git/tachology/node_modules/extract-text-webpack-plugin/node_modules/async/dist/async.js:1003
          iteratee(coll[index], index, onlyOnce(iteratorCallback));
          ^
  TypeError: chunk.sortModules is not a function
  </code></pre>
  
  <p><strong>Update 3:</strong></p>
  
  <p>After installing extract-text-webpack-plugin@2.1.2, I get this new error:</p>
  
  <pre><code>/home/nsanz/Documentos/git/tachology/node_modules/extract-text-webpack-plugin/index.js:187
          throw new Error("Breaking change: extract now only takes a single argument. Either an options " +
          ^
  Error: Breaking change: extract now only takes a single argument. Either an options object *or* the loader(s).
  Example: if your old code looked like this:
      ExtractTextPlugin.extract('style-loader', 'css-loader')
  
  You would change it to:
      ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader' })
  
  The available options are:
      use: string | object | loader[]
      fallback: string | object | loader[]
      publicPath: string
  </code></pre>
  
  <p><strong>Update 4:</strong></p>
  
  <p>After fixing another ExtractTextPlugin error, I receive a new error (I find this one through different pug files):</p>
  
  <pre><code>ERROR in ./client/app/main/main.pug
  Module parse failed: /home/nsanz/Documentos/git/tachology/node_modules/pug-html-loader/lib/index.js!/home/nsanz/Documentos/git/tachology/client/app/main/main.pug Unexpected token (1:0)
  You may need an appropriate loader to handle this file type.
  | &lt;div class="uk-section uk-section-default main"&gt;&lt;div class="uk-container" ng-show="$ctrl.Auth.hasRoleSync('driver')"&gt;&lt;div class="uk-flex"&gt;&lt;div class="uk-width-1-3"&gt;&lt;div class="test-upload uk-placeholder uk-text-center"&gt;&lt;span uk-icon="icon: cloud-upload; ratio: 3"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span class="uk-text-middle uk-margin-small-left uk-margin-small-right"&gt;Arrastra los ficheros o&lt;/span&gt;&lt;div class="uk-form-custom"&gt;&lt;input type="file" multiple="multiple" enctype="multipart/form-data" ng-model="$ctrl.upload"/&gt;&lt;span class="uk-link"&gt;pulsa aquí&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;progress class="uk-progress" id="progressbar" value="0" max="100" hidden="hidden"&gt;&lt;/progress&gt;&lt;/div&gt;&lt;div class="uk-width-2-3 uk-margin-left"&gt;&lt;table class="uk-table uk-table-hover uk-table-striped uk-table-small uk-table-justify" id="files"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th class="uk-table-shrink"&gt;#&lt;/th&gt;&lt;th class="uk-table-expand"&gt;Nombre del Fichero&lt;/th&gt;&lt;th class="uk-table-expand"&gt;&lt;form class="uk-search uk-search-default uk-width-1-1"&gt;&lt;span class="uk-search-icon"&gt;&lt;/span&gt;&lt;input class="uk-search-input" type="search" placeholder="Buscar..." ng-model="search.filename"/&gt;&lt;/form&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr class="uk-text-center empty-msg" ng-hide="$ctrl.fileList.length !== 0"&gt;&lt;td colspan="3"&gt;No se encuentra ningún fichero,&amp;nbsp;&lt;a href="signup"&gt;subir uno nuevo.&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr ng-repeat="file in $ctrl.fileList | filter:search"&gt;&lt;td&gt;{{$index + 1}}&lt;/td&gt;&lt;td class="uk-table-link"&gt;&lt;a class="uk-link-reset" ng-click="$ctrl.parseFile(file)"&gt;{{file.filename}}&lt;/a&gt;&lt;/td&gt;&lt;td class="uk-text-right"&gt;&lt;i class="uk-icon-link download" uk-icon="icon: cloud-download" ng-click="$ctrl.downloadFile(file)"&gt;&lt;/i&gt;&lt;i class="uk-icon-link uk-margin-left trash" uk-icon="icon: trash" ng-click="$ctrl.deleteFile(file)"&gt;&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="uk-container" ng-hide="$ctrl.Auth.hasRoleSync('driver')"&gt;&lt;div class="uk-flex uk-flex-around uk-flex-stretch"&gt;&lt;div class="uk-width-1-3 uk-card uk-card-default uk-card-hover uk-card-body main-button" ng-click="$ctrl.go('/conductores')"&gt;&lt;div class="uk-text-center"&gt;&lt;span uk-icon="icon: users; ratio: 4"&gt;&lt;/span&gt;&lt;h3 class="uk-card-title"&gt;CONDUCTORES&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="uk-width-1-3 uk-card uk-card-default uk-card-hover uk-card-body uk-margin-left main-button" ng-click="$ctrl.go('/vehiculos')"&gt;&lt;div class="uk-text-center"&gt;&lt;span class="fa fa-car"&gt;&lt;/span&gt;&lt;h3 class="uk-card-title"&gt;VEHÍCULOS&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="uk-width-1-3 uk-card uk-card-default uk-card-hover uk-card-body uk-margin-left main-button" ng-click="$ctrl.go('/informes')"&gt;&lt;div class="uk-text-center"&gt;&lt;span uk-icon="icon: list; ratio: 4"&gt;&lt;/span&gt;&lt;h3 class="uk-card-title"&gt;INFORMES&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
   @ ./client/app/main/main.component.js 140:12-33
   @ ./client/app/app.js
  </code></pre>