angular / angular-cli

CLI tool for Angular
https://cli.angular.io
MIT License
26.76k stars 11.98k forks source link

[TypeError: Cannot read property 'replace' of undefined] when running ng test #1697

Closed hakonamatata closed 8 years ago

hakonamatata commented 8 years ago

I upgraded to the webpack version and I get an error running ng test

When I run "ng test" I get this:

15 08 2016 15:18:02.158:ERROR [karma]: [TypeError: Cannot read property 'replace' of undefined] TypeError: Cannot read property 'replace' of undefined at Tapable.join (C:\ng\anbud\node_modules\enhanced-resolve\node_modules\memory-fs\lib\join.js:11:73) at Tapable.<anonymous> (C:\ng\anbud\node_modules\enhanced-resolve\lib\FileAppendPlugin.js:14:19) at Tapable.applyPluginsParallelBailResult (C:\ng\anbud\node_modules\tapable\lib\Tapable.js:139:14) at Tapable.<anonymous> (C:\ng\anbud\node_modules\enhanced-resolve\lib\Resolver.js:103:8) at Tapable.Resolver.forEachBail (C:\ng\anbud\node_modules\enhanced-resolve\lib\Resolver.js:196:3) at Tapable.doResolve (C:\ng\anbud\node_modules\enhanced-resolve\lib\Resolver.js:102:7) at Tapable.resolve (C:\ng\anbud\node_modules\enhanced-resolve\lib\Resolver.js:45:14) at Tapable.resolve (C:\ng\anbud\node_modules\enhanced-resolve\lib\UnsafeCachePlugin.js:23:14) at C:\ng\anbud\node_modules\webpack\lib\NormalModuleFactory.js:169:12 at C:\ng\anbud\node_modules\async\lib\async.js:356:13 at async.forEachOf.async.eachOf (C:\ng\anbud\node_modules\async\lib\async.js:233:13) at _asyncMap (C:\ng\anbud\node_modules\async\lib\async.js:355:9) at Object.map (C:\ng\anbud\node_modules\async\lib\async.js:337:20) at NormalModuleFactory.resolveRequestArray (C:\ng\anbud\node_modules\webpack\lib\NormalModuleFactory.js:166:8) at C:\ng\anbud\node_modules\async\lib\async.js:718:13 at async.forEachOf.async.eachOf (C:\ng\anbud\node_modules\async\lib\async.js:233:13) at _parallel (C:\ng\anbud\node_modules\async\lib\async.js:717:9) at Object.async.parallel (C:\ng\anbud\node_modules\async\lib\async.js:731:9) at C:\ng\anbud\node_modules\webpack\lib\NormalModuleFactory.js:109:12 at C:\ng\anbud\node_modules\async\lib\async.js:726:13 at C:\ng\anbud\node_modules\async\lib\async.js:52:16 at done (C:\ng\anbud\node_modules\async\lib\async.js:246:17) at C:\ng\anbud\node_modules\async\lib\async.js:44:16 at C:\ng\anbud\node_modules\async\lib\async.js:723:17 at C:\ng\anbud\node_modules\async\lib\async.js:167:37 at C:\ng\anbud\node_modules\enhanced-resolve\lib\UnsafeCachePlugin.js:29:4 at onResolved (C:\ng\anbud\node_modules\enhanced-resolve\lib\Resolver.js:39:10) at C:\ng\anbud\node_modules\enhanced-resolve\lib\Resolver.js:123:21

angular-cli: 1.0.0-beta.11-webpack.2 node: 4.4.7 os: win32 x64 Windows 10

filipesilva commented 8 years ago

Does this happen in a newly generated project or an existing one?

hakonamatata commented 8 years ago

An existing one that I upgraded to webpack, but it is resolved now. Don't remember exactly what I changed in order to fix it.

danielptm commented 7 years ago

I am getting the same error.

Chrome 56.0.2924 (Mac OS X 10.10.5) App: MemberAdmin should create the app FAILED
        Failed: Cannot read property 'replace' of undefined
        TypeError: Cannot read property 'replace' of undefined
            at _stripIndexHtml (webpack:///~/@angular/common/src/location/location.js:224:0 <- src/test.ts:9952:15)
            at new Location (webpack:///~/@angular/common/src/location/location.js:41:0 <- src/test.ts:9769:54)
            at DynamicTestModuleInjector.get (/DynamicTestModule/module.ngfactory.js:125:61)
            at DynamicTestModuleInjector.getInternal (/DynamicTestModule/module.ngfactory.js:187:48)
            at DynamicTestModuleInjector.NgModuleInjector.get (webpack:///~/@angular/core/src/linker/ng_module_factory.js:139:25 <- src/test.ts:19158:44)
            at TestBed.get (webpack:///~/@angular/core/bundles/core-testing.umd.js:826:0 <- src/test.ts:6078:51)
            at CompiledTemplate.proxyViewClass.AppView.injectorGet (webpack:///~/@angular/core/src/linker/view.js:152:0 <- src/test.ts:29850:45)
            at CompiledTemplate.proxyViewClass.DebugAppView.injectorGet (webpack:///~/@angular/core/src/linker/view.js:580:0 <- src/test.ts:30278:49)
            at CompiledTemplate.proxyViewClass.View_AppComponent_Host0.createInternal (/DynamicTestModule/AppComponent/host.ngfactory.js:15:63)
            at CompiledTemplate.proxyViewClass.AppView.createHostView (webpack:///~/@angular/core/src/linker/view.js:108:0 <- src/test.ts:29806:21)
            at CompiledTemplate.proxyViewClass.DebugAppView.createHostView (webpack:///~/@angular/core/src/linker/view.js:564:0 <- src/test.ts:30262:52)
            at ComponentFactory.create (webpack:///~/@angular/core/src/linker/component_factory.js:202:0 <- src/test.ts:13033:25)
            at initComponent (webpack:///~/@angular/core/bundles/core-testing.umd.js:865:0 <- src/test.ts:6117:53)
            at ZoneDelegate.invoke (webpack:///~/zone.js/dist/zone.js:334:0 <- src/test.ts:37048:26)
            at AsyncTestZoneSpec.onInvoke (webpack:///~/zone.js/dist/async-test.js:49:0 <- src/test.ts:23684:39)
Chrome 56.0.2924 (Mac OS X 10.10.5) App: MemberAdmin should have as title 'app works!' FAILED
        Failed: Cannot read property 'replace' of undefined
        TypeError: Cannot read property 'replace' of undefined
            at _stripIndexHtml (webpack:///~/@angular/common/src/location/location.js:224:0 <- src/test.ts:9952:15)
            at new Location (webpack:///~/@angular/common/src/location/location.js:41:0 <- src/test.ts:9769:54)
            at DynamicTestModuleInjector.get (/DynamicTestModule/module.ngfactory.js:125:61)
            at DynamicTestModuleInjector.getInternal (/DynamicTestModule/module.ngfactory.js:187:48)
            at DynamicTestModuleInjector.NgModuleInjector.get (webpack:///~/@angular/core/src/linker/ng_module_factory.js:139:25 <- src/test.ts:19158:44)
            at TestBed.get (webpack:///~/@angular/core/bundles/core-testing.umd.js:826:0 <- src/test.ts:6078:51)
            at CompiledTemplate.proxyViewClass.AppView.injectorGet (webpack:///~/@angular/core/src/linker/view.js:152:0 <- src/test.ts:29850:45)
            at CompiledTemplate.proxyViewClass.DebugAppView.injectorGet (webpack:///~/@angular/core/src/linker/view.js:580:0 <- src/test.ts:30278:49)
            at CompiledTemplate.proxyViewClass.View_AppComponent_Host0.createInternal (/DynamicTestModule/AppComponent/host.ngfactory.js:15:63)
            at CompiledTemplate.proxyViewClass.AppView.createHostView (webpack:///~/@angular/core/src/linker/view.js:108:0 <- src/test.ts:29806:21)
            at CompiledTemplate.proxyViewClass.DebugAppView.createHostView (webpack:///~/@angular/core/src/linker/view.js:564:0 <- src/test.ts:30262:52)
            at ComponentFactory.create (webpack:///~/@angular/core/src/linker/component_factory.js:202:0 <- src/test.ts:13033:25)
            at initComponent (webpack:///~/@angular/core/bundles/core-testing.umd.js:865:0 <- src/test.ts:6117:53)
            at ZoneDelegate.invoke (webpack:///~/zone.js/dist/zone.js:334:0 <- src/test.ts:37048:26)
            at AsyncTestZoneSpec.onInvoke (webpack:///~/zone.js/dist/async-test.js:49:0 <- src/test.ts:23684:39)
Chrome 56.0.2924 (Mac OS X 10.10.5): Executed 3 of 3 (2 FAILED) (0.594 secs / 0.477 secs)
{
  "name": "member-admin",
  "version": "0.0.0",
  "license": "MIT",
  "angular-cli": {},
  "scripts": {
    "postinstall": "typings install",
    "start": "ng serve",
    "lint": "tslint \"src/**/*.ts\"",
    "test": "ng test",
    "pree2e": "webdriver-manager update",
    "e2e": "protractor"
  },
  "private": true,
  "dependencies": {
    "@angular/common": "^2.3.1",
    "@angular/compiler": "^2.3.1",
    "@angular/core": "^2.3.1",
    "@angular/forms": "^2.3.1",
    "@angular/http": "^2.3.1",
    "@angular/platform-browser": "^2.3.1",
    "@angular/platform-browser-dynamic": "^2.3.1",
    "@angular/compiler-cli": "^2.3.1",
    "@angular/router": "~3.1.0",
    "angular-calendar": "^0.4.0",
    "angular2-datatable": "^0.5.2",
    "angular2-google-maps": "^0.16.0",
    "bootstrap-datepicker": "^1.6.4",
    "bootstrap-timepicker": "^0.5.2",
    "core-js": "^2.4.1",
    "mydatepicker": "^1.7.7",
    "ng2-datepicker": "^1.8.2",
    "ng2-datetime": "^1.2.2",
    "ng2-file-upload": "^1.1.4-2",
    "rxjs": "5.0.1",
    "ts-helpers": "^1.1.1",
    "zone.js": "^0.7.2"
  },
  "devDependencies": {
    "@angular/cli": "^1.0.0",
    "@types/jasmine": "^2.2.30",
    "@types/jquery": "^2.0.34",
    "@types/node": "^6.0.42",
    "awesome-typescript-loader": "2.2.1",
    "codelyzer": "1.0.0-beta.1",
    "jasmine-core": "2.4.1",
    "jasmine-spec-reporter": "2.5.0",
    "karma": "1.2.0",
    "karma-chrome-launcher": "^2.0.0",
    "karma-cli": "^1.0.1",
    "karma-jasmine": "^1.0.2",
    "karma-remap-istanbul": "^0.2.1",
    "protractor": "4.0.9",
    "ts-node": "1.2.1",
    "tslint": "3.13.0",
    "typescript": "2.2.1",
    "typings": "1.0.4",
    "webdriver-manager": "10.2.5"
  }
}
Splaktar commented 7 years ago

@danielptm that's not the same error as this issue is about since your issue is with _stripIndexHtml the OP's issue is with Tapable.<anonymous>. But you can find the fix for your issue here.

angular-automatic-lock-bot[bot] commented 5 years ago

This issue has been automatically locked due to inactivity. Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.