Reputation: 489
After upgrading my angular project with webpack 4 I am getting below error while running unit test using karma
[at-loader] Using [email protected] from typescript and "tsconfig.json" from demo-app-app\src\tsconfig.json.
[at-loader] Checking started in a separate process...
[at-loader] Checking finished with 1509 errors [at-loader]: Child process failed to process the request: TypeError: Cannot read property 'externalModuleIndicator' of undefined at Object.isExternalModule (demo-app\node_modules\typescript\lib\typescript.js:13733:20) at Object.getAllDependencies (demo-app\node_modules\typescript\lib\typescript.js:75788:46) at Object.getAllDependencies (demo-app\node_modules\typescript\lib\typescript.js:76133:80) at processEmit (demo-app\node_modules\awesome-typescript-loader\src\checker\runtime.ts:451:24) at demo-app\node_modules\awesome-typescript-loader\src\checker\runtime.ts:602:6 at Object.send (demo-app\node_modules\awesome-typescript-loader\src\checker\runtime.ts:48:6) at Checker.req (demo-app\node_modules\awesome-typescript-loader\src\checker\checker.ts:100:15) at Checker.emitFile (demo-app\node_modules\awesome-typescript-loader\src\checker\checker.ts:105:15) at transform (demo-app\node_modules\awesome-typescript-loader\src\index.ts:132:26) at transformationFunction (demo-app\node_modules\awesome-typescript-loader\src\index.ts:74:40) at compiler (demo-app\node_modules\awesome-typescript-loader\src\index.ts:85:21) at Object.loader (demo-app\node_modules\awesome-typescript-loader\src\index.ts:16:12) at LOADER_EXECUTION (demo-app\node_modules\loader-runner\lib\LoaderRunner.js:119:14) at runSyncOrAsync (demo-app\node_modules\loader-runner\lib\LoaderRunner.js:120:4) at iterateNormalLoaders (demo-app\node_modules\loader-runner\lib\LoaderRunner.js:229:2) at iterateNormalLoaders (demo-app\node_modules\loader-runner\lib\LoaderRunner.js:218:10) <--- Last few GCs --->
136168 ms: Mark-sweep 1255.3 (1435.8) -> 1242.3 (1435.8) MB, 893.2 / 0.0 ms [allocation failure] [GC in old space requested]. 137084 ms: Mark-sweep 1242.3 (1435.8) -> 1242.3 (1435.8) MB, 915.6 / 0.0 ms [allocation failure] [GC in old space requested]. 138055 ms: Mark-sweep 1242.3 (1435.8) -> 1248.2 (1408.8) MB, 970.0 / 0.0 ms [last resort gc]. 139026 ms: Mark-sweep 1248.2 (1408.8) -> 1254.0 (1408.8) MB, 971.0 / 0.0 ms [last resort gc].
<--- JS stacktrace --->
==== JS stack trace =========================================
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
Package Json:
awesome-typescript-loader:5.0.0-0 karma-webpack:2.0.4 webpack:4.1.1
var webpack = require('webpack');
var helpers = require('./helpers');
module.exports = {
devtool: 'inline-source-map',
resolve: {
extensions: ['.ts', '.js']
},
mode: 'development',
module: {
loaders: [
{
test: /\.ts$/,
loaders: ['awesome-typescript-loader', 'angular2-template-loader']
},
{
test: /\.html$/,
loader: 'html-loader'
},
{
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
loader: 'null'
},
{
test: /\.css$/,
include: helpers.root('src', 'app'),
loader: 'raw'
},
{
enforce: 'post',
test: /\.(js|ts)$/,
loader: 'istanbul-instrumenter-loader',
include: helpers.root('src'),
exclude: [
/\.(e2e|spec)\.ts$/,
/node_modules/
]
}
]
},
plugins: [
new webpack.ContextReplacementPlugin(
/angular(\\|\/)core(\\|\/)@angular/,
helpers.root('./src'),
{}
)
]
};
Please note that I am able to run my angular project without any issue only UT configuration are giving errors.
Upvotes: 4
Views: 7766
Reputation: 95
Update to [email protected]
could resolve 'externalModuleIndicator' issue (but may break something else)
Upvotes: 2
Reputation: 85
Update with 'npm update' command. it is solved my issue of the above error.
Upvotes: 6
Reputation: 126
I was able to resolve a similar issue by replacing awesome-typescript-loader
with ts-loader
Had a similar discussion here
https://github.com/webpack-contrib/karma-webpack/issues/331
Upvotes: 2