Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Angular CLI - Typescript throws: Cannot read property 'length' of undefined

Tags:

I run in angular 4 project with ng serve and i get error

Cannot read property 'length' of undefined 

but I don't have any property length in my project..

the full error

    Your global Angular CLI version (1.2.1) is greater than your local version (1.1.3). The local Angular CLI version is used.  To disable this warning use "ng set --global warnings.versionMismatch=false". Cannot read property 'length' of undefined TypeError: Cannot read property 'length' of undefined     at createSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15457:109)     at parseSourceFileWorker (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15389:26)     at Object.parseSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15338:26)     at Object.createSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:15192:29)     at VirtualFileStats.getSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\@ngtools\webpack\src\compiler_host.js:66:35)     at WebpackCompilerHost.getSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\@ngtools\webpack\src\compiler_host.js:213:38)     at findSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67909:29)     at processImportedModules (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:68056:25)     at findSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67937:17)     at processImportedModules (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:68056:25)     at findSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67937:17)     at processSourceFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67840:27)     at processRootFile (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67728:13)     at E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67018:60     at Object.forEach (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:1449:30)     at Object.createProgram (E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master\node_modules\typescript\lib\typescript.js:67018:16) PS E:\פרוייקטים\פרוייקטים קיץ\Angular 4\Youtube Channel Angular Firebase\full project of the instructor github\angular-firestarter-master> 

package.json

{   "name": "firestarter",   "version": "0.0.0",   "license": "MIT",   "scripts": {     "ng": "ng",     "start": "ng serve",     "build": "ng build",     "test": "ng test",     "lint": "ng lint",     "e2e": "ng e2e"   },   "private": true,   "dependencies": {     "@angular/animations": "^4.2.4",     "@angular/common": "^4.2.4",     "@angular/compiler": "^4.2.4",     "@angular/core": "^4.2.4",     "@angular/forms": "^4.2.4",     "@angular/http": "^4.2.4",     "@angular/platform-browser": "^4.2.4",     "@angular/platform-browser-dynamic": "^4.2.4",     "@angular/platform-server": "^4.2.4",     "@angular/router": "^4.2.4",     "@types/lodash": "^4.14.67",     "angularfire2": "^4.0.0-rc.1",     "core-js": "^2.4.1",     "firebase": "^4.1.3",     "lodash": "^4.17.4",     "rxjs": "^5.4.1",     "zone.js": "^0.8.12"   },   "devDependencies": {     "@angular/cli": "^1.1.3",     "@angular/compiler-cli": "^4.2.4",     "@types/jasmine": "2.5.53",     "@types/node": "~8.0.4",     "codelyzer": "~3.1.1",     "jasmine-core": "~2.6.4",     "jasmine-spec-reporter": "~4.1.1",     "karma": "~1.7.0",     "karma-chrome-launcher": "~2.2.0",     "karma-cli": "~1.0.1",     "karma-coverage-istanbul-reporter": "^1.3.0",     "karma-jasmine": "~1.1.0",     "karma-jasmine-html-reporter": "^0.2.2",     "protractor": "~5.1.2",     "ts-node": "~3.1.0",     "tslint": "~5.4.3",     "typescript": "=2.3.4"   } } 
like image 573
Manspof Avatar asked Jul 20 '17 15:07

Manspof


People also ask

How do you solve TypeError Cannot read property length of undefined?

The "Cannot read property 'length' of undefined" error occurs when accessing the length property on an undefined value. To solve the error, make sure to only access the length property on data types that support it - arrays or strings.

What does Cannot read property length of undefined mean?

TypeError: Cannot read property 'length' of undefined. TypeError is a subset of JavaScript Error that is thrown when code attempts to do something that does not exist on the target object. This message indicates that our code expects to have an object with a length property, but that object was not present.


2 Answers

You might be missing one or more files that typescript is trying to process. To find out which file you are missing just add

console.log(fileName);

at the starting of the createSourceFile function at node_modules/typescript/lib/typescript.js file.

like image 101
Yatharth Varshney Avatar answered Sep 30 '22 02:09

Yatharth Varshney


My error was caused by c&p error when creating a small component. I forgot to change path to component's template and styles.

like image 26
Zdenek Hatak Avatar answered Sep 30 '22 00:09

Zdenek Hatak