UNPKG

spinjs

Version:

<p align="center"><a href="#"><img width="150" src="https://rawgit.com/sysgears/spin.js/master/logo.svg"></a></p>

47 lines (42 loc) 1.7 kB
import * as path from 'path'; import Spin from "../Spin"; import { ConfigPlugin } from "../ConfigPlugin"; import { Builder } from "../Builder"; import requireModule from '../requireModule'; import JSRuleFinder from './shared/JSRuleFinder'; export default class AngularPlugin implements ConfigPlugin { configure(builder: Builder, spin: Spin) { const stack = builder.stack; if (stack.hasAll(['angular', 'webpack'])) { const webpack = requireModule('webpack'); const jsRuleFinder = new JSRuleFinder(builder); const jsRule = jsRuleFinder.rule; builder.config = spin.merge(builder.config, { module: { rules: [{ test: jsRule.test, use: requireModule.resolve('angular2-template-loader'), }] }, plugins: [ // Workaround for angular/angular#11580 new webpack.ContextReplacementPlugin( // The (\\|\/) piece accounts for path separators in *nix and Windows /angular(\\|\/)core(\\|\/)@angular/, path.resolve('src'), {} // a map of your routes ), ] }); if (!stack.hasAny('dll') && stack.hasAny('web')) { builder.config = spin.merge({ entry: { index: [ require.resolve('./angular/angular-polyfill.js') ], }, }, builder.config); } } } }