From b92288d25a6b7e09580fef5e837d9a512e3a188b Mon Sep 17 00:00:00 2001 From: Sergey Andrievskiy Date: Wed, 13 Feb 2019 19:01:12 +0300 Subject: [PATCH 1/2] feat: update doc-prsr package --- package-lock.json | 22 +++++++++++----------- package.json | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 56f32cb18e..2e6ad73b03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1593,7 +1593,7 @@ }, "agentkeepalive": { "version": "2.2.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz", + "resolved": "http://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz", "integrity": "sha1-xdG9SxKQCPEWPyNvhuX66iAm4u8=" }, "ajv": { @@ -2601,7 +2601,7 @@ }, "browserify-rsa": { "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "resolved": "http://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true, "requires": { @@ -5239,14 +5239,14 @@ } }, "doc-prsr": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/doc-prsr/-/doc-prsr-2.1.1.tgz", - "integrity": "sha512-nFL+ybHIwh80Hl2meYT9h+hIyP3d/OvOtUc9D7/qVITZclwH4ofHkpqPhA/6GcZ+rrUOla5ECUll55lr7amHrA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/doc-prsr/-/doc-prsr-2.2.0.tgz", + "integrity": "sha512-dki+ovIixP94KE6uCkatbMYa05tlnOW4MkgNL7rJ1R4cNWZm2yfn3ydod42p3xpZkh4vzKYVq9lJf9Nescuryg==", "dev": true, "requires": { "commander": "^2.9.0", "path": "^0.12.7", - "typescript": "^2.4.2" + "typescript": "^2.7.0" }, "dependencies": { "typescript": { @@ -5350,7 +5350,7 @@ }, "readable-stream": { "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "dev": true, "requires": { @@ -5386,7 +5386,7 @@ }, "through2": { "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "resolved": "http://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", "dev": true, "requires": { @@ -5396,7 +5396,7 @@ "dependencies": { "readable-stream": { "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", "dev": true, "requires": { @@ -10722,7 +10722,7 @@ }, "jsesc": { "version": "1.3.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "resolved": "http://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", "dev": true }, @@ -14249,7 +14249,7 @@ }, "pretty-hrtime": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "resolved": "http://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", "dev": true }, diff --git a/package.json b/package.json index 9f6b1bfbc2..7eb1460a90 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "codelyzer": "4.5.0", "conventional-changelog-cli": "1.3.4", "del": "3.0.0", - "doc-prsr": "2.1.1", + "doc-prsr": "2.2.0", "firebase-tools": "^3.18.6", "gulp": "3.9.1", "gulp-autoprefixer": "3.1.1", @@ -174,4 +174,4 @@ "uglifyjs-webpack-plugin": "1.1.5" }, "schematics": "./schematics/dist/collection.json" -} \ No newline at end of file +} From d551fb1ffb2c4c462a7dcffa12b96ddd7d428d12 Mon Sep 17 00:00:00 2001 From: Sergey Andrievskiy Date: Wed, 13 Feb 2019 19:01:58 +0300 Subject: [PATCH 2/2] feat(docs app): don't render private properties --- docs/app/@theme/services/index.ts | 1 + docs/app/@theme/services/metadata.service.ts | 8 ++++++++ docs/app/@theme/services/tabbed.service.ts | 9 +++++++-- docs/app/@theme/theme.module.ts | 2 ++ .../components/methods-block/methods-block.component.ts | 5 ++++- .../components/props-block/props-block.component.ts | 9 ++++++--- 6 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 docs/app/@theme/services/metadata.service.ts diff --git a/docs/app/@theme/services/index.ts b/docs/app/@theme/services/index.ts index 0a079d8f60..c8c01c417c 100644 --- a/docs/app/@theme/services/index.ts +++ b/docs/app/@theme/services/index.ts @@ -10,3 +10,4 @@ export * from './visibility.service'; export * from './pagination.service'; export * from './analytics.service'; export * from './menu.service'; +export * from './metadata.service'; diff --git a/docs/app/@theme/services/metadata.service.ts b/docs/app/@theme/services/metadata.service.ts new file mode 100644 index 0000000000..106fa45b57 --- /dev/null +++ b/docs/app/@theme/services/metadata.service.ts @@ -0,0 +1,8 @@ +import { Injectable } from '@angular/core'; + +@Injectable() +export class NgdMetadataService { + isPublic(prop): boolean { + return !prop.isDocsPrivate && !prop.inherited; + } +} diff --git a/docs/app/@theme/services/tabbed.service.ts b/docs/app/@theme/services/tabbed.service.ts index 48a2f3ac15..840af62594 100644 --- a/docs/app/@theme/services/tabbed.service.ts +++ b/docs/app/@theme/services/tabbed.service.ts @@ -1,8 +1,11 @@ import { Injectable } from '@angular/core'; +import { NgdMetadataService } from './metadata.service'; @Injectable() export class NgdTabbedService { + constructor(private metadataService: NgdMetadataService) {} + determineTabs(tabs: any): { [tab: string]: boolean } { return { 'overview': this.hasOverview(tabs), @@ -36,14 +39,16 @@ export class NgdTabbedService { componentHasProps(component): boolean { return component && component.props && - component.props.length > 0; + component.props.filter(m => this.metadataService.isPublic(m)).length > 0; } componentHasMethods(component): boolean { return component && component.methods && component.methods.length > 0 && - component.methods.some(method => method.shortDescription || method.description); + component.methods + .filter(m => this.metadataService.isPublic(m)) + .some(method => method.shortDescription || method.description); } componentHasOverview(component): boolean { diff --git a/docs/app/@theme/theme.module.ts b/docs/app/@theme/theme.module.ts index 054b5ec1a1..426ea75f78 100644 --- a/docs/app/@theme/theme.module.ts +++ b/docs/app/@theme/theme.module.ts @@ -45,6 +45,7 @@ import { NgdPaginationService, NgdAnalytics, NgdMenuService, + NgdMetadataService, } from './services'; @@ -111,6 +112,7 @@ export class NgdThemeModule { NgdAnalytics, NgdMenuService, NgdVisibilityService, + NgdMetadataService, ], }; } diff --git a/docs/app/blocks/components/methods-block/methods-block.component.ts b/docs/app/blocks/components/methods-block/methods-block.component.ts index 1bb79e5f37..f2a4a1dee4 100644 --- a/docs/app/blocks/components/methods-block/methods-block.component.ts +++ b/docs/app/blocks/components/methods-block/methods-block.component.ts @@ -5,6 +5,7 @@ */ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; +import { NgdMetadataService } from '../../../@theme/services'; @Component({ selector: 'ngd-methods-block', @@ -49,6 +50,8 @@ export class NgdMethodsBlockComponent { @Input('source') set setSource(source: any) { - this.methods = source.methods; + this.methods = source.methods.filter(m => this.metadataService.isPublic(m)); }; + + constructor(private metadataService: NgdMetadataService) {} } diff --git a/docs/app/blocks/components/props-block/props-block.component.ts b/docs/app/blocks/components/props-block/props-block.component.ts index ff783dff95..2412969016 100644 --- a/docs/app/blocks/components/props-block/props-block.component.ts +++ b/docs/app/blocks/components/props-block/props-block.component.ts @@ -6,6 +6,7 @@ */ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; +import { NgdMetadataService } from '../../../@theme/services'; @Component({ selector: 'ngd-props-block', @@ -42,10 +43,12 @@ export class NgdPropsBlockComponent { @Input('source') set setSource(source: any) { - this.inputs = source.props.filter(item => item.kind === 'input'); - this.outputs = source.props.filter(item => item.kind === 'output'); - this.props = source.props.filter(item => item.kind === 'property'); + this.inputs = source.props.filter(item => item.kind === 'input').filter(m => this.metadataService.isPublic(m)); + this.outputs = source.props.filter(item => item.kind === 'output').filter(m => this.metadataService.isPublic(m)); + this.props = source.props.filter(item => item.kind === 'property').filter(m => this.metadataService.isPublic(m)); this.name = source.name; this.slag = source.slag; } + + constructor(private metadataService: NgdMetadataService) {} }