Skip to content

[BUG] Unhandled Promise Rejection #580

@nicky-lenaers

Description

@nicky-lenaers
Overview of the issue

Whenever I generate the docs, after some time it stops with an error thrown. The error:

Unhandled Rejection at: Promise {
  <rejected> { Error: "id" not defined in [object Object]
    at Object.strict (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\runtime.js:96:15)
    at eval (eval at createFunctionContext (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\compiler\javascript-compiler.js:254:23), <anonymous>:6:70)
    at Object.prog [as inverse] (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\runtime.js:221:12)
    at Object.<anonymous> (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\helpers\if.js:17:22)
    at eval (eval at createFunctionContext (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\compiler\javascript-compiler.js:254:23), <anonymous>:6:32)
    at prog (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\runtime.js:221:12)
    at execIteration (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\helpers\each.js:51:19)
    at Object.<anonymous> (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\helpers\each.js:61:13)
    at eval (eval at createFunctionContext (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\compiler\javascript-compiler.js:254:23), <anonymous>:6:31)
    at Object.prog [as fn] (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\runtime.js:221:12)
  description: undefined,
  fileName: undefined,
  lineNumber: undefined,
  message: '"id" not defined in [object Object]',
  name: 'Error',
  number: undefined } } reason: { Error: "id" not defined in [object Object]
    at Object.strict (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\runtime.js:96:15)
    at eval (eval at createFunctionContext (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\compiler\javascript-compiler.js:254:23), <anonymous>:6:70)
    at Object.prog [as inverse] (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\runtime.js:221:12)
    at Object.<anonymous> (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\helpers\if.js:17:22)
    at eval (eval at createFunctionContext (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\compiler\javascript-compiler.js:254:23), <anonymous>:6:32)
    at prog (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\runtime.js:221:12)
    at execIteration (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\helpers\each.js:51:19)
    at Object.<anonymous> (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\helpers\each.js:61:13)
    at eval (eval at createFunctionContext (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\compiler\javascript-compiler.js:254:23), <anonymous>:6:31)
    at Object.prog [as fn] (C:\Users\nicky\Sites\wxp-studio\node_modules\@compodoc\compodoc\node_modules\handlebars\dist\cjs\handlebars\runtime.js:221:12)
  description: undefined,
  fileName: undefined,
  lineNumber: undefined,
  message: '"id" not defined in [object Object]',
  name: 'Error',
  number: undefined }
[16:53:07] Sorry, but there was a problem during parsing or generation of the documentation. Please fill an issue on github. (https://github.com/compodoc/compodoc/issues/new)
Operating System, Node.js, npm, compodoc version(s)

Windows 10
Node 8.9.4
NPM 5.6.0
Compodoc 1.1.3
Angular CLI 6.0.3

Angular configuration, a package.json file in the root folder

angular.json:

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "browser": {
      "root": "",
      "sourceRoot": "src",
      "projectType": "application",
      "prefix": "wxp",
      "schematics": {},
      "architect": {
        "build": {
          "builder": "@angular-devkit/build-angular:browser",
          "options": {
            "outputPath": "dist/web/wxp",
            "index": "src/index.html",
            "main": "src/main.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.app.json",
            "stylePreprocessorOptions": {
              "includePaths": [
                "src/assets/styles/shared",
                "node_modules/sass-rem"
              ]
            },
            "assets": [
              "src/assets",
              "src/favicon.ico"
            ],
            "styles": [
              "src/assets/styles/main.scss"
            ],
            "scripts": []
          },
          "configurations": {
            "ci": {
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.ci.ts"
                }
              ]
            },
            "production": {
              "optimization": true,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": false,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ]
            }
          }
        },
        "serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "browser:build"
          },
          "configurations": {
            "ci": {
              "browserTarget": "browser:build:ci"
            },
            "production": {
              "browserTarget": "browser:build:production"
            }
          }
        },
        "extract-i18n": {
          "builder": "@angular-devkit/build-angular:extract-i18n",
          "options": {
            "browserTarget": "browser:build"
          }
        },
        "test": {
          "builder": "@angular-devkit/build-angular:karma",
          "options": {
            "main": "src/test.ts",
            "karmaConfig": "src/karma.conf.ts",
            "polyfills": "src/polyfills.ts",
            "tsConfig": "src/tsconfig.spec.json",
            "scripts": [],
            "styles": [
              "src/assets/styles/main.scss"
            ],
            "assets": [
              "src/assets",
              "src/favicon.ico"
            ]
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "src/tsconfig.app.json",
              "src/tsconfig.spec.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        },
        "server": {
          "builder": "@angular-devkit/build-angular:server",
          "options": {
            "outputPath": "dist/web/ssr/en-US/server",
            "main": "main.server.ts",
            "tsConfig": "tsconfig.app.server.json"
          }
        }
      }
    },
    "browser-e2e": {
      "root": "",
      "sourceRoot": "",
      "projectType": "application",
      "architect": {
        "e2e": {
          "builder": "@angular-devkit/build-angular:protractor",
          "options": {
            "protractorConfig": "./protractor.conf.ts",
            "devServerTarget": "browser:serve"
          }
        },
        "lint": {
          "builder": "@angular-devkit/build-angular:tslint",
          "options": {
            "tsConfig": [
              "e2e/tsconfig.e2e.json"
            ],
            "exclude": [
              "**/node_modules/**"
            ]
          }
        }
      }
    }
  },
  "defaultProject": "browser",
  "cli": {
    "packageManager": "npm"
  },
  "schematics": {
    "@schematics/angular:component": {
      "prefix": "wxp",
      "styleext": "scss"
    },
    "@schematics/angular:directive": {
      "prefix": "wxp"
    }
  }
}

package.json:

{
  "name": "wxp-studio",
  "version": "0.1.0",
  "description": "Web Experience Studio",
  "main": "dist/electron/main.electron.js",
  "scripts": {
    "api:build": "webpack --config=\"./webpack.api.config.ts\" --progress=true",
    "api:build:prod": "webpack --config=\"webpack.api.config.ts\" --progress=true --mode production",
    "api:serve": "npm run api:build -- --watch=true",
    "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
    "check": "ncu --packageFile package.json",
    "commitmsg": "commitlint --edit $GIT_PARAMS --extends \"@commitlint/config-angular\"",
    "conventional-changelog": "conventional-changelog",
    "ng": "ng",
    "ng:build": "ng build",
    "ng:docs": "./node_modules/.bin/compodoc -p src/tsconfig.app.json -a src/assets",
    "ng:e2e": "ng e2e",
    "ng:serve": "ng serve --port=4300",
    "ng:test:": "ng test --single-run=true --sourcemap=true --code-coverage=true",
    "ng:test:watch": "npm run ng:test -- --single-run=false",
    "start": "npm run ng:serve",
    "ts-node": "ts-node",
    "webpack": "webpack"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/nicky-lenaers/wxp-studio.git"
  },
  "keywords": [
    "web",
    "experience",
    "studio"
  ],
  "author": "Nicky Lenaers <nicky@newgameplus.online>",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/nicky-lenaers/wxp-studio/issues"
  },
  "homepage": "https://github.com/nicky-lenaers/wxp-studio#readme",
  "engines": {
    "node": ">=8.0.0",
    "npm": ">=5.0.0"
  },
  "dependencies": {
    "@angular/animations": "^6.0.3",
    "@angular/cdk": "^6.2.0",
    "@angular/common": "^6.0.3",
    "@angular/compiler": "^6.0.3",
    "@angular/core": "^6.0.3",
    "@angular/flex-layout": "^6.0.0-beta.15",
    "@angular/forms": "^6.0.3",
    "@angular/http": "^6.0.3",
    "@angular/platform-browser": "^6.0.3",
    "@angular/platform-browser-dynamic": "^6.0.3",
    "@angular/platform-server": "^6.0.3",
    "@angular/router": "^6.0.3",
    "@ngrx/effects": "^6.0.1",
    "@ngrx/router-store": "^6.0.1",
    "@ngrx/store": "^6.0.1",
    "@ngrx/store-devtools": "^6.0.1",
    "@nguniversal/common": "^6.0.0",
    "@nguniversal/express-engine": "^6.0.0",
    "@nguniversal/module-map-ngfactory-loader": "^6.0.0",
    "@nicky-lenaers/ngx-scroll-to": "^1.0.0-beta.0",
    "@swimlane/ngx-dnd": "^4.0.1",
    "accesscontrol": "^2.2.1",
    "apollo-angular": "^1.1.0",
    "apollo-angular-link-http": "^1.1.0",
    "apollo-cache-inmemory": "^1.2.2",
    "apollo-client": "^2.2.8",
    "apollo-link": "^1.2.2",
    "apollo-link-ws": "^1.0.8",
    "bcrypt": "^1.0.3",
    "body-parser": "^1.18.2",
    "compression": "^1.7.2",
    "core-js": "^2.5.7",
    "cors": "^2.8.4",
    "express": "^4.16.3",
    "express-graphql": "^0.6.12",
    "graphql": "^0.13.2",
    "graphql-iso-date": "^3.5.0",
    "graphql-subscriptions": "^0.5.8",
    "graphql-tag": "^2.9.2",
    "graphql-tools": "^2.23.1",
    "helmet": "^3.12.0",
    "jsonwebtoken": "^8.2.2",
    "jwt-decode": "^2.2.0",
    "mongoose": "^5.1.4",
    "rxjs": "^6.2.0",
    "sass-rem": "^2.0.1",
    "slug": "^0.9.1",
    "subscriptions-transport-ws": "^0.9.9",
    "three": "^0.92.0",
    "uuid": "^3.2.1",
    "web-animations-js": "^2.3.1",
    "winston": "^2.4.2",
    "zone.js": "^0.8.26"
  },
  "peerDependencies": {
    "webpack": "4.x"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.6.6",
    "@angular/cli": "^6.0.7",
    "@angular/compiler-cli": "^6.0.3",
    "@angular/language-service": "^6.0.3",
    "@angular/service-worker": "^6.0.3",
    "@commitlint/cli": "^7.0.0",
    "@commitlint/config-angular": "^7.0.1",
    "@compodoc/compodoc": "^1.1.3",
    "@types/bcrypt": "^1.0.0",
    "@types/body-parser": "^1.16.8",
    "@types/cors": "^2.8.3",
    "@types/express": "^4.11.1",
    "@types/express-graphql": "^0.6.1",
    "@types/graphql": "^0.12.7",
    "@types/helmet": "0.0.37",
    "@types/jasmine": "^2.8.6",
    "@types/jasminewd2": "^2.0.3",
    "@types/jsonwebtoken": "^7.2.6",
    "@types/jwt-decode": "^2.2.1",
    "@types/karma": "^1.7.3",
    "@types/mongoose": "^5.0.10",
    "@types/node": "^9.4.0",
    "@types/slug": "^0.9.0",
    "@types/three": "^0.91.1",
    "@types/uuid": "^3.4.3",
    "@types/webpack": "^4.4.0",
    "@types/webpack-merge": "^4.1.1",
    "@types/winston": "^2.3.8",
    "@types/zen-observable": "^0.5.3",
    "axe-core": "^2.5.0",
    "codelyzer": "^4.3.0",
    "conventional-changelog-cli": "^2.0.0",
    "dotenv-webpack": "^1.5.4",
    "electron": "^1.7.6",
    "electron-builder": "^19.47.1",
    "husky": "^0.14.3",
    "jasmine-core": "^2.8.0",
    "jasmine-reporters": "^2.2.1",
    "jasmine-spec-reporter": "^4.2.0",
    "jasmine-ts": "^0.2.1",
    "karma": "^1.7.0",
    "karma-chrome-launcher": "^2.2.0",
    "karma-cli": "^1.0.1",
    "karma-coverage-istanbul-reporter": "^1.3.0",
    "karma-firefox-launcher": "^1.0.1",
    "karma-ie-launcher": "^1.0.0",
    "karma-jasmine": "^1.1.1",
    "karma-jasmine-html-reporter": "^0.2.2",
    "karma-junit-reporter": "^1.2.0",
    "karma-opera-launcher": "^1.0.0",
    "karma-phantomjs-launcher": "^1.0.4",
    "karma-safari-launcher": "^1.0.0",
    "karma-sauce-launcher": "^1.1.0",
    "karma-spec-reporter": "0.0.31",
    "ngrx-store-freeze": "^0.2.3",
    "node-sass": "^4.7.2",
    "node-sass-glob-importer": "^5.0.0",
    "nodemon-webpack-plugin": "^3.0.1",
    "npm-check-updates": "^2.12.1",
    "pm2": "^2.8.0",
    "protractor": "^5.1.2",
    "robotstxt-webpack-plugin": "^4.0.0",
    "sass-true": "^3.0.1",
    "sassdoc": "^2.5.0",
    "stylelint": "^8.3.1",
    "stylelint-config-sass-guidelines": "^4.0.1",
    "stylelint-order": "^0.7.0",
    "stylelint-scss": "^2.2.0",
    "ts-loader": "^4.3.0",
    "ts-node": "^3.3.0",
    "tslint": "^5.8.0",
    "typescript": "^2.7.2",
    "webpack-bundle-analyzer": "^2.9.1",
    "webpack-cli": "^2.1.5",
    "webpack-merge": "^4.1.0",
    "webpack-node-externals": "^1.6.0",
    "webpack-notifier": "^1.5.0"
  }
}

tsconfig.app.json

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    "outDir": "../out-tsc/app",
    "module": "es2015",
    "types": []
  },
  "exclude": [
    "**/*.spec.ts",
    "**/*.mock.ts",
    "**/*.stub.ts",
    "./mocks/**/*",
    "server/**/*",
    "main.server.ts",
    "main.electron.ts"
  ]
}
Compodoc installed globally or locally ?

Locally

Motivation for or Use Case

It doesn't generate the documentation files.

Reproduce the error

Internal project so can't give a demo.

Related issues

None (at least I can't find them)

Suggest a Fix

Since the error gives no information about the file being processed I can't give a suggestion.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions