Compodoc: documentation folder not generated

Created on 22 Dec 2016  路  20Comments  路  Source: compodoc/compodoc

Hello, I have installed compodoc, and ran the command to generate the docs. it looks like it is working but no documentation folder is generated.

image

Invalid

Most helpful comment

@vogloblinsky, @manekinekko, thanks for teaching me more about angular in the process!

All 20 comments

here is my tsconfig

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "sourceMap": true,
    "moduleResolution": "node",
    "skipDefaultLibCheck": true
  },
  "exclude": [
    "./node_modules",
    "./typings/main.d.ts",
    "./typings/main",
    "./typings/custom-signalr.d.ts"
  ],
  "filesGlob": [
    "./client/modules/**/*.ts",
    "./client/platform/**/*.ts",
    "!./node_modules/**",
    "./client/custom-typings.d.ts",
    "./typings/index.d.ts"
  ],
  "compileOnSave": false,
  "buildOnSave": false,
  "awesomeTypescriptLoaderOptions": {
    "useWebpackText": true
  }
}

here is my routes

import { RouterModule } from '@angular/router';
import { CoreRoutes } from './shared/models/core.models';
import { AuthService } from './shared/services/auth.service';
import { AuthGuardService } from './shared/services/auth-guard.service';
import { config } from './app.constants';



export const routes: CoreRoutes = [
    { path: '', redirectTo: 'home', pathMatch: 'full', appData: config.APPDATA_WEBAPI },

  // Lazy async modules
  {
      path: 'swagger',
      canActivate: [AuthGuardService],
      appData: config.APPDATA_WEBAPI,
      loadChildren: () => new Promise(resolve => {
          (require as any).ensure([], (require: any) => {
              resolve(require('./+swagger/swagger.module').SwaggerModule);
          });
      })
  },
  {
      path: 'testbed',
      canActivate: [AuthGuardService],
      appData: config.APPDATA_WEBAPI,
      loadChildren: () => new Promise(resolve => {
          (require as any).ensure([], (require: any) => {
              resolve(require('./+testbed/testbed.module').TestbedModule);
          });
      })
  },
  {
      path: 'profile',
      canActivate: [AuthGuardService],
      appData: config.APPDATA_WEBAPI,
      loadChildren: () => new Promise(resolve => {
        (require as any).ensure([], (require: any) => {
            resolve(require('./+profile/profile.module').ProfileModule);
        });
    })
  },
  {
      path: 'security',
      canActivate: [AuthGuardService],
      appData: config.APPDATA_WEBAPI,
      loadChildren: () => new Promise(resolve => {
          (require as any).ensure([], (require: any) => {
              resolve(require('./+security/security.module').SecurityModule);
          });
      })
  },
  {
      path: 'error',
      canActivate: [AuthGuardService],
      appData: config.APPDATA_WEBAPI,
      loadChildren: () => new Promise(resolve => {
          (require as any).ensure([], (require: any) => {
              resolve(require('./+error/error.module').ErrorModule);
          });
      })
  }
];
export const authProviders = [
    AuthGuardService,
    AuthService
];
export const routing = RouterModule.forRoot(routes);

Watching your console logs, the problem is in NavigatorComponent.
Can you paste the code if possible ?

I can next Tuesday. I'm out for the holidays and don't have access to the source code. Great work!

@vogloblinsky here is a link to the component
https://gist.github.com/crh225/1a35ffe2ddbae8fa9963fd7172cdb8d4

It is the @injectable annotation that breaks the process. I will try to handle that, or emit a warning instead.

Is it odd that I am using @injectable componenets?

@crh225 Components can not be Injectable. Only services can. You can mix and match @Component() with @Injectable().

Yes @crh225, @manekinekko is right, i fixed this issue by not stopping compodoc for this use-case; but you will get NavigatorComponent documented in Injectables entry instead of Components.

@vogloblinsky, @manekinekko, thanks for teaching me more about angular in the process!

To confirm, that was the issue. It did not like injectable in the component.

image
one hour later....fyi Im using yarn and offline npm packages. Probably my fault still

going to add angular2-dependencies-graph globally in yarn and retry.

@vogloblinsky, The documentation folder did get generated.

I have some feedback for enhancements. Is there way to make the menu navigation show/hide based on when you click the menu title? we use generated classes, one class for every db table and needless to say the list is very long. it would be helpful to be able to hide the list.
image

image
It is still giving me this issue now. When I type in ngd -h in command window it just closes.

Im closing again. Sorry. I have to move on. I will pick this back up in the future when I get better at yarn. We just changed over to use npm offline packages and yarn. Im sure it is something I did.

@crh225, yep for the closing item in the menu, it is on my todo list

@crh225, For yarn support, it is a known issue : https://github.com/compodoc/compodoc/issues/23
Watching and waiting from yarn side to fix it.

@crh225 toggle buttons int he menu added in last release ;)

This issue has been automatically locked due to inactivity. Please file a new issue if you are encountering a similar or related problem. Why locking ? Having issues with the most up-to-date context.

Was this page helpful?
0 / 5 - 0 ratings