[BUG] Support README.md in Workspace projects (apps and/or libs)
See original GitHub issueOverview of the issue
I use a workspace environment - where you can create multiple applications and libraries in the same project for Angular. It is now a default option for Angular CLI v6. However, I use nrwl.io Nx workspace which is very similar. Compodoc searches for a README.md in the root of the solution. However, each of my projects (apps and/or libs) will contain a README.md in their respective folders. I expect that compodoc should use the README.md from the project folder.
Operating System, Node.js, npm, compodoc version(s)
Angular CLI: 1.7.1 Node: 8.9.1 OS: win32 x64 Angular: 5.2.7 … animations, common, compiler, compiler-cli, core, forms … http, language-service, platform-browser … platform-browser-dynamic, router
@angular/cli: 1.7.1 @angular-devkit/build-optimizer: 0.3.2 @angular-devkit/core: 0.4.6 @angular-devkit/schematics: 0.3.2 @ngtools/json-schema: 1.2.0 @ngtools/webpack: 1.10.1 @schematics/angular: 0.3.2 @schematics/package-update: 0.3.2 typescript-dotnet-commonjs: 4.10.0 typescript: 2.6.2 webpack: 3.11.0
Angular configuration, a package.json
file in the root folder
{ “name”: “buildmotion-workspace”, “version”: “5.0.1”, “license”: “MIT”, “scripts”: { “ng”: “ng”, “start”: “ng serve”, “build”: “ng build”, “package:libs”: “npm run package:rules-engine && npm run package:actions && npm run package:logging && npm run package:foundation && npm run package:core && npm run package:security”, “package:rules-engine”: “ng-packagr -p libs/rules-engine/package.json && npm run copy:rules-engine”, “package:actions”: “ng-packagr -p libs/actions/package.json && npm run copy:actions”, “package:logging”: “ng-packagr -p libs/logging/package.json && npm run copy:logging”, “package:foundation”: “ng-packagr -p libs/foundation/package.json && npm run copy:foundation”, “package:core”: “ng-packagr -p libs/core/package.json && npm run copy:core”, “package:security”: “ng-packagr -p libs/security/package.json && npm run copy:security”, “copy:rules-engine”: “sync-glob ‘dist/@buildmotion/rules-engine/’ node_modules/@buildmotion/rules-engine”, “copy:actions”: “sync-glob ‘dist/@buildmotion/actions/’ node_modules/@buildmotion/actions”, “copy:logging”: “sync-glob ‘dist/@buildmotion/logging/’ node_modules/@buildmotion/logging”, “copy:foundation”: “sync-glob ‘dist/@buildmotion/foundation/’ node_modules/@buildmotion/foundation”, “copy:core”: “sync-glob ‘dist/@buildmotion/core/’ node_modules/@buildmotion/core”, “copy:security”: “sync-glob ‘dist/@buildmotion/security/’ node_modules/@buildmotion/security”, “doc:all”: “npm run doc:rules-engine && npm run doc:actions && npm run doc:logging && npm run doc:foundation && npm run doc:core && npm run doc:security”, “doc:angularlicious”: “./node_modules/.bin/compodoc -p apps/angularlicious/src/tsconfig.app.json -d documentation/apps/angularlicous”, “doc:rules-engine”: “./node_modules/.bin/compodoc -p libs/rules-engine/src/tsconfig.app.json -d …/docs/rules-engine”, “doc:actions”: “./node_modules/.bin/compodoc -p libs/actions/src/tsconfig.app.json -d …/docs/actions”, “doc:logging”: “./node_modules/.bin/compodoc -p libs/logging/src/tsconfig.app.json -d …/docs/logging”, “doc:foundation”: “./node_modules/.bin/compodoc -p libs/foundation/src/tsconfig.app.json -d …/docs/foundation”, “doc:core”: “./node_modules/.bin/compodoc -p libs/core/src/tsconfig.app.json -d …/docs/core”, “doc:security”: “./node_modules/.bin/compodoc -p libs/security/src/tsconfig.app.json -d …/docs/security”, “test”: “ng test”, “lint”: “./node_modules/.bin/nx lint && ng lint”, “e2e”: “ng e2e”, “affected:apps”: “./node_modules/.bin/nx affected:apps”, “affected:build”: “./node_modules/.bin/nx affected:build”, “affected:e2e”: “./node_modules/.bin/nx affected:e2e”, “affected:dep-graph”: “./node_modules/.bin/nx affected:dep-graph”, “format”: “./node_modules/.bin/nx format:write”, “format:write”: “./node_modules/.bin/nx format:write”, “format:check”: “./node_modules/.bin/nx format:check”, “update”: “./node_modules/.bin/nx update”, “update:check”: “./node_modules/.bin/nx update:check”, “update:skip”: “./node_modules/.bin/nx update:skip”, “workspace-schematic”: “./node_modules/.bin/nx workspace-schematic”, “dep-graph”: “./node_modules/.bin/nx dep-graph”, “postinstall”: “./node_modules/.bin/nx postinstall”, “help”: “./node_modules/.bin/nx help” }, “private”: true, “dependencies”: { “@angular/animations”: “5.2.7”, “@angular/common”: “5.2.7”, “@angular/compiler”: “5.2.7”, “@angular/core”: “5.2.7”, “@angular/forms”: “5.2.7”, “@angular/http”: “5.2.7”, “@angular/platform-browser”: “5.2.7”, “@angular/platform-browser-dynamic”: “5.2.7”, “@angular/router”: “5.2.7”, “core-js”: “^2.4.1”, “rxjs”: “^5.5.6”, “zone.js”: “^0.8.19”, “@nrwl/nx”: “1.0.3”, “@ngrx/effects”: “5.2.0”, “@ngrx/router-store”: “5.0.1”, “@ngrx/store”: “5.2.0”, “@ngrx/store-devtools”: “5.2.0”, “ngrx-store-freeze”: “^0.2.1”, “simplemde”: “^1.11.2”, “typescript-dotnet-commonjs”: “^4.10.0”, “viz”: “^0.0.1” }, “devDependencies”: { “@angular-devkit/core”: “^0.4.6”, “@angular/cli”: “1.7.1”, “@angular/compiler-cli”: “5.2.7”, “@angular/language-service”: “5.2.7”, “@ngrx/schematics”: “5.2.0”, “@nrwl/schematics”: “1.0.3”, “@types/jasmine”: “~2.8.3”, “@types/jasminewd2”: “~2.0.2”, “@types/node”: “~6.0.60”, “codelyzer”: “^4.0.1”, “jasmine-core”: “~2.8.0”, “jasmine-spec-reporter”: “~4.2.1”, “karma”: “~2.0.0”, “karma-chrome-launcher”: “~2.2.0”, “karma-coverage-istanbul-reporter”: “^1.2.1”, “karma-jasmine”: “~1.1.0”, “karma-jasmine-html-reporter”: “^0.2.2”, “ng-packagr”: “^2.4.1”, “prettier”: “1.10.2”, “protractor”: “~5.1.2”, “sync-glob”: “^1.3.8”, “ts-node”: “~4.1.0”, “tslint”: “~5.9.1”, “typescript”: “2.6.2” } }
Compodoc installed globally or locally ?
globally
Motivation for or Use Case
Workspaces have an [apps] and a [libs] folder to support multiple projects. I expect that when you target a specific project of type app or lib, that it would use the README.md for the project - not the workspace.
Reproduce the error
Use either nrwl.io Nx extension to create a new workspace or use Angular CLI v6 to create a new workspace. Add at least one library and or application to the workspace. Each new project added will have its own README.md file - in addition to the one in the root of the workspace solution.
Run compodoc. It will select the README.md file from the root of the workspace and not use the README.md from the specified project folders (i.e., apps or libs).
Related issues
Suggest a Fix
Add a new switch to specify the location of the README.md to allow support for workspaces.
Issue Analytics
- State:
- Created 5 years ago
- Reactions:8
- Comments:10 (2 by maintainers)
Top GitHub Comments
I will start soon supporting workspace projects and everything related
Hello ! Any update on this particular feature ?