New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(typedoc-appium-plugin): implement cross-referencing of methods #17971
Conversation
1cea73d
to
58ddc9a
Compare
Current dependencies on/for this PR:
This comment was auto-generated by Graphite. |
import {Comment, CommentDisplayPart} from 'typedoc'; | ||
import {AsyncMethodDeclarationReflection, KnownMethods} from './types'; | ||
|
||
export const stats = _.fill(new Array(5), 0); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is for debugging to let me know which "comment finders" are actually being called, so I can remove the ones that don't get called
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just saving my review state
7c0204b
to
b1ba787
Compare
@jlipps OK, this is looking pretty good now. This is what we get from Above we can see that:
Here are some from
And some from the execute method map:
|
b1ba787
to
57c2ab4
Compare
And there's some output when run with verbose log level, so you can see what's happening:
|
("routes", for statistical purposes above, have a unique name, but each may have 1-3 associated HTTP methods) |
d5212b7
to
7af99cc
Compare
This is getting pretty close, but: - Commands from a driver will show even w/o a `newMethodMap` or `execMethodMap`; it is able to understand that it's overriding `BaseDriver` - It's also able to understand the associated routes - And it's able to understand the routes even if `BaseDriver` does not implement it Still working on the parameters display, but we have the name override working at least. Added some docstrings in `fake-driver`, `base-driver` for testing
trying to make some things less opaque. maybe failed
7af99cc
to
c0314f1
Compare
For the TypeDoc plugin to correctly pull information from `@appium/types` and `@appium/base-driver`, they both need `tsconfig.json` files. They currently _have_ `tsconfig.json` files, but they extend base configs in the monorepo root, which is problematic. Moving the configs into a package seems reasonable. Further, all packages must publish `tsconfig.json`. There's precedent for publishing a `tsconfig.json` this way. FWIW the `paths` and `references` fields in the `tsconfig.json` files seem to be ignored by TypeDoc, so we can get away with this.
I do not trust it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
This is getting pretty close, but:
newMethodMap
orexecMethodMap
; it is able to understand that it's overridingBaseDriver
BaseDriver
does not implement itStill working on the parameters display, but we have the name override working at least.Update: Parameters are working fine.
Added some docstrings in
fake-driver
,base-driver
for testing