@@ -4,17 +4,19 @@ import * as HtmlWebpackPlugin from 'html-webpack-plugin';
4
4
import * as webpack from 'webpack' ;
5
5
import * as atl from 'awesome-typescript-loader' ;
6
6
7
- import { SystemJSRegisterPublicModules } from './webpack-plugin-systemjs-registry' ;
8
7
import { findLazyModules } from './find-lazy-modules' ;
9
8
10
9
11
10
export function getWebpackCommonConfig ( projectRoot : string , sourceDir : string ) {
11
+ const sourceRoot = path . resolve ( projectRoot , `./${ sourceDir } ` ) ;
12
+
12
13
const lazyModules = findLazyModules ( path . resolve ( projectRoot , sourceDir ) ) ;
13
14
const entries = Object . assign ( {
14
- main : [ path . resolve ( projectRoot , `./ ${ sourceDir } / main.ts` ) ] ,
15
- polyfills : path . resolve ( projectRoot , `./ ${ sourceDir } / polyfills.ts` )
15
+ main : [ path . join ( sourceRoot , ' main.ts' ) ] ,
16
+ polyfills : path . join ( sourceRoot , ' polyfills.ts' )
16
17
} , lazyModules ) ;
17
18
19
+
18
20
return {
19
21
devtool : 'inline-source-map' ,
20
22
resolve : {
@@ -41,7 +43,7 @@ export function getWebpackCommonConfig(projectRoot: string, sourceDir: string) {
41
43
test : / ( s y s t e m j s _ c o m p o n e n t _ r e s o l v e r | s y s t e m _ j s _ n g _ m o d u l e _ f a c t o r y _ l o a d e r ) \. j s $ / ,
42
44
loader : 'string-replace-loader' ,
43
45
query : {
44
- search : '(lang_1(.*[\\n\\r]\\s*\\.|\\.))?(global(.*[\\n\\r]\\s*\\.|\\.))?(System|SystemJS)(.*[\\n\\r]\\s*\\.|\\.)import' ,
46
+ search : '(lang_1(.*[\\n\\r]+ \\s*\\.|\\.))?(global(.*[\\n\\r]+ \\s*\\.|\\.))?(System|SystemJS)(.*[\\n\\r]+ \\s*\\.|\\.)import' ,
45
47
replace : 'System.import' ,
46
48
flags : 'g'
47
49
}
@@ -54,7 +56,6 @@ export function getWebpackCommonConfig(projectRoot: string, sourceDir: string) {
54
56
{
55
57
loader : 'awesome-typescript-loader' ,
56
58
query : {
57
- useForkChecker : true ,
58
59
tsconfig : path . resolve ( projectRoot , `./${ sourceDir } /tsconfig.json` )
59
60
}
60
61
} , {
@@ -73,6 +74,11 @@ export function getWebpackCommonConfig(projectRoot: string, sourceDir: string) {
73
74
]
74
75
} ,
75
76
plugins : [
77
+ new webpack . ContextReplacementPlugin (
78
+ / .* / ,
79
+ sourceRoot ,
80
+ lazyModules
81
+ ) ,
76
82
new atl . ForkCheckerPlugin ( ) ,
77
83
new HtmlWebpackPlugin ( {
78
84
template : path . resolve ( projectRoot , `./${ sourceDir } /index.html` ) ,
@@ -92,34 +98,6 @@ export function getWebpackCommonConfig(projectRoot: string, sourceDir: string) {
92
98
from : '**/*' ,
93
99
to : path . resolve ( projectRoot , './dist' )
94
100
} ] ) ,
95
- // new SystemJSRegisterPublicModules({
96
- // // automatically configure SystemJS to load webpack chunks (defaults to true)
97
- // bundlesConfigForChunks: true,
98
- //
99
- // // select which modules to expose as public modules
100
- // registerModules: [
101
- // // "default" filters provided are "local" and "public"
102
- // { filter: 'public' },
103
- // //
104
- // // // keyname allows a custom naming system for public modules
105
- // // {
106
- // // filter: 'local',
107
- // // keyname: 'app/[relPath]'
108
- // // },
109
- // //
110
- // // // keyname can be a function
111
- // // {
112
- // // filter: 'public',
113
- // // keyname: (module) => 'publicModule-' + module.id
114
- // // },
115
- // //
116
- // // // filter can also be a function
117
- // // {
118
- // // filter: (m) => m.relPath.match(/src/),
119
- // // keyname: 'random-naming-system-[id]'
120
- // // }
121
- // ]
122
- // })
123
101
] ,
124
102
node : {
125
103
fs : 'empty' ,
0 commit comments