UNPKG

ngw

Version:

Provides an opportunity to overload webpack config for angular-cli applications

57 lines (56 loc) 2.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var path = require("path"); var index_1 = require("@angular-devkit/build-angular/src/browser/index"); var index_2 = require("@angular-devkit/build-angular/src/server/index"); var index_3 = require("@angular-devkit/build-angular/src/karma/index"); var index_4 = require("@angular-devkit/build-angular/src/extract-i18n/index"); var configClasses = { 'browser': index_1.BrowserBuilder, 'server': index_2.ServerBuilder, 'karma': index_3.KarmaBuilder, 'extract-i18n': index_4.ExtractI18nBuilder }; var configClassNames = { 'browser': 'BrowserBuilder', 'server': 'ServerBuilder', 'karma': 'KarmaBuilder', 'extract-i18n': 'ExtractI18nBuilder' }; Object.keys(configClasses).forEach(buildConfig); function buildConfig(variant) { var methodName = configClasses[variant].prototype.hasOwnProperty('_buildWebpackConfig') ? '_buildWebpackConfig' : 'buildWebpackConfig'; configClasses[variant].prototype.buildConfigInner = configClasses[variant].prototype[methodName]; configClasses[variant].prototype[methodName] = configClasses[variant].prototype.buildConfig = function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } var config = this.buildConfigInner.apply(this, args); try { var interceptorPath = path.resolve('./ngw.config'); var interceptor = require(interceptorPath).default; var options = { root: args[0], projectRoot: args[1], options: args[args.length - 1] }; return interceptor(config, options); } catch (e) { console.dir(e); if (e.code === 'MODULE_NOT_FOUND') { console.warn('ngw.config file is not found at serving directory. Starting common build'); return config; } else { throw e; } } }; var webpackConfig = require.resolve("@angular-devkit/build-angular/src/" + variant + "/index"); require.cache[webpackConfig][configClassNames[variant]] = configClasses[variant]; } require('@angular/cli/bin/ng');